Ml 17149 Pic1 1.png

Con el surgimiento de poderosos modelos de base (FM) impulsados ​​por servicios como La roca madre del Amazonas y Inicio rápido de Amazon SageMakerLas empresas quieren ejercer un control granular sobre qué usuarios y grupos pueden acceder y utilizar estos modelos. Esto es crucial para el cumplimiento, la seguridad y la gobernanza.

Lanzado en 2021, Lienzo de Amazon SageMaker es un servicio visual de apuntar y hacer clic que permite a los analistas de negocios y científicos de datos ciudadanos utilizar modelos de aprendizaje automático (ML) listos para usar y crear modelos de ML personalizados para generar predicciones precisas sin escribir ningún código. SageMaker Canvas proporciona una interfaz sin código para consumir una amplia gama de FM de ambos servicios de manera estándar, así como para personalizar las respuestas del modelo mediante un flujo de trabajo de Generación aumentada de recuperación (RAG) utilizando Amazona Kendra como base de conocimiento o para ajustarla mediante un conjunto de datos etiquetados. Esto simplifica el acceso a inteligencia artificial generativa (IA) capacidades a analistas de negocios y científicos de datos sin la necesidad de conocimientos técnicos o tener que escribir código, acelerando así la productividad.

En esta publicación, analizamos estrategias para gobernar el acceso a los modelos Amazon Bedrock y SageMaker JumpStart desde SageMaker Canvas usando Gestión de identidad y acceso de AWS Políticas de IAM (administración, administración y acceso). Aprenderá a crear permisos granulares para controlar la invocación de modelos de Amazon Bedrock listos para usar y evitar el aprovisionamiento de puntos de conexión de SageMaker con modelos SageMaker JumpStart específicos. Proporcionamos ejemplos de código adaptados a escenarios comunes de gobernanza empresarial. Al final, comprenderá cómo bloquear el acceso a las capacidades de IA generativa en función de los requisitos de su organización, manteniendo un uso seguro y compatible de la IA de vanguardia dentro del entorno de SageMaker Canvas sin código.

Esta publicación cubre un tema cada vez más importante a medida que se encuentran disponibles modelos de IA más potentes, lo que la convierte en un recurso valioso para operadores de ML, equipos de seguridad y cualquier persona que gestione la IA en la empresa.

Descripción general de la solución

El siguiente diagrama ilustra la arquitectura de la solución.

La arquitectura de SageMaker Canvas permite a los analistas de negocios y científicos de datos interactuar con modelos de ML sin escribir ningún código. Sin embargo, administrar el acceso a estos modelos es crucial para mantener la seguridad y el cumplimiento. Cuando un usuario interactúa con SageMaker Canvas, las operaciones que realiza, como invocar un modelo o crear un punto final, las ejecuta el rol de servicio de SageMaker. Los perfiles de usuario de SageMaker pueden heredar el rol predeterminado del dominio de SageMaker o tener un rol específico del usuario.

Al personalizar las políticas asociadas a este rol, puede controlar qué acciones se permiten o se deniegan, lo que regula el acceso a las capacidades de IA generativa. Como parte de esta publicación, analizamos qué políticas de IAM se deben usar para este rol para controlar las operaciones dentro de SageMaker Canvas, como la invocación de modelos o la creación de puntos de conexión, según los requisitos organizativos de la empresa. Analizamos dos patrones para los modelos de Amazon Bedrock y los modelos de SageMaker JumpStart: limitar el acceso a todos los modelos desde un servicio o limitar el acceso a modelos específicos.

Controlar el acceso de Amazon Bedrock a SageMaker Canvas

Para utilizar los modelos de Amazon Bedrock, SageMaker Canvas llama a las siguientes API de Amazon Bedrock:

  • lecho de roca:InvokeModel – Invoca el modelo sincrónicamente
  • lecho de roca: InvokeModelWithResponseStream – Invoca el modelo sincrónicamente, y la respuesta se transmite a través de un socket, como se ilustra en el siguiente diagrama.

Además, SageMaker Canvas puede llamar a la API bedrock:FineTune para ajustar los modelos de lenguaje grandes (LLM) con Amazon Bedrock. Al momento de escribir este artículo, SageMaker Canvas solo permite ajustar los modelos de Amazon Titan.

