Addestramento di un modello con Amazon SageMaker
Amazon SageMaker Training è un servizio di machine learning (ML) completamente gestito offerto da SageMaker che consente di addestrare in modo efficiente un’ampia gamma di modelli ML su larga scala. Il fulcro dei processi di SageMaker AI è la containerizzazione dei carichi di lavoro ML e la capacità di gestire le risorse di calcolo di AWS. La piattaforma SageMaker Training si occupa delle attività complesse legate alla configurazione e alla gestione dell’infrastruttura per i carichi di lavoro di addestramento ML. Con SageMaker Training puoi concentrarti sullo sviluppo, sull’addestramento e sul fine-tuning del tuo modello. Questa pagina presenta tre modi consigliati per iniziare ad addestrare un modello su SageMaker, seguiti da opzioni aggiuntive che puoi prendere in considerazione.
Suggerimento
Per informazioni sui modelli di fondazione di addestramento per l’IA generativa, consulta Use SageMaker JumpStart foundation models in Amazon SageMaker Studio.
Scelta di una funzionalità all’interno di Amazon SageMaker Training
Esistono tre casi d’uso principali per l’addestramento dei modelli ML all’interno di SageMaker AI. Questa sezione descrive questi casi d’uso, oltre alle funzionalità di SageMaker AI consigliate per ogni caso d’uso.
Che tu stia addestrando modelli di deep learning complessi o implementando algoritmi di machine learning di dimensioni ridotte, SageMaker Training offre soluzioni semplificate ed economiche che soddisfano i requisiti dei tuoi casi d’uso.
Casi d'uso
Di seguito sono riportati i principali casi d’uso per l’addestramento dei modelli ML all’interno di SageMaker AI.
-
Caso d’uso 1: sviluppare un modello di machine learning in un ambiente low code o no code.
-
Caso d’uso 2: utilizzare codice per sviluppare modelli di machine learning con livelli maggiori di flessibilità e controllo.
-
Caso d’uso 3: sviluppare modelli di machine learning su larga scala con livelli massimi di flessibilità e controllo.
Funzionalità consigliate
La tabella seguente descrive tre scenari comuni di addestramento dei modelli ML e le opzioni corrispondenti per iniziare a utilizzare SageMaker Training.
| Descrittore | Caso d'uso 1 | Caso d'uso 2 | Caso d'uso 3 |
|---|---|---|---|
| Funzionalità di SageMaker AI | Creare un modello utilizzando Amazon SageMaker Canvas. | Addestrare un modello utilizzando uno degli algoritmi ML integrati di SageMaker AI come XGBoost oppure modelli specifici per attività di SageMaker JumpStart con SageMaker Python SDK. | Addestrare un modello su larga scala con massima flessibilità sfruttando la modalità script |
| Descrizione | Utilizzare dati propri. SageMaker AI consente di gestire la creazione di modelli ML e la configurazione dell’infrastruttura e delle risorse di addestramento. |
Utilizzare dati propri e scegliere uno degli algoritmi ML integrati forniti da SageMaker AI. Configurare gli iperparametri del modello, le metriche di output e le impostazioni di base dell’infrastruttura mediante SageMaker Python SDK. La piattaforma SageMaker Training consente di allocare l’infrastruttura e le risorse di addestramento. |
Sviluppa codice ML personale e trasferirlo come script o set di script in SageMaker AI. Per ulteriori informazioni, consulta Calcolo distribuito con le migliori pratiche SageMaker. Inoltre, è possibile utilizzare il proprio container Docker. La piattaforma SageMaker Training consente di allocare l’infrastruttura e le risorse di addestramento su larga scala in base alle impostazioni personalizzate. |
| Ottimizzato per |
Sviluppo di modelli low code/no code e basato sull’interfaccia utente mediante sperimentazione rapida con un set di dati di addestramento. In fase di creazione di un modello personalizzato, un algoritmo viene selezionato automaticamente in base ai dati. Per opzioni di personalizzazione avanzate come la selezione degli algoritmi, consulta Advanced Model Building Configurations. |
Addestramento di modelli ML con personalizzazione di alto livello per iperparametri, impostazioni dell’infrastruttura e possibilità di utilizzare direttamente framework ML e script del punto di ingresso per una maggiore flessibilità. Utilizzare algoritmi integrati, modelli preaddestrati e modelli JumpStart tramite Amazon SageMaker Python SDK |
Carichi di lavoro di addestramento ML su larga scala, che richiedono più istanze e massima flessibilità. Consulta Calcolo distribuito con le migliori pratiche SageMaker. SageMaker AI utilizza le immagini Docker per ospitare l’addestramento e la distribuzione di tutti i modelli. È possibile utilizzare qualsiasi algoritmo di SageMaker AI o esterno e i container Docker per creare modelli. |
| Considerazioni |
Minima flessibilità per personalizzare il modello fornito da Amazon SageMaker Canvas. |
SageMaker Python SDK offre un’interfaccia semplificata e un minor numero di opzioni di configurazione rispetto all’API SageMaker Training di basso livello. |
Richiede una conoscenza dell’infrastruttura AWS e delle opzioni di addestramento distribuito. Vedi anche Create your own training container utilizzando il Kit di strumenti di SageMaker Training. |
| Ambiente consigliato | Utilizzare Amazon SageMaker Canvas. Per informazioni su come configurarlo, consulta Nozioni di base su un’istanza Amazon SageMaker Canvas. | Utilizzare SageMaker AI JupyterLab in Amazon SageMaker Studio. Per informazioni su come configurarlo, consulta Avvio di Amazon SageMaker Studio. | Utilizzare SageMaker JupyterLab in Amazon SageMaker Studio. Per informazioni su come configurarlo, consulta Avvio di Amazon SageMaker Studio. |
Opzioni aggiuntive
SageMaker AI offre le seguenti opzioni aggiuntive per l’addestramento dei modelli ML.
Funzionalità di SageMaker AI che offrono capacità di addestramento
-
SageMaker JumpStart: SageMaker JumpStart fornisce l’accesso all’hub dei modelli pubblici di SageMaker AI che contiene i più recenti modelli di fondazione (FM) proprietari e disponibili pubblicamente. È possibile eseguire il fine-tuning di questi modelli, nonché valutarli e implementarli all’interno di Amazon SageMaker Studio. SageMaker JumpStart semplifica il processo di utilizzo dei modelli di fondazione per casi d’uso di IA generativa e consente di creare hub di modelli privati per utilizzare i modelli di fondazione, rafforzando al contempo i guardrail di governance e garantendo che l’organizzazione possa accedere solo ai modelli approvati. Per iniziare a utilizzare SageMaker JumpStart, consulta SageMaker JumpStart Foundation Models.
-
SageMaker HyperPod: SageMaker HyperPod è un servizio di cluster persistente per casi d’uso che necessitano di cluster resilienti per enormi carichi di lavoro di machine learning (ML) e per lo sviluppo di modelli di fondazione (FM) all’avanguardia. Accelera lo sviluppo di tali modelli rimuovendo gli oneri indifferenziati legati alla creazione e alla manutenzione di cluster di calcolo su larga scala alimentati da migliaia di acceleratori come AWS Trainium o GPU NVIDIA A100 e H100. È possibile utilizzare un software di gestione dei carichi di lavoro come Slurm su HyperPod.
Altre funzionalità di SageMaker Training
-
Ottimizzazione degli iperparametri: questa funzionalità di SageMaker AI aiuta a definire un set di iperparametri per un modello e ad avviare molti job di addestramento su un set di dati. A seconda dei valori degli iperparametri, le prestazioni di addestramento dei modelli possono variare. Questa funzionalità fornisce il set di iperparametri con le migliori prestazioni entro l’intervallo specificato di iperparametri impostati per la ricerca.
-
Addestramento distribuito: preaddestramento o fine-tuning dei modelli di fondazione creati con PyTorch, NVIDIA CUDA e altri framework basati su PyTorch. Per utilizzare in modo efficiente le istanze di GPU, utilizza le librerie di addestramento distribuito di SageMaker AI che offrono operazioni di comunicazione collettiva e varie tecniche di parallelizzazione dei modelli, come la parallelizzazione degli esperti e la parallelizzazione dei dati sottoposti a sharding, ottimizzate per l’infrastruttura AWS.
-
Funzionalità di osservabilità: utilizza le funzionalità di profilazione e debug di SageMaker Training per ottenere informazioni sui carichi di lavoro di addestramento dei modelli, sulle prestazioni dei modelli e sull’utilizzo delle risorse. Per ulteriori informazioni, consulta Esegui il debug e migliora le prestazioni del modello e Profilazione e ottimizzazione delle prestazioni di calcolo.
-
Opzioni di istanze efficienti e convenienti: per ottimizzare i costi e l’efficienza di calcolo per l’addestramento dell’allocazione di istanze, utilizza istanze di tipo Cluster eterogeneo, Managed Spot Training o Warm pool gestiti.