refactor(phase-01): v3 retune fast & balanced roles

fast (Gemma 4 26B-A4B):
- Enable mmproj GPU loading (vision ~1s, 12x faster than CPU)
- KV f16 → q8_0 (save ~2.5 GB VRAM for mmproj)
- Tensor split 0.5,0.5 → 0.43,0.57 (13/17 layers)
- Remove --mlock/--poll/--prio/-t/-tb (no measurable impact)
- measured_tps 74.65 → 71.89 (trade 3.7% speed for vision)

balanced (Qwen 3.5 35B-A3B):
- Tensor split 0.5,0.5 → 0.48,0.52 (enables pipeline parallelism)
- Ubatch 128 → 256 (prefill +78%: 649 → 1,157 t/s)
- mmproj + --no-mmproj-offload (CPU vision, VRAM headroom)
- Remove useless flags same as fast
- measured_tps 61.62 → 64.16 (+4.1%)

Other:
- Document full retuning in docs/v3_{fast,balanced}_retuning_log.md
- Session report at .planning/reports/20260411-session-report.md
- Add bench utilities: bench_short/bench_long/test_ts_ratios
- Speculative decoding (E2B draft) experimented but rejected
  (+14% gen vs -31% cold start + tokenizer mismatch + mmproj conflict)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Variet-Worker
2026-04-11 14:55:27 +09:00
parent 219985b9ce
commit 0dee779a73
9 changed files with 1135 additions and 80 deletions

View File

@@ -4,16 +4,16 @@
| # | 모델 | 역할 | 실측 속도 | 컨텍스트 | GPU 구성 | 상태 |
|:-:|------|------|:--------:|:-------:|----------|:----:|
| 1 | Gemma 4 26B-A4B Q4_K_M | fast | 74.65 t/s | 256K | 듀얼 | ✅ |
| 2 | Qwen 3.5 35B-A3B Q4_K_M | balanced | 61.62 t/s | 256K | 듀얼 | ✅ |
| 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 → **74.65 t/s**
- [x] Balanced tier ≥ 50 t/s → **61.62 t/s**
- [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 이내 → ✅
@@ -21,3 +21,29 @@
## 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)