Para utilizar un LLM específico de Amazon Bedrock, SageMaker Canvas utiliza el ID de modelo del LLM elegido como parte de las llamadas API. Al momento de escribir este artículo, SageMaker Canvas admite los siguientes modelos de Amazon Bedrock, agrupados por proveedor de modelos:

  • AI21
    • Jurassic-2 Mid: j2-mid-v1
    • Jurassic-2 Ultra: j2-ultra-v1
  • Amazonas
    • Titán: titan-text-premier-v1:*
    • Titán grande: titan-text-lite-v1
    • Expreso Titán: titan-text-express-v1
  • Antrópico
    • Claude 2: claude-v2
    • Claude Instantáneo: claude-instant-v1
  • Adherirse
    • Texto del comando: command-text-*
    • Luz de comando: command-light-text-*
  • Meta
    • Llama 2 13B: llama2-13b-chat-v1
    • Llama 2 70B: llama2-70b-chat-v1

Para obtener la lista completa de identificaciones de modelos para Amazon Bedrock, consulte Identificadores de modelos de Amazon Bedrock.

Limitar el acceso a todos los modelos de Amazon Bedrock

Para restringir el acceso a todos los modelos de Amazon Bedrock, puede modificar la función de SageMaker para denegar explícitamente estas API. Esto garantiza que ningún usuario pueda invocar ningún modelo de Amazon Bedrock a través de SageMaker Canvas.

El siguiente es un ejemplo de política de IAM para lograr esto:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream"
            ],
            "Resource": "*"
        }
    ]
}

La política utiliza los siguientes parámetros:

  • "Effect": "Deny" especifica que se deniegan las siguientes acciones
  • "Action": ["bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream"] especifica las API de Amazon Bedrock que están denegadas
  • "Resource": "*" indica que la denegación se aplica a todos los modelos de Amazon Bedrock

Limitar el acceso a modelos específicos de Amazon Bedrock

Puede ampliar la política de IAM anterior para restringir el acceso a modelos específicos de Amazon Bedrock especificando los identificadores de modelo en la sección Recursos de la política. De esta manera, los usuarios solo pueden invocar los modelos permitidos.

El siguiente es un ejemplo de la política IAM extendida:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream"
            ],
            "Resource": [
                "arn:aws:bedrock:<region-or-*>::foundation-model/<model-id-1>",
                "arn:aws:bedrock:<region-or-*>::foundation-model/<model-id-2>"
            ]
        }
    ]
}

En esta política, la matriz de recursos enumera los modelos específicos de Amazon Bedrock que están denegados. Proporcione los identificadores de región, cuenta y modelo de AWS adecuados para su entorno.

Administrar el acceso de SageMaker JumpStart a SageMaker Canvas

Para que SageMaker Canvas pueda consumir LLM desde SageMaker JumpStart, debe realizar las siguientes operaciones:

  1. Seleccione el LLM desde SageMaker Canvas o desde la lista de ID de modelos JumpStart (enlace a continuación).
  2. Cree una configuración de punto final e implemente el LLM en un punto final en tiempo real.
  3. Invoque el punto final para generar la predicción.

El siguiente diagrama ilustra este flujo de trabajo.

Para obtener una lista de los identificadores de modelos JumpStart disponibles, consulte Tabla de modelos disponibles de JumpStartAl momento de escribir este artículo, SageMaker Canvas admite los siguientes identificadores de modelo:

  • huggingface-textgeneration1-mpt-7b-*
  • huggingface-llm-mistral-*
  • meta-textgeneration-llama-2-*
  • huggingface-llm-falcon-*
  • huggingface-textgeneration-dolly-v2-*
  • huggingface-text2text-flan-t5-*

Para identificar el modelo correcto de SageMaker JumpStart, SageMaker Canvas pasa aws:RequestTag/sagemaker-sdk:jumpstart-model-id como parte de la configuración del punto final. Para obtener más información sobre otras técnicas para limitar el acceso a los modelos de SageMaker JumpStart mediante permisos de IAM, consulte Administrar el acceso al modelo básico de Amazon SageMaker JumpStart con centros privados.

Configurar permisos para implementar puntos finales a través de la interfaz de usuario

En la página de configuración del dominio de SageMaker en la página de SageMaker de la consola de administración de AWS, puede configurar SageMaker Canvas para poder implementar puntos de conexión de SageMaker. Esta opción también permite la implementación de puntos de conexión en tiempo real para modelos de ML clásicos, como la clasificación o el pronóstico de series temporales. Para habilitar la implementación del modelo, complete los siguientes pasos:

  1. En la consola de Amazon SageMaker, navegue hasta su dominio.
  2. En el Detalles del dominio página, elija la Configuraciones de la aplicación

  1. En el Lienzo sección, elige Editar.

  1. Encender Habilitar la implementación directa de modelos de Canvas en el Configuración de ML Ops

Limitar el acceso a todos los modelos de SageMaker JumpStart

