Logotipo de Zephyrnet

Utilice el uso compartido de tarjetas modelo de Amazon SageMaker para mejorar la gobernanza del modelo | Servicios web de Amazon

Fecha:

A medida que las tecnologías de inteligencia artificial (IA) y aprendizaje automático (ML) se han generalizado, muchas empresas han logrado crear aplicaciones comerciales críticas impulsadas por modelos ML a escala en producción. Sin embargo, dado que estos modelos de ML toman decisiones comerciales críticas para el negocio, es importante que las empresas agreguen barreras de seguridad adecuadas a lo largo de su ciclo de vida de ML. Guardrails garantiza que la seguridad, la privacidad y la calidad del código, la configuración y los datos y la configuración del modelo utilizados en el ciclo de vida del modelo estén versionados y preservados.

La implementación de estas barreras de seguridad es cada vez más difícil para las empresas porque los procesos y actividades de ML dentro de las empresas se están volviendo más complejos debido a la inclusión de procesos profundamente involucrados que requieren contribuciones de múltiples partes interesadas y personas. Además de ingenieros y científicos de datos, se han incluido procesos operativos para automatizar y optimizar el ciclo de vida del aprendizaje automático. Además, el aumento de las partes interesadas del negocio y, en algunos casos, las revisiones legales y de cumplimiento necesitan capacidades para agregar transparencia para administrar el control de acceso, el seguimiento de actividades y la generación de informes a lo largo del ciclo de vida del ML.

El marco que brinda visibilidad sistemática del desarrollo, la validación y el uso del modelo de ML se denomina gobernanza de ML. Durante AWS re:Invent 2022, AWS presentó nuevas herramientas de gobernanza de ML para Amazon SageMaker lo que simplifica el control de acceso y mejora la transparencia de sus proyectos de ML. Una de las herramientas disponibles como parte de la gobernanza del ML es Tarjetas modelo de Amazon SageMaker, que tiene la capacidad de crear una única fuente de verdad para la información del modelo centralizando y estandarizando la documentación durante todo el ciclo de vida del modelo.

Las tarjetas de modelo de SageMaker le permiten estandarizar la forma en que se documentan los modelos, logrando así visibilidad del ciclo de vida de un modelo, desde el diseño, la construcción, la capacitación y la evaluación. Las tarjetas de modelo están destinadas a ser una fuente única de verdad para los metadatos técnicos y comerciales sobre el modelo que se puede utilizar de manera confiable con fines de auditoría y documentación. Proporcionan una hoja informativa del modelo que es importante para la gobernanza del modelo.

A medida que escala sus modelos, proyectos y equipos, como práctica recomendada, le recomendamos que adopte una estrategia de cuentas múltiples que proporcione aislamiento de proyectos y equipos para el desarrollo y la implementación del modelo de aprendizaje automático. Para obtener más información sobre cómo mejorar la gobernanza de sus modelos de ML, consulte Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker.

Descripción de la arquitectura

La arquitectura se implementa de la siguiente manera:

  • Cuenta de ciencia de datos: los científicos de datos realizan sus experimentos en Estudio SageMaker y crear una configuración MLOps para implementar modelos en entornos de ensayo/producción utilizando Proyectos de SageMaker.
  • Cuenta de servicios compartidos de ML: las MLOps configuradas desde la cuenta de ciencia de datos activarán canales de integración continua y entrega continua (CI/CD) utilizando Compromiso de código de AWS y AWS CodePipeline.
  • Cuenta de desarrollo: las canalizaciones de CI/CD activarán aún más las canalizaciones de ML en esta cuenta que cubren el preprocesamiento de datos, la capacitación de modelos y el posprocesamiento, como la evaluación y el registro de modelos. El resultado de estos oleoductos implementará el modelo en Puntos finales de SageMaker para ser consumido con fines de inferencia. Dependiendo de sus requisitos de gobernanza, las cuentas de desarrollo y ciencia de datos se pueden fusionar en una única cuenta de AWS.
  • Cuenta de datos: las canalizaciones de aprendizaje automático que se ejecutan en la cuenta de desarrollo extraerán los datos de esta cuenta.
  • Cuentas de prueba y producción: las canalizaciones de CI/CD continuarán la implementación después de la cuenta de desarrollo para configurar la configuración del punto final de SageMaker en estas cuentas.
  • Seguridad y gobernanza: servicios como AWS Identity and Access Management (IAM), AWS IAM Identity Center, AWS CloudTrail, AWS Key Management Service (AWS KMS), Amazon CloudWatch y AWS Security Hub se utilizarán en estas cuentas como parte de la seguridad y gobernancia.

