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à.
Best practice per l'ottimizzazione iperparametri
L'ottimizzazione degli iperparametri (HPO) non è un processo completamente automatizzato. Per migliorare l'ottimizzazione, segui queste best practice per l'ottimizzazione degli iperparametri.
Argomenti
- Scegliere una strategia di ottimizzazione
- Scelta del numero di iperparametri
- Scegliere gli intervalli degli iperparametri
- Utilizzo delle scale corrette per gli iperparametri
- Scelta del miglior numero di processi di addestramento paralleli
- Esecuzione di processi di addestramento su più istanze
- Utilizzo di un seed casuale per riprodurre le configurazioni degli iperparametri
Scegliere una strategia di ottimizzazione
Per processi di grandi dimensioni, l'utilizzo della strategia di ottimizzazione Hyperband può ridurre i tempi di calcolo. Hyperband dispone di un meccanismo di arresto rapido per arrestare i processi con prestazioni insoddisfacenti. Hyperband può anche riallocare le risorse verso configurazioni di iperparametri ben utilizzate ed eseguire processi paralleli. Per processi di addestramento più piccoli che richiedono meno tempo di esecuzione, utilizza la ricerca casuale o l'ottimizzazione bayesiana.
Nell'esecuzione successiva utilizza l'ottimizzazione bayesiana per prendere decisioni sempre più informate sul miglioramento delle configurazioni degli iperparametri. L'ottimizzazione bayesiana utilizza le informazioni raccolte dalle esecuzioni precedenti per migliorare le esecuzioni successive. A causa della sua natura sequenziale, l'ottimizzazione bayesiana non può dimensionare in modo massiccio.
Usa la ricerca casuale per eseguire un gran numero di processi paralleli. Nella ricerca casuale, i processi successivi non dipendono dai risultati dei processi precedenti e possono essere eseguiti indipendentemente. Rispetto ad altre strategie, la ricerca casuale è in grado di eseguire il maggior numero di processi paralleli.
Utilizza la ricerca a griglia per riprodurre i risultati di un processo di ottimizzazione o se la semplicità e la trasparenza dell'algoritmo di ottimizzazione sono importanti. Puoi anche utilizzare la ricerca a griglia per esplorare in modo uniforme l'intero spazio di ricerca degli iperparametri. La ricerca a griglia cerca metodicamente in ogni combinazione di iperparametri per trovare i valori ottimali degli iperparametri. A differenza della ricerca a griglia, l'ottimizzazione bayesiana, la ricerca casuale e Hyperband estraggono tutti gli iperparametri in modo casuale dallo spazio di ricerca. Poiché la ricerca a griglia analizza ogni combinazione di iperparametri, i valori ottimali degli iperparametri saranno identici tra i processi di ottimizzazione che utilizzano gli stessi iperparametri.
Scelta del numero di iperparametri
Durante l'ottimizzazione, la complessità computazionale di un processo di ottimizzazione degli iperparametri dipende da quanto segue:
-
Il numero di iperparametri
-
L'intervallo di valori che Amazon SageMaker deve cercare
Sebbene sia possibile specificare contemporaneamente fino a 30 iperparametri, limitare la ricerca a un numero inferiore può ridurre i tempi di calcolo. La riduzione del tempo di calcolo consente di SageMaker convergere più rapidamente verso una configurazione iperparametrica ottimale.
Scegliere gli intervalli degli iperparametri
L'intervallo di valori che si sceglie di cercare può influire negativamente sull'ottimizzazione degli iperparametri. Ad esempio, un intervallo che copre ogni possibile valore degli iperparametri può portare a tempi di calcolo lunghi e a un modello che non si generalizza bene ai dati invisibili. Se sai che l'utilizzo di un sottoinsieme dell'intervallo più ampio possibile è appropriato per il tuo caso d'uso, valuta la possibilità di limitare l'intervallo a quel sottoinsieme.
Utilizzo delle scale corrette per gli iperparametri
Durante l'ottimizzazione degli iperparametri, SageMaker tenta di dedurre se gli iperparametri sono in scala logaritmica o lineare. Inizialmente, presuppone un SageMaker ridimensionamento lineare per gli iperparametri. Se gli iperparametri sono in scala logaritmica, la scelta della scala corretta renderà la ricerca più efficiente. Puoi anche selezionare Auto
for ScalingType
in CreateHyperParameterTuningJobAPIse desideri rilevare la scala SageMaker per te.
Scelta del miglior numero di processi di addestramento paralleli
È possibile utilizzare i risultati delle prove precedenti per migliorare le prestazioni delle prove successive. Scegli il maggior numero di processi paralleli in grado di fornire un risultato incrementale significativo che rientri anche nei limiti della tua Regione e account. Utilizza il campo MaxParallelTrainingJobs
per limitare il numero di processi di addestramento che un processo di ottimizzazione degli iperparametri può avviare in parallelo. Per ulteriori informazioni, consulta Esecuzione HPO di più lavori in parallelo su Amazon SageMaker
Esecuzione di processi di addestramento su più istanze
Quando un processo di addestramento viene eseguito su più macchine in modalità distribuita, ogni macchina emette un parametro obiettivo. HPOpuò utilizzare solo una di queste metriche oggettive emesse per valutare le prestazioni del modello. In modalità distribuita, HPO utilizza la metrica oggettiva riportata dall'ultimo processo in esecuzione in tutte le istanze.
Utilizzo di un seed casuale per riprodurre le configurazioni degli iperparametri
È possibile specificare un numero intero come seed casuale per l'ottimizzazione degli iperparametri e utilizzare quel seed durante la generazione degli iperparametri. Successivamente, puoi utilizzare lo stesso seed per riprodurre configurazioni di iperparametri coerenti con i risultati precedenti. Per le strategie di ricerca casuale e Hyperband, l'utilizzo dello stesso seed casuale può fornire una riproducibilità fino al 100% della precedente configurazione degli iperparametri per lo stesso processo di ottimizzazione. Per quanto riguarda la strategia bayesiana, l'utilizzo dello stesso seed casuale migliorerà la riproducibilità dello stesso processo di ottimizzazione.