ํ๊ตญ์ด LLM ์ ์ฒด ๋ก๋๋งต & ์์ฌ๊ฒฐ์ ํ๋ ์์ํฌ
์์ฑ์ผ: 2026-02-26
ํ์ฌ ์ํ: SFT 5,000 steps ์๋ฃ (loss 1.9677), 1.19B ํ๋ผ๋ฏธํฐ ๋ชจ๋ธ
๋ชฉํ: ์ค์ฌ์ฉ ๊ฐ๋ฅํ ํ๊ตญ์ด LLM ๋ฐฐํฌ
0. TL;DR โ ์ง๊ธ ๋น์ฅ ํ ์ผ
- SFT ๋ชจ๋ธ ๋น ๋ฅธ ์์ฑ ํ ์คํธ (30๋ถ, ์ค๋): temperature sampling์ผ๋ก ๋ฐ๋ณต ํดํ ํ์ธ
- lm-eval-harness ko_ifeval + ko_winogrande ์คํ (2~4์๊ฐ): ์ซ์ ํ์ธ
- ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ถ๊ธฐ โ ์๋ ์์ฌ๊ฒฐ์ ํธ๋ฆฌ ์ฐธ์กฐ
1. ํ์ฌ ์์น ํ์
1.1 SFT ํ์ต ํํฉ ์์ฝ
| ํญ๋ชฉ | ๊ฐ |
|---|---|
| Steps | 5,000 |
| Final Loss | 1.9677 |
| ํ์ต ์๊ฐ | 0.61h (~37๋ถ) |
| ์ฒ๋ฆฌ ์๋ | ~75,700 tok/s (๋จ์ผ B200) |
| LR (final) | 2.00e-06 (์์ ํ decay๋จ) |
| Gradient Norm | ์์ (1.0~1.4 ๋ฒ์) |
| SFT ๋ฐ์ดํฐ | ์ ์ ์์ (ํ์ธ ํ์) |
์ฃผ๋ชฉ: 5,000 steps๋ ๋งค์ฐ ์ ์ ์์ด๋ค. SFT์์ ๋ณดํต 1~3 ์ํญ์ ๋๋ฆฌ๋๋ฐ, ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ๋ฐ๋ผ steps ์ถฉ๋ถ์ฑ์ด ๊ฒฐ์ ๋๋ค.
1.2 ์ ๊ณ ๋ด ์์น
๋ฒค์น๋งํฌ ๊ธฐ์ค (Open Ko-LLM Leaderboard ์ค์ธก์น ๊ธฐ๋ฐ ์ถ์ )
๋ชจ๋ธ ๊ท๋ชจ ko_ifeval ko_winogrande ๋น๊ณ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
EXAONE-3.0-7.8B-Instruct 7.8B ~55% ~80%+ 8T tokens, SFT+DPO
Llama-3.1-8B-Korean-SFT 8B ~40% ~72% Llama ๊ธฐ๋ฐ ํ๊ตญ์ด ์ ์
SOLAR-10.7B-Instruct 10.7B ~50% ~78% ์
์คํ
์ด์ง
Gemma-2-9B-Korean 9B ~45% ~75% Google ๊ธฐ๋ฐ
โโ ํ์ค์ 1B SFT ๋ฒค์น๋งํฌ (ํ์ฌ ์ฌ๋ก) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
dltjdgh0928/test_instruction ~?B 24.1% 57.1% ๋ฆฌ๋๋ณด๋ ์ค์ธก
lookuss/test-llilu ~?B 22.9% 58.2% ๋ฆฌ๋๋ณด๋ ์ค์ธก
generic 1B SFT (์ถ์ ) 1~2B 20-30% 52-62% ํ์ค์ ๋ฒ์
โโ ์ฐ๋ฆฌ ๋ชจ๋ธ ์์ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
korean_1b_sft (5k steps) 1.19B 15-28%? 50-58%? ํ๊ฐ ์ ์ถ์
ํต์ฌ ๊ฒฉ์ฐจ ๋ถ์
| ๋น๊ต ๋์ | ํ๋ผ๋ฏธํฐ ์ฐจ์ด | ์์ ์ฑ๋ฅ ๊ฒฉ์ฐจ | ์ฃผ์ ์ด์ |
|---|---|---|---|
| EXAONE-3.0-7.8B | 6.6ร | ๋งค์ฐ ํผ | ๊ท๋ชจ + ๋ฐ์ดํฐ + DPO |
| 8B ํ๊ตญ์ด SFT | 6.7ร | ํผ | ๊ท๋ชจ ์ฐจ์ด๊ฐ ์ง๋ฐฐ์ |
| ํ์ฌ 1B SFT | ์ ์ฌ | ์์~์ค๊ฐ | ๋ฐ์ดํฐ/ํ์ต ๋ฐฉ๋ฒ ์ฐจ์ด |
ํ์ค์ ํ๊ฐ: 1B ๋ชจ๋ธ์ 7~10B ๋ชจ๋ธ๊ณผ direct ๊ฒฝ์์ด ๋ถ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฌ๋:
- ์ฃ์ง ๋ฐฐํฌ (๋ก์ปฌ ์๋น, ์ ์ง์ฐ API): 1B๊ฐ ๋ช ํํ ์ฐ์
- ๋ฆฌ์์ค ํจ์จ: 1B๋ ๋จ์ผ GPU, ์ฌ์ง์ด CPU์์๋ ๊ตฌ๋
- ํนํ ๋๋ฉ์ธ: ํ๊ตญ์ด ํนํ fine-tuning์ผ๋ก ํน์ ํ์คํฌ์์ ๋ํ ๋ฒ์ฉ ๋ชจ๋ธ ๊ทผ์ ๊ฐ๋ฅ
1.3 1B ๊ท๋ชจ์ ํ๊ณ์ ๊ฐ๋ฅ์ฑ
ํ์ค์ ํ๊ณ:
- ko_ifeval 30% ์ด๊ณผ ์ด๋ ค์ (instruction following ๋ณต์ก๋)
- ์ํ/์ฝ๋: ์ฌ์ ํ์ต ๋ฐ์ดํฐ ์์ผ๋ฉด ๊ฑฐ์ ๋ถ๊ฐ
- ์ฅ๋ฌธ ๋งฅ๋ฝ ์ดํด: 4K context์์ degradation ์์
- ์ฌ์ค ๊ธฐ์ต: ์ธ๋ฐํ ์ฌ์ค ์ ์ฅ capacity ๋ถ์กฑ
๊ฐ๋ฅํ ๊ฒ:
- ํ๊ตญ์ด ๊ธฐ๋ณธ QA, ์์ฝ, ๋ถ๋ฅ
- ๊ฐ๋จํ ์ง์ ๋ฐ๋ฅด๊ธฐ (1~2๋จ๊ณ)
- ํ๊ตญ์ด ์๋์์ฑ, ๊ต์
- ๋๋ฉ์ธ ํนํ ํ์คํฌ (์ ํ๋ ํ์)
2. ๋จ๊ณ๋ณ ๋ก๋๋งต
Phase 1: SFT ๊ฒ์ฆ (์ง๊ธ โ ~1์ฃผ)
๋ชฉํ
SFT 5,000 steps ๊ฒฐ๊ณผ๊ฐ ์ค์ฌ์ฉ ๊ฐ๋ฅํ ์์ค์ธ์ง ํ์
์ฒดํฌ๋ฆฌ์คํธ
โก 1-1. ์์ฑ ํ์ง ๋น ๋ฅธ ์ ๊ฒ (30๋ถ)
- temperature=0.8, top_p=0.9์ผ๋ก 10๊ฐ ํ๋กฌํํธ ์์ฑ
- ์ฒดํฌ: ๋ฐ๋ณต ํดํ ๋น์จ (๋ชฉํ: < 20%)
- ์ฒดํฌ: ํ๊ตญ์ด ์ด๋ฏธ/์กฐ์ฌ ์ฒ๋ฆฌ ์์ฐ์ค๋ฌ์ด๊ฐ
- ์ฒดํฌ: instruction ๋ฐ๋ฅด๋๊ฐ (base์ ๋น๊ต)
โก 1-2. ๊ณต์ ๋ฒค์น๋งํฌ (2~4์๊ฐ)
- lm-evaluation-harness ์ค์น ๋ฐ ko_ifeval ์คํ
- lm-evaluation-harness ko_winogrande ์คํ
- ์ ํ: ko_gsm8k (์ํ ๋ฐ์ดํฐ ์์ผ๋ฉด skip ๊ฐ๋ฅ)
โก 1-3. SFT ๋ฐ์ดํฐ ํ์ง ์ ๊ฒ
- SFT ํ์ต์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ์
ํ์ธ
- ๋ฐ์ดํฐ ์ (๋ช ๊ฐ ์ํ์ธ๊ฐ?)
- 5,000 steps ร batch_size = ์ด ํ ํฐ ์ ์ฐ์ถ
- ์ํญ ์ ๊ณ์ฐ: epoch 2์ ์ง์
ํ์ผ๋ฏ๋ก ์ต์ 1 ์ํญ ์๋ฃ ํ์ธ๋จ
โก 1-4. Base vs SFT ๋น๊ต
- ๋์ผ ํ๋กฌํํธ์ base (pretrained)์ SFT ๊ฒฐ๊ณผ ๋น๊ต
- SFT๊ฐ instruction following ๋ฅ๋ ฅ์ ๋ถ์ฌํ๋๊ฐ?
Pass/Fail ๊ธฐ์ค (์์นํ)
| ์งํ | Pass โ | ๊ฒฝ๊ณ์ โ ๏ธ | Fail โ |
|---|---|---|---|
| ko_ifeval (prompt strict) | > 25% | 15~25% | < 15% |
| ko_winogrande | > 53% | 50~53% | < 50% |
| ๋ฐ๋ณต ํดํ์จ (greedy) | < 20% | 20~40% | > 40% |
| temperature ์ํ๋ง ํ์ง | ์์ฐ์ค๋ฌ์ | ์ด์ํจ | ๋ฌด์๋ฏธ |
| Base ๋๋น SFT ๊ฐ์ | ๋ช ํํ instruction ๋ฐ๋ฅด๊ธฐ | ๋ฏธ๋ฏธํ ๊ฐ์ | ๊ฐ์ ์์/์ ํ |
์ฐธ๊ณ : ko_winogrande 50%๋ random (binary choice) ์์ค. ์ค์ง์ ์๋ฏธ ์์ผ๋ ค๋ฉด 53%+.
์คํจ ์ ๋์
- ko_ifeval < 15% + ๋ฐ๋ณต > 40%: SFT ๋ฐ์ดํฐ ๋ฌธ์ ๋๋ steps ๋ถ์กฑ โ Phase 2A
- Base ๋๋น ๊ฐ์ ์์: SFT ๋ฐ์ดํฐ ํ์/ํ์ง ์ ๊ฒ, ํ์ต๋ฅ ์ฌ๊ฒํ
- ๋ชจ๋ ์งํ Fail: ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ๋ถํฐ ์ฌ๊ฒํ
Phase 2A: SFT ๊ฐ์ (์ ํ์ , Phase 1 ๊ฒฐ๊ณผ ๊ธฐ์ค)
์ธ์ ์ง์ ํ๋๊ฐ?
Phase 2A ์ง์
์กฐ๊ฑด:
โโโ ko_ifeval < 25% AND ๋ฐ๋ณต > 20% โ ์ฆ์ ์ง์
โโโ ko_ifeval 25-30% AND ๋ฐ๋ณต 20-30% โ ๋ฐ์ดํฐ ๋ณด๊ฐ ํ ์ง์
โโโ ko_ifeval > 30% AND ๋ฐ๋ณต < 15% โ Phase 2B ๋๋ 4๋ก ๋ฐ๋ก
์ต์ ๋ณ ๋ถ์
์ต์ A: Steps ์ฆ๊ฐ (5k โ 10k~20k)
- ์ธ์ : ๋ฐ์ดํฐ๋ ์ถฉ๋ถํ๊ณ ์์ง ์๋ ดํ์ง ์์ ๊ฒฝ์ฐ
- ํ์ธ ๋ฐฉ๋ฒ: Loss ๊ณก์ ์ด ์์ง ํ๊ฐ ์ค์ธ๊ฐ? (5,000 steps์์ 1.97 โ ์๋ ด ๊ทผ์ )
- ์์ ํจ๊ณผ: ์ํญ ๊ฐ์ (loss 1.97 โ 1.80 ๋ชฉํ, ko_ifeval +3~7%p ์์)
- ๋น์ฉ: B200 1๊ฐ ๊ธฐ์ค 1.5~3์๊ฐ ์ถ๊ฐ
- ์ฃผ์: ์ด๋ฏธ epoch 2์ ์ง์ โ ๊ณผ์ ํฉ ์ํ ์์
์ต์ B: ๋ ์ข์ ๋ฐ์ดํฐ
- ์ธ์ : ํ์ฌ SFT ๋ฐ์ดํฐ๊ฐ ๋ถ์กฑํ๊ฑฐ๋ ํ์ง์ด ๋ฎ์ ๋ (๊ฐ์ฅ ํํ ์ด์ )
- ์ถ์ฒ ๋ฐ์ดํฐ์
:
beomi/KoAlpaca-v1.1aโ 21K ํ๊ตญ์ด instructionHAERAE-HUB/KMMLUโ ํ๊ตญ์ด ์ง์ QAnayohan/llama3-baseline-ko-datasetโ ๋ค์ํ instructionsquarelike/sharegpt_deepl_ko_ko-enโ ShareGPT ํ๊ตญ์ด- ํฉ์ฐ ๋ชฉํ: 50K~200K ๊ณ ํ์ง ์ํ
- ์์ ํจ๊ณผ: ๋ฐ์ดํฐ ํ์ง ๊ฐ์ ์ด steps 2๋ฐฐ๋ณด๋ค ํจ๊ณผ์ (๊ฒฝํ์ ๋ฒ์น)
- ๋น์ฉ: ๋ฐ์ดํฐ ์ ์ 1
2์ผ, ํ์ต ์ถ๊ฐ 26์๊ฐ
์ต์ C: ORPO (Odds Ratio Preference Optimization)
- ์ธ์ : SFT baseline ํ๋ณด ํ preference ์ ๋ ฌ์ด ํ์ํ ๋
- ์ฅ์ : reference model ๋ถํ์ โ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ, ํ์ต ๋จ์ํ
- ํ๊ตญ์ด ๋ฐ์ดํฐ:
kuotient/orca-math-korean-preference(193K),heegyu/orca-math-korean-preference-cleaned(192K) ์กด์ฌ - ์์ ํจ๊ณผ: ๋ฐ๋ณต ํดํ -10
20%p, instruction following +510%p - ๋น์ฉ: ๋ฐ์ดํฐ ์ค๋น 1์ผ, ํ์ต 3~6์๊ฐ
์ต์ D: DPO (Direct Preference Optimization)
- ์ธ์ : ORPO๋ณด๋ค ๋ ๊ฐํ ์ ๋ ฌ์ด ํ์ํ ๋, ๋๋ SFT๊ฐ ์ด๋ ์ ๋ ์ ๋์ ๋
- ์ฅ์ : RLHF์ ์ ์ฌํ ํจ๊ณผ, PPO๋ณด๋ค ์์ ์
- ๋จ์ : reference model ํ์ (๋ฉ๋ชจ๋ฆฌ 2ร)
- B200์์ ๊ฐ๋ฅ์ฑ: 1.19B ร 2 = ~2.4B params โ ๋จ์ผ B200 183GB์์ ์ถฉ๋ถ
- ๋น์ฉ: ํ์ต 4~8์๊ฐ
๊ถ์ฅ ์์
๋ฐ์ดํฐ ์ ๊ฒ โ ๋ฐ์ดํฐ ๋ณด๊ฐ (์ต์
B) โ Steps ์ถ๊ฐ (์ต์
A) โ ORPO (์ต์
C)
Phase 2B: ์ค์ผ์ผ์ โ 3B ๋ชจ๋ธ
๋ฐ์ดํฐ ์ถฉ๋ถ์ฑ ๋ถ์
| ๊ธฐ์ค | ํ์ ํ ํฐ | ํ์ฌ ๋ณด์ | ํ์ |
|---|---|---|---|
| Chinchilla ์ต์ (20ร) | 3B ร 20 = 60B | ~150B | โ ์ถฉ๋ถ |
| Chinchilla ์ต์ (70ร) | 3B ร 70 = 210B | ~150B | โ ๏ธ 71% ์์ค |
| Llama ๋ฐฉ์ (๊ณ ํ์ง ์ง์ค) | 3B ร 100 = 300B | ~150B | โ ๋ถ์กฑ |
๊ฒฐ๋ก : ์ง๊ธ ๋ฐ์ดํฐ๋ก 3B ํ์ต ๊ฐ๋ฅ. ๋จ, optimal์ ์๋. ๊ณ ํ์ง ๋ฐ์ดํฐ๋ฅผ 50B ์ถ๊ฐ ์์งํ๋ฉด optimal ๊ทผ์ .
์์ ํ์ต ์๊ฐ (8ร B200 ๊ธฐ์ค)
3B ๋ชจ๋ธ ์ค์ ์ถ์ :
- ์ฒ๋ฆฌ ์๋: ~2.5~3M tok/s (8ร B200, 1.19B ๊ธฐ์ค 2.64M)
โ 3B ๋ชจ๋ธ์ ์๋ ~40% ๊ฐ์ ์์ (๋ฉ๋ชจ๋ฆฌ/์ฐ์ฐ ์ฆ๊ฐ)
โ ์คํจ ์๋: ~1.6M tok/s (์ถ์ )
60B tokens (์ต์): 60B / 1.6M = 37,500์ด โ 10.4์๊ฐ
150B tokens (ํ์ฌ ๋ณด์ ์ ๋): 150B / 1.6M = 93,750์ด โ 26์๊ฐ
210B tokens (optimal): 210B / 1.6M = 131,250์ด โ 36.5์๊ฐ
โ ํ์ค์ ํ์ต ๊ธฐ๊ฐ: 1~2์ผ (8ร B200)
3B ํ์ต ์ค๋น์ฌํญ
โก ๋ชจ๋ธ ์ํคํ
์ฒ ์ค์ ๋ณ๊ฒฝ:
- d_model: 2048 โ 2560 (๋๋ 3072)
- n_layers: 24 โ 32
- n_heads: 16 โ 32
- n_kv_heads (GQA): 4 โ 8
- d_ffn: 5472 โ ~8192
โ ์์ ํ๋ผ๋ฏธํฐ: ~3B
โก ๋ฐ์ดํฐ ์ค๋น:
- cc100 ko ์ฌ๋ค์ด๋ก๋ (๋ฒ๊ทธ ์์ ํ)
- CulturaX 24.8B ํ์ฉ
- ์ด 150B+ ํ ํฐ ํ๊ตญ์ด ๋ฐ์ดํฐ ๋ณํฉ
โก configs/korean_3b_fp8.yaml ์์ฑ
โก ์ฒดํฌํฌ์ธํธ ์ ์ฅ ์ ๋ต: ๋งค 5,000 steps
โก FP8 ์ค์ ์ ์ง (B200 ์ต์ ํ)
1B SFT ๊ฒฐ๊ณผ์ 3B ์งํ ์ฌ๋ถ ์ํฅ
1B SFT ๊ฒฐ๊ณผ โ 3B ์งํ ์ฌ๋ถ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ko_ifeval > 30% โ ๊ฐ๋ ฅํ ์ถ์ฒ: 1B๊ฐ ์ด๋ฏธ ์ข์, 3B๋ ํ์คํ ๋ ์ข์ ๊ฒ
ko_ifeval 20-30% โ ์กฐ๊ฑด๋ถ ์ถ์ฒ: ๋ฐ์ดํฐ/๋ฐฉ๋ฒ๋ก ํ์ธ ํ 3B
ko_ifeval < 20% โ 3B ์ ์ ์์ธ ๋ถ์ ํ์: ๊ฐ์ ๋ฌธ์ ๊ฐ 3B์๋ ์ฌํ๋จ
๋ฐ๋ณต ํดํ > 40% โ ์ฌ์ ํ์ต ๋ฐ์ดํฐ ๋ฌธ์ ์์ฌ: 3B๋ ๋์ผ ๋ฌธ์ ๊ฐ๋ฅ
SFT ๊ฐ์ ์์ โ SFT ํ์ดํ๋ผ์ธ ์์ ํ 3B
Phase 3: RLHF / Preference Optimization (์ ํ์ )
์ธ์ ํ์ํ๊ฐ?
| ์๋๋ฆฌ์ค | ํ์์ฑ |
|---|---|
| ์๋น์ค ๋ฐฐํฌ (์ฌ์ฉ์ ๋๋ฉด) | ๊ฐ๋ ฅํ ํ์ โ safety, coherence |
| ๋ฆฌ๋๋ณด๋ ์ ์ ๊ทน๋ํ | ํ์ โ DPO/ORPO๋ก +5~15%p |
| ๋ด๋ถ ์ฐ๊ตฌ/์คํ | ๋ถํ์ |
| RAG ์์คํ ๋ฐฑ์๋ | ๋ถํ์ |
ORPO vs DPO vs PPO ๋น๊ต
| ๋ฐฉ๋ฒ | ์ธ์ | ๋ฉ๋ชจ๋ฆฌ | ๋ณต์ก๋ | ํ๊ตญ์ด ๋ฐ์ดํฐ |
|---|---|---|---|---|
| ORPO | SFT์ ๋์, ๋น ๋ฅธ ์ ๋ ฌ | 1ร (ref ์์) | ๋ฎ์ | 193K+ ์กด์ฌ |
| DPO | SFT ์ดํ, ์์ ์ ์ ๋ ฌ | 2ร (ref ํ์) | ์ค๊ฐ | 193K+ ์กด์ฌ |
| SimPO | ref ์์ด DPO ํจ๊ณผ | 1ร | ์ค๊ฐ | ๋ฒ์ฉ ์ ์ฉ |
| PPO | RLHF ์์ ๊ตฌํ | 3~4ร | ๋์ | reward model ํ์ |
B200 ํ๊ฒฝ์์ ์ถ์ฒ: ORPO ๋๋ SimPO (reference model ์์, ๋ฉ๋ชจ๋ฆฌ ํจ์จ)
ํ๊ตญ์ด Preference ๋ฐ์ดํฐ ํํฉ (HuggingFace)
kuotient/orca-math-korean-preference 193K ์ํ ์ํ ์ค์ฌ
heegyu/orca-math-korean-preference-cleaned 192K ์ํ (์ ์ ๋ณธ)
lemon-mint/korean-realqa-reasoning-v01-preference 7.7K ์ถ๋ก
ChuGyouk/argilla-distilabel-math-preference-dpo-korean 2.4K ์๊ท๋ชจ
โ ์ํ ํนํ ๋ฐ์ดํฐ๊ฐ ๋ง์. ์ผ๋ฐ ํ๊ตญ์ด preference๋ ๋ถ์กฑ.
โ ์ผ๋ฐ preference๋ ์์ฒด ์์ฑ ๋๋ ๋ฒ์ญ์ผ๋ก ๋ณด๊ฐ ํ์.
๋ฐฉ๋ฒ: GPT-4/Claude๋ก chosen/rejected ์ ์์ฑ (Self-Play)
Phase 4: ๋ฐฐํฌ
์๋น ์ต์ ๋น๊ต
| ์ต์ | ํน์ง | B200 ์ ํฉ์ฑ | ์ถ์ฒ ์ํฉ |
|---|---|---|---|
| vLLM | PagedAttention, ๊ณ ์ฒ๋ฆฌ๋ | โ ์ต์ฐ์ | API ์๋ฒ, ๋ฐฐ์น ์ถ๋ก |
| TGI (Text Generation Inference) | HF ๊ณต์, ์์ ์ | โ ์ฐ์ | HF Hub ์ฐ๋ |
| llama.cpp + GGUF | CPU/์ ์ฌ์ ๊ฐ๋ฅ | โ ๏ธ B200์์ ๊ณผ์ | ์ฃ์ง ๋ฐฐํฌ, Ollama |
| Ollama | ๋ก์ปฌ ๋ฐฐํฌ ํธ์์ฑ | โ ๏ธ | ๊ฐ์ธ ์ฌ์ฉ, ๋ฐ๋ชจ |
B200 ๊ธฐ์ค vLLM ์์ throughput (1.19B ๋ชจ๋ธ):
1.19B ๋ชจ๋ธ (BF16):
- ๋ฉ๋ชจ๋ฆฌ: ~2.4GB (ํ๋ผ๋ฏธํฐ) + KV cache
- ๋จ์ผ B200 183GB: KV cache ๊ทน๋ํ ๊ฐ๋ฅ
- ์์ throughput: 5,000~15,000 tokens/s (๋ฐฐ์น ์ฒ๋ฆฌ)
- ๋จ์ผ ์คํธ๋ฆฌ๋ฐ: 200~500 tokens/s (์ฌ์ฉ์ ์ฒด๊ฐ)
โ ๋์ ์ฌ์ฉ์ 100~500๋ช
์ง์ ๊ฐ๋ฅ (๋จ์ผ GPU)
์์ํ ์ต์ (B200 ํ๊ฒฝ)
| ํฌ๋งท | ์ ๋ฐ๋ ์์ค | ํฌ๊ธฐ | B200 ์ ํฉ์ฑ | ์ถ์ฒ |
|---|---|---|---|---|
| FP8 (Native) | ์์ | 1.2GB | โ ์ต์ฐ์ (HW ์ง์) | ์ต์ฐ์ |
| BF16 | ์์ | 2.4GB | โ ๊ธฐ๋ณธ | ๊ธฐ์ค์ |
| AWQ (W4A16) | ๋งค์ฐ ์ ์ | 0.6GB | โ ์ฐ์ | ์ฃ์ง/์ ๋ฉ๋ชจ๋ฆฌ |
| GPTQ (W4) | ์ ์ | 0.6GB | โ ์ฐ์ | CPU ์คํ๋ก๋ |
| GGUF Q4_K_M | ์ ์ | ~0.7GB | โ ๏ธ (CPU์ฉ) | Ollama ๋ฐฐํฌ์ฉ |
B200 ๊ถ์ฅ: FP8 โ AWQ ์์๋ก ๊ณ ๋ ค. B200์ FP8 ํ๋์จ์ด ์ง์์ผ๋ก ์์ํ ์์ด ์ด๋ฏธ ํจ์จ์ .
HuggingFace Hub ์ ๋ก๋
ํ์ ์์
:
โก HF ํฌ๋งท ๋ณํ: config.json, model.safetensors, tokenizer_config.json
โก model card ์์ฑ (ํ๊ตญ์ด ์ค๋ช
, ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ, ์ฌ์ฉ๋ฒ)
โก ๋ผ์ด์ ์ค ์ค์ (Apache 2.0 ๊ถ์ฅ)
โก eval ๊ฒฐ๊ณผ ํฌํจ
โก Open Ko-LLM Leaderboard ์ ์ถ (ํ๊ฐ ์์ฒญ)
3. ์์ฌ๊ฒฐ์ ํธ๋ฆฌ (์์น ๊ธฐ๋ฐ)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[Phase 1: SFT ํ๊ฐ ๊ฒฐ๊ณผ]
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโ ko_ifeval > 30% AND ๋ฐ๋ณต์จ < 15%
โ โโโ ๋ฐ์ดํฐ 150B ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅ? โ Phase 2B (3B ์ฌ์ ํ์ต)
โ โโโ ์ง๊ธ ๋น์ฅ ๋ฐฐํฌ๊ฐ ๋ชฉํ? โ Phase 4 (vLLM ์๋น + HF ์
๋ก๋)
โ
โโโ ko_ifeval 20~30% AND ๋ฐ๋ณต์จ 15~30%
โ โโโ SFT ๋ฐ์ดํฐ๊ฐ < 10K ์ํ? โ Phase 2A-B (๋ฐ์ดํฐ ๋ณด๊ฐ ์ต์ฐ์ )
โ โโโ SFT ๋ฐ์ดํฐ๊ฐ 10~50K ์ํ? โ Phase 2A-A (steps ์ถ๊ฐ) + 2A-C (ORPO)
โ โโโ SFT ๋ฐ์ดํฐ๊ฐ > 50K ์ํ? โ Phase 2A-A (steps ์ถ๊ฐ) OR 2B (3B)
โ
โโโ ko_ifeval 10~20% AND ๋ฐ๋ณต์จ 30~50%
โ โโโ base ๋ชจ๋ธ๊ณผ SFT ์ฐจ์ด ์์? โ SFT ํ์ดํ๋ผ์ธ ๋ฒ๊ทธ ์ ๊ฒ
โ โโโ SFT ๋ฐ์ดํฐ ํ์ง ์์ฌ? โ ๋ฐ์ดํฐ ์ ์ ์ ๊ฒ ํ Phase 2A-B
โ โโโ base PPL์ด ๋์ (> 15)? โ ์ฌ์ ํ์ต ๋ ํ์ (๋ฐ์ดํฐ ์ถ๊ฐ)
โ
โโโ ko_ifeval < 10% OR ๋ฐ๋ณต์จ > 50%
โโโ base ๋ชจ๋ธ ์์ฒด๊ฐ ์ด๋ฏธ ๋ฐ๋ณต > 30%? โ ์ฌ์ ํ์ต ๋ฐ์ดํฐ ํ์ง ๋ฌธ์
โ โโโ โ cc100 ๋
ธ์ด์ฆ ํํฐ๋ง ํ ์ถ๊ฐ ์ฌ์ ํ์ต
โโโ SFT loss๊ฐ ๋ฐ์ฐํ๋๊ฐ? โ ํ์ต๋ฅ /optimizer ์ค์ ์ฌ๊ฒํ
โโโ ๋ชจ๋ ์์ฑ์ด ๋ฌด์๋ฏธ? โ ์ฒดํฌํฌ์ธํธ ์์ ํ์ธ, ์ด์ ์ฒดํฌํฌ์ธํธ ๋ณต์
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[Phase 2A ๋ด๋ถ ์์ฌ๊ฒฐ์ ]
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Phase 2A ์ง์
ํ:
โโโ ํ์ฌ SFT ๋ฐ์ดํฐ < 20K ์ํ?
โ โโโ โ ๋ฐ์ดํฐ ๋ณด๊ฐ์ด steps ์ถ๊ฐ๋ณด๋ค ํจ๊ณผ์ (์ต์ฐ์ )
โ ๋ฐ์ดํฐ: beomi/KoAlpaca, squarelike/sharegpt_ko, nayohan/llama3-ko
โ
โโโ loss curve๊ฐ ์์ง ํ๊ฐ ์ค (step 4000~5000 ์ฐจ์ด > 0.05)?
โ โโโ โ steps 2๋ฐฐ ์ถ๊ฐ ์๋ (10k๊น์ง)
โ
โโโ ๋ฐ๋ณต์จ > 30% (์ฃผ์ ๋ฌธ์ )?
โ โโโ โ ORPO ๋๋ repetition penalty ์ ์ฉ ๋จผ์
โ ORPO ๋ฐ์ดํฐ: kuotient/orca-math-korean-preference (193K)
โ
โโโ ko_ifeval < 20% + ๋ฐ์ดํฐ ๋ณด๊ฐ ํ์๋ ๊ฐ์ ์์?
โโโ โ 3B ์ฌ์ ํ์ต์ผ๋ก ์ ํ (1B SFT ํ๊ณ ๋๋ฌ ๊ฐ๋ฅ์ฑ)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[Phase 2B ๋ด๋ถ ์์ฌ๊ฒฐ์ ]
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3B ์ฌ์ ํ์ต ์งํ ๊ฒฐ์ ์:
โโโ ํ์ฌ 150B ํ ํฐ์ด ํ๊ตญ์ด ๋จ์ผ ์ธ์ด?
โ โโโ โ ์์ด ๋ฐ์ดํฐ 10~30% ํผํฉ ๊ถ์ฅ (cross-lingual transfer)
โ ์์ด ์ํ/์ฝ๋ ํฌํจํ๋ฉด ko_gsm8k ๋ฑ ์ถ๊ฐ ๊ฐ์ ๊ฐ๋ฅ
โ
โโโ cc100 ko ๋ฐ์ดํฐ ์์ง ์๋ฃ?
โ โโโ No โ CulturaX 24.8B๋ง์ผ๋ก ์์ ๊ฐ๋ฅ (60B ๋ชฉํ ๋ฌ์ฑ ๊ฐ๋ฅ)
โ
โโโ 3B ํ์ต ์ค ์ค๊ฐ checkpoint์์ SFT ํ
์คํธ?
โโโ โ 1B๋ณด๋ค 3B base๊ฐ SFT ๋ฐ์์ฑ์ด ๋์ผ๋ฉด 3B SFT๋ก ๋ฐ๋ก ์งํ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[Phase 4 ๋ฐฐํฌ ์์ฌ๊ฒฐ์ ]
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๋ฐฐํฌ ๋ฐฉ์ ์ ํ:
โโโ ์ฐ๊ตฌ/๋ฐ๋ชจ ๋ชฉ์ ?
โ โโโ โ HF Hub ์
๋ก๋ + Gradio Space ์์ฑ (๋ฌด๋ฃ)
โ
โโโ ๋ด๋ถ API ์๋น?
โ โโโ โ vLLM (FP8 native) + OpenAI ํธํ ์๋ํฌ์ธํธ
โ ์ปค๋งจ๋: vllm serve ./checkpoints/korean_1b_sft --dtype fp8
โ
โโโ ๊ฐ์ธ/ํ ๋ก์ปฌ ์ฌ์ฉ?
โ โโโ โ GGUF Q4_K_M ๋ณํ + Ollama (์ด๋ฏธ Modelfile ์กด์ฌ)
โ
โโโ Open Ko-LLM ๋ฆฌ๋๋ณด๋ ๋ฑ์ฌ?
โโโ โ HF Hub ์
๋ก๋ ํ์ โ ๋ฆฌ๋๋ณด๋ ์ ์ถ ์์ ์์ฑ
4. ์ถ๊ฐ ํ์ฅ Job ํ๋ณด๊ตฐ (์ฐ์ ์์ ์)
์ฆ์ ๊ฐ๋ฅ (์ง๊ธ ์๋ฒ์์ ๋ฐ๋ก, ์ถ๊ฐ ๋ฐ์ดํฐ ๋ถํ์)
| ์ฐ์ ์์ | Job | ์์ ์๊ฐ | ๊ธฐ๋ ํจ๊ณผ |
|---|---|---|---|
| โญโญโญ | SFT ๋ชจ๋ธ ์์ฑ ํ ์คํธ (temperature sampling) | 30๋ถ | ๋ฐ๋ณต์จ ํํฉ ํ์ |
| โญโญโญ | lm-eval-harness ์ค์น + ko_ifeval ์คํ | 2~4์๊ฐ | ๊ณต์ ๋ฒค์น๋งํฌ ์์น |
| โญโญโญ | ko_winogrande ์คํ | 1~2์๊ฐ | ์ธ์ด ์ดํด ์์น |
| โญโญ | Base vs SFT ๋น๊ต ์์ฑ (๋์ผ ํ๋กฌํํธ) | 1์๊ฐ | SFT ํจ๊ณผ ์ธก์ |
| โญโญ | SFT ํ์ต ์์ค ๊ณก์ ๋ถ์ (tensorboard) | 30๋ถ | ์๋ ด ์ฌ๋ถ ํ๋จ |
| โญโญ | ๋ฐ๋ณต ํดํ ์ ๋ ์ธก์ (repetition_penalty ํจ๊ณผ) | 1์๊ฐ | ๋ฐฐํฌ ๊ฐ๋ฅ์ฑ ํ๋จ |
| โญ | vLLM ์๋น ํ ์คํธ (FP8) | 1~2์๊ฐ | throughput ์ธก์ |
| โญ | HF ํฌ๋งท ๋ณํ (config.json, safetensors) | 2~3์๊ฐ | HF Hub ์ ๋ก๋ ์ค๋น |
๋ฐ์ดํฐ ์ค๋น ํ์
| ์ฐ์ ์์ | Job | ์ค๋น ์๊ฐ | ๊ธฐ๋ ํจ๊ณผ |
|---|---|---|---|
| โญโญโญ | SFT ๋ฐ์ดํฐ ๋ณด๊ฐ (KoAlpaca + ShareGPT-ko 50K~) | 1~2์ผ | ko_ifeval +5~15%p |
| โญโญโญ | cc100 ์ฌ์์ง (๋ฒ๊ทธ ์์ ํ) | 0.5~1์ผ | 150B+ ํ ํฐ ํ๋ณด |
| โญโญ | ORPO ๋ฐ์ดํฐ ์ค๋น (orca-math-korean 193K) | 0.5์ผ | ๋ฐ๋ณต ํดํ -20%p |
| โญโญ | 3B ์ฌ์ ํ์ต ๋ฐ์ดํฐ ๋ณํฉ (150B ํ ํฐ ํตํฉ) | 1~2์ผ | 3B ํ์ต ์ค๋น |
| โญ | ์ผ๋ฐ ํ๊ตญ์ด preference ๋ฐ์ดํฐ ์์ฑ (GPT-4 ํ์ฉ) | 3~7์ผ | ๋ฒ์ฉ ORPO/DPO |
| โญ | ์์ด/์ฝ๋ ๋ฐ์ดํฐ ์ถ๊ฐ (10~30% ํผํฉ) | 1~3์ผ | ์ํ/์ฝ๋ ๊ฐ์ |
์ธ๋ถ ๋ฆฌ์์ค ํ์
| ์ฐ์ ์์ | Job | ํ์ ๋ฆฌ์์ค | ๊ธฐ๋ ํจ๊ณผ |
|---|---|---|---|
| โญโญ | HuggingFace Hub ๊ณ์ ์ ๋ก๋ | HF ๊ณ์ , ์ธํฐ๋ท | ๋ฆฌ๋๋ณด๋ ์ ์ถ ๊ฐ๋ฅ |
| โญโญ | Open Ko-LLM Leaderboard ์ ์ถ | HF ๊ณ์ | ๊ณต์ ์์ ํ์ธ |
| โญ | KoMT-Bench / LogicKor ํ๊ฐ | ์ธ๋ถ API ๋๋ ์คํฌ๋ฆฝํธ | ์ง์ ํ๊ฐ |
| โญ | VRAM ์ฆ์ค ๋๋ Multi-GPU SFT | ํ์ฌ 12GB โ ๊ฐ๋ฅ ๋ ํ์? | ๋ ํฐ ๋ฐฐ์น |
5. ๋ฆฌ์คํฌ ๋ถ์
5.1 ํ์ฌ ํ์ต ๋ฐฉ์์ ์ ์ฌ์ ๋ฌธ์ ์
| ๋ฆฌ์คํฌ | ์ฌ๊ฐ๋ | ํ์ฌ ์ฆ๊ฑฐ | ์ํ ๋ฐฉ๋ฒ |
|---|---|---|---|
| SFT steps ๊ณผ์ (5k) | ๐ด ๋์ | epoch 2 ์ง์ , loss ์์ง 1.97 | steps ์ฆ๊ฐ ๋๋ ๋ฐ์ดํฐ ๋ณด๊ฐ |
| ์ฌ์ ํ์ต ๋ฐ์ดํฐ ๋ถ์กฑ (~8.91B) | ๐ก ์ค๊ฐ | Chinchilla ๋๋น 1B ร 20 = 20B ํ์ โ ๋ฏธ๋ฌ | 150B ๋ฐ์ดํฐ ์ถ๊ฐ ํ์ต |
| ์ฝ๋/์ํ ๋ฐ์ดํฐ ์์ | ๐ก ์ค๊ฐ | ko_gsm8k ๊ฑฐ์ 0 ์์ | ์์ด ์ฝ๋/์ํ ๋ฐ์ดํฐ ํผํฉ |
| Greedy decoding ๋ฐ๋ณต ํดํ | ๐ด ๋์ | base์์ 30% ๋ฐ์ ํ์ธ | SFT + repetition_penalty + ORPO |
5.2 cc100 ๋ฐ์ดํฐ ํ์ง ์ด์
์๋ ค์ง ๋ฌธ์ :
- cc100์ CommonCrawl์์ ์ถ์ถ๋ ์น ํ ์คํธ๋ก ๋ ธ์ด์ฆ๊ฐ ์ฌํจ
- ํ๊ตญ์ด cc100 ํนํ: ๊ด๊ณ ํ ์คํธ, ์คํธ, ๋ฐ๋ณต ์ฝํ ์ธ ๋ค์
- ์ค๋ณต๋ฅ : ๋ฌธ์ ์์ค ์ค๋ณต 10~30% ์ถ์ (MinHash ์ ๊ฑฐ ํ์)
์ค์ ์ํฅ:
๋
ธ์ด์ฆ ํฌํจ ํ์ต โ ๋ชจ๋ธ์ด ๊ด๊ณ /์คํธ ํจํด ํ์ต โ ์์ฑ ํ์ง ์ ํ
์ค๋ณต ๋ฐ์ดํฐ โ ํน์ ํจํด ๊ณผ๋ ์๊ธฐ โ ๋ฐ๋ณต ํดํ ์
ํ
๊ถ์ฅ ์ ์ฒ๋ฆฌ:
# 1. ์ค๋ณต ์ ๊ฑฐ (MinHash LSH)
python scripts/dedup_minhash.py --input cc100_ko.bin --threshold 0.8
# 2. ํ์ง ํํฐ๋ง (perplexity ๊ธฐ๋ฐ)
# ๋ฎ์ ํ์ง ํ
์คํธ: PPL > 1000 ์ ๊ฑฐ
python scripts/quality_filter.py --max_ppl 1000
# 3. ๊ธธ์ด ํํฐ๋ง
# ๋๋ฌด ์งง์ ๋ฌธ์ฅ (< 50 tokens) ์ ๊ฑฐ
5.3 Tokenizer ์ ํ (korean_sp 64K)์ ์ํฅ
ํ์ฌ ์ค์ : SentencePiece Unigram 64K vocab, ํ๊ตญ์ด ํนํ
์ฅ์ :
- ํ๊ตญ์ด ํํ์ ๋ถ๋ฆฌ์ ์ต์ ํ โ ํจ์จ์ ์ธ์ฝ๋ฉ
- 64K vocab์ผ๋ก ์์ด vs ํ๊ตญ์ด token fertility ๊ท ํ
- ํ๊ตญ์ด ๊ธ์ 1๊ฐ = ํ๊ท 1.2~1.8 tokens (BPE ๋๋น ํจ์จ์ )
์ ์ฌ์ ๋ฌธ์ :
| ๋ฌธ์ | ์ฌ๊ฐ๋ | ์ค๋ช |
|---|---|---|
| ์์ด vocabulary ๋ถ์กฑ | ๐ก ์ค๊ฐ | ์์ด ์ฝ๋/์ํ ์ฒ๋ฆฌ ํจ์จ ๋ฎ์ (byte fallback) |
| ๊ธฐ์กด ๋ชจ๋ธ๊ณผ ํธํ ๋ถ๊ฐ | ๐ก ์ค๊ฐ | RLHF ๋ฐ์ดํฐ ์ฌํ ํฌ๋์ด์ง ํ์ |
| ์ ์กฐ์ด/์ธ๋์ด ์ฒ๋ฆฌ | ๐ก ์ค๊ฐ | OOV ์ฒ๋ฆฌ๋ byte fallback์ด์ง๋ง ๋๋ฆผ |
| ํ์ค Llama/Mistral ํ ํฌ๋์ด์ ์ ๋ค๋ฆ | ๐ข ๋ฎ์ | HF ์ ๋ก๋ ์ tokenizer ํฌํจํ๋ฉด OK |
์ํ:
- ํฅํ 3B ๋ชจ๋ธ์์๋ tiktoken (cl100k_base) ๋๋ Llama ๊ณ์ด ํ ํฌ๋์ด์ ์ฑํ ๊ณ ๋ ค
- ํ์ฌ 1.19B ๋ชจ๋ธ์ ํ์ฌ ํ ํฌ๋์ด์ ์ ์ง (์ฌํ์ต ๋น์ฉ too high)
6. ์๋๋ฆฌ์ค ๋ชฉ๋ก ("๋ง์ฝ X๋ผ๋ฉด Y๋ฅผ ํด์ผ ํ๋ค")
| # | ์กฐ๊ฑด (IF) | ์ก์ (THEN) |
|---|---|---|
| 1 | ko_ifeval > 30% AND ๋ฐ๋ณต < 15% | โ ์ฆ์ HF Hub ์ ๋ก๋ + ๋ฆฌ๋๋ณด๋ ์ ์ถ + 3B ์ฌ์ ํ์ต ๋ณ๋ ฌ ์งํ |
| 2 | ko_ifeval 20 |
โ KoAlpaca+ShareGPT-ko๋ก ๋ฐ์ดํฐ ๋ณด๊ฐ ํ 10k steps SFT ์ฌ์คํ |
| 3 | ko_ifeval < 20% AND base์ ์ฐจ์ด ์์ | โ SFT ํ์ต ํ์ดํ๋ผ์ธ ๋ฒ๊ทธ ์ ๊ฒ (๋ฐ์ดํฐ ๋ก๋ฉ, ํฌ๋งท ํ์ธ) |
| 4 | ๋ฐ๋ณต์จ > 40% | โ ORPO (orca-math-korean 193K) ์ฆ์ ์ ์ฉ |
| 5 | ๋ชจ๋ SFT ์๋ ํ์๋ ko_ifeval < 20% | โ 1B ํ๊ณ ์ธ์ , 3B ์ฌ์ ํ์ต์ผ๋ก ์ ํ |
| 6 | cc100 ์์ง ์๋ฃ (65~100B) | โ 3B ์ฌ์ ํ์ต ๋ฐ๋ก ์์ (26์๊ฐ, 8ร B200) |
| 7 | 3B base PPL < 8 ๋ฌ์ฑ | โ 3B SFT (KoAlpaca + ORPO) โ ๋ฆฌ๋๋ณด๋ ๋ชฉํ ko_ifeval 40%+ |
| 8 | ์๋น์ค ๋ฐฐํฌ ๊ฒฐ์ | โ vLLM FP8 ์๋น + GGUF Q4_K_M Ollama ๋ณํ |
| 9 | ์ํ/์ฝ๋ ์ฑ๋ฅ ํ์ | โ ์์ด ์ํ+์ฝ๋ ๋ฐ์ดํฐ 20% ํผํฉํ์ฌ 3B ์ฌํ์ต |
| 10 | ํ๊ตญ์ด preference ๋ฐ์ดํฐ ์์ฒด ์์ฑ ์ํจ | โ Claude/GPT-4๋ก chosen/rejected ์ 10K ์์ฑ ํ DPO |
7. ์ ์ฒด ํ์๋ผ์ธ
ํ์ฌ (2026-02-26)
โ
โโ Week 1: Phase 1 ๊ฒ์ฆ
โ โโ D+0: SFT ์์ฑ ํ
์คํธ (30๋ถ)
โ โโ D+0: lm-eval ko_ifeval + ko_winogrande (4์๊ฐ)
โ โโ D+2: ๊ฒฐ๊ณผ ๋ถ์ + ๋ค์ ๋จ๊ณ ๊ฒฐ์
โ
โโ Week 2~3: Phase 2A ๋๋ 2B ๊ฒฐ์ ํ ์คํ
โ โโ [2A ๊ฒฝ๋ก] ๋ฐ์ดํฐ ๋ณด๊ฐ (3~5์ผ) + ์ฌํ์ต (1~2์ผ)
โ โโ [2B ๊ฒฝ๋ก] 3B ์ฌ์ ํ์ต (26์๊ฐ) + 3B SFT (3~6์๊ฐ)
โ
โโ Week 4: Phase 3 (ํ์์)
โ โโ ORPO ํ์ต (193K ๋ฐ์ดํฐ, 3~6์๊ฐ)
โ
โโ Week 4~5: Phase 4 ๋ฐฐํฌ
โโ HF ํฌ๋งท ๋ณํ (2~3์๊ฐ)
โโ HF Hub ์
๋ก๋ + Model Card
โโ vLLM ์๋น ์ค์
โโ Ko-LLM ๋ฆฌ๋๋ณด๋ ์ ์ถ
์ด ์์ ๊ธฐ๊ฐ: 3~5์ฃผ (3B ์ค์ผ์ผ์
ํฌํจ)
8. ์ฆ๊ฐ์ ์ธ ๋ค์ ๋จ๊ณ (Action Items)
# Step 1: lm-evaluation-harness ์ค์น
pip install lm-eval
# Step 2: ko_ifeval ์คํ (SFT ์ฒดํฌํฌ์ธํธ)
lm_eval \
--model hf \
--model_args pretrained=/PROJECT/0325120031_A/ghong/taketimes/llm-bang/checkpoints/korean_1b_sft/checkpoint-0005000,dtype=bfloat16 \
--tasks ko_ifeval \
--device cuda:0 \
--output_path ./eval/results/sft_5k_ko_ifeval.json
# Step 3: ko_winogrande ์คํ
lm_eval \
--model hf \
--model_args pretrained=/PROJECT/0325120031_A/ghong/taketimes/llm-bang/checkpoints/korean_1b_sft/checkpoint-0005000,dtype=bfloat16 \
--tasks ko_winogrande \
--device cuda:0 \
--output_path ./eval/results/sft_5k_ko_winogrande.json
์ด ๋ฌธ์๋ ํ๊ฐ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์
๋ฐ์ดํธ ์์ .
๋ค์ ์
๋ฐ์ดํธ: Phase 1 ํ๊ฐ ์๋ฃ ํ (์์: D+1~2)