200 lines
7.7 KiB
Markdown
200 lines
7.7 KiB
Markdown
# FRANKENSTALLM 3B Base — 종합 평가 보고서
|
||
|
||
**작성일**: 2026-03-05
|
||
**작성자**: FRANKENSTALLM 팀
|
||
**버전**: 1.0
|
||
|
||
---
|
||
|
||
## 요약
|
||
|
||
FRANKENSTALLM 3B 모델의 사전학습(pretraining)이 완료되었다. 본 보고서는 checkpoint-0057000 기준의 전체 평가 결과를 종합하고, 다음 단계(SFT) 진행 여부에 대한 판단을 담는다.
|
||
|
||
---
|
||
|
||
## 1. 학습 요약
|
||
|
||
| 항목 | 내용 |
|
||
|------|------|
|
||
| 모델 이름 | FRANKENSTALLM 3B |
|
||
| 파라미터 수 | 3,015M (약 3B) |
|
||
| 체크포인트 | checkpoint-0057000 |
|
||
| 학습 스텝 | 57,000 steps (완료) |
|
||
| 최종 학습 loss | **1.466** |
|
||
| 학습 시간 | 약 63시간 |
|
||
| 학습 토큰 | 41.12B tokens |
|
||
| 인프라 | 8× NVIDIA B200, DDP, MXFP8 (TransformerEngine) |
|
||
| 완료 상태 | 무사고 완료 |
|
||
|
||
---
|
||
|
||
## 2. Perplexity (PPL) 평가
|
||
|
||
### 검증셋별 결과
|
||
|
||
| 검증셋 | PPL | BPT (Bits Per Token) |
|
||
|--------|-----|---------------------|
|
||
| 3b_val (통합 검증셋) | **5.709** | 2.513 |
|
||
| korean_c4 | 5.717 | 2.515 |
|
||
| korean_namuwiki | 25.881 | 4.694 |
|
||
| korean_wiki | 11.836 | 3.565 |
|
||
|
||
### 해석
|
||
|
||
- **통합 PPL 5.709**: 3B 모델로서 합리적인 범위. C4 Korean 기반이 학습 데이터의 주류이므로 C4 검증셋 PPL이 가장 낮다.
|
||
- **나무위키 PPL 25.9**: 높은 편. 나무위키 특유의 문체(서브컬처 용어, 위키 마크업 잔재, 신조어)가 학습 분포와 어긋나는 것으로 추정. 데이터 품질 점검 필요.
|
||
- **위키백과 PPL 11.8**: 나무위키보다 낮지만 C4보다 높음. 위키 문체(정형화된 백과사전체)와 훈련 데이터 분포 차이.
|
||
- **BPT(Bits Per Token)**: 2.513 bpt는 정보 이론적으로 양호한 수준.
|
||
|
||
---
|
||
|
||
## 3. 벤치마크 평가
|
||
|
||
### lm-evaluation-harness 결과
|
||
|
||
| 벤치마크 | 3B Base | 랜덤 기준 | 비고 |
|
||
|----------|---------|-----------|------|
|
||
| belebele_kor_Hang | 0.2189 | 0.25 | 4지선다 독해 이해 |
|
||
| global_mmlu_full_ko | 0.2339 | 0.25 | 4지선다 지식 평가 |
|
||
|
||
### 해석
|
||
|
||
- **Base model에서 랜덤 수준은 정상**: 지시 튜닝(SFT) 없이 base model이 4지선다 형식의 벤치마크를 풀려면, 질문-답변 형식 자체를 이해해야 한다. Base model은 이 형식에 최적화되어 있지 않다.
|
||
- **0.219 vs 0.25 (랜덤)**: 랜덤보다 소폭 낮지만, 이는 base model에서 흔히 관찰되는 현상이다 (선택지 토큰 간 확률 분포가 태스크에 맞게 조정되지 않음).
|
||
- **SFT 후 기대**: Llama, Mistral 등 유사 규모 모델들도 SFT 이후 벤치마크가 급격히 향상된다. 현재 수치로 SFT 효과를 판단할 수 없다.
|
||
|
||
---
|
||
|
||
## 4. 생성 품질 평가
|
||
|
||
### 온도별 3-gram 반복률 및 EOS 종료율
|
||
|
||
| 온도 (Temperature) | 3-gram 반복률 | EOS 종료율 | 평가 |
|
||
|-------------------|--------------|-----------|------|
|
||
| 0.0 (greedy) | 71.1% | 0% | 반복 심각 (base 특성) |
|
||
| 0.7 | 40.5% | 0% | 개선되나 여전히 높음 |
|
||
| 1.0 | 9.3% | 0% | 가장 낮은 반복률 |
|
||
|
||
### no_repeat_ngram_size 효과
|
||
|
||
| 파라미터 | 결과 |
|
||
|---------|------|
|
||
| 미적용 (기본) | 온도별 71.1~9.3% |
|
||
| `no_repeat_ngram_size=3` | **0%** (모든 온도 구간) |
|
||
|
||
### EOS 종료율 0% 해석
|
||
|
||
- Base model은 instruction-following 학습이 없으므로, 자연스러운 대화 종료(EOS) 시점을 학습하지 않았다.
|
||
- EOS 종료율 0%는 **base model에서 정상적인 현상**이다.
|
||
- SFT 이후 EOS 종료율이 크게 향상될 것으로 예상된다.
|
||
|
||
### 권장 추론 파라미터
|
||
|
||
SFT 이전 base model 용도로 실험 시 권장 설정:
|
||
|
||
```python
|
||
generation_config = {
|
||
"temperature": 0.9,
|
||
"top_p": 0.9,
|
||
"no_repeat_ngram_size": 3,
|
||
"repetition_penalty": 1.1,
|
||
"max_new_tokens": 512,
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 5. 1B vs 3B 비교
|
||
|
||
### 주요 지표 비교표
|
||
|
||
| 지표 | 1B (SFT 후) | 3B Base | 판정 | 비고 |
|
||
|------|------------|---------|------|------|
|
||
| Training loss | 1.904 | **1.466** | ✅ 개선 | 3B가 더 잘 학습됨 |
|
||
| PPL (C4 Korean) | 5.67 | 5.72 | ≈ 동등 | 데이터 구성 차이 반영 |
|
||
| 3-gram 반복률 (greedy) | 30.7% | 71.1% | ⚠️ 비교 주의 | SFT vs Base 차이 |
|
||
| EOS 종료율 | 60% | 0% | — | Base model 정상 |
|
||
| kobest_copa | 0.646 (SFT) | N/A | — | lm-eval 미지원 형식 |
|
||
| belebele_kor | N/A | 0.219 | — | Base ≈ random |
|
||
|
||
### 비교 시 주의사항
|
||
|
||
1. **반복률 비교는 직접 비교 불가**: 1B(30.7%)는 SFT 이후 측정값이고, 3B(71.1%)는 base model 측정값이다. SFT 전 1B의 greedy 반복률은 훨씬 높았을 것이다.
|
||
2. **PPL 동등은 의미 있다**: 1B는 C4 Korean 위주(8.5B tok), 3B는 다양한 도메인 혼합(41.12B tok)으로 학습했다. 더 다양한 분포를 학습하면서도 C4 PPL이 동등하다는 것은 3B가 더 넓은 지식을 습득했음을 시사한다.
|
||
3. **Training loss 1.466 vs 1.904**: 동일 토크나이저 기준이므로 직접 비교 가능. 명확한 개선.
|
||
|
||
---
|
||
|
||
## 6. SFT 진행 여부 판단
|
||
|
||
### 판단 기준 및 결과
|
||
|
||
| 기준 | 임계값 | 실측값 | 판정 |
|
||
|------|--------|--------|------|
|
||
| PPL (C4 Korean) | < 5.0 | 5.72 | ⚠️ 미달 |
|
||
| Training loss | — | 1.466 | ✅ 1B(1.904) 대비 명확 개선 |
|
||
| 모델 구조 문제 징후 | 없어야 함 | 없음 | ✅ 이상 없음 |
|
||
| 학습 안정성 | loss 발산 없이 완료 | 무사고 완료 | ✅ 안정 |
|
||
|
||
### 판단 근거
|
||
|
||
1. **PPL 5.72 — 임계값 미달이지만 양호**
|
||
- 기준(< 5.0)에는 미달이지만, 3B 모델이 1B보다 훨씬 다양한 데이터(40B tok vs 8.5B tok)로 학습했고, 도메인 분포 차이를 감안하면 합리적인 범위다.
|
||
- 단순 C4 특화 학습이었다면 더 낮은 PPL이 나왔을 것이나, 다양한 도메인 커버리지가 더 가치 있다.
|
||
|
||
2. **Training loss 1.466 — 건강한 학습 완료 시그널**
|
||
- 1B(1.904) 대비 명확한 개선. 모델이 데이터를 잘 학습했음을 의미한다.
|
||
- loss가 1.5 이하이면 SFT가 의미 있는 지식 기반 위에서 시작한다는 경험적 기준을 충족한다.
|
||
|
||
3. **Greedy 반복률 71% — base model에서 일반적**
|
||
- Base model의 greedy 반복은 SFT가 해결하는 영역이다. SFT 후 크게 개선될 것으로 예상.
|
||
- `no_repeat_ngram_size=3`으로 즉시 0%까지 낮출 수 있음이 확인됐다.
|
||
|
||
4. **belebele/MMLU ≈ 랜덤 — base model 특성**
|
||
- SFT 이후 향상 기대. 모델 자체의 문제가 아니라 형식 적응 문제.
|
||
|
||
### 최종 결론
|
||
|
||
**SFT 진행 결정: ✅**
|
||
|
||
- Loss 1.466은 건강한 사전학습 완료 시그널이다.
|
||
- PPL은 데이터 구성 차이로 직접 비교가 어렵지만 합리적인 범위다.
|
||
- 반복률과 벤치마크는 SFT가 해결할 영역이다.
|
||
- 모델 구조 문제(발산, 이상 loss, gradient 폭발)의 징후가 없다.
|
||
|
||
---
|
||
|
||
## 7. 남은 리스크 및 권고사항
|
||
|
||
### 리스크
|
||
|
||
| 리스크 | 심각도 | 대응 방안 |
|
||
|--------|--------|-----------|
|
||
| C4 PPL이 1B와 비슷 | 중간 | Extended pretrain (80-100B tok) 고려 |
|
||
| 나무위키 PPL 25.9 높음 | 중간 | SFT 데이터 품질 점검, 나무위키 비중 재조정 |
|
||
| SFT 후 EOS 종료율 | 낮음 | SFT 데이터에 EOS 마커 확인 |
|
||
|
||
### 권고사항
|
||
|
||
1. **즉시**: SFT 파이프라인 시작 (데이터 준비 완료, 스크립트 준비됨)
|
||
2. **SFT 중**: 반복률 및 EOS 종료율 모니터링
|
||
3. **SFT 완료 후**: kobest_copa, kobest_hellaswag 전체 평가
|
||
4. **중기**: Extended pretrain을 통한 PPL 개선 검토 (80-100B tok 목표)
|
||
|
||
---
|
||
|
||
## 8. 체크포인트 정보
|
||
|
||
| 항목 | 값 |
|
||
|------|-----|
|
||
| 체크포인트 경로 | `checkpoints/checkpoint-0057000/` |
|
||
| 모델 파일 | `model.pt` |
|
||
| 옵티마이저 상태 | `optimizer.pt` |
|
||
| 스케줄러 상태 | `scheduler.pt` |
|
||
| 학습 메타데이터 | `training_state.json` |
|
||
|
||
---
|
||
|
||
*보고서 작성: 2026-03-05*
|
||
*다음 단계: Phase 2 SFT 진행*
|