Creazione di un modello - Amazon SageMaker AI

Creazione di un modello

Per creare il modello è necessario fornire la posizione degli artefatti del modello e l'immagine del container. È inoltre possibile utilizzare una versione del modello da SageMaker Model Registry. Gli esempi nelle sezioni seguenti mostrano come creare un modello utilizzando l’API CreateModel, Model Registry e la console di Amazon SageMaker AI.

Per creare un modello (utilizzando Model Registry)

Model Registry è una funzionalità di SageMaker AI che aiuta a catalogare e gestire le versioni di un modello da utilizzare nelle pipeline ML. Per utilizzare Model Registry con Serverless Inference è necessario prima registrare una versione del modello in un gruppo di modelli di Model Registry. Per informazioni su come registrare un modello in Model Registry, seguire le procedure in Creazione di un gruppo di modelli e Registrazione di una versione del modello.

L'esempio seguente richiede l'ARN di una versione registrata del modello e utilizza l'SDK AWS per Python (Boto3) per richiamare l'API CreateModel. Per Serverless Inference, Model Registry è attualmente supportato solo dall'SDK AWS per Python (Boto3). Per l'esempio, specificare i valori seguenti:

  • Per model_name, inserire un nome per il modello.

  • Per sagemaker_role, è possibile utilizzare il ruolo predefinito creato da SageMaker AI o un ruolo IAM SageMaker AI personalizzato dalla fase 4 della sezione Completa i prerequisiti.

  • Per ModelPackageName, specificare l'ARN per la versione del modello, che deve essere registrata su un gruppo di modelli in Model Registry.

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker AI permission to access AWS services. sagemaker_role = sagemaker.get_execution_role() #Specify a name for the model model_name = "<name-for-model>" #Specify a Model Registry model version container_list = [ { "ModelPackageName": <model-version-arn> } ] #Create the model response = client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, container_list )

Per creare un modello (utilizzando l'API)

L'esempio seguente utilizza l'SDK AWS per Python (Boto3) per richiamare l'API CreateModel. Specifica i seguenti valori:

  • Per sagemaker_role, è possibile utilizzare il ruolo predefinito creato da SageMaker AI o un ruolo IAM SageMaker AI personalizzato dalla fase 4 della sezione Completa i prerequisiti.

  • Per model_url, specificare l'URI di Amazon S3 per il proprio modello.

  • Per container, recuperare il container che si desidera utilizzare tramite il relativo percorso Amazon ECR. Questo esempio utilizza un container XGBoost fornito da SageMaker AI. Se non hai selezionato un container SageMaker AI o personalizzato, per ulteriori informazioni vedi la fase 6 della sezione Completa i prerequisiti.

  • Per model_name, inserire un nome per il modello.

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker AI permission to access AWS services. sagemaker_role = sagemaker.get_execution_role() #Get model from S3 model_url = "s3://amzn-s3-demo-bucket/models/model.tar.gz" #Get container image (prebuilt example) from sagemaker import image_uris container = image_uris.retrieve("xgboost", region, "0.90-1") #Create model model_name = "<name-for-model>" response = client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, Containers = [{ "Image": container, "Mode": "SingleModel", "ModelDataUrl": model_url, }] )

Per creare un modello (utilizzando la console)

  1. Accedi alla console di Amazon SageMaker AI.

  2. Nella scheda di navigazione, scegliere Inferenza.

  3. Dopodiché, scegliere Modelli.

  4. Scegliere Crea modello.

  5. Per Nome modello, inserire un nome per il modello che sia univoco per l'account e Regione AWS.

  6. Per il ruolo IAM, selezionare un ruolo IAM già creato (vedere Completa i prerequisiti) o consentire a SageMaker AI di crearne uno automaticamente.

  7. In Definizione container 1, per Opzioni di input del container, selezionare Fornisci gli artefatti del modello e la posizione di input.

  8. Per Fornisci artefatti del modello e opzioni di immagine di inferenza, selezionare Utilizza un singolo modello.

  9. Per Posizione dell'immagine del codice di inferenza, inserisci un percorso Amazon ECR verso un container. L’immagine deve essere un’immagine proprietaria fornita da SageMaker AI (ad esempio, TensorFlow, XGBoost) o un’immagine che risiede in un repository di Amazon ECR all’interno dello stesso account in cui si sta creando l’endpoint. Se non disponi di un container, torna alla fase 6 della sezione Completa i prerequisiti per ulteriori informazioni.

  10. Per Posizione degli artefatti dei modelli, inserire l'URI di Amazon S3 nel proprio modello ML. Ad esempio, s3://amzn-s3-demo-bucket/models/model.tar.gz.

  11. (Facoltativo) Per Tag, aggiungere coppie chiave-valore per creare metadati per il modello.

  12. Scegliere Crea modello.