diff --git a/Home.md b/Home.md index 2dc5a06..dc2ae62 100644 --- a/Home.md +++ b/Home.md @@ -13,6 +13,7 @@ Variet LLM 프로젝트의 세션 리포트, 튜닝 로그, 설정 가이드를 ## 주요 페이지 +- [LLM 튜닝 종합 기록 (2026-04)](Tuning-2026-04-Summary.md) — 4 모델 종합 튜닝·평가·비교 - [Session 2026-04-11 Maintenance](Session-2026-04-11.md) - [Phase 01 LLM Tuning](Phase-01-LLM-Tuning.md) diff --git a/Tuning-2026-04-Summary.md b/Tuning-2026-04-Summary.md new file mode 100644 index 0000000..6872ca9 --- /dev/null +++ b/Tuning-2026-04-Summary.md @@ -0,0 +1,78 @@ +# LLM 튜닝 종합 기록 (2026-04) + +**Session dates**: 2026-04-15 ~ 2026-04-16 +**Scope**: 4개 역할 모델 (fast, balanced, deep-logic, deep-coder) 종합 튜닝·평가·비교 + +## 결론 한 줄 + +**`fast (Gemma 4 26B-A4B)` 주 모델 잠정 확정**. 속도 1,341 t/s prompt / 28 t/s gen (140K ctx). 나머지 3 모델은 명시적 스위치 용도. + +## 4 역할 최종 config + +| Role | Model | ctx | ub | KV | mmproj | ts | Prompt t/s | Gen t/s | +|---|---|---|---|---|---|---|---|---| +| **fast** 🥇 | Gemma 4 26B-A4B | 140K | 512 | q8_0 | VRAM | 0.46,0.54 | **1,341** | **28** | +| balanced | Qwen 3.5 35B-A3B | 140K | 320 | q4_0 | RAM | 0.50,0.50 | 1,058 | 25.7 | +| deep-logic | Qwen 3.5 27B | 140K | 256 | q4_0 | VRAM | 0.47,0.53 | 403 | 17.7 | +| deep-coder | Gemma 4 31B | 128K | 128 | q4_0 | RAM | 0.50,0.50 | 224 | 7.6 | + +## 주요 발견 + +### 🚨 Qwen 3.5 greedy 금지 +`temperature=0.0` 시 thinking endless loop. 47분 hang 검증. 공식 sampling 필수: +- General: `temp=1.0, top_p=0.95, top_k=20, min_p=0, presence_penalty=1.5` +- Coding: `temp=0.6, top_p=0.95, top_k=20, min_p=0, presence_penalty=0` + +### ✅ fast FULL ctx 최대치 +- Verified 안전: **140K + ub512** +- 실험 확인: **174K + ub384** (99.98% fill FULL 완주) + +### ✅ Gemma 4 31B 물리 한계 128K +140K 시도 시 재현적으로 seq 114K에서 OOM. `-sm row`는 역효과. + +### ✅ Qwen 3.5 27B sweet spot 140K +[실사용자 Aayush Garg 2026-04](https://aayushgarg.dev/posts/2026-04-05-qwen35-vs-gemma4/) 보고 "4090 24GB에서 130K sweet spot"과 일치. + +## 문서 전체 구조 + +프로젝트 로컬: `docs/tuning-2026-04/` + +- `README.md` — 인덱스 및 목차 +- `00-overview.md` — 요약, 잠정 확정, 미완료 과제 +- `01-hardware-server.md` — 원격 Ubuntu 서버 (192.168.10.4), RTX 3060 ×2 +- `02-methodology.md` — VRAM 계산 공식, 샘플링 연구, 테스트 방법론 +- `03-model-profiles.md` — 4 모델 아키텍처·설정·성능 상세 +- `04-test-cases-complete.md` — **모든 실행 테스트 기록** (성공/실패/대안) +- `05-final-recommendations.md` — 최종 config + 스위칭 전략 +- `06-lessons-learned.md` — 교훈 10개, 함정, 향후 작업 +- `07-references.md` — 공식 문서, 학계 논문, 커뮤니티 레퍼런스 + +## 결과 아카이브 + +- `docs/tuning-2026-04/results/` — 모든 테스트 실행 결과 JSON (9개) +- `scripts/eval_suite.py` — per-model 공식 sampling 내장 평가 러너 + +## 향후 작업 + +### High Priority +1. **T7** 언어 드리프트 테스트 (사용자 직접 보고한 Gemma 드리프트 검증) +2. **T9** 도구 체인 후 한국어 유지 (Hermes/OpenClaude 핵심 패턴) + +### Medium Priority +3. N=3 이상 통계적 반복 (현 N=1 한계 극복) +4. 자체 벤치마크 일부 (MMLU Korean, HumanEval Korean) + +### Low Priority +5. `--main-gpu 1` 실험 (mmproj G1 이동으로 fast 180K+ 가능성) +6. `-ot` dummy override PP auto-off 트릭 +7. fast ub ladder clean 측정 (256/384/512/768) + +### Application Layer +8. Hermes 컨텍스트 관리 스킬 (60% compact, 85% offload 임계) +9. OpenClaude context management 통합 + +## 참고 작업 + +- Vikunja 작업 ID: **#633** (프로젝트 14, Done) +- Gitea Wiki: 이 페이지 +- 다음 세션 재개 체크리스트: [06-lessons-learned.md](../../docs/tuning-2026-04/06-lessons-learned.md) "다음 세션 시작 체크리스트" 섹션 참조