기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
하이퍼파라미터 참조
다음 표에는 멀티턴 RL 훈련 작업에 대해 구성 가능한 모든 하이퍼파라미터가 나열되어 있습니다. 레시피 기본값은 아래에 포함되어 있습니다.
| 카테고리 | 파라미터 | 기본값 | Choice | 설명 |
|---|---|---|---|---|
| 배치 | global_batch_size | 128 | {32, 64, 128} | 훈련 단계당 고유한 프롬프트 수입니다. |
| 배치 | group_size | 8 | [2, 32] | 그룹 기반 이점(GRPO/RLOO)을 계산하는 데 사용되는 프롬프트당 롤아웃입니다. |
| RL | advantage_메서드 | 그룹 기반 | monte_carlo, group_based, group_based_per_turn, rloo,Reinforce_pp,Reinforce_pp_Baseline, opo, grpo_passk, gpg | 롤아웃의 이점을 계산하는 방법입니다. |
| RL | 손실_fn | ppo | importance_sampling, ppo, cispo | RL 손실 공식. |
| RL | clip_low_threshold | 0.8 | [0, 1] | PPO 스타일 대리자 손실에서 정책 확률 비율 π_new/π_old를 클리핑하기 위한 하한입니다. |
| RL | 클립_높음_임계값 | 1.2 | [1, 10] | 손실의 정책 확률 비율을 클리핑하기 위한 상한입니다. |
| 샘플링_파라미터 | temperature | 1 | [0, 2] | 샘플링 전 로짓에 적용되는 샘플링 온도입니다. |
| 샘플링_파라미터 | 샘플링_탑_p | 1 | [0, 1] | Nucleus 샘플링 컷오프. 누적 확률이 top_p인 가장 작은 토큰 세트에서만 샘플링합니다. |
| 샘플링_파라미터 | 샘플링_최대_토큰 | 4096 | [512, 8192] | 롤아웃 중에 모델이 턴당 생성할 수 있는 최대 토큰 수입니다. |
| val_sampling_params | 샘플링_최대_토큰 | 4096 | [512, 8192] | 모델이 평가 중에 턴당 생성할 수 있는 최대 토큰 수입니다. |
| val_metrics_config | pass_k_값 | [1, 2, 4, 8, 16, 32] | 해당 사항 없음 | pass@k 지표를 계산하기 위한 k 값 목록입니다. |
| val_metrics_config | success_threshold | 1 | 해당 사항 없음 | 롤아웃을 "성공"으로 계산하기 위한 보상 임계값입니다. |
| 일정 | max_epochs | 1 | [1, 30] | 데이터에 대한 총 전달 수입니다. |
| 일정 | max_steps | 50 | [1, 1000] | 총 훈련 반복. |
| 일정 | val_every | 10 | [0, 100] | 평가 간격(단계). |
| 모델 | model_name_or_path | 필수 | 미세 조정할 모델(예: "GPT-OSS-20B"). | |
| 모델 | lora_rank | 32 | [16,64] | 어댑터 용량을 제어하는 LoRA 어댑터의 순위입니다. |
| 모델 | lora_alpha | 64 | [16,128] | LoRA 조정 인수입니다. 유효 업데이트 크기 " 알파/순위. |
| 모델 | learning_rate | 4.00E-05 | (0, 1e-2] | Adam 학습률. |
| 모델 | adam_beta1 | 0.9 | [0, 0.999999] | Adam에서 그라데이션(첫 번째 순간)의 실행 평균에 대한 지수 감소율입니다. |
| 모델 | adam_beta2 | 0.95 | [0, 0.999999] | Adam에서 제곱 그라데이션(두 번째 모멘트)의 실행 평균에 대한 지수 감소율입니다. |
| 모델 | adam_eps | 1.00E-08 | [1e-16, 1e-2] | Adam의 업데이트 규칙에서 수치적 안정성을 위해 분모에 작은 상수가 추가되었습니다. |
| 모델 | adam_weight_decay | 0 | [0, 1] | 분리된 가중치 감소 계수(AdamW 스타일). |
| 모델 | adam_grad_clip_norm | 1 | [0, 100] | 최대 전역 그라데이션 표준. |
| 롤아웃 | 롤아웃_최대_동시성 | 96 | [32, 96] | 최대 진행 중 롤아웃 프로세스는 병렬로 발생할 수 있습니다. |
| 롤아웃 | rollout_timeout | 600 | [300, 86400] | 실패 처리: 롤아웃 실패로 처리되는 시간입니다. |
| 롤아웃 | 롤아웃_최대_재시도 횟수 | 3 | [1, 10] | 실패한 롤아웃에 대한 재시도 횟수입니다. |
| async_config | max_steps_off_policy | 3 | [0, 10] | 비동기식 훈련의 기한 임계값입니다. 0이면 동기식 훈련입니다. |
하이퍼파라미터 튜닝 모범 사례
실행이 평평하거나 축소되면 다음 6개의 파라미터가 거의 모든 설명을 설명합니다.
학습률
는 각 훈련 반복에서 옵티마이저가 수행하는 단계의 크기를 learning_rate 제어합니다. 멀티턴 RL에서 단계당 그라데이션 신호는 작업에 따라 다릅니다. 바이너리 결과가 있는 스파스-리워드 환경은 모든 롤아웃이 동일하게 점수를 매기는 많은 그룹을 생성하여 전체 그룹에 대해 0의 이점을 제공합니다. 결과가 혼합된 그룹만 그라데이션 신호를 생성하므로 각 단계의 유용한 그라데이션이 그라데이션됩니다. 약한 신호에 맞게 학습 속도를 낮춰야 하거나 실행에 더 많은 단계가 필요합니다.
그룹 내의 궤적이 서로 다른 점수를 안정적으로 얻는 밀집 보상 환경은 대부분의 그룹에서 일관되고 0이 아닌 이점을 제공하며 기본 학습률로도 충분한 경우가 많습니다.
유효 단계 크기도 LoRA 구성에 따라 달라집니다. 실제 업데이트 크기는 learning_rate × alpha/rank 이므로 고정된 학습률은 어댑터 용량에 따라 달라집니다.
손실 함수 및 클리핑 범위
MTRL을 처음 사용하는 경우 고급 클리핑 기반 알고리즘으로 이동하기 전에 중요도 샘플링(importance_sampling)을 시작하는 것이 좋습니다. PPO 및 CISPO는 clip_low_threshold 및 clip_high_threshold를 사용하여 확률 비율, policy_new(action|state) / policy_old(action|state) 즉 단일 훈련 단계에서 정책이 변경될 수 있는 정도를 제한합니다.
의 비율은 변경 없음을 1.0 의미합니다. 임계값이 낮을수록(예: 0.8) 정책이 이전에 선호하는 작업을 적극적으로 학습하지 못합니다. 상한 임계값(예: 1.2)은 한 배치에서 양호한 것으로 보이는 작업에 과도하게 커밋되는 것을 방지합니다.
-
를 사용하는 PPO
(clip_low_threshold, clip_high_threshold) = (0.8, 1.2)는 첫 번째 실행에 안전한 기준입니다. -
CISPO에는 넓은 비대칭 클리핑이 필요합니다.
clip_low_threshold = 1.0, 로 시작합니다clip_high_threshold = 6.0. CISPO를 사용하면 잘못된 작업 확률을 자유롭게 줄일 수 있으며 상단 클립에만 의존하여 불안정성을 방지할 수 있습니다.
훈련 축소 또는 훈련 부족이 관찰되는 경우 클리핑 임계값을 조정하는 것이 좋습니다.
배치 크기 및 그룹 크기
이 두 파라미터는 각 훈련 단계에서 수신하는 유용한 그라데이션 신호의 양을 공동으로 결정합니다.
global_batch_size는 하나의 옵티마이저 단계에 포함되는 고유한 프롬프트 수를 제어합니다. 배치가 클수록(128) 더 많은 프롬프트에 대한 평균 그라데이션이 증가하여 보상 곡선이 더 매끄러워지고 업데이트가 더 안정적입니다. 배치가 작을수록(32) 단계당 비용이 저렴하고 빠른 반복에 유용하지만 노이즈 그라데이션이 생성됩니다. 프로덕션 실행의 경우 128이 좋은 기본값이며, 디버깅 또는 하이퍼파라미터 검사의 경우 32가 좋습니다.
group_size는 각 프롬프트에 대해 생성되는 독립 롤아웃 수를 결정합니다. 이러한 롤아웃을 서로 비교하여 이점을 계산합니다. 모든 롤아웃이 동일한 보상을 받는 경우(모두 성공 또는 모두 실패) 장점은 0이고 그룹은 그라데이션 신호를 생성하지 않습니다. 기본값은 group_size = 8입니다. 그룹에 충분한 다양성이 있는 경우 이를 줄이고, 환경에 더 많은 다양성이 필요한 경우 이를 늘립니다.
단계당 총 롤아웃 수 = global_batch_size × group_size. 대부분의 그룹이 0 신호를 생성하는 희소 보상 설정에서는 그룹 크기를 중간 수준으로 유지하고 배치 크기 또는 단계 수를 늘리는 것이 더 효율적인 경우가 많습니다.
정책 외 기한 경과
비동기 훈련에서는 롤아웃이 폐기되기 전에 기한 경과가 허용되는 방법을 max_steps_off_policy 제어합니다. 의 기본값은 롤아웃 서버 테일 지연 시간을 3 숨깁니다. 그러나 기한 경과 롤아웃은에서 크게 벗어나는 중요도 비율을 가지며1.0, 해당 비율이 클립 경계에 도달하면 그라데이션 신호에 기여하지 않습니다.
디버깅 축소 시 0으로 설정합니다. 비동기식 기한 경과는 중요도 강조 업데이트와 결합되며 근본 원인을 가릴 수 있습니다. 로 설정하고 0안정화한 다음 문제가 이해되면 다시 활성화합니다. 롤아웃이 빠른 환경의 경우가 더 나은 기본값일 max_steps_off_policy = 1 수 있습니다.
샘플링 최대 토큰
sampling_max_tokens는 회전당 생성 캡입니다. 한도가 너무 낮으면 모델의 응답이 중간에 잘리고 불완전한 시도에 대한 보상을 받습니다. 그런 다음 정책은 잘린 접두사를 잘못된 결과와 연결하는 방법을 학습하여 더 많은 공간이 주어지면 성공했을 탐색 동작을 억제합니다.
기본값 4096은 대부분의 작업에서 작동합니다. 사고/타당한 응답이 지나치게 긴 모델의 경우 8192로 늘립니다. 크기 조정 규칙은 여백max_turns × (sampling_max_tokens + expected_tool_output) + prompt ≤ max_sequence_length이 있는 입니다.
진단:를 모니터링합니다rollout/tokens/response_max. 궤적이 정확히 캡에 클러스터되면 모델이 자동으로 잘리고 신호가 손실될 수 있습니다.는 훈련과 일치해야 val_sampling_params.sampling_max_tokens 합니다.
롤아웃 구성
이러한 파라미터는 롤아웃 생성 방법과 트레이너가 느리거나 실패한 롤아웃을 처리하는 방법을 제어합니다.
-
rollout_max_concurrency- 한 번에 진행 중인 롤아웃 수를 제어합니다. 기본값 96은 대부분의 설정에서 잘 작동합니다. 비동기 모드에서 너무 높게 설정하면 오래된 롤아웃이 발생하고 추론 엔진이 압도될 수 있습니다. -
rollout_timeout- 단일 롤아웃을 기다린 후 실패로 처리하는 시간(초)입니다. 기본값 600은 일반적인 도구 사용 환경에 맞게 크기가 조정됩니다. 너무 낮게 설정하면 더 많은 시간이 주어지면 성공했을 롤아웃이 잘립니다. -
rollout_max_retries- 실패한 롤아웃에 대한 재시도를 제어합니다. 영구 실패율이 약 1%를 초과하는 경우 문제는 환경 설정에 있으며 재시도 횟수를 초과하지 않습니다.
지원되는 파라미터
-
LoRA 용량(
lora_rank및lora_alpha). 단계당 유효 업데이트 크기는 학습률의 승수 역할을alpha/rank하는에 비례합니다. 기본값은lora_rank = 32, lora_alpha = 64(2:1 비율)입니다. 다른 모든 것이 잘 조정되고 보상 곡선이 여전히 정체되어 있는 경우에만 늘리는 것이 좋습니다. 두 개를 함께 두 배로(64/128) 하여 동일한 유효 학습률을 유지하면서 용량을 추가합니다. -
훈련의 경우 temperature = 1.0, sampling_top_p = 1.0. RL 훈련의 경우 그룹 기준에 신호가 있도록 그룹 내 롤아웃의 다양성을 원합니다. 온도 1.0은 좋은 기본값입니다. 평가의 경우 온도 = 0.0(그리디 디코딩)을 사용하여 평가 곡선이 결정적이고 실행 간에 비슷하도록 합니다.
-
pass_k_values. Pass@1은 헤드라인 평가 지표입니다. Pass@G(G = group_size)는 유용한 안전 확인입니다. pass@G가 매우 높으면 대부분의 프롬프트가 너무 쉽습니다. pass@G가 매우 낮으면 대부분의 프롬프트가 너무 어렵고 그룹 신호가 희소합니다.
-
max_steps 및 max_epochs. 선별
max_steps = 50의 경우(곡선이 움직이는지 확인하기에 충분), 프로덕션의 경우 100입니다. CISPO 축소는 40~80단계 사이에서 나타나는 경향이 있습니다.max_epochs = 1는 기본값입니다. 여러 에포크가 새 롤아웃과 함께 동일한 프롬프트를 재사용하므로 프롬프트 세트가 작지만 좁은 프롬프트 배포에 과적합할 위험이 있는 경우 도움이 될 수 있습니다. -
adam_beta2 = 0.95. SFT 기본값인 0.999보다 낮습니다. RL에서 그라데이션 통계는 고정되지 않으므로 최적화 프로그램은 최근 그라데이션 분산을 보다 적극적으로 추적해야 합니다.
-
weight_decay = 0.0. LoRA는 이미 하위 순위 파라미터화를 통해 업데이트를 제한합니다. 가중치 감소 추가는 RL 미세 조정을 위해 잘 특성화되지 않은 방식으로 정규화를 구성합니다.
-
adam_grad_clip_norm = 1.0. 전역 그라데이션 표준의 한도를 지정합니다. 축소가 큰 클립 전 스파이크와 상관관계가 있는 경우 0.5로 떨어뜨립니다. 여러 단계에서 표준이 정확히 1.0이고 보상이 평탄한 경우 클립은 병목 현상일 수 있습니다. 신중하게 2.0으로 높입니다.