File size: 1,386 Bytes
da19444
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Korean 3B SFT Configuration
#
# Base model: checkpoints/korean_3b_fp8_run1/checkpoint-XXXXXX (3B params pretrained)
# SFT ๋ชฉํ‘œ: instruction following + ๋ฐ˜๋ณต ํ‡ดํ™” ์™„ํ™” + ์ƒ์„ฑ ํ’ˆ์งˆ ํ–ฅ์ƒ
# ์•„ํ‚คํ…์ฒ˜: LLaMA-3 3B ์ฐธ๊ณ  (d=3072, 28L, 24H, GQA 8:1)
#
# ์‹คํ–‰: bash scripts/launch_3b_sft.sh
#
# [์„ค๊ณ„ ๊ทผ๊ฑฐ โ€” 2026-03-02]
#   - batch: 2 ร— 8GPU ร— 4 grad_accum = 64 eff_batch
#   - max_steps 33000 โ‰ˆ 3 epochs ร— 700K samples / 64 eff_batch
#   - lr=1e-5: pretrain 1.5e-4์˜ 1/15 (catastrophic forgetting ๋ฐฉ์ง€)
#   - NEFTune alpha=5.0: ์ƒ์„ฑ ๋‹ค์–‘์„ฑ ํ–ฅ์ƒ, ๋ฐ˜๋ณต ํ‡ดํ™” ์™„ํ™”
#   - use_fp8=true: B200 MXFP8 ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐ€์† ์œ ์ง€

model:
  vocab_size: 64000
  d_model: 3072
  n_layers: 28
  n_heads: 24
  n_kv_heads: 8
  d_ffn: 8192
  max_seq_len: 4096
  rope_theta: 500000.0
  dropout: 0.0
  bias: false
  use_flash_attn: true
  use_fp8: true

train:
  max_steps: 33000       # 3 epochs ร— 700K / 64 eff_batch
  batch_size: 2          # per GPU (3B VRAM ์ ˆ์•ฝ)
  grad_accum_steps: 4    # eff_batch: 2 ร— 8GPU ร— 4 = 64
  lr: 1.0e-5             # catastrophic forgetting ๋ฐฉ์ง€
  weight_decay: 0.01
  warmup_steps: 500
  max_grad_norm: 1.0
  log_interval: 10
  save_interval: 2000
  eval_interval: 500
  use_amp: false
  compile_model: false
  neftune_alpha: 5.0     # NEFTune noise injection

tokenizer:
  vocab_size: 64000
  type: sentencepiece_unigram