El siguiente diagrama ilustra esta arquitectura.

Para obtener más información sobre cómo configurar una arquitectura de aprendizaje automático escalable para múltiples cuentas, consulte Fundación MLOps para empresas con Amazon SageMaker.

Nuestros clientes necesitan la capacidad de compartir tarjetas modelo entre cuentas para mejorar la visibilidad y la gestión de sus modelos a través de la información compartida en la tarjeta modelo. Ahora, al compartir modelos de tarjetas entre cuentas, los clientes pueden disfrutar de los beneficios de la estrategia de múltiples cuentas y al mismo tiempo tener acceso a los modelos de tarjetas disponibles en su organización, para que puedan acelerar la colaboración y garantizar la gobernanza.

En esta publicación, mostramos cómo configurar y acceder a tarjetas modelo en cuentas del ciclo de vida de desarrollo de modelos (MDLC) utilizando la nueva función para compartir entre cuentas de la tarjeta modelo. Primero, describiremos un escenario y una arquitectura para configurar la función de uso compartido entre cuentas de la tarjeta modelo y luego profundizaremos en cada componente de cómo configurar y acceder a tarjetas modelo compartidas entre cuentas para mejorar la visibilidad y la gobernanza del modelo.

Resumen de la solución

Al crear modelos de aprendizaje automático, recomendamos configurar una arquitectura de múltiples cuentas para proporcionar aislamiento de la carga de trabajo y mejorar la seguridad, la confiabilidad y la escalabilidad. Para esta publicación, asumiremos la construcción e implementación de un modelo para el caso de uso de pérdida de clientes. El diagrama de arquitectura que aparece a continuación muestra uno de los enfoques recomendados (tarjeta modelo centralizada) para administrar una tarjeta modelo en una arquitectura de ciclo de vida de desarrollo de modelos de aprendizaje automático (MDLC) de múltiples cuentas. Sin embargo, también se puede adoptar otro enfoque, una tarjeta modelo de eje y radio. En esta publicación, nos centraremos únicamente en un enfoque de tarjeta modelo centralizada, pero los mismos principios se pueden extender a un enfoque de centro y radio. La principal diferencia es que cada cuenta radial mantendrá su propia versión de la tarjeta modelo y tendrá procesos para agregar y copiar a una cuenta centralizada.

El siguiente diagrama ilustra esta arquitectura.

La arquitectura se implementa de la siguiente manera:

  1. Se notifica al científico de datos principal para que resuelva el caso de uso de abandono de clientes mediante ML, y ellos inician el proyecto de ML mediante la creación de una tarjeta modelo para el modelo de abandono de clientes V1 en estado Borrador en la cuenta de servicios compartidos de ML.
  2. A través de la automatización, esa tarjeta modelo se comparte con la cuenta de desarrollo de ML.
  3. El científico de datos crea el modelo y comienza a completar información a través de API en la tarjeta del modelo en función de los resultados de su experimentación y el estado de la tarjeta del modelo se establece en Pendiente de revisión.
  4. A través de la automatización, ese modelo de tarjeta se comparte con la cuenta de prueba de ML.
  5. ML Engineer (MLE) ejecuta pruebas de integración y validación en la cuenta de ML Test y el modelo en el registro central está marcado como Pendiente de aprobación
  6. Model Approver revisa los resultados del modelo con la documentación de respaldo proporcionada en la tarjeta de modelo central y aprueba la tarjeta de modelo para su implementación en producción.
  7. A través de la automatización, esa tarjeta modelo se comparte con la cuenta ML Prod en modo de solo lectura.

Requisitos previos

Antes de comenzar, asegúrese de tener los siguientes requisitos previos:

  • Dos Cuentas de AWS.
  • En ambas cuentas de AWS, un rol de federación de IAM con acceso de administrador para hacer lo siguiente:
    • Cree, edite, vea y elimine tarjetas de modelo en Amazon SageMaker.
    • Cree, edite, vea y elimine recursos compartidos dentro de AWS RAM.

Para obtener más información, consulte Ejemplos de políticas de IAM para AWS RAM.

Configurar el uso compartido de tarjetas modelo

La cuenta donde se crean las tarjetas modelo es la cuenta de la tarjeta modelo. Los usuarios de la cuenta de tarjeta modelo las comparten con las cuentas compartidas donde se pueden actualizar. Los usuarios de la cuenta de tarjeta modelo pueden compartir sus tarjetas modelo a través de Administrador de acceso a recursos de AWS (AWS RAM). AWS RAM le ayuda a compartir recursos entre cuentas de AWS.

