Nachdem ich @karpathy nanochat gesehen habe, wurde ich besessen von der Idee, GRPO-Fine-Tuning lokal auf dem Mac zu verwenden. Ich habe es zum Laufen gebracht und das Ganze hier open-source gemacht. Hier ist nanochat, das die Schritte zur Lösung des GSM8K-Datensatzes durchläuft, obwohl es vielleicht zu viel für ihn ist 😅
Der schwierigste Teil war, dass nanochat keine vollständige MLX-Unterstützung hatte. Es existierte nur als PyTorch .pt-Dateien mit einem benutzerdefinierten tiktoken-Tokenizer. Musste: - PyTorch → MLX-Konverter erstellen - Das Tokenizer-Format herausfinden - Alles zum Laufen bringen mit GRPO
In diesem Repo gehe ich auf die Details der Umwandlung von nanochat zu MLX ein. Funktioniert für BEIDE Modelle: - Original 20-Schichten - Karpathys größeres 32-Schichten-Modell (d32) Sobald umgewandelt → führe GRPO auf jedem gewünschten Datensatz aus.
Dies ist experimentell, aber ich denke, es zeigt eine mögliche Zukunft: starke Feinabstimmung lokaler Modelle auf spezialisierten Datensätzen. Das Repository enthält auch: - Hilfsprogramme zum Konvertieren von Modellen in MLX - Inferenzwerkzeuge - GRPO funktioniert mit JEDEM Modell (nicht nur nanochat!)
14,53K