ব্লগে ফিরুন

vLLM কি GGUF চালাতে পারে? পারে — শুধু GPU-তে

২৩ সেপ্টেম্বর, ২০২৬

গত সপ্তাহে এক পাঠক জিজ্ঞেস করেছিলেন, GPU-হীন মেশিনে vLLM-এ তাঁর GGUF ফাইল কেন ব্যর্থ হয় — যখন একই ফাইল Ollama-তে নির্বিঘ্নে চলে। প্রথমেই ছোট উত্তর: হ্যাঁ, vLLM GGUF চালাতে পারে — অফিশিয়াল প্লাগিনের মাধ্যমে, শুধু GPU-তে। প্লাগিনের নাম vllm-gguf-plugin, সিনট্যাক্স repo:quant_type; CPU-তে চেষ্টা করতেই আপনি সমর্থিত হার্ডওয়্যার টেবিলের বাইরে চলে যান। নিচের সবকিছু vLLM ডকুমেন্টেশন ও vllm-project/vllm রিপোজিটরির রেকর্ড (ফেব্রুয়ারি ২০২৩ থেকে ৯২,০০০+ স্টার) থেকে — ডকুমেন্ট থেকে, আমার টেস্ট রিগ থেকে নয়।

GGUF মডেল vLLM দিয়ে কীভাবে serve করবেন?

দুই ধাপ: প্লাগিন ইনস্টল করুন, তারপর vLLM-কে মডেলের দিকে তাক করান। GGUF সাপোর্ট আর vLLM-এর কোরে থাকে না — ডকুমেন্টেশন জানায় এটি «vllm-gguf-plugin-এ সরে গেছে», তাই শুধু pip install vllm যথেষ্ট নয়:

uv pip install vllm-gguf-plugin

# সরাসরি Hugging Face থেকে, repo_id:quant_type ফরম্যাটে:
vllm serve unsloth/Qwen3-0.6B-GGUF:Q4_K_M 
  --tokenizer Qwen/Qwen3-0.6B

# অথবা আগে থেকে নামানো লোকাল ফাইল:
vllm serve ./Qwen3-0.6B-Q4_K_M.gguf 
  --tokenizer Qwen/Qwen3-0.6B

--tokenizer ফ্ল্যাগটা অলংকার নয়। অফিশিয়াল ডকুমেন্টেশন বেস মডেলের tokenizer ব্যবহারের পরামর্শ দেয়, কারণ GGUF থেকে tokenizer রূপান্তর «সময়সাপেক্ষ ও অস্থির — বড় শব্দভাণ্ডারের মডেলে বিশেষত»। এটা বাদ দেওয়া মানে এক-লাইনের ফ্ল্যাগের বদলে লম্বা, মেজাজি স্টার্টআপ নেওয়া।

দুটি GPU, এক মডেল: --tensor-parallel-size 2 যোগ করলে একই GGUF দুই কার্ডে ভাগ হবে — tensor parallelism GGUF-এও অন্য সব ফরম্যাটের মতোই কাজ করে।

vLLM CPU-তে GGUF কেন প্রত্যাখ্যান করে?

চমকে দেওয়ার অংশ এটাই। GGUF-এর খ্যাতি আগে CPU — llama.cpp ঠিক এই ফরম্যাটের ওপরই ল্যাপটপ আর Raspberry Pi-তে নাম বানিয়েছে। কিন্তু vLLM-এর ভেতরে অবস্থান উল্টে যায়। অফিশিয়াল হার্ডওয়্যার সামঞ্জস্য টেবিলে GGUF দাঁড়ায় এভাবে:

হার্ডওয়্যারvLLM-এ GGUF
NVIDIA Volta / Turing / Ampere / Ada / Hopperসমর্থিত
AMD GPUসমর্থিত
Intel GPUঅসমর্থিত
x86 CPUঅসমর্থিত
Arm CPUঅসমর্থিত

সূত্র: vLLM quantization ডকুমেন্টেশন। কারণটা স্থাপত্যগত: vLLM-এর GGUF পথ ব্লকগুলোকে ব্যাচ serving-এর জন্য তৈরি GPU কার্নেলে dequantize করে। পেছনে কোনো CPU কার্নেল নেই — কারণ vLLM একটা serving ইঞ্জিন, ল্যাপটপের খেলনা নয়। মেশিনে GPU না থাকলে কোনো ফ্ল্যাগই বাঁচায় না — llama.cpp ব্যবহার করুন।

কী ভাঙে: সীমার সৎ তালিকা

