
#Claude #Codex # Ryzen Zen3 GPU'da Yerel LLM Çalıştırma Deneyimi (Qwen3-8B: CPU ve GPU Performans Karşılaştırması ve Analiz Sonuçları) AMD'ye başarılar, Vulkan'a başarılar. Oyun GPU'su olduğu için büyük bir şey olmayacağını düşünüyordum, ve gerçekten öyle çıktı. Bellek bant genişliği sınırlayıcıymış (VRAM küçük olduğu için ana bellek kullanılıyor, Mac M5 Studio'ya güveniyoruz). AMD'nin en son nesli Zen6, bu yüzden burada kullanılan CPU, 3 nesil öncesine ait (GPU entegreli). ---- # Qwen3-8B: CPU ve GPU Performans Karşılaştırması ve İnceleme Sonuçları Ölçüm Tarihi: 2026-11-02 / Hedef: Ubuntu makinesi ## Sonuç - **GPU (Radeon entegre GPU), prompt yüklemesi sırasında CPU'nun yaklaşık 2,5 kat daha hızlıdır.** - **Metin üretimi sadece CPU'nun 1,1–1,2 katı hızda ilerlemektedir.** Üretim hızı bellek aktarım hızıyla sınırlıdır; entegre GPU, CPU ile aynı belleği paylaşır. - OpenClaw gibi her seferinde uzun talimatlar gönderen kullanım senaryolarında, **prompt önbellekleme** etkisi GPU'dan daha belirgindir; ikinci ve sonraki isteklerde süre yaklaşık 7 dakikadan 1 dakikaya düşmüştür. ## Ölçüm Ortamı | Madde | İçerik | |---|---| | CPU | AMD Ryzen 7 7730U (8 çekirdek, 16 iş parçacığı, Zen 3) | | GPU | CPU entegre AMD Radeon Graphics (Barcelo, Vega 8 karşılığı) | | Bellek | 30 GB (spesifikasyona göre DDR4-3200 çift kanal. Gerçek cihazda doğrulanmamış) | | GPU Belleği | Özel VRAM 512 MB + paylaşılan bellek (GTT) yaklaşık 15,4 GB. LM Studio'nun kullanabileceği alan: 10,59 GiB | | OS / Sürücü | Ubuntu 24.04.5 LTS, Mesa 25.2.8 (RADV) | | LM Studio | Başsız sürüm (llmster), llama.cpp 2.66.0 | | CPU çalışma zamanı | `llama.cpp-linux-x86_64-avx2` | | GPU çalışma zamanı | `llama.cpp-linux-x86_64-vulkan-avx2` (tüm katmanlar GPU'ya yerleştirildi, `--gpu max`) | | Model | DreamFast/qwen3-8b-heretic Q4_K_M (5,03 GB) | | Yüklemesi ayarları | Bağlam uzunluğu 32768, eşzamanlı işleme sayısı 1 | ## Ölçüm Yöntemi - Aynı prompt'u LM Studio'nun API'sine (`/api/v0/chat/completions`) göndererek CPU ve GPU performanslarını karşılaştırdık. - Her koşul iki kez çalıştırdık. İkinci kez, prompt önbellekten yeniden kullanıldığı için **yüklenme hızı ilk ölçüm değerini** kullandı. - Üretim hızı, LM Studio'nun döndürdüğü `tokens_per_second` değeridir. - Yanıt öncesi düşünme işlemi `/no_think` ile durduruldu ve `temperature` sıfır olarak ayarlandı. - GPU ölçümünden sonra, CPU ölçümüne geçmeden 2 dakika soğutma süresi verildi. - Betik ve kayıtlar Ubuntu makinesinde `~/bench/bench.py`, `~/bench/run.sh`, `~/bench/result.log` konumlarında yer alır. ## Sonuçlar ### Karşılaştırma Özeti | İçerik | Madde | CPU | GPU | Fark | |---|---|---|---|---| | Kısa soru (24 token) ile 256 token üretimi | Üretim hızı | 7,3 token/saniye | 8,2 token/saniye | 1,13 kat | | | Süre | 35,7 saniye | 31,4 saniye | | | Prompt 921 token | Yüklenme hızı | 30,5 token/saniye | 76,3 token/saniye | **2,5 kat** | | | İlk karaktere kadar süre | 30,2 saniye | 12,1 saniye | | | | Üretim hızı | 7,0 token/saniye | 8,0 token/saniye | 1,13 kat | | Prompt 3.621 token | Yüklenme hızı | 35,4 token/saniye | 87,5 token/saniye | **2,5 kat** | | | İlk karaktere kadar süre | 102,3 saniye | 41,4 saniye | | | | Üretim hızı | 5,9 token/saniye | 7,2 token/saniye | 1,2 kat | ### Ölçüm Detayları | Yöntem | İçerik | Deneme | Prompt | Üretim | Süre | İlk karaktere kadar süre | Üretim hızı | |---|---|---|---|---|---|---|---| | GPU | Kısa soru | 1 | 24 | 256 | 31,4 saniye | 0,50 saniye | 8,26 | | GPU | Kısa soru | 2 | 24 | 256 | 31,2 saniye | 0,12 saniye | 8,23 | | GPU | Yaklaşık 1.000 token prompt | 1 | 921 | 32 | 16,0 saniye | 12,07 saniye | 7,97 | | GPU | Yaklaşık 1.000 token prompt (önbellekli) | 2 | 921 | 32 | 4,0 saniye | 0,14 saniye | 7,98 | | GPU | Yaklaşık 4.000 token prompt | 1 | 3.621 | 32 | 45,7 saniye | 41,38 saniye | 7,18 || GPU | Yaklaşık 4.000 İstek | 2 (Önbellek) | 3.621 | 32 | 4,5 saniye | 0,14 saniye | 7,22 | | CPU | Kısa soru | 1 | 24 | 256 | 35,7 saniye | 0,73 saniye | 7,29 | | CPU | Kısa soru | 2 | 24 | 241 | 32,8 saniye | 0,14 saniye | 7,36 | | CPU | Yaklaşık 1.000 İstek | 1 | 921 | 32 | 34,7 saniye | 30,21 saniye | 7,03 | | CPU | Yaklaşık 1.000 İstek | 2 (Önbellek) | 921 | 32 | 4,6 saniye | 0,15 saniye | 6,96 | | CPU | Yaklaşık 4.000 İstek | 1 | 3.621 | 32 | 107,5 saniye | 102,30 saniye | 5,94 | | CPU | Yaklaşık 4.000 İstek | 2 (Önbellek) | 3.621 | 32 | 5,4 saniye | 0,17 saniye | 5,96 | İstek ve üretme birimleri token, üretme hızı birimi token/saniyedir. ### Düzeltme İlk basit ölçümde, GPU ile üretme hızının yaklaşık 2,2 kat arttığını söylemiştik; ancak bu yanlıştı. Karşılaştırdığımız CPU değeri olan 3,86 token/saniye, bot2 ile yaklaşık 14.000 token’lık bir istek işlendiğinde elde edilen değerdi. Uzun isteklerde üretme de yavaşlar; bu nedenle kısa sorularla karşılaştırma yanlıştı. Aynı koşullarda karşılaştırıldığında, üretme hızındaki fark yalnızca %10-20 arasındadır. ## GPU kullansanız bile beklenen kadar hızlı olmamanın nedenleri ### 1. Üretim, bellek aktarım hızıyla sınırlıdır LLM, her token ürettiğinde model ağırlıklarının tamamını bellekten okur. Üretim hızının üst sınırı yaklaşık olarak “bellek aktarım hızı ÷ model boyutu” ile belirlenir. | Madde | Değer | |---|---| | Bellek aktarım hızı (teorik) | DDR4-3200 çift kanalda yaklaşık 51 GB/saniye | | Her token için okunan miktar | Yaklaşık 5 GB (tüm model) | | Üretim hızının teorik üst sınırı | 51 ÷ 5,03 ≒ **yaklaşık 10 token/saniye** | | Gerçek ölçüm (GPU) | 8,2 token/saniye (üst sınırın yaklaşık %80’i) | | Gerçek ölçüm (CPU) | 7,3 token/saniye (üst sınırın yaklaşık %70’i) | Yerleşik GPU, CPU ile aynı ana belleği paylaşır; bu nedenle üst sınır CPU ile neredeyse aynıdır. GPU kullansanız bile, üst sınıra ulaşmak için yalnızca %10-20lik bir potansiyel kalır. Harici GPU’lar ise özel hızlı belleklere sahiptir ve bu üst sınır çok daha yüksektir. | GPU | Bellek aktarım hızı | Bu Ubuntu makinesiyle oran | |---|---|---| | Bu Ubuntu makinesinin yerleşik GPU’su | Yaklaşık 51 GB/saniye (CPU ile paylaşımlı) | 1x | | RTX 4060 | Yaklaşık 272 GB/saniye | Yaklaşık 5x | | RTX 4090 | Yaklaşık 1.008 GB/saniye | Yaklaşık 20x | ### 2. Okuma işlemi hesaplama gücüyle belirlenir; ancak yerleşik GPU’nun hesaplama gücü düşüktür İstek okuma aşamasında birçok token aynı anda işlenebildiği için hız, bellekten ziyade hesaplama gücüyle belirlenir. GPU’nun etkisi burada ortaya çıkar ve gerçek ölçümlerde 2,5 kat artış gözlemlenmiştir. Ancak bu GPU’da aşağıdaki sınırlamalar nedeniyle artış sadece %250’ye kadar çıkmıştır. | Sınırlama | İçerik | |---|---| | Az hesaplama birimi var | Sadece 8 adet. Tek hassasiyetli hesaplama gücü yaklaşık olarak 2 TFLOPS olarak tahmin edilir ve oyun GPU’larının onda biri kadardır. | | Matris işlemleri için özel devre yoktur | NVIDIA’nın Tensor Çekirdekleri gibi AI’ya özel özel devreler yoktur. | | ROCm kullanılamaz | AMD GPU’ları için hesaplama altyapısı, bu yerleşik GPU’yu resmi olarak desteklememektedir. Genel Vulkan ile çalışmaktadır. | 8B modeli için bir token işleme yaklaşık olarak 16 GFLOP hesaplama gerektirir; bu nedenle yaklaşık 2 TFLOPS ile teorik üst sınır yaklaşık olarak 120 token/saniyedir. Gerçek ölçümlerdeki 76–88 token/saniye değerleri bu sınırın %60–70’idir. ### 3. İstek uzadıkça daha yavaş olur Bağlam uzadıkça her token daha fazla geçmiş token’a başvurur; bu nedenle hem okuma hem de üretme yavaşlar. | Koşul | Okuma hızı | Üretim hızı | |---|---|---| | GPU, yaklaşık 1.000 token’lık istek | 76 token/saniye | 8,0 token/saniye | | GPU, yaklaşık 3.600 token’lık istek | 88 token/saniye | 7,2 token/saniye | | GPU, OpenClaw (15.686 token) ilk 2.048 token’ı | 78,7 token/saniye | — | | GPU, OpenClaw (15.686 token) genel ortalaması | 44,1 token/saniye | 5,1 token/saniye | | CPU, OpenClaw (14.021 token) | Yaklaşık 19,5 token/saniye | 3,86 token/saniye |3.600 token'a kadar olan miktarlar, işlem kapasitesi arttıkça yükleme hızı aslında arttı. 15.000 token'i aştığında, son aşamada 46 token/saniye seviyesine düştü. ## OpenClaw (bot2 mei) üzerinde önbellek doğrulaması Doğrulama oturumunda, GPU üzerinde çalışan Qwen3 ile iki mesaj ardışık olarak gönderildi. | Madde | Birinci mesaj | İkinci mesaj | |---|---|---| | OpenClaw tarafından gönderilen prompt | 15.686 token | 15.744 token | | Gerçekten yüklenen token sayısı | 15.686 (tümü) | **135 (sadece yeni eklenenler)** | | Yükleme süresi | 356,1 saniye | **6,1 saniye** | | Oluşturma | 247 token, 48,1 saniye (5,11 token/saniye) | 249 token, 48,5 saniye (5,11 token/saniye) | | Toplam | **410 saniye** | **58 saniye** | - OpenClaw her seferinde talimatın başını aynı içerikle gönderdiğinden, ikinci mesajda işlenmiş olan bölüm ( %98 ) doğrudan yeniden kullanıldı. - İkinci mesajın bekleme süresinin büyük kısmı yaklaşık 240 token'lık düşünme sürecine ait. `--thinking off` parametresi verildiğinde bile düşünme işlemi durmadı. Düşünme işlemi durdurulabilseydi, bekleme süresi yaklaşık 10 saniyeye düşerdi. - Önbellek zamanla silinmez. Modelin kaldırılması, başka bir işlem tarafından kesilmesi (aynı anda yalnızca 1 işlem işleme kapasitesi nedeniyle) veya sohbetin sıkıştırılması durumunda silinir. ## Hızlandırma seçenekleri Bellek aktarım hızı değiştirilemediğinden, her token başına okunacak veri miktarını azaltmak etkilidir. | Yöntem | Beklenen etki | Dikkat edilmesi gerekenler | |---|---|---| | Prompt önbelleğini kullanmak | İkinci ve sonraki yüklemeler birkaç saniyeye düşer (doğrulandı) | Kesinti veya sıkıştırma ile silinebilir | | Qwen3 düşünme işlemini kapatmak | Her mesajda yaklaşık 48 saniye tasarruf | Yanıt kalitesi biraz düşebilir | | MoE tabanlı Qwen3-30B-A3B'e geçmek | Her token için kullanılan ağırlık yaklaşık 3B miktarında. Oluşturma hızı 2-3 kat artar ve zeka seviyesi yükselir | Yaklaşık 18 GB boyutunda ve GPU'nun 10,6 GiB kapasitesini aşar; bu nedenle bazı işlemler CPU'da yapılır. İnceleme kaldırılmış sürümün mevcut olup olmadığı bilinmiyor | | Daha küçük bir model (Qwen3-4B) kullanmak | Oluşturma hızı yaklaşık iki kat artar | Zeka seviyesi düşer | | Tahmini dekodlama kullanmak | Qwen3-0.6B ile taslak oluşturun. Oluşturma hızı 1,3-2 kat artar | Etki içerikten etkilenir | | Daha fazla kuantizasyon uygulamak (Q3 gibi) | %10-20 arası iyileşme | Doğruluk düşer | | Talimatları kısaltmak | İlk mesaj ve önbellek silindikten sonraki yükleme süreleri kısalır | Fonksiyonlar kaldırılır | Bu tablodaki etkiler, prompt önbelleği dışında tahmini değerlerdir ve gerçek ölçümlerle doğrulanmamıştır. ## Mevcut durum (2026-11-03 itibarıyla) | Madde | Durum | |---|---| | LM Studio | Durduruldu. Otomatik başlatma devre dışı bırakıldı | | Seçili çalışma zamanı | Vulkan (GPU) | | bot2 (mei) | gpt-5.4-mini | | bot2 için aktarım noktası | Durduruldu. Otomatik başlatma devre dışı bırakıldı | | Qwen3 için bot2 ayarı | `~/.openclaw-bot2/openclaw.json.bak-qwen3-active-*` |