Sobre el proyecto

Troy es una interfaz de línea de comandos diseñada para simplificar el proceso de ajuste fino y ajuste de preferencias de modelos de lenguaje grandes (LLM) directamente en hardware Apple Silicon. Construido sobre MLX y mlx-lm, aprovecha la arquitectura de memoria unificada de las Mac para permitir entrenamiento local que normalmente requeriría GPU de nivel estación de trabajo en otros entornos. Las características clave incluyen: - **Flujo de trabajo simplificado**: los usuarios pueden configurar tareas de entrenamiento usando un único archivo YAML y ejecutar comandos como `troy train` para iniciar el proceso. - **Ejecución local**: no se necesitan servicios en la nube ni GPU compatibles con CUDA; se ejecuta de forma nativa en Macs M1/M2/M3. - **Soporte de modelos**: compatible con varias arquitecturas soportadas por mlx-lm, incluyendo Llama, Qwen, Gemma, Phi y Mistral. También soporta modelos de visión-lenguaje cuando se instala con las dependencias opcionales de visión. - **Conjunto de herramientas integral**: además del entrenamiento, Troy proporciona utilidades para verificar la compatibilidad del sistema (`troy doctor`), chatear con modelos entrenados (`troy chat`), evaluar el rendimiento (`troy eval`), servir una API compatible con OpenAI (`troy serve`), exportar a formato GGUF para otras herramientas y subir resultados a Hugging Face Hub. - **Modos de entrenamiento flexibles**: soporta ajuste fino supervisado (SFT), optimización directa de preferencias (DPO) y ORPO. La herramienta tiene como objetivo hacer accesible la personalización avanzada de modelos a desarrolladores e investigadores con hardware MacBook estándar, gestionando automáticamente la memoria según las capacidades del dispositivo.