একই ডকুমেন্ট পাতায় হুবহু উদ্ধৃত করার মতো একটা সতর্কবার্তা আছে: «vLLM-এ GGUF সাপোর্ট অত্যন্ত পরীক্ষামূলক এবং কম-অপটিমাইজড»। বাস্তবে:

  • Quantization কভারেজ llama.cpp-এর চেয়ে সরু। সবাই যে K-quant নামায় (Q4_K_M পরিবার) সেগুলো চলে; বাঁধাধরা স্কিম সবসময় নয়। ফরম্যাটের রেফারেন্স ইমপ্লিমেন্টেশন এখনো llama.cpp।
  • আর্কিটেকচার সাপোর্ট পিছিয়ে আসে। নতুন মডেল পরিবার আগে llama.cpp-তে পৌঁছায়; প্লাগিন পরে।
  • mmap-ধাঁচের lazy loading নেই। llama.cpp ফাইলটা মেমরিতে ম্যাপ করে; vLLM যেকোনো checkpoint-এর মতোই লোড করে।
  • এটা মূলত মেমরি-ফুটপ্রিন্ট ফিচার। ডকুমেন্টেশন GGUF-কে VRAM খরচ কমানোর উপায় হিসেবে দেখায়, থ্রুপুটের বাজি হিসেবে নয়।

এর কিছুই লুকানো নেই। সবই অফিশিয়াল GGUF পাতার প্রথম অনুচ্ছেদে — বেশিরভাগ পরীক্ষামূলক ফিচারের চেয়ে বেশি সৎ।

GGUF-এ vLLM না llama.cpp: কে জেতে?

একই ফাইল পড়া দুই ভিন্ন যন্ত্র:

vLLM + GGUFllama.cpp
CPU ইনফারেন্সনাহ্যাঁ, সেরা মানের
একযোগে ব্যবহারকারীcontinuous batching, এজন্যই তৈরিসীমিত
Quant কভারেজউপসেট, পরীক্ষামূলকরেফারেন্স
ইনস্টলেশনvLLM + প্লাগিনএকটাই বাইনারি
আদর্শ কোথায়এক GPU, অনেক ব্যবহারকারীএক ব্যবহারকারী, যেকোনো হার্ডওয়্যার

একটিই GPU থেকে দলকে মডেল সার্ভ করলে vLLM + GGUF আপনাকে local-LLM জগতের শেয়ার করা সেই একই Q4_K_M ফাইল বারবার ব্যবহার করতে দেয় — আরও বিকল্প আমাদের GGUF quantization গাইডে। ইঞ্জিনের পূর্ণ তুলনা দেখুন llama.cpp vs OllamaGGUF মডেল লোকালি চালানোর নিয়ম

এক-লাইনের নিয়ম: একই ফাইল, উল্টো স্বভাব — llama.cpp GGUF-কে মূল ফরম্যাট মানে, vLLM মানে একটা অপশন।

FAQ

vLLM কি GGUF মডেল চালাতে পারে?

পারে। vllm-gguf-plugin ইনস্টল করে repo:quant_type সিনট্যাক্সে serve করুন — তবে শুধু GPU-তে। vLLM-এর CPU পথ GGUF কভার করে না।

vLLM কি CPU-তে GGUF চালায়?

না। অফিশিয়াল হার্ডওয়্যার সামঞ্জস্য টেবিল GGUF-কে x86 ও Arm CPU-তে অসমর্থিত দেখায় — CPU পথ এখনো llama.cpp বা Ollama-র।

GGUF সার্ভ করব vLLM না llama.cpp দিয়ে?

একটিই GPU দিয়ে অনেক একযোগে ব্যবহারকারীকে সেবা দিতে হলে vLLM; মেশিনে GPU না থাকলে বা সবচেয়ে চওড়া quantization কভারেজ চাইলে llama.cpp।

— mrsaynothing

— mrsaynothing

AI, Linux ও self-hosting নিয়ে ফিল্ড নোটস।

পরের হাউ-টু ইমেইলে পান

প্রতি পোস্টে একটি ইমেইল। সমাধান করুন, এগিয়ে যান।

self-hosted · কোনো তৃতীয় পক্ষ নেই · এক ক্লিকে আনসাবস্ক্রাইব

এটা কী?

ডেস্কটপে ১২৮k কনটেক্সট মিথ্যা। KV ক্যাশ তা খেয়ে ফেলেছে।

লেখাগুলো ভালো লাগছে? এমন জিনিস বানানোই আমার পেশা। আমাকে নিন