Entrenando Tu Primer LLM con SFT
Este tutorial te lleva a través de cada paso del asistente para entrenar un modelo de lenguaje usando Supervised Fine-Tuning (SFT). SFT es la forma más común de enseñar a un modelo a seguir instrucciones.Antes de Comenzar
Asegúrate de tener:- AITraining instalado (
pip install aitraining) - Al menos 8GB de RAM (16GB recomendado)
- Una GPU es útil pero no requerida (¡Apple Silicon funciona muy bien!)
Paso 0: Iniciar el Asistente
Paso 1: Elegir Tipo de Trainer
1 y presiona Enter para seleccionar entrenamiento LLM.
Paso 2: Elegir Método de Entrenamiento
1 y presiona Enter para seleccionar SFT.
default y sft son idénticos - usan el mismo código de entrenamiento.
default es solo el fallback si no se especifica ningún trainer.¿Qué Significan Estos?
| Trainer | Cuándo Usar |
|---|---|
| SFT / default | Enseñar al modelo a seguir instrucciones. Tienes ejemplos de buenas respuestas. ¡Comienza aquí! |
| DPO | Tienes pares de respuestas buenas vs malas para el mismo prompt |
| ORPO | Como DPO pero funciona con menos datos |
| PPO | Avanzado: usar un modelo de recompensa para puntuar respuestas |
| Reward | Entrenar un modelo de recompensa para puntuar salidas (usado con PPO) |
| Distillation | Transferir conocimiento de un modelo maestro más grande a un estudiante más pequeño |
Paso 3: Nombre del Proyecto
my-first-chatbot o presiona Enter para aceptar el predeterminado.
Paso 4: Selección de Modelo
Este es el paso más importante. El asistente muestra modelos populares de HuggingFace:Eligiendo el Tamaño Correcto del Modelo
Tengo un MacBook (8-16GB RAM)
Tengo un MacBook (8-16GB RAM)
Usa
/filter luego S para modelos pequeños.Recomendado: google/gemma-3-270m o meta-llama/Llama-3.2-1BEstos entrenarán en 15-30 minutos en Apple Silicon.Tengo una PC gaming (RTX 3060/3070, 8-12GB VRAM)
Tengo una PC gaming (RTX 3060/3070, 8-12GB VRAM)
Usa
/filter luego S o M.Recomendado: google/gemma-2-2b o meta-llama/Llama-3.2-3BHabilita cuantización más tarde para modelos más grandes.Tengo una estación de trabajo (RTX 3090/4090, 24GB+ VRAM)
Tengo una estación de trabajo (RTX 3090/4090, 24GB+ VRAM)
Cualquier modelo hasta 10B funciona bien.Recomendado:
meta-llama/Llama-3.2-8B o mistralai/Mistral-7B-v0.3Tengo una GPU en la nube (A100, H100)
Tengo una GPU en la nube (A100, H100)
¡Ve a lo grande!Recomendado:
meta-llama/Llama-3.1-70B con cuantizaciónModelo Base vs Instruction-Tuned
Al seleccionar un modelo, verás dos tipos:| Nombre del Modelo | Tipo | Cuándo Usar |
|---|---|---|
google/gemma-2-2b | Base (preentrenado) | Propósito general, aprende tu estilo específico |
google/gemma-2-2b-it | Instruction-tuned (IT) | Ya sigue instrucciones, ajuste fino adicional |
meta-llama/Llama-3.2-1B | Base | Pizarra limpia para tu caso de uso |
meta-llama/Llama-3.2-1B-Instruct | Instruction-tuned | Ya útil, refinarlo |
Regla general: Usa modelos base si quieres control total. Usa
instruction-tuned (
-it, -Instruct) si quieres una ventaja inicial.Seleccionando Tu Modelo
Opción A: Escribe un número para seleccionar de la lista:Paso 5: Configuración del Dataset
Entendiendo el Tamaño del Dataset
Opciones de Selección de Dataset
Usa un dataset preconstruido (más fácil):Análisis de Formato del Dataset
El asistente analiza automáticamente tu dataset:y para habilitar la conversión automática. Esto asegura que tus datos funcionen correctamente con el template de chat del modelo.
Splits de Entrenamiento/Validación
train.
validation, test), ingrésalo aquí. De lo contrario, presiona Enter para omitir.
Máximo de Muestras (Pruebas)
Paso 6: Configuración Avanzada (Opcional)
Cuándo Configurar Opciones Avanzadas
| Situación | Qué Cambiar |
|---|---|
| El entrenamiento es muy lento | Habilita LoRA (peft=True) para reducir memoria |
| Sin memoria | Reduce batch_size o habilita cuantización |
| El modelo no está aprendiendo | Ajusta lr (tasa de aprendizaje) |
| Quieres rastrear el entrenamiento | Habilita logging W&B |
Paso 7: Revisar e Iniciar
Qué Sucede Después
- El modelo se descarga (solo la primera vez)
- El dataset se carga y convierte
- El entrenamiento comienza con actualizaciones de progreso
- El panel W&B LEET muestra métricas en tiempo real (si está habilitado)
- Tu modelo entrenado se guarda en la carpeta del proyecto
Probando Tu Modelo
Después de que el entrenamiento complete:http://localhost:7860/inference y carga tu modelo desde ./my-first-chatbot para probarlo!
Problemas Comunes
Error de falta de memoria
Error de falta de memoria
- Usa un modelo más pequeño (filtrar por tamaño)
- Habilita LoRA en opciones avanzadas
- Reduce el tamaño del batch
- Habilita cuantización (
int4)
El modelo no está aprendiendo (loss permanece alto)
El modelo no está aprendiendo (loss permanece alto)
- Verifica el formato de tu dataset - Prueba una tasa de aprendizaje más alta
- Asegúrate de que tus datos tengan las columnas correctas
El entrenamiento es muy lento
El entrenamiento es muy lento
- Habilita precisión mixta (
bf16) en opciones avanzadas - Usa un dataset más pequeño primero
- Habilita LoRA
Próximos Pasos
Entendiendo Modelos
Inmersión profunda en la selección de modelos
Guía de Datasets
Prepara tus propios datos de entrenamiento
Entrenamiento DPO
Entrena con datos de preferencia
Eficiencia LoRA
Entrena modelos grandes en hardware limitado