🚨 NeuralTrust levanta 20M$
Volver

Benchmarking de modelos de evaluación para LLMs

Martí Jordà 19 de febrero de 2025
Compartir
Benchmarking de modelos de evaluación para LLMs

Los rápidos avances en IA generativa han permitido a las empresas desplegar asistentes virtuales basados en LLM en cuestión de minutos, revolucionando la forma en que las empresas interactúan con sus clientes y gestionan la información.

Una innovación clave en este ámbito es Retrieval-Augmented Generation (RAG), que se ha convertido en una herramienta potente para compartir conocimiento tanto interna como externamente, al enriquecer los modelos de lenguaje (LLMs) con información específica de dominio y actualizada.

Los propios LLMs poseen capacidades de razonamiento notables y un gran potencial creativo, lo que los hace inestimables para una amplia variedad de aplicaciones.

Sin embargo, a medida que estos sistemas se vuelven más sofisticados, surge un reto crucial: ¿cómo podemos medir su precisión y fiabilidad? En otras palabras: ¿cómo aseguramos que estos asistentes virtuales están funcionando bien?

La necesidad de frameworks robustos de evaluación de LLMs para medir la precisión de los modelos RAG y garantizar la fiabilidad de sus respuestas es más urgente que nunca, lo que pone de relieve un área importante de investigación en curso dentro del desarrollo de IA.

En este post haremos un benchmark de las distintas alternativas disponibles en el mercado para la evaluación de corrección de LLMs. En concreto, comparamos frameworks de evaluación de RAG como NeuralTrust, Ragas, Giskard y LlamaIndex.

Evaluar la precisión de respuestas de un LLM: medir el rendimiento de modelos RAG

Los LLMs son muy elocuentes y siempre producen respuestas coherentes. Pero ¿cuán precisas son esas respuestas cuando provienen de asistentes virtuales basados en LLM? ¿Cómo determinamos si esas respuestas son tanto factualmente correctas como contextualmente apropiadas?

Esta pregunta resulta especialmente crítica en el contexto de un framework RAG, donde un LLM aprovecha datos internos de la empresa para construir respuestas. Si esas respuestas no se corresponden con la información factual almacenada en las bases de conocimiento internas de la empresa, corremos el riesgo de difundir información falsa o engañosa, lo que puede tener consecuencias devastadoras a nivel reputacional y operativo.

Para abordar este problema, hemos aplicado varias métricas estándar de evaluación de LLM para medir la corrección de la respuesta frente a un ground truth.

Esto nos ha permitido evaluar con qué eficacia los distintos frameworks de evaluación de RAG validan la precisión de las respuestas. Además, analizaremos cómo se comparan los diferentes frameworks de evaluación, mostrando las ventajas y debilidades de cada solución.

Configuración de la tarea:

  • Cada participante recibirá pares de respuestas: una respuesta real y una respuesta esperada.
  • La respuesta de cada participante será binaria, clasificada como correcta (true) si son equivalentes, o incorrecta (false) en caso contrario.
  • Definimos equivalencia como dos respuestas que transmiten la misma información o, al menos, no contienen afirmaciones directamente contradictorias.
  • Usaremos dos datasets:
    • Un dataset público que contiene pares de respuestas relativamente simples.
    • Un dataset propio mucho más exigente, con consultas funcionales y adversariales diseñadas para poner a prueba con rigor la fiabilidad de las respuestas.

Comparativa de frameworks de evaluación de LLMs

A continuación presentaremos los distintos frameworks de evaluación de LLMs comparados en este post. Cada uno de estos métodos se basa en LLMs y opera de forma zero-shot, es decir, no requiere entrenamiento previo para generar un modelo. A pesar de no haberse encontrado antes con el problema, estos enfoques pueden resolverlo eficazmente, lo que los convierte en herramientas valiosas para la evaluación de corrección de LLMs en sistemas RAG.

