Editar

Compartir a través de


Implementación del registro y la supervisión de modelos de Azure OpenAI

Servicios de Azure AI
Azure API Management
Azure Monitor
Microsoft Entra ID

Esta solución proporciona un registro y una supervisión completos y una seguridad mejorada para las implementaciones empresariales de la API de Azure OpenAI Service. La solución permite funcionalidades avanzadas de registro para realizar un seguimiento del uso y el rendimiento de la API y medidas de seguridad sólidas para ayudar a proteger los datos confidenciales y ayudar a evitar actividades malintencionadas.

Architecture

Diagrama que muestra una arquitectura que proporciona supervisión y registro para Azure OpenAI.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

  1. Las aplicaciones cliente acceden a los puntos de conexión de Azure OpenAI para realizar la generación de texto (finalizaciones) y el entrenamiento del modelo (ajuste preciso).

  2. Azure Application Gateway proporciona un único punto de entrada a los modelos de Azure OpenAI y equilibrio de carga para las API.

    Nota

    No se admite el equilibrio de carga de operaciones con estado, como el ajuste de modelos, las implementaciones y la inferencia de modelos ajustados.

  3. Azure API Management habilita controles de seguridad y auditoría y supervisión de los modelos de Azure OpenAI.

    1. En API Management, se concede acceso de seguridad mejorada a través de grupos de Microsoft Entra con permisos de acceso basados en suscripciones.
    2. La auditoría está habilitada para todas las interacciones con los modelos mediante el registro de solicitudes de Azure Monitor.
    3. La supervisión proporciona métricas e indicadores clave de rendimiento (KPI) detallados del uso del modelo de Azure OpenAI, incluida la información de aviso y las estadísticas de token para la rastreabilidad del uso.
  4. API Management se conecta a todos los recursos de Azure a través de Azure Private Link. Esta configuración proporciona seguridad mejorada para todo el tráfico a través de puntos de conexión privados y contiene tráfico en la red privada.

  5. Varias instancias de Azure OpenAI permiten escalar horizontalmente el uso de la API para garantizar la alta disponibilidad y la recuperación ante desastres para el servicio.

Componentes

  • Application Gateway. Equilibrador de carga de aplicaciones para ayudar a garantizar que todos los usuarios de las API de Azure OpenAI obtengan la respuesta más rápida y el rendimiento más alto para las finalizaciones del modelo.
  • API Management. Plataforma de API Management para acceder a puntos de conexión de Azure OpenAI de back-end. Proporciona supervisión y registro que no está disponible de forma nativa en Azure OpenAI.
  • Azure Virtual Network. Infraestructura de red privada en la nube. Proporciona aislamiento de red para que todo el tráfico de red de los modelos se enrute de forma privada a Azure OpenAI.
  • Azure OpenAI. Servicio que hospeda modelos y proporciona salidas de finalización de modelos generativas.
  • Supervisión. Observabilidad de un extremo a otro para aplicaciones. Proporciona acceso a los registros de aplicación a través de Lenguaje de consulta Kusto. También habilita los informes del panel y las funcionalidades de supervisión y alertas.
  • Azure Key Vault Almacenamiento de seguridad mejorada para claves y secretos que usan las aplicaciones.
  • Azure Storage. Almacenamiento de aplicaciones en la nube. Proporciona a Azure OpenAI accesibilidad a los artefactos de entrenamiento del modelo.
  • Microsoft Entra ID. Administrador de identidades de seguridad mejorada. Permite la autenticación y autorización de usuario a la aplicación y a los servicios de plataforma que admiten la aplicación. También proporciona directiva de grupo para asegurarse de que el principio de privilegios mínimos se aplica a todos los usuarios.

Alternativas

Azure OpenAI proporciona registro y supervisión nativos. Puede usar esta funcionalidad nativa para realizar un seguimiento de la telemetría del servicio, pero el registro predeterminado de Cognitive Services no realiza un seguimiento ni registra entradas y salidas del servicio, como avisos, tokens y modelos. Estas métricas son especialmente importantes para el cumplimiento y para asegurarse de que el servicio funciona según lo previsto. Además, mediante el seguimiento de las interacciones con los modelos de lenguaje implementados en Azure OpenAI, puede analizar cómo usa su organización el servicio para identificar los patrones de costo y uso que pueden ayudar a informar sobre el escalado y la asignación de recursos.

En la tabla siguiente se proporciona una comparación de las métricas proporcionadas por el registro predeterminado de Azure OpenAI y los proporcionados por esta solución.

Métrica Registro predeterminado de Azure OpenAI Esta solución
Recuento de solicitudes x x
Datos en (tamaño) / salida de datos (tamaño) x x
Latencia x x
Transacciones del token (total) x x
Dirección IP del autor de la llamada x (último octeto enmascarado) x
Uso del modelo x
Uso de tokens (entrada/salida) x x
Detalle del símbolo del sistema de entrada x (limitado a 8192 caracteres de respuesta)
Detalles de finalización de salida x (limitado a 8192 caracteres de respuesta)
Operaciones de implementación x x
Operaciones de inserción x x (limitado a 8192 caracteres de respuesta)

Detalles del escenario

