# FRANKENSTALLM 3B — 생성 품질 보고서

- **모델**: FRANKENSTALLM 3B (checkpoint-0057000)
- **평가 일시**: 2026-03-05 03:18 KST
- **평가 GPU**: GPU 6 (단독 실행)
- **생성 소요 시간**: 141.8초
- **총 생성 수**: 60개 (15 프롬프트 × 4 온도)
- **최대 생성 토큰**: 256 tokens/생성

---

## 1. 핵심 요약 — 심각한 반복 문제

> **경고**: 이 모델은 기본 설정(greedy 또는 temperature <= 0.7)에서 **극심한 반복 루프** 현상을 보인다. 프로덕션 사용 전 반드시 repetition penalty를 적용해야 한다.

| 설정 | 3-gram 반복률 | 4-gram 반복률 | EOS 도달 | 비고 |
|------|------------|------------|---------|------|
| Greedy (t=0.0) | **72.75%** | **70.78%** | 0% | 극심한 반복 루프 |
| t=0.5 | ~60% | ~59% | 0% | 반복 루프 지속 |
| t=0.8 | 가변적 | 가변적 | 0% | 프롬프트에 따라 크게 다름 |
| t=1.0 (sampled avg) | **24.27%** | 가변적 | 0% | 그나마 가장 낮은 반복 |

**공통 문제**: 모든 온도 설정에서 EOS 토큰 도달률 0%. 256 토큰을 완전히 소진하고도 멈추지 않는다.

---

## 2. 온도별 생성 품질 상세

### 2.1 Greedy Decoding (temperature = 0.0)

| 지표 | 값 |
|------|-----|
| 1-gram 반복률 | 79.64% |
| 2-gram 반복률 | 75.86% |
| 3-gram 반복률 | **72.75%** |
| 4-gram 반복률 | **70.78%** |
| EOS 도달률 | 0% |
| 평균 생성 토큰 | 256.0 (항상 max) |

**분석**: Greedy decoding은 사실상 사용 불가능한 수준이다. 72%의 3-gram이 반복되는 것은 모델이 지역 최소(local minimum)에 갇혀 동일한 패턴을 무한 반복함을 의미한다. 이는 사전학습 모델(base model)에서 흔히 나타나는 현상이나, 이 모델에서는 특히 심각하다.

#### Greedy 생성 예시 — "지구 온난화의 주요 원인은"

```
[입력] 지구 온난화의 주요 원인은
[생성] 온실가스 배출이다. 온실가스 배출은 지구온난화의 주요 원인이다. 온실가스 배출은
지구온난화의 주요 원인이다. 온실가스 배출은 지구온난화의 주요 원인이다. 온실가스 배출은
지구온난화의 주요 원인이다. 온실가스 배출은 지구온난화의 주요 원인이다. [이후 256토큰까지
동일 문장 반복]
3-gram 반복률: 92.13%
```

#### Greedy 생성 예시 — "대한민국의 수도는"

```
[입력] 대한민국의 수도는
[생성] 서울이 아닌 인천이다.역사 한국의 수도는 서울이 아닌 인천이었다.조선 시대에는
인천이 수도였다.1895년(고종 32년) 인천은 개항하였다.1910년(융희 4년) 인천은
인천부로 승격되었다.1914년 인천은 인천부로 개편되었다.1945년 인천은 인천시로
개칭되었다.1948년 인천은 인천시로 개칭되었다.1963년 인천은 인천시로 개칭되었다.
[이후 "인천은 인천직할시로 개칭되었다." 반복]
```

**주목할 점**: 사실 오류("대한민국의 수도는 인천이다")가 포함되어 있으며, 이후 반복 루프로 진입한다.

#### Greedy 생성 예시 — "한국의 전통 음식 중에서"

```
[입력] 한국의 전통 음식 중에서
[생성] 가장 인기 있는 음식 중의 하나가 바로 갈비찜이다. 갈비찜은 갈비에 양념을 해서
찜통에 쪄낸 음식으로, 갈비찜은 갈비찜을 쪄서 먹는 음식이다. 갈비찜은 갈비에 양념을
해서 찜통에 쪄낸 음식으로, 갈비찜은 갈비찜을 쪄서 먹는 음식이다. [반복]
3-gram 반복률: 75.00%
```

---

### 2.2 Temperature 0.5

| 지표 | 값 (평균) |
|------|----------|
| 3-gram 반복률 | ~60% |
| EOS 도달률 | 0% |

여전히 심각한 반복 루프가 관찰된다. 일부 프롬프트에서 거의 100%에 가까운 반복률이 나타난다.

#### 생성 예시 — "인공지능이란" (t=0.5)

