

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

# Sequence-to-Sequence 모델 튜닝
<a name="seq-2-seq-tuning"></a>

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

모델 튜닝에 대한 추가 정보는 [SageMaker AI로 자동 모델 튜닝](automatic-model-tuning.md) 섹션을 참조하세요.

## Sequence-to-Sequence 알고리즘으로 계산되는 분류 지표
<a name="seq-2-seq-metrics"></a>

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


| 지표 이름 | 설명 | 최적화 방향 | 
| --- | --- | --- | 
| validation:accuracy | 검증 데이터세트에 대해 계산된 정확도 | 최대화 | 
| validation:bleu | 검증 세트에 대해 계산된 [Bleu﻿](https://en.wikipedia.org/wiki/BLEU) 점수 BLEU 계산에는 비용이 많이 들기 때문에 전체 훈련 프로세스의 속도를 높이기 위해 검증 데이터세트의 무작위 하위 샘플에 대한 BLEU를 계산하도록 선택할 수 있습니다. `bleu_sample_size` 파라미터를 사용하여 하위 샘플을 지정합니다. | 최대화 | 
| validation:perplexity | [Perplexity](https://en.wikipedia.org/wiki/Perplexity)는 검증 데이터세트에 대해 계산되는 손실 함수입니다. Perplexity는 경험적 샘플과 모델이 예측한 분포 간 교차 엔트로피를 측정하고, 모델이 샘플 값을 얼마나 잘 예측했는지를 측정합니다. 샘플을 정확하게 예측하는 모델은 perplexity가 낮습니다. | 최소화 | 

## 튜닝 가능한 Sequence-to-Sequence 하이퍼파라미터
<a name="seq-2-seq-tunable-hyperparameters"></a>

SageMaker AI Sequence-Sequence 알고리즘에 대한 다음 하이퍼파라미터를 튜닝할 수 있습니다. Sequence to Sequence 목표 지표에 가장 큰 영향을 미치는 하이퍼파라미터는 `batch_size`, `optimizer_type`, `learning_rate`, `num_layers_encoder` 및 `num_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 | xavier 유형: MinValue: 2.0, MaxValue: 3.0, 균일한 유형: 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 | 반복적 신경망(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] | 