Implantação de modelos não compactados - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implantação de modelos não compactados

Ao implantar modelos de ML, uma opção é arquivar e compactar os artefatos do modelo em um formato tar.gz. Embora esse método funcione bem para modelos pequenos, compactar um artefato de modelo grande com centenas de bilhões de parâmetros e depois descompactá-lo em um endpoint pode levar um tempo significativo. Para inferência de modelos grandes, recomendamos que você implante um modelo de ML não compactado. Este guia mostra como você pode implantar um modelo de ML não compactado.

Para implantar modelos de ML não compactados, faça o upload de todos os artefatos do modelo para o Amazon S3 e organize-os sob um prefixo comum do Amazon S3. Um prefixo do Amazon S3 é uma sequência de caracteres no início de um nome de chave de objeto do Amazon S3, separada do resto do nome por um delimitador. Para ter mais informações sobre prefixos no Amazon S3, consulte Organizar objetos usando prefixos.

Para implantar com o SageMaker AI, você deve usar a barra (/) como delimitador. Você precisa garantir que somente os artefatos associados ao seu modelo de ML sejam organizados com o prefixo. Para modelos de ML com um único artefato não compactado, o prefixo será idêntico ao nome da chave. Você pode verificar quais objetos estão associados ao seu prefixo com AWS CLI:

aws s3 ls --recursive s3://bucket/prefix

Depois de carregar os artefatos do modelo no Amazon S3 e organizá-los sob um prefixo comum, você pode especificar sua localização como parte do campo ModelDataSource ao invocar a solicitação CreateModel. O SageMaker AI baixará automaticamente os artefatos do modelo não compactado em /opt/ml/model para inferência. Para ter mais informações sobre as regras que o SageMaker AI utiliza ao baixar artefatos, consulte S3ModelDataSource.

O trecho de código a seguir mostra como você pode invocar a API CreateModel ao implantar um modelo não compactado. Substitua texto do usuário em itálico por suas próprias informações.

model_name = "model-name" sagemaker_role = "arn:aws:iam::123456789012:role/SageMakerExecutionRole" container = "123456789012.dkr.ecr.us-west-2.amazonaws.com/inference-image:latest" create_model_response = sagemaker_client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, PrimaryContainer = { "Image": container, "ModelDataSource": { "S3DataSource": { "S3Uri": "s3://amzn-s3-demo-bucket/prefix/to/model/data/", "S3DataType": "S3Prefix", "CompressionType": "None", }, }, }, )

O exemplo acima mencionado pressupõe que os artefatos do seu modelo estejam organizados sob um prefixo comum. Se, em vez disso, seu artefato de modelo for um único objeto Amazon S3 não compactado, altere "S3Uri" para apontar para o objeto Amazon S3 e altere "S3DataType" para "S3Object".

nota

No momento, não é possível usar ModelDataSource com o AWS Marketplace, a transformação em lote do SageMaker AI, os endpoints de Inferência Sem Servidor do SageMaker e os endpoints multimodelo do SageMaker.