Toolverse
Wszystkie skille

mflux-debugging

autor: filipstrand

Porównuj modele MLX z referencją PyTorch — znajdź różnice w tensorach i obrazach

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Mobile
Wyświetlenia
6

O skillu

Skill do debugowania portów MLX poprzez porównanie z implementacją PyTorch/diffusers. Eksportujesz tensory i obrazy z referencji, a następnie ładujesz je w MLX, aby znaleźć miejsce, gdzie wyniki się rozbiegają. Przydatny gdy podejrzewasz niezgodność w kształtach, layoutzie, RoPE, matematyce schedulera lub rzutowaniu typów danych. Pozwala na powtarzalny workflow do izolacji pierwszej warstwy lub bloku, gdzie outputs się różnią.

Jak używać

  1. Przygotuj dwa katalogi obok siebie na dysku: repozytorium PyTorch (np. diffusers/) i mflux/. Użyj ścieżek bezwzględnych, aby uniknąć zamieszania.

  2. Utwórz prosty skrypt w repozytorium PyTorch, który uruchamia model referencyjny z ustaloną wartością seed. Zamiast polegać na tym samym seed w obu frameworkach, wyeksportuj dokładne tensory początkowe (szum, latenty) z PyTorch — RNG różni się między PyTorch a MLX.

  3. Uruchom skrypt referencyjny za pomocą uv: uv run python -m your_script.py. Skrypt powinien wyeksportować tensory i opcjonalnie obrazy do lokalnego folderu (np. debug_artifacts/).

  4. W projekcie MLX załaduj wyeksportowane artefakty i uruchom ten sam model z tymi samymi tensoriami wejściowymi. Porównaj wyniki z wyraźnymi progami tolerancji.

  5. Jeśli wyniki się rozbiegają, przejdź przez warstwy sekwencyjnie — zacznij od pierwszej warstwy i stopniowo przesuwaj się w głąb modelu, aby znaleźć dokładne miejsce divergencji.

  6. Artefakty debugowania (tensor dumps) przechowuj lokalnie i nie commituj ich do repozytorium, chyba że zostaniesz wyraźnie poproszony. Jeśli potrzebujesz szerszego workflow portowania (kamienie milowe, kolejność, kiedy refaktorować), zapoznaj się ze skill'em mflux-model-porting.

Podobne skille