Este artículo es parte de Desmitificando la IA, una serie de publicaciones que (intentan) desambiguar la jerga y los mitos que rodean a la IA.
Desde el lanzamiento de ChatGPT, y más aún desde GPT-4, he visto un patrón recurrente de exageración y decepción. Primero, un estudio afirma que ChatGPT, GPT-4 o [name your LLM] ha pasado o superado alguna prueba difícil diseñada para humanos: el examen de la barra, los exámenes de matemáticas, los exámenes del MIT, las competencias de codificación, las pruebas de comprensión, etc. Y luego, otro estudio refuta los resultados del estudio anterior. Resulta que cuando se examina más de cerca, el modelo proporciona las respuestas correctas por las razones equivocadas.
La comunidad científica y de investigación aún está explorando las formas correctas de evaluar las capacidades de los modelos de lenguaje extenso (LLM). Y mientras tanto, estamos descubriendo por qué los resultados iniciales de los LLM en pruebas con humanos son engañosos. Entre las principales razones de estos errores se encuentra la «contaminación de datos», que básicamente significa que los ejemplos de prueba se incluyeron en los datos de entrenamiento del modelo.
La contaminación de datos es común en todas las áreas del aprendizaje automático y los ingenieros de ML tienen mucho cuidado para evitarla. Sin embargo, cuando se trata de LLM, la contaminación de datos es más complicada, matizada y más difícil de detectar. Esto es lo que necesita saber sobre la contaminación de datos de LLM y cómo evitarla.
Contaminación de datos en el aprendizaje automático
Al entrenar modelos de aprendizaje automático, los ingenieros de ML dividen su conjunto de datos en conjuntos de entrenamiento y prueba (en muchos casos, también agregan un conjunto de datos de validación). Como sugiere el nombre, el conjunto de trenes, que suele representar la mayor parte del conjunto de datos, se utiliza para entrenar el modelo. A medida que avanza el entrenamiento, el modelo se vuelve cada vez más sensible a los datos de entrenamiento y su rendimiento aumenta.
El conjunto de prueba determina si el modelo puede generalizarse a ejemplos no vistos. Si hay una brecha entre el rendimiento del modelo en el conjunto de prueba y el tren, entonces el modelo probablemente se ha sobreajustado (es decir, ha memorizado sus datos de entrenamiento) y necesita ser revisado.
Por eso es muy importante asegurarse de que no haya superposición entre el tren y los conjuntos de prueba. Cuando los ejemplos de entrenamiento encuentran su camino en el conjunto de prueba, se dice que el conjunto de datos es contaminado. Un conjunto de prueba contaminado proporcionará resultados engañosos porque evaluará el modelo en ejemplos que ya ha visto. Es como dar a los estudiantes las respuestas junto con la prueba. Puede que aprueben el examen, pero eso no significa que hayan aprendido el tema.
(Cuando hay suficientes datos, los ingenieros de aprendizaje automático agregan un conjunto de validación para comparar diferentes versiones del modelo entrenado y configurar hiperparámetros. El uso de conjuntos de validación y prueba separados ayuda a evitar la contaminación de datos de segundo orden. Cuando usa evaluar continuamente el modelo entrenado en el conjunto de validación, los datos en el conjunto de validación terminarán afectando el proceso de entrenamiento).
El método para dividir el conjunto de datos depende del tipo de problema que está resolviendo el modelo. Por ejemplo, si está resolviendo un problema de regresión y no hay dependencia entre los diferentes ejemplos en el conjunto de datos, puede dividirlos aleatoriamente. Solo debe asegurarse de que no se incluya un ejemplo tanto en el tren como en los conjuntos de prueba. Si está resolviendo un problema de clasificación simple, además de la división aleatoria, debe asegurarse de que haya un equilibrio de clases en los conjuntos de prueba y entrenamiento. Si está resolviendo un problema de serie temporal, debe dividir los datos en función de la secuencia de ocurrencia y asegurarse de que todos los ejemplos del conjunto de prueba sucedan después del conjunto de entrenamiento.
Para los problemas clásicos de ML, la detección de la contaminación de datos suele ser sencilla. Puede comparar ejemplos de entrenamiento y prueba, características temporales, equilibrio de clase, etc. Para los LLM, las cosas se complican.
Por qué la contaminación de datos LLM es complicada
La misma regla básica de separar conjuntos de prueba y tren también se aplica a modelos de lenguaje grandes. Cuando evalúa su LLM en un conjunto de datos de referencia, debe tener cuidado de no incluir sus ejemplos de prueba en los datos de entrenamiento del modelo.
Sin embargo, existen algunas razones que dificultan el manejo de la contaminación de datos en los LLM:
Tamaño del conjunto de datos: Los LLM básicos están capacitados en cientos de miles de millones o incluso billones de tokens. Los datos provienen de muchas fuentes e incluyen diferentes idiomas, tipos de información, tareas, etc. Es realmente difícil asegurarse de que sus datos de prueba o una versión de los mismos no se hayan incluido ya en el conjunto de datos. Ha habido varios ejemplos en los que los investigadores informaron que un LLM podía resolver una tarea complicada solo para descubrir más tarde que el modelo podía generar los ejemplos palabra por palabra, lo que significaba que estaban incluidos en sus datos de entrenamiento.
Errores de solicitud: Los LLM pueden realizar un aprendizaje de pocos disparos, donde incluye algunos ejemplos resueltos en el aviso para permitir que el modelo realice una nueva tarea sin actualizar sus parámetros. En un estudio, los investigadores desarrollaron un sistema automatizado que utilizaba la búsqueda de similitudes para recuperar ejemplos relevantes para crear un indicador de pocas tomas para el modelo. En algunos casos, esos ejemplos incluían la pregunta real y su respuesta. En este caso, el aviso estaba contaminado con la respuesta.
Complejidad del modelo: Los LLM son modelos enormes con decenas o cientos de miles de millones de parámetros. Pero su conjunto de datos es mucho más grande que el tamaño de sus parámetros, lo que significa que no memorizan completamente los datos. A veces se les llama «loros estocásticos». Por lo tanto, repiten sus datos de entrenamiento como un loro, pero no palabra por palabra, y hay algo de aleatoriedad. Son buenos para generar secuencias de tokens en su mayoría significativos, pero a menudo también generan respuestas completamente incorrectas. Pueden hacer matemáticas complicadas, pero también fallan en problemas elementales. Algunas pruebas muestran que los LLM pueden razonar, mientras que otras muestran que no tienen noción de planificación y razonamiento. Así que es muy difícil decir exactamente lo que aprenden durante el entrenamiento más allá de las regularidades estadísticas en sus datos de entrenamiento. Todo esto hace que sea muy difícil saber con certeza si el modelo dio la respuesta correcta a un problema porque sabía la respuesta o porque había aprendido a resolverlo.
Problema de confusión: Los LLM están capacitados para la predicción del siguiente token y están diseñados como modelos que pueden resolver muchos tipos diferentes de problemas. Pero como mencioné anteriormente, verificar la contaminación de los datos depende en gran medida del tipo de problema que esté resolviendo. Por lo tanto, las reglas de contaminación de datos serían diferentes para las matemáticas, la codificación, la generación de texto, la respuesta a preguntas, la planificación y otros tipos de problemas que resuelven los LLM.
Falta de transparencia: Finalmente, uno de los mayores problemas que enfrenta el campo es la disminución de la transparencia. Las empresas de IA y los laboratorios de investigación están cada vez más incentivados a mantener en secreto los detalles de sus modelos. Los LLM más poderosos se están volviendo cada vez más oscuros. OpenAI no proporcionó detalles sobre la arquitectura y los datos de entrenamiento de GPT-4. Google adoptó un enfoque similar con PaLM 2. No sabemos mucho sobre los datos de capacitación de otros LLM como Claude y Bard. La falta de transparencia hace que sea muy difícil detectar la contaminación de datos en pruebas independientes.
Cómo evitar la contaminación de datos LLM
Dadas las características únicas de los LLM, algunas de las cuales mencioné anteriormente, creo que necesitamos un nuevo enfoque para detectar y prevenir la contaminación de datos.
Primero hay que empezar animando más transparencia y verificación en el campo. El campo necesita volver a sus raíces de compartir el conocimiento. Debe haber acceso a los datos o herramientas de capacitación para verificar si se utilizó algún ejemplo en la capacitación.
También debería haber mejores herramientas para probar la similitud de ejemplos de prueba y datos de entrenamiento. Y las medidas de similitud varían según los diferentes tipos de tareas. Y como han señalado algunos científicos, los estudios sobre las capacidades de los sistemas de IA deberían incluir más acceso granular a los ejemplos de evaluación.
También debemos reconocer que si los LLM son inteligentes, su inteligencia es muy diferente a la nuestra. Como han señalado algunos científicos, las pruebas diseñadas para medir la inteligencia humana no son adecuadas para evaluar los LLM. Los humanos tienen capacidades limitadas de memorización y procesamiento consciente de datos. Desarrollan sus habilidades uno encima del otro y aprenden a generalizar. Por ejemplo, antes de aprender cálculo, debes dominar el álgebra y las matemáticas elementales. Entonces, si superas una prueba de cálculo (sin hacer trampa), se espera que tengas todas esas habilidades subyacentes.
Pero los sistemas de aprendizaje profundo pueden encontrar atajos a las soluciones sin aprender las habilidades previas. Por lo tanto, necesitamos pruebas diseñadas para asegurarse de que el modelo no está dando la respuesta correcta por las razones equivocadas. Por ejemplo, las pruebas pueden ser más exhaustivas y evaluar los componentes básicos que se dan por sentado en los humanos. Otra técnica que es útil es probando el modelo en diferentes variantes del mismo problema. Si el modelo ha memorizado el problema y la solución, tendrá éxito en una variante y fallará en otras.
A medida que los modelos de lenguaje continúan evolucionando, también lo harán las formas en que los diseñamos, entrenamos y probamos. La contaminación de datos seguirá siendo un problema. Las formas de enfrentarlo deben cambiar.