🧪 VelsTech Lab ஒரே கார்டு, ஒரே என்ஜின்கள், அளவிடுவதற்கு இரண்டு எதிர் வழிகள்: 16K-ல் Qwen 27B dense vs 262K-ல் Ornith 35B-A3B MoE (3B active), இரண்டும் 12GB RX 6800M-ல் q8 KV. யார் வெல்கிறார் என்பது நீங்கள் கேட்பதையும் எவ்வளவு உருவாக்குகிறீர்கள் என்பதையும் பொறுத்தது.

🔧 உங்கள் மாடலுக்கான கணக்கீட்டை மீண்டும் இயக்கவும்

MoE: active அளவுருக்களை (3B, 35B அல்ல) + தனிப்பயன் KV-ஐ உள்ளிடவும். Dense: முழு அளவுருக்களை உள்ளிடவும். q8_0 vs f16-ஐ நேர்மையாக வைத்திருங்கள்.

LLM VRAM Calculator → GPU Performance →

இரண்டு ரன்களும் பக்கவாட்டில்

ஒரே GPU RX 6800M 12GB (~384 GB/s), ஒரே q8_0 KV, ஒரே n_threads=8, ஒரே 335-373 prompt டோக்கன்கள். மாடல் + context + MoE offload மட்டுமே வேறுபடுகின்றன.

Model               Params   Context  KV type  Offload          Build   Prompt eval          Decode tg          Total
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Qwen 27B Ridge       27B dense  16K   q8_0     -ngl 999 (+fit abort)  ROCm    1713 ms /373 = 217.6 tok/s   18.12 tok/s   14.23s /601 tok
3.7bpw Ridge                                                Vulkan  2493 ms /373 = 149.6 tok/s   21.84 tok/s   13.57s /616 tok

Ornith 35B-A3B MoE   35B/3B*    262K  q8_0     --n-cpu-moe 28        ROCm    3995 ms /335 = 83.8 tok/s    25.62 tok/s   14.65s /609 tok
Q5_K/Q4_K mix               kv_unified=false              Vulkan  4029 ms /335 = 83.1 tok/s    19.66 tok/s   19.59s /642 tok
* 35B total, 3B active – MoE decodes 3B, not 35B.

முதல் இரண்டு வரிசைகள்: Qwen 27B 16K முழு அறிக்கை; கடைசி இரண்டு: Ornith 35B 262K முழு அறிக்கை. அனைத்தும் -c ஒதுக்கப்பட்ட KV, fa on, 373/335 prompt டோக்கன்கள், ~600 gen டோக்கன்கள்.

உண்மையில் என்ன நடக்கிறது

VRAM கணக்கீடு – 12GB ஏன் இன்னும் இயங்குகிறது

Qwen 27B 3.7bpw: 27B ×0.4625 ≈12.5 GB எடைகள் + q8 KV 16K ≈2.2 GB + 6% overhead → ~15.6 GB (VRAM Calculator-இலிருந்து) – 12GB-க்கு அதிகமாக, எனவே partial offload 18-21 tok/s vs 30 tok/s bound-ஐ விளக்குகிறது.

Ornith 35B MoE 3B active: 35B ஆக எண்ணினால் Q5/Q4 கலவை ≈13-14 GB, ஆனால் ஒவ்வொரு டோக்கனுக்கான KV active 3B-உடன் அளவிடப்படுகிறது, எனவே naive ஆக dense என எண்ணினால் 262K q8 ≈262K×0.5KB ≈131 GB ஆகும். அதனால்தான் 28 experts-ஐ CPU-க்கு கட்டாயப்படுத்துகிறோம் – நீங்கள் resident அல்ல, நீங்கள் sparse. கால்குலேட்டரில் 35B அல்ல, 3B active + custom layers 48 / kv 4 / hd 128-ஐ உள்ளிடவும், அல்லது Custom model…-ஐ மாற்றவும்.

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

VRAM

weights = params × bytes_per_weight / GiB
kv_per_token = 2 × layers × kv_heads × head_dim × bytes
kv_cache = kv_per_token × context × batch / GiB
total = weights + kv_cache + (weights+kv)×0.06+0.25

MoE-க்கு, KV-க்கு மொத்த அளவுருக்கள் அல்ல, active அளவுருக்களைப் பயன்படுத்தவும். LLM VRAM Calculator → Custom model-ஐப் பார்க்கவும்.

வேக வரம்பு

decode_tok/s ≈ (memory_BW ×0.8) / bytes_per_token (weights + KV per token)

MoE bytes_per_token ≈ active 3B, dense ≈27B – எனவே பெரிய மொத்தம் இருந்தாலும் Ornith Qwen-ஐ விட வேகமாக இருக்க முடியும்.

எனவே 12GB கார்டில் எதைத் தேர்ந்தெடுக்க வேண்டும்?

🧪 மூல ரன்களில் ஆழ்ந்து பார்க்கவும்

முழு logs, கட்டளைகள் மற்றும் எச்சரிக்கைகள் இரண்டு மூல Labs-களிலும் உள்ளன – Qwen 16K-லிருந்து தொடங்கவும், பிறகு Ornith 262K, பிறகு இங்கே ஒப்பிடவும்.

Qwen 27B 16K → Ornith 35B 262K →