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á.
Diretrizes de criação de modelos para o contêiner de inferência
Esta seção detalha as diretrizes que os fornecedores de modelos devem seguir ao criar um algoritmo de inferência para Clean Rooms ML.
-
Use a imagem base de contêiner apropriada suportada pela inferência de SageMaker IA, conforme descrito no Guia do desenvolvedor de SageMaker IA. O código a seguir permite que você extraia as imagens de base de contêineres compatíveis de endpoints públicos de SageMaker IA.
ecr_registry_endpoint='763104351884.dkr.ecr.$REGION.amazonaws.com' base_image='pytorch-inference:2.3.0-cpu-py311-ubuntu20.04-sagemaker' aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin $ecr_registry_endpoint docker pull $ecr_registry_endpoint/$base_image -
Ao criar o modelo localmente, certifique-se do seguinte para que você possa testar seu modelo localmente, em uma instância de desenvolvimento, no SageMaker AI Batch Transform no seu Conta da AWS e no Clean Rooms ML.
-
O Clean Rooms ML disponibiliza seus artefatos de modelo de inferência para uso pelo seu código de inferência por meio do
/opt/ml/modeldiretório no contêiner docker. -
O Clean Rooms ML divide a entrada por linha, usa uma estratégia de
MultiRecordlote e adiciona um caractere de nova linha no final de cada registro transformado. -
Você define o tamanho máximo da solicitação em
maxPayloadInMBabaixocontainerExecutionParameters. Se você não especificar um valor, o Clean Rooms ML usará 6 MB. Quando um arquivo CSV de entrada é maior do que esse valor, a SageMaker IA divide o arquivo em várias solicitações para seu contêiner de inferência. A linha do cabeçalho CSV aparece somente na primeira solicitação desse arquivo, e as solicitações subsequentes começam com linhas de dados. Configure seu contêiner de inferência com um esquema de coluna predefinido para que ele aceite solicitações com ou sem uma linha de cabeçalho. Se uma linha de cabeçalho estiver presente, ignore-a em vez de tratá-la como um registro de dados. Para obter mais informações sobremaxPayloadInMB, consulte InferenceContainerExecutionParameters a Referência da API de ML do AWS Clean Rooms. -
Certifique-se de que você seja capaz de gerar um conjunto de dados de inferência sintético ou de teste com base no esquema dos colaboradores que serão usados em seu código de modelo.
-
Certifique-se de que você possa executar um trabalho de transformação em lote de SageMaker IA sozinho Conta da AWS antes de associar o algoritmo do modelo a uma AWS Clean Rooms colaboração.
O código a seguir contém um arquivo Docker de amostra que é compatível com testes locais, testes de ambiente de transformação de SageMaker IA e Clean Rooms ML
FROM763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.12.1-cpu-py38-ubuntu20.04-sagemaker ENV PYTHONUNBUFFERED=1 COPY serve.py /opt/ml/code/serve.py COPY inference_handler.py /opt/ml/code/inference_handler.py COPY handler_service.py /opt/ml/code/handler_service.py COPY model.py /opt/ml/code/model.py RUN chmod +x /opt/ml/code/serve.py ENTRYPOINT ["/opt/ml/code/serve.py"]
-
-
Depois de concluir qualquer alteração no modelo e estar pronto para testá-la no ambiente de SageMaker IA, execute os seguintes comandos na ordem fornecida.
export ACCOUNT_ID=xxx export REPO_NAME=xxx export REPO_TAG=xxx export REGION=xxx docker build -t $ACCOUNT_ID.dkr.ecr.us-west-2.amazonaws.com/$REPO_NAME:$REPO_TAG # Sign into AWS $ACCOUNT_ID/ Run aws configure # Check the account and make sure it is the correct role/credentials aws sts get-caller-identity aws ecr create-repository --repository-name $REPO_NAME --region $REGION aws ecr describe-repositories --repository-name $REPO_NAME --region $REGION # Authenticate Docker aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com # Push To ECR Repository docker push $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com$REPO_NAME:$REPO_TAG # Create Sagemaker Model # Configure the create_model.json with # 1. Primary container - # a. ModelDataUrl - S3 Uri of the model.tar from your training job aws sagemaker create-model --cli-input-json file://create_model.json --region $REGION # Create Sagemaker Transform Job # Configure the transform_job.json with # 1. Model created in the step above # 2. MultiRecord batch strategy # 3. Line SplitType for TransformInput # 4. AssembleWith Line for TransformOutput aws sagemaker create-transform-job --cli-input-json file://transform_job.json --region $REGIONDepois que o trabalho de SageMaker IA for concluído e você estiver satisfeito com sua transformação em lote, você poderá registrar o Amazon ECR Registry com o AWS Clean Rooms ML. Use a
CreateConfiguredModelAlgorithmação para registrar o algoritmo do modelo eCreateConfiguredModelAlgorithmAssociationassociá-lo a uma colaboração.