Compartir vía


Evaluación de aplicaciones de IA generativas

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.

Los avances en los modelos de lenguaje, como GPT-4 a través del servicio Azure OpenAI, ofrecen una gran promesa mientras vienen con desafíos relacionados con la inteligencia artificial responsable. Si no se diseñan con cuidado, los sistemas desarrollados a partir de estos modelos pueden perpetuar los prejuicios sociales existentes, promover la desinformación, crear contenidos manipuladores o provocar una amplia gama de otras repercusiones negativas. Abordar estos riesgos al tiempo que se maximizan los beneficios para los usuarios es posible con un enfoque iterativo a través de cuatro fases: identificar, medir y mitigar, operar.

La fase de medición proporciona información crucial para dirigir el desarrollo hacia la calidad y la seguridad. Por un lado, esto incluye la evaluación del rendimiento y la calidad. Por otro lado, a la hora de evaluar el riesgo y la seguridad, esto incluye la evaluación de la predisposición de un sistema de IA hacia diferentes riesgos (cada uno de los cuales puede tener diferentes gravedades). En ambos casos, esto se consigue estableciendo métricas claras, creando conjuntos de pruebas y completando pruebas iterativas y sistemáticas. Esta fase de medición proporciona a los profesionales señales que sirven de base a las medidas de mitigación específicas, como la ingeniería de indicaciones y la aplicación de filtros de contenido. Una vez aplicadas las mitigaciones, se pueden repetir las evaluaciones para comprobar su eficacia.

Inteligencia artificial de Azure Studio proporciona a los profesionales herramientas para la evaluación manual y automatizada que pueden ayudarle en la fase de medición. Se recomienda empezar con la evaluación manual y, a continuación, continuar con la evaluación automatizada. La evaluación manual, es decir, revisar manualmente las salidas generadas de la aplicación, es útil para realizar un seguimiento del progreso en un pequeño conjunto de problemas de prioridad. A la hora de mitigar riesgos específicos, a menudo lo más productivo es seguir comprobando manualmente los progresos con un pequeño conjunto de datos hasta que ya no se observen evidencias de los riesgos, antes de pasar a la evaluación automatizada. La Inteligencia artificial de Azure Studio admite una experiencia de evaluación manual para la comprobación puntual de pequeños conjuntos de datos.

La evaluación automatizada es útil para medir la calidad y la seguridad a escala con una mayor cobertura para proporcionar resultados más completos. Las herramientas de evaluación automatizada también permiten evaluaciones en curso que se ejecutan periódicamente para supervisar la regresión a medida que evolucionan el sistema, el uso y las mitigaciones. Se admiten dos métodos principales para la evaluación automatizada de aplicaciones de IA generativas: evaluaciones tradicionales de aprendizaje automático y evaluación asistida por IA.

Medidas de aprendizaje automático tradicionales

En el contexto de la inteligencia artificial generativa, las evaluaciones tradicionales de aprendizaje automático (producción de métricas de aprendizaje automático tradicionales) son útiles cuando queremos cuantificar la precisión de las salidas generadas en comparación con las respuestas esperadas. Las métricas tradicionales son beneficiosas cuando se tiene acceso a la verdad sobre el terreno y a las respuestas esperadas.

  • La verdad sobre el terreno hace referencia a los datos que creemos que son verdaderos y, por tanto, se usan como línea base para las comparaciones.
  • Las respuestas esperadas son los resultados que creemos que deben producirse en función de nuestros datos de verdad sobre el terreno. Por ejemplo, en tareas como la clasificación o la respuesta a preguntas de forma abreviada, donde normalmente hay una respuesta correcta o esperada, las puntuaciones F1 o métricas tradicionales similares se pueden usar para medir la precisión y recuperación de las salidas generadas en las respuestas esperadas.

Las métricas tradicionales también son útiles cuando queremos comprender la cantidad de regresión de las salidas generadas, es decir, la desviación de la respuesta esperada. Proporcionan una medida cuantitativa de error o desviación, lo que nos permite realizar un seguimiento del rendimiento del sistema a lo largo del tiempo o comparar el rendimiento de diferentes sistemas. Sin embargo, estas métricas podrían ser menos adecuadas para las tareas que implican creatividad, ambigüedad o varias soluciones correctas, ya que estas métricas normalmente tratan cualquier desviación de la respuesta esperada como un error.

Evaluaciones asistidas por IA

Los modelos de lenguaje de gran tamaño (LLM), como GPT-4, pueden utilizarse para evaluar los resultados de los sistemas de lenguaje de IA generativa. Esto se logra al indicar a un LLM que anote determinados aspectos de la salida generada por IA. Por ejemplo, puede proporcionar GPT-4 con una escala de gravedad de relevancia (por ejemplo, proporcionar criterios para la anotación de relevancia en una escala de 1 a 5) y, a continuación, pedir a GPT-4 que anote la relevancia de una respuesta del sistema de IA a una pregunta determinada.

