Sequence-to-Sequence 모델 튜닝 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Sequence-to-Sequence 모델 튜닝

하이퍼파라미터 튜닝이라고도 하는 자동 모델 튜닝은 데이터 세트에 대한 광범위한 하이퍼파라미터를 테스트하는 여러 작업을 실행하여 최적의 모델 버전을 찾습니다. 튜닝 가능한 하이퍼파라미터, 각 하이퍼파라미터에 대한 값 범위 및 목표 지표를 선택합니다. 알고리즘에서 계산하는 지표 중에서 목표 지표를 선택합니다. 자동 모델 튜닝은 선택한 하이퍼파라미터를 검색하여 목표 지표를 최적화하는 모델을 만드는 값 조합을 찾습니다.

모델 튜닝에 대한 추가 정보는 를 사용하여 자동 모델 튜닝을 수행하십시오. SageMaker 단원을 참조하십시오.

Sequence-to-Sequence 알고리즘으로 계산되는 분류 지표

Sequence-to-Sequence 알고리즘은 훈련 중 계산되는 3가지 지표를 보고합니다. 하이퍼파라미터 값을 튜닝하는 경우 최적화하려면 이러한 지표 중 하나를 목표 지표로 선택해야 합니다.

지표 이름 설명 최적화 방향
validation:accuracy

검증 데이터 세트에 대해 계산된 정확도

최대화

validation:bleu

검증 세트에 대해 계산된 Bleu 점수 BLEU 계산에는 비용이 많이 들기 때문에 전체 훈련 프로세스의 속도를 높이기 위해 검증 데이터 세트의 무작위 하위 샘플에 대한 BLEU를 계산하도록 선택할 수 있습니다. bleu_sample_size 파라미터를 사용하여 하위 샘플을 지정합니다.

최대화

validation:perplexity

Perplexity는 검증 데이터 세트에 대해 계산되는 손실 함수입니다. Perplexity는 경험적 샘플과 모델이 예측한 분포 간 교차 엔트로피를 측정하고, 모델이 샘플 값을 얼마나 잘 예측했는지를 측정합니다. 샘플을 정확하게 예측하는 모델은 perplexity가 낮습니다.

최소화

튜닝 가능한 Sequence-to-Sequence 하이퍼파라미터

Sequence to Sequence 알고리즘에 사용할 수 있는 하이퍼파라미터는 다음과 같습니다. SageMaker Sequence to Sequence 목표 지표에 가장 큰 영향을 미치는 하이퍼파라미터는 batch_size, optimizer_type, learning_rate, num_layers_encodernum_layers_decoder입니다.

파라미터 이름 파라미터 유형 권장 범위
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

자비에르 유형의 경우: 2.0, MinValue MaxValue: 3.0 유니폼 유형의 경우:: -1.0, MinValue: 1.0 MaxValue

learning_rate

ContinuousParameterRange

MinValue: 0.00005,: 0.2 MaxValue

weight_decay

ContinuousParameterRange

MinValue: 0.0,: 0.1 MaxValue

momentum

ContinuousParameterRange

MinValue: 0.5, MaxValue: 0.9

clip_gradient

ContinuousParameterRange

MinValue: 1.0, MaxValue: 5.0

rnn_num_hidden

CategoricalParameterRange

반복적 신경망(RNN)에만 적용됨. [128,256,512,1024,2048]

cnn_num_hidden

CategoricalParameterRange

컨벌루션 신경망(CNN)에만 적용됨. [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]