Qwen3.5/3.6 hibrit modelini madencilik kartında (CMP 100-210) çalıştıran CUDA çıkarım motoru
(github.com/Haru-neo)Ucuz yoldan büyük modelleri çalıştırmanın bir yolu var mı diye düşünürken CMP 100-210’u keşfettim ve 4 tane satın alıp denedim.
HBM2 ve kart başına 16 GB belleğe sahip olduğu için iyi görünüyordu.
Ama NVIDIA bunu özellikle sıkı şekilde kısıtlamış.
- Tensor Core 64 kat daha yavaş (
HMMA latency 8→512 cycle) - PCIe Gen1 x1 ve P2P de yok
- CUPTI de engelli olduğu için
torch.profilerbile kullanılamıyor - Die içine gömülü e-fuse olduğu için firmware ile de açılamıyor (hepsini denedim)
Bu yüzden vLLM, llama.cpp’nin varsayılan yolu, FA, bnb gibi şeylerin hiçbiri çalışmıyor.
cuBLAS Tensor Core’a dokunan her şey ya 1/64 hızda çalışıyor ya da çöküyor.
Masanın üstünde 640 bin wonluk GPU’ların boşa durmasına kıyamadığım için çıkarım motorunu kendim yazdım.
Sadece throttle yemeyen yolları seçerek:
- GEMM için DP4A (
int8, 17 TFLOP) özel kernel - attention için özel FlashAttention + MInference tarzı block-sparse
- GPU’lar arasında pinned-host ile hidden state bridge (çünkü P2P yok)
- 256K context için 3-bit KV cache (
WHT + Lloyd-Max) ile 17 GB → 3.5 GB
Şu anda Qwen3.5/3.6 hibrit (GDN + Attention) modeliyse 27B / 9B ikisi de çalışıyor.
OpenAI uyumlu API, streaming, tool calls, vision (mmproj), /no_think hepsi var.
Karşılaştırma (llama.cpp build 8462, aynı Q8_0 GGUF, aynı donanım):
- 9B tek GPU prefill: 1.22 ~ 2.99x
- 27B 3GPU prefill: 1.45 ~ 2.86x
- gen tarafında +%30 ~ 50
Dürüst sınırlamalar:
- MoE çalışmıyor (yalnızca dense hibrit)
- Elinizde A100 / H100 varsa vLLM kullanın. Çok daha hızlı.
- DFlash gibi şeylerde sadece kod var, çalışmıyor (drafter mismatch)
- Resmî destek sadece
Q8_0için var
Aynı ortama sıkışmış olanlara yardımcı olmasını umuyorum.
Bu motor, bir lise 1 öğrencisinin Claude kullanarak yaptığı bir proje olduğu için bug, spagetti kod vb. sorunlar bol olabilir.
Issue veya PR göndermekten çekinmeyin!
Henüz yorum yok.