Contaminação acontece de várias formas. Inclusão direta: dados de benchmark aparecem textualmente no corpus de treinamento (frequentemente via raspagem de sites que hospedam questões de benchmark). Vazamento indireto: dados de treinamento incluem discussões sobre questões de benchmark, soluções geradas por modelos ou conteúdo derivado. Vazamento temporal: um modelo é avaliado em um benchmark "novo", mas o corte de dados de treinamento inclui versões anteriores desse benchmark.
Detectar contaminação não é simples. Você pode buscar correspondências exatas de questões de teste nos dados de treinamento, mas correspondências parafraseadas ou parciais são mais difíceis de pegar. Alguns pesquisadores usam ataques de membership inference — verificando se a confiança do modelo em exemplos de teste é suspeitamente maior do que em exemplos não vistos similares. Mas esses métodos têm falsos positivos e negativos, e o acesso aos dados de treinamento é frequentemente limitado.
A comunidade está respondendo de várias formas: benchmarks privados não publicados (como algumas avaliações internas de laboratórios de IA), benchmarks dinâmicos que geram novas questões regularmente, Chatbot Arena (que usa preferências reais de usuários em vez de conjuntos de teste estáticos) e análise de contaminação como parte obrigatória de relatórios de avaliação de modelos. A mudança em direção a avaliação humana e benchmarks ao vivo é parcialmente impulsionada pelo problema de contaminação.