🧪 VelsTech Lab दूसरा मापा गया Lab: वही 12GB RX 6800M, वही q8 KV, लेकिन 28 CPU experts और 262K context window वाला 35B MoE। छोटा prompt, विशाल KV reservation।

🔧 क्या यह आपके GPU में fit होगा?

LLM VRAM Calculator – 262K पर weights + KV आपके quantization के लिए · GPU AI Performance Calculator – offload से पहले tok/s upper bound।

कैलकुलेटर खोलें →

हमने क्या टेस्ट किया

हमने इसे कैसे चलाया

llama-server \
  -m Ornith-1.5-35B-A3B-AD-Q5_K-Q4_K.gguf \
  -ngl 999 --n-cpu-moe 28 \
  --cache-type-k q8_0 --cache-type-v q8_0 \
  -c 262144 -fa on --jinja --reasoning-preserve \
  --parallel 1 --temp 0.6 --top-p 0.95 --top-k 20

दोनों runs में वही 335-token prompt (progress 322→331), ~274 बनाम 307 tokens generate। Server: listening on 127.0.0.1:8080, llama threadpool n_threads=8

हमने क्या मापा

Run            Prompt eval                 Decode (tg)                 Total          Graphs
─────────────────────────────────────────────────────────────────────────────────────────────
ROCm           3995 ms /335 tok = 11.93 ms/tok = 83.84 tok/s   100:25.16 179:25.52 257:25.60 → 25.62 tok/s   14.65s /609 tok  272
Vulkan         4029 ms /335 tok = 12.03 ms/tok = 83.13 tok/s   100:19.65 160:19.66 219:19.65 → 19.66 tok/s   19.59s /642 tok  305

Takeaway: 262K + MoE पर ROCm decode में ~30% तेज़ है (25.62 बनाम 19.66)। Prompt eval लगभग बराबर ~83 tok/s – 335 tokens 262K क्षमता की तुलना में trivial है, इसलिए prefill context को stress नहीं करता। Total wall time decode को दर्शाता है: ~600 tok के लिए ROCm 14.65s बनाम Vulkan 19.59s।

Logs ने वास्तव में क्या कहा – और क्या टूटा

  1. W common_fit_params: failed to fit params to free device memory: n_gpu_layers already set by user to 999, abort (ROCm run) – Qwen जैसा ही: आपने -ngl 999 force किया इसलिए --fit ignore हो गया। Fix: -ngl 999 हटाएँ और fitted layers को log करें, या स्पष्ट रूप से -ngl 60 और --n-cpu-moe को साथ सेट करें।
  2. W llama_model_loader: tensor overrides to CPU are used with mmap enabled - consider using --load-mode none for better performance--n-cpu-moe 28 के साथ आप tensors को mmap कर रहे हैं जो तुरंत CPU RAM में copy हो जाते हैं। MoE CPU offload के लिए --load-mode none जोड़ें।
  3. kv_unified=false, n_slots=1, n_ctx_slot=262144 – एक slot, 262K KV pool reserved है भले ही prompt 335 tokens का हो। यही reservation कारण है कि आपको q8 KV चाहिए – 262K पर f16 ~2× बड़ा होगा और संभवतः OOM हो जाएगा। यहाँ decode speed pool reserved होने के साथ है, भरा होने के साथ नहीं।

यह calculators पर कैसे map होता है

Weights ~35B mixed Q5/Q4 ≈ 13–14 GB (Q5 0.66 + Q4 0.61 averaged)। MoE के लिए 262K पर q8 KV सरल 2×layers×kv_heads×head_dim×2×context नहीं है – MoE प्रति token KV share करता है, इसलिए हमारा VRAM Calculator यदि आप 35B दर्ज करते हैं तो overestimate करता है; 3B active + 28 CPU experts को अलग दर्ज करें या reduced KV के साथ custom model उपयोग करें। 3B active पर भी, 262K q8 ~262K × ~0.5KB → ~130 GB होगा यदि पूरी तरह resident – आप resident नहीं हैं, आप MoE-sparse + q8 + CPU offload हैं, इसलिए 19–25 tok/s plausible है, GPU AI Performance Calculator से 60 tok/s bound नहीं जो पूर्ण VRAM मानता है।

हम कैसे calculate करते हैं – संख्याओं के पीछे के formulas

VRAM: LLM VRAM Calculator

weights = params × bytes_per_weight / GiB
kv_per_token = 2 × layers × kv_heads × head_dim × 2 bytes (f16) or ×1 (q8)
kv_cache = kv_per_token × context × batch / GiB

262K पर MoE के लिए KV प्रति token के लिए active params का उपयोग करें, total 35B नहीं, या custom model toggle करें।

Speed: GPU AI Performance Calculator

decode_tok/s ≈ (memory_BW × 0.8) / bytes_per_token

MoE प्रति token कम bytes decode करता है (active 3B, 35B नहीं), इसलिए bound 35B dense से अधिक है। आपका 25 tok/s bound का ~40% है – अंतर CPU MoE + PCIe का है।

निष्कर्ष

Ornith 35B MoE 262K पर 12GB पर चलता है q8 KV + 28 CPU experts के साथ, लेकिन आप decode में कीमत चुकाते हैं: ROCm 25.6 tok/s छोटे उत्तरों के लिए usable है, Vulkan 19.6 यहाँ धीमा है (Qwen 16K के विपरीत)। दोनों को optimal के लिए --load-mode none चाहिए और -ngl 999 नहीं। अगला Lab एक ही RX 6800M पर MoE vs dense होगा: यह Ornith 35B-A3B (3B active) बनाम Qwen 27B dense 16K – active params vs context trade, एक ही card, दोनों engines।

🧪 VelsTech Lab – MoE vs dense अगला

हम Ornith 35B MoE (3B active, 262K) की तुलना Qwen 27B dense (27B, 16K) से एक ही RX 6800M पर करेंगे – ROCm बनाम Vulkan, q8 बनाम f16 KV, fitted layers logged के साथ।

Qwen 27B 16K test पढ़ें →