

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

# 미세 조정을 위한 파운데이션 모델 및 하이퍼파라미터
<a name="jumpstart-foundation-models-fine-tuning"></a>

파운데이션 모델은 계산 비용이 많이 들고 레이블이 지정되지 않은 대규모 코퍼스에서 훈련됩니다. 사전 훈련된 파운데이션 모델을 미세 조정하는 것은 광범위한 기능을 활용하면서 자체 소규모 코퍼스에서 모델을 사용자 지정할 수 있는 경제적인 방법입니다. 미세 조정은 추가 훈련을 포함하는 사용자 지정 방법이며 모델의 가중치를 변경합니다.

다음과 같은 경우 미세 조정이 유용할 수 있습니다.
+ 특정 비즈니스 요구 사항에 맞게 모델을 사용자 지정
+ 업계 전문 용어, 기술 용어 또는 기타 전문 용어와 같은 도메인별 언어를 성공적으로 사용하기 위한 모델
+ 특정 작업에 대한 성능 향상
+ 애플리케이션에서의 정확하고 상대적이며 상황에 맞는 응답
+ 보다 사실적이고 독성이 적으며 특정 요구 사항에 더 잘 부합하는 대응

사용 사례와 선택한 파운데이션 모델에 따라 미세 조정을 위해 취할 수 있는 두 가지 주요 접근 방식이 있습니다.

1. 도메인별 데이터를 기반으로 모델을 미세 조정하려면 [도메인 조정을 사용하여 대규모 언어 모델(LLM) 미세 조정](jumpstart-foundation-models-fine-tuning-domain-adaptation.md)을 참조하세요.

1. 프롬프트 및 응답 예제를 사용한 명령어 기반 미세 조정에 관심이 있는 경우 [프롬프트 지침을 사용하여 대형 언어 모델(LLM) 미세 조정](jumpstart-foundation-models-fine-tuning-instruction-based.md)을 참조하세요.

## 미세 조정에 사용할 수 있는 파운데이션 모델
<a name="jumpstart-foundation-models-fine-tuning-models"></a>

다음 JumpStart 파운데이션 모델을 미세 조정할 수 있습니다.
+ 블룸 3B
+ Bloom 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ 코드 Llama 13B
+ 코드 Llama 13B Python
+ 코드 Llama 34B
+ 코드 Llama 34B Python
+ 코드 Llama 70B
+ 코드 Llama 70B Python
+ 코드 Llama 7B
+ 코드 Llama 7B Python
+ CyberAgentLM2-7B-Chat(CALM2-7B-Chat)
+ Falcon 40B BF16
+ Falcon 40B Instruct BF16
+ Falcon 7B BF16
+ Falcon 7B Instruct BF16
+ Flan-T5 Base
+ Flan-T5 Large
+ Flan-T5 Small
+ Flan-T5 XL
+ Flan-T5 XXL
+ Gemma 2B
+ Gemma 2B 지침
+ Gemma 7B
+ Gemma 7B 지침
+ GPT-2 XL
+ GOT-J 6B
+ GPT-Neo 1.3B
+ GPT-Neo 125M
+ GPT-NEO 2.7B
+ LightGPT Instruct 6B
+ Llama 2 13B
+ Llama 2 13B Chat
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Chat
+ Llama 2 7B
+ Llama 2 7B Chat
+ Llama 2 7B Neuron
+ Mistral 7B
+ Mixtral 8x7B
+ Mixtral 8x7B Instruct
+ RedPajama INCITE Base 3B V1
+ RedPajama INCITE Base 7B V1
+ RedPajama INCITE Chat 3B V1
+ RedPajama INCITE Chat 7B V1
+ RedPajama INCITE Instruct 3B V1
+ RedPajama INCITE Instruct 7B V1
+ Stable Diffusion 2.1

## 일반적으로 지원되는 미세 조정 하이퍼파라미터
<a name="jumpstart-foundation-models-fine-tuning-hyperparameters"></a>

파운데이션 모델마다 미세 조정 시 다양한 하이퍼파라미터를 지원합니다. 다음은 훈련 중에 모델을 추가로 사용자 지정할 수 있는 일반적으로 지원되는 하이퍼파라미터입니다.


