View a markdown version of this page

Linee guida per la creazione di modelli per il contenitore di inferenza - AWS Clean Rooms

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Linee guida per la creazione di modelli per il contenitore di inferenza

Questa sezione descrive in dettaglio le linee guida che i fornitori di modelli devono seguire quando creano un algoritmo di inferenza per Clean Rooms ML.

  • Utilizza l'immagine di base del contenitore appropriata supportata dall'inferenza SageMaker AI, come descritto nella AI Developer Guide. SageMaker Il codice seguente consente di estrarre le immagini di base dei contenitori supportate dagli endpoint AI pubblici SageMaker .

    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
  • Quando crei il modello localmente, assicurati di quanto segue in modo da poter testare il tuo modello localmente, su un'istanza di sviluppo, su SageMaker AI Batch Transform nel tuo Account AWS e su Clean Rooms ML.

    • Clean Rooms ML rende disponibili gli artefatti del modello derivanti dall'inferenza per l'uso con il codice di inferenza tramite la /opt/ml/model directory nel contenitore docker.

    • Clean Rooms ML divide l'input per riga, utilizza una strategia MultiRecord batch e aggiunge un carattere di nuova riga alla fine di ogni record trasformato.

    • La dimensione massima della richiesta è impostata in maxPayloadInMB basso. containerExecutionParameters Se non specifichi un valore, Clean Rooms ML utilizza 6 MB. Quando un file CSV di input è più grande di quel valore, SageMaker AI divide il file in più richieste al contenitore di inferenza. La riga di intestazione CSV viene visualizzata solo nella prima richiesta di quel file e le richieste successive iniziano con righe di dati. Configura il contenitore di inferenza con uno schema di colonne predefinito in modo che accetti richieste con o senza una riga di intestazione. Se è presente una riga di intestazione, ignorala invece di trattarla come un record di dati. Per ulteriori informazionimaxPayloadInMB, consulta InferenceContainerExecutionParameters la sezione AWS Clean Rooms ML API Reference.

    • Assicurati di essere in grado di generare un set di dati di inferenza sintetico o di test basato sullo schema dei collaboratori che verrà utilizzato nel codice del modello.

    • Assicurati di poter eseguire un processo di trasformazione batch di SageMaker intelligenza artificiale da solo Account AWS prima di associare l'algoritmo del modello a una collaborazione. AWS Clean Rooms

      Il codice seguente contiene un file Docker di esempio compatibile con i test locali, i test dell'ambiente di trasformazione dell' SageMaker intelligenza artificiale e Clean Rooms ML

      FROM 763104351884.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"]
  • Dopo aver completato le modifiche al modello e essere pronti per testarlo nell'ambiente SageMaker AI, esegui i seguenti comandi nell'ordine fornito.

    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 $REGION

    Una volta completato il processo di SageMaker intelligenza artificiale e sei soddisfatto della trasformazione in batch, puoi registrare il registro Amazon ECR con AWS Clean Rooms ML. Usa l'CreateConfiguredModelAlgorithmazione per registrare l'algoritmo del modello e associarlo a una collaborazione. CreateConfiguredModelAlgorithmAssociation