Compartir a través de


Optimización de solicitudes mediante variantes con Inteligencia artificial de Azure Studio

Importante

Los elementos marcados (versión preliminar) en este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

En este artículo, le mostraremos cómo utilizar las variantes para ajustar las solicitudes y evaluar el rendimiento de las diferentes variantes.

La creación de un buen mensaje es una tarea difícil que requiere mucha creatividad, claridad y relevancia. Una buena solicitud puede obtener el resultado deseado de un modelo de lenguaje previamente entrenado, mientras que una mala solicitud puede conducir a resultados inexactos, irrelevantes o sin sentido. Por lo tanto, es necesario ajustar las solicitudes para optimizar su rendimiento y solidez en diferentes tareas y dominios.

Las variantes pueden ayudarle a probar el comportamiento del modelo en condiciones diferentes, como diferentes palabras, formato, contexto, temperatura o k superior. Puede comparar y encontrar la mejor solicitud y configuración que maximice la precisión, la diversidad o la coherencia del modelo.

Variantes en el flujo de avisos

Con el flujo de avisos, puede usar variantes para ajustar la solicitud. Una variante hace referencia a una versión específica de un nodo de herramienta que tiene una configuración distintiva. Actualmente, las variantes solo se admiten en la herramienta de LLM. Por ejemplo, en la herramienta LLM, una nueva variante puede representar un contenido de solicitud diferente o una configuración de conexión diferente.

Supongamos que desea generar un resumen de un artículo de noticias. Puede establecer diferentes variantes de solicitudes y configuraciones como esta:

Variantes Prompt Configuración de conexión
Variante 0 Summary: {{input sentences}} Temperatura = 1
Variante 1 Summary: {{input sentences}} Temperatura = 0,7
Variante 2 What is the main point of this article? {{input sentences}} Temperatura = 1
Variante 3 What is the main point of this article? {{input sentences}} Temperatura = 0,7

Mediante el uso de diferentes variantes de solicitudes y configuraciones, puede explorar cómo responde el modelo a varias entradas y salidas, lo que le permite descubrir la combinación más adecuada para sus requisitos.

Entre las ventajas del uso de variantes se incluyen:

  • Mejorar la calidad de la generación de LLM: al crear varias variantes del mismo nodo LLM con diversas solicitudes y configuraciones, puede identificar la combinación óptima que genera contenido de alta calidad alineado con sus necesidades.
  • Ahorrar tiempo y esfuerzo: Incluso pequeñas modificaciones en un mensaje pueden producir resultados diferentes. Es fundamental realizar un seguimiento y comparar el rendimiento de cada versión de las solicitudes. Con variantes, puede administrar fácilmente las versiones históricas de los nodos LLM, lo que facilita las actualizaciones en función de cualquier variante sin el riesgo de olvidar las iteraciones anteriores. Ahorrar tiempo y esfuerzo en la administración del historial de optimización de solicitudes.
  • Aumentar la productividad: las variantes simplifican el proceso de optimización para los nodos LLM, lo que facilita la creación y administración de varias variaciones. Puede lograr resultados mejorados en menos tiempo, lo que aumenta la productividad general.
  • Facilitar una comparación sencilla: puede comparar sin esfuerzo los resultados obtenidos de diferentes variantes en paralelo, lo que le permite tomar decisiones controladas por datos con respecto a la variante que genera los mejores resultados.

¿Cómo ajustar los avisos mediante variantes?

En este artículo, usamos clasificación web flujo de ejemplo como ejemplo.

  1. Abra el flujo de ejemplo y elimine el nodo prepare_examples para empezar.
    1. En Herramientas seleccione Flujo de avisos.
    2. Seleccione Crear para abrir el asistente para la creación de flujos.
    3. En la galería de flujos en Explorar galería del cuadro "Clasificación web" seleccione Clonar.
    4. En la pestaña de flujos, elimine el nodo prepare_examples.
  2. Utilice la siguiente consulta como consulta de referencia en el nodo classify_with_llm.
Your task is to classify a given url into one of the following types:
Movie, App, Academic, Channel, Profile, PDF or None based on the text content information.
The classification will be based on the url, the webpage text content summary, or both.

For a given URL : {{url}}, and text content: {{text_content}}.
Classify above url to complete the category and indicate evidence.

