5.2 KiB
FRANKENSTALLM 3B — Perplexity 평가 보고서
작성일: 2026-03-05
모델: FRANKENSTALLM 3B (사전학습 base, step ~3150 이후 완전학습)
체크포인트: checkpoints/frankenstallm_3b_final/
평가 스크립트: eval/eval_ppl.py
1. 개요
FRANKENSTALLM 3B 모델의 언어 모델링 성능을 4개 검증셋에 대해 sliding-window perplexity(PPL)로 평가하였다. 모든 평가는 BF16 정밀도, 시퀀스 길이 2048, stride 512 조건에서 수행되었다.
평가 설정
| 항목 | 값 |
|---|---|
| 모델 타입 | FRANKENSTALLM 3B (base pretrain) |
| 정밀도 | bfloat16 |
| 시퀀스 길이 (seq_len) | 2048 |
| 슬라이딩 윈도우 stride | 512 |
| 배치 크기 | 32 |
| 평가 방식 | Sliding-window NLL → exp(avg_NLL) |
2. 평가 결과 테이블
| 검증셋 | PPL | BPT (Bits/Token) | 평가 토큰 수 | 소요 시간 |
|---|---|---|---|---|
| 3b_val (사전학습 혼합) | 5.709 | 2.5132 | 15,000,000 | 712.0초 |
| korean_c4_val (한국어 C4) | 5.717 | 2.5153 | 15,159,838 | 447.2초 |
| korean_wiki_val (한국어 위키피디아) | 11.836 | 3.5651 | 524,561 | 15.7초 |
| korean_namuwiki_val (나무위키) | 25.881 | 4.6938 | 2,166,179 | 63.9초 |
BPT (Bits Per Token) = avg_NLL / ln(2). 낮을수록 압축 효율이 높음.
원시 데이터 요약
| 검증셋 | 파일 총 토큰 | 평가에 사용한 토큰 | avg NLL |
|---|---|---|---|
| 3b_val | 75,681,623 | 15,000,000 | 1.7420 |
| korean_c4_val | 15,159,838 | 15,159,838 | 1.7435 |
| korean_wiki_val | 524,561 | 524,561 | 2.4711 |
| korean_namuwiki_val | 2,166,179 | 2,166,179 | 3.2535 |
3. 1B 베이스라인과 비교
| 항목 | 1B 모델 | 3B 모델 | 비고 |
|---|---|---|---|
| C4 PPL (한국어) | 5.67 | 5.717 | 거의 동등 |
| 학습 데이터 | 단일 분포 집중 | ~40B tok 다양한 혼합 | 3B가 다양성 증가 |
| Training loss | 1.904 | ~1.74 (val NLL) | 3B가 실질 손실 낮음 |
| 모델 파라미터 | 1B | 3B | 3배 큰 모델 |
왜 3B C4 PPL이 1B(5.67)과 비슷한가?
이 결과는 언뜻 의외로 보일 수 있으나 다음 이유로 설명 가능하다.
-
데이터 다양성의 트레이드오프: 1B 모델은 한국어 C4 위주의 단일 분포 데이터로 학습되어 C4 분포에 과적합(in-distribution) 되어 있다. 반면 3B 모델은 위키, 나무위키, 뉴스, 커뮤니티 등 폭넓은 40B 토큰으로 학습되어 C4 특화 PPL이 미세하게 높아지는 것이 자연스럽다.
-
실질 일반화 능력 향상: 3B 모델의 avg NLL 1.7435는 다양한 도메인을 아우르는 더 나은 언어 이해를 반영한다. 단순히 C4에서의 PPL만 보면 비슷해 보이지만, 위키피디아(PPL 11.836)처럼 새로운 분포에서도 1B 대비 더 낮은 불확실성을 보일 가능성이 높다.
-
모델 용량: 파라미터 3배 증가로 동일 토큰 수 대비 학습 효율이 높으며, 같은 수준의 PPL을 달성하면서도 훨씬 넓은 지식 범위를 커버한다.
4. 나무위키 PPL이 높은 이유
나무위키 PPL 25.881은 다른 데이터셋 대비 크게 높다. 이는 모델 품질 문제가 아닌 데이터 특성에 기인한다.
| 원인 | 설명 |
|---|---|
| 비정형 마크업 | 나무위키 고유의 [[ ]], {{{ }}}, ## 등 위키 마크업이 일반 자연어 분포와 다름 |
| 밈·신조어·인터넷 용어 | "ㅋㅋ", "레전드", "핵꿀잼" 등 표준어 말뭉치에 없는 표현이 다수 |
| 극도로 혼합된 문체 | 백과사전체 + 구어체 + 영어 혼용이 동일 문서 내에 공존 |
| OOV 토큰 분포 | 일반 토크나이저가 나무위키 특유의 표현을 비효율적으로 분절 |
| 학습 데이터 비율 | 사전학습 혼합에서 나무위키 비중이 낮았을 가능성 |
위키피디아(PPL 11.836)와의 차이(약 2.2배)가 이 효과를 정량적으로 보여준다.
5. SFT 진행 판단
기준: PPL < 5.0?
일반적으로 SFT 진행 전 base 모델의 PPL 기준을 5.0 미만으로 삼는 경우가 있다. 현재 3B 모델은 5.709~5.717로 이 기준을 미달한다.
그러나 종합적으로 SFT 진행이 적절한 이유
| 판단 근거 | 내용 |
|---|---|
| 데이터 구성 차이 | 1B 모델의 PPL 5.67은 C4 단일 분포로 학습한 결과. 3B의 5.717은 훨씬 넓은 분포 기준으로 사실상 동등하거나 더 우수 |
| 학습 규모 | 40B 토큰 학습 완료. 충분한 사전학습 |
| NLL 수준 | avg NLL 1.74는 건강한 언어 모델링 수준 |
| 생성 품질 | 온도 1.0에서 의미 있는 한국어 텍스트 생성 가능 (별도 보고서 참조) |
| 벤치마크 | MCQ 벤치마크에서 random baseline에 수렴하는 것은 base 모델 정상 동작 (별도 보고서 참조) |
결론: PPL 5.72는 절대값 기준으로는 5.0 미달이나, 학습 데이터 구성 차이를 감안하면 양호한 수준이다. SFT로 진행한다.
6. 평가 환경
- GPU: NVIDIA B200 × 1 (cuda:0)
- PyTorch: nv25.12 커스텀 빌드
- 평가 일시: 2026-03-05
- 총 평가 소요 시간: ~1,239초 (약 20.6분)