
सभी पैरामीटर गिनती पर जुनून करते हैं। बड़ा मॉडल, बेहतर उत्तर — जब तक टोकन तीन प्रति सेकंड की गति से न खिसकने लगें और आपके GPU पर फैन एक पत्ती की झाड़ू की तरह न लगने लगे। जो गति लाभ लोग 7B से 70B मॉडल में जाने से खोजते हैं, उसका आधा हिस्सा आपके पास जो runtime है उसे ठीक से समायोजित करने से आता।
2026 में स्थानीय LLM inference निर्णयों का एक ढेर है: परिमाणीकरण योजना, KV cache dtype, batch size, prompt cache, अनुमानात्मक डिकोडिंग, offload strategy। हमने स्थानीय LLM inference अनुकूलन के लिए आठ डेस्कटॉप ऐप्स का परीक्षण किया, कम-स्तरीय runtime से जो हर नियंत्रण को उजागर करते हैं, लपेटे हुए उपकरणों तक जो आपके लिए समझदारीपूर्ण डिफ़ॉल्ट चुनते हैं। वह चुनें जो इस बात से मेल खाता हो कि आप कितनी गहराई तक जाना चाहते हैं।
स्थानीय LLM inference अनुकूलन ऐप में क्या देखें
हर runtime एक ही चीज़ को अनुकूलित नहीं करता। चुनने से पहले, जानें कि आपको इनमें से कौन सी वास्तव में आवश्यकता है:
- परिमाणीकरण समर्थन। Runtime को GGUF, EXL2, AWQ या MLC प्रारूप पढ़ने चाहिए और आपको प्रति मॉडल बिट चौड़ाई चुनने देनी चाहिए। 4-bit आधुनिक डिफ़ॉल्ट है; कुछ कार्यभार 3-bit पर ठीक काम करते हैं।
- KV cache नियंत्रण। Cache dtype (fp16 बनाम q8_0 बनाम q4_0) और cache आकार दोनों VRAM उपयोग को काफी हद तक बदलते हैं। Runtime को आपको उन्हें सेट करने देना चाहिए।
- Prompt cache पुनः उपयोग। Chat और RAG के लिए, पिछले संदेश से KV cache का पुनः उपयोग तत्काल अनुवर्ती और पूर्ण prefill के बीच का अंतर है।
- अनुमानात्मक डिकोडिंग। एक छोटे draft मॉडल को एक बड़े target मॉडल के साथ जोड़ना chat workload के लिए एक ही हार्डवेयर पर throughput को दोगुना कर सकता है।
- मल्टी-GPU और offload। Layer-by-layer offload CPU RAM को, tensor split GPU के पार और NUMA-aware allocation महत्वपूर्ण हो जाते हैं जब मॉडल बड़े हो जाते हैं।
- Batch और concurrent request handling। यदि आप एक से अधिक client को serve करते हैं, तो batch 8 या 16 पर throughput batch 1 में latency से अधिक महत्वपूर्ण है।
त्वरित तुलना
| ऐप | सर्वश्रेष्ठ के लिए | प्लेटफॉर्म | मुफ़्त योजना | विशेष सुविधा |
|---|---|---|---|---|
| llama.cpp | गहरा परिमाणीकरण + KV cache नियंत्रण | Windows, macOS, Linux | पूरी तरह से मुफ़्त, open source | GGUF ecosystem, per-layer offload |
| Ollama | Zero-config runtime समझदारीपूर्ण defaults के साथ | Windows, macOS, Linux | मुफ़्त | One-line मॉडल स्वैप |
| LM Studio | Terminal के बिना tuning के लिए GUI | Windows, macOS, Linux | मुफ़्त | GGUF के लिए visual runtime settings |
| vLLM | PagedAttention के साथ Batched serving | Linux, Windows via WSL | मुफ़्त, open source | कई clients के लिए Continuous batching |
| MLC LLM | GPU पर Compiled inference | Windows, macOS, Linux | मुफ़्त, open source | TVM-compiled kernels, Metal + Vulkan |
| KoboldCpp | Roleplay और creative writing tuning | Windows, macOS, Linux | मुफ़्त, open source | Per-prompt KV cache tuning UI |
| ExLlamaV2 | Nvidia पर Fast EXL2 inference | Windows, Linux | मुफ़्त, open source | EXL2 quant + अनुमानात्मक डिकोडिंग |
| TabbyAPI | OpenAI-compatible ExLlamaV2 सर्वर | Windows, Linux | मुफ़्त, open source | किसी भी OpenAI client के पीछे गिरता है |
ऐप्स
1. llama.cpp — गहरे परिमाणीकरण और KV cache नियंत्रण के लिए सर्वश्रेष्ठ
llama.cpp वह runtime है जिस पर अधिकांश ecosystem बनाया गया है। यह 8-bit से 2-bit तक GGUF quantizations को पढ़ता है, जब मॉडल VRAM में फिट नहीं होता तो per-layer offload करता है CPU को, और cache dtype settings को उजागर करता है ताकि आप गुणवत्ता के लिए headroom को trade कर सकें।
Tuning surface वह जगह है जहां गति रहती है। अपने GPU के लिए --n-gpu-layers को सही तरीके से सेट करना, cache dtype को quant के साथ मिलाना, --flash-attn को सक्षम करना, और prompt cache फ़ाइलों का उपयोग करना एक ही hardware पर throughput को दोगुना कर सकता है।
जहां यह कम पड़ता है: CLI घना है और flag list जल्दी बदलता है। पहली बार tuning के लिए documentation पढ़ने में एक दोपहर लगती है।
मूल्य निर्धारण:
- मुफ़्त, open source।
प्लेटफॉर्म: Windows, macOS, Linux — CPU, CUDA, Metal, Vulkan, ROCm।
डाउनलोड: llama.cpp on GitHub
निचला हिस्सा: वह runtime जब गति सुविधा से अधिक मायने रखती है।
2. Ollama — Zero-config runtime समझदारीपूर्ण defaults के साथ सर्वश्रेष्ठ
Ollama llama.cpp को wrap करता है और ऐसे defaults चुनता है जो ज्यादातर लोगों को एक flag को छुए बिना acceptable throughput तक ले जाते हैं। एक मॉडल खींचें, चलाएं, हो गया। Modelfile format आपको system prompts, sampling parameters और context length को per model सेट करने देता है।
एक workstation के लिए जो कुछ मॉडल को rotation में चलाता है, यह “installed” से “usable” तक का तेजी से रास्ता है। Advanced tuning command-line flags के बजाय Modelfile params के माध्यम से होता है।
जहां यह कम पड़ता है: यह abstraction कुछ levers को छुपाता है जो throughput का अंतिम 30% निकालते हैं। Power users अक्सर casual use के लिए Ollama और heavy work के लिए llama.cpp दोनों के साथ समाप्त होते हैं।
मूल्य निर्धारण:
- मुफ़्त।
प्लेटफॉर्म: Windows, macOS, Linux।
डाउनलोड: Ollama for desktop
निचला हिस्सा: कोई जो local LLMs के लिए नया है और manual के बिना गति चाहता है के लिए default pick।
3. LM Studio — Terminal के बिना tuning के लिए सर्वश्रेष्ठ
LM Studio llama.cpp के optimization knobs को एक real GUI के माध्यम से expose करता है। Quant selection, n_gpu_layers, context length, cache dtype और batch size सभी को flags के बजाय sliders और dropdowns मिलते हैं।
यह उन लोगों के लिए सर्वश्रेष्ठ पसंद बनाता है जो समझते हैं कि knobs क्या करते हैं लेकिन CLI syntax को याद नहीं रखना चाहते। Built-in chat और API server आपके tune करते समय testing harness के रूप में काम करते हैं।
जहां यह कम पड़ता है: GUI-only का अर्थ है scripting सीमित है। Headless servers के लिए, llama.cpp या Ollama पर वापस जाएं।
मूल्य निर्धारण:
- व्यक्तिगत और hobby use के लिए मुफ़्त।
- Paid: commercial deployments के लिए Team plans।
प्लेटफॉर्म: Windows, macOS, Linux।
डाउनलोड: LM Studio for desktop
निचला हिस्सा: tuning GUI जो अंततः llama.cpp को accessible बनाता है।
4. vLLM — PagedAttention के साथ Batched serving के लिए सर्वश्रेष्ठ
vLLM तब चमकता है जब आप कई concurrent requests serve करते हैं। PagedAttention KV cache को एक memory allocator की तरह manage करता है, fragmentation के बिना एक ही VRAM में कई active sequences को pack करता है। Continuous batching का अर्थ है कि नए requests current को समाप्त होने का इंतज़ार करने के बजाय token generations के बीच में slot में जाते हैं।
एक home lab के लिए जो एक ही समय में कई apps के लिए OpenAI-compatible endpoint चलाता है, batch 8 पर vLLM का throughput curve single-request runtimes को crush करता है।
जहां यह कम पड़ता है: Nvidia-first, AMD और Metal पर कम mature। Trade-off यह है कि आप शायद इसके लिए real GPU चाहते हैं।
मूल्य निर्धारण:
- मुफ़्त, open source।
प्लेटफॉर्म: Linux natively, Windows via WSL।
डाउनलोड: vLLM on GitHub
निचला हिस्सा: जो कोई भी एक ही box से एक से अधिक client serve करता है के लिए runtime।
5. MLC LLM — GPU पर Compiled inference के लिए सर्वश्रेष्ठ
MLC LLM एक अलग bet करता है: TVM के साथ model kernels को exact target hardware के लिए compile करें। यह Metal, Vulkan और WebGPU को strong support देता है, जो महत्वपूर्ण है यदि आपका desktop Mac Studio है या AMD box है जहां CUDA-first runtimes संघर्ष करते हैं।
परिणाम hardware पर fast prefill और decode है जहां llama.cpp ठीक है लेकिन fast नहीं है। Compilation प्रति model प्रति target को एक one-time step जोड़ता है।
जहां यह कम पड़ता है: model zoo GGUF की तुलना में छोटा है, और workflow पहली बार उपयोगकर्ताओं के लिए भारी है।
मूल्य निर्धारण:
- मुफ़्त, open source।
प्लेटफॉर्म: Windows, macOS, Linux, plus browsers में WebGPU।
डाउनलोड: MLC LLM on GitHub
निचला हिस्सा: सबसे मजबूत pick यदि आपका primary GPU Nvidia card नहीं है।
6. KoboldCpp — Roleplay और creative writing tuning के लिए सर्वश्रेष्ठ
KoboldCpp नीचे llama.cpp है long-form writing और roleplay को लक्ष्य करने वाला UI के साथ। वह workload KV cache पर hard lean करता है — long context, same story का repeated re-reads अब तक — तो KoboldCpp cache reuse और context-shift controls को प्रमुखता से expose करता है।
Scenario tools, world info और memory features इसे target audience के बाहर भी strong pick बनाते हैं। कोई भी जो long-context prompts चलाता है cache tuning से लाभ उठाता है।
जहां यह कम पड़ता है: UI functional के बजाय polished है। Server-mode ठीक है लेकिन primary experience built-in chat है।
मूल्य निर्धारण:
- मुफ़्त, open source।
प्लेटफॉर्म: Windows, macOS, Linux।
डाउनलोड: KoboldCpp releases on GitHub
निचला हिस्सा: long-context work के लिए best-tuned front end।
7. ExLlamaV2 — Nvidia पर Fast EXL2 inference के लिए सर्वश्रेष्ठ
ExLlamaV2 एक CUDA-first inference engine है जो EXL2 quantization format को पढ़ता है। समान Nvidia GPU पर, यह आमतौर पर effective quality bit budget के समान llama.cpp को tokens-per-second में हराता है। एक छोटे draft model के साथ Speculative decoding इसे एक और jump देता है।
एक workstation के लिए जिसके पास 3090, 4090 या 5090 एकमात्र accelerator के रूप में है, यहीं गति रहती है। TabbyAPI के साथ pair करें OpenAI-compatible endpoint प्राप्त करने के लिए।
जहां यह कम पड़ता है: Nvidia-only। कोई Metal नहीं, कोई ROCm story नहीं।
मूल्य निर्धारण:
- मुफ़्त, open source।
प्लेटफॉर्म: Windows, Linux with Nvidia GPUs।
डाउनलोड: ExLlamaV2 on GitHub
निचला हिस्सा: Nvidia GPU से सबसे अधिक tokens per second निकालने के लिए runtime।
8. TabbyAPI — OpenAI-compatible ExLlamaV2 सर्वर के लिए सर्वश्रेष्ठ
TabbyAPI ExLlamaV2 को एक OpenAI-compatible REST API में wrap करता है, तो कुछ भी जो पहले से ही OpenAI से बात करता है — Cursor, Continue, Aider, LibreChat — इसे base URL change के साथ drop कर सकता है। Streaming, function calling और speculative decoding सभी एक ही API surface के माध्यम से काम करते हैं।
कोई जिसका stack पहले से ही OpenAI endpoint मानता है, TabbyAPI “disk पर local model” से “everything it से बात करता है” तक का shortest path है।
जहां यह कम पड़ता है: Config TOML files हैं, UI नहीं। पहले setup को debug करना patience लेता है।
मूल्य निर्धारण:
- मुफ़्त, open source।
प्लेटफॉर्म: Windows, Linux with Nvidia GPUs।
डाउनलोड: TabbyAPI on GitHub
निचला हिस्सा: bridge जो आपके existing tools को ExLlamaV2 को बिना कुछ और बदले use करने देता है।
सही चुनने के लिए कैसे
llama.cpp चुनें जब आप maximum control चाहते हैं और flags सीखने के लिए तैयार हैं। इस list पर सब कुछ या तो इसे use करता है या इसके against measure किया जाता है।
Ollama चुनें जब आप config file के बिना गति चाहते हैं। यह आपको एक command में 80% तक ले जाता है।
LM Studio चुनें जब llama.cpp के flags चीनी की तरह दिखते हैं और आप sliders के साथ समान tuning surface चाहते हैं।
vLLM चुनें जब workload कई concurrent requests है। Batching scale में जीतता है।
MLC LLM चुनें जब primary GPU Apple Silicon या AMD है। CUDA-first runtimes उस hardware पर underperform करते हैं।
KoboldCpp चुनें जब prompts long हैं और story matters हैं। Context handling इसकी पूरी game है।
ExLlamaV2 चुनें (TabbyAPI के साथ) जब box Nvidia है और हर millisecond counts है।
Cloud पर रहें केवल यदि आपको जो models चाहिए हैं उनके पास local weights नहीं हैं, या request volume काफी बड़ा है कि rented A100 local one चलाने की electricity से सस्ता हो।
FAQ
क्या परिमाणीकरण वास्तव में local LLMs को तेज़ बनाता है?
हां, और अधिकांश लोग expect से ज्यादा। fp16 से Q5_K_M में shift करना same model पर आमतौर पर VRAM use को आधा cut करता है और GPU-bound loads पर tokens per second में सुधार करता है, quality loss काफी छोटा कि ज्यादातर users blind tests में इसे detect नहीं कर सकते।
अनुमानात्मक डिकोडिंग क्या है?
Speculative decoding एक छोटा “draft” model चलाता है कुछ tokens आगे guess करने के लिए, फिर उन्हें एक ही big-model pass में verify करता है। जब draft सही है, आप big-model call per कई tokens पाते हैं। Chat workloads पर, यह throughput को लगभग दोगुना कर सकता है।
PagedAttention क्या है और क्यों यह local LLMs के लिए matter करता है?
PagedAttention vLLM की KV cache management technique है। fixed-size cache slots per request allocate करने के बजाय, यह cache memory को pages के रूप में treat करता है जो dynamically assign किए जा सकते हैं। एक busy server पर, इसका अर्थ है कि कई और concurrent requests same VRAM में fit होते हैं।
कौन सा local LLM runtime Apple Silicon पर सबसे तेज़ है?
MLC LLM के compiled Metal kernels आमतौर पर Macs पर fastest single-user option हैं। llama.cpp की Metal backend close है और run करना आसान है — MLC choose करें यदि extra 10 to 20% matters, llama.cpp otherwise।
क्या मैं एक discrete GPU के बिना local LLM चला सकता हूं?
हां। llama.cpp और Ollama दोनों किसी भी GGUF model के साथ CPU पर चलते हैं। Modern laptops पर speeds 7B models पर कुछ tokens per second से 70B पर slow crawl तक range करती हैं — chat के लिए usable, long generations के लिए painful।