Las evaluaciones asistidas por IA pueden ser beneficiosas en escenarios en los que la verdad básica y las respuestas esperadas no están disponibles. En muchos escenarios de IA generativa, como respuestas a preguntas abiertas o escritura creativa, no existen respuestas correctas únicas, lo que dificulta establecer la verdad básica o las respuestas esperadas necesarias para las métricas tradicionales.

En estos casos,las evaluaciones asistidas por IA pueden ayudar a medir conceptos importantes, como la calidad y la seguridad de las salidas generadas. Aquí, la calidad hace referencia a atributos de rendimiento y calidad, como relevancia, coherencia, fluidez y base. La seguridad hace referencia a los atributos de riesgo y seguridad, como la presencia de contenido dañino (riesgos de contenido).

Para cada uno de estos atributos, se requiere una conceptualización y experimentación cuidadosas para crear las instrucciones y la escala de gravedad de LLM. A veces, estos atributos hacen referencia a conceptos sociotécnicos complejos que distintas personas pueden ver de forma diferente. Por lo tanto, es fundamental que las instrucciones de anotación de LLM se creen para representar una definición concreta acordada del atributo. Después, es igualmente crítico asegurarse de que el LLM aplica las instrucciones de forma coherente con los anotadores expertos humanos.

Al indicar a un LLM que anote estos atributos, se puede compilar una métrica de lo bien que funciona una aplicación de IA generativa incluso cuando no hay una única respuesta correcta. Las evaluaciones asistidas por IA proporcionan una forma flexible y matizada de evaluar las aplicaciones de IA generativa, sobre todo en tareas que implican creatividad, ambigüedad o múltiples soluciones correctas. Sin embargo, la confiabilidad y validez de estas evaluaciones depende de la calidad del LLM y de las instrucciones que se le proporcionan.

Métricas de calidad y rendimiento asistidos por IA

Para ejecutar evaluaciones de calidad y rendimiento asistidos por IA, es posible que un LLM se aproveche para dos funciones independientes. En primer lugar, se debe crear un conjunto de datos de prueba. Esto se puede crear manualmente mediante la elección de mensajes y la captura de respuestas del sistema de IA, o bien se puede crear sintéticamente mediante la simulación de interacciones entre el sistema de IA y un LLM (denominado generador de conjuntos de datos asistidos por IA en el diagrama siguiente). A continuación, también se usa un LLM para anotar las salidas del sistema de IA en el conjunto de pruebas. Por último, las anotaciones se agregan a métricas de rendimiento y calidad y se registran en el proyecto de AI Studio para ver y analizar.

Diagrama de evaluación de aplicaciones de calidad de IA generativas en AI Studio.

Nota:

Actualmente se admiten GPT-4 y GPT-3 como modelos para evaluaciones asistidas por IA. Para usar estos modelos para las evaluaciones, es necesario establecer conexiones válidas. Tenga en cuenta que se recomienda encarecidamente el uso de GPT-4, ya que ofrece mejoras significativas en la comprensión contextual y el cumplimiento de las instrucciones.

Métricas de seguridad y riesgo asistidas por IA

Una aplicación de evaluaciones de rendimiento y calidad asistidas por IA es la creación de métricas de seguridad y riesgo asistidas por IA. Para crear métricas de riesgo y seguridad asistidas por IA, las evaluaciones de seguridad de Inteligencia artificial de Azure Studio aprovisionan un modelo de Azure OpenAI GPT-4 que se aloja en un servicio de back-end, y después orquestan cada uno de los dos pasos dependientes de LLM:

  • Simulación de interacciones adversarias con su sistema de IA generativa:

    Genere un conjunto de datos de prueba de alta calidad de entradas y respuestas simulando intercambios de una o varias vueltas guiados por indicaciones cuyo objetivo sea generar respuestas perjudiciales. 

  • Anotación del conjunto de datos de prueba para riesgos de seguridad o contenido:

    Anote cada interacción del conjunto de datos de prueba con una gravedad y un razonamiento derivados de una escala de gravedad que se define para cada tipo de contenido y riesgo de seguridad.

Dado que los modelos GPT-4 aprovisionados actúan como generadores de conjuntos de datos adversos o anotadores, sus filtros de seguridad están desactivados y los modelos se alojan en un servicio de back-end. Las indicaciones usadas para estos LLM y los conjuntos de datos de indicaciones adversarias objetivo también se hospedan en el servicio. Debido a la confidencialidad del contenido que se genera y pasa por el LLM, los clientes de Inteligencia artificial de Azure Studio no pueden acceder directamente a los modelos ni a los recursos de datos.

Los conjuntos de datos de indicaciones de destinos adversos fueron desarrollados por investigadores de Microsoft, científicos aplicados, lingüistas y expertos en seguridad para ayudar a los usuarios a iniciarse en la evaluación de contenidos y riesgos de seguridad en los sistemas de IA generativa.

