Técnicas y desafíos para evaluar tus aplicaciones de GenAI usando LLM como juez
La IA está evolucionando rápidamente, con grandes modelos de lenguaje (LLMs) ahora adoptados en diversas industrias y entornos de producción. A medida que estas aplicaciones impulsadas por LLM se vuelven más generalizadas, debemos garantizar que sus resultados sean precisos, fiables e imparciales. Los métodos tradicionales de evaluación humana a menudo se quedan cortos, ya que consumen demasiado tiempo y son demasiado inconsistentes para manejar la complejidad y la escala de los LLM modernos.
Un enfoque prometedor para este desafío es usar los LLM como jueces para evaluar sus resultados. Al aprovechar sus extensos datos de entrenamiento y su comprensión contextual, los LLM pueden proporcionar evaluaciones automatizadas, escalables y consistentes.
En abril de 2024, Sourabh Agrawal, cofundador de UpTrain AI, habló en el Unstructured Data Meetup organizado por Zilliz sobre las dificultades reales de implementar técnicas de LLM-como-juez. Analizó estrategias clave utilizadas tanto en la industria como en el mundo académico para hacer que estas evaluaciones sean efectivas y demostró cómo UpTrain AI evalúa aplicaciones de GenAI.
En este blog, recapitularemos los puntos clave de Sourabh y exploraremos los aspectos prácticos de emplear LLM para la evaluación. Si quieres profundizar más, te recomendamos ver la charla de Sourabh en YouTube.
Evaluación de LLM - ¿Por qué importa?
Los LLM han transformado la forma en que generamos contenido y creamos aplicaciones. Sin embargo, a pesar de su potencia, a veces pueden producir respuestas alucinatorias debido a su conocimiento preentrenado limitado. Una técnica popular para mitigar este problema es Retrieval Augmented Generation (RAG), que mejora los LLM al proporcionar datos externos como contexto usando una base de datos vectorial como Milvus y Zilliz Cloud (el Milvus gestionado).
Si bien RAG aborda eficazmente algunas de las deficiencias de los LLM, implementar estas aplicaciones en entornos de producción para obtener un valor empresarial tangible sigue siendo complejo. Requiere incorporar más tecnologías al flujo de trabajo para diversos fines, lo que añade complejidad a las aplicaciones y posibles desafíos para generar las respuestas más precisas y relevantes. Por lo tanto, debemos evaluar los resultados de las aplicaciones impulsadas por LLM y asegurarnos de que sean correctos, precisos y de alta calidad.
Qué métricas deberías usar para evaluar tus aplicaciones GenAI
Al evaluar el rendimiento de los LLM, es importante centrarse en métricas clave que ofrezcan información valiosa sobre sus capacidades. Estas métricas sirven como puntos de referencia para medir la eficacia y orientar las mejoras. Durante el meetup, Sourabh Agrawal destacó cuatro métricas principales para evaluar el rendimiento de los LLM y analizó metodologías para evaluarlas.
Calidad de la respuesta: Una buena respuesta debe responder directamente a las preguntas del usuario, ser concisa sin información innecesaria y cubrir todos los aspectos de la pregunta. Para evaluar la calidad de la respuesta de tus aplicaciones LLM, debes comprobar si el resultado es relevante para el prompt, conciso y completo. Para profundizar más, comprueba si tu aplicación LLM tiene citas correctas o sigue instrucciones personalizadas.
La conciencia del contexto es fundamental para las aplicaciones de LLM que dependen de fuentes de datos externas, también conocidas como aplicaciones de generación aumentada por recuperación (RAG). Para evaluar las aplicaciones RAG, debes comprobar si la información recuperada de la base de datos vectorial es precisa, relevante y se utiliza de forma óptima sin alucinaciones; y si el LLM comprende y utiliza correctamente el contexto recuperado para generar respuestas. Para profundizar en esta métrica, también puedes comprobar si el modelo de embeddings dentro del pipeline RAG está bien ajustado.
Calidad conversacional: Las aplicaciones de LLM deben mantener la coherencia y la consistencia en todas las interacciones en conversaciones de múltiples turnos. Las evaluaciones en esta categoría comprueban si la consulta del usuario se resuelve y si el LLM conserva adecuadamente el contexto de turnos anteriores, responde de forma lógica y se mantiene en el tema durante toda la conversación para garantizar una experiencia de diálogo fluida y natural. Los métodos de evaluación avanzados evalúan la coherencia en contenido de formato largo, como artículos o conversaciones de múltiples turnos. Por ejemplo, Sourabh mencionó que el LLM no debería confundir "football" con "soccer" si el contexto es el fútbol americano.
Seguridad: Las evaluaciones de seguridad comprueban si el LLM es susceptible a jailbreaks o inyecciones de prompts que podrían manipular su comportamiento. Las evaluaciones de seguridad también garantizan que las salidas del modelo sean apropiadas y que el sistema no se utilice indebidamente.
Uso de LLMs como jueces para evaluar tus aplicaciones GenAI
Hoy en día, existen diversas herramientas y técnicas de evaluación disponibles para valorar las salidas de tus aplicaciones GenAI, incluidas revisiones humanas, metodologías de LLM como juez, sistemas de puntuación automatizados y más. Aunque las revisiones humanas son fiables, a menudo carecen de escalabilidad y pueden ser inconsistentes debido a sesgos subjetivos. Por otro lado, los sistemas de puntuación automatizados ofrecen consistencia, pero quizá no capten la comprensión matizada necesaria para ciertos tipos de contenido.
El enfoque de LLM como juez evalúa sistemáticamente la relevancia, la precisión y la calidad general de las salidas de tu aplicación de LLM utilizando el propio LLM o un LLM independiente como "juez." Los LLM pueden ofrecer evaluaciones automatizadas, escalables y consistentes aprovechando sus amplios datos de entrenamiento y su comprensión contextual. Esta metodología permite a los desarrolladores estandarizar el proceso de evaluación, identificar rápidamente áreas de mejora, ajustar finamente sus modelos y garantizar un rendimiento de alta calidad minimizando al mismo tiempo el sesgo humano.
Durante el meetup, Sourabh analizó dos técnicas principales para implementar evaluaciones de LLM como juez, incluidos métodos basados en prompts y basados en ajuste.
Evaluaciones basadas en prompts
Las evaluaciones basadas en prompts son fáciles de iniciar y normalmente aprovechan APIs de LLM de código cerrado. Este enfoque requiere que indiques al LLM juez criterios específicos para la evaluación de respuestas. A continuación se muestran los cuatro métodos principales para implementar evaluaciones basadas en prompts.
Evaluaciones basadas en puntuación: En las evaluaciones basadas en puntuación, se le pide al LLM juez que proporcione una puntuación entre 1 y 10 para aspectos específicos de una respuesta, como la relevancia o la exhaustividad. Aunque es fácil de implementar, este método puede ser inconsistente debido a los sesgos inherentes de los LLM.
Evaluaciones basadas en clasificación: Las evaluaciones basadas en clasificación transforman la puntuación en categorías de bueno, promedio o deficiente. Este enfoque reduce la variabilidad y mejora la fiabilidad al proporcionar criterios claros para cada categoría.
Comparación por pares: La comparación por pares presenta al LLM juez dos respuestas y le pide que elija la mejor. Este método es útil para comparaciones directas, pero puede introducir sesgo de posición, donde el orden de las respuestas influye en la evaluación.
Técnicas de ensemble: Las técnicas de ensemble utilizan múltiples LLM jueces o múltiples métodos de evaluación para valorar las respuestas. Agregar los resultados de varios modelos puede mitigar sesgos individuales y mejorar la precisión. Técnicas como la votación por mayoría o el prompting de cadena de pensamiento son comunes en las evaluaciones de ensemble.
Evaluaciones basadas en ajuste
Las evaluaciones basadas en ajuste aprovechan LLMs de código abierto, como los de HuggingFace, como juez y los ajustan para tareas de evaluación específicas. Este método permite un mayor control y personalización, lo que lo hace más rentable y adecuado para casos de uso específicos. Al ajustar modelos para que actúen como evaluadores, los desarrolladores pueden asegurarse de que los modelos se adapten bien a los requisitos únicos de sus aplicaciones.
Desafíos asociados con el uso de LLMs como juez
Crear evaluaciones fiables para aplicaciones de LLM es tan desafiante como desarrollar esas aplicaciones. Aunque aprovechar LLMs como jueces para evaluar las salidas de tus aplicaciones proporciona escalabilidad y consistencia, también plantea desafíos y complejidades que requieren una gestión cuidadosa.
Sesgos en las evaluaciones de LLM
Sesgo de orden: Los LLMs pueden verse influidos por el orden en que se presenta la información. Por ejemplo, si una respuesta se muestra arriba y otra abajo, el modelo podría favorecer la que está arriba. Este sesgo puede conducir a evaluaciones injustas.
Sesgo egocéntrico: Los LLMs a menudo tienden a favorecer sus propias salidas generadas. Cuando se les pide juzgar respuestas, podrían calificar sus propias respuestas más alto que las de otros modelos. Este trato autopreferencial puede sesgar los resultados y reducir la imparcialidad de la evaluación.
Sesgo de longitud: Algunos modelos prefieren respuestas más largas y detalladas, mientras que otros prefieren respuestas concisas. Esta preferencia puede afectar la calidad percibida de la respuesta, independientemente de su relevancia o precisión.
Problemas de consistencia
Garantizar que las evaluaciones sean consistentes en múltiples ejecuciones es uno de los desafíos clave. Debido a su variabilidad inherente, los LLMs podrían producir puntuaciones diferentes para la misma respuesta en distintas ejecuciones.
Falta de conocimiento específico del dominio
Para proporcionar evaluaciones precisas, los LLMs necesitan comprender el dominio específico que están evaluando, incluida la terminología, el contexto y los matices del campo. Sin este conocimiento, las evaluaciones podrían pasar por alto aspectos críticos de la respuesta.
Las evaluaciones de LLM deben ser adaptables a diferentes contextos y perfiles de usuario. Una respuesta que es apropiada en un contexto podría no serlo en otro. Adaptar las evaluaciones para que coincidan con los requisitos y expectativas específicos de distintos grupos de usuarios es esencial para valoraciones precisas.
Evaluación de respuestas complejas
Para garantizar una evaluación exhaustiva y precisa, es esencial descomponer las respuestas complejas en componentes más pequeños y manejables. Este enfoque permite una valoración detallada de cada parte, mejorando el proceso de evaluación general. Sin embargo, también aumenta la complejidad de la propia evaluación.
Evaluar conversaciones de múltiples turnos introduce una capa adicional de dificultad. El LLM juez debe retener el contexto de interacciones anteriores y mantener la coherencia a lo largo del diálogo. Abordar este desafío requiere técnicas de evaluación sofisticadas que gestionen eficazmente la retención del contexto y garanticen un flujo de conversación fluido.
Preocupaciones de seguridad y protección
Los LLMs pueden ser vulnerables a inyecciones de prompts y jailbreaks, donde entradas maliciosas manipulan el comportamiento del modelo. Detectar y mitigar estas amenazas de seguridad es crucial para evaluaciones seguras y fiables.
Costo de las evaluaciones
Evaluar las salidas de LLM puede consumir muchos recursos. Equilibrar el costo de las evaluaciones con la necesidad de precisión es un desafío significativo.
¿Cómo abordar estas limitaciones?
Dado que usar LLMs como jueces para evaluar tus aplicaciones de LLM tiene limitaciones, ¿cómo podemos abordarlas? Sourabh compartió sus estrategias durante el Unstructured Data Meetup.
Evaluaciones objetivas
Las evaluaciones deben ser lo más objetivas posible. Esta estrategia ayuda a reducir sesgos y proporciona una base consistente para juzgar los resultados de los LLM. Los desarrolladores pueden crear una línea base estándar que proporcione juicios consistentes y fiables al establecer criterios de evaluación claros y medibles.
Comprobación de la concisión
Para evaluar la concisión, divide las respuestas en subpartes significativas. Cada parte debe comprobarse individualmente para ver si responde directamente a la consulta del usuario. La puntuación final se calcula entonces como la proporción de partes relevantes dividida por el total de partes, lo que garantiza una evaluación exhaustiva y precisa.
Estrategia de calificación
Sourabh también recomendó usar un sistema de calificación con opciones de "SÍ, NO, TAL VEZ". Este enfoque proporciona una evaluación más clara y matizada en comparación con una simple elección binaria, abordando los casos límite en los que las respuestas no caen en los extremos.
Evaluaciones rentables
Para gestionar los costos, aprovecha los LLM más baratos tanto como sea posible. Los desarrolladores pueden mantener la eficiencia de costos sin comprometer la calidad de la evaluación usando modelos menos costosos para las evaluaciones iniciales y reservando los modelos de alto costo para casos críticos o ambiguos.
Ajuste fino específico del dominio
Ajustar finamente tu LLM juez funciona mejor que usar un modelo general para dominios específicos. Ajustar finamente modelos para campos particulares, como el legal o el médico, garantiza que las evaluaciones sean más precisas y relevantes para el contexto específico.
Uso de evaluaciones para impulsar la mejora: posproducción
Las evaluaciones de LLM son importantes para identificar casos de fallo y puntos ciegos en aplicaciones de LLM, especialmente una vez que están en producción. Sourabh proporcionó mejores prácticas para usar evaluaciones con el fin de impulsar la mejora continua después de la producción.
Ejecuta evaluaciones clave para monitorear el rendimiento, ya que los costos de evaluación pueden escalar.
Selecciona casos de fallo y realiza un análisis de causa raíz sobre ellos. Este enfoque te ayuda a entender por qué ciertas respuestas fallan y qué se puede mejorar.
Determina si el problema está relacionado con la recuperación, la utilización, la cita o consultas de usuario poco claras. Este análisis detallado permite mejoras dirigidas, asegurando que tus aplicaciones de LLM se vuelvan más robustas y fiables con el tiempo.
Cómo usar UpTrain AI para evaluar tus aplicaciones de LLM
Al final, Sourabh presentó UpTrain AI, un framework de código abierto para evaluar aplicaciones de LLM. Usando pip, los desarrolladores pueden instalar UpTrain y definir modelos de evaluación usando claves de API de OpenAI o Hugging Face.
El proceso de evaluación con UpTrain AI incluye definir conjuntos de datos con preguntas, contexto y respuestas, y luego ejecutar evaluaciones de precisión, completitud, concisión y calidad de conversación. UpTrain proporciona puntuaciones y explicaciones, dividiendo respuestas largas en subpartes y evaluando cada una para obtener una medida más objetiva de la concisión.
El panel de UpTrain registra todos los datos, lo que permite comparar modelos y prompts y monitorear el rendimiento. Ayuda a identificar casos de fallo y analizar causas raíz para señalar problemas de recuperación, utilización o cita.
La interfaz del panel de UpTrain
La interfaz del panel de UpTrain
Para obtener más información sobre UpTrain, puedes visitar su proyecto de GitHub. También puedes ver la repetición de la charla de Sourabh en YouTube y seguir el enfoque paso a paso que demostró durante el Unstructured Data Meetup.
Conclusión
Desarrollar aplicaciones de LLM fiables y eficaces no es fácil y conlleva muchos desafíos, incluidos sesgos, consistencia y falta de conocimiento específico del dominio. Ajustar tu LLM para tareas específicas o aprovechar una base de datos vectorial como Milvus para proporcionar a tu LLM conocimiento externo son métodos populares para solucionar estos problemas.
Sin embargo, también es esencial emplear técnicas y herramientas de evaluación eficaces para garantizar que los resultados de los LLM sean precisos y significativos, y para perfeccionar las aplicaciones de LLM en función de los resultados de la evaluación. El enfoque LLM-como-juez es una técnica popular que puede cumplir este papel, ofreciendo escalabilidad y consistencia. Herramientas como UpTrain AI y muchos otros frameworks como TruLens también desempeñan un papel crucial en la mejora de las evaluaciones de LLM, haciendo que el proceso sea más eficiente y fiable.
Lecturas adicionales
Consulta los siguientes recursos si quieres profundizar en las evaluaciones de LLM.
Charla de Sourabh Agrawal en YouTube.
Evaluaciones para la generación aumentada por recuperación: TruLens + Milvus
Explorando la generación aumentada por recuperación (RAG): fragmentación, LLMs y evaluaciones
El camino hacia producción: evaluaciones y observabilidad de aplicaciones LLM
Cómo evaluar aplicaciones de generación aumentada por recuperación (RAG)
Rendimiento de referencia de bases de datos vectoriales: técnicas e información
Sigue leyendo

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.

Creating Collections in Zilliz Cloud Just Got Way Easier
We've enhanced the entire collection creation experience to bring advanced capabilities directly into the interface, making it faster and easier to build production-ready schemas without switching tools.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.