```
[생성] ?[김병윤의 축구생각]축구의 본질은 '공'이다[김병윤의 축구생각]축구의 본질은 '공'이다
[김병윤의 축구생각]축구의 본질은 '공'이다[김병윤의 축구생각]축구의 본질은 '공'이다...
3-gram 반복률: 88.64%
```

프롬프트와 전혀 관련 없는 문구가 무한 반복되는 **탈선(derailment)** 패턴이 관찰된다.

---

### 2.3 Temperature 0.8

| 지표 | 값 |
|------|-----|
| 반복률 | 프롬프트에 따라 0% ~ 95% (매우 가변적) |
| EOS 도달률 | 0% |

temperature 0.8은 일부 프롬프트에서 합리적인 텍스트를 생성하지만, 다른 프롬프트에서는 여전히 심각한 반복을 보인다. repetition penalty 없이는 안정적이지 않다.

#### 생성 예시 — "대한민국의 수도는" (t=0.8) — 비교적 합리적인 케이스

```
[생성] 대한민국 서울이다.개요 대한민국의 수도는 대한민국의 수도를 대한민국의 수도로 하는
헌법 제3조에 의해 대한민국의 수도는 서울특별시로 되어 있다. 대한민국 헌법 제5조는
"대한민국의 수도는 법률로 정한다."라고 되어 있다...
3-gram 반복률: 58.65% (중간 수준)
```

---

### 2.4 Temperature 1.0

| 지표 | 값 (평균) |
|------|----------|
| 3-gram 반복률 (sampled avg) | **24.27%** |
| EOS 도달률 | 0% |
| 평균 생성 토큰 | 256.0 |

temperature 1.0이 가장 낮은 반복률을 보이지만, 여전히 24%의 3-gram이 반복된다. 높은 온도로 인해 생성 다양성은 증가하지만 일관성과 사실성이 떨어진다.

#### 생성 예시 — "대한민국의 수도는" (t=1.0) — 오프토픽 케이스

```
[생성] 당연히 한반도의 동남쪽이 아닌 서남쪽으로 옮겨갈 가능성이 높다.[15] 참고로 일본
열도의 최대 수심은... [일본 관련 내용으로 완전히 탈선]
3-gram 반복률: 2.42%
```

반복률은 낮지만 사실적으로 부정확하고 주제와 무관한 내용을 생성한다.

---

## 3. 온도별 반복률 종합 비교

```
설정              1-gram   2-gram   3-gram   4-gram
Greedy (t=0.0)   79.64%   75.86%   72.75%   70.78%  ← 사용 불가
t=0.5            ~85%     ~75%     ~60%     ~59%    ← 사용 불가
t=0.7 (no rep)   ~82%     ~72%     ~48%     ~43%    ← 사용 불가
t=0.9 (no rep)   ~31%     ~17%     ~8.4%    ~4.6%   ← 불안정
t=1.0 (no rep)   ~24%     ~8.3%    ~3.6%    ~2.8%   ← 수용 가능 (낮은 일관성)
```

---

## 4. Repetition Penalty 그리드 서치 결과

GPU 7에서 temperature × repetition_penalty 그리드 서치를 수행하였다. 총 11개 설정을 5개 프롬프트에 대해 평가하였다.

### 4.1 전체 그리드 결과 (3-gram 반복률 오름차순)

| 설정 | Temperature | Rep Penalty | 3-gram 반복률 | 4-gram 반복률 | EOS 도달률 | 평균 토큰 |
|------|------------|------------|------------|------------|---------|--------|
| **t0.7_rep1.3** | 0.7 | 1.3 | **0.000%** | **0.000%** | 0% | 256 |
| **t0.9_rep1.2** | 0.9 | 1.2 | **0.000%** | **0.000%** | 0% | 256 |
| t0.7_rep1.2 | 0.7 | 1.2 | 0.88% | 0.00% | 0% | 256 |
| t0.9_rep1.1 | 0.9 | 1.1 | 0.94% | 0.13% | 0% | 256 |
| t1.0_rep1.1 | 1.0 | 1.1 | 1.21% | 0.48% | 0% | 256 |
| t0.5_rep1.1 | 0.5 | 1.1 | 1.92% | 1.19% | 0% | 256 |
| t1.0 (no rep) | 1.0 | 1.0 | 3.58% | 2.81% | 0% | 256 |
| t0.9 (no rep) | 0.9 | 1.0 | 8.39% | 4.64% | 0% | 256 |
| t0.7_rep1.1 | 0.7 | 1.1 | 8.51% | 5.51% | 0% | 256 |
| t0.7 (no rep) | 0.7 | 1.0 | 47.69% | 43.40% | 0% | 256 |
| t0.5 (no rep) | 0.5 | 1.0 | 60.12% | 58.68% | 0% | 256 |
| greedy (no rep) | 0.0 | 1.0 | 60.99% | 57.02% | 0% | 256 |

