Qué es
Un conjunto de entrenamiento es una muestra de las situaciones que un modelo encontrará. Contiene un patrón que usted desea que aprenda, como la forma en que responde su asistente y con qué tono y formato, y ruido que no desea: la redacción exacta de una respuesta, un error tipográfico o las peculiaridades de la pregunta de un cliente. Un modelo generaliza cuando capta el patrón. Se sobreajusta cuando también se ajusta al ruido, y se subajusta cuando no ha captado el patrón.
Cómo detectarlo
La señal más clara se encuentra en las curvas de pérdida. La pérdida de entrenamiento puede seguir disminuyendo mientras el modelo pueda memorizar más. La pérdida de validación, medida en conversaciones con las que el modelo nunca se entrenó, deja de disminuir cuando el modelo ha aprendido lo que se generaliza, y aumenta una vez que empieza a memorizar.
En un modelo de lenguaje con ajuste fino, el sobreajuste también se manifiesta en las propias respuestas.
- Copia literal: frases, oraciones completas e incluso nombres y números de las respuestas de entrenamiento aparecen en respuestas a preguntas no relacionadas.
- Respuestas predefinidas: se da una respuesta muy representada a preguntas que solo se parecen a la pregunta original.
- Pérdida de flexibilidad: las preguntas formuladas como en los datos de entrenamiento funcionan bien, las formuladas de otra manera fallan, y las tareas generales que el modelo base manejaba han empeorado.
- Invención con convicción: el modelo imita el estilo de respuestas específicas y detalladas, como menús con nombres y pasos numerados, sin el conocimiento que las respalda, e inventa los detalles.
Por qué ocurre
| Causa | Por qué conduce a la memorización |
|---|---|
| Muy pocos ejemplos | Con pocos datos, memorizar cada respuesta es la forma más fácil de reducir la pérdida |
| Demasiadas épocas | Cada pasada vuelve a mostrar las mismas respuestas, hasta que el modelo las reconoce |
| Tasa de aprendizaje demasiado alta | Las actualizaciones grandes se ajustan rápidamente a ejemplos individuales |
| Duplicados y respuestas repetidas | Una respuesta que aparece muchas veces se aprende como una respuesta fija |
| Datos poco variados | El modelo nunca ve cómo varían las preguntas reales, por lo que no puede aprender qué es lo que varía |
| Demasiada capacidad para los datos | Un ajuste fino completo o un adaptador grande en un conjunto pequeño tiene espacio para almacenar ejemplos |
Cómo prevenirlo
- Deténgase en el punto óptimo. Utilice el número de épocas en el que la pérdida de validación fue menor, o un punto de control de ese momento. Esto se conoce como detención temprana, la medida de protección más sencilla y eficaz.
- Menos épocas o una tasa de aprendizaje más baja. Ambas limitan cuánto se alejan los pesos del modelo base.
- Más datos y más variados. Cubra las diferentes formas en que las personas preguntan realmente, incluyendo preguntas cortas e imprecisas. Unos cientos de ejemplos variados enseñan más que mil casi duplicados.
- Elimine los duplicados y las respuestas excesivamente repetidas antes del entrenamiento.
- Regularización: Dropout de LoRA, decaimiento de pesos, o simplemente un rango de adaptador más pequeño, lo que limita la cantidad que se puede almacenar.
- Ejecución A: 6 épocas, multiplicador 2. La pérdida de entrenamiento llega a 0.15. La pérdida de validación alcanza su punto más bajo después de la época 2 y termina muy por encima de ese mínimo. En el chat de prueba, las respuestas reutilizan oraciones completas de las respuestas de entrenamiento.
- Ejecución B: 2 épocas, multiplicador 1. La pérdida de entrenamiento termina en 0.6 y la pérdida de validación termina cerca de su mínimo. Las respuestas mantienen el estilo de la empresa, pero se redactan de forma original para cada pregunta.
- Conclusión: La menor pérdida de entrenamiento de la Ejecución A es el problema, no el logro. La Ejecución B generaliza y su entrenamiento costó un tercio.
Subajuste
El subajuste es el fallo opuesto: ni la pérdida de entrenamiento ni la de validación disminuyen mucho, y el modelo ajustado responde de forma muy parecida al modelo base. Las causas son un entrenamiento insuficiente (muy pocas épocas o pasos, o una tasa de aprendizaje demasiado baja) o datos sin un patrón consistente, como respuestas que contestan a preguntas similares de forma contradictoria. Compruebe primero los datos. Aumentar las épocas o la tasa de aprendizaje en datos inconsistentes enseña principalmente la inconsistencia.
Errores comunes
- Juzgar una ejecución por su pérdida de entrenamiento. La pérdida de entrenamiento más baja suele corresponder a la ejecución con mayor sobreajuste.
- Intentar arreglar un modelo deficiente con más épocas sobre el mismo conjunto de datos pequeño.
- Omitir la partición de validación para conservar todos los ejemplos para el entrenamiento, perdiendo así la única forma de detectar el sobreajuste.
- Permitir que los duplicados o una única respuesta prefabricada dominen los datos.
- Validar con conversaciones que también aparecen en el entrenamiento, lo que oculta el sobreajuste por completo.
Referencias y lecturas adicionales
Las fuentes externas se abren en una pestaña nueva.
- 01OverfittingGoogle Machine Learning Crash Course · developers.google.comGeneralización, sobreajuste y el papel de un conjunto de datos reservado, con ejemplos interactivos.
- 02OverfittingWikipedia · en.wikipedia.org
- 03Early stoppingWikipedia · en.wikipedia.orgDetenerse en el punto de menor error de validación, la medida de protección más común contra el sobreajuste.
- 04Regularization for Deep LearningGoodfellow, Bengio & Courville · Deep Learning, chapter 7 · deeplearningbook.orgEl tratamiento clásico del decaimiento de pesos, el dropout, la detención temprana y el aumento de datos.