Evaluador de corrección de NeuralTrust

NeuralTrust ofrece una familia completa de evaluadores de modelos LLM. La mayoría se basan en la técnica LLM-as-a-judge, proporcionando instrucciones cuidadosamente elaboradas a los modelos de lenguaje. Para garantizar una comparación justa entre NeuralTrust y los demás frameworks de evaluación de RAG que participan en este ejercicio, utilizaremos el evaluador de corrección de NeuralTrust, ya que es directamente comparable con las otras alternativas y emplea un enfoque similar para la evaluación del rendimiento del modelo de IA.

Evaluador de corrección de LlamaIndex

LlamaIndex proporciona módulos de evaluación basados en LLM para medir la precisión de las respuestas generadas por IA, ofreciendo una potente herramienta para garantizar la fiabilidad de los asistentes virtuales basados en LLM. Uno de sus componentes clave es el Correctness Evaluator, que determina si la respuesta generada por un modelo se alinea con una respuesta de referencia para una consulta dada.

Aunque algunos frameworks de evaluación de LLMs dependen de etiquetas de ground truth, muchos de los módulos de evaluación de LlamaIndex no lo hacen. En su lugar, se apoyan en LLMs (como GPT-4) para evaluar la corrección a partir de la consulta, el contexto y la respuesta.

Este enfoque permite una evaluación automatizada y escalable de las salidas generadas por IA, convirtiéndose en una herramienta potente para mejorar la fiabilidad de los sistemas de retrieval-augmented generation (RAG) y los asistentes virtuales.

Evaluador de corrección de Ragas

Ragas proporciona un Correctness Evaluator para medir la precisión de las respuestas generadas por LLMs comparándolas con una referencia de ground truth. Esta evaluación asigna una puntuación entre 0 y 1, donde un valor más alto indica una mayor alineación entre la respuesta generada y la respuesta esperada.

La evaluación de corrección considera dos factores clave:

  1. Similitud semántica, que evalúa cuán cercano es el significado de la respuesta al ground truth.
  2. Consistencia factual, que asegura que la respuesta sigue siendo factualmente precisa.

Estos elementos se combinan mediante un modelo de puntuación ponderada para generar la puntuación final de corrección. Adicionalmente, los usuarios pueden aplicar un umbral para convertir la puntuación en una clasificación binaria, ofreciendo flexibilidad sobre cómo se evalúa la corrección dentro de los sistemas de retrieval-augmented generation (RAG). En este análisis consideramos como aprobada toda puntuación mayor o igual a 0.5, y como fallida la inferior a 0.5.

Evaluador de corrección de Giskard

Giskard proporciona un Correctness Evaluator para evaluar la fiabilidad de las respuestas generadas por IA comparándolas con las salidas esperadas. Esta evaluación garantiza que las predicciones del modelo se alinean con los datos de ground truth, ayudando a identificar posibles inexactitudes o inconsistencias.

A diferencia de las técnicas simples de coincidencia de respuestas, Giskard incorpora comprensión semántica, lo que le permite determinar si una respuesta es factualmente correcta incluso si está redactada de forma diferente.

Evaluar la corrección de LLMs con datasets de benchmark

Para evaluar los enfoques de evaluación de corrección de LLMs mencionados anteriormente, necesitamos datasets de prueba que contengan pares de respuestas generadas por IA y sus contrapartes esperadas. Comparando estos pares, podemos determinar si las respuestas generadas son factualmente precisas y equivalentes a las esperadas, un factor crucial en la evaluación de retrieval-augmented generation (RAG).

Se utilizarán dos datasets:

  1. Un dataset público de Google: el Answer equivalence dataset.
  2. Una base de datos propia de un cliente grande, compuesta por consultas y respuestas reales.

Answer equivalence dataset

Este dataset se introduce, utiliza y describe en el siguiente paper: Tomayto, Tomahto. Beyond Token-level Answer Equivalence for Question Answering Evaluation.

