Zubnet AIAprenderWiki › Hiperparámetros
Entrenamiento

Hiperparámetros

También conocido como: Hiperparámetros de entrenamiento
Ajustes que elige antes de que comience el entrenamiento y que controlan cómo el modelo aprende — a diferencia de los parámetros, que el modelo aprende por sí mismo. Los hiperparámetros incluyen tasa de aprendizaje (cuán grande es cada paso de actualización), tamaño del lote (cuántos ejemplos procesar a la vez), número de épocas (cuántas veces pasar por los datos), elección del optimizador (Adam, SGD, AdamW), decaimiento de peso, tasa de dropout y decisiones de arquitectura como número de capas y dimensiones ocultas. Ajustar correctamente los hiperparámetros suele ser la diferencia entre un modelo que converge hermosamente y otro que se aleja hacia el sinsentido.

Por qué importa

La sintonización de hiperparámetros es donde la ingeniería de ML se vuelve parte ciencia, parte arte. Puedes tener el conjunto de datos perfecto y la arquitectura, pero una tasa de aprendizaje demasiado alta hará que el entrenamiento falle y una que sea demasiado baja nunca convergerá. Entender los hiperparámetros es esencial para cualquiera que esté entrenando o afinando modelos — y saber cuáles son los más importantes ahorra una cantidad enorme de recursos computacionales.

En profundidad

Tres hiperparámetros dominan cada ejecución de entrenamiento, y entender cómo interactúan es más importante que memorizar valores predeterminados. La tasa de aprendizaje controla cuánto cambian los pesos del modelo en cada paso de actualización — demasiado alta y la pérdida explota, demasiado baja y desperdicias recursos avanzando lentamente hacia un mínimo que nunca alcanzarás. Los valores típicos para preentrenar un modelo de lenguaje grande se sitúan entre 1e-4 y 6e-4, aunque ese rango cambia según el tamaño del modelo y el optimizador. El tamaño del lote determina cuántos ejemplos ve el modelo antes de actualizar sus pesos. Lotes más grandes ofrecen estimaciones de gradiente más estables, pero consumen más memoria y a veces pueden afectar la generalización. El optimizador — casi siempre alguna variante de Adam (AdamW siendo el estándar actual) — decide cómo usar la información del gradiente para mover realmente los pesos. AdamW agrega decaimiento de peso desacoplado, que actúa como regularizador y mantiene los pesos de forma acotada. Estos tres están profundamente entrelazados: duplicar el tamaño del lote suele significar que puedes aumentar la tasa de aprendizaje (la regla de escalado lineal), y cambiar de optimizador puede alterar qué tasas de aprendizaje incluso son estables. No puedes ajustar uno en aislamiento y esperar resultados limpios.

Horarios de Tasa de Aprendizaje

Una tasa de aprendizaje constante casi nunca es la opción correcta, y esto es una de esas cosas que suenan como sabiduría convencional pero tienen respaldo empírico sólido. La mayoría de las ejecuciones de entrenamiento exitosas usan una fase de calentamiento seguida de algún tipo de decaimiento. La fase de calentamiento comienza con una tasa de aprendizaje cerca de cero y la aumenta durante las primeras cien o miles de pasos — esto evita que el modelo inicializado aleatoriamente tome pasos destructivos de gran magnitud antes de aprender alguna estructura útil. Después del calentamiento, el decaimiento coseno es el horario más popular: la tasa de aprendizaje sigue una curva de medio coseno desde su pico hasta casi cero durante los pasos restantes de entrenamiento. Esto le da al modelo un período prolongado con una tasa de aprendizaje productiva seguido de un enfriamiento suave que le ayuda a establecerse en un mínimo bueno. El decaimiento lineal funciona también, pero el coseno se ha convertido en el estándar porque consistentemente se desempeña tan bien o mejor en diferentes arquitecturas. Algunos trabajos recientes exploran horarios cíclicos y patrones de calentamiento-estable-decaimiento, pero si estás empezando un nuevo proyecto y quieres algo confiable, el decaimiento coseno con calentamiento es la apuesta segura.

