Evaluación de extremo a extremo del modelo de gran lenguaje
En esta fase, evaluará su solución de generación aumentada por recuperación (RAG) examinando las solicitudes de usuario esperadas que contienen los datos de referencia recuperados en el modelo de lenguaje. Antes de llegar a esta fase, debe completar las fases anteriores. Debe recopilar los documentos y consultas de prueba, fragmentar los documentos de prueba, enriquecer los fragmentos, insertar los fragmentos, crear un índice de búsqueda e implementar una estrategia de búsqueda. A continuación, debe evaluar cada una de estas fases y asegurarse de que los resultados cumplan sus expectativas. En este momento, debe estar seguro de que la solución devuelve datos de base pertinentes para una consulta de usuario.
Estos datos de base forman el contexto del mensaje que se envía al modelo de lenguaje para abordar la consulta del usuario. Las estrategias de ingeniería de solicitudes están fuera del ámbito de este artículo. En este artículo se aborda la evaluación de la llamada diseñada al modelo de lenguaje desde la perspectiva de los datos de base. En este artículo se tratan las métricas de evaluación del modelo de lenguaje común y las métricas de similitud y evaluación específicas que puede usar en los cálculos de evaluación del modelo o como métricas independientes.
En este artículo no se intenta proporcionar una lista exhaustiva de métricas del modelo de lenguaje o métricas de similitud y evaluación. Lo que es importante que debes resaltar de este artículo es que hay varias métricas que tienen casos de uso distintos. Solo tú tienes una comprensión holística de tu carga de trabajo. Usted y los científicos de datos deben determinar qué quiere medir y qué métricas son adecuadas.
Este artículo forma parte de una serie. Lea primero la introducción .
Métricas de evaluación del modelo de lenguaje
Hay varias métricas que debe usar para evaluar la respuesta del modelo de lenguaje, como la base, la integridad, el uso, la relevancia y la corrección. Dado que el objetivo general del patrón RAG es proporcionar datos relevantes como contexto a un modelo de lenguaje al generar una respuesta, idealmente, cada una de las métricas anteriores debe puntuar altamente. Sin embargo, en función de la carga de trabajo, es posible que tenga que priorizarse entre sí.
Importante
Las respuestas del modelo de lenguaje no son deterministas, lo que significa que la misma solicitud a un modelo de lenguaje suele devolver resultados diferentes. Este concepto es importante comprender cuándo se usa un modelo de lenguaje como parte del proceso de evaluación. Considere la posibilidad de usar un intervalo de destino en lugar de un único destino al evaluar el uso del modelo de lenguaje.
Base
La base, a veces denominada fidelidad, mide si la respuesta se basa completamente en el contexto. Valida que la respuesta no usa información distinta de la que existe en el contexto. Una métrica de baja base indica que el modelo de lenguaje podría generar respuestas inexactas o nosensicas.
Cálculo de la base
Use los métodos siguientes para calcular la base de las respuestas:
- La seguridad basada en Seguridad del contenido de Azure AI es un modelo personalizado que utiliza la inferencia de lenguaje natural para determinar si las afirmaciones o, en este caso, los fragmentos, se basan en el contexto del documento de origen.
- La base basada en el modelo de lenguaje de gran tamaño usa un modelo de lenguaje de gran tamaño para determinar el nivel de base de la respuesta.
- Biblioteca de fidelidad de Ragas.
- Cálculo de fidelidad de MLflow.
Evaluar la fundamentación
Un cálculo de base baja indica que el modelo de lenguaje no ve los fragmentos como pertinentes. Debe evaluar si necesita agregar datos a la recopilación, ajustar la estrategia de fragmentación o el tamaño del fragmento, o ajustar el mensaje.
Integridad
Integridad mide si la respuesta cubre todas las partes de la consulta. La integridad le ayuda a comprender si los fragmentos en el contexto son pertinentes, se relacionan directamente con la consulta y proporcionan una respuesta completa.
Calcular la completitud
Use los métodos siguientes para calcular la integridad de las respuestas:
- Mensajes de puntuación de recuperación asistidos por IA.
- Un modelo de lenguaje puede ayudarle a medir la calidad de la respuesta del modelo de lenguaje. Necesita la pregunta, el contexto y la respuesta generada para realizar esta medición. En los pasos siguientes se describe el proceso de alto nivel:
- Utiliza el modelo de lenguaje para reformular, resumir o simplificar la pregunta. Este paso identifica la intención.
- Pida al modelo que compruebe si la intención o la respuesta a la intención se encuentra en o se puede derivar de los documentos recuperados. La respuesta puede ser "sí" o "no" para cada documento. Las respuestas que comienzan por "sí" indican que los documentos recuperados son relevantes para la intención o respuesta a la intención.
- Calcule la proporción de las intenciones que tienen una respuesta que comienza por "sí".
- Cuadre la puntuación para resaltar los errores.
Evaluación de la integridad
Si la integridad es baja, comience a trabajar para aumentarla evaluando su modelo de inserción. Compare el vocabulario del contenido con el vocabulario del modelo de inserción. Determine si necesita un modelo de inserción específico del dominio o si debe ajustar un modelo existente. El siguiente paso es evaluar la estrategia de fragmentación. Si usa la fragmentación de tamaño fijo, considere la posibilidad de aumentar el tamaño del fragmento. También puede evaluar si los datos de prueba tienen suficientes datos para abordar completamente la pregunta.
Utilización
El uso mide hasta qué punto la respuesta está compuesta por información de los fragmentos del contexto. El objetivo es determinar la medida en que cada fragmento forma parte de la respuesta. Un uso bajo indica que los resultados podrían no ser relevantes para la consulta. Debe evaluar el uso junto con la integridad.
Cálculo del uso
Use un modelo de lenguaje para calcular el uso. Puede pasar la respuesta y el contexto que contiene los fragmentos al modelo de lenguaje. Puede pedir al modelo de lenguaje que determine el número de fragmentos que implican la respuesta.
Evaluación del uso
En la tabla siguiente se proporcionan instrucciones sobre cómo evaluar la integridad y el uso.
Uso elevado | Uso bajo | |
---|---|---|
Integridad alta | No es necesario realizar ninguna acción. | En este caso, los datos devueltos abordan la pregunta, pero también devuelven fragmentos irrelevantes. Considere la posibilidad de reducir el valor del parámetro top-k para producir resultados más probables o deterministas. |
Integridad baja | En este caso, el modelo de lenguaje usa los fragmentos que proporcione, pero no abordan completamente la pregunta. Considere la posibilidad de realizar los pasos siguientes:
|
En este caso, los datos devueltos no responden completamente a la pregunta y los fragmentos proporcionados no se usan completamente. Considere la posibilidad de realizar los pasos siguientes:
|
Pertinencia
Relevancia mide la medida en que la respuesta del modelo de lenguaje es pertinente y relacionada con la consulta.
Cálculo de relevancia
Use los métodos siguientes para calcular la relevancia de las respuestas:
- Asistido por IA: Relevancia en Azure AI Foundry
- Biblioteca de relevancia de respuestas de Ragas
- Cálculo de relevancia de MLflow
Nota
Puede usar el portal de Azure AI Foundry para realizar los cálculos o usar las instrucciones de este artículo para calcular la relevancia usted mismo.
Evaluación de la relevancia
Cuando la relevancia es baja, realice las siguientes tareas:
- Asegúrese de que los fragmentos proporcionados al modelo de lenguaje son pertinentes.
- Determine si no se devuelven fragmentos pertinentes y viables. Si detecta estos fragmentos, evalúe el modelo de inserción.
- Si no hay fragmentos viables, busque si existen datos relevantes. Si es así, evalúe la estrategia de fragmentación.
- Si se devuelven fragmentos pertinentes, evalúe el mensaje.
Las puntuaciones que arrojan métodos de evaluación como el de integridad deben dar resultados similares a la puntuación de relevancia.
Exactitud
Corrección mide el grado en que la respuesta es precisa y basada en hechos.
Cálculo de la corrección
Hay varias maneras de evaluar la exactitud, entre las que se incluyen:
- modelo de lenguaje: use un modelo de lenguaje para calcular la exactitud. Puede pasar la respuesta al modelo de lenguaje, idealmente un modelo de lenguaje diferente al usado para generar el resultado. Puede pedir al modelo de lenguaje que determine si la respuesta es fáctica o no.
- Fuente externa de confianza: Usa una fuente externa de confianza para validar la exactitud de la respuesta. Dependiendo de la API de su fuente de confianza, puede usar la fuente de confianza sola o junto con un modelo de lenguaje.
Evaluación de la corrección
Cuando la corrección es baja, realice las siguientes tareas:
- Asegúrese de que los fragmentos proporcionados al modelo de lenguaje son correctos de forma fáctica y no hay ningún sesgo de datos. Es posible que tenga que corregir cualquier problema en los documentos o el contenido de origen.
- Si los fragmentos pueden ser correctos, evalúe su mensaje.
- Evalúe si hay imprecisiones heredadas en el modelo que deben superarse con datos de base fácticos adicionales o ajuste preciso.
Métricas de similitud y evaluación
Hay cientos de métricas de similitud y evaluación que puede usar en la ciencia de datos. Algunos algoritmos son específicos de un dominio, como la conversión de voz a texto o la traducción de idioma a idioma. Cada algoritmo tiene una estrategia única para calcular su métrica.
Los científicos de datos determinan lo que desea medir y qué métrica o combinación de métricas puede usar para medirla. Por ejemplo, en el caso de la traducción de idiomas, la métrica de evaluación bilingüe (BLEU) comprueba cuántos n-gramas aparecen tanto en la traducción automática como en la traducción humana para medir la similitud en función de si las traducciones usan las mismas palabras. La similitud de coseno usa incrustaciones entre las traducciones automáticas y humanas para medir la similitud semántica. Si su objetivo es tener una similitud semántica alta y utilizar palabras similares a las de la traducción humana, querrá puntuación BLEU alta con una similitud de coseno alta. Si solo le importa la similitud semántica, céntrese en la similitud coseno.
La lista siguiente contiene un ejemplo de métricas de evaluación y similitud comunes. Tenga en cuenta que las métricas de similitud enumeradas se describen como basadas en tokens, basadas en secuencias o en función de edición. Estas descripciones ilustran qué enfoque usan las métricas para calcular la similitud. La lista también contiene tres algoritmos para evaluar la calidad de la traducción de texto de un idioma a otro.
- La subcadena común más larga es un algoritmo basado en secuencias que encuentra la subcadena común más larga entre dos cadenas. El porcentaje de subcadena común más largo toma la subcadena común más larga y la divide por el número de caracteres de la cadena de entrada más pequeña o mayor.
- subsecuencia común más larga (LCS) es un algoritmo basado en secuencia que encuentra la subsecuencia más larga entre dos cadenas. LCS no requiere que las subsecuencias estén en orden consecutivo.
- Similitud de coseno es un algoritmo basado en tokens que calcula el coseno del ángulo entre los dos vectores.
- Jaro-Winkler distancia es un algoritmo basado en edición que cuenta el número mínimo de pasos para transformar una cadena en otra.
- Distancia de Hamming es un algoritmo basado en la edición que mide el número mínimo de sustituciones necesarias para transformar una cadena en otra.
- índice de Jaccard es un algoritmo basado en tokens que calcula la similitud dividiendo la intersección de dos cadenas por la unión de esas cadenas.
- distancia de Levenshtein es un algoritmo basado en edición que calcula la similitud mediante la determinación del número mínimo de ediciones de caracteres únicos necesarios para transformar una cadena en otra.
- BLEU evalúa la calidad del texto que es el resultado de la traducción automática de un idioma a otro. BLEU calcula la superposición de n-gramas entre una traducción automática y una traducción de calidad humana para realizar esta evaluación.
- ROUGE es una métrica que compara una traducción automática de un idioma a otro con una traducción creada por el usuario. Hay varias variantes de ROUGE que usan la superposición de n-gramas, skip-bigrams o subsecuencia común más larga.
- METEOR evalúa la calidad del texto, que es el resultado de la traducción automática, examinando coincidencias exactas, coincidencias después de lematización, sinónimos, parafraseo y alineación.
Para obtener más información sobre las métricas comunes de similitud y evaluación, consulte los siguientes recursos:
Uso de varias métricas de evaluación juntas
Debe usar las métricas de evaluación del modelo de lenguaje juntas para comprender mejor el rendimiento de la solución RAG. A continuación se muestran varios ejemplos de uso de varias métricas de evaluación juntas.
Base y corrección
Las métricas de base y corrección ayudan a determinar si el sistema interpreta y usa el contexto con precisión. Si el fundamento es alto pero la corrección es baja, significa que el modelo de lenguaje utiliza el contexto pero proporciona una respuesta incorrecta. La respuesta incorrecta podría deberse a un uso incorrecto del contexto o a problemas con los datos de origen. Por ejemplo, si la base es 0,9, pero la corrección es 0,4, indica que el sistema hace referencia al material de origen correcto, pero saca conclusiones incorrectas. Considere una respuesta que indica "Einstein desarrolló mecánica cuántica" basada en un contexto que menciona por separado tanto a Einstein como a la mecánica cuántica. Esta respuesta se basa, pero es objetivamente incorrecta.
Esta combinación de métricas es una en la que la priorización de una sobre la otra podría ser muy importante para la carga de trabajo específica. Por ejemplo, si los datos de origen contienen información potencialmente falsa por diseño y puede ser fundamental para que el sistema conserve esa información falsa en sus respuestas. En ese caso, quiere priorizar una respuesta fundamentada antes que una respuesta correcta. En otros casos, la carga de trabajo prefiere consultar los datos de contexto, pero la corrección definitiva sigue siendo la prioridad.
Uso e integridad
Las métricas de uso e integridad ayudan a evaluar la eficacia del sistema de recuperación. Un uso elevado (0,9) con una integridad baja (0,3) indica que el sistema recupera información precisa pero incompleta. Por ejemplo, cuando se le pregunta sobre las causas de la Segunda Guerra Mundial, el sistema podría recuperar perfectamente información sobre la invasión de Polonia pero perder otros factores cruciales. Este escenario puede indicar que hay fragmentos con información relevante que no se usaron como parte del contexto. Para abordar este escenario, considere la posibilidad de devolver más fragmentos, evaluar la estrategia de clasificación de fragmentos y evaluar el mensaje.
Base, uso y similitud
Las métricas de solidez, uso y similitud ayudan a identificar el estado en que el sistema mantiene la verdad al transformar la información. Un nivel alto de base (0,9) y uso (0,9) con baja similitud (0,3) indican que el sistema utiliza datos de base precisos, pero parafrasea mal. Para abordar este escenario, evalúe las solicitudes. Modifique el mensaje y pruebe los resultados.
Documentación, informes y agregación
Debe documentar los hiperparámetros que elija para un experimento y las métricas de evaluación resultantes para que pueda comprender cómo afectan los hiperparámetros a los resultados. Debe documentar los hiperparámetros y resultados en niveles granulares, como la inserción o la evaluación de búsqueda y en un nivel de macro, como probar todo el sistema de un extremo a otro.
Durante el diseño y el desarrollo, es posible que pueda realizar un seguimiento manual de los hiperparámetros y los resultados. Sin embargo, realizar varias evaluaciones con toda la colección de documentos y consultas de prueba puede implicar cientos de ejecuciones de evaluación y miles de resultados. Debe automatizar la persistencia de parámetros y resultados para las evaluaciones.
Después de almacenar los hiperparámetros y los resultados, debe considerar crear gráficos y diagramas para ayudarte a visualizar cómo afectan los hiperparámetros a las métricas. La visualización le ayuda a identificar qué opciones conducen a caídas o picos de rendimiento.
Es importante comprender que el diseño y la evaluación de la solución RAG no es una operación única. La colección de documentos cambia con el tiempo. Las preguntas que tus clientes hacen cambian con el tiempo, y tu comprensión de los tipos de preguntas evoluciona a medida que aprendes de la producción. Debe volver a revisar este proceso una y otra vez. Mantener la documentación de las evaluaciones anteriores es fundamental para los futuros esfuerzos de diseño y evaluación.
Acelerador de experimentos RAG
Estos artículos le guiarán por todas las fases y opciones de diseño implicadas en el diseño y evaluación de una solución RAG. Los artículos se centran en lo que debe hacer, no en cómo hacerlo. Un equipo de ingeniería que trabaja con los principales clientes de Microsoft desarrolló una herramienta denominada Acelerador de experimentos RAG. El Acelerador de experimentos RAG es un marco de experimentación de última generación. Se diseñó para optimizar y mejorar el desarrollo de soluciones RAG. El Acelerador de experimentos RAG permite a los investigadores y desarrolladores explorar y ajustar eficazmente los componentes críticos que impulsan el rendimiento de RAG. En última instancia, esta innovación da como resultado una generación de texto más precisa y coherente.
El Acelerador de experimentos RAG usa una interfaz de línea de comandos, por lo que puede experimentar fácilmente con varios modelos de inserción, refinar estrategias de fragmentación y evaluar diferentes enfoques de búsqueda para desbloquear todo el potencial del sistema RAG. Permite centrarse en los aspectos básicos del desarrollo de RAG mediante una configuración sencilla para el ajuste de hiperparámetros.
El marco también proporciona compatibilidad completa con la configuración del modelo de lenguaje. Este apoyo le ayuda a alcanzar el equilibrio perfecto entre la complejidad del modelo y la calidad de la generación. Esta herramienta le ayuda a simplificar el proceso de experimentación, ahorrar tiempo y mejorar significativamente el rendimiento de los modelos RAG.
RAG con Vision Application Framework
Gran parte de las instrucciones de este artículo sobre cómo trabajar con medios en la solución RAG proviene de otro equipo de ingeniería que trabaja con los principales clientes de Microsoft. Este equipo escribió un marco denominado RAG con Vision Application Framework. Este marco proporciona una canalización RAG basada en Python que procesa el contenido de texto e imagen de documentos MHTML.
El marco carga, fragmenta y enriquece texto e imágenes de archivos MHTML. A continuación, ingiere los fragmentos en Búsqueda de Azure AI. El marco implementa el almacenamiento en caché para el enriquecimiento de imágenes para el procesamiento y la rentabilidad. El marco también incorpora la evaluación como parte del proceso.
Colaboradores
Microsoft mantiene este artículo. Originalmente fue escrito por los siguientes colaboradores.
- Raouf Aliouat | Ingeniero de software II
- Rob Bagby | Líder de Contenido del Centro de Arquitectura Principal
- Paul Butler | Ingeniero de software
- Prabal Deb | Ingeniero principal de software
- Soubhi Hadri | Científico de datos sénior
- Ritesh Modi | Ingeniero principal
- Ryan Pfalz | Jefe de programas técnicos sénior
- mahdi Setayesh | Ingeniero principal de software
- Randy Thurman | Arquitecto principal de soluciones en la nube de IA