Files
variet_llm/.planning/phases/01-llm-tuning/VERIFICATION.md
Variet-Worker 0dee779a73 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>
2026-04-11 14:55:27 +09:00

50 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)