Divisiones típicas: 80% entrenamiento, 10% validación, 10% prueba. Para datasets grandes, porcentajes más pequeños para validación y prueba son suficientes (incluso el 1% de un millón de ejemplos son 10,000 — suficiente para evaluación confiable). Para datasets pequeños, se prefiere validación cruzada (ver: Validación Cruzada). La regla clave: nunca uses el conjunto de prueba para ninguna decisión durante el desarrollo. Solo es para la evaluación final. Si espías el conjunto de prueba durante el desarrollo, tu estimación de rendimiento se vuelve sesgada.
Al dividir datos, asegúrate de que cada división tenga una distribución representativa de clases, dominios y otras características importantes. Si tu dataset es 90% inglés y 10% francés, una división aleatoria podría poner todos los ejemplos en francés en el conjunto de entrenamiento, dejándote incapaz de evaluar el rendimiento en francés. La división estratificada asegura representación proporcional en cada división. Para datos de series temporales, usa divisiones temporales (entrenar en pasado, validar en futuro) en lugar de divisiones aleatorias.
Para pre-entrenamiento de LLMs, el conjunto de validación es una porción reservada del corpus de entrenamiento, usada para calcular perplejidad durante el entrenamiento. Para ajuste fino, es una porción reservada del dataset de ajuste fino. Para alineación (RLHF/DPO), la validación es más compleja: métricas automatizadas (puntuaciones del modelo de recompensa) más evaluación humana en prompts reservados. La estrategia de validación debería coincidir con cómo se usará realmente el modelo — si los usuarios harán preguntas diversas, el conjunto de validación debería ser diverso.