GPT-OSS-120B, yalnızca 8GB VRAM ile bile gayet iyi çalışabiliyor
(old.reddit.com)- llama-cpp içindeki
--cpu-moeseçeneği kullanılarak MOE uzman katmanları CPU’da işleniyor, yalnızca attention katmanları GPU’ya offload edilerek 5~8GB VRAM ile hızlı prefill performansı elde ediliyor - GPU’da yalnızca KV cache, Attention ağırlıkları ve aktivasyonları, routing table, LayerNorm vb. uzman olmayan parametreler tutulduğu için bellek kullanımı düşük kalıyor
- RTX 3060Ti seviyesinde bir GPU ve 64GB~96GB sistem RAM’i ile bile 120B model rahatça çalıştırılabiliyor; BF16 destekli GPU’larda (RTX 3000+) en iyi performansı veriyor
- 5GB VRAM kullanımında token başına 8.15ms (122.66 token/sn), 8GB VRAM kullanımında ise 7.44ms’ye (134.44 token/sn) kadar iyileşen performans kaydedildi
- 120B mimarisi, tüketici donanımına optimize edilmiş bir tasarım sayesinde GPU kaynağının sınırlı olduğu ortamlarda da yüksek hızda çalışabiliyor
CPU-MOE ve GPU offload yapısı
--cpu-moeseçeneğiyle uzman (MOE) katmanlarının tamamı CPU’da işleniyor- Örnek:
--n-cpu-moe 36→ 36 MOE bloğunun tamamı CPU’da çalışır - Gerekirse performansı ayarlamak için MOE’nin bir kısmı GPU’ya taşınabilir
- Örnek:
- VRAM’den tasarruf etmek için GPU’da yalnızca şunlar tutuluyor
- KV cache (sequence)
- Attention ağırlıkları ve aktivasyonları
- Routing table
- LayerNorm ve diğer uzman olmayan parametreler
- MOE ağırlıkları GPU’da tutulmadığı için büyük MLP parametrelerinin yükü oluşmuyor
Bellek ve donanım gereksinimleri
- GPU: 5~8GB VRAM yeterli (ör. RTX 3060Ti)
- BF16 desteği varsa GPU en iyi sonucu verir (RTX 3000 serisi ve üzeri)
- Sistem RAM’i: en az 64GB, ideal olarak 96GB
- Linux mmap kullanılarak modelin tamamı belleğe sığmasa bile “hot” uzman katmanları bellekte tutulabiliyor
Performans değerleri
5GB VRAM ortamı
- Prompt işleme: 8.15ms/token (122.66 token/sn)
- Çıkarım: 55.44ms/token (18.04 token/sn)
8GB VRAM ortamı (--n-cpu-moe 36, geri kalanı GPU)
- Prompt işleme: 7.44ms/token (134.44 token/sn)
- Çıkarım: 39.03ms/token (25.62 token/sn)
22GB VRAM ortamı (MOE’nin bir kısmı GPU’da)
- Prompt işleme: 6.13ms/token (163.01 token/sn)
- Çıkarım: 32.45ms/token (30.82 token/sn)
Sonuç
- GPT-OSS-120B’nin tasarımı, tüketici donanımında bile büyük modelleri yüksek hızda çalıştıracak şekilde optimize edilmiş
- VRAM kullanımını azaltırken hızı koruyan CPU-MOE yapısı sayesinde, GPU kaynaklarının sınırlı olduğu ortamlara özellikle uygun
Temel sorular ve yanıtlar
S1. Bu ayarda gerçek VRAM kullanımı ne kadar?
- Orijinal yazar: Tüm MOE CPU’da çalıştırıldığında yaklaşık 5GB VRAM; GPU’ya yalnızca attention katmanları yükleniyor
- Ek açıklama: GPU’da yalnızca KV cache, Attention ağırlıkları ve aktivasyonları, routing table, LayerNorm tutuluyor
S2. Minimum ne kadar RAM gerekiyor?
- Orijinal yazar: Minimum 64GB, ideal olarak 96GB öneriliyor
- Neden: Linux mmap, “hot” uzman katmanlarını bellekte tutarak tüm modeli yüklemeye gerek kalmadan hızlı erişim sağlıyor
S3. MOE katmanlarının bir kısmını GPU’ya taşımak hızı çok artırıyor mu?
- Orijinal yazar: Biraz hızlanabilir ama büyük bir fark yok
- Örnek:
- Tüm MOE CPU’da: prompt 134 token/sn, çıkarım 25 token/sn
- 8 MOE GPU’da: prompt 163 token/sn, çıkarım 30 token/sn
- VRAM kullanımı 22GB’ye çıkıyor
S4. Hangi GPU uygun?
- Orijinal yazar: RTX 3060Ti ve üzeri yeterli, BF16 desteği (RTX 3000+) öneriliyor
- Neden: MOE dışındaki tüm katmanlar BF16 ile çalışıyor
S5. Komut ayarı nasıl yapılır?
- Orijinal yazar: PR #15157 baz alınarak örnek verilmiş
~/build/llama.cpp/build-cuda/bin/llama-server \ -m $LLAMA_MODEL_DIR/gpt-oss-120b-mxfp4-00001-of-00003.gguf \ --n-cpu-moe 36 \ --n-gpu-layers 999 \ -c 0 -fa \ --jinja --reasoning-format none \ --host 0.0.0.0 --port 8502 --api-key "dummy"
6 yorum
Ben gerçekten denedim ama çok yavaş. GPU clock neredeyse hiç kullanılmıyor. 8 GB GPU ayrılmış belleği ve 64 GB fiziksel bellek tamamen kullanılıyor, 16 vCore'un ise sadece yarısı kullanılıyor. Yani mesele sadece çalışıyor olması; tüm kaynakları kullanan bir yapı değildi. Bir sorgu 6 ila 8 dakika sürdü.
Benzer şekilde ben de bir denemeliyim.
32 GB'nin yeterli olacağını sanmıştım ama...
Öncelikle LM Studio M4 Max 64GB'de çalışmıyor :(
65 GB olduğu için... üzücü T_T
Hacker News görüşleri
abliterated finetunebulmak gerekiyorİlgili yazı
Bu yüzden çoğunlukla qwen, mistral, gemma gibi başka modeller kullanılıyor
Başkaları daha az VRAM ile 120B modeli çalıştırabiliyor; bunun nedeni muhtemelen ROCm desteği olmaması ve Vulkan kullanımı olabilir
Yine de donanımı sınırına kadar zorlamak eğlenceli
llama.cpp GPU'da hesaplanacak katman sayısını elle ayarlamaya izin veriyor, ancak ollama bunu otomatik yapıyor
Oturum uzunluğuna göre RAM/VRAM oranını dinamik olarak ayarlayabilmek güzel olurdu
Ancak llama.cpp içinde function calling hâlâ bozuk durumda
Odada $149'lık mini PC ile bir AI chatbot barındırma planı var ve Qwen3 4B modeli iyi görünüyor
İlgili plan
Örneğin Qwen 3'te de çalıştı ve regex'i elle belirleyerek belirli katmanları belirli bir cihaza taşıyabiliyorsunuz