Optimieren eines Sequence-to-Sequence-Modells - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Optimieren eines Sequence-to-Sequence-Modells

Die automatische Modelloptimierung, auch bekannt als Hyperparameter-Optimierung, sucht die beste Version eines Modells, indem viele Aufträge ausgeführt werden, die eine Bereich von Hyperparametern in Ihrem Dataset testen. Sie wählen die optimierbaren Hyperparameter, eine Reihe von Werten für jeden Parameter und eine objektive Metrik aus. Sie wählen die objektive Metrik aus den Metriken aus, die der Algorithmus berechnet. Die automatische Modelloptimierung durchsucht die ausgewählten Hyperparameter nach der Kombination von Werten, die das Modell ergeben, das die objektive Metrik optimiert.

Weitere Informationen zu Modelloptimierung finden Sie unter Durchführen der automatischen Modelloptimierung mit SageMaker.

Vom Sequence-to-Sequence-Algorithmus berechnete Metriken

Der Sequence-to-Sequence-Algorithmus meldet drei Metriken, die während der Schulungen berechnet werden. Wählen Sie eine davon als Ziel für die Optimierung aus, wenn die Hyperparameterwerte optimiert werden.

Metrikname Beschreibung Optimierungsrichtung
validation:accuracy

Die für das Validierungsdataset berechnete Genauigkeit.

Maximieren

validation:bleu

Für das Validierungsdataset berechnete Bleu-Bewertung. Da die BLEU-Berechnung teuer ist, können Sie BLEU anhand einer nach dem Zufallsprinzip ermittelten Teilstichprobe des Validierungsdatasets berechnen lassen, um den gesamten Schulungsprozess zu beschleunigen. Für die Angabe der Teilstichprobe verwenden Sie den bleu_sample_size-Parameter.

Maximieren

validation:perplexity

Perplexity ist eine Verlustfunktion, die für das Validierungsdataset berechnet wird. "Perplexity" misst die Kreuz-Entropie zwischen einer empirischen Stichprobe und der vom Modell prognostizierten Verteilung und bietet so ein Maß dafür, wie gut ein Modell die Stichprobenwerte prognositiziert. Modelle, die eine Stichprobe gut voraussagen können, haben einen niedrigen Perplexity-Wert.

Minimieren

Optimierbare Sequence-to-Sequence-Hyperparameter

Sie können die folgenden Hyperparameter für den SageMaker-Sequence-to-Sequence-Algorithmus optimieren. Die Hyperparameter mit den größten Auswirkungen auf objektive Sequence-to-Sequence-Metriken sind: batch_size, optimizer_type, learning_rate, num_layers_encoder und num_layers_decoder.

Parametername Parametertyp Empfohlene Bereiche
num_layers_encoder

IntegerParameterRange

[1-10]

num_layers_decoder

IntegerParameterRange

[1-10]

batch_size

CategoricalParameterRange

[16,32,64,128,256,512,1024,2048]

optimizer_type

CategoricalParameterRange

['adam', 'sgd', 'rmsprop']

weight_init_type

CategoricalParameterRange

['xavier', 'uniform']

weight_init_scale

ContinuousParameterRange

Für den xavier-Typ: MinValue: 2.0, MaxValue: 3.0 Für den uniform-Typ: MinValue: -1,0, MaxValue: 1.0

learning_rate

ContinuousParameterRange

MinValue: 0.00005, MaxValue: 0.2

weight_decay

ContinuousParameterRange

MinValue: 0.0, MaxValue: 0.1

momentum

ContinuousParameterRange

MinValue: 0.5, MaxValue: 0.9

clip_gradient

ContinuousParameterRange

MinValue: 1.0, MaxValue: 5.0

rnn_num_hidden

CategoricalParameterRange

Gilt nur für rekurrente neuronale Netzwerke (RNN). [128,256,512,1024,2048]

cnn_num_hidden

CategoricalParameterRange

Gilt nur für gefaltete neurale Networks (CNNs). [128,256,512,1024,2048]

num_embed_source

IntegerParameterRange

[256-512]

num_embed_target

IntegerParameterRange

[256-512]

embed_dropout_source

ContinuousParameterRange

MinValue: 0.0, MaxValue: 0.5

embed_dropout_target

ContinuousParameterRange

MinValue: 0.0, MaxValue: 0.5

rnn_decoder_hidden_dropout

ContinuousParameterRange

MinValue: 0.0, MaxValue: 0.5

cnn_hidden_dropout

ContinuousParameterRange

MinValue: 0.0, MaxValue: 0.5

lr_scheduler_type

CategoricalParameterRange

['plateau_reduce', 'fixed_rate_inv_t', 'fixed_rate_inv_sqrt_t']

plateau_reduce_lr_factor

ContinuousParameterRange

MinValue: 0.1, MaxValue: 0.5

plateau_reduce_lr_threshold

IntegerParameterRange

[1-5]

fixed_rate_lr_half_life

IntegerParameterRange

[10-30]