بعد رؤية @karpathy nanochat ، أصبحت مهووسا بفكرة استخدام الضبط الدقيق ل GRPO محليا على Mac. لقد حصلت على العمل وفتح المصادر برمته هنا إليك nanochat التي تمر بخطوات حل مجموعة بيانات GSM8K ، على الرغم من أن الأمر قد يكون أكثر من اللازم بالنسبة لها 😅
الجزء الأصعب هو أن nanochat لم يكن لديه دعم MLX كامل. كان موجودا فقط كملفات PyTorch .pt مع رمز tiktoken مخصص. اضطر إلى: - بناء محول PyTorch → MLX - اكتشف تنسيق الرمز المميز - اجعل كل شيء يعمل مع GRPO
في هذا الريبو ، أخوض في تفاصيل تحويل nanochat إلى MLX. يعمل لكلا الطرازين: - أصلي 20 طبقة - أكبر 32 طبقة من كارباثي (d32) بمجرد التحويل → قم بتشغيل GRPO على أي مجموعة بيانات تريدها.
هذا تجريبي ، لكنني أعتقد أنه يظهر مستقبلا محتملا: ضبط قوي للنماذج المحلية على مجموعات البيانات المتخصصة. يتضمن الريبو أيضا: - أدوات مساعدة لتحويل النماذج إلى MLX - أدوات الاستدلال - يعمل GRPO مع أي نموذج (وليس فقط nanochat!)
‏‎15.48‏K