Después de ver nanochat de @karpathy, me obsesioné con la idea de usar el ajuste fino de GRPO en él localmente en Mac. Lo hice funcionar y estoy liberando todo aquí. Aquí está nanochat pasando por los pasos para resolver el conjunto de datos GSM8K, aunque puede ser demasiado para él 😅
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 un convertidor de PyTorch a MLX - Descifrar el formato del tokenizador - Hacer que todo funcionara con GRPO
En este repositorio, entro en los detalles de convertir nanochat a MLX. Funciona para AMBOS modelos: - Original de 20 capas - El más grande de Karpathy de 32 capas (d32) Una vez convertido → ejecuta GRPO en cualquier conjunto de datos que desees.
Esto es experimental, pero creo que muestra un posible futuro: un ajuste fino fuerte de 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 nanochat!)
15,67K