El camino a producción: evaluaciones y observabilidad de aplicaciones LLM
A medida que muchos equipos de aprendizaje automático se preparan para implementar modelos de lenguaje grandes (LLMs)) en producción, se enfrentan a desafíos significativos, como abordar las alucinaciones y garantizar una implementación responsable. Antes de abordar estos problemas, es crucial evaluarlos e identificarlos de manera efectiva.
Recientemente, en el Unstructured Data Meetup, Hakan Tekgul, el arquitecto de soluciones de ML en Arize AI, compartió estrategias reveladoras para realizar evaluaciones rápidas y precisas de LLM. Estos enfoques mantienen altos estándares de calidad y fiabilidad de las respuestas y garantizan la entrega de valor empresarial tangible.
Mira la repetición de la charla de Hakan Tekgul
Si te perdiste el evento, ¡no te preocupes! Aquí tienes un desglose detallado de la presentación de Hakan.
¡La transición de demostraciones de GenAI a producción es desafiante!
Crear aplicaciones GenAI puede parecer sencillo al principio, especialmente con herramientas fáciles de usar como LangChain y LlamaIndex que facilitan la creación de aplicaciones de demostración. Sin embargo, la transición a productos completamente desarrollados capaces de generar valor empresarial tangible es desafiante. El quid reside en garantizar que estas aplicaciones entreguen de forma constante resultados fiables y de alta calidad en un entorno de producción.
Cómo es la transición de una demostración de Twitter a un producto del mundo real
Ilustremos este desafío con un ejemplo de chatbot de comercio electrónico. Los usuarios interactúan con este chatbot para planificar sus vacaciones.
La interfaz del chatbot de comercio electrónico
Si bien la aplicación puede parecer simple desde la perspectiva del usuario, los flujos de trabajo tras bambalinas son complejos. Estos son los pasos clave de este flujo de trabajo:
Inicio del chat: Los usuarios inician la sesión interactuando con el chatbot.
Extracción de parámetros: El LLM extrae parámetros estructurados de la entrada del usuario.
Clasificación/Recomendación: El modelo genera una lista de posibles destinos vacacionales basándose en los parámetros extraídos.
Búsqueda y recuperación de embeddings: El sistema refina la lista realizando una búsqueda vectorial para obtener información más relevante.
Generación de respuestas: El LLM genera una respuesta personalizada basándose en los datos recuperados.
Los pasos clave del flujo de trabajo del chatbot y posibles estrategias de resolución de problemas
Cada paso de este flujo de trabajo puede encontrar problemas específicos. Una resolución de problemas efectiva es esencial para garantizar una experiencia de usuario fluida y un rendimiento óptimo. Por ejemplo, puede que necesites:
Garantizar el funcionamiento sin problemas de herramientas como LangChain y LlamaIndex sin errores.
Crear y perfeccionar prompts para extraer con precisión datos de las entradas de los usuarios.
Evaluar y optimizar continuamente el sistema de recomendaciones.
Mejorar la precisión y relevancia de la información recuperada.
Solucionar problemas de todo el sistema y de cada componente de forma individual.
Utilizar la retroalimentación para perfeccionar y mejorar continuamente el sistema.
¡La observabilidad de LLM viene al rescate!
Para abordar los desafíos descritos anteriormente, es crucial aprovechar herramientas de evaluación para una observabilidad fluida de LLM. Cinco facetas principales de la observabilidad de LLM requieren atención para garantizar una visibilidad completa de tus aplicaciones. Al realizar hábilmente estas evaluaciones, los equipos pueden lograr una observación holística de sus aplicaciones, garantizando fiabilidad y rendimiento óptimo.
| Cinco pilares de la observabilidad de LLM | ||
| Pilar | Descripción | Problemas comunes |
| Evaluación | Evaluación sistemática de las salidas de LLM utilizando un LLM de evaluación separado | Calidad y alineación de la salida |
| Spans y trazas | Visibilidad detallada de los desgloses del flujo de trabajo | Identificación de puntos específicos de fallo |
| Ingeniería de prompts | Refinamiento iterativo de plantillas de prompts para mejorar los resultados | Mejora de la precisión y relevancia de la respuesta |
| Búsqueda y recuperación | Localizar y mejorar el contexto recuperado | Mejora de la precisión de recuperación |
| Ajuste fino | Reentrenamiento de LLMs con datos específicos para un rendimiento personalizado | Alineación con necesidades específicas del negocio |
En las siguientes secciones, exploraremos las categorías de Evaluación de LLM y Spans y trazas de LLM con más detalle para destacar su importancia en la optimización de la observabilidad de LLM.
Evaluaciones de LLM
Las evaluaciones de LLM (LLM Evals) se refieren a la evaluación sistemática de las salidas de tu aplicación GenAI utilizando un LLM separado como "juez." Las evaluaciones regulares garantizan que el contenido generado cumpla con los estándares de calidad y satisfaga las expectativas de los usuarios. Por ejemplo, un servicio de sugerencias de vacaciones emplea un LLM de evaluación para revisar rutinariamente las recomendaciones. Este sistema de evaluación activa un proceso de revisión para actualizar los datos de entrenamiento si las recomendaciones se vuelven obsoletas o irrelevantes.
Evals de modelos vs. Evals de LLM
Antes de profundizar en los detalles, comparemos dos conceptos similares: evals de modelos y evals de LLM.
Evals de modelos te ayudan a seleccionar el modelo fundacional para tu aplicación y garantizan que se alinee con los casos de uso generales.
Evals de LLM miden el rendimiento de tareas y componentes específicos dentro de tu aplicación basada en LLM. Los evals de LLM incluyen recuperación, alucinación, frustración del usuario, Q&A, resumen y evaluación de generación de código, como se ilustra en la imagen a continuación.
Evals de LLM en producción: medición del rendimiento de tareas | Arize
Cómo funcionan los Evals de LLM
Evaluar el rendimiento de los modelos de lenguaje grandes (LLMs) utilizando un LLM juez puede parecer complejo, pero se vuelve mucho más manejable con las herramientas y metodologías adecuadas. La biblioteca Phoenix LLM Evals es una herramienta de código abierto diseñada para facilitar evaluaciones de LLM rápidas y sencillas. Esta biblioteca integra un LLM juez, plantillas de evaluación y parámetros de modelo en un marco cohesivo.
¿Cómo funciona este proceso? Tus datos de entrada se introducen en la biblioteca Phoenix junto con los datos de salida generados por tu aplicación LLM. El LLM juez dentro de la biblioteca utiliza entonces estos datos de entrada y salida, junto con una plantilla de prompt, para evaluar el rendimiento de tu sistema en una tarea específica.
Evals de LLM: cómo funcionan en general
Veamos el proceso de evaluación. Considera una aplicación de Generación Aumentada por Recuperación (RAG) que recupera contexto de una base de datos vectorial como Milvus y luego genera respuestas basadas en la pregunta del usuario y el contexto recuperado.
Al medir el rendimiento en una tarea de recuperación RAG, los datos de entrada (la pregunta del usuario) y los datos de salida (texto de referencia) se introducen en la Biblioteca Phoenix. El LLM juez utiliza la plantilla de evaluación para valorar qué tan bien el texto de referencia responde a la pregunta del usuario. Por ejemplo, si la pregunta del usuario es "Encuentra recetas francesas tradicionales" y el texto de referencia proporciona una receta de sopa de pan con cebolla caramelizada, la plantilla de evaluación comparará ambos para evaluar su relevancia.
Evaluaciones de LLM: cómo funcionan en un caso de uso de RAG
Evaluación comparativa de tus resultados de evaluación de LLM
Hemos hablado de cómo funciona el proceso de evaluación de LLM, pero ¿cómo puedes estar seguro de que será eficaz para tu caso de uso específico? La respuesta está en realizar una evaluación comparativa de tus resultados de evaluación.
A continuación se muestran los pasos principales que seguimos para realizar la evaluación comparativa de los resultados.
Primero, utilizamos conjuntos de datos públicos que incluyen respuestas etiquetadas por humanos. Estos conjuntos de datos constan de preguntas de usuarios y textos de referencia, con anotaciones que indican su relevancia. Con estos conjuntos de datos bien establecidos, creamos una base sólida para la comparación.
A continuación, comparamos el rendimiento de nuestras plantillas de prompts con las respuestas proporcionadas por humanos en estos conjuntos de datos públicos. Este paso nos permite evaluar qué tan bien nuestras plantillas identifican respuestas relevantes, usando el juicio humano como referencia.
Finalmente, calculamos las puntuaciones de precisión y exhaustividad para cuantificar el rendimiento de nuestras plantillas de prompts. La precisión mide la exactitud de los resultados relevantes devueltos por el sistema RAG, mientras que la exhaustividad mide la capacidad del sistema para recuperar todas las instancias relevantes.
Estas puntuaciones de precisión y exhaustividad indican qué tan eficazmente funcionan nuestras plantillas de prompts en una amplia variedad de ejemplos etiquetados por humanos. Este proceso de evaluación comparativa garantiza que la evaluación y las plantillas de prompts sean fiables y que se pueda confiar en ellas para valorar el rendimiento de tus aplicaciones de LLM.
Después de estas mediciones, determina qué modelo usar para tu LLM juez. Diferentes tareas pueden requerir diferentes modelos jueces. Por ejemplo, GPT-3.5-turbo-instruct podría no funcionar bien en una evaluación de corrección de Q&A, pero funciona muy bien en la evaluación de recuperación. Es posible que necesites cambiar de modelos fundacionales si estás evaluando otra cosa. Por eso la evaluación comparativa es crucial.
Después de estas mediciones, el siguiente paso es determinar qué modelo usar para tu LLM juez. Diferentes tareas pueden requerir diferentes modelos jueces. Por ejemplo, GPT-3.5-turbo-instruct podría no funcionar bien en una evaluación de corrección de Q&A, pero destaca en las evaluaciones de recuperación. Es posible que necesites cambiar de modelos fundacionales para evaluar un aspecto diferente. Esta flexibilidad es la razón por la que la evaluación comparativa es crucial.
Spans y trazas de LLM
Ahora hemos aprendido cómo evaluar tus aplicaciones de LLM en su conjunto. Pero ¿cómo evalúas la interacción de tu aplicación componente por componente? Considera una cadena completa de sistemas de recuperación construidos sobre frameworks como LamaIndex o LangChain. Si una evaluación de Q&A indica una respuesta incorrecta, solo sabes que la interacción falló, pero aún necesitas determinar dónde. Aquí es donde entra el concepto de spans y trazas de LLM.
Varios tipos de evaluaciones de spans pueden ayudar a localizar el fallo. Por ejemplo, puedes usar:
Evaluación de frustración del usuario para comprobar la interacción del chatbot
Evaluación de clasificación durante la extracción de atributos
Evaluación de recuperación para valorar el componente de recuperación
Evaluación de clasificación para el proceso de clasificación
Evaluaciones en spans de LLM
Si hay un problema con la evaluación de recuperación, impacta directamente en la corrección de las preguntas y respuestas (Q&A). LLM Spans and Traces ayuda a visualizar y diagnosticar estos problemas dentro de tu aplicación.
Hakan también compartió una demostración que muestra cómo funciona LLM Spans and Traces. Mira la repetición de su charla en YouTube para ver más detalles de la demostración.
Conclusión
Al reflexionar sobre la charla de Hakan Tekgul, queda claro que implementar LLMs en producción no es una tarea sencilla. El recorrido desde una demostración pulida hasta una aplicación fiable y lista para uso empresarial está lleno de desafíos que requieren atención al detalle y un marco sólido de observabilidad.
Hakan compartió dos estrategias principales de evaluación de LLM, LLM Evaluation y LLM Spans and Traces, y explicó cómo funcionan con ejemplos detallados. Estas estrategias evalúan sistemáticamente las aplicaciones de LLM, garantizando su fiabilidad y eficacia en casos de uso del mundo real.
Sigue leyendo

Zilliz Skills Breakdown: How AI Agents Master Vector Databases
Zilliz's Milvus Skill (pymilvus, 7 files) and Zilliz Cloud Skill (zilliz-cli, 14 modules) bring vector-DB dev and ops into one Claude Code session.

The AWS Outage Was a Wake-Up Call for Vector Database Cross-Region Disaster Recovery
Zilliz Cloud Had the Answer Before the Crisis. Zilliz Cloud is the world's first vector database with native cross-region disaster recovery.

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.



