Definición
Un hiperparámetro es una decisión de configuración que tomas antes de entrenar y que el modelo no puede aprender por su cuenta.
La distinción con "parámetro" es limpia: los parámetros son los pesos que la red ajusta sola durante el entrenamiento —pueden ser miles de millones—. Los hiperparámetros son las reglas del juego que tú fijas: cuántas capas tendrá, a qué ritmo aprenderá, cuántos ejemplos verá de golpe.
La comparación que uso: los parámetros son lo que el alumno acaba sabiendo; los hiperparámetros son cuántas horas estudia al día, en qué orden y con cuánto café. No los decide él.
Los que de verdad mueven la aguja
No todos importan igual. Estos son los que cambian el resultado:
Tasa de aprendizaje (learning rate). El tamaño del paso en cada corrección. Es, con diferencia, el más importante. Demasiado alta y el modelo salta por encima de la solución sin llegar nunca; demasiado baja y tarda una eternidad o se queda atrapado. Casi siempre se usa con un schedule que la va bajando conforme avanza.
Tamaño de lote (batch size). Cuántos ejemplos procesa antes de corregir. Lotes grandes dan corrección más estable pero necesitan más memoria de GPU; pequeños introducen ruido, que a veces ayuda a escapar de mínimos malos.
Épocas. Cuántas vueltas completas da al dataset. Pocas y no aprende; demasiadas y entra en sobreajuste. Por eso la parada temprana suele sustituir a fijar un número.
Arquitectura. Número de capas, neuronas por capa, número de cabezas de atención. Define el techo de lo que el modelo puede representar.
Regularización. Cuánto dropout, cuánta penalización a los pesos grandes.
En LoRA, además, aparecen dos propios: el rango y el factor alpha, que controlan cuánta capacidad de adaptación le das al ajuste.
Ejemplo práctico
Cuando ajustamos un modelo pequeño para clasificar los conceptos bancarios de IMDICA, la primera tanda fue un desastre: la pérdida bajaba dos pasos y se disparaba.
La causa era la tasa de aprendizaje, puesta en 1e-3 por copiar un tutorial. Para un ajuste fino sobre un modelo ya entrenado, ese valor es enorme: en vez de afinar lo que el modelo ya sabía, lo estaba destrozando. Bajándola a 2e-5 —cien veces menos— la curva se comportó desde la primera época.
La lección práctica: en preentrenamiento desde cero las tasas son altas; en ajuste fino sobre un modelo existente tienen que ser mucho más bajas, porque no quieres reescribir lo aprendido, solo empujarlo un poco.
Segunda cosa que aprendimos: probamos veinte combinaciones a lo bruto y las mejores se parecían todas entre sí en la tasa de aprendizaje y no se parecían en nada más. Ahí supimos qué merecía la pena buscar y qué no.
Cómo buscarlos
- Búsqueda en rejilla (grid search). Probar todas las combinaciones de una lista. Exhaustivo y carísimo: crece exponencialmente.
- Búsqueda aleatoria (random search). Probar combinaciones al azar dentro de unos rangos. Suena peor y funciona mejor, porque la mayoría de hiperparámetros no importan y el azar dedica más pruebas a los que sí.
- Optimización bayesiana. Usa los resultados anteriores para decidir dónde probar a continuación. Es lo que hacen Optuna o Ray Tune.
- Empezar por lo publicado. Para arquitecturas conocidas, los valores del paper original son un punto de partida decente. Muchísimo mejor que inventar.
Errores comunes
- Buscar todo a la vez. Fija primero la tasa de aprendizaje, que es la que manda, y luego afina el resto.
- Comparar usando el conjunto de prueba. Los hiperparámetros se eligen con el de validación. Si usas el de prueba, tu cifra final deja de ser honesta.
- Quemar el presupuesto de cómputo en el ajuste fino. Mejorar los datos suele dar más que exprimir la última décima de una rejilla.
- No apuntar lo que probaste. Sin registro de configuraciones y resultados, a la tercera semana no sabes qué funcionó.
Cuándo dedicarles tiempo
Sí cuando el modelo ya funciona razonablemente y buscas ese último tramo de mejora, o cuando entrenas algo desde cero sin referencias previas.
No al principio. Si tu modelo va mal de salida, el problema casi nunca está en la tasa de aprendizaje: está en los datos, en las etiquetas o en el planteamiento del problema. Ajustar hiperparámetros sobre un dataset malo es pulir el pomo de una puerta que no cierra.