mflux-debugging
Debug MLX ports by comparing against a PyTorch/diffusers reference via exported tensors/images (export-then-compare).
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Debug MLX ports by comparing against a PyTorch/diffusers reference via exported tensors/images (export-then-compare).
How to use
Przygotuj dwa katalogi obok siebie na dysku: repozytorium PyTorch (np. diffusers/) i mflux/. Użyj ścieżek bezwzględnych, aby uniknąć zamieszania.
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.
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/).
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.
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.
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.