Puede pedirle a ChatGPT que actúe de un millón de maneras diferentes: como su nutricionista, tutor de idiomas, médico, etc. No sorprende que veamos muchas demostraciones y productos lanzados además de la API OpenAI. Pero si bien es fácil hacer que los LLM actúen de cierta manera, garantizar que se desempeñen bien y completen con precisión la tarea asignada es una historia completamente diferente.
El problema es que muchos de los criterios que nos importan son extremadamente subjetivos. ¿Son precisas las respuestas? ¿Las respuestas son coherentes? ¿Hubo algo alucinado? Es difícil construir métricas cuantificables para la evaluación. En general, se necesita el juicio humano, pero es costoso que los humanos verifiquen una gran cantidad de resultados de LLM.
Además, los LLM tienen muchos parámetros que puedes ajustar. Aviso, temperatura, contexto, etc. Puede ajustar los modelos en un conjunto de datos específico para que se ajusten a su caso de uso. Con ingeniería rápida, incluso pedirle a un modelo que respire profundamente [1] o hacer tu petición más emotiva [2] puede mejorar el rendimiento. Hay mucho espacio para modificar y experimentar, pero después de cambiar algo, debes poder saber si el sistema en general mejoró o empeoró.
Dado que el trabajo humano es lento y costoso, existe un fuerte incentivo para encontrar métricas automáticas para estos criterios más subjetivos. Un enfoque interesante, que está ganando popularidad, es utilizar LLM para evaluar el resultado de los LLM. Después de todo, si ChatGPT puede generar una respuesta buena y coherente a una pregunta, ¿no puede también decir si un texto determinado es coherente? Esto abre toda una caja de posibles sesgos, técnicas y oportunidades, así que profundicemos en ello.
Si tiene una reacción instintiva negativa sobre la creación de métricas y evaluadores que utilizan LLM, sus preocupaciones están bien fundadas. Esta podría ser una forma horrible de simplemente propagar los prejuicios existentes.
Por ejemplo, en el artículo G-Eval, que analizaremos con más detalle más adelante, los investigadores demostraron que su evaluación basada en LLM otorga puntuaciones más altas a los resúmenes GPT-3.5 que a los resúmenes escritos por humanos, incluso cuando los jueces humanos prefieren los resúmenes escritos por humanos. .
Otro estudio, titulado “Los grandes modelos lingüísticos no son evaluadores justos” [3], descubrió que cuando se le pide que elija cuál de las dos opciones presentadas es mejor, existe un sesgo significativo en el orden en que se presentan las opciones. GPT-4, por ejemplo, a menudo prefería la primera opción, mientras que ChatGPT la segunda. Puede simplemente hacer la misma pregunta con el orden invertido y ver qué tan consistentes son los LLM en sus respuestas. Posteriormente desarrollaron técnicas para mitigar este sesgo ejecutando el LLM varias veces con diferentes órdenes de opciones.
Al final del día, queremos saber si los LLM pueden desempeñarse tan bien o de manera similar a los evaluadores humanos. Todavía podemos abordar esto como un problema científico:
- Establecer criterios de evaluación.
- Pida a los humanos y a los LLM que evalúen de acuerdo con los criterios.
- Calcule la correlación entre la evaluación humana y LLM.
De esta manera, podemos hacernos una idea de hasta qué punto los LLM se parecen a los evaluadores humanos.
De hecho, ya existen varios estudios como este que muestran que, para determinadas tareas, los LLM hacen un trabajo mucho mejor que las métricas de evaluación más tradicionales. Y vale la pena señalar que no necesitamos una correlación perfecta. Si evaluamos muchos ejemplos, incluso si la evaluación no es perfecta, aún podríamos tener una idea de si el nuevo sistema está funcionando mejor o peor. También podríamos utilizar evaluadores de LLM para señalar los casos extremos preocupantes para los evaluadores humanos.
Echemos un vistazo a algunas de las métricas y evaluadores propuestos recientemente que se basan en los LLM en su esencia.
Evaluación G [4] funciona delineando primero los criterios de evaluación y luego simplemente pidiendo al modelo que dé la calificación. Podría usarse para tareas de resumen y generación de diálogos, por ejemplo.
G-Eval tiene los siguientes componentes:
- Inmediato. Define la tarea de evaluación y sus criterios.
- Instrucciones intermedias. Describe las instrucciones intermedias para la evaluación. De hecho, le piden al LLM que genere estos pasos.
- Función de puntuación. En lugar de tomar la puntuación del LLM al pie de la letra, analizamos las probabilidades simbólicas para obtener la puntuación final. Entonces, si solicita calificar entre 1 y 5, en lugar de simplemente tomar cualquier número dado por el LLM (digamos “3”), miraríamos la probabilidad de cada rango y calcularíamos la puntuación ponderada. Esto se debe a que los investigadores descubrieron que normalmente un dígito domina la evaluación (por ejemplo, generando principalmente 3), e incluso cuando se le pide al LLM que proporcione un valor decimal, todavía tiende a devolver números enteros.
Se descubrió que G-Eval superaba significativamente a las métricas tradicionales basadas en referencias, como BLEU y ROUGE, que tenían una correlación relativamente baja con los juicios humanos. A primera vista, parece bastante sencillo, ya que simplemente le pedimos al LLM que realice la evaluación. También podríamos intentar dividir las tareas en componentes más pequeños.
Puntuación de hechos (Precisión fáctica en puntuación de atomicidad) [5] es una métrica de precisión fáctica. Las dos ideas clave son tratar los hechos atómicos como una unidad y basar la confianza en una fuente de conocimiento particular.
Para la evaluación, se divide la generación en pequeños hechos “atómicos” (por ejemplo, “Nació en Nueva York”) y luego se verifica si cada hecho está respaldado por la fuente de conocimiento de verdad dada. La puntuación final se calcula dividiendo el número de hechos respaldados por el número total de hechos.
En el artículo, los investigadores pidieron a los LLM que generaran biografías de personas y luego utilizaron artículos de Wikipedia sobre ellas como fuente de verdad. La tasa de error de los LLM que realizan el mismo procedimiento que los humanos fue inferior al 2%.
Ahora, echemos un vistazo a algunas métricas para la generación aumentada de recuperación (RAG). Con RAG, primero recupera el contexto relevante en una base de conocimiento externa y luego le pide al LLM que responda la pregunta basándose en esos hechos.
RAGAS (Evaluación de generación aumentada de recuperación) [6] es un nuevo marco para evaluar los RAG. No es una métrica única sino más bien una colección de ellas. Los tres propuestos en el artículo son fidelidad, relevancia de la respuesta y relevancia del contexto. Estas métricas ilustran perfectamente cómo se puede dividir la evaluación en tareas más simples para los LLM.
Fidelidad Mide cuán fundamentadas están las respuestas en el contexto dado. Es muy similar a FactScore, en el sentido de que primero se divide la generación en el conjunto de declaraciones y luego se pregunta al LLM si la declaración está respaldada por el contexto dado. La puntuación es el número de afirmaciones respaldadas dividido por el número de todas las afirmaciones. En cuanto a la fidelidad, los investigadores encontraron una correlación muy alta con los anotadores humanos.
Relevancia de la respuesta Intenta capturar la idea de que la respuesta aborda la pregunta real. Empiece por pedirle al LLM que genere preguntas basadas en la respuesta. Para cada pregunta generada, puede calcular la similitud (creando una incrustación y usando similitud de coseno) entre la pregunta generada y la pregunta original. Al hacer esto norte veces y promediando las puntuaciones de similitud, se obtiene el valor final de relevancia de la respuesta.
Relevancia del contexto Se refiere a qué tan relevante es el contexto proporcionado. Es decir, el contexto proporcionado contiene sólo la información necesaria para responder la pregunta. En el caso ideal, le damos al LLM la información correcta para responder la pregunta y solo eso. La relevancia del contexto se calcula pidiendo al LLM que extraiga las oraciones en el contexto dado que fueron relevantes para la respuesta. Luego simplemente divida el número de oraciones relevantes por el número total de oraciones para obtener la puntuación final.
Puede encontrar más métricas y explicaciones (junto con el repositorio de GitHub de código abierto) aquí.
El punto clave es que podemos transformar la evaluación en un subproblema más pequeño. En lugar de preguntar si todo el texto está respaldado por el contexto, preguntamos sólo si un pequeño hecho específico está respaldado por el contexto. En lugar de dar directamente un número para saber si la respuesta es relevante, le pedimos a LLM que piense en una pregunta para la respuesta dada.
La evaluación de los LLM es un tema de investigación extremadamente interesante que recibirá cada vez más atención a medida que más sistemas comiencen a llegar a producción y también se apliquen en entornos más críticos para la seguridad.
También podríamos usar estas métricas para monitorear el desempeño de los LLM en producción y notar si la calidad de los resultados comienza a degradarse. Especialmente para aplicaciones con altos costos de errores, como la atención médica, será crucial desarrollar barreras de seguridad y sistemas para detectar y reducir errores.
Si bien definitivamente existen sesgos y problemas con el uso de LLM como evaluadores, aún debemos mantener la mente abierta y abordarlo como un problema de investigación. Por supuesto, los humanos seguirán involucrados en el proceso de evaluación, pero las métricas automáticas podrían ayudar a evaluar parcialmente el desempeño en algunos entornos.
Estas métricas no siempre tienen que ser perfectas; sólo necesitan funcionar lo suficientemente bien como para guiar el desarrollo de productos de la manera correcta.
Un agradecimiento especial a Daniel Raff y Yevhen Petyak por sus comentarios y sugerencias.
Publicado originalmente en Subpila de medplexidad.