Po zobaczeniu nanochatu @karpathy, stałem się obsesyjnie zainteresowany pomysłem użycia fine-tuningu GRPO lokalnie na Macu. Udało mi się to uruchomić i udostępniam całość tutaj. Oto nanochat przechodzący przez kroki rozwiązywania zestawu danych GSM8K, chociaż może być to dla niego zbyt dużo 😅
Najtrudniejszą częścią było to, że nanochat nie miał pełnego wsparcia dla MLX. Istniał tylko jako pliki .pt w PyTorch z niestandardowym tokenizatorem tiktoken. Musiałem: - Zbudować konwerter PyTorch → MLX - Zrozumieć format tokenizatora - Sprawić, by to wszystko działało z GRPO
W tym repozytorium szczegółowo opisuję, jak przekształcić nanochat na MLX. Działa dla OBU modeli: - Oryginalny 20-warstwowy - Większy 32-warstwowy Karpathy'ego (d32) Po konwersji → uruchom GRPO na dowolnym zestawie danych, który chcesz.
To jest eksperymentalne, ale myślę, że pokazuje możliwą przyszłość: silne dostosowywanie lokalnych modeli do wyspecjalizowanych zbiorów danych. Repozytorium zawiera również: - Narzędzia do konwersji modeli na MLX - Narzędzia do wnioskowania - GRPO działa z DOWOLNYM modelem (nie tylko nanochat!)
15,43K