frankenstallm / source /eval /reports /01_perplexity_report.md
pathcosmos's picture
Upload folder using huggingface_hub (#29)
5b1ff4d

ํ‰๊ฐ€ ๋ณด๊ณ ์„œ #01 โ€” Perplexity ๋ถ„์„

๋ชจ๋ธ: korean_1b_fp8_run1 ์ž‘์„ฑ์ผ: 2026-02-26 ํ‰๊ฐ€ ์œ ํ˜•: Sliding-window Perplexity (์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ํผํ”Œ๋ ‰์‹œํ‹ฐ)


1. ์‹คํ—˜ ์„ค์ •

1.1 ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜

ํ•ญ๋ชฉ ๊ฐ’
ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ 1.19B (์•ฝ 11.9์–ต)
์–ดํœ˜ ํฌ๊ธฐ (vocab_size) 64,000
ํžˆ๋“  ์ฐจ์› (d_model) 2,048
๋ ˆ์ด์–ด ์ˆ˜ (n_layers) 24
์–ดํ…์…˜ ํ—ค๋“œ ์ˆ˜ (n_heads) 16
KV ํ—ค๋“œ ์ˆ˜ (n_kv_heads) 4 (GQA โ€” Grouped Query Attention)
Positional Encoding RoPE (Rotary Position Embedding)
ํ™œ์„ฑํ™” ํ•จ์ˆ˜ SwiGLU

GQA(Grouped Query Attention)๋ฅผ ์ ์šฉํ•˜์—ฌ n_kv_heads=4๋กœ ์„ค์ •ํ•จ์œผ๋กœ์จ KV ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ‘œ์ค€ MHA(Multi-Head Attention) ๋Œ€๋น„ ์•ฝ 75% ์ ˆ๊ฐํ•˜์˜€๋‹ค. d_model=2048, n_layers=24 ๊ตฌ์„ฑ์€ GPT-3 1.3B ๊ณ„์—ด์˜ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์™€ ์œ ์‚ฌํ•˜๋ฉฐ, ํ•œ๊ตญ์–ด ์ „์šฉ ์–ดํœ˜ ํฌ๊ธฐ 64k๋ฅผ ์ฑ„ํƒํ•˜์—ฌ ํ•œ๊ตญ์–ด ํ† ํฌ๋‚˜์ด์ € ํšจ์œจ์„ ๋†’์˜€๋‹ค.

1.2 ํ•™์Šต ์„ค์ •

ํ•ญ๋ชฉ ๊ฐ’
์ด ํ•™์Šต ์Šคํ… 34,000 steps
์‹คํšจ ์—ํฌํฌ ์ˆ˜ ์•ฝ 4 ์—ํฌํฌ (Muennighoff 2023 ๊ธฐ์ค€ ์ตœ์ )
์ด ์ฒ˜๋ฆฌ ํ† ํฐ ~35.6B tokens
GPU 8ร— NVIDIA B200 (192GB VRAM each)
์ˆ˜์น˜ ์ •๋ฐ€๋„ FP8 (MXFP8BlockScaling) + BF16 autocast
ํ•™์Šต๋ฅ  (lr) 2.0e-4
๋ฐฐ์น˜ ํฌ๊ธฐ (์œ ํšจ) 8 GPU ร— 8 samples ร— 4 accum ร— 4096 seq = 1.05M tok/step
์›Œ๋ฐ์—… 2,000 steps
์˜ตํ‹ฐ๋งˆ์ด์ € AdamW
๊ทธ๋ž˜๋””์–ธํŠธ ํด๋ฆฌํ•‘ 1.0

FP8 ํ•™์Šต์€ TransformerEngine 2.10์˜ MXFP8BlockScaling ๋ ˆ์‹œํ”ผ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค. B200์€ FP8 ์—ฐ์‚ฐ์„ ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ์ง€์›ํ•˜๋ฏ€๋กœ, BF16 ๋Œ€๋น„ ์•ฝ 2๋ฐฐ์˜ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ–ฅ์ƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. torch.autocast(dtype=torch.bfloat16)์™€ te.fp8_autocast()๋ฅผ ExitStack์œผ๋กœ ์ค‘์ฒฉํ•˜์—ฌ ์•ˆ์ •์ ์ธ FP8 ํ•™์Šต์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

1.3 ํ‰๊ฐ€ ๋ฐฉ๋ฒ•๋ก 

ํ‰๊ฐ€ ๋ฐฉ๋ฒ•: Sliding-window Perplexity (์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ํผํ”Œ๋ ‰์‹œํ‹ฐ)

  • ์‹œํ€€์Šค ๊ธธ์ด (seq_len): 2,048 tokens
  • ์ŠคํŠธ๋ผ์ด๋“œ (stride): 512 tokens
  • ์ค‘์ฒฉ ๋น„์œจ: 75% (1,536 tokens ์ค‘์ฒฉ, 512 tokens๋งŒ ์œ ํšจ ์˜ˆ์ธก)

์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๋ฐฉ์‹์€ ๊ณ ์ • ์œˆ๋„์šฐ ๋ฐฉ์‹๋ณด๋‹ค ๋” ์ •ํ™•ํ•œ PPL ์ธก์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฌธ์„œ ๊ฒฝ๊ณ„์—์„œ ์ปจํ…์ŠคํŠธ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ฃผ์–ด์ง„ ํ›„์— ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ, ์ดˆ๋ฐ˜ ํ† ํฐ์˜ cold-start ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•œ๋‹ค. stride=512 ์„ค์ •์€ seq_len=2048์˜ 1/4๋กœ, ์ถฉ๋ถ„ํ•œ ์ปจํ…์ŠคํŠธ ์ค‘์ฒฉ์„ ๋ณด์žฅํ•˜๋ฉด์„œ ๊ณ„์‚ฐ ๋น„์šฉ์„ ์ ์ ˆํžˆ ์กฐ์œจํ•œ ๊ฐ’์ด๋‹ค.

1.4 ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ์…‹

๋ฐ์ดํ„ฐ์…‹ ์„ค๋ช…
korean_val 4๊ฐœ ์†Œ์Šค ํ†ตํ•ฉ ๊ฒ€์ฆ ์„ธํŠธ
korean_wiki_val ํ•œ๊ตญ์–ด ์œ„ํ‚ค๋ฐฑ๊ณผ ๊ฒ€์ฆ ์„ธํŠธ
korean_c4_val Korean C4 (Colossal Clean Crawled Corpus) ๊ฒ€์ฆ ์„ธํŠธ
korean_namuwiki_val ๋‚˜๋ฌด์œ„ํ‚ค ๊ฒ€์ฆ ์„ธํŠธ

2. Perplexity ๊ฒฐ๊ณผ

2.1 ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”

Dataset PPL bits/token ํ‰๊ฐ€ ํ† ํฐ ์ˆ˜
korean_val (ํ†ตํ•ฉ) 6.9452 2.7960 53,512,147
korean_wiki_val 11.6595 3.5434 1,567,747
korean_c4_val 5.6698 2.5033 45,445,722
korean_namuwiki_val 25.3436 4.6636 6,488,957
  • PPL (Perplexity): ๋‚ฎ์„์ˆ˜๋ก ๋ชจ๋ธ์ด ํ•ด๋‹น ํ…์ŠคํŠธ๋ฅผ ๋” ์ž˜ ์˜ˆ์ธกํ•จ์„ ์˜๋ฏธ
  • bits/token: log2(PPL) โ€” 1 ํ† ํฐ์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋Ÿ‰(๋น„ํŠธ). ๋‚ฎ์„์ˆ˜๋ก ์ข‹์Œ
  • ํ‰๊ฐ€ ํ† ํฐ ์ˆ˜: ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๋ฐฉ์‹์œผ๋กœ ์œ ํšจํ•˜๊ฒŒ ํ‰๊ฐ€๋œ ์ด ํ† ํฐ ์ˆ˜

2.2 ๋ฐ์ดํ„ฐ์…‹๋ณ„ ํ† ํฐ ๋น„์œจ

korean_c4_val       โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  84.97%  (45,445,722 tokens)
korean_namuwiki_val โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                                12.13%  ( 6,488,957 tokens)
korean_wiki_val     โ–ˆโ–ˆ                                     2.93%  ( 1,567,747 tokens)

ํ†ตํ•ฉ korean_val์˜ PPL์€ C4๊ฐ€ ์ „์ฒด ํ‰๊ฐ€ ํ† ํฐ์˜ ์•ฝ 85%๋ฅผ ์ฐจ์ง€ํ•˜๋ฏ€๋กœ, C4 PPL(5.67)์— ๊ฐ•ํ•˜๊ฒŒ ํŽธํ–ฅ๋œ ๊ฐ€์ค‘ ํ‰๊ท ์œผ๋กœ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.


3. ๋ถ„์„ ๋ฐ ํ•ด์„

3.1 Korean C4 โ€” PPL 5.6698 (๊ฐ€์žฅ ๋‚ฎ์Œ)

C4(Colossal Clean Crawled Corpus)๋Š” Common Crawl์„ ํ’ˆ์งˆ ํ•„ํ„ฐ๋งํ•œ ์ผ๋ฐ˜ ์›น ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์…‹์ด๋‹ค.

๋‚ฎ์€ PPL์˜ ์ฃผ์š” ์›์ธ:

  • ํ•™์Šต ๋ฐ์ดํ„ฐ ๋น„์ค‘: Korean C4๋Š” ํ•™์Šต ์ฝ”ํผ์Šค์—์„œ ๊ฐ€์žฅ ํฐ ๋น„์ค‘์„ ์ฐจ์ง€ํ•œ๋‹ค(์•ฝ 15M tokens ์ด์ƒ). ๋ชจ๋ธ์ด ์ด ๋„๋ฉ”์ธ์˜ ํ…์ŠคํŠธ ๋ถ„ํฌ๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ํ•™์Šตํ•˜์—ฌ ํ‰๊ฐ€ ์„ธํŠธ์™€์˜ ๋ถ„ํฌ ๊ฐ„๊ฒฉ(distribution gap)์ด ์ตœ์†Œํ™”๋œ๋‹ค.
  • ํ…์ŠคํŠธ ํŒจํ„ด์˜ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ: ์ผ๋ฐ˜ ์›น ๋ฌธ์„œ๋Š” ๋‰ด์Šค ๊ธฐ์‚ฌ, ๋ธ”๋กœ๊ทธ, ์ œํ’ˆ ์„ค๋ช… ๋“ฑ ๋น„๊ต์  ์ •ํ˜•ํ™”๋œ ์„œ์ˆ  ํŒจํ„ด์„ ๋”ฐ๋ฅธ๋‹ค. ์–ดํœ˜ ๋‹ค์–‘์„ฑ๋ณด๋‹ค ๋ฐ˜๋ณต์  ํ‘œํ˜„์ด ๋งŽ์•„ ๋‹ค์Œ ํ† ํฐ ์˜ˆ์ธก์ด ์ƒ๋Œ€์ ์œผ๋กœ ์šฉ์ดํ•˜๋‹ค.
  • ํ•„ํ„ฐ๋ง ํ’ˆ์งˆ: C4๋Š” ๊ณต๊ฒฉ์ ์ธ ํ’ˆ์งˆ ํ•„ํ„ฐ๋ง(์–ธ์–ด ๊ฐ์ง€, ์ค‘๋ณต ์ œ๊ฑฐ, ์งง์€ ๋ฌธ์žฅ ์ œ๊ฑฐ ๋“ฑ)์„ ๊ฑฐ์นœ ๊ณ ํ’ˆ์งˆ ๋ฐ์ดํ„ฐ๋‹ค. ๋…ธ์ด์ฆˆ๊ฐ€ ์ ๊ณ  ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ฌธ์žฅ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ ์–ธ์–ด ๋ชจ๋ธ์ด ํ•™์Šตํ•˜๊ธฐ ์ข‹์€ ๋ถ„ํฌ๋ฅผ ํ˜•์„ฑํ•œ๋‹ค.
  • bits/token = 2.50: 1 ํ† ํฐ ์˜ˆ์ธก์— ํ‰๊ท  2.5๋น„ํŠธ์˜ ์ •๋ณด๋Ÿ‰์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๋œป์œผ๋กœ, ๋ชจ๋ธ์ด ์‹ค์งˆ์ ์œผ๋กœ ๋†’์€ ์˜ˆ์ธก ์ •ํ™•๋„๋ฅผ ๋‹ฌ์„ฑํ•˜๊ณ  ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

3.2 Korean Wikipedia โ€” PPL 11.6595

์œ„ํ‚ค๋ฐฑ๊ณผ๋Š” ๋ฐฑ๊ณผ์‚ฌ์ „์  ์„œ์ˆ  ๋ฐฉ์‹์˜ ๊ณ ํ’ˆ์งˆ ํ…์ŠคํŠธ๋‹ค.

์ค‘๊ฐ„ ์ˆ˜์ค€ PPL์˜ ์ฃผ์š” ์›์ธ:

  • ์‚ฌ์‹ค ๊ธฐ๋ฐ˜ ๊ณ ์œ ๋ช…์‚ฌ์˜ ๋ถˆํ™•์‹ค์„ฑ: ์œ„ํ‚ค๋ฐฑ๊ณผ ํ…์ŠคํŠธ์—๋Š” ์ธ๋ฌผ๋ช…, ์ง€๋ช…, ๋‚ ์งœ, ์ˆ˜์น˜, ํ•™์ˆ  ์šฉ์–ด ๋“ฑ ๊ณ ์œ ๋ช…์‚ฌ์™€ ํŠน์ˆ˜ ์ •๋ณด๊ฐ€ ๋ฐ€์ง‘๋˜์–ด ์žˆ๋‹ค. ์ด๋“ค์€ ๋ฌธ๋ฒ•์ ์œผ๋กœ๋Š” ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์œ„์น˜์— ์žˆ๋”๋ผ๋„, ์‹ค์ œ ๊ฐ’์€ ๋‹ค์Œ ํ† ํฐ ์˜ˆ์ธก์ด ์–ด๋ ค์šด high-entropy ์œ„์น˜๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.
    • ์˜ˆ: "์ด ์‚ฌ๊ฑด์€ ___๋…„์— ๋ฐœ์ƒํ•˜์˜€๋‹ค" โ†’ ์—ฐ๋„๋Š” ๋ฌธ๋ฒ•์ ์œผ๋กœ ๋ช…์‚ฌ ์œ„์น˜์ง€๋งŒ ์–ด๋–ค ์ˆซ์ž์ธ์ง€๋Š” ์˜ˆ์ธก์ด ์–ด๋ ค์›€
  • ๋ฌธ์ฒด์˜ ์ด์ค‘์„ฑ: ์œ„ํ‚ค๋ฐฑ๊ณผ๋Š” ๋ฌธ๋ฒ•์ ์œผ๋กœ๋Š” ์ •ํ˜•ํ™”๋œ ๋ฐฑ๊ณผ์‚ฌ์ „ ์„œ์ˆ ์ฒด(์˜ˆ์ธก ์‰ฌ์›€)์ด์ง€๋งŒ, ๊ฐœ๋ณ„ ํŒฉํŠธ(์‚ฌ์‹ค)๋Š” ์ž„์˜์ (์˜ˆ์ธก ์–ด๋ ค์›€)์ด๋‹ค. ์ด ๋‘ ์š”์ธ์ด ์ƒ์‡„๋˜์–ด ์ค‘๊ฐ„ ์ˆ˜์ค€์˜ PPL์„ ๋ณด์ธ๋‹ค.
  • ๋‚ฎ์€ ํ† ํฐ ๋น„์œจ(2.93%): ์œ„ํ‚ค๋ฐฑ๊ณผ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•™์Šต ์ฝ”ํผ์Šค์—์„œ ์ฐจ์ง€ํ•˜๋Š” ๋น„์œจ์ด ์ƒ๋Œ€์ ์œผ๋กœ ์ž‘์•„, ๋„๋ฉ”์ธ ์ ์‘์ด C4 ๋Œ€๋น„ ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • bits/token = 3.54: C4(2.50) ๋Œ€๋น„ ์•ฝ 1๋น„ํŠธ ๋” ํ•„์š”ํ•˜๋ฉฐ, ์ด๋Š” ํŒฉํŠธ ๊ธฐ๋ฐ˜ ํ…์ŠคํŠธ์˜ ๋ณธ์งˆ์  ๋ถˆํ™•์‹ค์„ฑ์„ ๋ฐ˜์˜ํ•œ๋‹ค.

3.3 Korean Namuwiki โ€” PPL 25.3436 (๊ฐ€์žฅ ๋†’์Œ)

๋‚˜๋ฌด์œ„ํ‚ค๋Š” ๋Œ€ํ•œ๋ฏผ๊ตญ์˜ ๋น„๊ณต์‹ ์œ„ํ‚ค ์‚ฌ์ดํŠธ๋กœ, ์ผ๋ฐ˜ ์œ„ํ‚ค๋ฐฑ๊ณผ์™€๋Š” ๋งค์šฐ ๋‹ค๋ฅธ ํ…์ŠคํŠธ ํŠน์„ฑ์„ ๊ฐ€์ง„๋‹ค.

๋†’์€ PPL์˜ ์ฃผ์š” ์›์ธ:

  • ๋น„์ •ํ˜• ํ…์ŠคํŠธ ํฌ๋งท: ๋‚˜๋ฌด์œ„ํ‚ค๋Š” ์ž์ฒด์ ์ธ ๋งˆํฌ์—… ๋ฌธ๋ฒ•, ํ‘œ, ์ ‘๊ธฐ(fold), ์ธ์šฉ๊ตฌ ๋“ฑ ๋น„ํ‘œ์ค€ ์„œ์‹์ด ํ˜ผ์žฌํ•œ๋‹ค. ๋ชจ๋ธ์ด ์ด ํŠน์ˆ˜ํ•œ ํฌ๋งท ํŒจํ„ด์„ ์ถฉ๋ถ„ํžˆ ํ•™์Šตํ•˜์ง€ ๋ชปํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.
  • ๋ฐˆ, ์ธํ„ฐ๋„ท ์šฉ์–ด, ์‹ ์กฐ์–ด: ๋‚˜๋ฌด์œ„ํ‚ค๋Š” ๋””์‹œ์ธ์‚ฌ์ด๋“œ, ํŠธ์œ„ํ„ฐ ๋“ฑ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธํ™”์—์„œ ํŒŒ์ƒ๋œ ๋ฐˆ, ์€์–ด, ์ค„์ž„๋ง์ด ๋Œ€๋Ÿ‰ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์–ธ์–ด๋Š” ํ‘œ์ค€ ํ•œ๊ตญ์–ด ๋ง๋ญ‰์น˜์—์„œ ๋“ฑ์žฅ ๋นˆ๋„๊ฐ€ ๋‚ฎ์•„ ๋ชจ๋ธ์ด ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
  • ํŒฌ ๋ฌธํ™” ๋ฐ ์„œ๋ธŒ์ปฌ์ฒ˜ ์ฝ˜ํ…์ธ : ์• ๋‹ˆ๋ฉ”์ด์…˜, ๊ฒŒ์ž„, ์•„์ด๋Œ ๋“ฑ ๋งค์šฐ ํŠนํ™”๋œ ๋„๋ฉ”์ธ ์ง€์‹์ด ๋งŽ๋‹ค. ๊ณ ์œ ๋ช…์‚ฌ(์บ๋ฆญํ„ฐ๋ช…, ์ž‘ํ’ˆ๋ช… ๋“ฑ)์˜ ๋ฐ€๋„๊ฐ€ ๋†’์•„ next-token prediction ๋‚œ์ด๋„๊ฐ€ ๋†’๋‹ค.
  • ํŠน์ˆ˜๋ฌธ์ž ๋ฐ ํ˜ผํ•ฉ ์–ธ์–ด: ์˜์–ด, ์ผ๋ณธ์–ด, ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ํ•œ๊ตญ์–ด์™€ ํ˜ผ์žฌํ•˜์—ฌ ํ† ํฌ๋‚˜์ด์ € ์ฒ˜๋ฆฌ์™€ ๋ชจ๋ธ ์˜ˆ์ธก ๋ชจ๋‘ ๋ณต์žกํ•ด์ง„๋‹ค.
  • ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ์˜ ์ƒ๋Œ€์  ๋‚ฎ์€ ๋น„์ค‘: ์ „์ฒด ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ ๋‚˜๋ฌด์œ„ํ‚ค์˜ ๋น„์œจ์ด ๋‚ฎ์„ ๊ฒฝ์šฐ, ์ด ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๋„๋ฉ”์ธ ์ ์‘์ด ๋ถ€์กฑํ•˜์—ฌ PPL์ด ๋†’๊ฒŒ ๋‚˜ํƒ€๋‚œ๋‹ค.
  • bits/token = 4.66: 1 ํ† ํฐ ์˜ˆ์ธก์— ํ‰๊ท  4.66๋น„ํŠธ๊ฐ€ ํ•„์š”ํ•˜์—ฌ, ๋ชจ๋ธ ์ž…์žฅ์—์„œ ๋‚˜๋ฌด์œ„ํ‚ค ํ…์ŠคํŠธ๋Š” ์ƒ๋‹นํžˆ ๋ถˆํ™•์‹คํ•œ ๋„๋ฉ”์ธ์ž„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

3.4 Korean Val (ํ†ตํ•ฉ) โ€” PPL 6.9452

ํ†ตํ•ฉ ๊ฒ€์ฆ ์„ธํŠธ์˜ PPL์€ ๊ฐ ์†Œ์Šค ๋ฐ์ดํ„ฐ์…‹์˜ ํ† ํฐ ์ˆ˜ ๊ฐ€์ค‘ ํ‰๊ท ์— ๊ฐ€๊น๊ฒŒ ํ˜•์„ฑ๋œ๋‹ค.

ํ†ตํ•ฉ PPL ๊ณ„์‚ฐ ๊ทผ๊ฑฐ:

์ „์ฒด 53.5M ํ† ํฐ ์ค‘ C4๊ฐ€ 45.4M(84.97%)์„ ์ฐจ์ง€ํ•˜๋ฏ€๋กœ, ํ†ตํ•ฉ PPL์€ C4 PPL(5.67)์— ๊ฐ•ํ•˜๊ฒŒ ํŽธํ–ฅ๋œ๋‹ค. ๋‚˜๋ฌด์œ„ํ‚ค(12.13%, PPL 25.34)์™€ ์œ„ํ‚ค(2.93%, PPL 11.66)์˜ ๊ธฐ์—ฌ๋กœ ํ†ตํ•ฉ PPL์ด C4 PPL๋ณด๋‹ค ๋‹ค์†Œ ๋†’์€ 6.95 ์ˆ˜์ค€์ด ๋œ๋‹ค.

๋กœ๊ทธ ๊ณต๊ฐ„์—์„œ์˜ ๋‹จ์ˆœ ๊ฐ€์ค‘ ํ•ฉ์‚ฐ์œผ๋กœ ์ถ”์ •:

log(PPL_ํ†ตํ•ฉ) โ‰ˆ 0.8497 ร— log(5.67) + 0.1213 ร— log(25.34) + 0.0293 ร— log(11.66)
             โ‰ˆ 0.8497 ร— 1.736 + 0.1213 ร— 3.232 + 0.0293 ร— 2.456
             โ‰ˆ 1.476 + 0.392 + 0.072
             โ‰ˆ 1.940  โ†’  exp(1.940) โ‰ˆ 6.96  (์‹ค์ธก 6.95์™€ ๊ทผ์ ‘)

์ด ๊ณ„์‚ฐ์€ ์‹ค์ธก๊ฐ’ 6.9452์™€ ๋งค์šฐ ์ž˜ ์ผ์น˜ํ•˜๋ฉฐ, ํ‰๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ผ๊ด€์„ฑ์„ ๊ฒ€์ฆํ•œ๋‹ค.


4. 1B ๋ชจ๋ธ ๊ธฐ์ค€ ์ ์ • PPL ๋ฒ”์œ„ ๋น„๊ต

4.1 ์˜์–ด ๊ธฐ์ค€ ๋ ˆํผ๋Ÿฐ์Šค ๋ชจ๋ธ๊ณผ ๋น„๊ต

๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ PPL
GPT-2 (OpenAI) 1.5B WebText (์˜์–ด) ~15โ€“20
OPT-1.3B (Meta) 1.3B WikiText-103 (์˜์–ด) ~14โ€“16
LLaMA-1 1.3B (Meta) 1.3B WikiText-103 (์˜์–ด) ~9.8
์šฐ๋ฆฌ ๋ชจ๋ธ 1.19B Korean Wiki 11.66
์šฐ๋ฆฌ ๋ชจ๋ธ 1.19B Korean C4 5.67
์šฐ๋ฆฌ ๋ชจ๋ธ 1.19B Korean ํ†ตํ•ฉ 6.95

4.2 ํ•ด์„

๊ธ์ •์  ์‹ ํ˜ธ:

  • Korean Wiki PPL=11.66์€ ๋™๊ธ‰ ์˜์–ด ๋ชจ๋ธ(OPT-1.3B ~14โ€“16)๊ณผ ๋น„๊ตํ•ด๋„ ๊ฒฝ์Ÿ๋ ฅ ์žˆ๋Š” ์ˆ˜์ค€์ด๋‹ค. ๋‹จ, ์ด ๋น„๊ต๋Š” ์–ธ์–ด, ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ์…‹, ํ† ํฌ๋‚˜์ด์ €๊ฐ€ ๋ชจ๋‘ ๋‹ค๋ฅด๋ฏ€๋กœ ์ง์ ‘ ๋น„๊ต์—๋Š” ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  • Korean C4 PPL=5.67์€ ๋งค์šฐ ๋‚ฎ์€ ์ˆ˜์น˜๋กœ, ํ•™์Šต ๋ฐ์ดํ„ฐ์™€ ์œ ์‚ฌํ•œ ๋„๋ฉ”์ธ์—์„œ ๋ชจ๋ธ์ด ํšจ๊ณผ์ ์œผ๋กœ ํ•œ๊ตญ์–ด ํŒจํ„ด์„ ํ•™์Šตํ–ˆ์Œ์„ ์‹œ์‚ฌํ•œ๋‹ค.
  • LLaMA-1 1.3B์˜ WikiText PPL ~9.8๊ณผ ๋น„๊ต ์‹œ, ์šฐ๋ฆฌ ๋ชจ๋ธ์˜ Korean Wiki PPL 11.66์€ ํ•ฉ๋ฆฌ์ ์ธ ์ˆ˜์ค€์ด๋‹ค.

์ฃผ์˜์‚ฌํ•ญ โ€” ์ง์ ‘ ๋น„๊ต์˜ ํ•œ๊ณ„:

  • ํ† ํฌ๋‚˜์ด์ € ์ฐจ์ด: ํ•œ๊ตญ์–ด๋Š” ๊ต์ฐฉ์–ด๋กœ, BPE ํ† ํฌ๋‚˜์ด์ €๊ฐ€ ํ•œ๊ตญ์–ด๋ฅผ ์˜์–ด๋ณด๋‹ค ๋” ๋งŽ์€ ํ† ํฐ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค. ๋™์ผํ•œ ํ…์ŠคํŠธ๋ผ๋„ ํ•œ๊ตญ์–ด ๋ชจ๋ธ์˜ PPL์ด ์˜์–ด ๋ชจ๋ธ๋ณด๋‹ค ๋†’๊ฑฐ๋‚˜ ๋‚ฎ๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, bits/char ๋˜๋Š” bits/word ๋‹จ์œ„ ๋น„๊ต๊ฐ€ ๋” ๊ณต์ •ํ•˜๋‹ค.
  • ํ•™์Šต ๋ฐ์ดํ„ฐ ๋ถ„ํฌ: C4 PPL=5.67์ด ํŠนํžˆ ๋‚ฎ์€ ์ด์œ ๋Š” ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•™์Šต ๋ฐ์ดํ„ฐ์™€ **๊ฐ™์€ ์†Œ์Šค(C4)**์—์„œ ์ถ”์ถœ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Š” ๋ชจ๋ธ์˜ ์‹ค์ œ ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ๋ณด๋‹ค ํ•™์Šต-ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ ์ผ์น˜์— ๊ธฐ์ธํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์˜ค์—ผ ์œ„ํ—˜: ์ถฉ๋ถ„ํ•œ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ œ๊ฑฐ(deduplication)๊ฐ€ ์—†๋‹ค๋ฉด, ํ‰๊ฐ€ ์„ธํŠธ๊ฐ€ ํ•™์Šต ์„ธํŠธ์™€ ์ค‘๋ณต๋  ์œ„ํ—˜์ด ์žˆ๋‹ค. ๊ฒฐ๊ณผ ํ•ด์„ ์‹œ ์ด ์ ์„ ์œ ์˜ํ•ด์•ผ ํ•œ๋‹ค.

4.3 PPL ๊ฑด๊ฐ• ์ง„๋‹จ ์š”์•ฝ

๋„๋ฉ”์ธ          PPL     ํŒ์ •
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
C4 (์›น ํ…์ŠคํŠธ)  5.67    ๋งค์šฐ ์–‘ํ˜ธ โ€” ํ•™์Šต ๋„๋ฉ”์ธ๊ณผ ์ผ์น˜
Wiki (๋ฐฑ๊ณผ์‚ฌ์ „) 11.66   ์–‘ํ˜ธ โ€” 1B ๊ทœ๋ชจ ๊ธฐ์ค€ ๊ฒฝ์Ÿ๋ ฅ ์žˆ์Œ
Namuwiki (์ปค๋ฎค๋‹ˆํ‹ฐ) 25.34  ๊ฐœ์„  ํ•„์š” โ€” ๋„๋ฉ”์ธ ์ ์‘ ๋ถ€์กฑ
ํ†ตํ•ฉ            6.95    ์ „๋ฐ˜์ ์œผ๋กœ ๊ฑด๊ฐ•ํ•œ ์ˆ˜์ค€

์ „๋ฐ˜์ ์œผ๋กœ 1B ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทœ๋ชจ์˜ ํ•œ๊ตญ์–ด ๋ชจ๋ธ๋กœ์„œ ๊ฑด๊ฐ•ํ•œ PPL ๋ฒ”์œ„์— ์†ํ•œ๋‹ค๊ณ  ํ‰๊ฐ€ํ•œ๋‹ค.


5. ๊ฐœ์„  ๋ฐฉํ–ฅ

5.1 Namuwiki ๋„๋ฉ”์ธ ์„ฑ๋Šฅ ๊ฐœ์„  (์šฐ์„ ์ˆœ์œ„: ๋†’์Œ)

๋‚˜๋ฌด์œ„ํ‚ค PPL(25.34)์ด ๋‹ค๋ฅธ ๋„๋ฉ”์ธ ๋Œ€๋น„ ์›”๋“ฑํžˆ ๋†’๋‹ค. ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ ‘๊ทผ๋ฒ•:

  • ํ•™์Šต ๋ฐ์ดํ„ฐ ๋น„์ค‘ ์กฐ์ •: ๋‚˜๋ฌด์œ„ํ‚ค ๋ฐ์ดํ„ฐ์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ ๋น„์œจ์„ ๋†’์ธ๋‹ค. ํ˜„์žฌ ๋น„์ค‘์ด ๋‚ฎ์„ ๊ฒฝ์šฐ, ๋‚˜๋ฌด์œ„ํ‚ค ๋„๋ฉ”์ธ ๋ฐ์ดํ„ฐ๋ฅผ 2โ€“3๋ฐฐ ์—…์ƒ˜ํ”Œ๋งํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•œ๋‹ค.
  • ๋„๋ฉ”์ธ ์ ์‘ ํŒŒ์ธํŠœ๋‹ (Domain Adaptive Pretraining, DAPT): ๊ธฐํ•™์Šต๋œ ์ฒดํฌํฌ์ธํŠธ์—์„œ ๋‚˜๋ฌด์œ„ํ‚ค ๋ฐ์ดํ„ฐ๋กœ ์ถ”๊ฐ€ ์‚ฌ์ „ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ „์ฒด ์žฌํ•™์Šต ์—†์ด ํŠน์ • ๋„๋ฉ”์ธ ์„ฑ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ† ํฌ๋‚˜์ด์ € ๊ฐœ์„ : ๋‚˜๋ฌด์œ„ํ‚ค ํŠน์œ ์˜ ์–ดํœ˜(๋ฐˆ, ์€์–ด, ์‹ ์กฐ์–ด)๋ฅผ ์–ดํœ˜ ์‚ฌ์ „์— ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ๋‚˜๋ฌด์œ„ํ‚ค ์ฝ”ํผ์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ํ† ํฌ๋‚˜์ด์ €๋ฅผ ์žฌํ•™์Šตํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ •์ œ: ๋‚˜๋ฌด์œ„ํ‚ค์˜ ๋งˆํฌ์—… ๋ฌธ๋ฒ•์„ ์ „์ฒ˜๋ฆฌ ๋‹จ๊ณ„์—์„œ ๋” ์ฒ ์ €ํžˆ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜, ๋งˆํฌ์—… ํŒจํ„ด์„ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ํŠน์ˆ˜ ํ† ํฐ์„ ๋„์ž…ํ•œ๋‹ค.

5.2 Wiki ๋„๋ฉ”์ธ ์„ฑ๋Šฅ ๊ฐœ์„  (์šฐ์„ ์ˆœ์œ„: ์ค‘๊ฐ„)

Wikipedia PPL(11.66)์€ ์ ์ • ๋ฒ”์œ„์ด์ง€๋งŒ, ์‚ฌ์‹ค ์ง€์‹(factual knowledge) ์„ฑ๋Šฅ ๊ฐœ์„ ์—๋Š” ๊ทผ๋ณธ์  ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.

  • ๋ชจ๋ธ ๊ทœ๋ชจ ํ™•๋Œ€: ์‚ฌ์‹ค ์ง€์‹ ์•”๊ธฐ ๋Šฅ๋ ฅ(memorization capacity)์€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์— ๋น„๋ก€ํ•œ๋‹ค. 1B โ†’ 3B ๋˜๋Š” 7B ๊ทœ๋ชจ๋กœ ํ™•๋Œ€ํ•˜๋ฉด ์œ„ํ‚ค PPL์ด ์œ ์˜๋ฏธํ•˜๊ฒŒ ํ•˜๋ฝํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค.
  • ์œ„ํ‚ค๋ฐฑ๊ณผ ๋ฐ์ดํ„ฐ ์—…์ƒ˜ํ”Œ๋ง: ํ˜„์žฌ ์œ„ํ‚ค๋ฐฑ๊ณผ๊ฐ€ ์ „์ฒด ํ‰๊ฐ€ ํ† ํฐ์˜ 2.93%์— ๋ถˆ๊ณผํ•œ ๊ฒƒ์ฒ˜๋Ÿผ, ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ๋„ ๋น„์ค‘์ด ๋‚ฎ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ์œ„ํ‚ค๋ฐฑ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ 3โ€“5๋ฐฐ ์—…์ƒ˜ํ”Œ๋งํ•˜๋ฉด ๋„๋ฉ”์ธ ์ ์‘์ด ๊ฐœ์„ ๋œ๋‹ค.
  • RAG(Retrieval-Augmented Generation) ์ ‘๊ทผ: ์ˆœ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ธฐ์–ต ์™ธ์— ๊ฒ€์ƒ‰ ๊ธฐ๋ฐ˜ ๋ณด๊ฐ•์„ ํ†ตํ•ด ์‚ฌ์‹ค ์ง€์‹ ํ•œ๊ณ„๋ฅผ ์šฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค (ํŒŒ์ธํŠœ๋‹ ์ดํ›„ ๋‹จ๊ณ„).

5.3 ์ „๋ฐ˜์  ์„ฑ๋Šฅ ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ๋” ๋งŽ์€ ํ† ํฐ ํ•™์Šต: ํ˜„์žฌ 34k steps (~35.6B tokens, 4 ์—ํฌํฌ). Chinchilla ์Šค์ผ€์ผ๋ง ๋ฒ•์น™์— ๋”ฐ๋ฅด๋ฉด 1.19B ๋ชจ๋ธ์˜ ์ตœ์  ํ•™์Šต ํ† ํฐ์€ ์•ฝ 24B์ด์ง€๋งŒ, ๋ฐ์ดํ„ฐ ๋‹ค์–‘์„ฑ๊ณผ ๋„๋ฉ”์ธ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์ฝ”ํผ์Šค ํ™•๋ณด๊ฐ€ ์œ ๋ฆฌํ•˜๋‹ค.
  • Instruction Tuning / RLHF: ์‚ฌ์ „ํ•™์Šต ์™„๋ฃŒ ํ›„ ์ง€์‹œ๋ฌธ ๋”ฐ๋ฅด๊ธฐ(instruction following) ๋ฐ์ดํ„ฐ๋กœ ํŒŒ์ธํŠœ๋‹ํ•˜๋ฉด ์‹ค์ œ ํ™œ์šฉ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋œ๋‹ค.
  • ํ‰๊ฐ€ ๋ฒ”์œ„ ํ™•๋Œ€: PPL ์™ธ์— KoBEST, KLUE ๋“ฑ ํ•œ๊ตญ์–ด ๋‹ค์šด์ŠคํŠธ๋ฆผ ๋ฒค์น˜๋งˆํฌ์—์„œ ์ •์„ฑ์  ํ‰๊ฐ€๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. PPL๊ณผ downstream task ์„ฑ๋Šฅ์ด ํ•ญ์ƒ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๊ฐ–์ง€๋Š” ์•Š์œผ๋ฏ€๋กœ ๋‹ค๊ฐ๋„ ํ‰๊ฐ€๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

6. ๊ฒฐ๋ก 

ํ•ญ๋ชฉ ๋‚ด์šฉ
๋ชจ๋ธ korean_1b_fp8_run1 (1.19B params)
ํ•™์Šต ์™„๋ฃŒ 34,000 steps, 8ร—B200, FP8
ํ†ตํ•ฉ PPL 6.9452 (bits/token: 2.7960)
์ตœ๊ณ  ์„ฑ๋Šฅ ๋„๋ฉ”์ธ Korean C4 โ€” PPL 5.6698
์ตœ์ € ์„ฑ๋Šฅ ๋„๋ฉ”์ธ Korean Namuwiki โ€” PPL 25.3436
์ „๋ฐ˜ ํ‰๊ฐ€ 1B ๊ทœ๋ชจ ํ•œ๊ตญ์–ด ๋ชจ๋ธ๋กœ์„œ ๊ฑด๊ฐ•ํ•œ ์ˆ˜์ค€

์ด๋ฒˆ ํ‰๊ฐ€๋ฅผ ํ†ตํ•ด korean_1b_fp8_run1์€ ํ•™์Šต ๋„๋ฉ”์ธ(C4)์—์„œ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ด๋ฉฐ, ์‚ฌ์‹ค ์ง€์‹์ด ํ’๋ถ€ํ•œ ์œ„ํ‚ค๋ฐฑ๊ณผ ๋„๋ฉ”์ธ์—์„œ๋„ ๊ฒฝ์Ÿ๋ ฅ ์žˆ๋Š” PPL์„ ๋‹ฌ์„ฑํ•˜์˜€์Œ์„ ํ™•์ธํ•˜์˜€๋‹ค. ๋‚˜๋ฌด์œ„ํ‚ค ๋„๋ฉ”์ธ์˜ ๋†’์€ PPL์€ ํ•™์Šต ๋ฐ์ดํ„ฐ ๋น„์ค‘ ๋ถ€์กฑ ๋ฐ ๋„๋ฉ”์ธ ํŠน์ˆ˜์„ฑ์— ๊ธฐ์ธํ•˜๋ฉฐ, ๋„๋ฉ”์ธ ์ ์‘ ์‚ฌ์ „ํ•™์Šต(DAPT)์„ ํ†ตํ•ด ๊ฐœ์„  ๊ฐ€๋Šฅํ•˜๋‹ค. ์ „๋ฐ˜์ ์œผ๋กœ FP8 ํ•™์Šต๊ณผ MXFP8BlockScaling ๋ ˆ์‹œํ”ผ๊ฐ€ 1B ๊ทœ๋ชจ ํ•œ๊ตญ์–ด ๋ชจ๋ธ ํ•™์Šต์— ์„ฑ๊ณต์ ์œผ๋กœ ์ ์šฉ๋˜์—ˆ์Œ์„ ํ™•์ธํ•˜์˜€๋‹ค.


์ด ๋ณด๊ณ ์„œ๋Š” korean_1b_fp8_run1 ์ฒดํฌํฌ์ธํŠธ์˜ Sliding-window Perplexity ํ‰๊ฐ€ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. ํ‰๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ: eval/perplexity.py, ๋ณด๊ณ ์„œ ์ž‘์„ฑ์ผ: 2026-02-26