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à.
Uso di un algoritmo per eseguire un processo di ottimizzazione iperparametri
La sezione seguente spiega come utilizzare una risorsa algoritmica per eseguire un processo di ottimizzazione degli iperparametri in Amazon. SageMaker Un processo di ottimizzazione iperparametri trova la versione migliore di un modello eseguendo molti processi di addestramento sul set di dati utilizzando l'algoritmo e gli intervalli di iperparametri specificati. Quindi, sceglie i valori iperparametri presenti in un modello che ha la performance migliore, misurata in base a un parametro scelto. Per ulteriori informazioni, consulta Ottimizzazione automatica del modello con SageMaker.
Argomenti
Uso di un algoritmo per eseguire un processo di ottimizzazione iperparametri (console)
Per utilizzare un algoritmo per eseguire un processo di ottimizzazione iperparametri (console)
-
Apri la console all'indirizzo. SageMaker https://console.aws.amazon.com/sagemaker/
-
Scegli Algoritmi.
-
Scegli un algoritmo che è stato creato dall'elenco nella scheda I miei algoritmi o scegli un algoritmo a cui è stato effettuato l'abbonamento nella scheda Abbonamenti Marketplace AWS .
-
Scegli Crea attività di ottimizzazione iperparametri.
L'algoritmo scelto verrà automaticamente selezionato.
-
Nella pagina Crea attività di ottimizzazione iperparametri, inserisci le seguenti informazioni:
-
Per Avvio a caldo, scegli Abilita l'avvio a caldo per utilizzare le informazioni dei precedenti processi di ottimizzazione iperparametri come punto di partenza per questo processo di ottimizzazione iperparametri. Per ulteriori informazioni, consulta Eseguire un processo di ottimizzazione degli iperparametri con avvio a caldo.
-
Scegli Dati e algoritmo identici se i dati di input sono uguali ai dati di input per i processi padre di questo processo di ottimizzazione iperparametri oppure scegli Apprendimento del trasferimento per utilizzare dati di input aggiuntivi o diversi per questo processo di ottimizzazione iperparametri.
-
Per Riepilogo dell'attività di ottimizzazione degli iperparametri, scegli fino a 5 processi di ottimizzazione iperparametri da usare come elementi padre di questo processo di ottimizzazione iperparametri.
-
-
Per Nome processo di ottimizzazione iperparametri, digita un nome per il processo di ottimizzazione.
-
Per IAMil ruolo, scegli un IAM ruolo con le autorizzazioni necessarie per eseguire lavori di ottimizzazione degli iperparametri oppure scegli Crea un nuovo ruolo per consentire la creazione di un ruolo SageMaker a cui è associata la policy
AmazonSageMakerFullAccess
gestita. SageMaker Per informazioni, consultare Come utilizzare i ruoli di SageMaker esecuzione. -
Per VPCesempio, scegli un Amazon a VPC cui desideri consentire l'accesso ai lavori di formazione avviati dal processo di ottimizzazione. Per ulteriori informazioni, consulta Offri ai SageMaker corsi di formazione l'accesso alle risorse nel tuo Amazon VPC.
-
Scegli Next (Successivo).
-
Per Parametro obiettivo, scegli il parametro utilizzato dal processo di ottimizzazione iperparametri per determinare la migliore combinazione di iperparametri e scegliere se ridurre o massimizzare questo parametro. Per ulteriori informazioni, consulta Visualizzare il processo di addestramento migliore.
-
Per Configurazione dell'iperparametro, scegli gli intervalli per gli iperparametri ottimizzabili che desideri cercare nel processo di ottimizzazione e imposta i valori statici per gli iperparametri che desideri mantenere costanti in tutti i processi di addestramento avviati dal processo di ottimizzazione iperparametri. Per ulteriori informazioni, consulta Definire gli intervalli degli iperparametri.
-
Scegli Next (Successivo).
-
Per Configurazione dei dati di input, specifica i valori riportati di seguito per ogni canale di dati di input da utilizzare per il processo di ottimizzazione iperparametri. Puoi vedere quali canali sono supportati dall'algoritmo in uso per i processi di ottimizzazione iperparametri e il tipo di contenuto, il tipo di compressione supportato e le modalità di input supportate per ciascun canale, nella sezione Specifica del canale della pagina Riepilogo dell'algoritmo per l'algoritmo in uso.
-
Per Nome canale digita il nome del canale di input.
-
Per Tipo di contenuto digita il tipo di contenuto dei dati previsti dall'algoritmo per il canale.
-
Per Tipo di compressione, scegli il tipo di compressione dei dati da utilizzare, se presente.
-
Per Wrapper dei record, scegli
RecordIO
se l'algoritmo prevede dati nel formatoRecordIO
. -
Per Tipo di dati S3, Tipo di distribuzione dei dati S3 e Percorso S3, specifica i valori appropriati. Per informazioni sul significato dei valori, consulta
S3DataSource
. -
Per Modalità di input, scegli File per scaricare i dati dal volume di storage ML assegnato e montare la directory su un volume Docker. Scegli Pipe per eseguire lo streaming dei dati direttamente da Amazon S3 al container.
-
Per aggiungere un altro canale di input, scegli Aggiungi canale. Una volta terminata l'aggiunta dei canali di input, scegli Fatto.
-
-
Per il percorso di output, specifica i seguenti valori:
-
Per Percorso di output S3, scegli il percorso S3 in cui i processi di addestramento avviati da questo processo di ottimizzazione iperparametri archiviano l'output, come gli artefatti del modello.
Nota
Gli artefatti del modello memorizzati in questa posizione vengono utilizzati per creare un modello o un pacchetto di modelli da questo processo di ottimizzazione iperparametri.
-
Per la chiave di crittografia, se desideri SageMaker utilizzare una AWS KMS chiave per crittografare i dati di output archiviati nella posizione S3.
-
-
Per Configurazione delle risorse, specifica le seguenti informazioni:
-
Per Tipo di istanza, scegli il tipo di istanza da usare per ogni processo di addestramento avviato dal processo di ottimizzazione iperparametri.
-
Per Conteggio istanze, digita il numero di istanze ML da usare per ogni processo di addestramento avviato dal processo di ottimizzazione iperparametri.
-
Per Volume aggiuntivo per istanza (GB), digita la dimensione del volume di storage ML che desideri assegnare a ogni processo di addestramento avviato dal processo di ottimizzazione iperparametri. I volumi di storage ML memorizzano gli artefatti di modello e gli stati incrementali.
-
Per la chiave di crittografia, se desideri che Amazon SageMaker utilizzi una AWS chiave del servizio di gestione delle chiavi per crittografare i dati nel volume di archiviazione ML collegato alle istanze di formazione, specifica la chiave.
-
-
Per Limiti delle risorse, specifica le seguenti informazioni:
-
Per Numero massimo di processi di addestramento, specifica il numero massimo di processi di addestramento da avviare con il processo di ottimizzazione iperparametri. Un processo di ottimizzazione degli iperparametri può avviare al massimo 500 processi di addestramento.
-
Per Numero massimo di processi di addestramento paralleli, specifica il numero massimo di processi di addestramento simultanei che il processo di ottimizzazione iperparametri può avviare. Un processo di ottimizzazione degli iperparametri può avviare al massimo 10 processi di addestramento simultanei.
-
Per Condizione di arresto, specifica il periodo di tempo massimo in secondi, minuti, ore o giorni che può durare l'esecuzione dell'avvio del processo di ottimizzazione iperparametri.
-
-
Per Tag, specifica uno o più tag per gestire il processo di ottimizzazione iperparametri. Ciascun tag è formato da una chiave e da un valore facoltativo. Le chiavi dei tag devono essere univoche per ogni risorsa.
-
Scegli Creazione di processi per eseguire il processo di ottimizzazione iperparametri.
-
Usa un algoritmo per eseguire un job di ottimizzazione degli iperparametri () API
Per utilizzare un algoritmo per eseguire un processo di ottimizzazione degli iperparametri utilizzando il SageMaker API, specifica il nome o l'Amazon Resource Name (ARN) dell'algoritmo come AlgorithmName
campo dell'AlgorithmSpecification
oggetto a cui passi. CreateHyperParameterTuningJob
Per informazioni sull'ottimizzazione degli iperparametri, consulta. SageMaker Ottimizzazione automatica del modello con SageMaker
Utilizzo di un algoritmo per eseguire un job di ottimizzazione degli iperparametri (Amazon Python SageMaker ) SDK
Usa un algoritmo che hai creato o a cui ti sei abbonato Marketplace AWS per creare un processo di ottimizzazione degli iperparametri, crea un AlgorithmEstimator
oggetto e specifica Amazon Resource Name (ARN) o il nome dell'algoritmo come valore dell'argomento. algorithm_arn
Quindi, inizializza un oggetto HyperparameterTuner
con l'elemento AlgorithmEstimator
creato come valore dell'argomento estimator
. Infine, chiama il metodo fit
di AlgorithmEstimator
. Per esempio:
from sagemaker import AlgorithmEstimator from sagemaker.tuner import HyperparameterTuner data_path = os.path.join(DATA_DIR, 'marketplace', 'training') algo = AlgorithmEstimator( algorithm_arn='arn:aws:sagemaker:us-east-2:764419575721:algorithm/scikit-decision-trees-1542410022', role='SageMakerRole', instance_count=1, instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session, base_job_name='test-marketplace') train_input = algo.sagemaker_session.upload_data( path=data_path, key_prefix='integ-test-data/marketplace/train') algo.set_hyperparameters(max_leaf_nodes=10) tuner = HyperparameterTuner(estimator=algo, base_tuning_job_name='some-name', objective_metric_name='validation:accuracy', hyperparameter_ranges=hyperparameter_ranges, max_jobs=2, max_parallel_jobs=2) tuner.fit({'training': train_input}, include_cls_metadata=False) tuner.wait()