12 KiB
보고서 03 — 반복 분석 및 캘리브레이션 점검
모델: korean_1b_fp8_run1 (~1.19B 파라미터) 학습 단계: 34,000 steps 작성일: 2026-02-26
Part A — 반복 분석 (Repetition Analysis)
1. N-gram 반복률 결과
아래 표는 10개 프롬프트에 대해 greedy decoding으로 생성한 출력의 N-gram 반복률을 측정한 결과다. 각 열의 값은 전체 생성 토큰 중 이미 등장한 N-gram이 다시 등장하는 비율을 나타낸다.
| 프롬프트 | 1-gram | 2-gram | 3-gram | 4-gram | 판정 |
|---|---|---|---|---|---|
| 한국의 수도는 | 75.3% | 68.4% | 65.3% | 64.9% | DEGENERATE |
| 인공지능이란 | 50.7% | 31.9% | 29.6% | 27.1% | OK |
| 오늘 날씨가 좋아서 | 7.6% | 0.0% | 0.0% | 0.0% | OK |
| 대한민국의 역사... | 90.7% | 89.2% | 87.7% | 86.9% | DEGENERATE |
| 서울에서 부산까지 | 24.1% | 7.3% | 2.5% | 0.0% | OK |
| 파이썬 코드 | 75.0% | 71.8% | 68.4% | 64.9% | DEGENERATE |
| 1 + 1 = 2이고 | 69.9% | 44.7% | 22.1% | 0.0% | OK |
| 봄이 오면 꽃이 피고 | 30.0% | 15.2% | 9.2% | 6.2% | OK |
| 김치찌개를 만들려면 | 31.0% | 11.1% | 5.1% | 3.1% | OK |
| 세종대왕은 | 14.8% | 7.5% | 5.1% | 3.8% | OK |
| 평균 | 46.9% | 34.7% | 29.5% | 25.7% | — |
판정 기준: 4-gram 반복률 50% 초과 또는 3-gram 반복률 60% 초과 시 DEGENERATE로 분류 DEGENERATE 비율: 3/10 (30%)
2. 분석
2-1. 반복 퇴화(degenerate repetition)의 원인
1. 1B base model의 전형적 한계
1B 규모의 base pretrain 모델은 학습된 확률 분포에서 고확률 시퀀스가 반복 루프에 진입하는 경향이 있다. Greedy decoding은 매 step마다 가장 높은 확률의 토큰을 선택하므로, 모델이 한 번 특정 패턴을 생성하면 그 패턴이 다음 토큰 예측에 유리한 컨텍스트로 작용해 스스로 강화된다.
2. Full-sequence forward의 컨텍스트 누적 효과
KV cache 없이 full-sequence forward 방식으로 생성할 경우, 앞에서 반복된 토큰들이 컨텍스트를 점유하여 이후 생성에서 같은 패턴을 더욱 높은 확률로 유도한다. 반복이 반복을 낳는 피드백 루프가 형성된다.
3. 사실 기반 프롬프트에서의 취약성
"한국의 수도는", "대한민국의 역사" 같은 프롬프트는 모델이 단일 사실(예: "서울")을 알지만, 그 사실을 기반으로 다음 문장으로 전환하는 다양성이 부족할 때 반복이 발생한다. 모델은 "서울은 수도입니다. 서울은 수도입니다." 식으로 동일한 문장을 반복 생성한다.
4. 코드 프롬프트의 취약성
"파이썬 코드" 프롬프트에서도 DEGENERATE 판정이 나타났다. 이는 학습 데이터의 한국어 코드 관련 문서가 상대적으로 부족하기 때문으로 추정된다. 코드 구조(들여쓰기, 반복 키워드)가 N-gram 반복률을 높이는 효과도 있다.
2-2. 양호한 프롬프트의 특성
"오늘 날씨가 좋아서", "김치찌개를 만들려면", "세종대왕은" 등 개방형이고 생활 밀착형인 프롬프트에서는 반복률이 낮다. 이들 프롬프트는 학습 데이터에서 다양한 방식으로 이어지는 문장과 연결되어 있어 모델이 여러 경로를 탐색할 수 있기 때문이다.
2-3. 1B pretrain-only 모델 기준에서의 평가
Instruction tuning(SFT/RLHF) 이전의 base pretrain 모델에서 30% degenerate는 예상 범위 내다. GPT-2(1.5B), OPT-1.3B 등 동급 모델들도 greedy decoding에서 비슷한 수준의 반복 문제를 보였다. 모델 크기가 커지거나 instruction tuning이 적용되면 이 비율은 대폭 감소한다.
3. 개선 전략
3-1. 샘플링(Sampling) 단계 개선
생성 시 아래 기법을 적용하면 반복 문제를 즉시 완화할 수 있다.
- Repetition penalty (theta = 1.2~1.5): 이미 생성된 토큰의 로짓을 페널티로 감소시켜 반복을 억제. theta=1.3이 품질과 다양성의 균형점으로 추천
- Frequency penalty: 단순 반복뿐 아니라 빈번하게 등장하는 토큰 전체를 억제
- Top-p (nucleus) sampling: p=0.9로 설정하면 greedy의 반복 루프를 끊는 데 효과적
- Temperature: 0.7~0.9 범위에서 다양성을 높이면서도 coherence 유지
3-2. 학습 단계 개선
- SFT (Supervised Fine-Tuning): 다양한 질문-답변 쌍으로 fine-tuning하면 instruction following 능력과 동시에 반복 억제 패턴이 학습됨
- DPO (Direct Preference Optimization): 반복이 심한 출력을 rejected로, 다양한 출력을 chosen으로 설정하면 반복 문제를 직접 줄일 수 있음
- 데이터 다양성 강화: 코드, 사실 서술 관련 한국어 데이터를 보강하면 해당 도메인의 반복 취약성 개선
3-3. 모델 크기 확장
7B 이상 모델에서 반복 문제가 감소하는 경향이 있다. 현재 1B base pretrain 수준에서는 반복이 구조적으로 발생할 수밖에 없으며, 모델 capacity 증가가 가장 근본적인 해결책이다.
Part B — 캘리브레이션 점검 (Calibration Check)
1. 결과
검증 데이터셋에서 10,240개 토큰을 샘플링하여 모델의 예측 신뢰도와 정확도를 측정했다.
| 지표 | 값 |
|---|---|
| 분석 토큰 수 | 10,240 |
| 평균 정답 토큰 확률 (Mean correct-token prob) | 0.4738 |
| 평균 예측 엔트로피 | 2.2413 nats |
| Accuracy @1 (Top-1 정확도) | 56.18% |
| Accuracy @5 | 72.35% |
| Accuracy @10 | 77.75% |
2. 분석
2-1. Accuracy@1 = 56.18%
다음 토큰을 56%의 확률로 정확히 맞힌다는 것은 1B 규모 모델 기준으로 양호한 수치다. 비교 기준으로, GPT-2(1.5B)의 영어 WikiText에서의 Top-1 accuracy가 약 40~50% 수준이었으므로, 한국어 데이터에서 56%는 그보다 높은 수준이다.
한국어 특성상 조사(이/가, 을/를, 은/는), 어미(~다, ~고, ~서), 문장 종결어미 등 문법적으로 예측 가능한 토큰이 많아 accuracy가 상대적으로 높게 나타날 수 있다는 점도 고려해야 한다. 그럼에도 불구하고 56%는 모델이 언어 구조를 충분히 학습했음을 나타낸다.
2-2. Accuracy@5 = 72.35%
Top-5 안에 정답이 있는 비율이 72%로, 모델이 합리적인 후보군을 잘 제시하고 있다. Accuracy@1(56%)과 @5(72%) 사이의 격차는 약 16%p다. 이는 모델이 확신하지 못하는 토큰이 16% 정도 존재하지만, 그 토큰들은 여전히 상위 5개 후보군 안에 포함시킨다는 의미다. 즉 모델이 틀릴 때도 "합리적으로 틀린다"는 것을 시사한다.
2-3. Accuracy@10 = 77.75%
@5(72.35%)와 @10(77.75%) 사이의 격차는 약 5%p로, @1→@5 격차(16%p)보다 크게 줄어든다. Top-5를 넘어서면 추가적인 이득이 급격히 감소하는 수익 체감 구조다. 나머지 22.25%의 토큰은 Top-10에도 포함되지 않으며, 이들은 주로 다음에 해당할 가능성이 높다:
- 고유명사: 인물명, 지명, 브랜드명 등 학습 빈도가 낮은 토큰
- 숫자 및 수치: 특정 연도, 금액, 통계 수치
- 드문 표현: 저빈도 어휘, 전문 용어, 신조어
이 22.25%가 모델의 실질적인 취약 구간이다.
2-4. Mean correct-token prob = 0.4738
정답 토큰에 부여하는 평균 확률이 47%다. 이는 모델이 정답 토큰을 절반에 가까운 확률로 "가장 유력한 후보"로 지목한다는 의미로, 꽤 높은 확신도다.
NLL(Negative Log-Likelihood)과의 관계에서 PPL = exp(mean NLL) ≈ exp(−ln(0.4738)) ≈ 1/0.4738 ≈ 2.11 이 되어야 하지만, 실제 측정된 엔트로피가 2.2413 nats임을 고려하면 PPL ≈ exp(2.2413) ≈ 9.4 수준이다. 이는 10,240 토큰 subset의 통계로, 전체 검증셋의 PPL=6.95와 다소 차이가 있으나 subset 샘플링 편향 범위 내다.
2-5. Mean entropy = 2.2413 nats
- bits 변환: 2.2413 / ln(2) ≈ 3.23 bits
- 유효 후보 수: 2^3.23 ≈ 9.4개의 토큰이 실질적으로 경쟁한다는 의미
- 해석: 64K vocabulary 중 매 step마다 평균 약 9~10개의 토큰이 의미 있는 확률을 가진다는 뜻으로, 모델이 충분히 confident하면서도 완전히 결정론적이지 않음을 보여준다. 이 수준의 엔트로피는 반복 없이 다양한 생성이 가능한 healthy한 분포를 의미한다.
3. 종합 평가
캘리브레이션은 전반적으로 건강한 수준이다. 핵심 지표를 종합하면:
-
예측 품질 양호: Accuracy@1 = 56%, Accuracy@5 = 72%로, 모델이 다음 토큰을 잘 예측하며 불확실한 경우에도 합리적인 후보군을 제시한다.
-
적절한 확신도: 평균 정답 확률 47%, 평균 엔트로피 2.24 nats로, 모델이 너무 자신 없거나(under-confident) 너무 자신만만하지(over-confident) 않다. 이는 temperature=1.0에서 생성이 합리적으로 작동할 것을 시사한다.
-
Greedy decoding 적합성: Top-1이 56%이면 greedy decoding도 합리적인 결과를 줄 수 있다. 단, 다양성은 부족하므로 실제 생성 애플리케이션에서는 sampling이 권장된다.
-
취약 구간 존재: Top-10 밖의 22.25% 토큰이 모델의 실질적 약점이며, 이는 주로 factual knowledge(사실 지식) 부족에서 기인한다. 이 부분은 더 많은 학습 데이터 또는 외부 지식 소스(RAG 등) 활용으로 보완 가능하다.
4. 개선 방향
4-1. 모델 크기 증가
모델 파라미터가 늘어남에 따라 Accuracy@1이 상승하는 경향이 뚜렷하다. 7B 모델은 1B 대비 @1이 10~15%p 향상되는 것이 일반적이다. 현재 1B 모델의 56%는 기반이 탄탄하여 확장 시 좋은 출발점이 된다.
4-2. SFT 후 캘리브레이션 모니터링
SFT(Supervised Fine-Tuning) 이후 캘리브레이션이 변할 수 있다. 일반적으로 SFT 후 모델은 특정 응답 패턴에 over-confident해지는 경향이 있어 accuracy가 약간 하락하고 엔트로피가 낮아질 수 있다. SFT 완료 후 동일 지표로 재측정하여 비교를 권장한다.
4-3. Temperature 튜닝
현재 캘리브레이션 결과를 활용하여 최적 temperature를 결정할 수 있다. 평균 엔트로피 2.24 nats 기준:
- Temperature < 1.0: 엔트로피 감소, 더 결정론적 생성, 반복 위험 증가
- Temperature = 1.0: 현재 캘리브레이션 그대로 유지
- Temperature 0.7~0.8: 다양성과 coherence의 균형점으로 추천
Temperature scaling을 통해 ECE(Expected Calibration Error)를 최소화하는 최적값을 찾는 후처리 캘리브레이션도 고려할 수 있다.
4-4. Top-10 밖 취약 토큰 분석
22.25%의 Top-10 밖 토큰을 별도로 수집·분석하여 이들의 도메인 분포를 파악하면, 추가 학습 데이터 수집 방향을 결정하는 데 활용할 수 있다. 예를 들어 고유명사 관련 토큰이 많다면 위키피디아 기반 데이터를 보강하는 것이 효과적이다.
요약
| 구분 | 지표 | 값 | 평가 |
|---|---|---|---|
| 반복 분석 | DEGENERATE 비율 | 30% (3/10) | 1B base 수준에서 정상 범위 |
| 반복 분석 | 평균 4-gram 반복률 | 25.7% | 자연스러운 프롬프트에서 낮음 |
| 캘리브레이션 | Accuracy@1 | 56.18% | 양호 |
| 캘리브레이션 | Accuracy@5 | 72.35% | 양호 |
| 캘리브레이션 | Mean entropy | 2.24 nats | 건강한 분포 |
결론: korean_1b_fp8_run1 모델은 캘리브레이션 측면에서 1B pretrain 모델로서 건강한 상태를 보인다. 반복 퇴화는 사실 기반·코드 프롬프트에서 국소적으로 발생하며, sampling 전략 개선(repetition penalty, top-p)으로 즉시 완화 가능하다. 향후 SFT/DPO 단계에서 근본적인 개선이 예상된다.