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 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 e la distribuzione continue (CI/CD) di modelli ML. Utilizza 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 di SageMaker Studio necessarie per utilizzare i progetti. Se non disponi dei nuovi ruoli, riceverai il messaggio di errore non CodePipeline è autorizzato a eseguire AssumeRole sul ruolo arn:aws:iam: :xxx: role/service - role/AmazonSageMakerServiceCatalogProductsCodePipelineRole quando tenti di creare un nuovo progetto e non riesci a procedere.
SageMaker I modelli di progetto AI offrono la seguente scelta di archivi di codice, strumenti di automazione del flusso di lavoro e fasi della pipeline:
-
Archivio di codice: repository Third-party Git come e 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 discussione seguente 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:
-
Se desideri usare il modello Modelli MLOPS per la creazione, la formazione e l'implementazione di modelli con Git di terze parti utilizzando CodePipeline, consulta Esplora un progetto SageMaker AI MLops utilizzando Third-party Git Repos.
-
Se desideri utilizzare il modelloModelli di MLOps per la creazione, l’addestramento e l’implementazione dei modelli tramite Jenkins con repository Git di terze parti, consulta Creare SageMaker progetti Amazon utilizzando il controllo del codice sorgente di terze parti e Jenkins
.
Argomenti
-
Deposito di codice: Third-party Git.
Nota
Stabilisci la AWS CodeStar connessione dal tuo AWS account all' GitHub utente o all'organizzazione. Aggiungi un tag con la chiave
sagemakere il valoretruea 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 codice di esempio che crea una pipeline Amazon SageMaker AI in codice Python e mostra come creare e aggiornare la pipeline AI. SageMaker Questo repository contiene anche un notebook Python di esempio che puoi aprire ed eseguire in Studio (o Studio Classic).
-
Una AWS CodePipeline pipeline con passaggi 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 seed. Ciò richiede una AWS CodeStar connessione dal tuo Account AWS 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 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, compilazione, implementazione, messa in fase e distribuzione verso la produzione. La fase di origine punta al repository Git di terze parti e la fase di compilazione ottiene il codice da quel repository e genera CloudFormation stack da distribuire. Le fasi di implementazione 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 seed. Ciò richiede una AWS CodeStar connessione dal tuo Account AWS 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 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 che include le fasi di origine, compilazione, implementazione, messa in fase e distribuzione verso la 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 seed. 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 di intelligenza artificiale. SageMaker
Come accennato in precedenza, vedi Project Walkthrough Using Third-party Git Repos per una dimostrazione che utilizza questo modello per creare un progetto reale.
-
Deposito di codice: Third-party Git.
Nota
Stabilisci la AWS CodeStar connessione dal tuo AWS account all' GitHub utente o all'organizzazione. Aggiungi un tag con la chiave
sagemakere il valoretruea 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:
-
Qualità dei dati: monitora le variazioni della qualità dei dati.
-
Qualità del modello: monitora le variazioni delle metriche di qualità del modello, come la precisione.
-
Deriva dei bias per i modelli in produzione: monitora i bias nelle previsioni di un modello.
Creazione di modelli, formazione, implementazione e Amazon SageMaker Model Monitor
Questo modello è un'estensione del modello MLOps per la creazione, l'addestramento e la distribuzione di modelli utilizzando repository Git. CodePipeline Include sia i componenti per la creazione del modello, la formazione 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 implementare uno o più monitor Amazon SageMaker AI per la qualità dei dati, la qualità del modello, la distorsione dei modelli e l'esplicabilità dei modelli per monitorare un modello distribuito su un endpoint di inferenza AI. SageMaker Questo modello fornisce le seguenti risorse:
-
Associazioni con uno o più repository Git specificati dal cliente. Il repository contiene codice Python di esempio che ottiene le linee di base utilizzate dai monitor dall' SageMaker Amazon Model Registry e aggiorna i parametri del modello per gli ambienti di staging e produzione. Contiene anche un CloudFormation modello per creare Amazon SageMaker Model Monitor.
-
Una AWS CodePipeline pipeline con fasi di origine, compilazione 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
DeployStagingfase, richiede di verificare che l'endpoint dell' SageMaker IA di produzione sia attivoInServiceprima dell'approvazione e del passaggio alla fase.DeployProd -
Un AWS CodeBuild progetto per popolare i repository Git con le informazioni sul codice seed. Ciò richiede una AWS CodeStar connessione dal tuo Account AWS al tuo 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 di staging SageMaker AI viene aggiornato.
-
Deposito di codice: Third-party Git.
Nota
Stabilisci la AWS CodeStar connessione dal tuo AWS account all' GitHub utente o all'organizzazione. Aggiungi un tag con la chiave
sagemakere il valoretruea 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 seed. 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 elementi del progetto di intelligenza artificiale e della pipeline di SageMaker intelligenza artificiale. SageMaker
Il modello crea l'associazione tra il tuo progetto e gli archivi di controllo del codice sorgente, ma devi eseguire passaggi manuali aggiuntivi 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 creare l'architettura mostrata nel diagramma seguente, utilizzata GitHub come repository per il 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.
In sintesi, attraverso queste fasi potrai completare le seguenti attività:
-
Stabilisci la connessione tra i tuoi account AWS . GitHub
-
Creare l'account Jenkins e importa i plugin necessari.
-
Creare la policy di utenti e autorizzazioni Jenkins IAM.
-
Imposta AWS le credenziali per l'utente Jenkins IAM sul tuo server Jenkins.
-
Creare un token API per la comunicazione con il server Jenkins.
-
Utilizza un CloudFormation modello per impostare una EventBridge regola per monitorare il registro dei modelli per i modelli appena approvati.
-
Crea il progetto di SageMaker intelligenza artificiale, che semplifica i tuoi GitHub repository con codice di creazione e distribuzione del modello.
-
Creare la pipeline di compilazione del modello Jenkins con il codice iniziale di compilazione del modello.
-
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, la formazione e l'implementazione di modelli con Git di terze parti utilizzando 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 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 la 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 ImageVersion viene aggiunto uno nuovo all' SageMaker immagine. 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 effettuano l'accesso ad Amazon SageMaker Studio (o Studio Classic) dopo questa data e abilitano i modelli di progetto utilizzano la nuova politica. 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)
-
Nella console IAM, elimina
AmazonSageMakerServiceCatalogProductsUseRole. -
Nel pannello di controllo di Studio (o Studio Classic), scegli Modifica impostazioni.
-
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-*" ] }