Usamos el split de entrenamiento para probar nuestros enfoques de evaluación zero-shot de LLMs. Este split contiene 9.090 instancias, donde cada instancia incluye un identificador, contexto, pregunta, respuesta generada por IA, respuesta esperada y una clasificación de corrección (si son equivalentes o no).

Para este ejercicio de framework de evaluación de LLMs no usaremos el contexto ni ningún metadato adicional proporcionado en el dataset bruto. En su lugar, preprocesaremos el dataset extrayendo únicamente la siguiente información.

Tras el preprocesamiento, cada instancia del dataset tendrá este aspecto:

Copied!

Definimos como resultado correcto del test aquel en el que la respuesta generada por IA es equivalente a la respuesta esperada, garantizando la precisión del LLM. Si las respuestas difieren significativamente, el test se marca como fallido.

Este dataset contiene principalmente casos en los que las respuestas y las respuestas esperadas son completamente distintas o presentan variaciones menores que no son suficientes para hacer fallar un test. No es muy exigente, pero será interesante comparar diferentes frameworks de evaluación de RAG y medir la consistencia del rendimiento.

Dataset del cliente

Este dataset es un benchmark específico de dominio diseñado para probar asistentes virtuales basados en LLM en aplicaciones reales del sector. Se compone de dos tipos de preguntas generadas a partir de un vector store real de un cliente. Consultando el vector store, generamos pares de preguntas y respuestas esperadas.

  1. Preguntas funcionales: evalúan si el asistente de IA recupera con precisión información de la base vectorial del cliente y devuelve una respuesta factualmente correcta.

  2. Preguntas adversariales: se generan para poner a prueba la resistencia del asistente de IA incrustando información engañosa o contradictoria dentro de la consulta. El objetivo es comprobar si el asistente es capaz de ceñirse al contenido del vector store o si propaga información incorrecta inyectada en la pregunta.

Este dataset es mucho más exigente que el Answer Equivalence dataset de Google, ya que somete a estrés la precisión de recuperación, la consistencia factual y la resistencia a la manipulación adversarial, factores clave en las herramientas de benchmarking de modelos de IA y en la evaluación de corrección de RAG.

Benchmarking de frameworks de evaluación de LLMs: implementación de código

A continuación, algunos snippets de código que muestran cómo evaluamos la precisión de modelos RAG en Ragas, Giskard y Llama-Index:

NeuralTrust

Para lanzar el evaluador de corrección de NeuralTrust, primero importamos algunas librerías, entre las que se incluyen el CorrectnessEvaluator de NeuralTrust, la librería estándar json y la librería asyncio para gestionar llamadas asíncronas:

Copied!

A continuación, instanciamos el evaluador y obtenemos el bucle asíncrono:

Copied!

Finalmente cargamos el dataset, llamamos al evaluador para cada instancia, normalizamos los resultados y evaluamos el rendimiento:

Copied!

Consideramos que todas las puntuaciones por encima de 2.5 son tests aprobados, y fallidos en caso contrario.

Ragas

Para Ragas, importamos los siguientes componentes y librerías:

Copied!

Cargamos los datasets en una estructura de diccionario, que después transformamos en un objeto Dataset:

Copied!

Después usamos la función evaluate de Ragas:

Copied!

A continuación iteramos sobre las respuestas correctas, considerando como "Pass" los valores superiores a 0.5 y "Fail" en caso contrario. Después comparamos los resultados con el ground truth y calculamos la precisión.

Copied!

Giskard

En el caso de Giskard, importamos los siguientes componentes:

Copied!

Iteramos sobre el dataset y, para cada pregunta, respuesta y expected_answer, creamos un QuestionSample.

Copied!

Para crear un QATestset es necesaria una lista de objetos QuestionSample:

Copied!

Con una lista de respuestas esperadas y un QATestset, podemos llamar a la función evaluate de Giskard para calcular la precisión:

Copied!

LlamaIndex

Por último, para la comparación con Llama-index usamos los siguientes componentes:

Copied!

Instanciamos el CorrectnessEvaluator con gpt-4o-mini como LLM evaluador.

Copied!

Después iteramos sobre todo el dataset, llamando al método evaluate y calculando el rendimiento:

Copied!

La puntuación en este modelo va de 1 a 5, considerándose "Pass" los valores por encima de 2.5 y "Fail" en caso contrario.

Resultados: evaluación de la corrección de LLMs en distintos datasets

Para evaluar el rendimiento de cada enfoque, compararemos sus evaluaciones con el ground truth disponible para ambos datasets. El ground truth especifica si la respuesta y la respuesta esperada son equivalentes en términos de corrección. La precisión se mide como la proporción de instancias en las que la evaluación de un enfoque coincide con el ground truth. En otras palabras, si el ground truth indica que la respuesta y la respuesta esperada son equivalentes, el método de evaluación también debería reconocerlas como equivalentes, y viceversa.

Por ejemplo, un falso positivo se produce cuando un enfoque identifica incorrectamente una respuesta como correcta cuando, según el ground truth, es incorrecta. Esto puede ocurrir si la respuesta es cercana en significado pero contiene un error factual crítico. Por otro lado, un verdadero negativo se produce cuando un enfoque identifica correctamente una respuesta como incorrecta, coincidiendo con el ground truth.

La precisión es una métrica sólida para la evaluación porque refleja directamente con qué frecuencia un enfoque determina correctamente la equivalencia, lo que la convierte en una medida clara e interpretable del rendimiento general.

Los resultados se muestran en la tabla siguiente.

EnfoqueDataset del clienteGoogle Answer Equivalence
NeuralTrust80%86%
Llama-index57%78%
Ragas67%82%
Giskard47%75%

Observamos que Ragas mostró una buena precisión en el dataset Google Answer Equivalence, logrando resultados notables. Sin embargo, al probarlo en nuestro dataset real de cliente, su rendimiento cayó significativamente. De forma similar, LlamaIndex se desempeñó bien en el dataset de Google pero tuvo dificultades para mantener la precisión en nuestro dataset específico de dominio.

Esta comparativa pone de relieve una distinción crucial en las capacidades de estos frameworks de evaluación de LLMs cuando se aplican a la prueba real de precisión de respuestas generadas por IA.

La conclusión clave es que el evaluador de corrección de NeuralTrust destaca como el único modelo que rinde excepcionalmente bien en ambos datasets, demostrando su precisión, versatilidad y adaptabilidad ante escenarios de datos diversos. Esto refuerza la robustez de su enfoque en la evaluación de corrección de RAG y demuestra su capacidad para adaptarse eficazmente a escenarios de datos heterogéneos.

¿Y ahora qué?

Garantizar la evaluación de corrección de los LLMs es crucial para obtener respuestas fiables generadas por IA, especialmente en sistemas de retrieval-augmented generation (RAG). Como se muestra en nuestro benchmarking, muchos frameworks de evaluación tienen problemas de consistencia entre datasets, lo que pone de manifiesto la necesidad de un enfoque robusto y adaptable.

Las soluciones RAG de NeuralTrust mejoran la precisión de las respuestas anclando las salidas de IA en conocimiento verificado y específico de dominio, reduciendo las alucinaciones y mejorando la consistencia factual. A diferencia de otros frameworks de evaluación de RAG, NeuralTrust ofrece de forma consistente una alta precisión en escenarios diversos.

Haz clic abajo para reservar una demo y descubre cómo las soluciones RAG de NeuralTrust mejoran la precisión y fiabilidad de las respuestas de IA manteniendo la eficiencia y la escalabilidad.


Suscríbete a nuestra newsletter

Compartir

Únete a los líderes que aseguran el ecosistema de agentes

Solicita una demo