The output shoule be in this format: {"category": "App", "evidence": "Both"} 
OUTPUT:

Para optimizar este flujo, puede haber múltiples formas, y a continuación se indican dos direcciones:

  • Para el nodo classify_with_llm: He aprendido de la comunidad y los documentos que una temperatura más baja da una mayor precisión, pero menos creatividad y sorpresa, por lo que una temperatura más baja es adecuada para las tareas de clasificación y también pocos disparos puede aumentar el rendimiento LLM. Por lo tanto, me gustaría probar cómo se comporta mi flujo cuando la temperatura se cambia de 1 a 0, y cuando el aviso es con pocos ejemplos.

  • Para summarize_text_content nodo: También quiero probar el comportamiento de mi flujo cuando cambio resumen de 100 palabras a 300, para ver si más contenido de texto puede ayudar a mejorar el rendimiento.

Crear variantes

  1. Seleccione Mostrar variantes en la parte superior derecha del nodo LLM. El nodo LLM existente es variant_0 y es la variante predeterminada.
  2. Seleccione el botón Clonar de la variante_0 para generar la variante_1. A continuación, puede configurar los parámetros con valores diferentes o actualizar el aviso de la variante_1.
  3. Repita el paso para crear más variantes.
  4. Seleccione Ocultar variantes para dejar de añadir más variantes. Todas las variantes están plegadas. Se muestra la variante predeterminada para el nodo.

Para clasificar_con_llm nodo, basado en la variante_0:

  • Cree la variante_1, donde la temperatura se cambia de 1 a 0.
  • Cree la variante_2, donde la temperatura es 0 y puede utilizar el siguiente aviso que incluye algunos ejemplos.
Your task is to classify a given url into one of the following types:
Movie, App, Academic, Channel, Profile, PDF or None based on the text content information.
The classification will be based on the url, the webpage text content summary, or both.

Here are a few examples:

URL: https://play.google.com/store/apps/details?id=com.spotify.music 
Text content: Spotify is a free music and podcast streaming app with millions of songs, albums, and original podcasts. It also offers audiobooks, so users can enjoy thousands of stories. It has a variety of features such as creating and sharing music playlists, discovering new music, and listening to popular and exclusive podcasts. It also has a Premium subscription option which allows users to download and listen offline, and access ad-free music. It is available on all devices and has a variety of genres and artists to choose from. 
OUTPUT: {"category": "App", "evidence": "Both"} 
		
URL: https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw 
Text content: NFL Sunday Ticket is a service offered by Google LLC that allows users to watch NFL games on YouTube. It is available in 2023 and is subject to the terms and privacy policy of Google LLC. It is also subject to YouTube's terms of use and any applicable laws. 
OUTPUT: {"category": "Channel", "evidence": "URL"} 
		
URL: https://arxiv.org/abs/2303.04671 
Text content: Visual ChatGPT is a system that enables users to interact with ChatGPT by sending and receiving not only languages but also images, providing complex visual questions or visual editing instructions, and providing feedback and asking for corrected results. It incorporates different Visual Foundation Models and is publicly available. Experiments show that Visual ChatGPT opens the door to investigating the visual roles of ChatGPT with the help of Visual Foundation Models. 
OUTPUT: {"category": "Academic", "evidence": "Text content"} 
		
URL: https://ab.politiaromana.ro/ 
Text content: There is no content available for this text. 
OUTPUT: {"category": "None", "evidence": "None"}
		
For a given URL : {{url}}, and text content: {{text_content}}.
Classify above url to complete the category and indicate evidence.
OUTPUT:    

Para el nodo summarize_text_content, basado en variant_0, puede crear variant_1 donde 100 words se cambia a 300 palabras en prompt.

Ahora, el flujo tiene el siguiente aspecto, 2 variantes para el nodo summarize_text_content y 3 para el nodo classify_with_llm.

Ejecute todas las variantes con una única fila de datos y compruebe los resultados

Para asegurarse de que todas las variantes pueden ejecutarse correctamente y funcionan como se espera, puede ejecutar el flujo con una única fila de datos para probarlo.

Nota

Cada vez puede seleccionar solo un nodo LLM con variantes para ejecutar mientras que otros nodos LLM utilizarán la variante predeterminada.

