Completa i prerequisiti - Amazon SageMaker AI

Completa i prerequisiti

Il seguente argomento descrive i prerequisiti che è necessario completare prima di creare un endpoint asincrono. Questi prerequisiti includono l’archiviazione corretta degli artefatti del modello, la configurazione di un’istanza di AWS IAM con le autorizzazioni corrette e la selezione di un’immagine del container.

Per completare i prerequisiti
  1. Crea un ruolo IAM per Amazon SageMaker AI.

    L'inferenza asincrona richiede l'accesso all'URI del bucket Amazon S3. Per facilitare questa operazione, crea un ruolo IAM in grado di eseguire SageMaker AI e che disponga dell’autorizzazione per accedere ad Amazon S3 e Amazon SNS. Utilizzando questo ruolo, SageMaker AI può funzionare con il tuo account e accedere al tuo bucket Amazon S3 e agli argomenti di Amazon SNS.

    Puoi creare un ruolo IAM utilizzando le console IAM, AWS SDK for Python (Boto3) o AWS CLI. Di seguito è riportato un esempio di come creare un ruolo IAM e collegare le policy necessarie alla console IAM.

    1. Accedi a Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

    2. Nel pannello di navigazione della console IAM, scegliere Ruoli e quindi Crea ruolo.

    3. Per Seleziona tipo di entità attendibile, seleziona Servizio AWS.

    4. Scegliere il servizio a cui concedere l'autorizzazione ad assumere il ruolo. In questo caso, scegli SageMaker AI. Quindi scegliere Next: Permissions (Successivo: Autorizzazioni).

      • Questo crea automaticamente una policy IAM che garantisce l'accesso a servizi correlati come Amazon S3, Amazon ECR e CloudWatch Logs.

    5. Scegli Successivo: Tag.

    6. (Facoltativo) Aggiungere metadati al ruolo collegando i tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo dei tag con IAM, consulta Tagging delle risorse IAM.

    7. Scegli Prossimo: Rivedi.

    8. Digita un Nome ruolo.

    9. Se possibile, digitare un nome del ruolo o un suffisso del nome del ruolo. I nomi dei ruoli devono essere univoci all'interno dell'account AWS. Non fanno distinzione tra maiuscole e minuscole. Ad esempio, non è possibile creare ruoli denominati sia PRODROLE che prodrole. Poiché altre risorse AWS possono fare riferimento al ruolo, non è possibile modificare il nome del ruolo dopo averlo creato.

    10. (Facoltativo) In Role description (Descrizione ruolo), immettere una descrizione per il nuovo ruolo.

    11. Rivedere il ruolo e scegliere Crea ruolo.

      Prendi nota dell’ARN del ruolo SageMaker AI. Per trovare il ruolo ARN tramite la console, effettua le seguenti operazioni:

      1. Accedi alla console IAM: https://console.aws.amazon.com/iam/

      2. Seleziona Ruoli.

      3. Cerca il ruolo appena creato digitando il nome del ruolo nel campo di ricerca.

      4. Seleziona il ruolo.

      5. L'ARN del ruolo si trova nella parte superiore della pagina Riepilogo.

  2. Aggiungi le autorizzazioni Amazon SageMaker AI, Amazon S3 e Amazon SNS al tuo ruolo IAM.

    Una volta creato il ruolo, concedi le autorizzazioni SageMaker AI, Amazon S3 e, facoltativamente, Amazon SNS al tuo ruolo IAM.

    Nella console IAM, scegli Ruoli. Cerca il ruolo creato digitando il nome del ruolo nel campo Cerca.

    1. Scegli il tuo ruolo.

    2. Quindi, scegli Collega policy.

    3. Amazon SageMaker Asynchronous Inference richiede l'autorizzazione per eseguire le seguenti azioni: "sagemaker:CreateModel", "sagemaker:CreateEndpointConfig", "sagemaker:CreateEndpoint" e "sagemaker:InvokeEndpointAsync".

      Queste azioni sono incluse nella policy. AmazonSageMakerFullAccess Aggiungi questa policy al tuo ruolo IAM. Cerca AmazonSageMakerFullAccess nel campo Cerca. Seleziona AmazonSageMakerFullAccess.

    4. Scegli Collega policy.

    5. Quindi, scegli Collega policy per aggiungere le autorizzazioni Amazon S3.

    6. Seleziona Crea policy.

    7. Seleziona la scheda JSON.

    8. Aggiungi la seguente dichiarazione di policy:

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListBucket" ], "Effect": "Allow", "Resource": "arn:aws:s3:::bucket_name/*" } ] }
    9. Scegli Successivo: Tag.

    10. Digitare un Nome policy.

    11. Scegli Crea policy.

    12. Ripeti le stesse fasi che hai già completato per aggiungere le autorizzazioni Amazon S3 al fine di aggiungere le autorizzazioni Amazon SNS. Per la dichiarazione sulla policy, collega quanto segue:

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Action": [ "sns:Publish" ], "Effect": "Allow", "Resource": "arn:aws:sns:us-east-1:111122223333:SNS_Topic" } ] }
  3. Carica i tuoi dati di inferenza (ad es. modello di machine learning, dati di esempio) su Amazon S3.

  4. Seleziona un'immagine di inferenza Docker predefinita o crea la tua immagine Docker di inferenza.

    SageMaker AI fornisce container per i suoi algoritmi integrati e immagini Docker predefinite per alcuni dei framework di machine learning più comuni, come Apache MXNet, TensorFlow, PyTorch e Chainer. Per un elenco completo delle immagini SageMaker AI disponibili, consulta Available Deep Learning Containers Images. Se scegli di utilizzare un container fornito da SageMaker AI, puoi aumentare il timeout dell’endpoint e le dimensioni del payload rispetto a quelle predefinite impostando le variabili di ambiente nel container. Per informazioni su come impostare le diverse variabili di ambiente per ogni framework, consulta la fase Creazione di un modello per la creazione di un endpoint asincrono.

    Se nessuno dei container SageMaker AI esistenti soddisfa le tue esigenze e non disponi di un container personale, potresti dover creare un nuovo container Docker. Per informazioni su come creare un'immagine Docker, consulta Container con codice di inferenza personalizzato.

  5. Creare un argomento Amazon SNS (opzionale)

    Crea un argomento Amazon Simple Notification Service (Amazon SNS) che invii notifiche relative alle richieste che hanno completato l'elaborazione. Amazon SNS è un servizio di notifica per applicazioni orientate alla messaggistica, con più abbonati che richiedono e ricevono notifiche «push» di messaggi urgenti tramite una scelta di protocolli di trasporto, tra cui HTTP, Amazon SQS ed e-mail. Puoi specificare gli argomenti di Amazon SNS quando crei un oggetto EndpointConfig quando specifichi AsyncInferenceConfig utilizzando l'API EndpointConfig.

    Completa la procedura per creare e sottoscrivere un argomento Amazon SNS.

    1. Utilizzando la console di Amazon SNS, crea un argomento. Per le istruzioni, consulta la sezione Creazione di un argomento Amazon SNS nella Guida per gli sviluppatori di Amazon Simple Notification Service.

    2. Effettuare la sottoscrizione all'argomento. Per le istruzioni, consulta la sezione Sottoscrizione a un argomento di Amazon SNS nella Guida per gli sviluppatori di Amazon Simple Notification Service.

    3. Quando ricevi un'e-mail in cui è richiesto di confermare la sottoscrizione all'argomento, conferma l'iscrizione.

    4. Prendi nota del nome della risorsa Amazon (ARN) dell'argomento. L'argomento Amazon SNS creato è un'altra risorsa nell'account AWS e ha un ARN univoco. Il nome ARN presenta il formato seguente:

      arn:aws:sns:aws-region:account-id:topic-name

    Per ulteriori informazioni su Amazon SNS, consulta la Guida per gli sviluppatori di Amazon SNS.