05/12/2021
El mundo ha sido testigo de un crecimiento exponencial en la producción y uso de la Inteligencia Artificial durante la última década, especialmente en el campo de los modelos de lenguaje grandes (LLMs). En este contexto, uno de los desafíos corporativos más definitorios de nuestro tiempo es cómo desplegar la IA de una manera que no solo reduzca costos y maximice la productividad, sino que también sea segura, ética y cumpla con los estándares legales. Esto ha provocado una explosión en el número y tipo de benchmarks disponibles para evaluar y monitorear el rendimiento de los LLMs. Sin embargo, existe un problema sutil y persistente que amenaza la integridad de estas evaluaciones: la contaminación de datos.
La contaminación de datos ocurre cuando partes o características de un conjunto de datos de prueba se filtran en el conjunto de datos de entrenamiento, lo que significa que los dos conjuntos ya no están realmente separados. Esto puede llevar a puntuaciones artificialmente altas en los benchmarks, disminuyendo su valor como herramienta de medición y, lo que es más preocupante, amplificando sesgos existentes en los modelos. Combatir este problema crítico es clave para las empresas e investigadores que planean utilizar, ajustar o estudiar los LLMs. Este artículo proporcionará una visión general de qué es la contaminación de datos, por qué es perjudicial, cómo detectarla y cómo mitigarla en el ecosistema de la inteligencia artificial.
¿Qué es Exactamente la Contaminación de Datos?
Los LLMs adquieren su conocimiento general del mundo a través de un proceso llamado preentrenamiento, donde son alimentados con una inmensa variedad de información de cientos de miles o incluso millones de fuentes. Si un modelo en particular se va a utilizar en un contexto específico, también puede ser "ajustado" (fine-tuned), es decir, alimentado con información pertinente a su caso de uso. Esto resulta en un chatbot que puede manejar todo tipo de preguntas, pero que se "especializa" en un área determinada.
Dado que el preentrenamiento y el ajuste de los LLMs requieren cantidades masivas de datos, es muy común que los datos de entrenamiento contengan algunos de los pares de pregunta-respuesta que se utilizarán para probar el modelo. Esto es la contaminación de datos, y puede conducir a puntuaciones infladas que dan una imagen demasiado positiva de la capacidad de un LLM. Por ejemplo, una investigación encontró que una versión de GPT-2 obtuvo una puntuación 15 puntos porcentuales más alta cuando se probó en un benchmark que se había filtrado en sus datos de entrenamiento en comparación con un benchmark que nunca antes había visto. La siguiente tabla muestra las puntuaciones del modelo en los dos conjuntos de prueba antes y después de ser ajustado con los datos contaminados.
| Modelo | Precisión en TQA-contaminado | Precisión en TQA-no-contaminado |
|---|---|---|
| Gpt2-sin-contaminación | 0.051471 | 0.050459 |
| Gpt2-contaminado-solo-con-respuestas | 0.036765 | 0.016514 |
| Gpt2-contaminado-con-pares-pregunta-respuesta | 0.143382 | 0.115596 |
| Gpt2-contaminado-con-instrucciones-completas | 0.443015 | 0.275229 |
Como resultado del rendimiento potencialmente inflado, un chatbot que no cumple con los estándares de calidad de una empresa podría ser desplegado, arriesgando daños a la reputación o incluso causando perjuicios si no se controla adecuadamente.
Estrategias para Detectar la Contaminación
Dado el peligro que puede causar la contaminación de datos, ¿cómo podemos detectarla? Los enfoques se dividen generalmente en dos categorías: métodos basados en coincidencias y métodos basados en comparación.
Métodos Basados en Coincidencias
Como su nombre indica, estos métodos inspeccionan los datos de prueba y entrenamiento buscando superposiciones directas. La forma más simple es utilizar la recuperación de información para escanear el conjunto de datos de entrenamiento en busca de cadenas de texto idénticas o muy similares a las de las preguntas o respuestas del conjunto de prueba. Sin embargo, encontrar una superposición no siempre significa que un conjunto de datos esté contaminado, especialmente si la frase o secuencia de palabras es común. Por ejemplo, la frase "el gato" aparece en millones de textos; encontrarla no significa que el modelo haya memorizado una obra específica.
Una técnica más sofisticada es el análisis de adivinanza. Este método le pide a un LLM que responda una pregunta casi imposible, o al menos improbable, sobre una obra en particular. Si el LLM acierta, es una señal bastante buena de que ha visto la tarea antes y, por lo tanto, está contaminado. Un ejemplo práctico sería pedirle al modelo que adivine el título de un libro basándose en un pasaje. Conocer el título requeriría un conocimiento de ese libro específico, no solo del idioma. Otro enfoque es tomar un conjunto de datos de opción múltiple, eliminar una de las opciones para cada pregunta y luego pedirle al LLM que complete esa opción faltante. Una coincidencia exacta de la respuesta eliminada es increíblemente sospechosa e indicativa de contaminación.
Métodos Basados en Comparación
Estos métodos aprovechan el hecho de que los LLMs responderán de manera diferente a los benchmarks si son víctimas de contaminación de datos. Por ejemplo, algunos estudios han encontrado que modelos como GPT-4 son significativamente peores en la resolución de problemas de programación de competiciones que se publicaron después de su fecha de corte de entrenamiento (septiembre de 2021), lo que implica que su éxito en desafíos anteriores se debió en parte a la memorización de pregunta-respuesta.
Otro método de comparación utiliza la distribución de la salida de un LLM para verificar si el modelo es más propenso a generar ciertos contenidos. Un modelo no contaminado generalmente producirá respuestas correctas a un ritmo constante. Por el contrario, si el LLM ya tiene una idea de cuál podría ser la respuesta porque la ha visto antes, sus respuestas pueden parecer muy similares entre sí. Usando este enfoque, se demostró que los datos de entrenamiento de ChatGPT estaban parcialmente contaminados por el conjunto de datos HumanEval.
Limpiando el Ecosistema de la IA: ¿Cómo Mitigar la Contaminación?
Reconocer el problema es el primer paso, pero ¿cómo lo solucionamos? Como todos los problemas complejos, no existe una única solución perfecta. En cambio, lo mejor es utilizar una combinación de enfoques.
1. Encontrar y Usar Datos Nuevos
El enfoque más directo es probar los LLMs con datos que no podrían haber visto. Por ejemplo, si tienes un chatbot entrenado con todos los artículos de un periódico hasta 2020, podrías crear un conjunto de prueba con artículos escritos en 2024. Estos se conocen como benchmarks privados. Las desventajas son que mantener los datos fuera del alcance de los LLMs podría hacerlos peores en su tarea, y siempre existe el riesgo de que futuras publicaciones hagan referencia a esos datos "privados", contaminando su frescura. Una variante es el benchmark dinámico, que se actualiza periódicamente (mensual o anualmente) con datos nuevos. Esto mantiene el benchmark fresco, pero puede ser costoso y difícil de implementar en campos que evolucionan lentamente.
2. Manipulación de Conjuntos de Datos
Un segundo enfoque es manipular los conjuntos de datos existentes. Esto puede tomar la forma de eliminar contenido superpuesto entre los conjuntos de prueba y entrenamiento, aunque este proceso es intensivo en tiempo y recursos. Una táctica diferente es "regenerar" un conjunto de datos de prueba a partir de uno existente modificando su contenido. Esto podría implicar reformular una pregunta, invertir una negación semántica o agregar contexto innecesario para crear una nueva pregunta que evalúe la misma habilidad sin ser una copia directa.
3. Jueces de Terceros
El problema de la contaminación surge de la superposición entre los datos de entrenamiento y los de prueba. Si eliminamos el conjunto de pruebas tradicional, el problema desaparece. Pero, ¿cómo calificamos los modelos de IA entonces? La respuesta está en los jueces de terceros. Se le da la misma pregunta a dos modelos, A y B, y un "juez" determina qué respuesta es mejor. Este juez puede ser humano (a través de crowdsourcing, como en Chatbot Arena) o incluso otro LLM avanzado. Al usar un LLM como juez, es crucial asegurarse de que no esté sesgado hacia los casos de uso de los modelos que se están probando.
4. Desaprendizaje Automático (Machine Unlearning)
Un enfoque novedoso y prometedor es el desaprendizaje automático. Actualmente, los LLMs aprenden ingiriendo una gran cantidad de datos y descubriendo patrones. El desaprendizaje automático es el proceso de tomar un modelo y eliminar los detalles específicos de los datos con los que fue entrenado, pero manteniendo intactos los patrones y tendencias que aprendió. Mediante este enfoque, podríamos alimentar datos contaminados o información privada a un LLM, hacer que aprenda de ellos y luego borrar los materiales originales. El resultado sería un LLM que, por ejemplo, sabe qué grupos están en riesgo de padecer una enfermedad, pero no sabe quién tiene esa enfermedad. Aunque todavía es una técnica emergente, el desaprendizaje automático puede convertirse en una herramienta poderosa para combatir tanto la contaminación de datos como las preocupaciones sobre la privacidad.
Preguntas Frecuentes (FAQ)
¿Toda superposición de datos se considera contaminación?
No necesariamente. La superposición de frases comunes o conocimiento general (como "el cielo es azul") no se considera contaminación dañina. El problema real surge cuando pares específicos de pregunta-respuesta, ejemplos de código o pasajes únicos del conjunto de evaluación están presentes en los datos de entrenamiento, permitiendo que el modelo "memorice" la respuesta en lugar de desarrollar una capacidad de razonamiento genuina.
¿Por qué no se utilizan siempre datos completamente nuevos para las pruebas?
Crear y mantener conjuntos de datos de prueba completamente nuevos y de alta calidad es extremadamente costoso y requiere mucho tiempo. Además, en campos muy especializados o de movimiento lento (como la física de partículas o ciertos dominios legales), puede ser casi imposible generar continuamente datos novedosos y relevantes.
¿Es el "desaprendizaje automático" una solución ya implementada a gran escala?
No, el desaprendizaje automático es un campo de investigación activo y emergente. Aunque conceptualmente es muy prometedor, las técnicas actuales todavía están en desarrollo y no son una solución estándar en la industria. Sin embargo, representa una de las fronteras más emocionantes para crear una IA más segura, privada y robusta en el futuro.
Conclusión: Hacia un Ecosistema de IA más Saludable
Está claro que estamos adoptando la inteligencia artificial de una manera integral y permanente, y es imperativo que tomemos las medidas necesarias para evaluar y monitorear los modelos que utilizamos. La contaminación de datos es una amenaza silenciosa pero significativa para nuestra capacidad de medir con precisión el verdadero rendimiento de un modelo. Debemos estar siempre atentos a los casos de contaminación utilizando una combinación de técnicas de detección y mitigación. Para los desarrolladores y mantenedores de modelos de aprendizaje automático, la defensa contra la contaminación de datos debe ser una prioridad. Ya sea mediante el uso de benchmarks dinámicos, la regeneración constante de conjuntos de prueba o la adopción de nuevos paradigmas de evaluación como los jueces de terceros, el objetivo final es el mismo: garantizar que el progreso que celebramos en la IA sea real, robusto y fiable, construyendo así un ecosistema tecnológico más saludable y sostenible para todos.
Si quieres conocer otros artículos parecidos a Contaminación de Datos: El Riesgo Oculto de la IA puedes visitar la categoría Ecología.
