File size: 2,116 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
49
# Korean LLM 1B parameters โ€” FP8 ๋ณ€ํ˜• (B200 TransformerEngine ๋„ค์ดํ‹ฐ๋ธŒ)
#
# [์ตœ์ ํ™” ๊ทผ๊ฑฐ โ€” 2026-02-25]
#   - ๋ฐ์ดํ„ฐ: korean_train.bin 8.91B tokens
#   - max_steps 34000 = 4 ์—ํฌํฌ (Muennighoff 2023: 4์—ํฌํฌ ์ดˆ๊ณผ ์‹œ val loss ์ƒ์Šน)
#     * ๊ธฐ์กด 200k steps = 23.5 ์—ํฌํฌ โ†’ ์˜ค๋ฒ„ํ”ผํŒ… ์œ„ํ—˜, compute ๋‚ญ๋น„
#   - lr=2e-4: GPT-3 1.3B ๊ธฐ์ค€๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ (๋ณ€๊ฒฝ ์—†์Œ)
#   - eff_batch=1.05M: GPT-3 1.3B ๊ธฐ์ค€๊ณผ ์ผ์น˜ (๋ณ€๊ฒฝ ์—†์Œ)
#   - warmup 2000 = 34k์˜ 5.9% (๊ธฐ์กด 4000 = 11.8%๋กœ ๊ณผ๋„ํ–ˆ์Œ)
#   - save/eval ๊ฐ„๊ฒฉ ๋‹จ์ถ•: 34k steps ๊ธฐ์ค€ ๋” ์ด˜์ด˜ํ•œ ์ฒดํฌํฌ์ธํŠธ ํ•„์š”
#   - compile_model: false (TE 2.10 graph break ์œ„ํ—˜, ์•ˆ์ •์„ฑ ์šฐ์„ )
#
# ์‹คํ–‰: bash scripts/launch_korean_1b.sh
model:
  vocab_size: 64000
  d_model: 2048
  n_layers: 24
  n_heads: 16
  n_kv_heads: 4          # GQA 4:1 (K/V ํŒŒ๋ผ๋ฏธํ„ฐ 75% ์ ˆ๊ฐ)
  d_ffn: 5472            # 16๋ฐฐ์ˆ˜ (FP8 alignment ์ถฉ์กฑ)
  max_seq_len: 4096
  rope_theta: 500000.0
  dropout: 0.0
  bias: false
  use_flash_attn: true
  use_fp8: true          # TransformerEngine MXFP8BlockScaling (B200 ๋„ค์ดํ‹ฐ๋ธŒ)

train:
  # 34k steps ร— 1,048,576 tok/step = 35.6B tokens = 4 ์—ํฌํฌ (8.91B ๋ฐ์ดํ„ฐ ๊ธฐ์ค€)
  max_steps: 34000
  batch_size: 8          # per GPU: 8 ร— 4096 = 32,768 ํ† ํฐ | VRAM 30.8% ์‚ฌ์šฉ (192GB)
  grad_accum_steps: 4    # eff_batch: 8 ร— 8GPU ร— 4 ร— 4096 = 1,048,576 tok/step
  lr: 2.0e-4             # GPT-3 1.3B ๊ธฐ์ค€ ์ตœ์ ๊ฐ’๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜
  weight_decay: 0.1
  warmup_steps: 2000     # 34k steps์˜ 5.9% โ€” ๊ธฐ์กด 4000์€ 11.8%๋กœ ๊ณผ๋„
  max_grad_norm: 1.0
  log_interval: 10
  save_interval: 500     # 34k steps ๊ธฐ์ค€ ~70 ์ฒดํฌํฌ์ธํŠธ (๊ธฐ์กด 1000์€ ๋„ˆ๋ฌด ๋“ฌ์„ฑ)
  eval_interval: 200     # val loss ์กฐ๊ธฐ ์ด์ƒ ๊ฐ์ง€์šฉ
  use_amp: false         # fp8_autocast๊ฐ€ ๋Œ€์ฒด (torch.autocast ๋ถˆํ•„์š”)
  compile_model: false   # TE 2.10 + DDP graph break ์œ„ํ—˜
  fp8_amax_history_len: 16
  fp8_amax_compute_algo: "max"
  fp8_format: "MXFP8"   # B200 Blackwell ๋„ค์ดํ‹ฐ๋ธŒ ๋ธ”๋ก ์Šค์ผ€์ผ๋ง

tokenizer:
  vocab_size: 64000
  type: sentencepiece_unigram