Training del modello - Amazon SageMaker

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.

In che modo gli utenti forniscono i dati e scelgono gli algoritmi e SageMaker forniscono l'infrastruttura di calcolo.

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.

Diagramma di flusso dei passaggi e delle funzionalità consigliati da utilizzare per ogni fase del flusso di lavoro di formazione ML.

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.

Un diagramma di flusso che mostra le attività prima dell'allenamento e le funzionalità associate 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

Un diagramma di flusso che mostra le attività durante l'allenamento e le funzionalità associate 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.

Un diagramma di SageMaker flusso che mostra le attività dopo l'allenamento e le funzionalità associate
  • 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.