En la siguiente sección, mostramos cómo compartir tarjetas modelo.

Primero, cree una tarjeta modelo para un caso de uso de pérdida de clientes como se describió anteriormente. En la consola de Amazon SageMaker, expanda la sección Gobernanza y elija Tarjetas modelo.

Creamos la tarjeta modelo en Calado estado con el nombre Tarjeta modelo de abandono de clientes. Para obtener más información, consulte Crear una tarjeta modelo. En esta demostración, puede dejar el resto de los campos en blanco y crear la tarjeta modelo.

Como alternativa, puede utilizar el siguiente comando de AWS CLI para crear la tarjeta modelo:

aws sagemaker create-model-card --model-card-name Customer-Churn-Model-Card --content "{"model_overview": {"model_owner": "model-owner","problem_type": "Customer Churn Model"}}" --model-card-status Draft

Ahora, cree el recurso compartido entre cuentas utilizando AWS RAM. En la consola de AWS RAM, seleccione Crear un recurso compartido.

Ingrese un nombre para el recurso compartido, por ejemplo, "Cliente-Curn-Modelo-Tarjeta-Compartida". En los Recursos – opcional sección, seleccione el tipo de recurso como Tarjetas modelo SageMaker. La tarjeta modelo que creamos en el paso anterior aparecerá en el listado.

Selecciona ese modelo y aparecerá en la sección Recursos seleccionados. Seleccione ese recurso nuevamente como se muestra en los siguientes pasos y elija Siguiente.

En la página siguiente, puede seleccionar los permisos administrados. Puede crear permisos personalizados o utilizar la opción predeterminada "AWSRAMPermissionSageMakerModelCards"Y seleccione Siguiente. Para obtener más información, consulte Administrar permisos en AWS RAM.

En la página siguiente, puede seleccionar Directores. En Seleccionar tipo de principal, elija Cuenta de AWS e ingrese el ID de la cuenta de la tarjeta modelo compartida. Seleccionar Añada y continúe con la página siguiente.

En la última página, revise la información y seleccione "Crear recurso compartido". Alternativamente, puede utilizar lo siguiente CLI de AWS comando para crear un recurso compartido:

aws ram create-resource-share --name <Name of the Model Card> aws ram associate-resource-share --resource-share-arn <ARN of resource share create from the previous command> --resource-arns <ARN of the Model Card>

En la consola de AWS RAM, verá los atributos del recurso compartido. Asegúrese de que Recursos compartidos, Permisos administrados y Principales compartidos estén en "Associated"Estado.

Después de utilizar AWS RAM para crear un recurso compartido, a las entidades principales especificadas en el recurso compartido se les puede otorgar acceso a los recursos del recurso compartido.

  • Si activa el uso compartido de RAM de AWS con AWS Organizations y las entidades principales con las que comparte están en la misma organización que la cuenta compartida, esas entidades principales pueden recibir acceso tan pronto como el administrador de su cuenta les otorgue permisos.
  • Si no activa el uso compartido de RAM de AWS con organizaciones, aún puede compartir recursos con cuentas de AWS individuales que estén en su organización. El administrador de la cuenta consumidora recibe una invitación para unirse al recurso compartido y debe aceptar la invitación antes de que las entidades principales especificadas en el recurso compartido puedan acceder a los recursos compartidos.
  • También puede compartir con cuentas fuera de su organización si el tipo de recurso lo admite. El administrador de la cuenta consumidora recibe una invitación para unirse al recurso compartido y debe aceptar la invitación antes de que las entidades principales especificadas en el recurso compartido puedan acceder a los recursos compartidos.

Para obtener más información sobre AWS RAM, consulte Términos y conceptos para AWS RAM.

Acceder a tarjetas de modelo compartidas

Ahora podemos iniciar sesión en la cuenta compartida de AWS para acceder a la tarjeta modelo. Asegúrese de acceder a la consola de AWS utilizando permisos de IAM (rol de IAM) que permiten el acceso a la RAM de AWS.

Con AWS RAM, puede ver los recursos compartidos a los que se le ha agregado, los recursos compartidos a los que puede acceder y las cuentas de AWS que han compartido recursos con usted. También puede dejar un recurso compartido cuando ya no necesite acceso a sus recursos compartidos.