Si ya tiene un conjunto de datos de prueba con las indicaciones de entrada y las respuestas del sistema de IA (por ejemplo, los registros de red-teaming), puede pasar directamente ese conjunto de datos para que sea anotado por el evaluador de riesgos de contenido. Las evaluaciones de seguridad pueden ayudar a aumentar y acelerar los esfuerzos manuales de red teaming permitiendo a los equipos rojos generar y automatizar indicaciones de adversarios a escala. Sin embargo, las evaluaciones asistidas por IA no están diseñadas para reemplazar la revisión humana ni para proporcionar una cobertura exhaustiva de todos los riesgos posibles.

Diagrama de evaluación de la seguridad de la IA generativa en IA Studio.

Evaluación de la vulnerabilidad de jailbreak

A diferencia de los riesgos de contenido, la vulnerabilidad de jailbreak no se puede medir de forma confiable con anotación directa por un LLM. Sin embargo, la vulnerabilidad de jailbreak puede medirse mediante la comparación de dos conjuntos de datos de prueba paralelos: un conjunto de datos de prueba adversarios de referencia frente al mismo conjunto de datos de prueba adversarios con inyecciones de jailbreak en el primer turno. Cada conjunto de datos puede anotarse mediante el evaluador de riesgos de contenido asistido por IA, lo que genera una tasa de defectos de riesgo de contenido para cada uno. Después, el usuario evalúa la vulnerabilidad del jailbreak comparando las tasas de defectos y señalando los casos en los que el conjunto de datos del jailbreak dio lugar a más defectos o defectos de mayor gravedad. Por ejemplo, si una instancia en estos conjuntos de datos de pruebas paralelas se anota como más grave para la versión con inyección de jailbreak, esa instancia se consideraría un defecto de jailbreak.

Para obtener más información sobre los tipos de tareas compatibles y las métricas incorporadas, consulte métricas de evaluación y supervisión para la IA generativa.

Evaluación y supervisión de aplicaciones de IA generativas

Inteligencia artificial de Azure Studio admite varias rutas de acceso distintas para los desarrolladores de aplicaciones de IA generativas para evaluar sus aplicaciones:

Diagrama del flujo de evaluación y supervisión con diferentes rutas de acceso para evaluar aplicaciones de IA generativas.

  • Área de juegos: en la primera ruta de acceso, puede empezar participando en una experiencia de "área de juegos". Aquí, tiene la opción de seleccionar los datos que desea utilizar para fundamentar su modelo, elegir el modelo base para la aplicación y proporcionar instrucciones metaprompt para guiar el comportamiento del modelo. Después puede evaluar manualmente la aplicación pasando un conjunto de datos y observando las respuestas de la aplicación. Una vez finalizada la inspección manual, puede usar el asistente para evaluaciones para llevar a cabo evaluaciones más exhaustivas, ya sea a través de métricas tradicionales o de evaluaciones asistidas por IA.

  • Flujos: la página Flujo de avisos de Inteligencia artificial de Azure Studio ofrece una herramienta de desarrollo dedicada adaptada para simplificar todo el ciclo de vida de las aplicaciones de IA con tecnología de LLM. Con esta ruta de acceso, puede crear flujos ejecutables que vincule las herramientas de LLM, consultas y Python a través de un gráfico visual. Esta función simplifica la depuración, el uso compartido y las iteraciones colaborativas de los flujos. Además, puede crear variantes rápidas de consultas y valorar su rendimiento mediante pruebas a gran escala.
    Además de la herramienta de desarrollo "Flujos", también tiene la opción de desarrollar sus aplicaciones de IA generativa utilizando una experiencia de SDK "code-first". Independientemente de la ruta de desarrollo elegida, puede evaluar los flujos creados a través del asistente de evaluación, accesible desde la pestaña "Flujos" o a través de la experiencia del SDK o la CLI. Desde la pestaña "Flujos", tiene incluso la flexibilidad de usar un asistente para la evaluación personalizada e incorporar sus propias métricas.

  • Evaluación directa del conjunto de datos: si ha recopilado un conjunto de datos que contiene interacciones entre la aplicación y los usuarios finales, puede enviar estos datos directamente al asistente de evaluación dentro de la pestaña "Evaluación". Este procesamiento habilita la generación de evaluaciones automáticas asistidas por IA, y los resultados pueden visualizarse en la misma pestaña. Este enfoque se centra en un método de evaluación centrado en datos. Como alternativa, tiene la opción de evaluar el conjunto de datos de conversación mediante la experiencia del SDK o la CLI y generar y visualizar evaluaciones a través de Inteligencia artificial de Azure Studio.

Después de evaluar sus aplicaciones, flujos o datos de cualquiera de estos canales, puede proceder a implementar su aplicación de IA generativa y supervisar su calidad y seguridad en un entorno de producción a medida que participa en nuevas interacciones con sus usuarios.

Pasos siguientes