- Las aplicaciones basadas en LLM (modelos de lenguaje grandes) son difíciles de evaluar adecuadamente con métodos de prueba tradicionales debido a la naturaleza no determinista de sus salidas
- Por eso, para mantener y mejorar el rendimiento de los sistemas LLM, son indispensables los métodos de evaluación dedicados (evals)
Por qué son importantes los evals
- Establecer criterios de rendimiento: brindan una dirección sobre el desempeño del modelo y permiten definir benchmarks comparables
- Garantizar consistencia y confiabilidad: ayudan a detectar y controlar de antemano salidas impredecibles
- Guiar las mejoras: dejan en claro dónde cae el rendimiento y permiten mejoras dirigidas
- Habilitar pruebas de regresión: verifican que el rendimiento se mantenga después de los cambios y garantizan estabilidad
Elementos clave de la evaluación antes del despliegue
Por qué es importante la evaluación previa al despliegue
- Permite medir el rendimiento desde etapas tempranas y compararlo
- Permite detectar de forma anticipada problemas de regresión cuando cambian el código, los prompts o los parámetros
Cómo realizar la evaluación
1. Crear un dataset de Ground Truth
- Se necesita un dataset compuesto por pares de pregunta-respuesta elaborados por expertos
- Es importante incluir escenarios diversos que reflejen los tipos reales de preguntas de los usuarios
¿Puede un LLM generar el Ground Truth?
- Un LLM puede cumplir un rol de apoyo, pero no se recomienda que lo genere por sí solo
- No comprende suficientemente el comportamiento de los usuarios
- Las preguntas y respuestas adecuadas al contexto requieren revisión humana
- La supervisión humana es indispensable para garantizar pertinencia al dominio y calidad
2. Seleccionar métricas de evaluación
- Answer relevancy: si proporciona una respuesta directa y significativa a la pregunta
- Coherence: el flujo lógico y la claridad de la respuesta
- Contextual relevance: qué tan bien considera el contexto de la conversación
- Responsibility: si la salida es responsable en términos de ética, daño potencial y sesgos
3. Métricas de evaluación para RAG
- Métricas de generación:
- Faithfulness: si está basada en hechos
- Answer relevancy: pertinencia de la respuesta
- Métricas de búsqueda:
- Context precision: proporción entre señal útil y ruido en la información relevante
- Context recall: si recuperó correctamente la información necesaria para la respuesta
4. Métricas específicas por tarea
- Se necesitan métricas personalizadas según la tarea concreta
- Ejemplo: en resumen, Fluency, Coherence, Consistency, Relevance
5. Cálculo de puntajes y ajuste del sistema
- Para cada métrica, se calcula un puntaje comparando la salida real con el Ground Truth
- Ejemplo:
- Recall bajo: reducir el tamaño del chunk
- Precision baja: considerar incorporar reranking
- Ejemplos de librerías de evaluación: DeepEval, Relari-ai
Técnica de evaluación LLM-as-Judge
- Evaluar sin Ground Truth usando como base un LLM como GPT-4
- Ejemplos: framework G-eval, artículos de Vicuna y QLoRA
- Desventajas:
- Algunas métricas (por ejemplo, Context Recall) no pueden medirse sin Ground Truth
- En precisión y nivel de detalle, la evaluación humana es superior
- Conclusión: lo ideal es combinar LLM-as-Judge + Ground Truth
Cómo integrar la evaluación en la etapa de despliegue
- Integrar la automatización de evaluaciones en el pipeline de despliegue
- Ejecutar pruebas automáticas antes de un commit de código o de un despliegue
- Ejemplo: pruebas automáticas con Giskard para detectar toxicidad y alucinaciones
- También deben incluirse pruebas para las etapas de preprocesamiento y recolección de datos
Evaluación posterior al despliegue y data flywheel
Monitoreo en operación
- Seguimiento en tiempo real de entradas y salidas
- Sesiones periódicas de evaluación con expertos del dominio
- Contar con canales de feedback de usuarios
Estrategia de data flywheel
- Construir un bucle de mejora continua aprovechando los datos y el feedback generados durante la operación
- Ejemplo: analizar patrones de preguntas de los usuarios → mejorar el método de búsqueda
- Ajustar prompts, parámetros de inferencia, método de búsqueda, etc., con base en métricas
- También es necesario cambiar las métricas según el comportamiento de los usuarios y los escenarios de falla
Conclusión: la estrategia “Evals First” es la clave para productos LLM confiables
- Hay que adoptar una mentalidad centrada en la evaluación desde las primeras etapas del desarrollo de aplicaciones LLM
- La clave es definir desde temprano las métricas y criterios correctos y usarlos como punto de referencia para el desarrollo y el despliegue
- La evaluación no debe verse como una actividad posterior, sino como un proceso central de desarrollo para poder construir sistemas de IA confiables y centrados en el usuario
1 comentarios
Por experiencia propia, y como también se ve en otros casos como https://blog.lawrencejones.dev/ai-mvp/, los modelos más recientes no siempre garantizan mejores resultados. Cada vez que se ajusta el modelo o el prompt, hay que hacer una evaluación con un conjunto de datos, pero resulta un poco irónico que, por más que un llm ayude a evaluar, al final una persona tenga que crear manualmente, una por una, los ground truth datasets para el modelo de llm jaja