Saltar al contenido principal

Barridos de Hiperparámetros

Busca automáticamente los mejores hiperparámetros.

Inicio Rápido

Python API

Parámetros

Espacios de Búsqueda

Espacio de Búsqueda Por Defecto

Por defecto, los barridos buscan sobre:
  • Tasa de aprendizaje: 1e-5 a 1e-3 (uniforme log)
  • Tamaño de batch: 2, 4, 8, 16 (categórico)
  • Ratio de warmup: 0.0 a 0.2 (uniforme)
El rango LoRA NO está incluido en el barrido por defecto. Añádelo manualmente vía sweep_params si es necesario.

Espacio de Búsqueda Personalizado

El parámetro sweep_params espera una cadena JSON. Se soportan formatos de lista y diccionario:
Tipos dict soportados:

Backends de Barrido

Optuna

Optimización bayesiana eficiente:

Búsqueda en Rejilla

Búsqueda exhaustiva sobre todas las combinaciones:

Búsqueda Aleatoria

Muestreo aleatorio del espacio de búsqueda:

Métricas

Métricas Estándar

Métricas de Evaluación Mejoradas

Habilita use_enhanced_eval para acceder a métricas adicionales:

Parámetros de Evaluación Mejorada

Benchmarks Estándar

Usa eval_benchmark para ejecutar benchmarks estándar de LLM:

Ejemplo de Métricas Personalizadas

Ejemplo: Encontrar Mejor LR

Visualizando Resultados

Dashboard Optuna

Dashboard Nativo de Sweeps W&B

Por defecto, los sweeps se ejecutan localmente y solo registran ejecuciones individuales en W&B. Habilita la integración nativa de sweeps W&B para obtener vistas agregadas, gráficos de coordenadas paralelas y análisis de importancia de parámetros en un dashboard de sweep dedicado.
Local vs W&B Sweeps: Sin wandb_sweep=True, cada trial se registra como una ejecución separada de W&B. Con wandb_sweep=True, todos los trials se agrupan bajo un único dashboard de sweep con visualizaciones unificadas.

Habilitando W&B Sweeps

Continuando un Sweep Existente

Para agregar más trials a un sweep existente en lugar de crear uno nuevo, pasa el ID del sweep:
Si no pasas wandb_sweep_id, se crea un nuevo sweep cada vez. El ID del sweep se imprime en los logs cuando comienza el sweep (busca “Created W&B sweep: ”).

Accediendo al Dashboard de Sweep

  1. Ve a wandb.ai y abre tu proyecto
  2. Haz clic en el icono de Sweep (escoba) en el panel izquierdo
  3. Selecciona tu sweep de la lista

Visualizaciones Integradas

W&B genera automáticamente tres visualizaciones:
El gráfico de coordenadas paralelas es especialmente útil para identificar qué combinaciones de hiperparámetros llevan a los mejores resultados. Puedes arrastrar en cualquier eje para filtrar ejecuciones.

Usando con Agentes de Sweep W&B Externos

Si estás ejecutando AITraining desde un agente de sweep W&B externo (no el sweep integrado de AITraining), usa --wandb-run-id para reanudar el run del agente en lugar de crear un duplicado:
Cuando se establece --wandb-run-id, AITraining automáticamente configura WANDB_RESUME=allow para que el trainer reanude el run especificado en lugar de crear uno nuevo.

Notas Importantes

  • Requiere login de W&B: Ejecuta wandb login antes de usar W&B sweeps
  • El ID del sweep se registra: Busca “Created W&B sweep: ” en los logs
  • Los trials se agrupan: Cada trial aparece como una ejecución con group={sweep_id} para agregación
  • Optuna sigue gestionando la búsqueda: W&B es solo para visualización; Optuna/grid/random maneja la búsqueda real de hiperparámetros

Acciones Post-Trial

Ejecuta acciones personalizadas después de que cada trial complete, como hacer commit de checkpoints a git, enviar notificaciones, o sincronizar a almacenamiento remoto.

Uso en CLI

Variables de Entorno

El script post-trial recibe estas variables de entorno:

Ejemplo: Git Commit para Mejores Modelos

Python API con Callback

Para mayor control, usa el API de Python con una función callback:
Las acciones post-trial son no bloqueantes. Si un callback o script falla, se registra una advertencia pero el sweep continúa. Esto asegura que el progreso del sweep no se pierda debido a errores de callback.

Mejores Prácticas

  1. Comienza pequeño - 10-20 intentos para exploración inicial
  2. Usa early stopping - Detén intentos malos temprano
  3. Fija lo que sabes - Solo barre parámetros inciertos
  4. Usa datos de validación - Siempre ten división de evaluación
  5. Usa scripts post-trial - Automatiza checkpointing o notificaciones

Próximos Pasos

Evaluation

Evalúa resultados del barrido

LoRA/PEFT

Fine-tuning eficiente