# Phase 01: LLM Tuning — Verification Report

## 검증 결과

| # | 모델 | 역할 | 실측 속도 | 컨텍스트 | GPU 구성 | 상태 |
|:-:|------|------|:--------:|:-------:|----------|:----:|
| 1 | Gemma 4 26B-A4B Q4_K_M | fast | 71.89 t/s ‡ | 256K | 듀얼 | ✅ |
| 2 | Qwen 3.5 35B-A3B Q4_K_M | balanced | 64.16 t/s † | 256K | 듀얼 | ✅ |
| 3 | Gemma 4 31B Dense Q4_K_M | deep-coder | 16.0 t/s | 192K | 듀얼 | ✅ |
| 4 | Qwen 3.5 27B Dense Q4_K_M | deep-logic | 16.7 t/s | 256K | 듀얼 | ✅ |
| 5 | Qwen 3.5 122B-A10B Q4_K_M | ultra | 8.95 t/s | 256K | GPU 1만 | ✅ |

## UAT 기준 달성 여부

- [x] Fast tier ≥ 70 t/s → **71.89 t/s** ✅
- [x] Balanced tier ≥ 50 t/s → **64.16 t/s** ✅
- [x] Deep tier 안정 구동 → **16.0 / 16.7 t/s** ✅
- [x] Ultra tier 구동 가능 → **8.95 t/s** ✅
- [x] 모든 모델 VRAM 12GB x 2 이내 → ✅
- [x] 최적 설정값 JSON으로 체계화 → `config/engine_models.json` ✅

## Phase Status: ✅ COMPLETE
완료 일시: 2026-04-07

---

† **balanced 역할 재튜닝 (2026-04-11):**
이후 세션에서 `balanced` (Qwen3.5-35B-A3B) 설정을 실측 기반으로 재검증. 기존 Phase 01 튜닝은 단일 GPU 환경(`found 1 CUDA devices` 로그로 확인)에서 수행됐고, 이후 듀얼 GPU + mmproj 옵션 추가로 설정이 drift된 상태였음. v3 재튜닝 결과 **61.62 → 64.16 t/s** (+4.1%) 달성. 상세 과정/증적은 [`docs/v3_balanced_retuning_log.md`](../../../docs/v3_balanced_retuning_log.md) 참조.

**주요 변경점:**
- `-ub 128 → 256` (prefill +78%, 긴 프롬프트 3,100 tok 기준 649 → 1,157 t/s)
- `-ts 0.5,0.5 → 0.48,0.52` (compute buffer 여유 확보)
- `--mlock`, `--poll 50`, `--prio 3` 제거 (실측 영향 0.04 t/s)
- `--mmproj` + `--no-mmproj-offload` 추가 (비전 기능 유지 + VRAM 858 MiB 확보)
- GPU 0 PCIe 3.0 x4 슬롯 병목 진단 → Gen 속도 62 t/s 상한 원인 규명

---

‡ **fast 역할 재튜닝 (2026-04-11):**
`fast` (Gemma 4 26B-A4B) 설정도 동일 세션에서 재검증. Phase 01 측정치 74.65는 단일 GPU 조건. 듀얼 GPU + vision 지원 추가 과정에서 **71.89 t/s**로 확정 (-3.7%). 상세 과정/증적은 [`docs/v3_fast_retuning_log.md`](../../../docs/v3_fast_retuning_log.md) 참조.

**주요 변경점:**
- `--cache-type-k/v: f16 → q8_0` (KV 절약 ~2.5 GB로 mmproj GPU 수용)
- `--mmproj models/gemma-4-26B-mmproj-F16.gguf` 신규 추가 (Vision 지원, GPU 적재)
- `-ts 0.43,0.57` (13/17 레이어 분할, mmproj 수용 공간 확보)
- `-ub 512 -b 2048` (유지, 스윗스팟 재확인)
- `--mlock`, `--poll 50`, `--prio 3`, `-t 6`, `-tb 6` 제거
- Speculative Decoding(E2B draft) 실험 후 **채택 안 함** — +14% 이득 vs 복잡성/cold start 페널티
- Vision GPU 인코딩 ~1초 (640×640 image, 283 tokens)
