Qwen3'ü Yerelde Nasıl Çalıştırılır - AI Meraklıları için Pratik Rehber
Qwen3'ü Yerelde Nasıl Çalıştırılır - AI Meraklıları için Pratik Rehber
Geçen ay, Alibaba'nın Qwen3 modellerinin yayınlandığını duyduğumda hemen onları denemek istedim. Etkileyici benchmark sonuçları ve yeteneklerine göz attıktan sonra, hepimizin karşılaştığı o soruyla karşılaştım: "Bulut API'sini mi kullanmalıyım yoksa bunu yerelde mi çalıştırmalıyım?"
Bulut API'leri pratik, ancak gizlilik endişeleri, kullanım maliyetleri ve saf bir meydan okuma olarak, Qwen3'ü kendi donanımımda çalıştırma yolculuğuna çıkmaya karar verdim. Haftalarca denemeler, sayısız yapılandırma ayarı ve birkaç GPU fan panik anından sonra öğrendiklerimi paylaşmak için bu kapsamlı rehberi hazırladım.
Veri gizliliğini korumak, API maliyetlerini azaltmak, modelleri özelleştirmek ya da sadece en son AI teknolojisini kendi makinenizde çalıştırmanın tatminini yaşamak istiyorsanız, bu rehber tam size göre.
Qwen3 Tam Olarak Nedir?
Kurulum sürecine girmeden önce, neyle çalıştığımızı anlayalım. Qwen3 (okunuşu "çven"), Qwen ekibinin üçüncü nesil büyük dil modellerini temsil eder ve Nisan 2025'te yayınlanmıştır. Hafif 0.6 milyar parametreli modellerden devasa 235 milyar parametreli modellere kadar çeşitli boyutlarda mevcuttur.
Qwen3'ü özellikle ilginç kılan şey, çift mimari yaklaşımıdır:
Yoğun Modeller: 0.6B ile 32B parametre arasında değişir ve çıkarım sırasında tüm parametreler aktiftir:
- Qwen3-0.6B, 1.7B, 4B (32K bağlam penceresi)
- Qwen3-8B, 14B, 32B (128K bağlam penceresi)
Uzman Karışımı (MoE) Modelleri: Hesaplama verimliliği için seyrek bir mimari kullanır:
- Qwen3-30B-A3B: Toplam 30B parametreye sahip ancak çıkarımda sadece yaklaşık 3B aktif eder
- Qwen3-235B-A22B: 235B parametreli devasa model, çıkarımda yaklaşık 22B aktif eder
MoE model isimlerindeki "A", "Aktif" parametreleri temsil eder. Bu akıllıca bir yaklaşım - her şeyi bilen tek bir kişiyi işe almak yerine (pahalı!), uzmanlardan oluşan bir ekip kurup her görev için en alakalı olanları çağırmak gibi. Bu sayede bu modeller, parametre sayılarının gösterdiğinden çok daha verimli çalışır.
Qwen3'ün öne çıkan özelliklerinden biri hibrit düşünme yeteneğidir - içsel olarak adım adım akıl yürütme yapabilir (düşünme modu) veya doğrudan cevaplar verebilir (düşünmeden mod), böylece derin akıl yürütme ile hız arasında güzel bir denge sunar.
Neden Qwen3'ü Yerelde Çalıştırmalı?
Bulut API'leri varken neden bu modelleri yerelde çalıştırmak isteyebilirsiniz? İşte beni ikna eden bazı güçlü nedenler:
- Veri Gizliliği: Her şey makinenizde kalır - verileriniz sisteminizden dışarı çıkmaz.
- Maliyet Kontrolü: Sürpriz faturalar veya token kotaları yok - sadece donanım maliyeti ve biraz elektrik.
- Çevrimdışı Çalışma: Model indirildikten sonra internet bağlantısına ihtiyaç duymaz.
- Özelleştirme: Modelleri kendi verilerinizle ince ayar yapma özgürlüğü.
- Öğrenme Deneyimi: Gelişmiş bir AI sistemini kendi donanımınızda çalıştırmanın verdiği tatmin.
- Düşük Gecikme: Ağ dönüşlerini ortadan kaldırarak daha hızlı yanıtlar.
Gizlilik konusu benim için özellikle değerli oldu. Hassas veri analizlerini dış sunuculara bilgi gönderme endişesi olmadan keşfedebilmek özgürleştiriciydi.
Donanım Gereksinimleri - Neye İhtiyacınız Var?
Gerçekçi olalım - bu modelleri yerelde çalıştırmak, özellikle büyük varyantlar için kolay değil. Donanım ihtiyaçlarınız, çalıştırmak istediğiniz modele bağlı olarak önemli ölçüde değişir.
Farklı modeller için gerekenler şöyle:
RAM Gereksinimleri
- Küçük Modeller (0.6B, 1.7B): En az 8GB RAM, tercihen 16GB
- Orta Modeller (4B, 8B): En az 16GB, tercihen 32GB
- Büyük Modeller (14B, 32B): En az 32GB, tercihen 64GB
- MoE Modelleri (30B-A3B, 235B-A22B): 64GB+ RAM, özellikle 235B varyant için
GPU/VRAM Gereksinimleri
Burada iş ciddileşiyor. GPU belleği (VRAM) genellikle sınırlayıcı faktördür:
- Qwen3-0.6B: 2GB+ VRAM'li GPU'larda çalışabilir (eski GTX 1060 bile yeterli)
- Qwen3-1.7B: 4GB+ VRAM (GTX 1070 veya daha iyisi)
- Qwen3-4B: 8GB+ VRAM (RTX 3060 veya daha iyisi)
- Qwen3-8B: 16GB+ VRAM (RTX 3090, 4080 veya A4000)
- Qwen3-14B: 24GB+ VRAM (RTX 4090 veya A5000)
- Qwen3-32B: 40GB+ VRAM (A100 veya birden fazla tüketici GPU)
- Qwen3-30B-A3B: Daha küçük aktif parametre sayısına rağmen 24GB+ VRAM gerekli
- Qwen3-235B-A22B: Birden fazla üst düzey GPU (örneğin 2+ A100 80GB veya 4+ A6000)
İyi haber şu ki, kuantizasyon bu gereksinimleri ciddi şekilde azaltabilir. Örneğin, 4-bit kuantizasyon ile (buna ileride değineceğiz) Qwen3-8B'yi 6GB VRAM'li bir GPU'da çalıştırmak mümkün olabilir, ancak performansta bazı ödünler olur.
Gerçek bir örnek vermek gerekirse, başlangıçta RTX 3080 (10GB VRAM) ile Qwen3-14B'yi çalıştırmayı denedim ve hemen "CUDA out of memory" hatası aldım. 4-bit kuantizasyon uyguladıktan sonra çalıştırabildim ama yanıtlar belirgin şekilde yavaştı. Sonra RTX 4090 (24GB VRAM) aldım ve 8-bit kuantizasyonla 14B modeli sorunsuz çalıştırabiliyorum.
Sadece CPU ile Çalıştırmak Mümkün mü?
Evet, teknik olarak küçük Qwen3 modellerini (0.6B, belki 1.7B) sadece CPU ile çalıştırabilirsiniz, ama mucizeler beklemeyin. Core i7 işlemcimde GPU hızlandırması olmadan Qwen3-0.6B'yi çalıştırmayı denediğimde basit bir paragraf oluşturması neredeyse 45 saniye sürdü. Gerçek zamanlı sohbet için uygun değil!
Depolama Gereksinimleri
Disk alanını unutmayın! İhtiyacınız olanlar:
- Küçük Modeller: Model başına 2-5GB
- Orta Modeller: Model başına 8-16GB
- Büyük Modeller: Model başına 30-60GB
- MoE Modelleri: 60-120GB veya daha fazla
SSD kullanmanızı öneririm; HDD ile model yükleme süreleri çok uzun oluyor. İlk denemelerimde eski mekanik sürücüyle Qwen3-8B'yi yüklemek neredeyse 10 dakika sürdü!
Yazılım Önkoşulları
Kuruluma başlamadan önce şunların yüklü olduğundan emin olun:
- Python 3.10+: Modern ML kütüphaneleri için en iyisi
- CUDA Toolkit: NVIDIA GPU kullanıyorsanız 11.8+ sürümü
- Uyumlu İşletim Sistemi: Linux tercih edilir (Ubuntu 22.04+ çok iyi çalışıyor), Windows da destekleniyor
- Git: Depoları indirmek için
- Sanal ortam aracı: Conda veya venv ile bağımlılıkları yönetmek için
Yöntem 1: Ollama ile Qwen3'ü Çalıştırmak (Basit Yol)
Çeşitli yöntemleri denedikten sonra, Ollama'nın Qwen3'ü yerelde başlamak için en kullanıcı dostu yol olduğunu gördüm. Karmaşıklığı büyük ölçüde soyutlar ve güzel bir CLI arayüzü sunar.
Adım 1: Ollama'yı Kurun
Öncelikle, Ollama'yı resmi web sitesinden indirip kurun veya terminalden:
curl -fsSL https://ollama.com/install.sh | sh
Windows kullanıcıları web sitesinden yükleyiciyi indirip kurabilir.
Adım 2: Bir Qwen3 Modeli Çalıştırın
Başlamak için en basit komut:
ollama run qwen3:4b
Bu komut şunları yapar:
- Model mevcut değilse indirir
- Belleğe yükler
- Etkileşimli sohbet oturumu başlatır
4b
yerine desteklenen diğer varyantları da kullanabilirsiniz: 0.6b
, 1.7b
, 8b
, 14b
, 32b
veya 30b-a3b
.
İlk çalıştırmam modelin indirilmesi nedeniyle yaklaşık 15 dakika sürdü, sabırlı olun! İyi haber, sonraki çalıştırmalar çok daha hızlı çünkü model önbelleğe alınmış oluyor.
Adım 3: Sohbet Edin ve Deneyin
Çalıştıktan sonra terminalde doğrudan modelle sohbet edebilirsiniz. İşte yaptığım bir örnek konuşma:
> Tell me about mixture-of-experts architecture in LLMs.
Mixture-of-Experts (MoE) is an architectural approach used in Large Language Models (LLMs) that improves efficiency by selectively activating only parts of the network for any given input.
In traditional "dense" transformer models, all parameters are used for every token processed. This is computationally expensive as models grow larger. MoE models address this by incorporating specialized sub-networks called "experts," along with a routing mechanism that determines which experts to activate for specific inputs.
For example, in Qwen3's MoE models (like Qwen3-30B-A3B and Qwen3-235B-A22B), each MoE layer contains 128 expert feed-forward networks, but only 8 are activated per token. This sparse activation pattern means that while the total parameter count might be 235B, only about 22B are used during inference for any given token.
This approach offers several benefits:
1. Computational efficiency - only a fraction of parameters are computed during inference
2. Capacity scaling - the model can have enormous total capacity while maintaining reasonable computation costs
3. Specialization - different experts can focus on different types of knowledge or tasks
The key components in an MoE layer include:
- Expert networks: Specialized feed-forward networks
- Router: A mechanism that decides which experts should process each token
- Gating function: Determines how to weight and combine the outputs from selected experts
This architecture has enabled the development of increasingly larger models without proportional increases in computational requirements.
Fena değil, değil mi? RTX 4090'ımda yanıt yaklaşık 15 saniyede üretildi.
Adım 4: API Kullanımı (İsteğe Bağlı)
Ollama ayrıca genellikle http://localhost:11434
adresinde çalışan yerel bir sunucu başlatır ve OpenAI uyumlu API formatını takip eder. Böylece curl veya Python istemcileri gibi araçlarla programatik olarak etkileşim kurabilirsiniz.
Hızlı bir Python örneği:
import requests
response = requests.post('http://localhost:11434/api/generate',
json={
'model': 'qwen3:4b',
'prompt': 'Write a short poem about neural networks.',
'stream': False
})
print(response.json()['response'])
Bu özellik, yerelde barındırdığınız Qwen3 modeli üzerine uygulamalar geliştirmenizi kolaylaştırır.
Yöntem 2: vLLM ile Qwen3'ü Çalıştırmak (Performans Yolu)
Daha yüksek performans arıyorsanız, özellikle üretim benzeri ortamlar için model sunmak istiyorsanız, vLLM doğru tercih. GPU kullanımını maksimize etmek için PagedAttention gibi tekniklerle optimize edilmiştir.
vLLM, doğru yapılandırıldığında Ollama'dan çok daha hızlıdır, ancak başlangıçta kurulumu daha karmaşıktır.
Adım 1: vLLM'yi Kurun
Sanal ortam kullanmanızı öneririm:
python -m venv venv
source venv/bin/activate # Windows için: venv\Scripts\activate
pip install -U vllm
Bu adımdan önce uygun CUDA sürücülerinin yüklü olduğundan emin olun.
Adım 2: Bir Qwen3 Modeli Sunun
İşte işin ilginç kısmı. Qwen3-7B modelini sunmak için:
vllm serve Qwen/Qwen3-7B \
--enable-reasoning \
--reasoning-parser deepseek_r1
Tek GPU'ya sığmayan daha büyük modeller için tensör paralelliği kullanabilirsiniz:
vllm serve Qwen/Qwen3-30B-A3B \
--enable-reasoning \
--reasoning-parser deepseek_r1 \
--tensor-parallel-size 2
--enable-reasoning
bayrağı Qwen3'ün hibrit düşünme yeteneklerini aktif eder, --reasoning-parser deepseek_r1
ise vLLM'nin modelin düşünme formatını doğru yorumlamasını sağlar.
Başta beni şaşırtan şey --reasoning-parser
bayrağının önemi oldu. Olmazsa, model yanıtlarım bazen kesiliyor veya garip biçimlendirme hataları içeriyordu.
Adım 3: vLLM Sunucusuyla Etkileşim
Çalıştıktan sonra vLLM, OpenAI API spesifikasyonunu takip eden bir API sunucusu (http://localhost:8000
varsayılan) barındırır. curl ile şöyle etkileşim kurabilirsiniz:
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-7B",
"prompt": "Explain quantum computing in simple terms",
"max_tokens": 150,
"temperature": 0.7
}'
Ya da Python OpenAI istemcisi ile:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="not-needed")
response = client.completions.create(
model="Qwen/Qwen3-7B",
prompt="Write a Python function to calculate factorial recursively",
max_tokens=150
)
print(response.choices[0].text)
vLLM Performans Dikkatleri
vLLM ile bazı ilginç performans desenleri gözlemledim:
- Batch Boyutu Önemli: Batch boyutunu artırmak (örneğin
--max-batch-size 8
) çoklu eşzamanlı isteklerde verimi artırır. - İlk İstek Isınması: Sunucu başlatıldıktan sonra ilk istek genellikle daha yavaştır çünkü model ısınmaktadır.
- Verimli Bellek Yönetimi: vLLM'nin PagedAttention mekanizması uzun bağlamları diğer frameworklere göre çok daha verimli yönetir.
Kuantizasyon: Büyük Modelleri Tüketici Donanımına Sığdırmak
İlk Qwen3-32B'yi çalıştırmayı denediğimde bilgisayarım adeta "güzel deneme ama olmaz" dedi. İşte kuantizasyon devreye girdi.
Kuantizasyon, model ağırlıklarının hassasiyetini düşürerek biraz doğruluk kaybı karşılığında bellek kullanımını ciddi oranda azaltır. Yaygın seçenekler:
- FP16 (16-bit): Varsayılan, en iyi doğruluk ama en yüksek VRAM kullanımı
- INT8 (8-bit): VRAM kullanımını yaklaşık %50 azaltır, kalite kaybı minimal
- INT4 (4-bit): VRAM kullanımını yaklaşık %75 azaltır, kalite etkisi fark edilir ama çoğu durumda kabul edilebilir
Ollama ile Kuantizasyon Kullanımı
Ollama bazı kuantizasyonları otomatik uygular, ancak Modelfile kullanarak özel ayarlar yapabilirsiniz:
# Modelfile adında bir dosya oluşturun
FROM qwen3:14b
PARAMETER num_gpu_layers 35
PARAMETER quantization_method q4_0
Sonra özel kuantize modelinizi oluşturup çalıştırın:
ollama create qwen3-14b-quantized -f Modelfile
ollama run qwen3-14b-quantized
vLLM ile Kuantizasyon Kullanımı
vLLM, komut satırı bayraklarıyla çeşitli kuantizasyon yöntemlerini destekler:
vllm serve Qwen/Qwen3-14B \
--enable-reasoning \
--reasoning-parser deepseek_r1 \
--quantization awq
Seçenekler arasında awq
, gptq
ve squeezellm
bulunur. Qwen3 modelleri için AWQ, sıkıştırma ve kalite dengesi açısından en iyisi gibi görünüyor.
Gerçek Dünya Performansı: Benim Benchmarklarım
Kendi sistemimde (RTX 4090, 32GB RAM, Ryzen 9 5900X) yaptığım gayri resmi benchmarklar:
Model | Kuantizasyon | Token/saniye | Yükleme Süresi | Maks Bağlam | VRAM Kullanımı |
---|---|---|---|---|---|
Qwen3-0.6B | Yok (FP16) | 42.3 | 6 saniye | 32K | 1.9 GB |
Qwen3-4B | Yok (FP16) | 28.7 | 18 saniye | 32K | 9.2 GB |
Qwen3-4B | 4-bit (Q4_0) | 26.1 | 12 saniye | 32K | 3.4 GB |
Qwen3-14B | 8-bit (AWQ) | 15.2 | 45 saniye | 128K | 11.3 GB |
Qwen3-14B | 4-bit (GPTQ) | 12.8 | 38 saniye | 128K | 7.1 GB |
Bu rakamlar vLLM kullanılarak alınmıştır ve donanımınıza ve yaptığınız görevlere göre değişebilir.
İlginçtir ki, yaratıcı yazı ve kod üretimi gibi bazı görevlerde 4-bit kuantize modeller bile oldukça iyi performans gösteriyor. Ancak karmaşık akıl yürütme görevlerinde 4-bit kuantizasyonla kalite düşüşü daha belirgin oluyor.
Gelişmiş Özellikler: Hibrit Düşünme Modu
Qwen3'ün en ilginç özelliklerinden biri hibrit düşünme yeteneğidir ve etkileşimlerinizde bunu kontrol edebilirsiniz.
Ollama ile istemlerinizde özel etiketler kullanabilirsiniz:
/think I need to solve this step by step. What's the derivative of f(x) = x^3 * ln(x)?
Bu, modelin içsel akıl yürütme modunu tetikler.
vLLM'de ise --enable-reasoning
bayrağı sunucu seviyesinde bu yeteneği aktif eder, ancak istem biçimlendirmesiyle yine de kontrol edebilirsiniz.
Düşünme modunu özellikle matematik problemleri ve mantıksal akıl yürütme görevlerinde faydalı buldum; model düşünce sürecini adım adım açıklayabiliyor.
Yaygın Sorun Giderme
Qwen3 ile yolculuğumda karşılaştığım ve (nihayetinde) çözdüğüm bazı yaygın sorunlar:
CUDA Bellek Yetersizliği Hataları
Sorun: "CUDA out of memory" veya "RuntimeError: CUDA error: out of memory" hataları
Çözüm: Şunları deneyin:
- Daha agresif bir kuantizasyon yöntemi kullanmak
- Batch boyutunu veya bağlam uzunluğunu azaltmak
- Çalıştırmalar arasında CUDA önbelleğini temizlemek:
torch.cuda.empty_cache()
Ben bu hatayı, GPU kullanan diğer uygulamaları kapatmam gerektiğini anlayana kadar sık sık aldım (evet, arka plandaki WebGL içeren Chrome sekmeleri dahil!).
İlk Çıkarımın Yavaş Olması
Sorun: İlk sorgu sonraki sorgulardan çok daha uzun sürüyor
Çözüm: Bu normal! Model yükleniyor ve optimize ediliyor. Sonraki sorgular daha hızlıdır.
Garip Çıktı Biçimlendirmesi
Sorun: Çıktılar garip biçimlendirme hataları içeriyor veya kesiliyor
Çözüm: vLLM için doğru --reasoning-parser
bayrağını kullandığınızdan emin olun. Ollama için istem biçimlendirmesini kontrol edin.
Kurulum Hataları
Sorun: Özellikle vLLM kurulumu sırasında kütüphane hataları
Çözüm: CUDA sürümünüzün uyumlu olduğundan ve Python 3.10+ kullandığınızdan emin olun. Linux'ta ek sistem kütüphaneleri gerekebilir:
sudo apt-get install python3-dev
Sonuç: Qwen3'ü Yerelde Çalıştırmaya Değer mi?
Qwen3'ü yerelde keşfetmek için haftalar harcadıktan sonra cevabım kesinlikle "evet" - ama bazı şartlarla.
Bu modelleri yerelde çalıştırmak size benzersiz kontrol, gizlilik ve en son AI teknolojisini kendi makinenizde çalıştırmanın tatminini sunar. Qwen ekibi bu modelleri erişilebilir kılmak için harika işler yaptı ve Ollama ile vLLM gibi araçlar yerel dağıtımı giderek kolaylaştırdı.
Ancak, özellikle büyük modelleri ağır kuantizasyon olmadan çalıştırmak istiyorsanız iyi donanım gerekir. Çoğu kullanıcı için ideal nokta, orta kuantizasyonla Qwen3-4B veya Qwen3-8B'yi RTX 3080 veya daha iyisi gibi tüketici sınıfı bir GPU'da çalıştırmak olacaktır.
Yeni başlıyorsanız önerim:
- Basitlik için Ollama ile başlayın
- Önce küçük modelleri deneyin (0.6B, 1.7B, 4B)
- Kuantizasyonla denemeler yaparak optimum dengeyi bulun
- Daha fazla performans gerektiğinde vLLM'ye geçin
Yerel AI dağıtımı hızla gelişiyor ve bir yıl önce imkansız görünen şey artık tüketici donanımında mümkün. Optimizasyon teknikleri geliştikçe, daha büyük modelleri yerelde çalıştırmak giderek erişilebilir olacak.
Siz Qwen3 veya diğer büyük dil modellerini yerelde çalıştırmayı denediniz mi? Deneyimlerinizi ve keşfettiğiniz ipuçlarını duymak isterim!
SSS: Qwen3 Yerel Dağıtım Sorularınızın Cevapları
Qwen3'ü AMD GPU'larda çalıştırabilir miyim?
Evet, ama sınırlamalarla. ROCm gibi kütüphaneler AMD GPU desteği sağlar, ancak uyumluluk ve performans önemli ölçüde değişebilir. Ben şahsen test etmedim, ancak topluluk raporları mümkün olduğunu ancak NVIDIA GPU'lara göre daha zor olduğunu gösteriyor.
Tüm Qwen3 modelleri için ne kadar disk alanı gerekir?
Tüm varyantları yerelde çalıştırmak isterseniz (yaygın değil) yaklaşık 250-300GB disk alanı gerekir. Çoğu kullanıcı sadece kullanacağı modele ihtiyaç duyacak, bu da genellikle 5-60GB arasında değişir.
Qwen3'ü yerelde ince ayar yapabilir miyim?
Evet, ancak çıkarımdan daha fazla kaynak gerektirir. Küçük modeller (4B'ye kadar) için LoRA veya QLoRA ile ince ayar yapmak tüketici donanımında mümkündür. Daha büyük modeller daha fazla kaynak ister.
Qwen3 modelleri Llama 3 veya Mistral gibi diğer açık modellerle nasıl karşılaştırılır?
Testlerimde Qwen3 modelleri özellikle çok dilli görevlerde ve akıl yürütme yeteneklerinde öne çıkıyor. Benzer boyuttaki diğer model aileleriyle karşılaştırıldığında, her biri farklı alanlarda güçlü yönlere sahip.
Yerel dağıtım üretim kullanımı için uygun mu?
vLLM'nin optimizasyonlarıyla uygun olabilir, ancak güvenilirlik, ölçeklendirme ve izleme konularında dikkatli olunmalı. Ciddi üretim kullanımı için uygun hata yönetimi, izleme ve gerekirse çoklu sunucular arasında yük dengeleme uygulanmalıdır.