Después de ver @karpathy nanochat, me obsesioné con la idea de usar el ajuste fino de GRPO localmente en Mac. Lo hice funcionar y abrir todo el código aquí Aquí está nanochat repasando los pasos para resolver el conjunto de datos GSM8K, aunque puede ser demasiado para ello 😅
La parte más difícil, nanochat no tenía soporte completo de MLX. Solo existía como archivos .pt de PyTorch con un tokenizador tiktoken personalizado. Tuve que: - Construir PyTorch → convertidor MLX - Averigua el formato del tokenizador - Haz que todo funcione con GRPO
En este repositorio entro en los detalles de la conversión de nanochat a MLX. Funciona para AMBOS modelos: - Original de 20 capas - La capa 32 más grande de Karpathy (d32) Una vez convertido → ejecute GRPO en cualquier conjunto de datos que desee.
Esto es experimental, pero creo que muestra un futuro posible: un fuerte ajuste de los modelos locales en conjuntos de datos especializados. El repositorio también incluye: - Utilidades para convertir modelos a MLX - Herramientas de inferencia - GRPO funciona con CUALQUIER modelo (¡no solo con nanochat!)
15.7K