La contaminación ocurre de varias maneras. Inclusión directa: los datos del benchmark aparecen textualmente en el corpus de entrenamiento (frecuentemente vía web scraping de sitios que alojan preguntas de benchmarks). Filtración indirecta: los datos de entrenamiento incluyen discusiones sobre preguntas de benchmarks, soluciones generadas por modelos o contenido derivado. Filtración temporal: un modelo se evalúa en un benchmark "nuevo", pero el corte de datos de entrenamiento incluye versiones anteriores de ese benchmark.
Detectar contaminación no es sencillo. Puedes buscar coincidencias exactas de preguntas de prueba en los datos de entrenamiento, pero las coincidencias parafraseadas o parciales son más difíciles de detectar. Algunos investigadores usan ataques de inferencia de pertenencia — verificando si la confianza del modelo en ejemplos de prueba es sospechosamente más alta que en ejemplos similares no vistos. Pero estos métodos tienen falsos positivos y negativos, y el acceso a los datos de entrenamiento frecuentemente es limitado.
La comunidad está respondiendo de varias formas: benchmarks privados retenidos que no se publican (como algunas evaluaciones internas en laboratorios de IA), benchmarks dinámicos que generan nuevas preguntas regularmente, Chatbot Arena (que usa preferencias reales de usuarios en lugar de conjuntos de prueba estáticos), y análisis de contaminación como parte requerida de los reportes de evaluación de modelos. El cambio hacia la evaluación humana y benchmarks en vivo está parcialmente impulsado por el problema de contaminación.