feat: Variet Engine v1.0 + 5-model tuning complete
Phase 01 (LLM Tuning): - Gemma4 26B: 74.65 t/s (fast) - Qwen 35B: 61.62 t/s (balanced) - Gemma4 31B: 16.0 t/s (deep-coder) - Qwen 27B: 16.7 t/s (deep-logic) - Qwen 122B: 8.95 t/s (ultra, GPU 1 only) Phase 02 (API Engine): - FastAPI reverse proxy on port 8000 - /engine/switch hot-swap with 503 protection - config/engine_models.json as single source of truth - Replaced 4 individual .bat files with unified engine File cleanup: - scripts/ 85 files -> 9 + _archive/ - Root .bat files -> _archive/
This commit is contained in:
@@ -1,34 +1,56 @@
|
||||
{
|
||||
"version": "1.0",
|
||||
"timestamp": "2026-04-06T21:18:00+09:00",
|
||||
"phase": "01",
|
||||
"phase_name": "llm-tuning",
|
||||
"phase_dir": ".planning/phases/01-llm-tuning",
|
||||
"plan": 1,
|
||||
"task": 3,
|
||||
"total_tasks": 5,
|
||||
"status": "paused",
|
||||
"completed_tasks": [
|
||||
{"id": 1, "name": "Evaluate 122B Single GPU", "status": "done", "commit": ""},
|
||||
{"id": 2, "name": "Evaluate 122B Dual GPU memory geometric splitting", "status": "done", "commit": ""},
|
||||
{"id": 3, "name": "Calculate theoretical limits of DDR4 MoE fetching", "status": "done", "commit": ""},
|
||||
{"id": 4, "name": "Test Qwen 27B Dense context bounds limits", "status": "in_progress", "progress": "Confirmed -c 262144 boots successfully"}
|
||||
"version": "2.0",
|
||||
"timestamp": "2026-04-07T18:07:00+09:00",
|
||||
"current_phase": "02-api-engine",
|
||||
"phase_status": "complete",
|
||||
"next_phase": "03-vscode-extension",
|
||||
|
||||
"completed": [
|
||||
{
|
||||
"phase": "01-llm-tuning",
|
||||
"summary": "5개 모델 최적 추론 설정 확정",
|
||||
"key_output": "config/engine_models.json",
|
||||
"metrics": {
|
||||
"fast_gemma4_26b": "74.65 t/s, 256K ctx, dual GPU",
|
||||
"balanced_qwen_35b": "61.62 t/s, 256K ctx, dual GPU",
|
||||
"deep_coder_gemma4_31b": "16.0 t/s, 192K ctx, dual GPU",
|
||||
"deep_logic_qwen_27b": "16.7 t/s, 256K ctx, dual GPU",
|
||||
"ultra_qwen_122b": "8.95 t/s, 256K ctx, GPU 1 only"
|
||||
}
|
||||
},
|
||||
{
|
||||
"phase": "02-api-engine",
|
||||
"summary": "Variet Engine v1.0 — FastAPI 리버스 프록시 + 모델 핫스왑",
|
||||
"key_output": "engine/variet_engine.py",
|
||||
"features": [
|
||||
"단일 포트(8000) OpenAI-compatible API",
|
||||
"/engine/switch/{role} 핫스왑",
|
||||
"교체 중 503+Retry-After 클라이언트 보호",
|
||||
"llama-server 프로세스 생명주기 관리",
|
||||
"config/engine_models.json 기반 설정"
|
||||
],
|
||||
"verified": true
|
||||
}
|
||||
],
|
||||
"remaining_tasks": [
|
||||
{"id": 5, "name": "Evaluate Gemma-4 31B max context and speed", "status": "not_started"}
|
||||
],
|
||||
"blockers": [
|
||||
{"description": "122B Q4_K_M 20t/s Generation Speed Limit", "type": "technical", "workaround": "Physical limitation of DDR4 RAM bandwidth (50GB/s) against 4+ GB of active weights. Cannot be bypassed. Shifted focus to smaller Dense models that fit completely into VRAM."}
|
||||
],
|
||||
"human_actions_pending": [],
|
||||
"decisions": [
|
||||
{"decision": "Stop forcing Dual GPU symmetric utilization on MoE with n-cpu-moe", "rationale": "Model asymmetry forces OOM on one GPU and underutilization on the other.", "phase": "01"},
|
||||
{"decision": "Shift focus to Qwen 27B / Gemma 4 31B dense models", "rationale": "They fit 100% into VRAM, bypassing WDDM/PCIe/DDR4 bottlenecks, guaranteeing ~20+ t/s generation speeds.", "phase": "01"}
|
||||
],
|
||||
"uncommitted_files": [
|
||||
"scripts/find_max_dense.mjs",
|
||||
"scripts/tune_122b_20ts.mjs"
|
||||
],
|
||||
"next_action": "Complete speed benchmark for Qwen 27B and find max context for Gemma 4 31B",
|
||||
"context_notes": "We successfully shifted the user's focus away from physically impossible 122B Q4_K_M constraints by laying down concrete mathematical logic about VRAM/RAM bandwidth. We are now pivoting to dense models (27B/31B) to guarantee speed and context size."
|
||||
|
||||
"hardware_notes": {
|
||||
"gpu0": "RTX 3060 12GB — PCIe 3.0 x4 (B550 chipset, ~4 GB/s)",
|
||||
"gpu1": "RTX 3060 12GB — PCIe 4.0 x16 (CPU direct, ~32 GB/s)",
|
||||
"constraint": "122B MoE는 GPU 1 단독 사용 필수 (-sm none --main-gpu 1)",
|
||||
"ram": "96GB DDR4"
|
||||
},
|
||||
|
||||
"project_structure": {
|
||||
"config/engine_models.json": "5개 모델 CLI 설정 (Single Source of Truth)",
|
||||
"engine/variet_engine.py": "FastAPI 프록시 + llama-server 관리자",
|
||||
"start_variet_engine.bat": "원클릭 엔진 런처",
|
||||
"scripts/optimal_configs.py": "실측 레퍼런스 (deprecated)",
|
||||
"scripts/_archive/": "튜닝/벤치마크 이력 보관"
|
||||
},
|
||||
|
||||
"next_steps": [
|
||||
"Machine A에서 start_variet_engine.bat 상시 구동 설정 (작업 스케줄러 or 서비스)",
|
||||
"Machine B에서 VS Code Extension 개발 시작 (에이전트 루프)",
|
||||
"Machine B에서 Discord Bot 개발 시작 (개인 비서)"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user