Files
frankenstallm/source/configs/korean_3b_orpo.yaml

50 lines
1.2 KiB
YAML
Raw Normal View History

# Korean 3B ORPO Configuration (Phase 3)
#
# Base model: SFT v1 best checkpoint (HF format)
# 목표: Greedy 반복률 73%→30% 이하, EOS 종료율 0%→80%+
#
# 실행:
# bash scripts/launch_3b_orpo.sh # 본 학습
# bash scripts/launch_3b_orpo.sh --max_steps 200 # 퀵 테스트
#
# [설계 근거]
# - beta=0.25: 반복률 73%는 극단적 → 강한 OR loss 필요 (기존 0.1에서 상향)
# - lr=1.2e-5: HP sweep 6-config 결과 최적 (eval_loss 1.862, margin +0.009)
# - epochs=2: 683K 규모에 3 epoch은 과적합 위험
# - max_length=1536: P95=880 tokens, 99%+ 커버 + VRAM 25% 절약
# Model
model_path: eval/outputs/hf_3b_sft_best
output_dir: checkpoints/korean_3b_orpo
# Training
epochs: 2
lr: 1.2e-5
beta: 0.25
batch_size: 4
gradient_accumulation_steps: 4
max_length: 1536
bf16: true
weight_decay: 0.01
seed: 42
# Scheduler
lr_scheduler_type: cosine
warmup_ratio: 0.05
# Evaluation & Early Stopping
eval_split_ratio: 0.05
eval_steps: 500
early_stopping_patience: 3
# Logging & checkpointing
logging_steps: 10
save_steps: 500
save_total_limit: 5
gradient_checkpointing: true
report_to: none
# Data
custom_data_path: data/preference/combined_preference.jsonl
dataset_num_proc: 64