Aprender los propios problemas
La contaminación de benchmarks es que los problemas o las respuestas de un benchmark entren en los datos de entrenamiento del modelo. Un LLM aprende de una gran cantidad de textos de la web, así que los problemas publicados a veces se cuelan junto con artículos que los explican. El artículo de LiveBench trata la contaminación como un problema muy conocido que impide una evaluación justa y la señala como la causa de que los benchmarks se queden anticuados pronto.
La contaminación no siempre es intencionada. También es difícil comprobar desde fuera si un problema ha entrado en los datos de entrenamiento.
Por qué sale más alta la puntuación
Un problema visto en el entrenamiento se acierta escribiendo la respuesta memorizada, sin pensar cómo resolverlo. Por eso la puntuación de un benchmark contaminado sale más alta que la capacidad de resolver problemas nuevos.
El artículo de GSM1k creó problemas nuevos con la misma forma y dificultad que GSM8K, un benchmark de aritmética de primaria, y se los dio a resolver a los modelos. La tasa de acierto bajó, y algunos modelos parecían recordar en parte los problemas originales. En cambio, muchos modelos resolvieron igual de bien los problemas nuevos, así que no se puede decir que toda la puntuación alta se deba a la contaminación.
Medidas contra la contaminación
Hay sobre todo 3 formas de reducir el efecto de la contaminación.
- Problemas nuevos (medir con problemas creados después de la fecha de corte de los datos de entrenamiento)
- Problemas no publicados (no publicar los problemas para que no se mezclen en el entrenamiento)
- Tu propio conjunto de evaluación (probar con problemas hechos a partir de tu propio trabajo)
LiveBench crea problemas a partir de fuentes nuevas, los renueva a menudo y puntúa las respuestas de forma automática. Al leer la puntuación de un benchmark, mira cuántos años lleva publicado y si renueva sus problemas, y compruébalo también con tus propios problemas.