### 4.2 권장 생성 파라미터

**1순위 (최우선 권장)**:
```python
temperature = 0.7
repetition_penalty = 1.3
# 결과: 3-gram 반복률 0.000%, 4-gram 반복률 0.000%
# 가장 낮은 온도에서 완전한 반복 제거 달성
```

**2순위 (대안)**:
```python
temperature = 0.9
repetition_penalty = 1.2
# 결과: 3-gram 반복률 0.000%, 4-gram 반복률 0.000%
# 높은 온도로 더 다양한 생성 가능
```

**용도별 권장**:

| 용도 | Temperature | Rep Penalty | 비고 |
|------|------------|------------|------|
| 사실 기술 / Q&A | 0.7 | 1.3 | 일관성 우선 |
| 창의적 생성 / 스토리 | 0.9 | 1.2 | 다양성과 일관성 균형 |
| 브레인스토밍 / 다양성 | 1.0 | 1.1 | 최대 다양성 (일관성 저하 감수) |
| 절대 피해야 할 설정 | any | 1.0 | repetition_penalty 없으면 사용 불가 |

---

## 5. EOS 미도달 문제 분석

모든 설정에서 EOS (End-of-Sequence) 토큰 도달률이 **0%**이다. 256 토큰을 생성한 후 항상 max_length에 의해 강제 종료된다.

### 원인 분석

1. **EOS 토큰 학습 부족**: 사전학습 데이터에서 EOS 토큰이 문서 경계에만 등장하므로, 256 토큰 이내에 자연스럽게 멈추는 패턴을 학습하지 못했을 가능성이 높다.

2. **Packing 방식의 부작용**: 학습 시 여러 문서를 이어붙이는 packing 방식을 사용했을 경우, 모델이 EOS를 종료 신호로 인식하지 않고 연속 텍스트로 학습했을 수 있다.

3. **SFT 미적용**: Instruction tuning 없이는 대부분의 base LLM이 짧은 응답을 생성하지 않는다.

### 해결 방안

- SFT (Supervised Fine-Tuning): 응답 종료 패턴을 명시적으로 학습
- EOS 토큰 가중치 증가: 학습 시 EOS 토큰의 손실 가중치를 높임
- Chat template 도입: `<|im_end|>` 또는 `[/INST]` 형식의 구조화된 포맷 학습

---

## 6. 생성 품질 정성 평가

### 6.1 현재 모델의 강점
- repetition_penalty 적용 시 **한국어 문법**과 **어휘 선택**은 전반적으로 자연스럽다.
- 관련 맥락 유지가 짧은 구간(첫 50 토큰)에서는 비교적 잘 이루어진다.
- Cosmo 교육 데이터에서 낮은 PPL이 나타났듯, 교육적 텍스트 스타일 모방 능력이 있다.

### 6.2 현재 모델의 약점
- **사실 오류**: "대한민국의 수도는 인천이다" 같은 기본적 사실 오류가 발생한다.
- **주제 탈선**: 프롬프트와 무관한 내용으로 빠르게 탈선하는 경향이 있다.
- **EOS 미생성**: 자연스러운 완결 불가능 — 모든 생성이 max_length에서 잘림.
- **반복 루프**: repetition_penalty 없으면 극심한 반복으로 사용 불가.
- **웹 데이터 노이즈**: "SAT 시험일정", "김병윤의 축구생각" 같은 학습 데이터 노이즈가 그대로 생성된다.

### 6.3 기대치 설정

이 결과는 **instruction tuning 없는 base model의 전형적인 특성**이다. Llama-3, Qwen2.5 등의 base 모델도 동일한 조건에서 유사한 문제를 보인다. SFT 이후 다음 개선이 예상된다:
- EOS 생성율 대폭 향상 (0% → 80%+)
- 사실 오류 감소
- 반복 패턴 완화 (repetition_penalty 의존도 감소)
- 지시 수행 능력 획득

---

## 7. 결론

현재 FRANKENSTALLM 3B base 모델의 생성 품질은 **repetition penalty 없이는 사용 불가능한 수준**이다. 그러나 이는 base 모델의 일반적 특성이며, 적절한 하이퍼파라미터(t=0.7, rep_penalty=1.3) 적용 시 반복 문제는 완전히 해결된다.

**즉시 필요한 다음 단계**: Instruction SFT 또는 RLHF를 통한 파인튜닝.

---

*관련 보고서: [01_perplexity_report.md](01_perplexity_report.md) | [02_calibration_report.md](02_calibration_report.md) | [04_benchmark_report.md](04_benchmark_report.md) | [00_executive_summary.md](00_executive_summary.md)*
