🧪 VelsTech Lab இரண்டாவது அளவிடப்பட்ட Lab: ஒரே 12GB RX 6800M, ஒரே q8 KV, ஆனால் 28 CPU experts மற்றும் 262K context சாளரம் கொண்ட 35B MoE. சிறிய prompt, பெரிய KV ஒதுக்கீடு.

🔧 இது உங்கள் GPU-க்கு பொருந்துமா?

LLM VRAM Calculator – உங்கள் quantization-க்கு 262K-இல் weights + KV · GPU AI Performance Calculator – offload-க்கு முன் tok/s மேல் வரம்பு.

கால்குலேட்டர்களைத் திறக்கவும் →

நாங்கள் சோதித்தது

அதை எப்படி இயக்கினோம்

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

இரண்டு ரன்களிலும் ஒரே 335-டோக்கன் prompt (progress 322→331), ~274 vs 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

முக்கிய கண்டுபிடிப்பு: 262K + MoE-இல், ROCm decode-இல் ~30% வேகமானது (25.62 vs 19.66). Prompt eval ~83 tok/s-இல் சமம் – 335 tokens 262K திறனுடன் ஒப்பிடும்போது அற்பம், எனவே prefill context-ஐ அழுத்துவதில்லை. மொத்த wall நேரம் decode-ஐ பிரதிபலிக்கிறது: ~600 tok-க்கு ROCm 14.65s vs 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-ஐ கட்டாயப்படுத்தினீர்கள், எனவே --fit புறக்கணிக்கப்படுகிறது. சரிசெய்தல்: -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 உடன் நீங்கள் உடனடியாக CPU RAM-க்கு நகலெடுக்கப்படும் tensors-ஐ mmap செய்கிறீர்கள். MoE CPU offload-க்கு --load-mode none-ஐ சேர்க்கவும்.
  3. kv_unified=false, n_slots=1, n_ctx_slot=262144 – prompt 335 tokens ஆக இருந்தாலும் ஒரு slot, 262K KV pool ஒதுக்கப்பட்டுள்ளது. அந்த ஒதுக்கீடுதான் உங்களுக்கு q8 KV தேவைப்படுவதற்கான காரணம் – 262K-இல் f16 ~2× பெரியதாக இருக்கும், OOM ஆகலாம். இங்குள்ள decode வேகம் pool ஒதுக்கப்பட்ட நிலையில் உள்ளது, நிரப்பப்படவில்லை.

இது கால்குலேட்டர்களுக்கு எப்படி பொருந்துகிறது

எடைகள் ~35B கலப்பு Q5/Q4 ≈ 13–14 GB (சராசரியாக Q5 0.66 + Q4 0.61). MoE-க்கு 262K-இல் KV q8 என்பது எளிய 2×layers×kv_heads×head_dim×2×context அல்ல – MoE ஒவ்வொரு டோக்கனுக்கும் KV-ஐ பகிர்ந்து கொள்கிறது, எனவே நீங்கள் 35B-ஐ உள்ளிட்டால் எங்கள் VRAM Calculator அதிகமாக மதிப்பிடும்; 3B active + 28 CPU experts-ஐ தனித்தனியாக உள்ளிடவும் அல்லது குறைக்கப்பட்ட KV உடன் custom model பயன்படுத்தவும். 3B active-இல் கூட, 262K q8 என்பது ~262K × ~0.5KB → முழுமையாக resident ஆக இருந்தால் ~130 GB – நீங்கள் resident அல்ல, MoE-sparse + q8 + CPU offload, எனவே முழு VRAM-ஐ கருதும் GPU AI Performance Calculator-இலிருந்து வரும் 60 tok/s bound அல்ல, 19–25 tok/s நம்பத்தகுந்தது.

எப்படி கணக்கிடுகிறோம் – எண்களுக்குப் பின்னால் உள்ள சூத்திரங்கள்

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-க்கு மொத்த 35B அல்ல, active அளவுருக்களைப் பயன்படுத்தவும், அல்லது custom model-ஐ மாற்றவும்.

Speed: GPU AI Performance Calculator

decode_tok/s ≈ (memory_BW × 0.8) / bytes_per_token

MoE ஒவ்வொரு டோக்கனுக்கும் குறைவான பைட்டுகளை decode செய்கிறது (35B அல்ல, active 3B), எனவே bound 35B dense-ஐ விட அதிகம். உங்கள் 25 tok/s என்பது bound-இல் ~40% – இடைவெளி CPU MoE + PCIe.

இறுதி வரி

Ornith 35B MoE 262K-இல் q8 KV + 28 CPU experts உடன் 12GB-இல் இயங்குகிறது, ஆனால் decode-இல் செலுத்துகிறீர்கள்: ROCm 25.6 tok/s குறுகிய பதில்களுக்கு பயன்படத்தக்கது, Vulkan 19.6 இங்கு மெதுவானது (Qwen 16K-வின் எதிர்மறை). இரண்டுக்கும் உகந்ததாக --load-mode none மற்றும் -ngl 999 இல்லாமை தேவை. அடுத்த Lab ஒரே RX 6800M-ல் MoE vs dense ஆகும்: இந்த Ornith 35B-A3B (3B active) vs Qwen 27B dense 16K – active அளவுருக்கள் vs context பரிமாற்றம், ஒரே கார்டு, இரண்டு என்ஜின்கள்.

🧪 VelsTech Lab – அடுத்து MoE vs dense

ஒரே RX 6800M-ல் Ornith 35B MoE (3B active, 262K) vs Qwen 27B dense (27B, 16K)-ஐ ஒப்பிடுவோம் – ROCm vs Vulkan, q8 vs f16 KV, fitted layers log செய்யப்பட்ட நிலையில்.

Qwen 27B 16K சோதனையைப் படிக்கவும் →