172 lines
6.1 KiB
Markdown
172 lines
6.1 KiB
Markdown
|
|
# 다운로드 우선순위 계획
|
|||
|
|
> 생성일: 2026-02-27 | 디스크 여유: 19TB
|
|||
|
|
|
|||
|
|
## 즉시 다운로드 Top 5 (우선순위순)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 🥇 Priority 1: FineWeb-Edu (Korean subset)
|
|||
|
|
- **데이터셋:** `HuggingFaceFW/fineweb-edu`
|
|||
|
|
- **왜:** 교육 품질 필터링된 웹 데이터, 고품질(A급). 한국어 서브셋만 추출 가능
|
|||
|
|
- **예상:** 5~15B tokens (한국어 부분)
|
|||
|
|
- **접근:** ✅ 무료, gated 아님
|
|||
|
|
- **임팩트:** 고품질 pretrain 토큰 대량 확보 + 교육 도메인 강화
|
|||
|
|
```bash
|
|||
|
|
# 한국어 서브셋 다운로드
|
|||
|
|
pip install datasets
|
|||
|
|
python3 -c "
|
|||
|
|
from datasets import load_dataset
|
|||
|
|
ds = load_dataset('HuggingFaceFW/fineweb-edu', 'CC-MAIN-2024-10', split='train', streaming=True)
|
|||
|
|
# language filter needed - fineweb-edu is primarily English
|
|||
|
|
# Alternative: fineweb-edu-score filtered Korean web data
|
|||
|
|
"
|
|||
|
|
```
|
|||
|
|
> ⚠️ 주의: fineweb-edu는 대부분 영어. 한국어 비중 적을 수 있음. 영어 고품질 보충용으로도 가치 있음.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 🥈 Priority 2: Korean Preference/DPO 데이터 (다수 소스)
|
|||
|
|
- **데이터셋들:**
|
|||
|
|
- `kuotient/orca-math-korean-preference` ✅
|
|||
|
|
- `kuotient/orca-math-korean-dpo-pairs` ✅
|
|||
|
|
- `heegyu/orca-math-korean-preference-cleaned` ✅
|
|||
|
|
- `ohsuz/dpo-v1010-korean` ✅
|
|||
|
|
- `ChuGyouk/argilla-distilabel-math-preference-dpo-korean` ✅
|
|||
|
|
- **왜:** Preference 데이터 **0건**인 현재 상태에서 ORPO 학습 자체 불가 → 가장 시급
|
|||
|
|
- **예상:** 합계 30~60K 쌍
|
|||
|
|
- **접근:** ✅ 모두 무료
|
|||
|
|
- **임팩트:** ORPO/DPO 학습 파이프라인 활성화
|
|||
|
|
```bash
|
|||
|
|
python3 << 'PYEOF'
|
|||
|
|
from datasets import load_dataset
|
|||
|
|
import json, os
|
|||
|
|
|
|||
|
|
out_dir = "/PROJECT/0325120031_A/ghong/taketimes/llm-bang/data/preference"
|
|||
|
|
os.makedirs(out_dir, exist_ok=True)
|
|||
|
|
|
|||
|
|
datasets_to_dl = [
|
|||
|
|
("kuotient/orca-math-korean-preference", None),
|
|||
|
|
("kuotient/orca-math-korean-dpo-pairs", None),
|
|||
|
|
("heegyu/orca-math-korean-preference-cleaned", None),
|
|||
|
|
("ohsuz/dpo-v1010-korean", None),
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
for name, config in datasets_to_dl:
|
|||
|
|
try:
|
|||
|
|
ds = load_dataset(name, config, split="train")
|
|||
|
|
safe_name = name.replace("/", "_")
|
|||
|
|
ds.to_json(f"{out_dir}/{safe_name}.jsonl")
|
|||
|
|
print(f"✅ {name}: {len(ds)} samples")
|
|||
|
|
except Exception as e:
|
|||
|
|
print(f"❌ {name}: {e}")
|
|||
|
|
PYEOF
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 🥉 Priority 3: RedPajama-Data-1T (영어 고품질 서브셋)
|
|||
|
|
- **데이터셋:** `togethercomputer/RedPajama-Data-1T`
|
|||
|
|
- **왜:** 영어 데이터 극히 부족 (0.6B). 코드/ArXiv/Book/StackExchange 서브셋 선별 다운로드
|
|||
|
|
- **예상:** 선별 10~20B tokens (코드 5B + ArXiv 3B + Book 2B + SE 2B)
|
|||
|
|
- **접근:** ✅ 무료
|
|||
|
|
- **임팩트:** 코드/과학/추론 능력 + cross-lingual transfer 대폭 강화
|
|||
|
|
```bash
|
|||
|
|
python3 << 'PYEOF'
|
|||
|
|
from datasets import load_dataset
|
|||
|
|
|
|||
|
|
# 코드 서브셋만 먼저 (github subset)
|
|||
|
|
ds = load_dataset("togethercomputer/RedPajama-Data-1T", "github",
|
|||
|
|
split="train", streaming=True,
|
|||
|
|
cache_dir="/PROJECT/0325120031_A/ghong/taketimes/llm-bang/data/redpajama")
|
|||
|
|
# ArXiv subset
|
|||
|
|
ds_arxiv = load_dataset("togethercomputer/RedPajama-Data-1T", "arxiv",
|
|||
|
|
split="train", streaming=True,
|
|||
|
|
cache_dir="/PROJECT/0325120031_A/ghong/taketimes/llm-bang/data/redpajama")
|
|||
|
|
PYEOF
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 4️⃣ Priority 4: 한국어 SFT 다양성 보강
|
|||
|
|
- **데이터셋들:**
|
|||
|
|
- `kyujinpy/KOR-OpenOrca-Platypus-v3` ✅ (추론/수학)
|
|||
|
|
- `maywell/ko_wikidata_QA` ✅ (지식 QA)
|
|||
|
|
- `nlpai-lab/kullm-v2` ✅ (범용 지시)
|
|||
|
|
- **왜:** 현재 SFT 170K은 양적 충분하나 코드/수학/추론 도메인 부족
|
|||
|
|
- **예상:** +50~100K 다양한 도메인 샘플
|
|||
|
|
- **접근:** ✅ 모두 무료
|
|||
|
|
```bash
|
|||
|
|
python3 << 'PYEOF'
|
|||
|
|
from datasets import load_dataset
|
|||
|
|
import os
|
|||
|
|
|
|||
|
|
out_dir = "/PROJECT/0325120031_A/ghong/taketimes/llm-bang/data/sft_extra"
|
|||
|
|
os.makedirs(out_dir, exist_ok=True)
|
|||
|
|
|
|||
|
|
for name in ["kyujinpy/KOR-OpenOrca-Platypus-v3", "maywell/ko_wikidata_QA", "nlpai-lab/kullm-v2"]:
|
|||
|
|
try:
|
|||
|
|
ds = load_dataset(name, split="train")
|
|||
|
|
safe = name.replace("/","_")
|
|||
|
|
ds.to_json(f"{out_dir}/{safe}.jsonl")
|
|||
|
|
print(f"✅ {name}: {len(ds)}")
|
|||
|
|
except Exception as e:
|
|||
|
|
print(f"❌ {name}: {e}")
|
|||
|
|
PYEOF
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 5️⃣ Priority 5: Open-Web-Math (수학 특화)
|
|||
|
|
- **데이터셋:** `open-web-math/open-web-math`
|
|||
|
|
- **왜:** 수학 데이터 전무. 수학 능력은 LLM 벤치마크 핵심 영역
|
|||
|
|
- **예상:** ~14B tokens (영어 수학)
|
|||
|
|
- **접근:** ✅ 무료
|
|||
|
|
- **임팩트:** 수학 추론 능력 기반 확보
|
|||
|
|
```bash
|
|||
|
|
python3 -c "
|
|||
|
|
from datasets import load_dataset
|
|||
|
|
ds = load_dataset('open-web-math/open-web-math', split='train', streaming=True,
|
|||
|
|
cache_dir='/PROJECT/0325120031_A/ghong/taketimes/llm-bang/data/open-web-math')
|
|||
|
|
# Stream and save
|
|||
|
|
"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 다운로드 후 예상 토큰 분포
|
|||
|
|
|
|||
|
|
| 카테고리 | 현재 | 추가 | 합계 |
|
|||
|
|
|---------|------|------|------|
|
|||
|
|
| 한국어 Pretrain | 39B | +5~10B (fineweb-edu ko) | 44~49B |
|
|||
|
|
| 영어 코드 | 0 | +5B (RedPajama github) | 5B |
|
|||
|
|
| 영어 과학/ArXiv | 0 | +3B (RedPajama arxiv) | 3B |
|
|||
|
|
| 영어 수학 | 0 | +10B (open-web-math) | 10B |
|
|||
|
|
| 영어 기타 고품질 | 0.6B | +5B (RedPajama book+SE) | 5.6B |
|
|||
|
|
| **Pretrain 합계** | **~39B** | **+28~33B** | **~67~72B** |
|
|||
|
|
| SFT | 170K | +50~100K | 220~270K |
|
|||
|
|
| Preference | 0 | +30~60K 쌍 | 30~60K 쌍 |
|
|||
|
|
|
|||
|
|
### 목표 달성 여부
|
|||
|
|
- ✅ Chinchilla minimum (60B) 달성 가능
|
|||
|
|
- ✅ ORPO/DPO 학습 가능
|
|||
|
|
- ✅ 코드/수학/과학 도메인 커버
|
|||
|
|
- 🟡 Chinchilla optimal (210B)에는 여전히 부족 → 추후 CulturaX 전체, SlimPajama 등 추가 검토
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 데이터 믹스 권장 비율 (학습 시)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
한국어 텍스트: 50% (~35B tokens)
|
|||
|
|
영어 코드: 15% (~10B tokens)
|
|||
|
|
영어 수학/과학: 15% (~10B tokens)
|
|||
|
|
영어 일반: 15% (~10B tokens)
|
|||
|
|
한국어 교육: 5% (~3B tokens)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 주의사항
|
|||
|
|
1. CulturaX는 gated(auto) → HuggingFace에서 동의 필요 (이미 다운받은 60GB 활용)
|
|||
|
|
2. the-stack-dedup도 gated → 승인 필요, RedPajama github로 대체
|
|||
|
|
3. 다운로드 전 `huggingface-cli login --token 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` 실행
|
|||
|
|
4. 대용량 다운로드 시 `HF_HUB_ENABLE_HF_TRANSFER=1` 환경변수 설정 권장
|