

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

# 도메인 조정을 사용하여 대규모 언어 모델(LLM) 미세 조정
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation"></a>

도메인 적응 미세 조정을 통해 사전 훈련된 파운데이션 모델을 활용하고 제한된 도메인별 데이터를 사용하여 특정 작업에 적응할 수 있습니다. 프롬프트 엔지니어링 노력으로도 충분한 사용자 지정이 이루어지지 않는 경우, 도메인 적응 미세 조정을 사용하여 산업 용어, 기술 용어 또는 기타 특수 데이터와 같은 도메인별 언어를 사용하여 모델을 작동시킬 수 있습니다. 이 미세 조정 프로세스는 모델의 가중치를 수정합니다.

도메인별 데이터세트에서 모델을 미세 조정하려면

1. 학습 데이터를 준비합니다. 지침은 [도메인 조정 미세 조정을 위한 훈련 데이터 준비 및 업로드](#jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data) 섹션을 참조하세요.

1. 미세 조정 훈련 작업을 생성합니다. 지침은 [지침 기반 미세 조정을 위한 훈련 작업 생성](#jumpstart-foundation-models-fine-tuning-domain-adaptation-train) 섹션을 참조하세요.

에서 엔드 투 엔드 예제를 찾을 수 있습니다[예제 노트북](#jumpstart-foundation-models-fine-tuning-domain-adaptation-examples).

도메인 적응 미세 조정은 다음 파운데이션 모델에서 사용할 수 있습니다.

**참고**  
Llama 2 7B와 같은 일부 JumpStart 파운데이션 모델은 미세 조정 및 추론 수행 전에 최종 사용자 라이선스 계약을 수락해야 합니다. 자세한 내용은 [최종 사용자 라이선스 계약](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula) 섹션을 참조하세요.
+ Bloom 3B
+ Bloom 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ GPT-2 XL
+ GOT-J 6B
+ GPT-Neo 1.3B
+ GPT-Neo 125M
+ GPT-NEO 2.7B
+ 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

## 도메인 조정 미세 조정을 위한 훈련 데이터 준비 및 업로드
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data"></a>

도메인 조정 미세 조정을 위한 훈련 데이터는 CSV, JSON 또는 TXT 파일 형식으로 제공할 수 있습니다. 모든 훈련 데이터는 단일 폴더 내의 단일 파일에 있어야 합니다.

훈련 데이터는 CSV 또는 JSON 훈련 데이터 파일의 **텍스트** 열에서 가져옵니다. **텍스트 레이블**이 지정된 열이 없는 경우 훈련 데이터는 CSV 또는 JSON 훈련 데이터 파일의 첫 번째 열에서 가져옵니다.

다음은 미세 조정에 사용할 TXT 파일의 예제 본문입니다.

```
This report includes estimates, projections, statements relating to our
business plans, objectives, and expected operating results that are “forward-
looking statements” within the meaning of the Private Securities Litigation
Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E
of ....
```

### 훈련 및 테스트를 위한 데이터 분할
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-split-data"></a>

필요에 따라 검증 데이터가 포함된 다른 폴더를 제공할 수 있습니다. 이 폴더에는 CSV, JSON 또는 TXT 파일 하나도 포함되어야 합니다. 검증 데이터세트가 제공되지 않은 경우 검증 목적으로 설정된 양의 훈련 데이터가 따로 설정됩니다. 모델을 미세 조정할 하이퍼파라미터를 선택할 때 검증에 사용되는 훈련 데이터의 비율을 조정할 수 있습니다.

### Amazon S3에 미세 조정 데이터 업로드
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-upload-data"></a>

준비된 데이터를 Amazon Simple Storage Service(Amazon S3)에 업로드하여 JumpStart 파운데이션 모델을 미세 조정할 때 사용합니다. 다음 명령을 사용하여 데이터를 업로드할 수 있습니다.

```
from sagemaker.s3 import S3Uploader
import sagemaker
import random

output_bucket = sagemaker.Session().default_bucket()
local_data_file = "train.txt"
train_data_location = f"s3://{output_bucket}/training_folder"
S3Uploader.upload(local_data_file, train_data_location)
S3Uploader.upload("template.json", train_data_location)
print(f"Training data: {train_data_location}")
```

## 지침 기반 미세 조정을 위한 훈련 작업 생성
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-train"></a>

데이터가 Amazon S3에 업로드된 후 JumpStart 파운데이션 모델을 미세 조정하고 배포할 수 있습니다. Studio에서 모델을 미세 조정하려면 [Studio에서 모델 미세 조정](jumpstart-foundation-models-use-studio-updated-fine-tune.md) 섹션을 참조하세요. SageMaker Python SDK를 사용하여 모델을 미세 조정하려면 [`JumpStartEstimator` 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 미세 조정합니다.](jumpstart-foundation-models-use-python-sdk-estimator-class.md) 섹션을 참조하세요.

## 예제 노트북
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-examples"></a>

도메인 조정 미세 조정에 대한 자세한 내용은 다음 예제 노트북을 참조하세요.
+ [SageMaker JumpStart 파운데이션 모델 - 도메인별 데이터세트에 대한 텍스트 생성 GPT-J 6B 모델 미세 조정](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/domain-adaption-finetuning-gpt-j-6b.html)
+ [JumpStart에서 LLaMA 2 모델 미세 조정](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/llama-2-finetuning.html)