Etter å ha sett @karpathy nanochat, ble jeg besatt av ideen om å bruke GRPO-finjustering på den lokalt på Mac. Jeg fikk det til å fungere og åpne kildekoden for hele greia her Her er nanochat som går gjennom trinnene for å løse GSM8K-datasettet, selv om det kan være for mye for det 😅
Den vanskeligste delen var at nanochat ikke hadde full MLX-støtte. Den eksisterte bare som PyTorch .pt-filer med en tilpasset tiktoken-tokenizer. Måtte: - Bygg PyTorch → MLX-omformer - Finn ut tokeniseringsformatet - Få det hele til å fungere med GRPO
I denne repoen går jeg inn på detaljene for konvertering av nanochat til MLX. Fungerer for BEGGE modellene: - Original 20-lags - Karpathys større 32-lag (d32) Når den er konvertert, kjører → GRPO på et hvilket som helst datasett du ønsker.
Dette er eksperimentelt, men jeg tror det viser en mulig fremtid: sterk finjustering av lokale modeller på spesialiserte datasett. Repoen inkluderer også: - Verktøy for konvertering av modeller til MLX - Verktøy for slutning - GRPO fungerer med ALLE modeller (ikke bare nanochat!)
15,44K