Parámetros e hiperparámetros
Los parámetros de un modelo, sus pesos, se aprenden: el entrenamiento los establece. Los hiperparámetros los configura usted antes de que comience el entrenamiento y controlan cómo se produce ese aprendizaje: cuántas veces se ven los datos, qué tan grande es cada actualización, cuántos ejemplos se incluyen en cada actualización, qué tan grande es un adaptador. El entrenamiento no puede encontrar buenos hiperparámetros por sí solo. Usted los encuentra ejecutando, midiendo y ajustando, razón por la cual un valor predeterminado sensato y una forma clara de interpretar los resultados importan más que una primera suposición perfecta.
Los ajustes
Cuántas pasadas completas realiza el entrenamiento sobre sus datos. Muy pocas y el modelo apenas cambia; demasiadas y comienza a reproducir sus ejemplos palabra por palabra (sobreajuste), lo que se manifiesta como un aumento de la pérdida de validación mientras la pérdida de entrenamiento sigue disminuyendo. Los conjuntos de datos pequeños pueden admitir algunas épocas más; los grandes a menudo solo necesitan una. El ajuste de preferencias generalmente necesita menos épocas que el entrenamiento supervisado. Cada época también se suma al coste.
El tamaño de cada actualización de los pesos. Es el ajuste más sensible: si es demasiado alto, las actualizaciones se exceden, la pérdida se vuelve irregular y el modelo puede perder habilidades que ya tenía; si es demasiado bajo, la ejecución termina antes de que el modelo haya aprendido lo suficiente. Los modelos alojados suelen ofrecer un multiplicador en lugar de una tasa bruta: la tasa predeterminada del proveedor para ese modelo y sus datos se multiplica por su valor, de modo que 1 mantiene el valor predeterminado, 2 lo duplica y 0.5 lo reduce a la mitad. Los modelos abiertos utilizan una tasa bruta, como aproximadamente 1e-4 para un adaptador LoRA o 1e-5 para un ajuste fino completo.
Cuántos ejemplos se promedian en cada actualización de pesos. Los lotes más grandes proporcionan actualizaciones más suaves y fiables, pero menos por época, y necesitan más memoria; los lotes más pequeños se actualizan con más frecuencia, pero con más ruido. Cuando cambie el tamaño del lote, reconsidere también la tasa de aprendizaje: un lote más grande generalmente tolera, y necesita, una tasa mayor. En un conjunto de datos pequeño, un lote muy grande deja muy pocos pasos de los que aprender.
Para el entrenamiento de adaptadores en modelos abiertos. El rango de las dos pequeñas matrices que LoRA entrena junto a cada capa, lo cual determina cuánto puede aprender el adaptador. Un rango de 4–16 es suficiente para el tono, el estilo y el formato; los conjuntos de datos más grandes y con gran cantidad de conocimientos pueden utilizar más. Los rangos más altos consumen más memoria y tiempo, y dejan de ser útiles una vez que el adaptador tiene suficiente capacidad. La página de LoRA cubre el alfa, los módulos de destino y el dropout.
Durante los primeros pasos del entrenamiento, la tasa de aprendizaje aumenta desde casi cero hasta su valor total en lugar de comenzar con toda su fuerza. Al principio, las estadísticas de ejecución del optimizador se basan en muy pocos gradientes, por lo que los pasos completos corren el riesgo de hacer un mal primer movimiento; un breve calentamiento evita un inicio inestable. Se indica como un número de pasos o una proporción de todos los pasos. Después del calentamiento, la tasa suele decaer hacia cero durante el resto de la ejecución.
Cómo interactúan los ajustes
| Si cambia | Considere también | Por qué |
|---|---|---|
| Más épocas | Una tasa de aprendizaje más baja; observar la pérdida de validación | Más pasadas y pasos grandes en conjunto agravan el sobreajuste |
| Un lote más grande | Una tasa de aprendizaje más alta | Hay menos pasos, pero más fiables, por época |
| Un conjunto de datos más pequeño | Un lote más pequeño; posiblemente algunas épocas más | De lo contrario, hay muy pocos pasos de los que aprender |
| LoRA en lugar de un ajuste fino completo | Una tasa de aprendizaje más alta, aproximadamente 10× | El adaptador comienza en cero y su salida se escala por alfa ÷ r |
| Ajuste de preferencias después del entrenamiento supervisado | Menos épocas y una tasa de aprendizaje más baja | Perfecciona un modelo funcional; los pasos grandes hacen que se desvíe |
Un orden práctico de ajuste
- Ejecute una vez en Auto. Es una línea base razonable y muestra lo que el proveedor selecciona para sus datos.
- Lea las curvas de pérdida. Si la pérdida de validación aumenta pronto: menos épocas o una tasa de aprendizaje más baja. Si ambas pérdidas siguen cayendo al final: más épocas. Si ninguna se mueve: revise los datos primero y luego pruebe con una tasa de aprendizaje más alta.
- Evalúe frente al modelo base, no solo la pérdida. Una pérdida menor no garantiza mejores respuestas.
- Cambie un ajuste a la vez, manteniendo el resto fijo, para saber qué marcó la diferencia. Primero la tasa de aprendizaje y las épocas; el tamaño del lote y el calentamiento rara vez necesitan modificaciones.
- Conserve las ejecuciones descartadas. Archivadas con sus evaluaciones, responden a la pregunta «¿probamos con una tasa de aprendizaje más alta?» meses después.
- Ejecución 1, en Automático: 3 épocas, multiplicador 1. La pérdida de entrenamiento disminuye continuamente; la pérdida de validación alcanza su punto más bajo al principio de la época 2 y aumenta a partir de ahí.
- Diagnóstico: sobreajuste desde aproximadamente la mitad de la ejecución. La tasa de aprendizaje parece adecuada: la curva es suave, no irregular.
- Ejecución 2: 2 épocas, todo lo demás sin cambios. La pérdida de validación ahora termina cerca de su punto más bajo, y la ejecución cuesta un tercio menos.
- Antes de conservarla: evalúe la ejecución 2 frente al modelo base y frente a la ejecución 1.
Errores comunes
- Cambiar varios ajustes a la vez, de modo que no se pueda explicar un resultado mejor o peor.
- Ajustar en función de la pérdida de entrenamiento. Casi siempre mejora con más épocas o una tasa más alta; la pérdida de validación y la evaluación son los jueces.
- Tratar un multiplicador como una tasa de aprendizaje bruta. Un multiplicador de 2 duplica el valor predeterminado del proveedor; no es una tasa de 2.
- Copiar los ajustes de una ejecución con un tamaño de datos muy diferente. Los pasos, el calentamiento y el número correcto de épocas escalan con los datos.
- Perseguir pequeñas diferencias en un conjunto de validación diminuto. Con unas pocas docenas de conversaciones reservadas, una pequeña diferencia es ruido.
Referencias y lecturas adicionales
Las fuentes externas se abren en una pestaña nueva.
- 01TrainerHugging Face Transformers docs · huggingface.coLa lista completa de argumentos de entrenamiento y sus valores predeterminados, desde la tasa de aprendizaje y las épocas hasta el calentamiento y el decaimiento de pesos.
- 02Linear regression: HyperparametersGoogle Machine Learning Crash Course · developers.google.comTasa de aprendizaje, tamaño del lote y épocas explicados con ejemplos interactivos.
- 03Accurate, Large Minibatch SGD: Training ImageNet in 1 HourGoyal et al., 2017 · arXiv · arxiv.orgLa regla de escalado lineal que vincula el tamaño del lote y la tasa de aprendizaje, y el calentamiento gradual.
- 04Hyperparameter (machine learning)Wikipedia · en.wikipedia.org