View a markdown version of this page

RFT - Amazon SageMaker AI

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

RFT

강화 미세 조정(RFT)은 강화 학습을 사용하여 명시적 입력-출력 예제가 아닌 보상 신호를 기반으로 모델 동작을 최적화합니다. Amazon SageMaker AI는 RLVR(검증 가능한 보상을 통한 강화 학습)과 RLAIF(AI 피드백의 강화 학습)의 두 가지 RFT 변형을 지원합니다.

RLVR

RLVR은 모델 출력이 올바른지 프로그래밍 방식으로 확인하는 코드 기반 보상 함수를 사용합니다. 객관적으로 정답 또는 오답이 있는 작업에 가장 적합합니다.

사용해야 하는 경우

  • 작업에 확인 가능한 정답(수학, 코드, 사실적 질문)이 있습니다.

  • 응답 정확성을 평가하는 채점 함수를 작성할 수 있습니다.

  • 사실적 정확도를 높이고 할루시네이션을 줄이려는 경우

데이터 세트 형식

각 레코드에는 프롬프트 및 보상 모델 메타데이터가 포함되어 있습니다. 보상 함수는 훈련 중에 모델 생성 응답을 평가합니다.

{ "data_source": "openai/gsm8k", "prompt": [ { "content": "Natalia sold clips to 48 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May? Let's think step by step and output the final answer after \"####\".", "role": "user" } ], "ability": "math", "reward_model": { "ground_truth": "72", "style": "rule" } }

필수 필드:

  • prompt - role 및가 있는 메시지 객체의 배열 content

  • reward_model.style - 프로그래밍 방식 확인을 "rule" 위해를 로 설정

  • reward_model.ground_truth - 확인을 위한 올바른 답변

보상 함수 사전 설정

  • gsm8k - 학년 학교 수학 확인

  • prime_code - 코드 정확성 확인

  • prime_math - 수학적 추론 확인

RLVR LoRA 하이퍼파라미터

참고

아래 표에는 서버리스 모델 사용자 지정을 사용할 때 사용할 수 있는 하이퍼파라미터가 나와 있습니다. 다른 하이퍼파라미터는 Amazon SageMaker AI에서 최적화된 기본값을 사용하여 사전 설정됩니다. SageMaker AI 훈련 작업 또는 HyperPod를 사용하는 경우 레시피에서 사용할 수 있는 하이퍼파라미터의 전체 목록에 액세스할 수 있습니다. 레시피를 가져오고 모든 하이퍼파라미터에 액세스하려면 SageMaker AI 레시피 리포지토리를 참조하세요.

파라미터 유형 필수 범위/값 설명
preset_reward_function문자열필수gsm8k, prime_code, prime_math확인을 위해 보상 함수를 미리 설정합니다.
learning_rate실수필수2007년 1월 3일가중치 업데이트를 위한 단계 크기입니다. RL의 경우 낮게 설정합니다(예: 1e-5).
lr_warmup_steps_ratio실수필수0~1LR 워밍업 단계 비율입니다.
max_epochs정수필수1–100데이터 세트를 통과하는 횟수입니다.
global_batch_size정수필수128, 256, 512, 1024최적화 프로그램 단계당 총 샘플 수입니다.
max_prompt_length정수필수512~16384프롬프트 부분에 대한 최대 토큰입니다.
weight_decay실수필수0.0~1.0L2 정규화 계수입니다.
clip_ratio실수필수0.1~1.5GRPO 클리핑 파라미터입니다. 업데이트당 정책 변경을 제한합니다.
kl_loss_coef실수필수0~0.1KL 발산 페널티 가중치입니다. 정책 드리프트를 방지합니다.
rollout_n정수필수1, 2, 4, 8, 16, 32롤아웃 중 프롬프트당 후보 응답.
rollout_temperature실수필수0.01~2.0롤아웃 생성 온도입니다.
lora_rank정수필수8, 16, 32, 64, 128LoRA 순위입니다. 하위 순위 매트릭스의 차원성.
lora_alpha정수필수16, 32, 64, 128, 256LoRA 조정 인수입니다. 유효 LR은 알파/순위로 확장됩니다.
warmup_steps정수필수-1~100절대 워밍업 단계(자동의 경우 -1).
min_lr실수필수0.0~1.0최소 학습률 바닥.
clip_ratio_high실수필수0.0~0.5상한 클리핑 임계값입니다.
clip_ratio_low실수필수0.0~0.5클리핑 임계값을 낮춥니다.
temperature실수필수0.0~2.0평가를 위한 샘플링 온도입니다.
use_kl_loss부울필수true, false손실에 KL 발산 페널티를 추가합니다.
train_val_split_ratio실수선택 사항0.0~1.0훈련/검증 분할.

RLVR FFT 하이퍼파라미터

lora_rank 및 없이 RLVR LoRA와 동일한 파라미터lora_alpha.

RLAIF

RLAIF는 다른 LLM을 판사로 사용하여 자연어 보상 프롬프트를 기반으로 모델 응답을 평가합니다. 프로그래밍 방식으로 평가하기 어려운 주관적 품질 기준이 있는 작업에 가장 적합합니다.

사용해야 하는 경우

  • 품질 기준은 주관적입니다(도움, 안전, 어조).

  • 자연어로 "좋음"을 설명할 수 있습니다.

  • 인적 주석이 제공할 수 있는 것 이상으로 피드백을 조정하려는 경우

데이터 세트 형식

각 레코드에는 프롬프트 및 보상 모델 메타데이터가 포함되어 있습니다. LLM 판사는 훈련 중에 모델 생성 응답을 평가합니다.

{ "data_source": "WeOpenML/PandaLM", "prompt": [ { "role": "user", "content": "Below are two responses for a given task...Evaluate the responses and generate a reference answer.\n\n### Instruction:\nCompare the given products..." } ], "ability": "pairwise-judging", "reward_model": { "style": "llmj", "ground_truth": "2\n\n### Reason: Response 2 provides a more detailed comparison..." } }

필수 필드:

  • prompt - role 및가 있는 메시지 객체의 배열 content

  • reward_model.style - LLM-as-judge의 "llmj" 경우 로 설정

  • reward_model.ground_truth - 보정을 위한 참조 판단

판사 템플릿

다음과 같은 사전 설정된 판단 템플릿이 훈련 컨테이너에 제공됩니다. judge_prompt_template 하이퍼파라미터를 사용하여 하나를 선택합니다.

  • cot.jinja Chain-of-thought 평가

  • evaluate.jinja - 일반 품질 평가

  • faithfulness.jinja - 재료 소싱에 대한 충실도

  • summarize.jinja - 요약 품질

  • grader.jinja - Rubric 기반 그레이딩

RLAIF LoRA 하이퍼파라미터

RLVR LoRA와 동일한 파라미터와 다음과 같은 차이점이 있습니다.

파라미터유형필수범위/값설명
judge_prompt_template문자열선택 사항cot.jinja, evaluate.jinja, faithfulness.jinja, summarize.jinja, grader.jinjaLLM 판단 평가를 위한 템플릿입니다. 를 대체합니다preset_reward_function.

RLAIF FFT 하이퍼파라미터

lora_rank 및 없이 RLAIF LoRA와 동일한 파라미터입니다lora_alpha.