Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Richtlinien für die Modellerstellung für den Inferenzcontainer
In diesem Abschnitt werden die Richtlinien beschrieben, die Modellanbieter bei der Erstellung eines Inferenzalgorithmus für Clean Rooms ML befolgen sollten.
-
Verwenden Sie das entsprechende Container-Basisimage, das von SageMaker AI-Inferenzen unterstützt wird, wie im SageMaker AI Developer Guide beschrieben. Mit dem folgenden Code können Sie die unterstützten Container-Basis-Images von öffentlichen SageMaker KI-Endpunkten abrufen.
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 -
Wenn Sie das Modell lokal erstellen, stellen Sie Folgendes sicher, damit Sie Ihr Modell lokal, auf einer Entwicklungsinstanz, auf SageMaker AI Batch Transform in Ihrer AWS-Konto und auf Clean Rooms ML testen können.
-
Clean Rooms ML stellt Ihre Modellartefakte aus der Inferenz über das
/opt/ml/modelVerzeichnis im Docker-Container zur Verwendung durch Ihren Inferenzcode zur Verfügung. -
Clean Rooms ML teilt Eingaben zeilenweise auf, verwendet eine
MultiRecordBatch-Strategie und fügt am Ende jedes transformierten Datensatzes ein Zeilenumbruchzeichen hinzu. -
Sie legen die maximale Anforderungsgröße unter fest.
maxPayloadInMBcontainerExecutionParametersWenn Sie keinen Wert angeben, verwendet Clean Rooms ML 6 MB. Wenn eine CSV-Eingabedatei größer als dieser Wert ist, teilt SageMaker AI die Datei in mehrere Anfragen an Ihren Inferenzcontainer auf. Die CSV-Header-Zeile erscheint nur in der ersten Anforderung für diese Datei, und nachfolgende Anfragen beginnen mit Datenzeilen. Konfigurieren Sie Ihren Inferenzcontainer mit einem vordefinierten Spaltenschema, sodass er Anfragen mit oder ohne Kopfzeile akzeptiert. Wenn eine Kopfzeile vorhanden ist, ignorieren Sie sie, anstatt sie als Datensatz zu behandeln. Weitere InformationenmaxPayloadInMBdazu finden Sie InferenceContainerExecutionParameters in der AWS Clean Rooms ML API-Referenz. -
Stellen Sie sicher, dass Sie auf der Grundlage des Schemas der Mitarbeiter, das in Ihrem Modellcode verwendet wird, einen synthetischen Datensatz oder einen Test-Inferenzdatensatz generieren können.
-
Stellen Sie sicher, dass Sie einen SageMaker AI-Batch-Transformationsauftrag selbst ausführen können, AWS-Konto bevor Sie den Modellalgorithmus einer AWS Clean Rooms Kollaboration zuordnen.
Der folgende Code enthält eine Docker-Beispieldatei, die mit lokalen Tests, Tests der SageMaker KI-Transformationsumgebung und Clean Rooms ML kompatibel ist
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"]
-
-
Nachdem Sie alle Modelländerungen abgeschlossen haben und bereit sind, es in der SageMaker AI-Umgebung zu testen, führen Sie die folgenden Befehle in der angegebenen Reihenfolge aus.
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 $REGIONNachdem der SageMaker KI-Job abgeschlossen ist und Sie mit Ihrer Batch-Transformation zufrieden sind, können Sie die Amazon ECR-Registry bei AWS Clean Rooms ML registrieren. Verwenden Sie die
CreateConfiguredModelAlgorithmAktion, um den ModellalgorithmusCreateConfiguredModelAlgorithmAssociationzu registrieren und ihn dann einer Zusammenarbeit zuzuordnen.