La generación de texto supone un gran impacto en la sociedad y nace la necesidad de evaluar este paradigma: ¿cómo de bueno es mi prompt? ¿Cómo sé si mi LLM ha dejado de funcionar bien? Intuitivamente, un humano es la mejor opción para responder estas preguntas.

Sin embargo, ¿qué ocurre si queremos realizar una evaluación sistemática y automática? ¿Y si estas preguntas las respondiera… otro LLM?

Introducción

La evaluación de un sistema basado en LLM es fundamental para asegurar:

  1. que el sistema dará resultados de calidad una vez puesto en producción y
  2. que el sistema mantendrá esa calidad a lo largo del tiempo.

En este post vamos a hablar de cómo evaluar estos sistemas mediante métricas, haciendo especial hincapié en las basadas en LLM. Estas métricas se caracterizan porque es un LLM el que evalúa las salidas de otro LLM.

En este post, primero describiremos algunas dificultades que aparecen a la hora de evaluar un LLM y qué hay que tener en consideración. Después, hablaremos de las métricas disponibles que consideramos más relevantes, así como de algunas librerías y frameworks útiles.

Finalmente, hablaremos de la aplicación de métricas basadas en LLM dentro de Paradigma.

Premisas: dificultades a la hora de evaluar

Existen una serie de factores y elementos que hacen que la evaluación de un LLM no sea una tarea trivial. Es necesario identificar estas dificultades para que una metodología de evaluación sea lo más robusta posible.

A continuación, definimos algunos de los principios que suponen dificultades cuando hablamos de evaluación:

  1. La forma del mensaje. Es decir, ¿está respondiendo el LLM de forma suficientemente educada? ¿Se están repitiendo ciertas palabras en las respuestas generadas? ¿Es el lenguaje usado por el LLM el que deseamos para esta tarea?
  2. Corrección de la información. Queremos responder preguntas como: ¿está mi sistema dando respuesta con toda la información posible? ¿La información que me responde mi sistema es correcta o es inventada?
  3. Otros aspectos. Existen otros aspectos a la hora de evaluar un LLM. Por ejemplo, ¿cómo de vulnerable es el LLM a prompt injections? ¿El formato de la respuesta es el que necesito?

Métricas no basadas en LLM

Dentro del NLP existen una serie de tareas que no necesitan un entendimiento “humano” del contenido generado por parte de un LLM, ya que no requieren una creatividad excesiva por parte del sistema.

A continuación, definimos algunas de las métricas empleadas para la evaluación de estos sistemas:

Métricas basadas en LLM

A la hora de evaluar un LLM o un prompt es muy probable que queramos realizar una evaluación semántica de ellos, es decir, queremos que las respuestas expresen un determinado contenido semántico, aunque no lo haga siempre con las mismas palabras en el mismo orden. Por ello, la mejor manera de realizar esta evaluación es mediante supervisión humana.

Sin embargo, a la hora de desarrollar y mantener un sistema basado en LLM, es necesario realizar un proceso automático de evaluación y esto, mediante supervisión humana, es algo imposible.

Pero, ¿y si pedimos a un LLM el ejercicio de entender y evaluar un contenido como si fuese un humano? Nacen de esta manera las métricas basadas en LLM, donde un LLM responde si un texto cumple con ciertas exigencias especificadas en un prompt.

Las métricas basadas en LLM pueden usarse para evaluar distintas tareas o tipos de sistemas (RAG, Q&A, generación de código, etc.) y pueden ser métricas supervisadas, es decir, requerir un ground-truth para comparar con el texto generado, o no supervisadas.

A continuación, describimos algunas de las métricas basadas en LLM más usadas y que más interesantes nos han parecido:

Ejemplo de TP, FP y FN extraídos por LLM para el posterior cálculo de métricas
Ejemplo de TP, FP y FN extraídos por LLM para el posterior cálculo de métricas

Librerías y frameworks

Ante la creciente importancia de las métricas basadas en LLM, aparecen nuevos desarrollos de paquetes y frameworks que dan soporte a la evaluación de LLM. Entre estas nuevas herramientas, destacamos las siguientes:

Ejemplo real: Benchmark

En Paradigma Digital ya hemos trabajado con métricas basadas en LLM. En un proyecto llevado a cabo por el equipo de GENAI, se han realizado comparaciones entre distintas tecnologías para tener una referencia a la hora de desarrollar proyectos de IA generativa.

En este proyecto nos basamos en un caso de uso de un contact center, donde el dataset de evaluación consiste en un conjunto de preguntas y respuestas en español que, hipotéticamente, un trabajador de contact center realizaría con respecto a las llamadas que ha habido con los clientes seleccionados.

Entre las tecnologías comparadas, los LLM son uno de los componentes que hemos evaluado. Para ello, creamos nuestras propias métricas (basándonos en algunas de las descritas previamente) que consideramos como útiles en este caso de uso:

Tras el análisis de las métricas calculadas obtuvimos una serie de conclusiones:

Conclusiones y discusión

En este post hemos dado unas pinceladas sobre cómo evaluar un LLM, especialmente con otros LLM como evaluadores. Podemos destacar los siguientes puntos:

Referencias

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete