# 02. 생성 품질 평가 보고서

**모델**: `korean_1b_fp8_run1` (1.19B 파라미터, 34,000 steps)
**평가일**: 2026-02-26
**평가자**: llm-bang 실험팀

---

## 1. 실험 설정

| 항목 | 값 |
|------|----|
| 모델 | korean_1b_fp8_run1 (체크포인트: step-34000) |
| 파라미터 수 | ~1.19B |
| 추론 dtype | BF16 |
| 하드웨어 | 1× NVIDIA B200 (192GB VRAM) |
| temperature | 0.8 |
| top_p | 0.9 |
| top_k | 50 |
| max_new_tokens | 200 |
| 테스트 프롬프트 수 | 10개 |
| 프롬프트 카테고리 | 사실 지식, 창의 생성, 코드, 수학, 요리, 역사 |

> **참고**: 이 보고서는 사전학습(pretraining)만 완료된 base 모델을 대상으로 한다. Instruction tuning(SFT) 및 RLHF는 적용되지 않았다.

---

## 2. 생성 결과

### 프롬프트 1: 사실 지식 — 수도

**입력 프롬프트**:
```
한국의 수도는
```

**생성 결과**:

> 한국의 수도는서울입니다.'서울'이라는 도시는 대한민국 수도이자, '서울'이라는 도시의 이름은 대한민국 수도이자, 서울의 옛이름이기도 한 '한성'입니다.'한성'은 서울의 옛 이름이고, '한성'은 수도 서울의 옛 이름이기도 합니다. (이후 반복...)

**분석**:
- 서울이 수도라는 핵심 사실은 올바르게 생성함.
- '한성'이 서울의 옛 이름이라는 사실도 맞지만, 이후 동일 설명이 반복적으로 나열되며 퇴화함.
- 사실 정확도는 부분적(Partial). 반복 퇴화(repetition degeneration) 징후 존재.

---

### 프롬프트 2: 개념 설명 — 인공지능

**입력 프롬프트**:
```
인공지능이란
```

**생성 결과**:

> 인공지능이란?1. '인공지능(AI)'의 등장 배경 2. 인공지능이 가진 특징 3. 인공지능의 기능 4. 인공지능의 문제점 5. 인공지능의 미래... (목차 구조 반복)

**분석**:
- 레포트 또는 에세이의 목차 구조를 생성함. 실제 내용 없이 목차만 나열.
- 학습 데이터에 레포트/목차 형식의 문서가 상당 비율 포함되어 있음을 시사.
- 반복은 없으나 정보 밀도가 매우 낮음. 의미 있는 답변으로 보기 어려움.

---

### 프롬프트 3: 창의 생성 — 일상 서술

**입력 프롬프트**:
```
오늘 날씨가 좋아서
```

**생성 결과**:

> 더 열심히 했어요..이번에는 여름을 주제로 한 노래들을 모아서 소개해드리려고 해요..'SUMMER SONIC'을 가져왔어요...

**분석**:
- 자연스러운 블로그 포스트 톤으로 생성됨.
- 날씨 이야기에서 노래 추천으로 전환되었으며, 창의적이지만 맥락이 다소 벗어남.
- 10개 프롬프트 중 반복이 없는 가장 자연스러운 생성 사례 중 하나.
- 학습 데이터에서 일상 블로그 포스트 스타일이 모델에 잘 흡수된 것으로 보임.

---

### 프롬프트 4: 사실 지식 — 역사적 사건

**입력 프롬프트**:
```
대한민국의 역사에서 가장 중요한 사건은
```

**생성 결과**:

> 대한민국 임시정부 수립입니다. (이후 같은 문장 11번 이상 반복)

**분석**:
- '대한민국 임시정부 수립'이라는 핵심 사실 자체는 역사적으로 타당한 답변임.
- 그러나 이후 동일 문장이 11번 이상 반복되는 심각한 반복 퇴화가 발생함.
- Trigram repetition 비율: **87.7%** — 가장 심각한 반복 퇴화 사례.
- Beam search 또는 repetition penalty 없이 greedy/top-p 샘플링만으로는 이러한 퇴화가 빈번하게 나타남.

---

### 프롬프트 5: 실용 정보 — 교통

**입력 프롬프트**:
```
서울에서 부산까지 가는 방법은
```

**생성 결과**:

> KTX와 SRT 두 가지. 요금 정보 제공 (부정확한 수치).

**분석**:
- 구조적으로 정돈된 답변을 생성함.
- KTX와 SRT를 구분하는 것은 정확함.
- 그러나 요금 수치가 실제와 다름 — 수치적 사실(hallucination) 문제 발생.
- 1B 모델의 사실 기억 한계가 드러나는 전형적인 사례.

---

### 프롬프트 6: 코드 생성 — Python

**입력 프롬프트**:
```
다음은 파이썬 코드입니다:
def hello():
```

**생성 결과**:

> print("Hello World!"); 이후 반복 퇴화.

**분석**:
- 기초적인 `print("Hello World!")` 완성은 가능함.
- 이후 의미 있는 코드 생성 없이 반복 퇴화로 진입.
- 코드 생성 능력은 매우 제한적임.
- 1B 한국어 특화 모델의 특성상 코드 학습 데이터 비율이 낮아 코드 능력이 부족한 것으로 보임.

---

### 프롬프트 7: 수학 — 산술

**입력 프롬프트**:
```
1 + 1 = 2이고, 2 + 2 =
```

**생성 결과**:

> 4인데, 이후 n + 2 = ... 패턴 반복하며 점점 오답. 21 + 2 = 40, 22 + 2 = 44 등.

**분석**:
- `2 + 2 = 4`는 올바르게 생성함.
- 이후 덧셈 패턴을 계속 이어가지만 수치가 점점 틀려짐 (예: `21 + 2 = 40`, `22 + 2 = 44`).
- 실제 산술 연산 능력은 없으며, 숫자 패턴을 표면적으로 모방하는 수준임.
- 수학적 추론 능력은 pretrain만으로는 형성되기 어려우며, 수식 데이터 추가 및 chain-of-thought 학습이 필요함.

---

### 프롬프트 8: 창의 생성 — 시적 서술

**입력 프롬프트**:
```
봄이 오면 꽃이 피고
```

**생성 결과**:

> 꽃이 지면 열매가 열린다... 만물이 소생하는 봄... (반복)

**분석**:
- 시적·서정적 서술 톤을 잘 포착함.
- 한국어 문학적 표현 패턴(계절 묘사, 자연 순환)을 자연스럽게 이어감.
- 후반부에서 반복 퇴화로 진입하지만, 초반부 생성 품질은 양호함.
- 한국어 문학 및 수필 스타일 학습이 잘 되어 있음을 시사.

---

### 프롬프트 9: 실용 지식 — 요리 레시피

**입력 프롬프트**:
```
맛있는 김치찌개를 만들려면
```

**생성 결과**:

> 찹쌀을 불려야 합니다... (잘못된 레시피)

**분석**:
- 레시피 형식(재료 나열, 순서 설명)은 맞추고 있음.
- 내용이 부정확함: 김치찌개 레시피에 찹쌀은 사용하지 않음.
- 도메인 특화 지식에서의 hallucination이 명확하게 드러나는 사례.
- 1B 모델이 레시피 형식은 학습했으나 실제 요리 지식의 정확성은 담보되지 않음.

---

### 프롬프트 10: 사실 지식 — 역사 인물

**입력 프롬프트**:
```
세종대왕은
```

**생성 결과**:

> 조선을 건국하고... (세종이 아니라 태조의 업적을 서술). 사실 오류 다수.

**분석**:
- 세종대왕의 가장 대표적인 업적인 훈민정음 창제를 언급하지 않음.
- 조선 건국은 태조 이성계의 업적으로, 세종대왕과 혼동하는 심각한 사실 오류.
- 역사 인물 관련 사실 정확도가 낮음.
- 1B 모델의 사실 기억 및 개체 구분 한계를 명확히 보여주는 사례.

---

## 3. 종합 분석

### 3.1 정량 지표 요약

| 프롬프트 | 카테고리 | 반복 퇴화 | 사실 정확도 | 자연스러움 |
|----------|----------|-----------|-------------|-----------|
| 1. 한국의 수도는 | 사실 지식 | 중간 | 부분적 | 보통 |
| 2. 인공지능이란 | 개념 설명 | 없음 | 낮음 (무내용) | 낮음 |
| 3. 오늘 날씨가 좋아서 | 창의 생성 | 없음 | N/A | 높음 |
| 4. 대한민국의 역사 | 사실 지식 | 심각 (87.7%) | 부분적 | 낮음 |
| 5. 서울→부산 교통 | 실용 정보 | 없음 | 부분적 | 높음 |
| 6. 파이썬 코드 | 코드 생성 | 중간 | 낮음 | 낮음 |
| 7. 1+1=2, 2+2= | 수학 | 중간 | 낮음 | 낮음 |
| 8. 봄이 오면 | 창의/시적 | 경미 | N/A | 높음 |
| 9. 김치찌개 레시피 | 실용 지식 | 없음 | 낮음 | 보통 |
| 10. 세종대왕은 | 역사 인물 | 없음 | 매우 낮음 | 보통 |

### 3.2 강점

1. **한국어 문법 및 자연스러운 문장 생성**: 문법적으로 올바른 한국어 문장을 생성하며, 블로그·일상 서술 톤에서 특히 자연스럽다.
2. **문학적·서정적 표현**: 시적 서술 프롬프트(프롬프트 8)에서 한국어 문학 스타일을 잘 포착하였다.
3. **구조적 형식 학습**: 레시피, 목차, 교통 정보 등 다양한 문서 형식을 인식하고 해당 구조로 생성하는 능력이 있다.
4. **기초 사실 인식**: 서울이 수도, KTX/SRT 구분, 임시정부 수립 등 기초적인 사실은 부분적으로 맞추고 있다.

### 3.3 약점

1. **반복 퇴화 (Repetition Degeneration)**
   - 10개 프롬프트 중 3개(프롬프트 1, 4, 8)에서 중간 이상의 반복 퇴화 발생.
   - 프롬프트 4의 경우 trigram 반복률 87.7%로 가장 심각.
   - Base pretrain 모델에서 repetition penalty 없이 greedy/top-p 샘플링 시 나타나는 일반적인 현상이나, 현재 수준은 개선이 필요함.

2. **사실 정확도 (Factual Accuracy)**
   - 수치 정보(교통 요금), 역사 인물 업적, 요리 레시피 등 디테일에서 hallucination 빈발.
   - 특히 역사 인물(세종대왕 vs. 태조 혼동)에서 개체 구분 오류가 두드러짐.
   - 1B 파라미터 규모의 base 모델로서 예상 범위 내의 한계이나, 실사용에는 적합하지 않음.

3. **코드 생성 능력**
   - 기초적인 코드 완성 외 실질적인 코드 생성 불가.
   - 한국어 특화 학습 데이터 특성상 코드 비율이 낮은 것이 주요 원인.

4. **수학 및 산술 능력**
   - `2 + 2 = 4` 수준의 단순 연산만 가능하며 이후 산술 패턴 모방으로만 동작.
   - 실질적인 수치 추론 능력 없음.

5. **전문 지식 정확도**
   - 레시피, 요금 등 전문/실용 지식 도메인에서 형식은 맞추나 내용의 정확성이 낮음.

### 3.4 1B Base 모델 관점에서의 종합 평가

사전학습(pretraining)만 완료된 1.19B base 모델로서, 이번 생성 품질 평가 결과는 **예상 범위 내**에 해당한다.

- 동일 규모의 타 오픈소스 1B base 모델(예: TinyLlama-1.1B, EXAONE-3.0-1.2B 초기 버전 등)과 비교 시 한국어 유창성 측면에서는 경쟁력 있는 수준.
- Instruction tuning(SFT) 및 RLHF 없이 반복 퇴화가 나타나는 것은 GPT-2, LLaMA-1 등 base 모델에서도 공통적으로 관찰되는 현상임.
- 사실 정확도의 한계는 1B 파라미터의 구조적 제약으로, 7B+ 모델에서 개선이 기대됨.

---

## 4. 개선 방향

### 4.1 단기 개선 (현재 모델에 즉시 적용 가능)

| 방법 | 효과 | 적용 난이도 |
|------|------|------------|
| `repetition_penalty=1.1~1.3` 적용 | 반복 퇴화 완화 | 낮음 (추론 파라미터 조정) |
| `no_repeat_ngram_size=3` 적용 | n-gram 반복 차단 | 낮음 (추론 파라미터 조정) |
| temperature 조정 (0.7~0.75) | 생성 안정성 향상 | 낮음 |

### 4.2 중기 개선 (추가 학습 필요)

1. **SFT (Supervised Fine-Tuning)**
   - 지시문 따르기(instruction-following) 능력 부여
   - 반복 퇴화 근본적 완화
   - 추천 데이터: Open-Platypus-ko, KoAlpaca, LIMA-ko 등

2. **코드 및 수학 데이터 추가 pretraining**
   - Python/코드 데이터(The Stack, CodeSearchNet 등) 혼합 학습
   - 수식 및 chain-of-thought 데이터 추가
   - 권장 비율: 코드 10~15%, 일반 한국어 85~90%

3. **RLHF / DPO**
   - 사실 정확도 및 지시 준수 추가 개선
   - 1B 규모에서는 DPO(Direct Preference Optimization)가 비용 대비 효과적

### 4.3 장기 개선 (모델 규모 확장)

- **7B+ 모델**로 확장 시 사실 정확도, 코드 생성, 수학 추론 능력 전반적으로 향상 기대.
- 현재 하드웨어(8× B200, ~1.47TB VRAM)로 7B FSDP 학습 충분히 가능.
- 한국어 특화 7B 모델 pretraining 후 SFT → DPO 파이프라인 적용 권장.

---

## 5. 결론

`korean_1b_fp8_run1` 모델(1.19B, 34k steps)은 한국어 문법 및 문체 생성 능력을 갖춘 base 모델로서의 기본 역할을 수행하고 있다. 블로그·일상·서정적 텍스트 생성에서 자연스러운 결과를 보이며, FP8 + DDP 환경의 학습 파이프라인이 안정적으로 동작했음을 확인하였다.

그러나 사실 정확도, 반복 퇴화, 코드/수학 능력 부재는 현재 모델의 명확한 한계이다. 이는 1B base 모델에서 일반적으로 기대되는 수준이며, SFT → DPO 파이프라인을 통해 상당 부분 개선 가능하다. 추후 7B 규모로의 확장을 통해 사실 정확도와 추론 능력의 근본적인 향상을 도모하는 것이 권장된다.

---

*이 보고서는 `eval/generate.py`를 통해 생성된 결과를 수동으로 분석한 것이다.*
*관련 평가 스크립트: `/PROJECT/0325120031_A/ghong/taketimes/llm-bang/eval/generate.py`*