Las grandes empresas que usan modelos de IA generativos deben implementar la auditoría y el registro del uso de estos modelos para garantizar el uso responsable y el cumplimiento corporativo. Esta solución proporciona registro y supervisión de nivel empresarial para todas las interacciones con los modelos de IA para mitigar el uso perjudicial de los modelos y ayudar a garantizar que se cumplan los estándares de seguridad y cumplimiento. La solución se integra con las API existentes para Azure OpenAI con poca modificación para aprovechar las bases de código existentes. Los administradores también pueden supervisar el uso del servicio para informes.

La solución proporciona estas ventajas:

  • Registro completo de la ejecución del modelo de Azure OpenAI, en el que se realiza un seguimiento de la dirección IP de origen. La información de registro incluye texto que los usuarios envían al modelo y el texto recibido del modelo. Este registro ayuda a garantizar que los modelos se usen de forma responsable y dentro de los casos de uso aprobados del servicio.
  • Alta disponibilidad de las API del modelo para asegurarse de que se cumplen las solicitudes de usuario incluso si el tráfico supera los límites de un único servicio de Azure OpenAI.
  • Acceso basado en rol administrado a través de Microsoft Entra ID para asegurarse de que se aplica el principio de privilegios mínimos.

Consulta de ejemplo para la supervisión del uso

ApiManagementGatewayLogs
| where OperationId == 'completions_create'
| extend modelkey = substring(parse_json(BackendResponseBody)['model'], 0, indexof(parse_json(BackendResponseBody)['model'], '-', 0, -1, 2))
| extend model = tostring(parse_json(BackendResponseBody)['model'])
| extend prompttokens = parse_json(parse_json(BackendResponseBody)['usage'])['prompt_tokens']
| extend completiontokens = parse_json(parse_json(BackendResponseBody)['usage'])['completion_tokens']
| extend totaltokens = parse_json(parse_json(BackendResponseBody)['usage'])['total_tokens']
| extend ip = CallerIpAddress
| summarize
    sum(todecimal(prompttokens)),
    sum(todecimal(completiontokens)),
    sum(todecimal(totaltokens)),
    avg(todecimal(totaltokens))
    by ip, model

Salida:

Captura de pantalla que muestra los resultados de la supervisión del uso.

Consulta de ejemplo para la supervisión del uso de la solicitud

ApiManagementGatewayLogs
| where OperationId == 'completions_create'
| extend model = tostring(parse_json(BackendResponseBody)['model'])
| extend prompttokens = parse_json(parse_json(BackendResponseBody)['usage'])['prompt_tokens']
| extend prompttext = substring(parse_json(parse_json(BackendResponseBody)['choices'])[0], 0, 100)

Salida:

Captura de pantalla que muestra los resultados de la supervisión del uso de la solicitud.

Posibles casos de uso

  • Implementación de Azure OpenAI para usuarios empresariales internos para acelerar la productividad.
  • Alta disponibilidad de Azure OpenAI para aplicaciones internas.
  • Uso de la seguridad mejorada de Azure OpenAI en sectores regulados.

Consideraciones

Estas consideraciones implementan los pilares del Azure Well-Architected Framework, que es un conjunto de principios rectores que puede utilizar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Confiabilidad

La confiabilidad garantiza que tu aplicación puede cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

Este escenario garantiza la alta disponibilidad de los modelos de lenguaje para los usuarios empresariales. Azure Application Gateway proporciona un mecanismo eficaz de entrega de aplicaciones de nivel 7 para garantizar un acceso rápido y coherente a las aplicaciones. Puede usar API Management para configurar, administrar y supervisar el acceso a los modelos. La alta disponibilidad inherente de servicios de plataforma como Storage, Key Vault y Virtual Network garantiza una alta confiabilidad para la aplicación. Por último, varias instancias de Azure OpenAI garantizan la resistencia del servicio en caso de errores en el nivel de aplicación. Estos componentes de arquitectura pueden ayudarle a garantizar la confiabilidad de la aplicación a escala empresarial.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

Mediante la implementación de procedimientos recomendados para el aislamiento de nivel de aplicación y de red de los servicios en la nube, este escenario mitiga los riesgos de filtración de datos y pérdida de datos. Todo el tráfico de red que contiene datos potencialmente confidenciales que se introducen en el modelo está aislado en una red privada. Este tráfico no atraviesa rutas públicas de Internet. Puede usar Azure ExpressRoute para aislar aún más el tráfico de red a la intranet corporativa y ayudar a garantizar la seguridad de red de un extremo a otro.

Optimización de costos

La optimización de costos trata de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Para ayudarle a explorar el costo de ejecución de este escenario, hemos preconfigurado todos los servicios de la calculadora de precios de Azure. Para obtener información sobre cómo cambiarían los precios en su caso de uso, cambie las variables apropiadas para que coincidan con el tráfico esperado.

Los tres perfiles de costo de ejemplo siguientes proporcionan estimaciones basadas en la cantidad de tráfico. (Las estimaciones suponen que un documento contiene aproximadamente 1000 tokens).

  • Pequeño: para procesar 10 000 documentos al mes.
  • Medio: para procesar 100 000 documentos al mes.
  • Grande: para procesar 10 millones de documentos al mes.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Creadores de entidad de seguridad:

  • Ashish Chauhan | Arquitecto de soluciones en la nube: datos/IA
  • Jake Wang | Arquitecto de soluciones en la nube: IA/aprendizaje automático

Otros colaboradores:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes