Files
frankenstallm/source/eval/decision/fix_scenario.md
ModelHub XC d4abdb70fa 初始化项目,由ModelHub XC社区提供模型
Model: pathcosmos/frankenstallm
Source: Original Platform
2026-07-14 04:21:16 +08:00

11 KiB
Raw Permalink Blame History

"현 상태 개선" 시나리오 완전 분석

작성일: 2026-02-26
역할: "고쳐서 간다" 옹호자
현 상태: SFT 5000 steps, 반복률 17.7% (올바른 포맷 + rep_penalty=1.1), 목표 <5%


1. 현재 수정 사항들의 효과 예측

1.1 버그 수정 효과 정량 분석

Bug #1: Dynamic Padding 미작동

문제: SFTDataset.__init__에서 모든 샘플을 max_seq_len=4096으로 미리 패딩 → dynamic_collate_fn이 사실상 무효화.

수정 후 효과:

  • 평균 시퀀스 길이 ~385 토큰 (실측 기반 추정)
  • 패딩 비율: (4096-385)/4096 = 90.6% 낭비 제거
  • gradient 품질: 기존에는 배치 내 모든 시퀀스가 4096이므로 attention 계산에 ~3600개 PAD 토큰 포함 → attention mask로 무시되지만, backward pass에서 PAD 위치의 불필요한 연산이 gradient noise로 작용
  • 실질 gradient 품질 향상: 10-20% 추정 (직접적 loss 영향은 제한적이나, 학습 속도 3-8x 향상으로 같은 wall-time에 3-4x 더 많은 유효 step 가능)
  • 반복률 직접 영향: 미미 (~1-2%p). 이건 학습 효율 문제이지 반복 원인이 아님.

Bug #2: EOS Truncation

문제: response_ids[:allowed_response]에서 마지막 EOS 토큰 절단 가능.

수정 후 효과:

  • 영향 받는 샘플: 4096 초과 61건 (0.04%) — 이전 보고서 기준
  • 그러나 재처리된 188,234 샘플에서는 비율 다를 수 있음
  • EOS 보존으로 모든 샘플에서 종료 신호 학습 보장
  • 반복률 직접 영향: 1-3%p (EOS 학습 누락 샘플이 극소수이므로)
  • 심리적 효과 > 실질 효과: "모든 샘플이 EOS를 학습한다"는 보장이 모델 일관성에 기여

데이터 품질 개선

제거된 오염:

  • Q/A 패턴 550건: 모델이 자체 Q/A 루프를 학습하는 원천 제거
  • EOS 리터럴 113건: EOS 경계 혼란 원천 제거
  • 반복 패턴 57건: 직접적 반복 학습 원천 제거

효과 추정:

  • 총 ~720건 제거 (전체의 0.38%)
  • 수치적으로는 소량이나, 이들이 반복 패턴의 seed 역할 — 모델이 이 패턴을 한번 학습하면 생성 시 증폭됨
  • 예상 반복률 감소: 3-5%p

1.2 종합 예측: 재학습 후 반복률

현재 상태 17.7% (rep_penalty=1.1)
Bug #1 (dynamic padding) -1~2%p (간접 효과)
Bug #2 (EOS truncation) -1~3%p
데이터 오염 제거 -3~5%p
재학습 후 예상 (rep_penalty=1.1) 8-13%
재학습 후 예상 (rep_penalty 없이) 15-25%

핵심 인사이트: 현재 17.7%는 이미 "올바른 포맷 + rep_penalty"의 결과. 재학습만으로 <5%는 어려움. 추가 조치 필요.


2. 단계별 개선 계획

Phase A: 수정된 코드/데이터로 재학습 (즉시, ~40분)

설정:

- 데이터: 188,234 샘플 (val: 9,907)
- Steps: 5,000 (기존과 동일) → ~1.7 epoch
- Dynamic padding 작동 → 학습 속도 3-5x 향상
- EOS 보존 보장

예상 결과:

지표 현재 Phase A 후
Val Loss N/A (없었음) 1.85-1.92
반복률 (rep_penalty=1.1) 17.7% 8-13%
반복률 (penalty 없이) 30.7% 15-25%
학습 시간 39분 ~40분 (속도 향상되나 유효 연산 증가)

근거:

  • Dynamic padding 수정 → 실제 gradient 품질 개선 + 더 많은 유효 데이터 처리
  • 깨끗한 데이터 → 오염 패턴 미학습
  • Val split 추가 → 과적합 모니터링 가능

Phase B: ORPO 적용 (+2시간)

데이터 확보 방안:

  1. kuotient/orca-math-korean-dpo-pairs: 수학 중심, 193K — 도메인 편향 있으나 즉시 사용 가능
  2. 자체 생성 (권장):
    • 현재 모델로 동일 프롬프트에 대해 반복 출력 생성 → rejected
    • 깨끗한 데이터셋의 정답 → chosen
    • ~10K-20K 쌍 생성 가능 (1시간 소요)
  3. maywell/ko_Ultrafeedback: 60K 일반 한국어 preference

예상 결과:

지표 Phase A 후 Phase B 후
반복률 (rep_penalty=1.1) 8-13% 3-7%
반복률 (penalty 없이) 15-25% 8-15%
ko_ifeval 15-25% 20-30%

근거: ORPO가 명시적으로 "반복 출력은 나쁘다"를 학습 → 반복 억제를 모델 가중치에 내재화. rep_penalty라는 외부 보조 장치 의존도 감소.

Phase C: 고품질 SFT 데이터 추가 (+4-6시간)

추가 데이터셋:

데이터셋 크기 품질 효과
junelee/sharegpt_deepl_ko ~90K 다양한 도메인, 긴 답변
beomi/KoAlpaca-v1.1a ~21K 중상 검증된 한국어 instruction
heegyu/korean_chatgpt_corpus ~12K ChatGPT 품질 답변

예상 결과:

지표 Phase B 후 Phase C 후
반복률 (rep_penalty=1.1) 3-7% 2-5%
ko_ifeval 20-30% 25-35%

3. 타임라인 및 비용

시간 예산

Phase 준비 학습 평가 합계
A: 재학습 10분 (이미 준비됨) 40분 20분 ~1.1시간
B: ORPO 1시간 (데이터 생성) 1시간 20분 ~2.3시간
C: 데이터 추가 2시간 (다운로드+필터) 1.5시간 30분 ~4시간
합계 ~7.4시간

GPU 비용 (8× B200 기준)

  • Phase A: 0.67 GPU-hours × 8 = 5.3 GPU-hours
  • Phase B: 1.0 GPU-hours × 8 = 8.0 GPU-hours
  • Phase C: 1.5 GPU-hours × 8 = 12.0 GPU-hours
  • 총 GPU 소비: ~25 GPU-hours

마일스톤 예측

시작 → +1.1h: Phase A 완료 → 반복률 8-13% (rep_penalty)
      → +3.4h: Phase B 완료 → 반복률 3-7% (rep_penalty)
      → +7.4h: Phase C 완료 → 반복률 2-5% (rep_penalty), ko_ifeval 25-35%

4. 17.7% 반복률의 실제 위험도 평가

4.1 업계 기준

모델 등급 반복률 (3-gram) 사례
상용 최상위 (GPT-4, Claude) <1% 거의 반복 없음
상용 중상위 (GPT-3.5) 1-3% 드물게 반복
오픈소스 우수 (Llama-3 8B SFT) 3-8% 간헐적 반복
오픈소스 보통 (7B SFT) 8-15% 눈에 띄는 반복
현재 (1B SFT, rep_penalty) 17.7% 빈번한 반복
미수정 (포맷 불일치) 57% 사용 불가

4.2 실제 사용 시나리오별 영향

시나리오 17.7% 반복의 영향 허용 가능?
짧은 QA (1-2문장) 거의 무영향 (반복률 0%, 샘플 #1 참조) 가능
설명/교육 (3-5문장) 간헐적 반복, 읽을 만함 (#3, #6 참조) ⚠️ 조건부
긴 서술 (10+ 문장) 반복 눈에 띄고 품질 저하 (#4, #8 참조) 불충분
코드 생성 심각한 반복 (#2 참조, 30.5%) 사용 불가
RAG 백엔드 짧은 답변 위주면 OK ⚠️ 조건부

4.3 현실적 평가

17.7%는 "데모는 가능하나 서비스 배포는 불가"한 수준.

  • 1B 모델 기준으로는 나쁘지 않음 (대부분의 1B SFT가 비슷하거나 더 나쁨)
  • 그러나 사용자 대면 서비스에는 <5% 필요
  • rep_penalty=1.1 없이는 30.7% → 외부 보조 장치 의존이 높음

5. 현 경로의 리스크

5.1 1B 모델의 구조적 한계

반복 퇴화가 스케일 문제인가?

부분적으로 YES.

  • 1B 모델은 hidden dim 2048, 24 layers — attention head당 표현력이 제한적
  • 긴 시퀀스에서 이전 토큰들을 "기억"하는 capacity 부족 → 같은 패턴 반복
  • 경험적 데이터: 7B+ 모델은 동일 SFT에서 반복률이 1/3~1/5로 감소
  • 1B에서 반복률 <5% 달성은 가능하나 많은 노력 필요 (ORPO/DPO 필수)

스케일 외 요인:

  • EOS 학습 품질 (수정됨 )
  • 데이터 오염 (제거됨 )
  • 학습 epoch 부족 (2 epoch → 3-4 epoch 필요)

5.2 데이터 오염의 가중치 영향

회복 가능한가? → YES, 높은 확률로.

근거:

  1. 오염 데이터 720/159,125 = 0.45% — 모델 가중치에 미친 영향 극히 제한적
  2. SFT는 pretrain 가중치 위에 fine-tuning — pretrain 가중치는 무관
  3. 재학습 시 clean 데이터로 from scratch (기존 SFT 체크포인트가 아닌 base checkpoint에서) → 오염 완전 제거
  4. 188,234 clean 샘플로 재학습하면 이전 오염의 잔재 없음

5.3 최악의 시나리오: 고쳐도 안 되는 경우

시나리오 확률 대응
Phase A 후에도 반복률 >20% 15% Phase B (ORPO) 즉시 진행
Phase A+B 후에도 반복률 >10% 10% Unlikelihood Training loss 추가
모든 Phase 후에도 반복률 >5% 5% 1B 한계 인정, 3B 전환
재학습이 기존보다 악화 <3% 하이퍼파라미터 문제, LR 조정

최악 시나리오 발생 시 손실:

  • 시간: 최대 7.4시간
  • 수확: 최소한 데이터 파이프라인 정비 + val split 확보 + 버그 수정 완료 → 3B로 전환해도 이 인프라는 재사용

6. 최종 판정

수치 요약

항목 현재 Phase A Phase A+B Phase A+B+C
반복률 (rep_penalty) 17.7% 8-13% 3-7% 2-5%
반복률 (penalty 없이) 30.7% 15-25% 8-15% 5-12%
ko_ifeval 미측정 15-25% 20-30% 25-35%
소요 시간 (누적) 0 1.1h 3.4h 7.4h

성공 확률

목표 성공 확률 경로
반복률 <10% (rep_penalty) 85% Phase A만으로 가능
반복률 <5% (rep_penalty) 70% Phase A+B 필요
반복률 <5% (penalty 없이) 40% Phase A+B+C 전부 필요
ko_ifeval 20-35% 65% Phase A+B+C
두 목표 동시 달성 55% Phase A+B+C

권장 여부

권장: "고쳐서 간다"

근거:

  1. 이미 수정 완료: 코드 버그 2개 수정, 데이터 재처리 완료 — 재학습만 하면 됨
  2. 비용 대비 효과: Phase A는 40분이면 끝나고, 반복률 8-13%까지 확보 가능
  3. 점진적 개선 가능: Phase A → B → C를 순차적으로 진행하며 매 단계 평가 가능
  4. 최악의 경우에도 손실 최소: 7.4시간 투자로 최소한 인프라 정비 완료
  5. 3B 전환 시에도 재사용: clean 데이터, val split, 수정된 코드는 3B SFT에 그대로 사용

권장하지 않는 경우:

  • ko_ifeval 40%+ 같은 1B 한계를 넘는 목표가 있다면 → 3B가 맞음
  • 시간이 매우 촉박하여 40분도 아깝다면 → 현재 17.7%로 데모만 하고 3B로

실행 순서

1. [즉시] Phase A: 재학습 시작 (40분)
2. [Phase A 평가]
   - 반복률 <10%? → Phase B로 (ORPO)
   - 반복률 >15%? → 하이퍼파라미터 조정 (LR 1e-5, epoch 3-4)
3. [Phase B 평가]
   - 반복률 <5%? → 목표 달성. Phase C는 선택적.
   - 반복률 5-10%? → Phase C (추가 데이터)
   - 반복률 >10%? → 1B 한계. 3B 전환 고려.

"고쳐서 가는" 경로는 비용 효율적이고, 최악의 경우에도 인프라 투자를 회수할 수 있다. Phase A 40분의 투자로 현 상태를 크게 개선할 수 있으며, 이후 ORPO와 데이터 추가로 목표 달성 확률을 높일 수 있다."