| 추론 파라미터 | 설명 | 
| --- | --- | 
| `epoch` | 모델이 훈련 중에 미세 조정 데이터세트를 통과하는 패스 수입니다. 반드시 1보다 큰 정수이어야 합니다. | 
| `learning_rate` | 각 훈련 예제 미세 조정의 배치를 살펴본 후 모델 가중치가 업데이트되는 비율입니다. 0보다 큰 양수 부동이어야 합니다. | 
| `instruction_tuned` | 모델을 교육할지 여부. `'True'` 또는 `'False'`이어야 합니다. | 
| `per_device_train_batch_size` | 훈련을 위한 GPU 코어 또는 CPU당 배치 크기입니다. 반드시 양의 정수여야 합니다. | 
| `per_device_eval_batch_size` | 평가를 위한 GPU 코어 또는 CPU당 배치 크기입니다. 반드시 양의 정수여야 합니다. | 
| `max_train_samples` | 디버깅 또는 더 빠른 훈련을 위해 훈련 예제 수를 이 값으로 자릅니다. 값 -1은 모델이 모든 훈련 샘플을 사용함을 의미합니다. 반드시 양의 정수 또는 -1이어야 합니다. | 
| `max_val_samples` | 디버깅 또는 더 빠른 훈련을 위해 검증 예제 수를 이 값으로 자릅니다. 값 -1은 모델이 모든 검증 샘플을 사용함을 의미합니다. 반드시 양의 정수 또는 -1이어야 합니다. | 
| `max_input_length` | 토큰화 후 최대 총 입력 시퀀스 길이입니다. 이보다 긴 시퀀스는 잘립니다. -1인 경우 `max_input_length`는 최소 1024로 설정되고 `model_max_length`는 토큰화기에 의해 정의됩니다. 양수 값으로 설정하면 `max_input_length`가 제공된 값의 최소값과 토큰화기에 의해 정의된 `model_max_length`로 설정됩니다. 반드시 양의 정수 또는 -1이어야 합니다. | 
| `validation_split_ratio` | 검증 채널이 없는 경우 훈련 데이터에서 분할된 훈련 검증의 비율입니다. 0에서 1 사이 범위여야 합니다. | 
| `train_data_split_seed` | 검증 데이터가 없는 경우 입력 훈련 데이터의 무작위 분할을 모델에서 사용하는 훈련 및 검증 데이터에 수정합니다. 정수여야 합니다. | 
| `preprocessing_num_workers` | 전처리에 사용할 프로세스의 수입니다. `None`인 경우 기본 프로세스가 사전 처리에 사용됩니다. | 
| `lora_r` | 가중치 업데이트의 조정 인자 역할을 하는 저순위 조정(LoRA ) r 값입니다. 반드시 양의 정수여야 합니다. | 
| `lora_alpha` | 가중치 업데이트의 조정 인자 역할을 하는 저순위 조정(LoRA ) 알파 값입니다. 일반적으로 `lora_r` 크기의 2\~4배입니다. 반드시 양의 정수여야 합니다. | 
| `lora_dropout` | 하위 순위 조정(LoRA ) 계층의 드롭아웃 값은 0\~1 사이의 양수 부동 소수여야 합니다. | 
| `int8_quantization` | `True`인 경우 모델은 훈련을 위해 8비트 정밀도로 로드됩니다. | 
| `enable_fsdp` | `True`인 경우 훈련은 완전 샤딩된 데이터 병렬 처리를 사용합니다. | 

Studio에서 모델을 미세 조정할 때 하이퍼파라미터 값을 지정할 수 있습니다. 자세한 내용은 [Studio에서 모델 미세 조정](jumpstart-foundation-models-use-studio-updated-fine-tune.md) 섹션을 참조하세요.

SageMaker Python SDK를 사용하여 모델을 미세 조정할 때 기본 하이퍼파라미터 값을 재정의할 수도 있습니다. 자세한 내용은 [`JumpStartEstimator` 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 미세 조정합니다.](jumpstart-foundation-models-use-python-sdk-estimator-class.md) 섹션을 참조하세요.