La Marco de operaciones de aprendizaje automático de AWS (MLOps) es un proceso iterativo y repetitivo para la evolución de los modelos de IA a lo largo del tiempo. Al igual que DevOps, los profesionales obtienen eficiencias al promocionar sus artefactos a través de varios entornos (como control de calidad, integración y producción) para el control de calidad. Paralelamente, los clientes adoptan rápidamente estrategias multicuenta a través de Organizaciones de AWS y Torre de control de AWS para crear entornos seguros y aislados. Esta combinación puede presentar desafíos para implementar MLOps con servicios de IA preentrenados de AWS, como Etiquetas personalizadas de Amazon Rekognition. Esta publicación analiza los patrones de diseño para reducir esa complejidad y, al mismo tiempo, mantener las mejores prácticas de seguridad.
General
Los clientes de todos los verticales de la industria reconocen el valor de poner en funcionamiento el aprendizaje automático (ML) de manera eficiente y reducir el tiempo para generar valor empresarial. La mayoría de los servicios de IA precapacitados de AWS abordan esta situación a través de capacidades listas para usar para visión artificial, traducción y detección de fraude, entre otros casos de uso comunes. Muchos casos de uso requieren predicciones específicas de dominio que van más allá de las respuestas genéricas. Los servicios de IA pueden ajustar los resultados del modelo predictivo utilizando datos etiquetados por el cliente para esos escenarios.
Con el tiempo, el vocabulario específico del dominio cambia y evoluciona. Por ejemplo, supongamos que un fabricante de herramientas crea un modelo de visión artificial para detectar sus productos en imágenes (como martillos y destornilladores). En una versión futura, la empresa agrega soporte para llaves y sierras. Estas nuevas etiquetas requieren cambios de código en los sitios web del fabricante y aplicaciones personalizadas. Ahora, hay dependencias que ambos artefactos deben liberar simultáneamente.
El marco de AWS MLOps aborda estos desafíos de lanzamiento a través de procesos iterativos y repetitivos. Antes de llegar a los usuarios finales de producción, los artefactos del modelo deben atravesar varias puertas de calidad, como el código de la aplicación. Por lo general, implementa esas puertas de calidad usando varias cuentas de AWS dentro de una organización de AWS. Este enfoque brinda la flexibilidad para administrar de forma centralizada estos dominios de aplicaciones y hacer cumplir las medidas de seguridad y los requisitos comerciales. Cada vez es más común tener decenas o incluso cientos de cuentas dentro de su organización. Sin embargo, debe equilibrar sus necesidades de aislamiento de cargas de trabajo con el tamaño y la complejidad del equipo.
Los practicantes de MLOps tienen procedimientos estándar para promocionar artefactos entre cuentas (como control de calidad para producción). Estos patrones son fáciles de implementar y dependen de la copia de código y recursos binarios entre Servicio de almacenamiento simple de Amazon (Amazon S3) baldes. Sin embargo, los servicios de inteligencia artificial entrenados previamente de AWS actualmente no admiten la copia del modelo personalizado entrenado en las cuentas de AWS. Hasta que exista dicho mecanismo, debe volver a entrenar los modelos en cada cuenta de AWS utilizando el mismo conjunto de datos. Este enfoque implica tiempo y costo para volver a entrenar el modelo en una nueva cuenta. Este mecanismo puede ser una opción viable para algunos clientes. Sin embargo, en esta publicación, demostramos los medios para definir y desarrollar estos modelos personalizados de forma centralizada mientras los compartimos de forma segura en las cuentas de una organización de AWS.
Resumen de la solución
En esta publicación, se analizan los patrones de diseño para compartir de forma segura modelos específicos de dominio de servicios de inteligencia artificial preentrenados de AWS. Estos servicios incluyen Detector de fraudes de Amazon, Amazon Transcribey Reconocimiento de amazonas, para nombrar unos pocos. Aunque estas estrategias son ampliamente aplicables, nos centramos en las etiquetas personalizadas de Rekognition como ejemplo concreto. Deliberadamente evitamos profundizar demasiado en los matices específicos de las etiquetas personalizadas de Rekognition.
La arquitectura comienza con una AWS Control Tower configurada en la cuenta maestra. AWS Control Tower proporciona la manera más fácil de configurar y controlar un entorno de AWS seguro y con varias cuentas. Como se muestra en el siguiente diagrama, usamos Fábrica de cuentas en AWS Control Tower para crear cinco cuentas de AWS:
- Cuenta de CI/CD para orquestación de implementación (por ejemplo, con Código de AWS)
- Cuenta de producción para usuarios finales externos (por ejemplo, un sitio web público)
- Cuenta de control de calidad para equipos de desarrollo internos (como preproducción)
- Cuenta ML para modelos personalizados y sistemas de soporte
- Casa del lago AWS cuenta con datos propietarios de clientes
Esta configuración puede ser demasiado granular o tosca, según los requisitos reglamentarios, la industria y el tamaño. Referirse a Administrar el entorno de varias cuentas con AWS Organizations y AWS Control Tower para más orientación
Crear el modelo de etiquetas personalizadas de Rekognition
El primer paso para crear un modelo de etiquetas personalizadas de Rekognition es elegir la cuenta de AWS para alojarlo. Puede comenzar su viaje de ML con una sola cuenta de ML. Este enfoque consolida cualquier herramienta y procedimiento en un solo lugar. Sin embargo, esta centralización puede provocar una hinchazón en la cuenta individual y conducir a entornos monolíticos. Las empresas más maduras segmentan esta cuenta de ML por equipo o carga de trabajo. Independientemente de la granularidad, el objeto es el mismo para definir centralmente y entrenar modelos una vez.
Esta publicación demuestra el uso de un modelo de etiquetas personalizadas de Rekognition con una sola cuenta de ML y una cuenta de lago de datos independiente (consulte el siguiente diagrama). Cuando los datos residen en una cuenta diferente, debe configurar una política de recursos para proporcionar acceso entre cuentas al depósito de S3 objetos. Este procedimiento comparte de forma segura el contenido del depósito con la cuenta de ML. Ver el muestras de inicio rápido para más información sobre creación de un modelo específico de dominio de Amazon Rekognition.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSRekognitionS3AclBucketRead20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3GetBucket20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::S3:/*" }, { "Sid": "AWSRekognitionS3ACLBucketWrite20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3PutObject20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::S3:/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ]
}
Habilitar el acceso entre cuentas
Después de compilar e implementar el modelo, el punto final solo está disponible dentro de la cuenta de ML. No use un clave estática para compartir el acceso. Debes acceso delegado a la cuenta de producción (o QA) usando Gestión de identidades y accesos de AWS (IAM) roles. Para crear un rol entre cuentas en la cuenta ML, complete los siguientes pasos:
- En la consola de etiquetas personalizadas de Rekognition, elija Proyectos y elige el nombre de tu proyecto.
- Elige fexibles y el nombre de tu modelo.
- En Modelo de uso pestaña, desplácese hacia abajo hasta la Usa tu modelo .
- Copie el nombre de recurso de Amazon (ARN) del modelo. Debe estar formateado de la siguiente manera:
arn:aws:rekognition:region-name:account-id:project/model-name/version/version-id/timestamp
. - Crear un rol con
rekognition:DetectCustomLabels
permisos al modelo ARN y una política de confianza que permitests:AssumeRole
de la cuenta de producción (o control de calidad) (por ejemplo,arn:aws:iam::PROD_ACCOUNT_ID_HERE:root
). - Opcionalmente, adjunte políticas adicionales para cualquier acción específica de la carga de trabajo (como acceder a depósitos S3).
- Opcionalmente, configure el elemento de condición para hacer cumplir los requisitos de delegación adicionales.
- Registre el ARN del nuevo rol para usarlo en la siguiente sección.
Invocar el punto final
Con las políticas de seguridad implementadas, es hora de probar la configuración. Un enfoque simple consiste en crear un Nube informática elástica de Amazon (Amazon EC2) y usando la Interfaz de línea de comandos de AWS (CLI de AWS). Invoque el punto final con los siguientes pasos:
- En la cuenta de producción (o control de calidad), cree un rol para Amazon EC2.
- Adjunte una política que permita
sts:AssumeRole
al ARN de funciones cruzadas de la cuenta de ML. - Lanzar una instancia de Amazon Linux 2 con el rol del paso anterior.
- Espere a que se aprovisione, luego conectarse a la instancia de Linux usando SSH.
- Invocar el comando
aws iam assume-role
para cambiar al rol multicuenta de la sección anterior. - Iniciar el punto final del modelo, si aún no se está ejecutando, mediante la consola de Rekognition o el inicio-proyecto-versión Comando de la CLI de AWS.
- Invocar el comando aws reconocimiento detectar-etiquetas-personalizadas para probar el funcionamiento.
También puede realizar esta prueba con el SDK de AWS y otro recurso informático (por ejemplo, AWS Lambda).
Evitar el internet público
En la sección anterior, la solicitud de detección de etiquetas personalizadas utiliza la puerta de enlace de Internet de la nube privada virtual (VPC) y atraviesa la Internet pública. El cifrado TLS/SSL asegura suficientemente el canal de comunicación para muchas cargas de trabajo. Puedes usar Enlace privado de AWS a habilitar las conexiones entre la VPC y los servicios de soporte sin necesidad de una puerta de enlace de Internet, un dispositivo NAT, una conexión VPN, una puerta de enlace de tránsito o AWS Direct Connect conexión. Luego, la solicitud de detección de etiquetas personalizadas nunca deja la red de AWS expuesta a la Internet pública. AWS PrivateLink es compatible con todos los servicios utilizados en esta publicación. También puede aplicar servicios de IA preentrenados usando conectividad privada con IAM en la política de roles cruzados. Este control agrega otro nivel de protección que evita que los clientes mal configurados utilicen el punto final con acceso a Internet del servicio AI preentrenado. Para obtener información adicional, consulte Uso de Amazon Rekognition con puntos de enlace de Amazon VPC, AWS PrivateLink para Amazon S3y Uso de puntos de enlace de la VPC de la interfaz de AWS STS.
El siguiente diagrama ilustra la configuración del punto de enlace de la VPC entre la cuenta de producción, la cuenta de ML y la cuenta de control de calidad.
Cree una canalización de CI/CD para promocionar modelos
AWS recomienda proporcionar continuamente más datos de prueba y capacitación para etiquetar de forma personalizada el conjunto de datos del proyecto de Amazon Rekognition para mejorar modelos. Después de agregar más datos a un proyecto, un nuevo modelo puede mejorar la precisión o alterar las etiquetas.
En MLOps, los artefactos del modelo deben ser coherentes. Para lograr esto con los servicios de inteligencia artificial entrenados previamente, AWS recomienda promover el punto de enlace del modelo actualizando la referencia del código al ARN de la nueva versión del modelo. Este enfoque evita volver a entrenar el modelo específico del dominio en cada entorno (como el control de calidad y las cuentas de producción). Sus aplicaciones pueden usar el ARN del nuevo modelo como una variable de tiempo de ejecución usando Gerente de sistemas de AWS dentro de una cuenta múltiple o entorno de varias etapas.
Tres niveles de granularidad limitan el acceso al modelo de varias cuentas, específicamente a nivel de cuenta, proyecto y versión del modelo. Los modelos son idempotentes y tienen un ARN único que se asigna a un entrenamiento específico en un momento dado: arn:aws:rekognition:account:region:project/project_name/version/name/timestamp
.
El siguiente diagrama ilustra la rotación del modelo de control de calidad a producción.
En la arquitectura anterior, las aplicaciones de producción y control de calidad realizan llamadas a la API para usar los puntos de enlace del modelo v2 o v3 a través de sus respectivos puntos de enlace de la VPC. Reciben el ARN de su almacén de configuración (por ejemplo, Almacén de parámetros de Amazon Systems Manager or Configuración de aplicaciones de AWS). Este proceso funciona con n número de entornos, pero demostramos usando solo dos cuentas por simplicidad. Opcionalmente, la eliminación de las versiones del modelo reemplazado evita el consumo adicional de esos recursos.
La cuenta de ML tiene un rol de IAM para cada entorno específico (como la cuenta de producción) que requiere acceso. La canalización de CI/CD como parte de la implementación altera la política en línea del rol de IAM para permitir el acceso al modelo adecuado.
Considere el escenario de promover Model-v2 desde la cuenta de control de calidad a la cuenta de producción. Este proceso requiere los siguientes pasos:
- En la consola de etiquetas personalizadas de Rekognition, haga la transición del punto final Model-v2 a un estado de ejecución.
- Otorgue al rol de cuentas cruzadas de IAM en la cuenta de ML acceso a la nueva versión de Model-v2.
Tenga en cuenta que elemento de recurso admite comodines en el ARN.
- Envíe una invocación de prueba a Model-v2 desde la aplicación de producción mediante el rol de delegación.
- Opcionalmente, elimine el acceso del rol de varias cuentas a Model-v1.
- Opcionalmente, repita los pasos 2 y 3 para cada cuenta de AWS adicional.
- Opcionalmente, detenga el punto final Model-v1 para evitar incurrir en costos.
La propagación de políticas globales desde el plano de control de IAM al plano de datos de IAM en cada región es una operación eventualmente consistente. Este diseño puede generar ligeros retrasos para las configuraciones multirregionales.
Cree barandillas a través de políticas de control de servicios
El uso de roles entre cuentas crea un mecanismo seguro para compartir recursos de IA administrados previamente entrenados. Pero, ¿qué sucede cuando la política de ese rol es demasiado permisiva? Puede mitigar estos riesgos uso de políticas de control de servicios (SCP) para establecer medidas de protección de permisos en todas las cuentas. Las barandillas especifican la permisos máximos disponible para una identidad de IAM. Estas capacidades pueden evitar que una cuenta de consumidor modelo, por ejemplo, detenga el punto de enlace compartido de Amazon Rekognition. Después de definir los requisitos de barandas apropiados, unidades organizativas dentro de Organizaciones permitir la gestión centralizada de esas políticas en varias cuentas.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyModifyingRekgnotionProjects", "Effect": "Deny", "Action": [ "rekognition:CreateProject*", "rekognition:DeleteProject*", "rekognition:StartProject*", "rekognition:StopProject*", ], "Resource": [ “arn:aws:rekognition:*:*:project/* ] } ]
}
También puede configurar controles de detección para monitorear su configuración y asegurarse de que no se desvíe del cumplimiento. Analizador de acceso de AWS IAM admite la evaluación de políticas en toda la organización y la notificación de permisos no utilizados. Adicionalmente, Configuración de AWS permite evaluar, auditar y evaluar configuraciones de recursos de AWS. Esta capacidad es compatible con los requisitos estándar de seguridad y cumplimiento, como verificar y remediar la configuración de cifrado del depósito S3.
Conclusión
Necesita soluciones listas para usar para agregar capacidades de ML como visión por computadora, traducción y detección de fraude. También necesita límites de seguridad que aíslen sus diferentes entornos con fines de control de calidad, cumplimiento y normativas. Los servicios de IA preentrenados de AWS y AWS Control Tower brindan esa funcionalidad de una manera segura y de fácil acceso.
Actualmente, los servicios de IA entrenados previamente de AWS no admiten la copia del modelo personalizado entrenado en cuentas de AWS. Hasta que exista dicho mecanismo, debe volver a entrenar los modelos en cada cuenta de AWS utilizando el mismo conjunto de datos. Esta publicación demuestra un enfoque de diseño alternativo que utiliza políticas de cuentas cruzadas de IAM para compartir puntos finales modelo mientras se mantiene un control de seguridad sólido. ¡Además, puede dejar de pagar por trabajos de capacitación redundantes! Para obtener más información sobre las políticas entre cuentas, consulte Tutorial de IAM: delegue el acceso a las cuentas de AWS mediante roles de IAM.
Acerca de los autores
Nate Bachmeier es un arquitecto sénior de soluciones de AWS que explora de forma nómada Nueva York, una integración en la nube a la vez. Se especializa en migrar y modernizar las cargas de trabajo de los clientes. Además de esto, Nate es estudiante de tiempo completo y tiene dos hijos.
Mario Bourgoin es Arquitecto sénior de soluciones de socios para AWS, especialista en IA/ML y líder tecnológico global para MLOps. Trabaja con clientes y socios empresariales que implementan soluciones de IA en la nube. Tiene más de 30 años de experiencia en aprendizaje automático e inteligencia artificial en empresas emergentes y empresas, comenzando con la creación de uno de los primeros sistemas comerciales de aprendizaje automático para big data. Mario pasa el resto de su tiempo jugando con sus tres Tervurens belgas, cocinando para su familia y aprendiendo sobre matemáticas y cosmología.
Tim Murphy es arquitecto sénior de soluciones para AWS y trabaja con clientes empresariales en varios sectores para crear soluciones empresariales en la nube. Ha pasado la última década trabajando con nuevas empresas, organizaciones sin fines de lucro, empresas comerciales y agencias gubernamentales, implementando infraestructura a escala. En su tiempo libre, cuando no está jugando con la tecnología, lo más probable es que lo encuentres en áreas remotas de la tierra escalando montañas, surfeando olas o andando en bicicleta por una ciudad nueva.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. ACCESO LIBRE.
- CriptoHawk. Radar de altcoins. Prueba gratis.
- Fuente: https://aws.amazon.com/blogs/machine-learning/implement-mlops-using-aws-pre-trained-ai-services-with-aws-organizations/
- "
- 100
- 98
- Nuestra Empresa
- de la máquina
- Mi Cuenta
- a través de
- la columna Acción
- acciones
- Adicionales
- dirección
- AI
- Servicios de IA
- Todos
- Permitir
- ya haya utilizado
- Aunque
- Amazon
- entre
- Otra
- abejas
- aplicable
- Aplicación
- aplicaciones
- enfoque
- arquitectura
- Hoy Disponibles
- AWS
- MEJOR
- y las mejores prácticas
- Big Data
- Inflar
- build
- capacidades
- cases
- Causa
- retos
- Ciudad
- Soluciones
- código
- combinación
- completo
- Algunos
- Comunicación
- compliance
- Calcular
- condición
- Configuración
- conexión
- Conexiones
- Conectividad
- Consola
- consumidor
- consumo
- contenido
- control
- Precio
- Creamos
- Clientes
- datos
- década
- retrasos
- desplegar
- Desplegando
- despliegue
- Diseño
- Detección
- Desarrollo
- dispositivo
- una experiencia diferente
- No
- dominios
- DE INSCRIPCIÓN
- tierra
- pasan fácilmente
- efecto
- cifrado
- Punto final
- Empresa
- Entorno
- ejemplo
- experience
- familia
- Nombre
- Flexibilidad
- Focus
- siguiendo
- Marco conceptual
- fraude
- a la fatiga
- futuras
- -
- Buscar
- Gobierno
- HTTPS
- Cientos
- Identidad
- implementar
- incluir
- INSTRUMENTO individual
- industrias
- energético
- información
- EN LA MINA
- integración
- Interfaz
- Internet
- solo
- IT
- Niños
- Etiquetas
- Lead
- aprendizaje
- Nivel
- línea
- Linux
- máquina
- máquina de aprendizaje
- Management
- gerente
- administrar
- Fabricante
- Mapas
- matemáticas
- ML
- modelo
- modelos
- MEJOR DE TU
- del sistema,
- New York
- Operaciones
- Optión
- orquestación
- organización
- para las fiestas.
- Otro
- Socio
- socios
- (PDF)
- políticas
- política
- Predicciones
- Director de la escuela
- privada
- en costes
- Producción
- Productos
- proyecto
- propietario
- Protección
- proporciona un
- público
- fines
- calidad
- recepción
- de CFP.
- la reducción de
- regulador
- ,
- exigir
- Requisitos
- Recurso
- Recursos
- Resultados
- riesgos
- correr
- Escala
- Sdk
- seguro
- EN LINEA
- políticas de seguridad
- de coches
- Servicios
- set
- Compartir
- compartido
- Acciones
- sencillos
- Tamaño
- Soluciones
- se especializa
- específicamente
- comienzo
- Startups
- Estado
- Posicionamiento
- STORAGE
- tienda
- estrategias
- Estudiante
- SOPORTE
- soportes
- Switch
- Todas las funciones a su disposición
- equipo
- tecnología
- Tecnología
- test
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- Formación
- tránsito
- Traducción
- Confía en
- único
- utilizan el
- propuesta de
- Virtual
- visión
- VPN
- olas
- Página web
- sitios web
- ¿
- dentro de
- sin
- trabajando
- funciona
- años