Le dimos a Claude la capacidad de entrenar modelos de lenguaje usando Hugging Face Skills. No es solo que escriba scripts: puede seleccionar la GPU, enviar trabajos a la nube, monitorear el progreso y publicar el modelo terminado en el Hub. Te explico cómo funciona, cuándo usar cada método de entrenamiento y qué necesitas para hacerlo tú mismo.
Qué hace la skill hf-llm-trainer
La skill empaqueta conocimiento y scripts para que un agente de código como Claude Code (o Codex, o Gemini CLI) realice todo el ciclo de fine-tuning. Eso incluye:
- Validación del formato del dataset.
- Selección automática de hardware según el tamaño del modelo.
- Generación y actualización de scripts de entrenamiento con monitoreo (Trackio).
- Envío del job a Hugging Face Jobs y reporte de ID y coste estimado.
- Seguimiento en tiempo real y ayuda para depurar errores.
- Conversión y push del modelo final al Hugging Face Hub.
Resultado: pides en lenguaje natural y el agente orquesta desde la GPU hasta el repositorio final.
Cómo funciona: flujo completo con ejemplo
Pedir algo sencillo como "Fine-tune Qwen3-0.6B en open-r1/codeforces-cots" desencadena este flujo:
- El agente valida el dataset y prepara una configuración.
- Selecciona hardware apropiado (por ejemplo
t4-smallpara 0.6B). - Muestra la configuración y te pregunta si la envía.
- Tras tu aprobación, envía el job a Hugging Face Jobs y te da el Job ID y el coste estimado.
- Puedes pedir actualizaciones: el agente extrae logs y resume progreso.
- Cuando termina, el modelo aparece en el Hub y puedes cargarlo con
transformers.
Ejemplo de salida tras enviar un job:
- Job ID: abc123xyz
- Monitor: https://huggingface.co/jobs/username/abc123xyz
- Métricas en Trackio: https://huggingface.co/spaces/username/trackio
Y para cargar el modelo en Python:
model = AutoModelForCausalLM.from_pretrained("username/qwen-codeforces-cots-sft")
Métodos de entrenamiento y cuándo usarlos
La skill soporta tres enfoques principales: SFT, DPO y GRPO. Saber cuál usar marca la diferencia.
-
SFT (Supervised Fine-Tuning): empieza aquí. Usa pares de ejemplo entrada-salida. Bueno para soporte al cliente, generación de código, respuestas específicas.
-
DPO (Direct Preference Optimization): entrena con pares "elegido" vs "rechazado" para alinear preferencias humanas. Útil tras una etapa SFT cuando tienes anotaciones de preferencia.
-
GRPO (Reinforcement with verifiable Rewards): aplica cuando puedes medir éxito de forma programática (problemas de matemáticas, tests de ejecución de código). Es más complejo pero potente para tareas con recompensa verificable.
La skill valida formatos: por ejemplo DPO requiere columnas chosen y rejected (o un prompt con el input). Si tu dataset usa otros nombres, el agente te muestra cómo mapearlos.
LoRA, tamaños de modelos y recomendaciones de hardware
La skill automatiza el uso de LoRA cuando es necesario. Regla práctica:
- Modelos < 1B:
t4-smalles suficiente para demos y experimentos. - 1B-3B:
t4-mediumoa10g-smallpara runs más largos. - 3B-7B: usar
a10g-largeoa100-largecon LoRA; la skill aplica LoRA automáticamente para reducir memoria. -
7B: no recomendado con este flujo en Jobs; se necesitan infraestructuras más especializadas.
Costes orientativos (depende del dataset y duración):
- Demo rápido (0.5B): $0.3 - $2.
- Small model full run: $5 - $15.
- Medium con LoRA: $15 - $40.
Consejo práctico: siempre haz una prueba corta (por ejemplo 100 ejemplos). Un experimento de $0.50 puede ahorrarte un run fallido de $30.
Validación de datasets y manejo de errores
La mayor fuente de fallos es el formato del dataset. La skill puede ejecutar una inspección rápida en CPU y devolver un informe:
- SFT: ✓ READY o ✗ INCOMPATIBLE
- DPO: revisa
chosen/rejected
Si no coinciden los nombres de columnas, el agente te propone código para transformar el dataset e incluso incorpora esa transformación en el script de entrenamiento.
Errores comunes y soluciones que el agente sugiere:
- Out of memory: reducir
batch_sizeo mejorar GPU. - Formato incompatible: mapeo de columnas o limpieza previa.
- Timeout: aumentar duración o ajustar
steps/epochs.
Monitoreo en tiempo real
La skill integra Trackio por defecto. Puedes ver loss, learning rate y métricas de validación en un Space dedicado. Ejemplo de consulta al agente:
"How's my training job doing?"
Respuesta tipo del agente:
- Job abc123xyz está corriendo (45 min)
- Paso actual: 850/1200
- Training loss: 1.23 (↓ desde 2.41)
- Learning rate: 1.2e-5
- Tiempo estimado: ~20 min
La ventaja: jobs asíncronos. Cierras el terminal y vuelves luego.
Conversión a GGUF y despliegue local
Cuando quieras correr el modelo localmente, la skill puede fusionar adaptadores LoRA, convertir a GGUF y aplicar cuantización (por ejemplo Q4_K_M). Luego sube el artefacto al Hub.
Ejemplo de uso local con llama-server:
llama-server -hf username/my-model-gguf:Q4_K_M
Formatos como GGUF permiten usar herramientas como llama.cpp, LM Studio u Ollama en máquinas locales.
Integración con agentes y requisitos
Requisitos básicos:
- Cuenta Hugging Face con plan Pro o Team (Jobs requiere plan de pago).
- Token con permisos de escritura (
hf auth logino exportarHF_TOKEN=hf_your_write_access_token_here). - Un agente de código: Claude Code, OpenAI Codex, o Gemini CLI.
Instalación y ejemplo de plugins / extensiones:
- Registrar el marketplace de plugins:
/plugin marketplace add huggingface/skills
- Instalar una skill:
/plugin install hf-llm-trainer@huggingface-skills
- Con el Gemini CLI, instalar la extensión localmente:
gemini extensions install . --consent
o usando el repo:
gemini extensions install https://github.com/huggingface/skills.git --consent
La repo incluye AGENTS.md y gemini-extension.json para facilitar integraciones.
Buenas prácticas, límites y seguridad
- Prueba con datos pequeños antes de producción.
- Revisa checkpoints cada cierto número de pasos (por ejemplo cada 500) para evitar desperdiciar tiempo por errores tempranos.
- Mantén tokens en variables de entorno y no los incluyas en repositorios.
- Los costos crecen con el tamaño del modelo; automatizar LoRA evita muchos gastos en la franja 3B-7B.
Importante: aunque el agente automatiza muchas decisiones, sigue siendo tu responsabilidad confirmar configuraciones críticas (privacidad de datos, políticas de uso y coste).
Entrenar un modelo deja de ser una tarea exclusiva de un equipo ML grande: con estas skills, un flujo conversacional puede manejar desde la validación del dataset hasta la conversión final a GGUF. Eso no elimina la necesidad de supervisión humana, pero baja la barrera técnica para experimentar y producir rápidamente.
