Qué es
Una división de validación reserva parte de sus datos antes de que comience el entrenamiento. Esas conversaciones se reservan: el modelo nunca se entrena con ellas. El proveedor las utiliza para calcular la pérdida de validación durante la ejecución del entrenamiento. No son el conjunto de prueba, un segundo grupo independiente de conversaciones que se guarda para la evaluación posterior.
La razón es sencilla. Un modelo con ajuste fino puede memorizar. Si se le hace una pregunta con la que se entrenó, puede reproducir la respuesta de referencia casi palabra por palabra, lo que no le dice nada sobre cómo manejará las preguntas de la próxima semana. Solo los datos que no ha visto pueden mostrar si aprendió el patrón o simplemente los ejemplos.
Cómo funciona
Las conversaciones se asignan al azar a un lado u otro, como conversaciones completas. Dividir por mensaje sería una forma de fuga de datos: la primera mitad de un chat podría entrenar al modelo mientras su respuesta se encuentra en validación, o la misma respuesta podría aparecer en ambos lados en dos registros contiguos. La puntuación de validación mediría entonces la capacidad de recordar, no la habilidad. La fuga de datos es una trampa bien documentada mucho más allá de los modelos de lenguaje: Kapoor y Narayanan (2022) descubrieron errores de fuga que afectaban a 329 artículos en 17 campos científicos.
Durante el entrenamiento, el proveedor ejecuta periódicamente el modelo en los registros de validación e informa de su pérdida sin actualizar ningún peso. Cuando la pérdida de entrenamiento sigue disminuyendo pero la pérdida de validación aumenta, el modelo ha empezado a sobreajustarse.
La validación no es el conjunto de prueba
Los registros de validación se envían al proveedor con el archivo de entrenamiento y se observan durante toda la ejecución; también se eligen las épocas y las tasas de aprendizaje observándolos. Eso hace que no sean del todo inéditos, por lo que no son una prueba final limpia. Una prueba limpia necesita conversaciones que no toquen ni el entrenamiento ni la validación y que nunca salgan de sus manos: el conjunto de prueba. La evaluación lo utiliza por defecto y solo recurre a las preguntas de validación cuando no hay un conjunto de prueba.
| Conjunto | ¿Visto durante el entrenamiento? | Utilizado para |
|---|---|---|
| Entrenamiento | Sí, se aprende de él | Modificar los pesos |
| Validación | Visto por el proveedor, no se aprende de él | La pérdida de validación; una segunda opinión en la evaluación cuando no hay conjunto de prueba |
| Prueba | No, nunca se envía al proveedor | Determinar si el modelo realmente mejoró |
¿Qué tamaño debería tener?
Es un compromiso. Cada conversación reservada es una de la que el modelo no aprende; cada conversación con la que se entrena es una con la que no se puede probar. La precisión de una puntuación depende del número de ejemplos reservados, no de su proporción, razón por la cual los conjuntos de datos pequeños son el caso difícil. Para una tasa de éxito, la incertidumbre se reduce aproximadamente con la raíz cuadrada del número de preguntas:
standard error of a win rate ≈ √( p × (1 − p) ÷ n )
95% margin ≈ 1.96 × standard error
at p = 0.5 ≈ 1 ÷ √n
n = 10 → ± 31 points
n = 50 → ± 14 points
n = 100 → ± 10 points
n = 400 → ± 5 pointsPor debajo de este número, la pérdida de validación sería principalmente ruido, por lo que no se realiza ninguna división de validación y todo lo que queda fuera del conjunto de prueba se destina al entrenamiento.
- 2000 conversaciones: 200 van primero al conjunto de prueba, luego el 10 % del resto (180) a validación, dejando 1620 para el entrenamiento. Una evaluación de las 200 conversaciones de prueba mide una tasa de éxito con un margen de unos ±7 puntos, suficiente para comparar ejecuciones.
- 300 conversaciones: 30 conversaciones de prueba y 27 de validación. Una evaluación de 30 conversaciones de prueba tiene un margen de unos ±18 puntos y no puede distinguir un modelo del 55 % de uno del 45 %; solo con más datos se reduce este margen.
- 60 conversaciones: 6 van al conjunto de prueba. El 10 % de las 54 restantes es 5, por debajo del mínimo de 10, por lo que no hay curva de validación y las 54 se utilizan para entrenar. La evaluación sigue contando con 6 conversaciones de prueba no vistas: son pocas, así que interprete el resultado como un indicio.
- 8 conversaciones: muy pocas para un conjunto de prueba, que requiere un conjunto de datos de al menos 10. No se reserva nada, y una evaluación solo puede recurrir, con una advertencia, a las preguntas con las que se entrenó el modelo.
Errores comunes
- Dividir por mensaje o por registro, de modo que partes de la misma conversación acaben en ambos lados.
- Reservar una proporción demasiado pequeña para medir algo y luego buscarle sentido a un resultado de 6 contra 4.
- Añadir casi duplicados de conversaciones de validación a un conjunto de entrenamiento posterior, lo que las convierte discretamente en datos de entrenamiento.
- Comparar dos modelos que se evaluaron en diferentes conjuntos reservados como si las puntuaciones estuvieran en la misma escala.
- Omitir la división en un conjunto de datos real para «usar todos los datos» y perder la única medición honesta que tenía.
- Tratar los resultados de validación como una prueba final limpia, a pesar de que el proveedor vio esos registros durante todo el entrenamiento.
Referencias y lecturas adicionales
Las fuentes externas se abren en una pestaña nueva.
- 01Datasets: Dividing the original datasetGoogle Machine Learning Crash Course · developers.google.comUna introducción clara a los conjuntos de entrenamiento, validación y prueba.
- 02Training, validation, and test data setsWikipedia · en.wikipedia.orgDefiniciones y la función de cada conjunto.
- 03Leakage and the Reproducibility Crisis in ML-based ScienceKapoor & Narayanan, 2022 · arXiv · arxiv.orgUn estudio sobre cómo la filtración entre los datos de entrenamiento y de prueba infla los resultados reportados.