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