En este ejemplo, configuramos variantes tanto para el nodo summarize_text_content como para el nodo classify_with_llm, por lo que tendrá que ejecutar dos veces para probar todas las variantes.

  1. Seleccione el botón Ejecutar situado en la parte superior derecha.
  2. Seleccione un nodo LLM con variantes. Los demás nodos LLM usan la variante predeterminada.
  3. Envíe el proceso de flujo.
  4. Una vez finalizada la ejecución del flujo, puede comprobar el resultado correspondiente para cada variante.
  5. Envíe otra ejecución de flujo con el otro nodo LLM con variantes, y compruebe las salidas.
  6. Puede cambiar otros datos de entrada (por ejemplo, utilizar una URL de página de Wikipedia) y repetir los pasos anteriores para probar variantes para datos diferentes.

Evaluar las variantes

Al ejecutar las variantes con algunos datos únicos y comprobar los resultados con el simple ojo, no puede reflejar la complejidad y la diversidad de datos reales, mientras que la salida no es medible, por lo que es difícil comparar la eficacia de diferentes variantes y, a continuación, elegir lo mejor.

Puede enviar una ejecución por lotes, que le permite probar las variantes con una gran cantidad de datos y evaluarlas con métricas, para ayudarle a encontrar la más adecuada.

  1. Primero necesita preparar un conjunto de datos, que sea lo suficientemente representativo del problema del mundo real que desea resolver con el flujo de solicitudes. En este ejemplo, se trata de una lista de URL y su clasificación real. Usamos la precisión para evaluar el rendimiento de las variantes.

  2. Seleccione Evaluar en la parte superior derecha de la página.

  3. Aparece un asistente para Ejecutar por lotes y evaluar. El primer paso es seleccionar un nodo para ejecutar todas sus variantes.

    Para probar cómo funcionan diferentes variantes para cada nodo de un flujo, debe ejecutar una ejecución por lotes para cada nodo con variantes una por una. Esto le ayuda a evitar la influencia de las variantes de otros nodos y a centrarse en los resultados de las variantes de este nodo. Esto sigue la regla del experimento controlado, que significa que solo cambia una cosa cada vez y mantiene todo lo demás igual.

    Por ejemplo, puede seleccionar classify_with_llm nodo para ejecutar todas las variantes, el nodo summarize_text_content usa la variante predeterminada para esta ejecución por lotes.

  4. A continuación, en Configuración de la ejecución por lotes, puede establecer el nombre de la ejecución por lotes, elegir un tiempo de ejecución y cargar los datos preparados.

  5. A continuación, en Configuración de la evaluación, seleccione un método de evaluación.

    Dado que este flujo es para clasificación, puede seleccionar el método Evaluación de la precisión de la clasificación para evaluar la precisión.

    La precisión se calcula mediante la comparación de las etiquetas predichas asignadas por el flujo (predicción) con las etiquetas reales de los datos (verdad básica) y contando cuántas de ellas coinciden.

    En la sección Asignación de entrada de evaluación, debe especificar que la verdad básica procede de la columna de categoría del conjunto de datos de entrada, y que la predicción procede de una de las salidas del flujo: categoría.

  6. Después de revisar todas las configuraciones, puede enviar la ejecución por lotes.

  7. Una vez enviada la ejecución, seleccione el enlace y vaya a la página de detalles de la ejecución.

Nota:

La ejecución puede tardar varios minutos en completarse.

Visualización de salidas

  1. Una vez completadas la ejecución por lotes y la ejecución de evaluación, en la página de detalles de ejecución, seleccione las ejecuciones por lotes que sea necesario para cada variante y, a continuación, seleccione Visualizar salidas. Verá las métricas de 3 variantes para el nodo de classify_with_llm y las salidas previstas de LLM para cada registro de datos.
  2. Después de identificar qué variante es la mejor, puede volver a la página de creación de flujo y establecer esa variante como variante predeterminada del nodo
  3. Puede repetir los pasos anteriores para evaluar también las variantes del nodo summarize_text_content.

Ahora, ha terminado el proceso de ajuste de solicitudes mediante variantes. Puede aplicar esta técnica a su propio flujo de solicitudes para encontrar la mejor variante para el nodo LLM.

Pasos siguientes