Envío de una ejecución por lotes y evaluación de un flujo
Para evaluar el rendimiento del flujo con un conjunto de datos grande, puede enviar ejecuciones por lotes y usar métodos de evaluación integrados en el flujo de avisos.
En este artículo, aprenderá a:
- Envío de una ejecución por lotes y uso de un método de evaluación integrado
- Visualización del resultado y las métricas de evaluación
- Inicio de una nueva ronda de evaluación
- Comprobación del historial de ejecución por lotes y comparación de métricas
- Descripción de las métricas de evaluación integradas
- Formas de mejorar el rendimiento del flujo
- Lecturas adicionales: Guía para crear conjuntos de datos dorados usados para el control de calidad de Copilot
Para empezar a probar y evaluar rápidamente el flujo, siga este tutorial de vídeo sobre el envío de ejecución por lotes y la evaluación de un flujo.
Requisitos previos
Para ejecutar una ejecución por lotes y usar un método de evaluación, debe tener listo lo siguiente:
- Un conjunto de datos de prueba para la ejecución por lotes. El conjunto de datos debe tener uno de estos formatos:
.csv
,.tsv
o.jsonl
. Los datos también deben incluir encabezados que coincidan con los nombres de entrada del flujo. Lectura adicional: Si va a crear su propio copiloto, se recomienda hacer referencia a Guía para crear conjuntos de datos dorados usados para el control de calidad de Copilot.
Envío de una ejecución por lotes y uso de un método de evaluación integrado
Una ejecución por lotes le permite ejecutar el flujo con un conjunto de datos grande y generar salidas para cada fila de datos. También puede elegir un método de evaluación para comparar la salida del flujo con determinados criterios y objetivos. Un método de evaluación es un tipo especial de flujo que calcula las métricas de la salida del flujo en función de distintos aspectos. Se llevará a cabo una ejecución de evaluación para calcular las métricas cuando se envíen con la ejecución por lotes.
Para iniciar una ejecución por lotes con evaluación, puede seleccionar el botón "Evaluar" en la esquina superior derecha de la página del flujo.
Para enviar una ejecución por lotes, puede seleccionar un conjunto de datos con el que probar el flujo. También puede seleccionar un método de evaluación para calcular las métricas de la salida del flujo. Si no quiere usar un método de evaluación, puede omitir este paso y ejecutar la ejecución por lotes sin calcular ninguna métrica. También puede iniciar una nueva ronda de evaluación más adelante.
En primer lugar, se le pedirá que asigne un nombre descriptivo y reconocible a la ejecución por lotes. También puede escribir una descripción y agregar etiquetas (pares clave-valor) a la ejecución por lotes. Tras finalizar la configuración, seleccione "Siguiente" para continuar.
En segundo lugar, seleccione o cargue el conjunto de datos con el que quiera probar el flujo.
El flujo de avisos también admite la asignación de la entrada de flujo a una columna de datos específica del conjunto de datos. Esto significa que puede asignar una columna a una entrada determinada. Puede asignar una columna a una entrada si le hace referencia con el formato ${data.XXX}
. Si quiere asignar un valor constante a una entrada, puede escribirlo directamente.
Después, en el paso siguiente, puede decidir usar un método de evaluación para validar el rendimiento de esta ejecución inmediatamente o más adelante. Para una ejecución por lotes completada, todavía se puede agregar una nueva ronda de evaluación.
Puede seleccionar directamente el botón "Siguiente" para omitir este paso y ejecutar la ejecución por lotes sin usar ningún método de evaluación para calcular las métricas. De esta manera, esta ejecución por lotes solo genera salidas para el conjunto de datos. Puede comprobar manualmente las salidas, o bien exportarlas para analizarlas posteriormente con otros métodos.
De lo contrario, si quiere ejecutar ahora una ejecución por lotes con evaluación, puede seleccionar uno o varios métodos de evaluación en función de la descripción proporcionada. Puede seleccionar el botón "Más detalles" para ver más información sobre el método de evaluación seleccionado, como las métricas que genera y las conexiones y entradas que necesita.
Vaya al paso siguiente y configure las opciones de evaluación. En la sección "Asignación de evaluación de entrada", debe especificar los orígenes de los datos de entrada necesarios para el método de evaluación. Por ejemplo, la columna de verdad básica puede provenir de un conjunto de datos. De manera predeterminada, la evaluación usa el mismo conjunto de datos que el conjunto de datos de prueba proporcionado a la ejecución probada. Pero si las etiquetas correspondientes o los valores de verdad fundamental de destino están en otro conjunto de datos, puede cambiar fácilmente a ese.
Por tanto, para ejecutar una evaluación, debe indicar los orígenes de estas entradas necesarias. Para ello, al enviar una evaluación, consulte una sección "Asignación de entrada de evaluación".
- Si el origen de datos procede de la salida de la ejecución, el origen se indica como "${ejecución.salida.[NombreDeLaSalida]}"
- Si el origen de datos procede del conjunto de datos de prueba, el origen se indica como "${datos.[NombreDeLaColumna]}"
Nota:
Si la evaluación no necesita datos del conjunto de datos, no es necesario hacer referencia a ninguna columna del conjunto de datos de la sección de asignación de entradas, lo que indica que la selección del conjunto de datos es una configuración opcional. La selección del conjunto de datos no afectará al resultado de la evaluación.
Si un método de evaluación usa modelos de lenguaje grandes (LLM) para medir el rendimiento de la respuesta del flujo, también tendrá que establecer conexiones para los nodos de LLM en los métodos de evaluación.
Nota:
Algunos métodos de evaluación requieren GPT-4 o GPT-3 para ejecutarse. Debe proporcionar conexiones válidas para estos métodos de evaluación antes de usarlos. Algunos procesos de evaluación pueden ocupar una gran cantidad de tokens, por lo que se recomienda usar un modelo que admita >=16 000 tokens.
Después de finalizar la asignación de entradas, seleccione "Siguiente" para revisar la configuración y seleccione "Enviar" para iniciar la ejecución por lotes con evaluación.
Nota:
Las ejecuciones por lotes tienen una duración máxima de 10 horas. Si una ejecución por lotes supera este límite, se finalizará y se marcará como errónea. Se recomienda supervisar la capacidad del modelo de lenguaje grande (LLM) para evitar la limitación. Si es necesario, considere la posibilidad de reducir el tamaño de los datos. Si sigue experimentando problemas o necesita más ayuda, no dude en ponerse en contacto con nuestro equipo de productos a través del formulario de comentarios o la solicitud de soporte técnico.
Visualización del resultado y las métricas de evaluación
Después del envío, puede encontrar la ejecución por lotes enviada en la pestaña de la lista de ejecuciones en la página del flujo de avisos.
Seleccione una ejecución para ir a la página Ejecutar resultado para comprobar los resultados de esta ejecución por lotes.
Output
Resultado y seguimiento básicos
Esto le dirigirá primero a la pestaña Salida para ver las entradas y salidas línea por línea. En la página de pestaña de salida se muestra una lista de resultados de tabla, incluido el Id. de línea, entrada, salida, estado, métricas del sistemay hora de creación.
Para cada línea, seleccionar Ver seguimiento le permite observar y depurar ese caso de prueba concreto en su página detallada de seguimiento.
Anexar el resultado y el seguimiento de la evaluación
Al seleccionar Anexar salida de evaluación permite seleccionar ejecuciones de evaluación relacionadas y verá columnas anexadas al final de la tabla que muestra el resultado de evaluación para cada fila de datos. Se pueden anexar varias salidas de evaluación para la comparación.
Puede ver las métricas de evaluación más recientes en el panel información general de izquierda.
Información general esencial
En el lado derecho, la información general ofrece información general sobre la ejecución, como el número de ejecuciones por punto de datos, tokens totales y duración de la ejecución.
Las métricas agregadas de ejecución de evaluación más recientes se muestran aquí de forma predeterminada, puede seleccionar Ver ejecución de evaluación para saltar para ver la propia ejecución de evaluación.
La información general se puede expandir y contraer aquí, y puede seleccionar Ver información completa, que le dirigirá a la pestaña Información general junto a la pestaña Salida, donde contiene información más detallada de esta ejecución.
Inicio de una nueva ronda de evaluación
Si ya ha completado una ejecución por lotes, puede iniciar otra ronda de evaluación y enviar una nueva ejecución de evaluación para calcular las métricas de las salidas sin volver a ejecutar el flujo. Esto le resultará útil y le ahorrará el gasto de volver a ejecutar el flujo en los siguientes casos:
- no ha seleccionado un método de evaluación para calcular las métricas al enviar la ejecución por lotes y decide hacerlo ahora.
- Si ya ha usado el método de evaluación para calcular una métrica. Puede iniciar otra ronda de evaluación para calcular otra métrica.
- Si se ha producido un error en la ejecución de evaluación, pero el flujo ha generado correctamente las salidas. Puede volver a enviar la evaluación.
Puede seleccionar Evaluar para iniciar otra ronda de evaluación.
Después de establecer la configuración, puede seleccionar "Enviar" para esta nueva ronda de evaluación. Tras el envío, verá un nuevo registro en la lista de ejecuciones del flujo de avisos. Una vez que se complete la ejecución de evaluación, de forma similar, puede comprobar el resultado de la evaluación en la pestaña "Salidas" del panel de detalles de la ejecución por lotes. Debe seleccionar la nueva ejecución de evaluación para ver el resultado.
Para más información sobre las métricas calculadas por los métodos de evaluación integrados, vaya a Descripción de las métricas de evaluación integradas.
Información general
Al seleccionar la pestaña Información general se muestra información completa sobre la ejecución, incluidas las propiedades de ejecución, el conjunto de datos de entrada, el conjunto de datos de salida, las etiquetas y la descripción.
Registros
Si selecciona la pestaña Registros permite ver los registros de ejecución, lo que puede resultar útil para la depuración detallada de errores de ejecución. Puede descargar los archivos de registro en el equipo local.
Depurador de
Al seleccionar la pestaña instantánea se muestra la instantánea de ejecución. Puede ver el DAG del flujo. Además, tiene la opción de Clonar para crear un nuevo flujo. También puede Implementar como punto de conexión en línea.
Comprobación del historial de ejecución por lotes y comparación de métricas
En algunos escenarios, modificará el flujo para mejorar el rendimiento. Puede enviar varias ejecuciones de lotes para comparar el rendimiento del flujo con versiones diferentes. También puede comparar las métricas calculadas por diferentes métodos de evaluación para ver cuál es más adecuada para el flujo.
Para comprobar el historial de ejecuciones por lotes del flujo, puede seleccionar el botón "Ver ejecución por lotes" en la esquina superior derecha de la página del flujo. Verá una lista de las ejecuciones por lotes que se han enviado para este flujo.
Puede seleccionar cada ejecución por lotes para comprobar los detalles. También puede seleccionar varias ejecuciones por lotes y seleccionar en el "Visualizar salidas" para comparar las métricas y las salidas de este lote.
En el panel "Visualizar salida", en la tabla Ejecuciones y métricas se muestra la información de las ejecuciones seleccionadas con resaltado. También se muestran otras ejecuciones que toman las salidas de las ejecuciones seleccionadas como entrada.
En la tabla "Salidas", puede comparar las ejecuciones por lotes seleccionadas por cada línea de ejemplo. Al seleccionar el icono de "visualización ocular" en la tabla "Ejecuciones y métricas", las salidas de esa ejecución se anexarán a la ejecución base correspondiente.
Descripción de las métricas de evaluación integradas
En el flujo de avisos, se proporcionan varios métodos de evaluación integrados para ayudarle a medir el rendimiento de la salida del flujo. Cada método de evaluación calcula métricas diferentes. Ahora proporcionamos nueve métodos de evaluación integrados disponibles. Puede comprobar la tabla siguiente para obtener una referencia rápida:
Método de evaluación | Métricas | Descripción | Conexión obligatoria | Entrada necesaria | Valor de la puntuación |
---|---|---|---|---|---|
Evaluación de precisión de clasificación | Precisión | Mide el rendimiento de un sistema de clasificación comparando sus resultados con la verdad terreno. | No | predicción, verdad terreno | en el rango [0, 1]. |
Evaluación en pares de puntuaciones de relevancia de QnA | Puntuación, acierto/error | Evalúa la calidad de las respuestas generadas por un sistema de respuesta a preguntas. Implica asignar puntuaciones de relevancia a cada respuesta en función del nivel de coincidencia con la pregunta del usuario, comparar diferentes respuestas con una respuesta de referencia y agregar los resultados para producir métricas, como los índices de aciertos medios y las puntuaciones de relevancia. | Sí | pregunta, respuesta (sin verdad terreno ni contexto) | Puntuación: 0-100. Acierto/error: 1/0 |
Evaluación de base de QnA | Base | Mide hasta qué punto las respuestas predichas por el modelo se basan en el origen de entrada. Si las respuestas de LLM no se pueden contrastar con el origen, incluso aunque sean ciertas, son infundadas. | Sí | pregunta, respuesta, contexto (sin verdad terreno) | De 1 a 5, siendo 1 la peor puntuación y 5 la mejor. |
Evaluación de similitud de QnA GPT | Similitud de GPT | Mide la similitud entre las respuestas de verdad básica proporcionadas por el usuario y la respuesta predicha del modelo con el modelo GPT. | Sí | pregunta, respuesta, verdad terreno (contexto no necesario) | De 1 a 5, siendo 1 la peor puntuación y 5 la mejor. |
Evaluación de relevancia de QnA | Relevancia | Mide la relevancia de las respuestas predichas por el modelo con respecto a las preguntas formuladas. | Sí | pregunta, respuesta, contexto (sin verdad terreno) | De 1 a 5, siendo 1 la peor puntuación y 5 la mejor. |
Evaluación de coherencia de QnA | Coherencia | Mide la calidad de todas las frases de la respuesta predicha por un modelo y la naturalidad con la que combinan entre sí. | Sí | pregunta, respuesta (sin verdad terreno ni contexto) | De 1 a 5, siendo 1 la peor puntuación y 5 la mejor. |
Evaluación de fluidez de QnA | Fluidez | Mide la corrección gramatical y lingüística de la respuesta predicha por el modelo. | Sí | pregunta, respuesta (sin verdad terreno ni contexto) | De 1 a 5, siendo 1 la peor puntuación y 5 la mejor. |
Evaluación de puntuaciones de QnA f1 | Puntuación F1 | Mide la proporción del número de palabras compartidas entre la predicción del modelo y la verdad terreno. | No | pregunta, respuesta, verdad terreno (contexto no necesario) | en el rango [0, 1]. |
Evaluación de similitud de QnA Ada | Similitud de Ada | Calcula las inserciones a nivel de frase (documento) usando la API de inserciones de Ada tanto para la verdad terreno como para la predicción. A continuación, calcula la similitud coseno entre ellas (un número de punto flotante) | Sí | pregunta, respuesta, verdad terreno (contexto no necesario) | en el rango [0, 1]. |
Formas de mejorar el rendimiento del flujo
Después de comprobar las métricas integradas de la evaluación, puede intentar mejorar el rendimiento del flujo haciendo lo siguiente:
- Comprobar los datos de salida para depurar cualquier posible error del flujo.
- Modificar el flujo para mejorar su rendimiento. Entre otras cosas, esto incluye lo siguiente:
- Modificar la solicitud
- Modificar el mensaje del sistema
- Modificar los parámetros del flujo
- Modificar la lógica del flujo
La construcción de la solicitud puede ser difícil. Proporcionamos una introducción a la ingeniería de solicitudes para ayudarle a obtener información sobre el concepto de construcción de una solicitud que le permita lograr su objetivo. Vea las técnicas de ingeniería de avisos para más información sobre cómo construir un aviso que le permita lograr el objetivo.
Mensaje de sistema, a veces denominado metaprompt o system prompt que puede utilizarse para guiar el comportamiento de un sistema de IA y mejorar el rendimiento del sistema. Lea este documento sobre Recomendaciones sobre el marco de mensajes del sistema y plantillas para grandes modelos lingüísticos (LLM) para obtener información sobre cómo mejorar el rendimiento del flujo con el mensaje del sistema.
Lecturas adicionales: Guía para crear conjuntos de datos dorados usados para el control de calidad de Copilot
La creación de un copiloto que usa modelos de lenguaje grande (LLM) suele implicar la puesta en tierra del modelo en realidad mediante conjuntos de datos de origen. Pero para asegurarse de que los LLM proporcionan las respuestas más precisas y útiles a las consultas de los clientes, es necesario un "Conjunto de datos dorado".
Un Conjunto de datos dorado es una colección de preguntas realistas de los clientes y respuestas diseñadas de forma experta. Sirve como herramienta de control de calidad para los LLM que usa Copilot. Los conjuntos de datos Golden no se usan para entrenar un LLM ni insertar contexto en un símbolo del sistema LLM. En su lugar, se usan para evaluar la calidad de las respuestas generadas por el LLM.
Si el escenario implica un copiloto o si está en proceso de crear uno propio, se recomienda consultar este documento específico: Generación de conjuntos de datos dorados: instrucciones para crear conjuntos de datos dorados usados para el control de calidad de Copilot para obtener instrucciones y procedimientos recomendados más detallados.
Pasos siguientes
En este documento, ha aprendido a enviar una ejecución por lotes y a usar un método de evaluación integrado para medir la calidad de la salida del flujo. También ha aprendido a ver el resultado y las métricas de evaluación, y a iniciar una nueva ronda de evaluación con otro método o subconjunto de variantes. Esperamos que este documento le ayude a mejorar el rendimiento del flujo y a lograr sus objetivos con el flujo de solicitudes.