Efter att ha sett @karpathy nanochat blev jag besatt av tanken på att använda GRPO-finjustering på den lokalt på Mac. Jag fick det att fungera och öppen källkod för det hela här Här är nanochat som går igenom stegen för att lösa GSM8K-dataset, även om det kan vara för mycket för det 😅
Den svåraste delen var att nanochat inte hade fullt MLX-stöd. Den fanns bara som PyTorch .pt-filer med en anpassad tiktoken-tokeniserare. Var tvungen: - Bygg PyTorch → MLX-omvandlare - Ta reda på tokenizer-formatet - Få allt att fungera med GRPO
I det här arkivet går jag in på detaljerna för att konvertera nanochat till MLX. Fungerar för BÅDA modellerna: - Original 20-lagers - Karpathys större 32-lager (d32) När → har konverterats kan du köra GRPO på vilken datauppsättning du vill.
Detta är experimentellt, men jag tror att det visar på en möjlig framtid: stark finjustering av lokala modeller på specialiserade datamängder. Lagringsplatsen innehåller även: - Verktyg för att konvertera modeller till MLX - Verktyg för inferens - GRPO fungerar med ALLA modeller (inte bara nanochat!)
15,2K