Geçen hafta bir okuyucu, GGUF dosyasının GPU’suz bir makinede vLLM’de neden başarısız olduğunu, aynı dosya Ollama’da sorunsuz çalışırken sordu. Kısa cevap, her şeyden önce: Evet, vLLM GGUF çalıştırır — resmî bir eklentiyle, yalnızca GPU’da. Eklentinin adı vllm-gguf-plugin, sözdizimi repo:quant_type; CPU’da denediğiniz anda desteklenen donanım tablosunun dışına çıkıyorsunuz. Aşağıdaki her şey vLLM dokümantasyonundan ve vllm-project/vllm deposunun geçmişinden geliyor (Şubat 2023’ten beri 92 bin+ yıldız) — dokümanlar var, benim test tezgâhım değil.
GGUF modelini vLLM ile nasıl servis edersiniz?
İki adım: eklentiyi kurun, sonra vLLM’i modele yönlendirin. GGUF desteği artık vLLM’in çekirdeğinde yaşamıyor — doküman, desteğin ”vllm-gguf-plugin“a taşındığını not eder; yani düz bir pip install vllm yetmez:
uv pip install vllm-gguf-plugin
# Doğrudan Hugging Face'ten, repo_id:quant_type biçimiyle:
vllm serve unsloth/Qwen3-0.6B-GGUF:Q4_K_M
--tokenizer Qwen/Qwen3-0.6B
# Ya da hâlen indirilmiş yerel bir dosya:
vllm serve ./Qwen3-0.6B-Q4_K_M.gguf
--tokenizer Qwen/Qwen3-0.6B --tokenizer bayrağı süs değil. Resmî doküman, GGUF tokenizer dönüşümü “zaman alıcı ve kararsız olduğu için — özellikle büyük kelime dağarcıklı modellerde” temel modelin tokenizer’ını önerir. Bunu atlamak, tek satırlık bir bayrağı uzun ve huysuz bir başlangıca takas etmektir.
İki GPU, tek model: aynı GGUF’u iki karta bölmek için --tensor-parallel-size 2 ekleyin — tensor parallelism, GGUF ile diğer tüm biçimlerde olduğu gibi çalışır.
vLLM neden GGUF’u CPU’da reddediyor?
İşin şaşırtan kısmı bu. GGUF’un ünü önce CPUdur — llama.cpp’nin adını laptoplarda ve Raspberry Pi’lerde kurduğu biçimdir. vLLM içindeyse durum tersine döner. Resmî donanım uyumluluk tablosu GGUF’u şöyle işaretler:
| Donanım | vLLM’de GGUF |
|---|---|
| NVIDIA Volta / Turing / Ampere / Ada / Hopper | destekleniyor |
| AMD GPU | destekleniyor |
| Intel GPU | desteklenmiyor |
| x86 CPU | desteklenmiyor |
| Arm CPU | desteklenmiyor |
Kaynak: vLLM quantization dokümanı. Gerekçe mimari: vLLM’in GGUF yolu, blokları toplu serving için tasarlanmış GPU çekirdeklerine dequantize eder. Arkasında CPU çekirdeği yoktur — çünkü vLLM bir serving motorudur, laptop oyuncağı değil. Makinede GPU yoksa hiçbir bayrak kurtarmaz — llama.cpp kullanın.
Ne bozuluyor: sınırların dürüst listesi
Aynı doküman sayfası, aynen alıntılamaya değer bir uyarı taşır: “vLLM’de GGUF desteği yüksek deneysel ve yetersiz optimize edilmiş durumda.” Somut olarak:
- Quant kapsamı llama.cpp’den daha dar. Herkesin indirdiği K-quant’lar (Q4_K_M ve tayfası) çalışır; egzotik şemalar her zaman değil. llama.cpp, biçimin referans uygulaması olmayı sürdürür.
- Mimari desteği geriden gelir. Yeni model aileleri önce llama.cpp’ye düşer; eklenti sonra.
- mmap tarzı tembel yükleme yok. llama.cpp dosyayı belleğe map’ler; vLLM herhangi bir checkpoint gibi yükler.
- Her şeyden önce bir bellek ayak izi özelliği. Doküman GGUF’u VRAM kullanımını düşürmenin yolu olarak çerçeveler; throughput bahsi değil.
Bunların hiçbiri gizli değil. Hepsi resmî GGUF sayfasının ilk paragrafında — çoğu deneysel özelliğin aldığından fazlası.
GGUF için vLLM mi llama.cpp mi: kim kazanır?
Aynı dosyayı okuyan farklı araçlar:
| vLLM + GGUF | llama.cpp | |
|---|---|---|
| CPU çıkarımı | hayır | evet, birinci sınıf |
| Eşzamanlı kullanıcılar | continuous batching, tam bunun için | sınırlı |
| Quant kapsamı | alt küme, deneysel | referans |
| Kurulum | vLLM + eklenti | tek binary |
| Kimin için ideal | tek GPU, çok kullanıcı | tek kullanıcı, her donanım |
Bir modeli tek GPU’dan bir ekibe servis ediyorsanız, vLLM + GGUF, local-LLM dünyasının paylaştığı Q4_K_M dosyalarını yeniden kullanmanızı sağlar — GGUF quantization rehberimizde daha fazla seçimle. Tam motor karşılaştırması için llama.cpp vs Ollama ve GGUF modellerini yerelde çalıştırma yazılarına bakın.
Tek satırlık kural: aynı dosya, zıt içgüdüler — llama.cpp GGUF’u biçimin kendisi sayar, vLLM bir seçenek sayar.
FAQ
vLLM GGUF modellerini çalıştırır mı?
Evet. vllm-gguf-plugin'ı kurun ve repo:quant_type sözdizimiyle serv edin — ama yalnızca GPU'da. vLLM'in CPU yolu GGUF'u kapsamaz.
vLLM GGUF'u CPU'da çalıştırır mı?
Hayır. Resmî donanım uyumluluk tablosu GGUF'u x86 ve Arm CPU'larda desteklenmiyor olarak işaretler — CPU yolu için llama.cpp ya da Ollama kalır.
GGUF'u vLLM ile mi yoksa llama.cpp ile mi servis etmeli?
Tek GPU'nun çok sayıda eşzamanlı kullanıcıya hizmet vermesi gerekiyorsa vLLM; makinede GPU yoksa veya en geniş quant kapsamını istiyorsanız llama.cpp.
— mrsaynothing
— mrsaynothing
Yapay zekâ, Linux ve self-hosting üzerine saha notları.
Sıradaki rehberi e-postayla al
Yazı başına bir e-posta. Onar, yola devam.
bu nedir?Masaüstünde 128k bağlam bir yalan. KV önbelleği onu yedi.
Yazıları beğendiniz mi? Ben geçim için böyle inşa ederim. beni işe al