Enviar una ejecución por lotes para evaluar un flujo
Una ejecución por lotes ejecuta un flujo de aviso con un conjunto de datos grande y genera resultados para cada fila de datos. Para evaluar el rendimiento del flujo de avisos con un conjunto de datos grande, puede enviar una ejecución por lotes y usar métodos de evaluación para generar métricas y puntuaciones de rendimiento.
Una vez completado el flujo por lotes, los métodos de evaluación se ejecutan automáticamente para calcular las puntuaciones y las métricas. Puede usar las métricas de evaluación para evaluar la resultado del flujo con respecto a los criterios y objetivos de rendimiento.
En este artículo se describe cómo enviar una ejecución por lotes y usar un método de evaluación para medir la calidad de la resultado del flujo. Aprenderá a ver el resultado y las métricas de evaluación y a iniciar una nueva ronda de evaluación con un método o subconjunto de variantes diferente.
Requisitos previos
Para ejecutar un flujo por lotes con un método de evaluación, necesita los siguientes componentes:
Un flujo de avisos de Azure Machine Learning en funcionamiento cuyo rendimiento desea probar.
Conjunto de datos de prueba que se va a usar para la ejecución por lotes.
El conjunto de datos de prueba debe estar en formato CSV, TSV o JSONL y debe tener encabezados que coincidan con los nombres de entrada del flujo. Sin embargo, puede asignar diferentes columnas de conjunto de datos a columnas de entrada durante el proceso de instalación de la ejecución de evaluación.
Crear y enviar una ejecución por lotes de evaluación
Para enviar una ejecución por lotes, seleccione el 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 desea usar un método de evaluación, puede omitir los pasos de evaluación y ejecutar la ejecución por lotes sin calcular ninguna métrica. También puede ejecutar una ronda de evaluación más adelante.
Para iniciar una ejecución por lotes con o sin evaluación, seleccione Evaluar en la parte superior de la página del flujo de avisos.
En la página Configuración básica del asistente de Ejecución y evaluación por lotes, personalice el nombre para mostrar de la ejecución si lo desea y, opcionalmente, ejecute una descripción de la ejecución y etiquetas. Seleccione Siguiente.
En la página configuración de ejecución de Batch, seleccione el conjunto de datos para usar y configurar la asignación de entrada.
El flujo de avisos admite la asignación de la entrada del flujo a una columna de datos específica del conjunto de datos. Puede asignar una columna de conjunto de datos a una determinada entrada mediante
${data.<column>}
. Si desea asignar un valor constante a una entrada, puede escribir ese valor directamente.Puede seleccionar Revisar y enviar en este momento para omitir los pasos de evaluación y ejecutar la ejecución por lotes sin usar ningún método de evaluación. A continuación, la ejecución por lotes genera resultados individuales para cada elemento del conjunto de datos. Puede comprobar las resultados manualmente o exportarlas para su posterior análisis.
De lo contrario, para usar un método de evaluación para validar el rendimiento de esta ejecución, seleccione Siguiente. También puede agregar una nueva ronda de evaluación a una ejecución por lotes completada.
En la página Seleccionar evaluación, seleccione una o varias evaluaciones personalizadas o integradas que se van a ejecutar. Puede seleccionar el botón Ver 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.
A continuación, en la pantalla Configurar evaluación, especifique los orígenes de las entradas necesarias para la evaluación. Por ejemplo, la columna de verdad del suelo podría provenir de un conjunto de datos. De forma predeterminada, la evaluación usa el mismo conjunto de datos que la ejecución por lotes general. Sin embargo, si las etiquetas correspondientes o los valores de verdad del suelo de destino están en un conjunto de datos diferente, puede usar esa.
Nota:
Si el método de evaluación no requiere datos de un conjunto de datos, la selección del conjunto de datos es una configuración opcional que no afecta a los resultados de la evaluación. No es necesario seleccionar un conjunto de datos ni hacer referencia a ninguna columna de conjunto de datos en la sección asignación de entrada.
En la sección Asignación de entrada de evaluación, indique los orígenes de las entradas necesarias para la evaluación.
- Si los datos proceden del conjunto de datos de prueba, establezca el origen como
${data.[ColumnName]}
. - Si los datos proceden de la resultado de ejecución, establezca el origen como
${run.outputs.[OutputName]}
.
- Si los datos proceden del conjunto de datos de prueba, establezca el origen como
Algunos métodos de evaluación requieren modelos de lenguaje grande (LLM), como GPT-4 o GPT-3, o necesitan otras conexiones para consumir credenciales o claves. Para esos métodos, debe escribir los datos de conexión en la sección Conexión de la parte inferior de esta pantalla para poder usar el flujo de evaluación. Para obtener más información, consulte Configurar una conexión.
Seleccione Revisar y enviar para revisar la configuración y, a continuación, seleccione Enviar para iniciar la ejecución por lotes con evaluación.
Nota:
- Algunos procesos de evaluación usan muchos tokens, por lo que se recomienda usar un modelo que admita >=16 000 tokens.
- Las ejecuciones por lotes tienen una duración máxima de 10 horas. Si una ejecución por lotes supera este límite, finaliza y se muestra como erróneo. Supervise la capacidad de LLM para evitar la limitación. Si es necesario, considere la posibilidad de reducir el tamaño de los datos. Si sigue teniendo problemas, envíe un formulario de comentarios o una solicitud de soporte técnico.
Ver los resultados y las métricas de la evaluación
Puede encontrar la lista de ejecuciones por lotes enviadas en la pestaña Ejecuciones en la página flujo de avisos del Estudio de Azure Machine Learning.
Para comprobar los resultados de una ejecución por lotes, seleccione la ejecución y, a continuación, seleccione Visualizar resultados.
En la pantalla Visualizar resultados, la sección Ejecuciones y métricas muestra los resultados generales de la ejecución por lotes y la ejecución de evaluación. En la sección Resultados se muestra la línea por línea de las entradas de ejecución en una tabla de resultados que también incluye el identificador de línea, la ejecución, el estadoy las métricas del sistema.
Si habilita el icono Ver junto a la ejecución de evaluación en la sección Ejecuciones y métricas, la tabla resultados también muestra la puntuación de evaluación o la calificación de cada línea.
Seleccione el icono Ver detalles situado junto a cada línea de la tabla resultados para observar y depurar la Vista de seguimiento y Detalles para ese caso de prueba. La vista Seguimiento muestra información como el número de tokens y la duración de ese caso. Expanda y seleccione cualquier paso para ver la descripción general y las entradas para ese paso.
También puede ver los resultados de la ejecución de evaluación desde el flujo de avisos que ha probado. En Ver ejecucionespor lotes, seleccione Ver ejecuciones por lotes para ver la lista de ejecuciones por lotes del flujo o seleccione Ver resultados de ejecución por lotes más recientes para ver las resultados de la última ejecución.
En la lista de ejecución por lotes, seleccione un nombre de ejecución por lotes para abrir la página de flujo de esa ejecución.
En la página de flujo de una ejecución de evaluación, seleccione Ver resultados o Detalles para ver los detalles del flujo. También puede clonar el flujo para crear un nuevo flujo o implementarlo como punto de conexión en línea.
En la pantalla Detalles:
La pestaña Información general 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 resultado, las etiquetas y la descripción.
La pestaña Resultados muestra un resumen de los resultados en la parte superior de la página, seguido de la tabla de resultados de ejecución por lotes. Si selecciona la ejecución de evaluación junto a Anexar resultados relacionados, la tabla también muestra los resultados de la ejecución de evaluación.
En la pestaña de registros se muestran los registros de ejecución, que pueden ser útiles para la depuración detallada de errores de ejecución. Puede descargar los archivos de registro.
La pestaña Métricas proporciona un vínculo a las métricas de la ejecución.
La pestaña Seguimiento muestra información detallada, como el número de tokens y la duración para cada caso de prueba. Expanda y seleccione cualquier paso para ver la descripción general y las entradas para ese paso.
La pestaña Instantánea muestra los archivos y el código de la ejecución. Puede ver la definición de flujo flow.dag.yaml y descargar cualquiera de los archivos.
Iniciar una nueva ronda de evaluación para la misma ejecución
Puede ejecutar una nueva ronda de evaluación para calcular las métricas de una ejecución por lotes completada sin volver a ejecutar el flujo. Este proceso ahorra el coste de volver a ejecutar el flujo y resulta útil en los escenarios siguientes:
- No seleccionó un método de evaluación cuando envió una ejecución por lotes y ahora quiere evaluar el rendimiento de la ejecución.
- Ha usado un método de evaluación para calcular una determinada métrica y ahora desea calcular una métrica diferente.
- Error en la ejecución de evaluación anterior, pero la ejecución por lotes generó correctamente las resultados y quiere volver a intentar la evaluación.
Para iniciar otra ronda de evaluación, seleccione Evaluar en la parte superior de la página flujo de ejecución por lotes. El Asistente para nueva evaluación se abre en la pantalla Seleccionar evaluación. Complete la configuración y envíe la nueva ejecución de evaluación.
La nueva ejecución aparece en la lista de ejecuciones del flujo de avisos y puede seleccionar más de una fila en la lista y luego seleccionar Visualizar resultados para comparar los resultados y las métricas.
Comparar el historial y las métricas de ejecución de evaluación
Si modifica el flujo para mejorar su rendimiento, puede enviar varias ejecuciones por lotes para comparar el rendimiento de las distintas versiones de flujo. También puede comparar las métricas calculadas por diferentes métodos de evaluación para ver qué método es más adecuado para el flujo.
Para comprobar el historial de ejecución por lotes de flujo, seleccione Ver ejecuciones por lotes en la parte superior de la página de flujo. Puede seleccionar cada ejecución para comprobar los detalles. También puede seleccionar varias ejecuciones y seleccionar Visualizar salidas para comparar las métricas y las salidas de esas ejecuciones.
Descripción de las métricas de evaluación integradas
El flujo de avisos de Azure Machine Learning proporciona varios métodos de evaluación integrados para ayudarlo a medir el rendimiento del resultado del flujo. Cada método de evaluación calcula métricas diferentes. En la tabla siguiente se describen los métodos de evaluación integrados disponibles.
Método de evaluación | Métrica | Descripción | ¿Conexión obligatoria? | Entrada necesaria | Valores de 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 de base de QnA | Base | Mide hasta qué punto las respuestas predichas por el modelo se basan en el origen de entrada. Incluso si las respuestas LLM son precisas, no se encuentran en primer plano si no son verificables en el origen. | Sí | pregunta, respuesta, contexto (sin verdad terreno) | De 1 a 5, con 1 = peor y 5 = 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, con 1 = peor y 5 = 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, con 1 = peor y 5 = 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, con 1 = peor y 5 = mejor |
Evaluación de fluidez de QnA | Fluidez | Mide la corrección gramatical y lingüística de la respuesta prevista del modelo | Sí | pregunta, respuesta (sin verdad terreno ni contexto) | De 1 a 5, con 1 = peor y 5 = 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 incrustaciones de nivel de oración (documento) mediante la API de incrustaciones de Ada para la verdad de la tierra y la predicción y, 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] |
Mejora del rendimiento del flujo
Si se produce un error en la ejecución, compruebe los datos de resultado y registro y depure cualquier error de flujo. Para corregir el flujo o mejorar el rendimiento, pruebe a modificar el mensaje del flujo, el mensaje del sistema, los parámetros de flujo o la lógica de flujo.
Ingeniería de solicitudes
La construcción de la solicitud puede ser difícil. Para obtener información sobre los conceptos de construcción rápida, consulte Información general de los mensajes. Para obtener información sobre cómo crear un mensaje que pueda ayudar a lograr sus objetivos, consulte Técnicas de ingeniería de avisos.
Mensaje del sistema
Puede usar el mensaje del sistema, que a veces se conoce como metaprompt o símbolo del sistema, para guiar el comportamiento de un sistema de inteligencia artificial y mejorar el rendimiento del sistema. Para obtener información sobre cómo mejorar el rendimiento del flujo con mensajes del sistema, consulte Creación paso a paso de mensajes del sistema.
Conjuntos de datos dorados
La creación de un copiloto que usa LLM normalmente implica la puesta en tierra del modelo en realidad mediante conjuntos de datos de origen. Un conjunto de datos dorados ayuda a garantizar que los LLM brinden las respuestas más precisas y útiles a las consultas de los clientes.
Un conjunto de datos dorado es una colección de preguntas realistas de los clientes y respuestas diseñadas de forma experta que sirven como una herramienta de control de calidad para los LLM que usa su copiloto. Los conjuntos de datos dorado no se usan para entrenar un LLM ni insertar contexto en un símbolo del sistema LLM, pero para evaluar la calidad de las respuestas que genera LLM.
Si su escenario implica un copiloto o está creando su propio copiloto, consulte Producir conjuntos de datos dorados para obtener instrucciones detalladas y procedimientos recomendados.