Saltar al contenido principal

Hyperparámetros

Los hyperparámetros controlan cómo aprende tu modelo. Piensa en ellos como las configuraciones de tu entrenamiento.

Los Tres Esenciales

Learning Rate

Qué tan grandes son los pasos al actualizar el modelo.
  • Demasiado alto (0.01): El modelo salta alrededor, nunca converge
  • Demasiado bajo (0.00001): Toma una eternidad entrenar
  • Perfecto (0.00002): Mejora constante
Valores comunes:
  • Fine-tuning: 2e-5 a 5e-5
  • Entrenamiento desde cero: 1e-4 a 1e-3

Batch Size

Cuántos ejemplos procesar antes de actualizar weights.
  • Pequeño (8): Más actualizaciones, menos estable, necesita menos memoria
  • Grande (128): Menos actualizaciones, más estable, necesita más memoria
Valores comunes:
  • GPU limitada: 8-16
  • Buena GPU: 32-64
  • Múltiples GPUs: 128+

Epochs

Cuántas veces pasar por todo tu dataset.
  • Muy pocos (1): Underfitting, el modelo no ha aprendido lo suficiente
  • Demasiados (100): Overfitting, memorizó datos de entrenamiento
  • Perfecto (3-10): Buen equilibrio
Observa validation loss - cuando deje de mejorar o empeore, detente.

Configuraciones Secundarias

Warmup Steps

Aumentar learning rate gradualmente al inicio.
Steps 0-500: Learning rate va de 0 → 2e-5
Steps 500+: Learning rate permanece en 2e-5
Previene inestabilidad inicial.

Weight Decay

Regularización que impide que los weights se vuelvan demasiado grandes.
  • Predeterminado: 0.0 (para fine-tuning LLM)
  • Sin regularización: 0
  • Regularización fuerte: 0.1

Gradient Accumulation

Simular batches más grandes en hardware limitado.
Tamaño efectivo del batch = batch_size × gradient_accumulation_steps
Ejemplo: batch_size=4, accumulation=8 → actúa como batch_size=32

Valores Predeterminados Específicos por Tarea

Text Classification

learning_rate = 5e-5
batch_size = 8
epochs = 3
warmup_ratio = 0.1

Language Model Fine-tuning

learning_rate = 3e-5  # Predeterminado AITraining
batch_size = 2
epochs = 1
warmup_ratio = 0.1
weight_decay = 0.0
gradient_accumulation = 4

Image Classification

learning_rate = 1e-4
batch_size = 32
epochs = 10
warmup_ratio = 0.05

Cuándo Ajustar

¿Learning rate demasiado alto?
  • Loss explota o se vuelve NaN
  • Accuracy salta alrededor salvajemente
  • Nunca converge
¿Learning rate demasiado bajo?
  • Loss apenas disminuye
  • El entrenamiento toma una eternidad
  • Atascado en rendimiento pobre
¿Problemas con batch size?
  • Sin memoria → reduce batch size
  • Entrenamiento inestable → aumenta batch size
  • Usa gradient accumulation si memoria limitada

Valores de Inicio Rápido

¿No estás seguro por dónde empezar? Prueba estos:
# Valores predeterminados seguros para la mayoría de tareas
learning_rate = 2e-5
batch_size = 16
epochs = 3
warmup_ratio = 0.1
weight_decay = 0.0
Luego ajusta basándote en lo que ves.

Configuraciones de Evaluación

Controla cuándo y cómo tu modelo es evaluado durante el entrenamiento:
ParámetroDescripciónPredeterminado
eval_strategyCuándo evaluar (epoch, steps, no)epoch
eval_batch_sizeTamaño del batch para evaluación8
use_enhanced_evalHabilitar métricas avanzadas (BLEU, ROUGE, etc.)False
eval_metricsMétricas para computar (separadas por coma)perplexity
eval_save_predictionsGuardar predicciones del modeloFalse
eval_benchmarkEjecutar benchmark estándar (mmlu, hellaswag, arc, truthfulqa)None

Consejos Pro

  1. Comienza con predeterminados - No pienses demasiado inicialmente
  2. Cambia uno a la vez - Más fácil ver qué ayuda
  3. Registra todo - Rastrea lo que funciona para tus datos
  4. Usa conjunto de validación - Monitorea overfitting

Próximos Pasos