Para limitar el acceso a todos los modelos de SageMaker JumpStart, configure el rol de SageMaker para bloquear el acceso. CreateEndpointConfig y CreateEndpoint API en cualquier ID de modelo de SageMaker JumpStart. Esto evita la creación de puntos finales mediante estos modelos. Vea el siguiente código:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "sagemaker:CreateEndpointConfig",
                "sagemaker:CreateEndpoint"
            ],
            "Resource": "*",
"Condition": {
                "Null": {
                    "aws:RequestTag/sagemaker-sdk:jumpstart-model-id":”*”
		    }
		}
        }
    ]
}

Esta política utiliza los siguientes parámetros:

  • "Effect": "Deny" especifica que se deniegan las siguientes acciones
  • "Action": ["sagemaker:CreateEndpointConfig", "sagemaker:CreateEndpoint"] especifica las API de SageMaker que están denegadas
  • El "Null" El operador de condición en las políticas de AWS IAM se utiliza para comprobar si una clave existe o no. No comprueba el valor de la clave, solo su presencia o ausencia.
  • "aws:RequestTag/sagemaker-sdk:jumpstart-model-id":”*” Indica que la denegación se aplica a todos los modelos de SageMaker JumpStart

Limitar el acceso y la implementación para modelos específicos de SageMaker JumpStart

De manera similar a los modelos de Amazon Bedrock, puede limitar el acceso a modelos específicos de SageMaker JumpStart especificando sus identificadores de modelo en la política de IAM. Para lograr esto, un administrador debe restringir que los usuarios creen puntos de conexión con modelos no autorizados. Por ejemplo, para denegar el acceso a los modelos Hugging Face FLAN T5 y MPT, utilice el siguiente código:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "sagemaker:CreateEndpointConfig",
                "sagemaker:CreateEndpoint"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aws:RequestTag/sagemaker-sdk:jumpstart-model-id": [
                        "huggingface-textgeneration1-mpt-7b-*",
                        "huggingface-text2text-flan-t5-*"
                    ]
                }
            }
        }
    ]
}

En esta política, la "StringLike" La condición permite la coincidencia de patrones, lo que permite que la política se aplique a múltiples ID de modelo con prefijos similares.

Limpiar

Para evitar incurrir en futuros cargos por instancia de espacio de trabajocierre la sesión de SageMaker Canvas cuando haya terminado de usar la aplicación. Opcionalmente, puede configurar SageMaker Canvas para se apaga automáticamente cuando está inactivo.

Conclusión

En esta publicación, demostramos cómo SageMaker Canvas invoca los LLM impulsados ​​por Amazon Bedrock y SageMaker JumpStart, y cómo las empresas pueden controlar el acceso a estos modelos, ya sea que desee limitar el acceso a modelos específicos o a cualquier modelo de cualquiera de los servicios. Puede combinar las políticas de IAM que se muestran en esta publicación en el mismo rol de IAM para proporcionar un control completo.

Si siguen estas pautas, las empresas pueden asegurarse de que el uso de modelos de IA generativos sea seguro y cumpla con las políticas organizacionales. Este enfoque no solo protege los datos confidenciales, sino que también permite a los analistas comerciales y científicos de datos aprovechar todo el potencial de la IA en un entorno controlado.

Ahora que su entorno está configurado según el estándar empresarial, le sugerimos leer las siguientes publicaciones para conocer lo que SageMaker Canvas le permite hacer con IA generativa:


Acerca de los autores

Davide Gallitelli es un arquitecto de soluciones sénior especializado en GenAI/ML. Es italiano, reside en Bruselas y trabaja en estrecha colaboración con clientes de todo el mundo en cargas de trabajo de IA generativa y tecnología de ML sin código y de bajo código. Ha sido desarrollador desde muy joven y comenzó a codificar a los 7 años. Comenzó a aprender IA/ML en sus últimos años de universidad y desde entonces se enamoró de ellos.

Lijan Kuniyil Lijan es gerente sénior de cuentas técnicas en AWS. Disfruta ayudando a los clientes empresariales de AWS a crear sistemas altamente confiables y rentables con excelencia operativa. Lijan tiene más de 25 años de experiencia en el desarrollo de soluciones para empresas financieras y de consultoría.

Saptarshi Banerjee Saptarshi se desempeña como arquitecto de soluciones para socios sénior en AWS y colabora estrechamente con los socios de AWS para diseñar y diseñar soluciones de misión crítica. Con una especialización en IA generativa, IA/ML, arquitectura sin servidor y soluciones basadas en la nube, Saptarshi se dedica a mejorar el rendimiento, la innovación, la escalabilidad y la rentabilidad para los socios de AWS dentro del ecosistema de la nube.