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-small para 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.
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-small es suficiente para demos y experimentos.
1B-3B: t4-medium o a10g-small para runs más largos.
3B-7B: usar a10g-large o a100-large con 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_size o 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 login o exportar HF_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:
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.