Iperparametri per ottimizzare il processo di apprendimento dei modelli di generazione di testo - Amazon SageMaker AI

Iperparametri per ottimizzare il processo di apprendimento dei modelli di generazione di testo

È possibile ottimizzare il processo di apprendimento del modello di base regolando qualsiasi combinazione dei seguenti iperparametri. Questi parametri sono ora disponibili per tutti i modelli.

  • Conteggio di epoch: l’iperparametro epochCount determina quante volte il modello analizza l’intero set di dati di addestramento. Influisce sulla durata dell’addestramento e può prevenire l’overfitting se impostato in modo appropriato. Un numero elevato di epoch può aumentare la durata complessiva dei processi di fine-tuning. È consigliabile impostare un valore ampio di MaxAutoMLJobRuntimeInSeconds in CompletionCriteria di TextGenerationJobConfig per evitare che i processi di fine-tuning si interrompano prematuramente.

  • Dimensione del batch: l’iperparametro batchSize definisce il numero di campioni di dati utilizzati in ogni iterazione dell’addestramento. Può influire sulla velocità di convergenza e sull’utilizzo della memoria. Con batch di grandi dimensioni, aumenta il rischio di errori di memoria esaurita, che possono manifestarsi come un errore interno del server in Autopilot. Per verificare la presenza di tale errore, è possibile controllare nel gruppo di log /aws/sagemaker/TrainingJobs eventuali job di addestramento avviati dal job di Autopilot. È possibile accedere a questi log in CloudWatch dalla Console di gestione AWS. Scegli Log e quindi il gruppo di log /aws/sagemaker/TrainingJobs. Per correggere gli errori di memoria esaurita, riduci la dimensione del batch.

    È consigliabile iniziare con una dimensione del batch pari a 1, quindi aumentarla in modo incrementale fino a quando non si verifica un errore di memoria esaurita. Come riferimento, il completamento di 10 epoch richiede in genere fino a 72 ore.

  • Tasso di apprendimento: l’iperparametro learningRate controlla la dimensione del passaggio con cui i parametri di un modello vengono aggiornati durante l’addestramento. Determina quanto la velocità con cui i parametri del modello vengono aggiornati durante l’addestramento. Un tasso di apprendimento elevato significa che i parametri vengono aggiornati con un passaggio significativo, il che può portare a una convergenza più rapida, ma può anche far sì che il processo di ottimizzazione superi la soluzione ottimale e diventi instabile. Un tasso di apprendimento ridotto significa che i parametri vengono aggiornati con un passaggio minore, il che può portare a una convergenza più stabile, ma con l’inconveniente di un apprendimento più lento.

  • Fasi di riscaldamento del tasso di apprendimento: l’learningRateWarmupStepsiperparametro specifica il numero di fasi di allenamento durante le quali il tasso di apprendimento aumenta gradualmente prima di raggiungere il valore di destinazione o massimo. Ciò consente al modello una convergenza più efficace, evitando problemi come divergenza o convergenza lenta che possono verificarsi con un tasso di apprendimento inizialmente elevato.

Per sapere di più su come regolare gli iperparametri per un esperimento di fine-tuning in Autopilot e scoprirne i possibili valori, consulta Come impostare gli iperparametri per ottimizzare il processo di apprendimento di un modello.