View a markdown version of this page

Usa i modelli di SageMaker AI-Provided progetto - Amazon SageMaker AI

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à.

Usa i modelli di SageMaker AI-Provided progetto

Importante

A partire dal 28 ottobre 2024, i AWS CodeCommit modelli sono stati rimossi. Per i nuovi progetti, seleziona tra i modelli di progetto disponibili che utilizzano repository Git di terze parti.

Amazon SageMaker AI fornisce modelli di progetto che creano l'infrastruttura necessaria per creare una soluzione MLOps per l'integrazione continua e la distribuzione continua (CI/CD) dei modelli ML. Usa questi modelli per elaborare dati, estrarre funzionalità, addestrare e testare modelli, registrare i modelli nel SageMaker Model Registry e distribuire i modelli per l'inferenza. È possibile personalizzare il codice iniziale e i file di configurazione in base alle proprie esigenze.

Nota

Sono necessari ruoli aggiuntivi per utilizzare i modelli di progetto. Per un elenco completo dei ruoli richiesti e le istruzioni su come crearli, consulta Concessione delle autorizzazioni a SageMaker Studio necessarie per utilizzare i progetti. Se non disponi dei nuovi ruoli, riceverai il messaggio di errore che non CodePipeline è autorizzato a svolgere AssumeRole il ruolo arn:aws:iam: :xxx: role/service - role/AmazonSageMakerServiceCatalogProductsCodePipelineRole quando provi a creare un nuovo progetto e non riesci a procedere.

SageMaker I modelli di progetto AI offrono la seguente scelta di repository di codice, strumenti di automazione del flusso di lavoro e fasi della pipeline:

  • Archivio di codice: repository Third-party Git come Bitbucket GitHub

  • CI/CD automazione del flusso di lavoro: o Jenkins AWS CodePipeline

  • Fasi della pipeline: creazione e addestramento del modello, implementazione del modello o entrambi

La seguente discussione fornisce una panoramica di ogni modello che puoi scegliere quando crei il tuo progetto di SageMaker intelligenza artificiale. È inoltre possibile visualizzare i modelli disponibili in Studio (o Studio Classic) seguendo la sezione Creazione del progetto della guida sui progetti.

Per istruzioni su come creare un progetto reale, puoi seguire una delle procedure dettagliate sui progetti:

Argomenti
    • Archivio del codice: Third-party Git.

      Nota

      Stabilisci la AWS CodeStar connessione dal tuo AWS account al tuo GitHub utente o alla tua organizzazione. Aggiungi un tag con la chiave sagemaker e il valore true a questa AWS CodeStar connessione.

    • CI/CD automazione del flusso di lavoro: AWS CodePipeline

    Creazione e addestramento dei modelli

    Questo modello fornisce le seguenti risorse:

    • Associazioni con uno o più repository Git specificati dal cliente. Il repository contiene un codice di esempio che crea una pipeline Amazon SageMaker AI in codice Python e mostra come creare e aggiornare la SageMaker pipeline AI. Questo repository contiene anche un notebook Python di esempio che puoi aprire ed eseguire in Studio (o Studio Classic).

    • Una AWS CodePipeline pipeline con fasi di origine e compilazione. La fase di origine punta al repository Git di terze parti. La fase di compilazione ottiene il codice da quel repository, crea e aggiorna la pipeline SageMaker AI, avvia l'esecuzione di una pipeline e attende il completamento dell'esecuzione della pipeline.

    • Un AWS CodeBuild progetto per popolare i repository Git con le informazioni sul codice iniziale. Ciò richiede una AWS CodeStar connessione dal tuo Account AWS account sull'host del repository Git.

    • Viene eseguito un bucket Amazon S3 per archiviare gli artefatti, inclusi gli artefatti CodePipeline e tutti gli CodeBuild artefatti generati dalla pipeline di intelligenza artificiale. SageMaker

    Implementazione di modelli

    Questo modello fornisce le seguenti risorse:

    • Associazioni con uno o più repository Git specificati dal cliente. Il repository contiene codice di esempio per implementare i modelli negli endpoint in ambienti di staging e produzione.

    • Una AWS CodePipeline pipeline con fasi di origine, creazione, distribuzione, staging e distribuzione fino alla produzione. La fase di origine rimanda al repository Git di terze parti e la fase di compilazione ottiene il codice da quel repository e genera stack da distribuire. CloudFormation Le fasi di distribuzione allo staging e di distribuzione alla produzione distribuiscono gli stack nei rispettivi ambienti. CloudFormation Esiste una fase di approvazione manuale tra la fase di staging e quella di produzione, in modo che un ingegnere MLOps debba approvare il modello prima che venga distribuito in produzione.

    • Un AWS CodeBuild progetto per popolare i repository Git con le informazioni sul codice iniziale. Ciò richiede una AWS CodeStar connessione dal tuo Account AWS account sull'host del repository Git.

    • Viene eseguito un bucket Amazon S3 per archiviare gli artefatti, inclusi gli artefatti CodePipeline e tutti gli CodeBuild artefatti generati dalla pipeline di intelligenza artificiale. SageMaker

    Creazione, addestramento e implementazione dei modelli

    Questo modello fornisce le seguenti risorse:

    • Associazioni con uno o più repository Git specificati dal cliente.

    • Una AWS CodePipeline pipeline con fasi di origine, creazione, distribuzione allo staging e distribuzione alla produzione. La fase di origine punta al repository Git di terze parti, mentre la fase di creazione ottiene il codice da tale repository e genera stack CloudFormation da implementare. Le fasi di implementazione per lo staging e per la produzione distribuiscono gli stack CloudFormation nei rispettivi ambienti. Esiste una fase di approvazione manuale tra la fase di staging e quella di produzione, in modo che un ingegnere MLOps debba approvare il modello prima che venga distribuito in produzione.

    • Un AWS CodeBuild progetto per popolare i repository Git con le informazioni sul codice iniziale. Ciò richiede una AWS CodeStar connessione dal tuo AWS account al tuo account sull'host del repository Git.

    • Viene eseguito un bucket Amazon S3 per archiviare gli artefatti, inclusi gli artefatti CodePipeline e tutti gli CodeBuild artefatti generati dalla pipeline AI. SageMaker

    Come accennato in precedenza, consulta Project Walkthrough Using Third-party Git Repos per una dimostrazione che utilizza questo modello per creare un progetto reale.

    • Archivio del codice: Third-party Git.

      Nota

      Stabilisci la AWS CodeStar connessione dal tuo AWS account al tuo GitHub utente o alla tua organizzazione. Aggiungi un tag con la chiave sagemaker e il valore true a questa AWS CodeStar connessione.

    • CI/CD automazione del flusso di lavoro: AWS CodePipeline

    I seguenti modelli includono un SageMaker modello Amazon Model Monitor aggiuntivo che fornisce i seguenti tipi di monitoraggio:

    Creazione di modelli, formazione, distribuzione e Amazon SageMaker Model Monitor

    Questo modello è un'estensione del modello MLOps per la creazione, l'addestramento e la distribuzione di modelli con repository Git che utilizzano. CodePipeline Include sia i componenti per la creazione del modello, l'addestramento e la distribuzione del modello, sia un SageMaker modello Amazon Model Monitor aggiuntivo che fornisce i seguenti tipi di monitoraggio:

    Monitoraggio di un modello implementato

    Puoi utilizzare questo modello per una soluzione MLOps per distribuire uno o più monitor della qualità dei dati, della qualità del modello, della distorsione del modello e della spiegabilità del modello di Amazon SageMaker AI per monitorare un modello distribuito su un endpoint di inferenza SageMaker AI. Questo modello fornisce le seguenti risorse:

    • Associazioni con uno o più repository Git specificati dal cliente. Il repository contiene un esempio di codice Python che recupera le linee di base utilizzate dai monitor dall'Amazon SageMaker Model Registry e aggiorna i parametri del modello per gli ambienti di staging e produzione. Contiene anche un CloudFormation modello per creare Amazon Model Monitor. SageMaker

    • Una AWS CodePipeline pipeline con fasi di origine, creazione e distribuzione. La fase di origine rimanda al repository. CodePipeline La fase di creazione recupera il codice da quel repository, ottiene il riferimento dal registro dei modelli e aggiorna i parametri del modello per gli ambienti di staging e di produzione. Le fasi di implementazione implementano i monitor configurati negli ambienti di staging e di produzione. La fase di approvazione manuale, all'interno della DeployStaging fase, richiede di verificare che l'endpoint SageMaker AI di produzione sia presente InService prima di approvare e passare alla fase. DeployProd

    • Un AWS CodeBuild progetto per popolare i repository Git con le informazioni sul codice iniziale. Ciò richiede una AWS CodeStar connessione dal tuo Account AWS account sull'host del repository Git.

    • Il modello utilizza lo stesso bucket Amazon S3 generato dal modello di MLOps per la creazione, l’addestramento e l’implementazione dei modelli per archiviare gli output dei monitoraggi.

    • Due regole di Amazon EventBridge Events avviano Amazon SageMaker Model Monitor AWS CodePipeline ogni volta che l'endpoint SageMaker AI di staging viene aggiornato.

    • Archivio del codice: Git. Third-party

      Nota

      Stabilisci la AWS CodeStar connessione dal tuo AWS account al tuo GitHub utente o alla tua organizzazione. Aggiungi un tag con la chiave sagemaker e il valore true a questa AWS CodeStar connessione.

    • CI/CD automazione del flusso di lavoro: Jenkins

    Creazione, addestramento e implementazione dei modelli

    Questo modello fornisce le seguenti risorse:

    • Associazioni con uno o più repository Git specificati dal cliente.

    • Codice iniziale per generare pipeline Jenkins che includono le fasi di origine, creazione, implementazione, deploy-to-staging e deploy-to-production. La fase di origine punta al repository Git specificato dal cliente. La fase di compilazione ottiene il codice da quel repository e genera due CloudFormation stack. Le fasi di distribuzione distribuiscono gli CloudFormation stack nei rispettivi ambienti. Esiste una fase di approvazione tra la fase di preparazione e quella di produzione.

    • Un AWS CodeBuild progetto per popolare i repository Git con le informazioni sul codice iniziale. Ciò richiede una AWS CodeStar connessione dal tuo AWS account al tuo account sull'host del repository Git.

    • Un bucket Amazon S3 per archiviare gli artefatti del progetto AI e della pipeline SageMaker AI. SageMaker

    Il modello crea l'associazione tra il tuo progetto e i repository di controllo del codice sorgente, ma devi eseguire ulteriori passaggi manuali per stabilire la comunicazione tra il tuo account e Jenkins. AWS Per i passaggi dettagliati, consulta Creare SageMaker progetti Amazon utilizzando il controllo del codice sorgente di terze parti e Jenkins.

    Le istruzioni ti aiutano a costruire l'architettura mostrata nel diagramma seguente, con GitHub come repository di controllo del codice sorgente in questo esempio. Come mostrato, stai collegando il tuo repository Git al progetto per controllare e gestire le versioni del codice. Jenkins avvia la pipeline di compilazione del modello quando rileva modifiche al codice di compilazione del modello nel repository Git. Stai anche collegando il progetto a Jenkins per orchestrare le fasi di distribuzione del modello, che iniziano quando approvi il modello registrato nel registro dei modelli o quando Jenkins rileva modifiche al codice di distribuzione del modello stesso.

    Il flusso di lavoro della pipeline creato utilizzando il modello di progetto.

    In sintesi, attraverso queste fasi potrai completare le seguenti attività:

    1. Stabilisci la connessione tra il tuo GitHub account AWS e il tuo account.

    2. Creare l'account Jenkins e importa i plugin necessari.

    3. Creare la policy di utenti e autorizzazioni Jenkins IAM.

    4. Imposta le AWS credenziali per l'utente Jenkins IAM sul tuo server Jenkins.

    5. Creare un token API per la comunicazione con il server Jenkins.

    6. Utilizza un CloudFormation modello per impostare una EventBridge regola per monitorare il registro dei modelli appena approvati.

    7. Crea il progetto SageMaker AI, che integra i tuoi GitHub repository con il codice di creazione e distribuzione del modello.

    8. Creare la pipeline di compilazione del modello Jenkins con il codice iniziale di compilazione del modello.

    9. Creare la pipeline di distribuzione del modello Jenkins con il codice iniziale di distribuzione del modello.

    Questo modello è un'estensione di Modelli MLOps per la creazione, l'addestramento e la distribuzione di modelli con Git di terze parti utilizzando Git CodePipeline. Include sia i componenti per la creazione, l’addestramento e l’implementazione dei modelli, sia le seguenti opzioni:

    • Includi immagine di elaborazione/pipeline di creazione

    • Includi immagine di addestramento/pipeline di creazione

    • Includi immagine di inferenza/pipeline di creazione

    Per ciascuno dei componenti selezionati durante la creazione del progetto, utilizzando il modello vengono creati i seguenti componenti:

    • Repository Amazon ECR

    • Un'immagine SageMaker

    • Un CodeCommit repository contenente un Dockerfile che puoi personalizzare

    • A CodePipeline che viene avviato dalle modifiche al repository CodePipeline

    • Un CodeBuild progetto che crea un'immagine Docker e la registra nel repository Amazon ECR

    • Una EventBridge regola che avvia il in base a una pianificazione CodePipeline

    Quando CodePipeline viene avviato, crea un nuovo contenitore Docker e lo registra in un repository Amazon ECR. Quando un nuovo contenitore viene registrato nel repository Amazon ECR, ne viene aggiunto uno nuovo all'immagine. ImageVersion SageMaker Questo avvia la pipeline di creazione del modello che, a sua volta, avvia la pipeline di distribuzione.

    L'immagine appena creata viene utilizzata nelle parti del flusso di lavoro relative alla creazione, all’addestramento e all’implementazione di modelli, ove applicabile.

    La policy gestita collegata al ruolo AmazonSageMakerServiceCatalogProductsUseRole è stata aggiornata il 27 luglio 2021 per essere utilizzata con i modelli Git di terze parti. Gli utenti che accedono ad Amazon SageMaker Studio (o Studio Classic) dopo questa data e abilitano i modelli di progetto utilizzano la nuova policy. Gli utenti che hanno effettuato l'onboarding prima di questa data devono aggiornare la policy per utilizzare questi modelli. Per aggiornare la policy, utilizza una delle seguenti opzioni:

    • Eliminazione del ruolo e attivazione/disattivazione delle impostazioni di Studio (o Studio Classic)

      1. Nella console IAM, elimina AmazonSageMakerServiceCatalogProductsUseRole.

      2. Nel pannello di controllo di Studio (o Studio Classic), scegli Modifica impostazioni.

      3. Attiva/disattiva entrambe le impostazioni, quindi scegli Invia.

    • Nella console IAM, aggiungi le seguenti autorizzazioni a AmazonSageMakerServiceCatalogProductsUseRole:

      { "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/sagemaker": "true" } } }, { "Effect": "Allow", "Action": [ "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::sagemaker-*" ] }