Preentrenamiento vs. Finetuning

Los hiperparámetros que importan cambian drásticamente dependiendo de si estás preentrenando desde cero o finetuneando un modelo existente. El preentrenamiento es un asunto de fuerza bruta — te importa la tasa de aprendizaje, el tamaño del lote, el optimizador y el decaimiento de peso porque estás construyendo representaciones desde nada. El finetuning es cirugía en un cerebro ya entrenado, y las reglas cambian en consecuencia. Las tasas de aprendizaje disminuyen en una magnitud o más: donde el preentrenamiento podría usar 3e-4, el finetuning típicamente usa 1e-5 a 5e-5, porque quieres empujar al modelo, no sobrescribir lo que ya sabe. La cantidad de épocas importa mucho más en el finetuning — una o tres pasadas sobre los datos suelen ser suficientes, y hacer más corre el riesgo de sobreajustar catastróficamente en un conjunto de datos pequeño. Con métodos eficientes en parámetros como LoRA, entra en juego un nuevo hiperparámetro: el rango, que controla cuánta capacidad tiene el adaptador. El rango 8 a 64 cubre la mayoría de los casos de uso, con rangos más altos que agregan expresividad a costa de más parámetros entrenables. LoRA también introduce su propio factor de escala alfa, y la relación entre alfa y rango efectivamente controla la tasa de aprendizaje del adaptador. El resultado es que el finetuning tiene menos hiperparámetros para configurar, pero cada uno es más sensible porque estás operando en un modelo que ya tiene fuertes priors.

Estrategias de Búsqueda

La búsqueda en cuadrícula — probar cada combinación de valores en una cuadrícula predefinida — es la estrategia que todo el mundo aprende primero y casi nadie usa a gran escala. El problema es combinatorio: cinco hiperparámetros con cinco valores cada uno significan 3,125 ejecuciones, y la mayoría de esas ejecuciones exploran regiones aburridas y redundantes del espacio. La búsqueda aleatoria, propuesta por Bergstra y Bengio en 2012, es sorprendentemente simple y consistentemente supera a la búsqueda en cuadrícula: simplemente muestrea valores de hiperparámetros desde distribuciones razonables y ejecuta un presupuesto fijo de experimentos. Funciona porque no todos los hiperparámetros importan igual, y la muestre aleatoria es mucho más probable que golpee los valores importantes de los que sí lo hacen. Más allá de la búsqueda aleatoria, la optimización bayesiana (herramientas como Optuna o Weights & Biases Sweeps) construye un modelo de cómo los hiperparámetros se mapean al rendimiento y usa ese modelo para sugerir configuraciones cada vez más prometedoras. El entrenamiento basado en población toma un enfoque completamente diferente — ejecuta muchas tareas de entrenamiento en paralelo, periódicamente copia los pesos de las que mejor se desempeñan y muta sus hiperparámetros, evolucionando efectivamente una buena configuración durante el entrenamiento en lugar de antes. Cada estrategia intercambia costo computacional contra eficiencia de exploración, pero la respuesta honesta es que la búsqueda aleatoria con un presupuesto razonable te lleva al 90% del camino.

El Secreto del Practicante

Aquí está la parte que rara vez entra en los libros de texto: la mayoría de los hiperparámetros en sistemas de producción no se derivan de principios fundamentales ni se encuentran mediante búsqueda rigurosa. Se copian de papers que funcionaron en problemas similares. Cuando alguien preentrena un modelo de 7B parámetros, mira qué tasa de aprendizaje usó LLaMA, qué tamaño de lote recomendó Chinchilla, qué decaimiento de peso reportó GPT-3 — y empieza desde allí. Esto no es pereza; es racional

Conceptos relacionados

← Todos los términos
ESC