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

Ottimizzare un modello

L'ottimizzazione consente di addestrare un modello pre-addestrato su un nuovo set di dati senza eseguire l’addestramento da zero. Questo processo, noto anche come trasferimento dell'apprendimento, può produrre modelli accurati con set di dati più piccoli e tempi di addestramento ridotti. È possibile ottimizzare un modello se la relativa scheda mostra un attributo ottimizzabile impostato su .

JumpStart fine-tunable Image Classification - TensorFlow model

Importante

A partire dal 30 novembre 2023, la precedente esperienza Amazon SageMaker Studio è ora denominata Amazon SageMaker Studio Classic. La sezione seguente è specifica per l'utilizzo dell'applicazione Studio Classic. Per informazioni sull'utilizzo dell'esperienza Studio aggiornata, consultaAmazon SageMaker Studio.

Nota

Per ulteriori informazioni sulla messa a punto dei JumpStart modelli in Studio, consulta Ottimizzate i modelli di base in Studio

Ottimizzazione dell'origine dati

Quando si ottimizza un modello, è possibile utilizzare il set di dati predefinito o scegliere i propri dati, che si trovano in un bucket Amazon S3.

Per sfogliare i bucket disponibili, scegliere Trova bucket S3. Questi bucket sono limitati dalle autorizzazioni utilizzate per configurare l'account Studio Classic. Puoi anche specificare un Amazon S3 URI selezionando Inserisci la posizione del bucket Amazon S3.

JumpStart data source settings with default dataset selected.

Suggerimento

Per scoprire come formattare i dati nel bucket, scegliere Ulteriori informazioni. La sezione descrittiva del modello contiene informazioni dettagliate su ingressi e uscite. 

Per i modelli di testo:

  • Il bucket deve avere un file data.csv.

  • La prima colonna deve essere un numero intero univoco per l'etichetta della classe. Ad esempio: 1, 2, 3, 4, n

  • La seconda colonna deve contenere una stringa.

  • La seconda colonna deve contenere il testo corrispondente al tipo e alla lingua del modello. 

Per i modelli di visione:

  • Il bucket deve avere tante sottodirectory quante sono le classi.

  • Ogni sottodirectory deve contenere immagini che appartengono a quella classe in formato.jpg.

Nota

Il bucket Amazon S3 deve trovarsi nello stesso Regione AWS posto in cui è in esecuzione SageMaker Studio Classic perché SageMaker non consente richieste interregionali.

Ottimizzazione della configurazione di implementazione

La famiglia p3 è consigliata come la più veloce per l’addestramento sul deep learning e per l'ottimizzazione di un modello. La tabella seguente mostra il numero di GPUs in ogni tipo di istanza. Sono disponibili altre opzioni tra cui scegliere, inclusi i tipi di istanze p2 e g4.

Tipo di istanza GPUs
p3.2xlarge 1
p3.8xlarge 4
p3.16xlarge 8
p3dn.24xlarge 8

Iperparametri

È possibile personalizzare gli iperparametri del processo di addestramento utilizzati per ottimizzare il modello. Gli iperparametri disponibili per ogni modello ottimizzabile variano a seconda del modello. Per informazioni su ogni iperparametro disponibile, consultare la documentazione sugli iperparametri relativa al modello scelto. Usa algoritmi SageMaker integrati di Amazon o modelli preaddestrati Ad esempio, Classificazione delle immagini - TensorFlow Iperparametri per ulteriori dettagli, vedere la sezione «Classificazione delle immagini - iperparametri», che può essere regolata con precisione. TensorFlow

Se si utilizza il set di dati predefinito per i modelli di testo senza modificare gli iperparametri, si ottiene come risultato un modello quasi identico. Per i modelli di visione, il set di dati predefinito è diverso dal set di dati utilizzato per addestrare i modelli pre-addestrati, quindi il modello è diverso di conseguenza.

I seguenti iperparametri sono comuni tra i modelli:

  • Epoche: un'epoca è un ciclo dell'intero set di dati. Intervalli multipli completano un batch e alla fine più batch completano un'epoca. Vengono eseguite più epoche finché la precisione del modello non raggiunge un livello accettabile o quando il tasso di errore scende al di sotto di un livello accettabile.

  • Tasso di apprendimento: la quantità di valori da modificare tra le epoche. Man mano che il modello viene perfezionato, i pesi interni vengono modificati e i tassi di errore vengono controllati per vedere se il modello migliora. Un tasso di apprendimento tipico è di 0,1 o 0,01, dove 0,01 rappresenta un aggiustamento molto inferiore e potrebbe far sì che l'addestramento richieda molto tempo per convergere, mentre 0,1 è molto più elevato e può causare un superamento dell’addestramento. È uno degli iperparametri principali che si possono modificare per addestrare il modello. Tieni presente che per i modelli testuali, un tasso di apprendimento molto inferiore (5e-5 perBERT) può portare a un modello più accurato.

  • Dimensione del batch: il numero di record del set di dati da selezionare per ogni intervallo da inviare al gruppo GPUs per l'addestramento.

    In un esempio di immagine, è possibile inviare 32 immagini per lottoGPU, quindi 32 sarebbero le dimensioni del batch. Se scegli un tipo di istanza con più di unoGPU, il batch viene diviso per il numero diGPUs. Le dimensioni del batch consigliate variano a seconda dei dati e del modello in uso. Ad esempio, il modo in cui si ottimizzano i dati delle immagini differisce dal modo in cui si gestiscono i dati linguistici.

    Nella tabella dei tipi di istanza nella sezione di configurazione della distribuzione, puoi vedere il numero di tipi di istanza GPUs per tipo. Iniziare con una dimensione batch standard consigliata (ad esempio, 32 per un modello di visione). Quindi, moltiplicalo per il numero del GPUs tipo di istanza selezionato. Ad esempio, se utilizzi unp3.8xlarge, questo sarà 32 (dimensione del batch) moltiplicato per 4 (GPUs), per un totale di 128, poiché la dimensione del batch si adatta al numero di. GPUs Per un modello di testo comeBERT, prova a iniziare con una dimensione del batch di 64 e poi riduci se necessario.

Output di addestramento

Una volta completato il processo di ottimizzazione, JumpStart fornisce informazioni sul modello: modello principale, nome del processo di formazione, processo di formazione, durata della formazione e percorso di output. ARN Il percorso di output è il percorso in cui è possibile trovare il nuovo modello in un bucket Amazon S3. La struttura delle cartelle utilizza il nome del modello che fornito dall'utente e il file del modello si trova in una sottocartella /output ed è sempre denominato model.tar.gz

Esempio: s3://bucket/model-name/output/model.tar.gz

Configurazione dei valori predefiniti per l’addestramento dei modelli

È possibile configurare valori predefiniti per parametri quali IAM ruoli e KMS chiavi da precompilare per JumpStart la distribuzione e l'addestramento del modello. VPCs Per ulteriori informazioni, consultare Configura i valori predefiniti per JumpStart i modelli.