Desafíos de detección de alucinaciones de LLM y una posible solución presentados en un destacado artículo de investigación
Recientemente, los grandes modelos de lenguaje (LLM) han demostrado capacidades impresionantes y crecientes, incluida la generación de respuestas muy fluidas y convincentes a las indicaciones de los usuarios. Sin embargo, los LLM son conocidos por su capacidad para generar declaraciones no objetivas o sin sentido, más comúnmente conocidas como “alucinaciones”. Esta característica puede socavar la confianza en muchos escenarios donde se requiere factualidad, como tareas de resumen, respuesta generativa a preguntas y generaciones de diálogo.
Detectar alucinaciones siempre ha sido un desafío entre los humanos, lo que sigue siendo cierto en el contexto de los LLM. Esto es especialmente desafiante, considerando que normalmente no tenemos acceso al contexto real para realizar comprobaciones de coherencia. Información adicional sobre las generaciones de LLM, como las distribuciones de probabilidad de salida, puede ayudar con esta tarea. Aun así, suele ocurrir que este tipo de información no esté disponible, lo que dificulta aún más la tarea.
La detección de alucinaciones aún no se ha resuelto y es un área activa de investigación. En esta publicación de blog, presentaremos la tarea en general y sus desafíos y un posible enfoque publicado en el artículo de investigación. SELFCHECKGPT: Detección de alucinaciones de caja negra sin recursos para modelos generativos de lenguaje grande[1]. Ilustraremos algunos de los enfoques presentados en el artículo con ejemplos reales, señalando algunos pros y contras de cada método. Puede revisar los ejemplos usted mismo accediendo a este Cuaderno de Google Colab.
Este blog cubrirá:
- ¿Qué es la alucinación LLM?
- El enfoque: SelfCheckGPT
- Verificación de coherencia
1. Puntuación BERT
2. Inferencia del lenguaje natural
3. Mensaje de Maestría en Derecho - experimentos
- Conclusión
- Referencias
¿Qué es la alucinación LLM?
En la generación de lenguaje natural, la alucinación se puede definir como “contenido generado que no tiene sentido o es infiel al contenido fuente proporcionado”.[2]. El contenido fuente puede representar diferentes funciones para diferentes tareas. Por ejemplo, para las tareas de resumen, la fuente es el texto de entrada que se resume, mientras que para las tareas generativas de respuesta a preguntas, la fuente se considera el conocimiento mundial.[2]. Centrémonos en la tarea de respuesta a preguntas y echemos un vistazo a un ejemplo de una pregunta de usuario y la respuesta dada por el modelo GPT de OpenAI (text-davinci-003):
Aviso de usuario: ¿Quién fue Philip Hayworth?
Respuesta del LLM: Philip Hayworth fue un abogado y político inglés que se desempeñó como miembro del Parlamento de Thetford de 1859 a 1868.
A primera vista, parece una respuesta coherente, pero después de un tiempo, podríamos hacernos una pregunta muy razonable: ¿es cierto?
Sin embargo, no tenemos mucha información para responder nuestra nueva pregunta. No tenemos un contexto con hechos probados que podamos utilizar para verificar la afirmación. Los LLM generalmente se capacitan con una gran cantidad de textos y puede ser difícil verificar si la declaración se basa en una fuente de información particular. Una búsqueda rápida en Google no muestra ningún resultado de una persona que coincida con la respuesta. Aún no está bien establecido qué constituye exactamente una alucinación, pero es comprensible que este ejemplo podría considerarse una alucinación porque el sujeto con este nombre, ubicación y empleo puede no haber existido en absoluto.
Intentemos esto nuevamente con otra pregunta:
Aviso de usuario: ¿Quién es Bill Gates?
Respuesta del LLM: Bill Gates es un emprendedor tecnológico, inversor y filántropo. Es cofundador de Microsoft Corporation y una de las personas más ricas del mundo.
Vale, estas afirmaciones son mucho más fáciles de verificar y están respaldadas por una consulta rápida en Wikipedia, por lo que es poco probable que se trate de una alucinación. Durante la capacitación, es muy probable que el LLM haya visto muchas declaraciones sobre Bill Gates, por lo que los siguientes tokens después de “Bill Gates es _” probablemente se generarán con alta confianza. Por otro lado, es posible que el LLM no esté seguro de qué palabras usar después de “Philip Hayworth es _”. Esta idea nos permite vincular la incertidumbre con la factualidad, ya que las oraciones factuales probablemente contengan tokens predichos con mayor probabilidad en comparación con las oraciones alucinadas. Sin embargo, es posible que no tengamos a mano la distribución de probabilidad de salida para un buen número de casos.
El ejemplo y el contenido de la sesión actual se basaron en el documento original. [1]y continuaremos explorando el enfoque del artículo en las siguientes secciones.
El enfoque: SelfCheckGPT
A lo largo de la última sección, consideramos dos consideraciones importantes para nuestro enfoque: el acceso a un contexto externo y el acceso a la distribución de probabilidad de salida del LLM. Cuando un método no requiere un contexto externo o una base de datos para realizar la verificación de coherencia, podemos llamarlo recurso cero método. De manera similar, cuando un método requiere solo el texto generado por el LLM, se le puede llamar caja negra método.
El enfoque del que queremos hablar en esta publicación de blog es un método de detección de alucinaciones de caja negra sin recursos y se basa en la premisa de que Las respuestas de muestra al mismo mensaje probablemente divergirán y se contradirán entre sí en el caso de hechos alucinados, y probablemente serán similares y consistentes entre sí en el caso de declaraciones objetivas..
Revisemos los ejemplos anteriores. Para aplicar el método de detección, necesitamos más muestras, así que hagamos la misma pregunta al LLM tres veces más:
De hecho, las respuestas se contradicen: a veces, Philip Hayworth es un político británico, y en otras, un ingeniero australiano o un abogado estadounidense, que vivieron y actuaron en diferentes períodos.
Comparemos con el ejemplo de Bill Gates:
Podemos observar que las ocupaciones, organizaciones y rasgos asignados a Bill Gates son consistentes en todas las muestras, utilizándose términos iguales o semánticamente similares.
Verificación de coherencia
Ahora que tenemos varias muestras, el paso final es realizar una verificación de coherencia, una forma de determinar si las respuestas concuerdan entre sí. Esto se puede hacer de varias maneras, así que exploremos algunos enfoques presentados en el artículo. Siéntase libre de ejecutar el código usted mismo marcando esto Cuaderno de Google Colab.
Puntuación BERT
Un enfoque intuitivo para realizar esta verificación es medir la similitud semántica entre las muestras y BERTScore.[3] es una forma de hacerlo. BERTScore calcula una puntuación de similitud para cada token en la oración candidata con cada token en la oración de referencia para calcular una puntuación de similitud entre las oraciones.
En el contexto de SelfCheckGPT, la puntuación se calcula por frase. Cada oración de la respuesta original se calificará con cada oración de una muestra determinada para encontrar la oración más similar. Estos puntajes máximos de similitud se promediarán en todas las muestras, lo que dará como resultado un puntaje de alucinación final para cada oración de la respuesta original. La puntuación final debe tender a 1 para oraciones diferentes y a 0 para oraciones similares, por lo que debemos restar la puntuación de similitud de 1.
Vamos a mostrar cómo funciona esto comparando la primera oración de nuestra respuesta original con la primera muestra:
La puntuación máxima para la primera muestra es 0,69. Repitiendo el proceso para las dos muestras restantes y suponiendo que las otras puntuaciones máximas fueran 0,72 y 0,72, nuestra puntuación final para esta frase sería 1 – (0,69+0,72+0,72)/3 = 0,29.
Usar la similitud semántica para verificar la coherencia es un enfoque intuitivo. Se pueden usar otros codificadores para incrustar representaciones, por lo que también es un enfoque que se puede explorar más a fondo.
Inferencia del lenguaje natural
La inferencia del lenguaje natural es la tarea de determinar la implicación, es decir, si una hipótesis es verdadera, falsa o indeterminada basándose en una premisa.[4]. En nuestro caso, cada muestra se utiliza como premisa y cada frase de la respuesta original se utiliza como hipótesis. Las puntuaciones de las muestras se promedian para cada frase para obtener la puntuación final. La vinculación se realiza con un modelo de Alberta ajustado al conjunto de datos Multi-NLI.[5]. Usaremos la probabilidad de predicción normalizada en lugar de las clases reales, como “vinculación” o “contradicción”, para calcular las puntuaciones.[6]
La tarea de vinculación está más cerca de nuestro objetivo de verificar la coherencia, por lo que podemos esperar que un modelo ajustado para ese propósito funcione bien. El autor también compartió públicamente el modelo en HuggingFacey otros modelos NLI están disponibles públicamente, lo que hace que este enfoque sea muy accesible.
Mensaje de Maestría en Derecho
Teniendo en cuenta que ya usamos LLM para generar respuestas y muestras, también podríamos usar un LLM para realizar la verificación de coherencia. Podemos consultar el LLM para una verificación de coherencia para cada oración original y cada muestra como nuestro contexto. La siguiente imagen, tomada del repositorio del artículo original, ilustra cómo se hace esto:
La puntuación final se puede calcular asignando 1 a “No”, 0 a “Sí”, 0,5 a N/A y promediando los valores entre las muestras.
A diferencia de los otros dos enfoques, este genera llamadas adicionales al LLM de su elección, lo que significa latencia adicional y, posiblemente, costos adicionales. Por otro lado, podemos aprovechar las capacidades del LLM para ayudarnos a realizar esta verificación.
experimentos
Veamos qué obtenemos como resultados para los dos ejemplos que hemos estado analizando para cada uno de los tres enfoques.
Estos valores están destinados únicamente a ilustrar el método. Con sólo tres oraciones, no se supone que sea un medio para comparar y determinar qué enfoque es mejor. Para ello, el artículo original comparte los resultados experimentales en el repositorio del artículo. aquí, que incluye versiones adicionales que no se analizaron en esta publicación de blog. No entraré en detalles de los resultados, pero según las tres métricas (NonFact, Factual y Ranking), LLM-Prompt es la versión con mejor rendimiento, seguida de cerca por la versión NLI. La versión BERTScore parece ser considerablemente peor que las dos restantes. Nuestros ejemplos simples parecen seguir la línea de los resultados compartidos.
Conclusión
Esperamos que esta publicación de blog haya ayudado a explicar el problema de las alucinaciones y proporcione una posible solución para la detección de alucinaciones. Este es un problema relativamente nuevo y es bueno ver que se están haciendo esfuerzos para resolverlo.
El enfoque discutido tiene la ventaja de no requerir un contexto externo (recurso cero) y tampoco requiere la distribución de probabilidad de salida del LLM (caja negra). Sin embargo, esto tiene un costo: además de la respuesta original, necesitamos generar muestras adicionales para realizar la verificación de coherencia, lo que aumenta la latencia y el costo. La verificación de coherencia también requerirá modelos de lenguaje y computación adicionales para codificar las respuestas en incrustaciones, realizar vinculación textual o consultar el LLM, según el método elegido.
Referencias
[1]— Manakul, Potsawee, Adian Liusie y Mark JF Gales. “Selfcheckgpt: detección de alucinaciones de caja negra sin recursos para modelos generativos de lenguaje grande”. Preimpresión de arXiv arXiv:2303.08896 (2023).
[2]— JI, Ziwei et al. Estudio de las alucinaciones en la generación del lenguaje natural. Encuestas de Computación ACM, v. 55, n. 12, pág. 1–38, 2023.
[3]— ZHANG, Tianyi et al. Bertscore: evaluación de la generación de texto con bert. preimpresión de arXiv arXiv:1904.096752019.
[4]—https://nlpprogress.com/english/natural_language_inference.html
[5]— Williams, A., Nangia, N. y Bowman, SR (2017). Un corpus de desafío de amplia cobertura para la comprensión de oraciones a través de la inferencia. Preimpresión de arXiv arXiv:1704.05426.
[6]—https://github.com/potsawee/selfcheckgpt/tree/main#selfcheckgpt-usage-nli
Comprender y mitigar las alucinaciones LLM fue publicado originalmente en Hacia la ciencia de datos en Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.