Implantar um modelo - Amazon SageMaker

Implantar um modelo

Quando você implanta um modelo do JumpStart, o SageMaker hospeda o modelo e implanta um endpoint que você pode usar para inferência. O JumpStart também fornece um exemplo de caderno que você pode usar para acessar o modelo após a implantação.

Importante

A partir de 30 de novembro de 2023, a experiência anterior do Amazon SageMaker Studio se chama Amazon SageMaker Studio Classic. A seção a seguir é específica ao uso da aplicação Studio Classic. Para obter informações sobre como usar a experiência atualizada do Studio, consulte Amazon SageMaker Studio.

nota

Para obter mais informações sobre a implantação do modelo JumpStart no Studio, consulte Implantar um modelo no Studio.

Configuração de implantação do modelo

Depois de escolher um modelo, a guia do modelo é aberta. No painel Implantar modelo, escolha Configuração de implantação para configurar a implantação do modelo.

The Deploy Model pane.

O tipo de instância padrão para implantar um modelo depende do modelo. O tipo de instância é o hardware no qual o trabalho de treinamento é executado. No exemplo a seguir, a instância ml.p2.xlarge é o padrão para esse modelo BERT específico.

Você também pode alterar o nome do endpoint, adicionar tags de recursos key;value, ativar ou desativar o prefixo jumpstart- de qualquer recurso do JumpStart relacionado ao modelo e especificar um bucket do Amazon S3 para armazenar artefatos do modelo usados pelo endpoint do SageMaker.

JumpStart Deploy Model pane with Deployment Configuration open to select its settings.

Escolha Configurações de segurança para especificar a função (IAM) AWS Identity and Access Management, a Amazon Virtual Private Cloud (Amazon VPC) e as chaves de criptografia para o modelo.

JumpStart Deploy Model pane with Security Settings open to select its settings.

Segurança de implantação de modelos

Ao implantar um modelo com o JumpStart, você pode especificar uma perfil do IAM, Amazon VPC e chaves de criptografia para o modelo. Se você não especificar nenhum valor para essas entradas: o perfil do IAM padrão é seu perfil de runtime do Studio Classic; a criptografia padrão é usada; nenhuma Amazon VPC é usada.

Perfil do IAM

Você pode selecionar um perfil do IAM que seja aprovada como parte dos trabalhos de treinamento e hospedagem. O SageMaker usa essa função para acessar dados de treinamento e artefatos do modelo. Se você não selecionar um perfil do IAM, o SageMaker implanta o modelo usando seu perfil de runtime do Studio Classic. Para obter mais informações sobre perfis do IAM, consulte AWS Identity and Access Management para Amazon SageMaker.

A função que você passa deve ter acesso aos recursos de que o modelo precisa e deve incluir todos os itens a seguir.

nota

Você pode definir o escopo das permissões do Amazon S3 concedidas em cada uma das seguintes funções: Faça isso usando o ARN do bucket do Amazon Simple Storage Service (Amazon S3) e do bucket do JumpStart Amazon S3.

[ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::jumpstart-cache-prod-<region>/*", "arn:aws:s3:::jumpstart-cache-prod-<region>", "arn:aws:s3:::<bucket>/*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer" ], "Resource": [ "*" ] }, ] }

Encontre o perfil do IAM

Se selecionar essa opção, é necessário selecionar uma função existente do IAM na lista suspensa.

JumpStart Security Settings IAM section with Find IAM role selected.

Perfil do IAM de entrada

Se você selecionar essa opção, deverá inserir manualmente o ARN de uma função existente do IAM. Se seu perfil de runtime do Studio Classic ou da Amazon VPC bloquear a chamada iam:list* , você deverá usar essa opção para usar um perfil do IAM existente.

JumpStart Security Settings IAM section with Input IAM role selected.

Amazon VPC

Todos os modelos JumpStart são executados no modo de isolamento de rede. Depois que o contêiner do modelo é criado, não é possível fazer mais chamadas. Você pode selecionar uma Amazon VPC aprovada como parte dos trabalhos de treinamento e hospedagem. O SageMaker usa esse Amazon VPC para enviar e extrair recursos do bucket do Amazon S3. Essa Amazon VPC é diferente da Amazon VPC, que limita o acesso à internet pública a partir da sua instância do Studio Classic. Para obter mais informações sobre o Studio Classic Amazon VPC, consulte Conectar os cadernos do Studio em uma VPC para recursos externos.

O Amazon VPC que você passa não precisa acessar a Internet pública, mas precisa acessar o Amazon S3. O endpoint da Amazon VPC do Amazon S3 deve permitir acesso ao menos aos seguintes recursos de que o modelo precisa:

{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:ListBucket" ], "Resources": [ "arn:aws:s3:::jumpstart-cache-prod-<region>/*", "arn:aws:s3:::jumpstart-cache-prod-<region>", "arn:aws:s3:::bucket/*" ] }

Se você não selecionar uma Amazon VPC, nenhuma Amazon VPC será usada.

Encontrar uma VPC

Se você selecionar essa opção, deverá selecionar uma Amazon VPC existente na lista suspensa. Depois de selecionar uma Amazon VPC, você deve selecionar uma sub-rede e um grupo de segurança para sua Amazon VPC. Para obter mais informações sobre sub-redes e grupos de segurança, consulte Visão geral de VPCs e sub-redes.

JumpStart Security Settings VPC section with Find VPC selected.

Inserir VPC

Se você selecionar essa opção, deverá selecionar manualmente a sub-rede e o grupo de segurança que compõem sua Amazon VPC. Se seu perfil de runtime do Studio Classic ou a Amazon VPC bloquear a chamada ec2:list*, você deverá usar essa opção para selecionar a sub-rede e o grupo de segurança.

JumpStart Security Settings VPC section with Input VPC selected.

Chaves de criptografia

Você pode selecionar uma chave do AWS KMS que seja passada como parte dos trabalhos de treinamento e hospedagem. O SageMaker usa essa chave para criptografar o volume do Amazon EBS para o contêiner e o modelo reempacotado no Amazon S3 para hospedar trabalhos e a saída para trabalhos de treinamento. Para obter mais informações sobre chaves AWS KMS, consulte Chaves AWS KMS.

A chave que você transmitir deve confiar no perfil do IAM que você transmitir ao. Se você não especificar um perfil do IAM, a chave do AWS KMS deve confiar no seu perfil de runtime do Studio Classic.

Se você não selecionar uma chave AWS KMS, o SageMaker fornece criptografia padrão para os dados no volume do Amazon EBS e nos artefatos do Amazon S3.

Encontrar chaves de criptografia

Se você selecionar essa opção, deverá selecionar as chaves AWS KMS existentes na lista suspensa.

JumpStart Security Settings encryption section with Find encryption keys selected.

Inserir Chaves de criptografia

Se selecionar essa opção, é necessário inserir as teclas AWS KMS manualmente. Se seu perfil de execução do Studio Classic ou da Amazon VPC bloquear a chamada kms:list* , você deverá usar essa opção para selecionar as chaves existentes do AWS KMS.

JumpStart Security Settings encryption section with Input encryption keys selected.

Configurar valores padrão para modelos JumpStart

Você pode configurar valores padrão para parâmetros como funções do IAM, VPCs e chaves KMS para pré-preencher para implantação e treinamento do modelo JumpStart. Depois de definir os valores padrão, a interface do usuário do Studio Classic fornece automaticamente suas configurações e tags de segurança especificadas aos modelos do JumpStart para simplificar os fluxos de trabalho de implantação e treinamento. Administradores e usuários finais podem inicializar os valores padrão especificados em um arquivo de configuração no formato YAML.

Por padrão, o SageMaker Python SDK usa dois arquivos de configuração: um para o administrador e outro para o usuário. Usando o arquivo de configuração do administrador, os administradores podem definir um conjunto de valores padrão. Os usuários finais podem substituir os valores definidos no arquivo de configuração do administrador e definir valores padrão adicionais usando o arquivo de configuração do usuário final. Para obter mais informações, consulte Configuração padrão de local do arquivo.

O exemplo de código a seguir lista os locais padrão dos arquivos de configuração ao usar o SageMaker Python SDK no Amazon SageMaker Studio Classic.

# Location of the admin config file /etc/xdg/sagemaker/config.yaml # Location of the user config file /root/.config/sagemaker/config.yaml

Os valores especificados no arquivo de configuração do usuário substituem os valores definidos no arquivo de configuração do administrador. O arquivo de configuração é exclusivo para cada perfil de usuário em um domínio do Amazon SageMaker. A aplicação Studio Classic do perfil do usuário está diretamente associado ao perfil do usuário. Para obter mais informações, consulte Perfis de usuário do domínio.

Opcionalmente, os administradores podem definir padrões de configuração para treinamento e implantação do modelo JumpStart por meio de configurações de ciclo de vida do JupyterServer. Para obter mais informações, consulte Criar e associar uma configuração de ciclo de vida.

Seu arquivo de configuração deve aderir à estrutura do arquivo de configuração do SageMaker Python SDK. Observe que campos específicos nas configurações TrainingJob, Model, e EndpointConfig se aplicam aos valores padrão de treinamento e implantação do modelo JumpStart.

SchemaVersion: '1.0' SageMaker: TrainingJob: OutputDataConfig: KmsKeyId: example-key-id ResourceConfig: # Training configuration - Volume encryption key VolumeKmsKeyId: example-key-id # Training configuration form - IAM role RoleArn: arn:aws:iam::123456789012:role/SageMakerExecutionRole VpcConfig: # Training configuration - Security groups SecurityGroupIds: - sg-1 - sg-2 # Training configuration - Subnets Subnets: - subnet-1 - subnet-2 # Training configuration - Custom resource tags Tags: - Key: Example-key Value: Example-value Model: EnableNetworkIsolation: true # Deployment configuration - IAM role ExecutionRoleArn: arn:aws:iam::123456789012:role/SageMakerExecutionRole VpcConfig: # Deployment configuration - Security groups SecurityGroupIds: - sg-1 - sg-2 # Deployment configuration - Subnets Subnets: - subnet-1 - subnet-2 EndpointConfig: AsyncInferenceConfig: OutputConfig: KmsKeyId: example-key-id DataCaptureConfig: # Deployment configuration - Volume encryption key KmsKeyId: example-key-id KmsKeyId: example-key-id # Deployment configuration - Custom resource tags Tags: - Key: Example-key Value: Example-value