42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
|
|
# Korean LLM 1B parameters — BF16 기본 설정
|
|||
|
|
# B200 × 8 GPU 최적화, GQA(4:1) + SwiGLU + RoPE(long-context)
|
|||
|
|
#
|
|||
|
|
# 아키텍처 계산:
|
|||
|
|
# d_ffn = int(2/3 * 4 * 2048) = 5461 → 16배수 올림 = 5472 (FP8 alignment)
|
|||
|
|
# 실제 파라미터 수 ≈ 12 * 24 * 2048^2 = 1,207,959,552 (~1.2B)
|
|||
|
|
#
|
|||
|
|
# 학습 설정:
|
|||
|
|
# eff_batch = 4(bs) * 8(GPU) * 8(accum) * 4096(seq) = 1,048,576 토큰/스텝
|
|||
|
|
# 200,000 스텝 × 1M tok = 200B 토큰 처리
|
|||
|
|
model:
|
|||
|
|
vocab_size: 64000
|
|||
|
|
d_model: 2048
|
|||
|
|
n_layers: 24
|
|||
|
|
n_heads: 16
|
|||
|
|
n_kv_heads: 4 # GQA: 4 KV 그룹, 16 쿼리 헤드 (4:1 비율)
|
|||
|
|
d_ffn: 5472 # SwiGLU: int(2/3 * 4 * 2048)=5461 → 16배수=5472
|
|||
|
|
max_seq_len: 4096
|
|||
|
|
rope_theta: 500000.0 # Llama-3 스타일 고주파 외삽 (장문 컨텍스트)
|
|||
|
|
dropout: 0.0
|
|||
|
|
bias: false
|
|||
|
|
use_flash_attn: true
|
|||
|
|
use_fp8: false # BF16 기본; FP8은 korean_1b_fp8.yaml 참조
|
|||
|
|
|
|||
|
|
train:
|
|||
|
|
max_steps: 200000
|
|||
|
|
batch_size: 4 # per GPU: 4 × 4096 = 16,384 토큰
|
|||
|
|
grad_accum_steps: 8 # eff_batch: 4 × 8GPU × 8 × 4096 = 1,048,576 tok/step
|
|||
|
|
lr: 2.0e-4
|
|||
|
|
weight_decay: 0.1
|
|||
|
|
warmup_steps: 4000
|
|||
|
|
max_grad_norm: 1.0
|
|||
|
|
log_interval: 10
|
|||
|
|
save_interval: 1000
|
|||
|
|
eval_interval: 500
|
|||
|
|
use_amp: true # BF16 mixed precision
|
|||
|
|
compile_model: false
|
|||
|
|
|
|||
|
|
tokenizer:
|
|||
|
|
vocab_size: 64000
|
|||
|
|
type: sentencepiece_unigram
|