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à.
Training del modello
La fase di addestramento dell'intero ciclo di vita di machine learning (ML) va dall'accesso al set di dati di addestramento alla generazione di un modello finale e alla selezione del modello più performante per la distribuzione. Le sezioni seguenti forniscono una panoramica delle funzionalità e delle risorse di SageMaker formazione disponibili, con informazioni tecniche approfondite per ciascuna di esse.
L'architettura di base della formazione SageMaker
Se lo utilizzi SageMaker per la prima volta e desideri trovare una soluzione ML rapida per addestrare un modello sul tuo set di dati, prendi in considerazione l'utilizzo di una soluzione senza codice o low-code come SageMaker Canvas, JumpStartall'interno di SageMaker Studio Classic o Autopilot. SageMaker
Per esperienze di programmazione di livello intermedio, prendi in considerazione l'utilizzo di un notebook Studio Classic o di Notebook Instances. SageMaker SageMaker Per iniziare, segui le istruzioni riportate nella guida Eseguire il training di un modello SageMaker introduttiva. Si consiglia di utilizzare questa opzione per i casi d'uso in cui si crea il proprio modello e lo script di addestramento utilizzando un framework di ML.
Il fulcro dei SageMaker lavori è la containerizzazione dei carichi di lavoro ML e la capacità di gestire le risorse di elaborazione. La piattaforma di SageMaker formazione si occupa del carico di lavoro associato alla configurazione e alla gestione dell'infrastruttura per i carichi di lavoro di formazione ML. Con SageMaker Training, puoi concentrarti sullo sviluppo, l'addestramento e la messa a punto del tuo modello.
Il seguente diagramma di architettura mostra come SageMaker gestisce i lavori di formazione ML ed effettua il provisioning delle EC2 istanze Amazon per conto degli SageMaker utenti. Come SageMaker utente puoi portare il tuo set di dati di allenamento, salvandolo su Amazon S3. Puoi scegliere un modello di formazione ML tra gli algoritmi SageMaker integrati disponibili o utilizzare il tuo script di formazione con un modello costruito con i più diffusi framework di machine learning.
Visualizzazione completa del flusso di lavoro e delle SageMaker funzionalità della formazione
L'intero percorso di addestramento di ML coinvolge attività che vanno oltre l'importazione dei dati nei modelli di ML, l’addestramento dei modelli sulle istanze di calcolo e l'ottenimento degli artefatti e degli output del modello. È necessario valutare ogni fase prima, durante e dopo l’addestramento per assicurarsi che il modello sia ben addestrato e che raggiunga l'accuratezza desiderata per i propri obiettivi.
Il seguente diagramma di flusso mostra una panoramica di alto livello delle tue azioni (in riquadri blu) e delle funzionalità di SageMaker formazione disponibili (in riquadri blu chiaro) durante la fase di formazione del ciclo di vita del machine learning.
Le seguenti sezioni illustrano ogni fase dell'allenamento illustrata nel diagramma di flusso precedente e le utili funzionalità offerte dalle SageMaker tre fasi secondarie della formazione ML.
Prima dell’addestramento
Prima dell’addestramento è necessario considerare una serie di scenari per l'impostazione delle risorse e dell'accesso ai dati. Per avere un'idea delle decisioni da prendere, fai riferimento al diagramma seguente e ai dettagli di ogni fase precedente all’addestramento.
-
Preparazione dei dati: prima dell'addestramento, è necessario aver completato la pulizia dei dati e la progettazione delle funzionalità durante la fase di preparazione dei dati. SageMaker dispone di diversi strumenti di etichettatura e progettazione delle funzionalità per aiutarti. Per ulteriori informazioni, consulta Etichettatura dei dati, Preparare e analizzare set di dati, Elaborare i dati e Funzioni di creazione, archiviazione e condivisione.
-
Scegli un algoritmo o un framework: a seconda del livello di personalizzazione necessario, esistono diverse opzioni di algoritmi e framework.
-
Se preferisci un'implementazione a basso codice di un algoritmo predefinito, utilizza uno degli algoritmi integrati offerti da. SageMaker Per informazioni su come scegliere un algoritmo, consulta Scelta di un algoritmo.
-
Se hai bisogno di maggiore flessibilità per personalizzare il tuo modello, esegui lo script di formazione utilizzando i framework e i toolkit che preferisci all'interno. SageMaker Per ulteriori informazioni, consulta Framework e toolkit di ML.
-
Per portare il tuo contenitore Docker personalizzato in SageMaker, vedi Adattamento del tuo contenitore Docker personale con cui lavorare. SageMaker Devi installarlo nel tuo contenitore sagemaker-training-toolkit
.
-
-
Gestisci lo storage dei dati: comprendi la mappatura tra lo storage dei dati (ad esempio Amazon S3, EFS Amazon o FSx Amazon) e il contenitore di formazione che viene eseguito nell'istanza di calcolo EC2 Amazon. SageMaker aiuta a mappare i percorsi di archiviazione e i percorsi locali nel contenitore di formazione. Puoi anche specificarli manualmente. Una volta completata la mappatura, prendete in considerazione l'utilizzo di una delle modalità di trasmissione dei dati: File, Pipe e FastFile mode. Per informazioni su come SageMaker mappare i percorsi di archiviazione, consulta Training Storage Folders.
-
Configura l'accesso ai dati di formazione: utilizza il SageMaker dominio Amazon, un profilo utente di dominio IAMVPC, Amazon e AWS KMS per soddisfare i requisiti delle organizzazioni più sensibili alla sicurezza.
-
Per l'amministrazione dell'account, consulta il SageMaker dominio Amazon.
-
Per un riferimento completo su IAM politiche e sicurezza, consulta Security in Amazon SageMaker.
-
-
Trasmetti i dati di input: SageMaker offre tre modalità di immissione dei dati, File, Pipe e FastFile. La modalità di input predefinita è File, che carica l'intero set di dati durante l'inizializzazione del processo di addestramento. Per conoscere le best practice generali per lo streaming dei dati dal tuo archivio dati al container di addestramento, consulta la sezione Accedere ai dati di addestramento.
Nel caso della modalità Pipe, puoi anche prendere in considerazione l'utilizzo di un file manifest aumentato per lo streaming dei dati direttamente da Amazon Simple Storage Service (Amazon S3) e addestrare il tuo modello. L'uso della modalità pipe riduce lo spazio su disco perché Amazon Elastic Block Store deve solo archiviare gli artefatti del modello finale, anziché archiviare l'intero set di dati di addestramento. Per maggiori informazioni, consulta Fornitura dei metadati dei set di dati ai processi di addestramento con un file manifest aumentato.
-
Analizza i dati per individuare eventuali distorsioni: prima dell'addestramento, puoi analizzare il set di dati e creare un modello per individuare eventuali distorsioni confrontandolo con un gruppo svantaggiato, in modo da verificare che il modello apprenda un set di dati imparziale utilizzando Clarify. SageMaker
-
Scegli quale SageMaker SDK usare: Esistono due modi per avviare un processo di formazione SageMaker: utilizzando il SageMaker Python di alto livello o utilizzando il SageMaker APIs livello basso SDK per for SDK Python (Boto3) o il. AWS CLI SageMaker Python SDK astrae il basso livello SageMaker API per fornire strumenti convenienti. Come accennato in precedenzaL'architettura di base della formazione SageMaker , puoi anche utilizzare opzioni senza codice o con codice minimo utilizzando SageMaker Canvas, Studio Classic o Autopilot. JumpStart SageMaker SageMaker
Durante l’addestramento
Durante l’addestramento, è necessario migliorare continuamente la stabilità, la velocità e l'efficienza dell’addestramento, dimensionando al contempo le risorse di elaborazione, l'ottimizzazione dei costi e, soprattutto, le prestazioni dei modelli. Continua a leggere per ulteriori informazioni sulle fasi di allenamento e sulle relative funzionalità di allenamento. SageMaker
-
Configura l'infrastruttura: scegli il tipo di istanza e gli strumenti di gestione dell'infrastruttura giusti per il tuo caso d'uso. Puoi iniziare da una piccola istanza e aumentarla a seconda del carico di lavoro. Per addestrare un modello su un set di dati tabulare, iniziate con l'CPUistanza più piccola delle famiglie di istanze C4 o C5. Per addestrare un modello di grandi dimensioni per la visione artificiale o l'elaborazione del linguaggio naturale, iniziate con l'GPUistanza più piccola delle famiglie di istanze P2, P3, G4dn o G5. Puoi anche combinare diversi tipi di istanze in un cluster o conservare le istanze in pool caldi utilizzando i seguenti strumenti di gestione delle istanze offerti da. SageMaker È inoltre possibile utilizzare la cache persistente per ridurre la latenza e il tempo fatturabile dei processi di addestramento rispetto alla sola riduzione della latenza dovuta ai pool caldi. Per ulteriori informazioni, consulta i seguenti argomenti.
Per eseguire un processo di addestramento è necessario disporre di una quota sufficiente. Se esegui il processo di addestramento su un'istanza in cui hai una quota insufficiente, riceverai un messaggio di errore
ResourceLimitExceeded
. Per controllare le quote attualmente disponibili nel tuo account, usa la console Service Quotas. Per ulteriori informazioni su come richiedere un aumento delle quote, consulta Regioni e quote supportate. Inoltre, per trovare informazioni sui prezzi e i tipi di istanze disponibili a seconda del Regioni AWS, consulta le tabelle nella pagina SageMaker dei prezzi di Amazon . -
Esegui un processo di formazione da un codice locale: puoi annotare il codice locale con un decoratore remoto per eseguire il codice come processo di SageMaker formazione dall'interno di Amazon SageMaker Studio Classic, un SageMaker notebook Amazon o dal tuo ambiente di sviluppo integrato locale. Per ulteriori informazioni, consulta Esegui il tuo codice locale come processo SageMaker di formazione.
-
Tieni traccia dei lavori di formazione: monitora e monitora i tuoi lavori di formazione utilizzando SageMaker Experiments, SageMaker Debugger o Amazon. CloudWatch Puoi osservare le prestazioni del modello in termini di precisione e convergenza ed eseguire analisi comparative delle metriche tra più lavori di formazione utilizzando Experiments. SageMaker Puoi controllare il tasso di utilizzo delle risorse di calcolo utilizzando gli strumenti di profilazione di SageMaker Debugger o Amazon. CloudWatch Per ulteriori informazioni, consulta i seguenti argomenti.
Inoltre, per le attività di deep learning, utilizza gli strumenti di SageMaker debug del modello Amazon Debugger e le regole integrate per identificare problemi più complessi nella convergenza dei modelli e nei processi di aggiornamento del peso.
-
Formazione distribuita: se il tuo lavoro di formazione sta entrando in una fase stabile senza interruzioni a causa di un'errata configurazione dell'infrastruttura di formazione o di out-of-memory problemi, potresti voler trovare altre opzioni per scalare il tuo lavoro e svolgerlo per un periodo di tempo prolungato per giorni e persino mesi. Quando sei pronto per la crescita, prendi in considerazione la formazione distribuita. SageMaker offre varie opzioni per il calcolo distribuito, da carichi di lavoro ML leggeri a carichi di lavoro pesanti di deep learning.
Per le attività di deep learning che prevedono l'addestramento di modelli molto grandi su set di dati molto grandi, prendi in considerazione l'utilizzo di una delle strategie di formazione SageMaker distribuite per scalare e ottenere il parallelismo dei dati, il parallelismo dei modelli o una combinazione dei due. Puoi anche usare SageMaker Training Compiler per compilare e ottimizzare i grafici dei modelli sulle istanze. GPU Queste SageMaker funzionalità supportano framework di deep learning come PyTorch TensorFlow, e Hugging Face Transformers.
-
Ottimizzazione degli iperparametri del modello: ottimizza gli iperparametri del modello utilizzando Automatic Model Tuning con. SageMaker SageMaker fornisce metodi di ottimizzazione degli iperparametri come la ricerca a griglia e la ricerca bayesiana, avviando lavori di ottimizzazione degli iperparametri paralleli con funzionalità di arresto anticipato per lavori di ottimizzazione degli iperparametri che non migliorano.
-
Controllo e risparmio sui costi con le istanze Spot: se i tempi di addestramento non sono un grosso problema, potresti prendere in considerazione l'ottimizzazione dei costi di addestramento dei modelli con istanze Spot gestite. Tieni presente che devi attivare il checkpoint per l’addestramente su Spot per evitare pause lavorative intermittenti dovute alla sostituzione delle istanze Spot. Puoi anche utilizzare la funzionalità di checkpoint per eseguire il backup dei tuoi modelli in caso di arresto imprevisto del processo di addestramento. Per ulteriori informazioni, consulta i seguenti argomenti.
Dopo l’addestramento
Dopo l’addestramento, si ottiene un artefatto finale del modello da utilizzare per la distribuzione e l'inferenza del modello. Nella fase successiva all’addestramento sono previste ulteriori azioni, come mostrato nel diagramma seguente.
-
Ottieni il modello di base: dopo aver ottenuto l'artefatto del modello, puoi impostarlo come modello di base. Considerate le seguenti azioni post-addestramento e l'utilizzo delle SageMaker funzionalità prima di passare alla distribuzione del modello alla produzione.
-
Esamina le prestazioni del modello e verifica eventuali distorsioni: utilizza Amazon CloudWatch Metrics e SageMaker Clarify per rilevare eventuali distorsioni nei dati in entrata e modellare nel tempo rispetto alla linea di base. È necessario valutare regolarmente o in tempo reale i nuovi dati e le previsioni del modello rispetto ai nuovi dati. Grazie a queste funzioni, puoi ricevere avvisi su eventuali cambiamenti o anomalie acute, così come su cambiamenti graduali o derive nei dati e nel modello.
-
Puoi anche utilizzare la funzionalità Incremental Training di SageMaker per caricare e aggiornare il modello (o perfezionarlo) con un set di dati esteso.
-
Puoi registrare la formazione sui modelli come fase della tua SageMakerPipeline o come parte di altre funzionalità di Workflow offerte da per orchestrare l'intero ciclo di SageMaker vita del machine learning.