미세 조정을 위한 파운데이션 모델 및 하이퍼파라미터 - Amazon SageMaker

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

미세 조정을 위한 파운데이션 모델 및 하이퍼파라미터

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

다음과 같은 경우 미세 조정이 유용할 수 있습니다.

  • 특정 비즈니스 요구 사항에 맞게 모델을 사용자 지정

  • 업계 전문 용어, 기술 용어 또는 기타 전문 용어와 같은 도메인별 언어를 성공적으로 사용하기 위한 모델

  • 특정 작업에 대한 성능 향상

  • 애플리케이션에서의 정확하고 상대적이며 상황에 맞는 응답

  • 보다 사실적이고 독성이 적으며 특정 요구 사항에 더 잘 부합하는 대응

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

  1. 도메인별 데이터를 기반으로 모델을 미세 조정하려면 도메인 조정을 사용하여 대규모 언어 모델(LLM) 미세 조정을 참조하세요.

  2. 프롬프트 및 응답 예제를 사용한 명령어 기반 미세 조정에 관심이 있는 경우 프롬프트 지침을 사용하여 대규모 언어 모델(LLM) 미세 조정을 참조하세요.

미세 조정에 사용할 수 있는 파운데이션 모델

다음 JumpStart 파운데이션 모델을 미세 조정할 수 있습니다.

  • 블룸 3B

  • 블룸 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 지침 BF16

  • Falcon 7B BF16

  • Falcon 7B 지침 BF16

  • Flan-T5 기본

  • Flan-T5 라지

  • Flan-T5 스몰

  • Flan-T5 XL

  • Flan-T5 XXL

  • Gemma 2B

  • Gemma 2B 지침

  • Gemma 7B

  • Gemma 7B 지침

  • GPT-2 XL

  • GPT-J 6B

  • GPT-Neo 1.3B

  • GPT-Neo 125M

  • GPT-NEO 2.7B

  • 라이트GPT 지시 6B

  • Llama 2 13B

  • Llama 2 13B 채팅

  • Llama 2 13B 뉴런

  • Llama 2 70B

  • Llama 2 70B 채팅

  • Llama 2 7B

  • Llama 2 7B 채팅

  • Llama 2 7B 뉴런

  • 미스랄 7B

  • 혼합 8x7B

  • 혼합 8x7B 명령어

  • RedPajama INCITE 기본 3B V1

  • RedPajama INCITE 기본 7B V1

  • RedPajama INCITE 채팅 3B V1

  • RedPajama INCITE 채팅 7B V1

  • RedPajama INCITE 3B V1 지시

  • RedPajama INCITE 지시 7B V1

  • 안정적인 확산 2.1

일반적으로 지원되는 미세 조정 하이퍼파라미터

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

추론 파라미터 설명

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 ) 알파 값입니다. 일반적으로 크기의 2~4배입니다lora_r. 양의 정수여야 합니다.

lora_dropout

하위 순위 조정(LoRA ) 계층의 드롭아웃 값은 0~1 사이의 양수 부동 소수점이어야 합니다.

int8_quantization

True인 경우 모델은 훈련을 위해 8비트 정밀도로 로드됩니다.

enable_fsdp

True인 경우 훈련은 완전 샤딩된 데이터 병렬 처리를 사용합니다.

Studio에서 모델을 미세 조정할 때 하이퍼파라미터 값을 지정할 수 있습니다. 자세한 내용은 Studio에서 모델 미세 조정 단원을 참조하십시오.

를 사용하여 모델을 미세 조정할 때 기본 하이퍼파라미터 값을 재정의할 수도 있습니다. SageMaker Python SDK. 자세한 내용은 JumpStartEstimator 클래스를 사용하여 공개적으로 사용 가능한 파운데이션 모델을 미세 조정합니다. 단원을 참조하십시오.