Para ver la tarjeta del modelo en la cuenta de AWS compartida:

  1. Navegue hasta la Compartido conmigo: Recursos compartidos página en la consola de AWS RAM.
  2. Asegúrese de estar operando en la misma región de AWS donde se creó el recurso compartido.
  3. El modelo compartido desde la cuenta del modelo estará disponible en el listado. Si hay una lista larga de recursos, puede aplicar un filtro para encontrar recursos compartidos específicos. Puede aplicar varios filtros para limitar su búsqueda.
  4. La siguiente información está disponible:
    1. ID de recurso – El ID del recurso. Este es el nombre de la tarjeta modelo que creamos anteriormente en la cuenta de la tarjeta modelo.
    2. Tipo de recurso – El tipo de recurso.
    3. Fecha de la última acción – La fecha en la que se compartió el recurso con usted.
    4. Recursos compartidos – El número de recursos compartidos en los que se incluye el recurso. Elija el valor para ver los recursos compartidos.
    5. ID de propietario – El ID del principal propietario del recurso.

También puede acceder a la tarjeta del modelo mediante la opción AWS CLI. Para la política de AWS IAM configurada con las credenciales correctas, asegúrese de tener permisos para crear, editar y eliminar tarjetas de modelo dentro de Amazon SageMaker. Para obtener más información, consulte Configurar la CLI de AWS.

Puede utilizar la siguiente política de permisos de AWS IAM como plantilla:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:DescribeModelCard", "sagemaker:UpdateModelCard", "sagemaker:CreateModelCardExportJob", "sagemaker:ListModelCardVersions", "sagemaker:DescribeModelCardExportJob" ], "Resource": [ "arn:aws:sagemaker:AWS-Region:AWS-model-card-account-id:model-card/example-model-card-name-0", "arn:aws:sagemaker:AWS-Region:AWS-model-card-account-id:model-card/example-model-card-name-1/*" ] }, { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::Amazon-S3-bucket-storing-the-pdf-of-the-model-card/model-card-name/*" } ]
}

Puede ejecutar el siguiente comando de AWS CLI para acceder a los detalles de la tarjeta de modelo compartida.

aws sagemaker describe-model-card --model-card-name <ARN of the model card>

Ahora puedes realizar cambios en este modelo de tarjeta desde esta cuenta.

aws sagemaker update-model-card --model-card-name <ARN of the Model Card> --content "{"model_overview": {"model_owner": "model-owner","problem_type": "Customer Churn Model"}}"

Después de realizar cambios, regrese a la cuenta de tarjeta modelo para ver los cambios que realizamos en esta cuenta compartida.

El tipo de problema se ha actualizado a "Customer Churn Model”que habíamos proporcionado como parte de la entrada del comando AWS CLI.

Limpiar

Ahora puede eliminar la tarjeta modelo que creó. Asegúrese de eliminar el recurso compartido de RAM de AWS que creó para compartir la tarjeta modelo.

Conclusión

En esta publicación, brindamos una descripción general de la arquitectura de múltiples cuentas para escalar y gobernar sus cargas de trabajo de aprendizaje automático de manera segura y confiable. Discutimos los patrones de arquitectura para configurar el uso compartido de tarjetas modelo e ilustramos cómo funcionan los patrones centralizados de uso compartido de tarjetas modelo. Finalmente, configuramos el uso compartido de tarjetas modelo en múltiples cuentas para mejorar la visibilidad y la gobernanza en el ciclo de vida de desarrollo de su modelo. Le recomendamos que pruebe la nueva función para compartir tarjetas modelo y que nos haga saber sus comentarios.


Sobre los autores

vishal naik es Arquitecto de Soluciones Sr. en Amazon Web Services (AWS). Es un constructor que disfruta ayudar a los clientes a satisfacer sus necesidades comerciales y resolver desafíos complejos con las mejores prácticas y las soluciones de AWS. Su área principal de enfoque incluye Machine Learning, DevOps y Containers. En su tiempo libre, a Vishal le encanta hacer cortometrajes sobre viajes en el tiempo y temas de universos alternativos.

carnero vitalcarnero vital es Arquitecto Principal de Soluciones de ML en AWS. Tiene más de 20 años de experiencia en la arquitectura y creación de aplicaciones distribuidas, híbridas y en la nube. Le apasiona crear soluciones seguras y escalables de AI/ML y big data para ayudar a los clientes empresariales con su proceso de optimización y adopción de la nube para mejorar sus resultados comerciales. En su tiempo libre, monta su motocicleta y camina con su ovejita de 2 años.

punto_img

Información más reciente

punto_img