Diretrizes de criação de modelos para o contêiner de treinamento - AWS Clean Rooms

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 treinamento

Esta seção detalha as diretrizes que os fornecedores de modelos devem seguir ao criar um algoritmo de modelo de ML personalizado para Clean Rooms ML.

  • Use a imagem base de contêiner apropriada suportada pelo treinamento de SageMaker IA, conforme descrito no Guia do desenvolvedor de SageMaker IA. O código a seguir permite extrair 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-training: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, garanta o seguinte para que você possa testar seu modelo localmente, em uma instância de desenvolvimento, no treinamento de SageMaker IA em sua Conta da AWS e no Clean Rooms ML.

    • Recomendamos escrever um script de treinamento que acesse propriedades úteis sobre o ambiente de treinamento por meio de várias variáveis de ambiente. O Clean Rooms ML usa os seguintes argumentos para invocar o treinamento no código do seu modelo: SM_MODEL_DIRSM_OUTPUT_DIR,SM_CHANNEL_TRAIN, e. FILE_FORMAT Esses padrões são usados pelo Clean Rooms ML para treinar seu modelo de ML em seu próprio ambiente de execução com os dados de todas as partes.

    • O Clean Rooms ML disponibiliza seus canais de entrada de treinamento por meio dos /opt/ml/input/data/channel-name diretórios no contêiner docker. Cada canal de entrada de ML é mapeado com base no correspondente channel_name fornecido na CreateTrainedModel solicitação.

      parser = argparse.ArgumentParser()# Data, model, and output directories parser.add_argument('--model_dir', type=str, default=os.environ.get('SM_MODEL_DIR', "/opt/ml/model")) parser.add_argument('--output_dir', type=str, default=os.environ.get('SM_OUTPUT_DIR', "/opt/ml/output/data")) parser.add_argument('--train_dir', type=str, default=os.environ.get('SM_CHANNEL_TRAIN', "/opt/ml/input/data/train")) parser.add_argument('--train_file_format', type=str, default=os.environ.get('FILE_FORMAT', "csv"))
    • Certifique-se de que você seja capaz de gerar um conjunto de dados sintético ou de teste com base no esquema dos colaboradores que será usado no código do seu modelo.

    • Certifique-se de poder executar um trabalho de treinamento 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 treinamento de SageMaker IA e ML de salas limpas.

      FROM 763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:2.3.0-cpu-py311-ubuntu20.04-sagemaker MAINTAINER $author_name ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" ENV PATH="/opt/ml/code:${PATH}" # this environment variable is used by the SageMaker PyTorch container to determine our user code directory ENV SAGEMAKER_SUBMIT_DIRECTORY /opt/ml/code # copy the training script inside the container COPY train.py /opt/ml/code/train.py # define train.py as the script entry point ENV SAGEMAKER_PROGRAM train.py ENTRYPOINT ["python", "/opt/ml/code/train.py"]
  • Para monitorar melhor as falhas do contêiner, recomendamos capturar exceções ou manipular todos os modos de falha em seu código e gravá-los. /opt/ml/output/failure Em uma GetTrainedModel resposta, o Clean Rooms ML retorna os primeiros 1024 caracteres desse arquivo abaixoStatusDetails.

  • Depois de concluir todas as alterações do modelo e estar pronto para testá-lo no ambiente de SageMaker IA, execute os comandos a seguir 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 Doker aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com # Push To ECR Images docker push $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com$REPO_NAME:$REPO_TAG # Create Sagemaker Training job # Configure the training_job.json with # 1. TrainingImage # 2. Input DataConfig # 3. Output DataConfig aws sagemaker create-training-job --cli-input-json file://training_job.json --region $REGION

    Depois que o trabalho de SageMaker IA for concluído e você estiver satisfeito com seu algoritmo de modelo, você poderá registrar o Amazon ECR Registry com AWS Clean Rooms ML. Use a CreateConfiguredModelAlgorithm ação para registrar o algoritmo do modelo e CreateConfiguredModelAlgorithmAssociation associá-lo a uma colaboração.