গত সপ্তাহে এক পাঠক জিজ্ঞেস করেছিলেন, 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 + GGUF | llama.cpp | |
|---|---|---|
| CPU ইনফারেন্স | না | হ্যাঁ, সেরা মানের |
| একযোগে ব্যবহারকারী | continuous batching, এজন্যই তৈরি | সীমিত |
| Quant কভারেজ | উপসেট, পরীক্ষামূলক | রেফারেন্স |
| ইনস্টলেশন | vLLM + প্লাগিন | একটাই বাইনারি |
| আদর্শ কোথায় | এক GPU, অনেক ব্যবহারকারী | এক ব্যবহারকারী, যেকোনো হার্ডওয়্যার |
একটিই GPU থেকে দলকে মডেল সার্ভ করলে vLLM + GGUF আপনাকে local-LLM জগতের শেয়ার করা সেই একই Q4_K_M ফাইল বারবার ব্যবহার করতে দেয় — আরও বিকল্প আমাদের GGUF quantization গাইডে। ইঞ্জিনের পূর্ণ তুলনা দেখুন llama.cpp vs Ollama ও GGUF মডেল লোকালি চালানোর নিয়ম।
এক-লাইনের নিয়ম: একই ফাইল, উল্টো স্বভাব — 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 নিয়ে ফিল্ড নোটস।
পরের হাউ-টু ইমেইলে পান
প্রতি পোস্টে একটি ইমেইল। সমাধান করুন, এগিয়ে যান।
এটা কী?ডেস্কটপে ১২৮k কনটেক্সট মিথ্যা। KV ক্যাশ তা খেয়ে ফেলেছে।
লেখাগুলো ভালো লাগছে? এমন জিনিস বানানোই আমার পেশা। আমাকে নিন