अगर आपने कभी कोई model locally डाउनलोड किया है – Ollama, llama.cpp या किसी और के साथ – तो आप लगभग निश्चित रूप से GGUF अक्षरों से टकराए होंगे। यह ज़्यादातर open-weight models का फ़ाइल extension है जिन्हें आप खुद चला सकते हैं: llama-3.2-3b.Q4_K_M.gguf, qwen2.5-7b.Q5_K_M.gguf, वगैरह।
GGUF ही वजह है कि local AI संभव है। यहाँ बताया गया है कि यह वास्तव में क्या है, उन Q4_K_M लेबल्स का क्या मतलब है, और अपने hardware के लिए सही कैसे चुनें।
GGUF क्या है?
GGUF quantized LLMs को store करने का फ़ाइल फ़ॉर्मेट है – एक container जो model के weights, tokenizer और metadata को एक ही फ़ाइल में पैक करता है जिसे llama.cpp और उसके derivatives (Ollama, LM Studio आदि) सीधे load कर सकते हैं। यह GGML का successor है, और consumer hardware पर models चलाने के लिए de facto standard बन गया है।
इसमें clever बात यह है कि "quantized" का क्या मतलब है। model के weights सामान्यतः 16-bit floating-point numbers के रूप में store होते हैं। GGUF फ़ाइलें उन्हें कहीं कम precision – 8-bit, 4-bit, यहाँ तक कि 2-bit – पर store करती हैं, जिससे फ़ाइल नाटकीय रूप से छोटी हो जाती है। इसी से 27-billion parameter वाला model 50+ GB की ज़रूरत के बजाय 12 GB VRAM में fit हो जाता है।
Trade-off: size बनाम quality
Quantization एक compression है जिसकी कीमत है। कम precision = छोटी फ़ाइल + तेज़ inference + कम quality। ज़्यादा precision = बड़ी फ़ाइल + धीमी + बेहतर quality। कला वह sweet spot ढूँढना है जहाँ quality बनी रहे पर model आपके hardware में fit हो जाए।
GGUF फ़ाइलें इसे अपने नाम में encode करती हैं। qwen2.5-7b.Q4_K_M.gguf लें:
- Q4 – 4-bit quantization ("Q" का मतलब quantization)।
- K – "k-quant" (k-quantization), एक smarter scheme जो कम महत्वपूर्ण weights पर कम bits इस्तेमाल करती है।
- M – size:
S(small),M(medium),L(large)। बड़ा = पूरी quality के ज़्यादा करीब।
तो Q4_K_M का मतलब "4-bit k-quant, medium" है – सबसे लोकप्रिय all-rounder, और ज़्यादातर लोगों के लिए default recommendation।
आम quantization levels
| Level | Approx. size vs full | Quality | कब इस्तेमाल करें |
|---|---|---|---|
| Q2_K | ~25% | खराब | सिर्फ तब जब बहुत छोटे RAM में squeeze करना हो |
| Q3_K | ~32% | ठीक-ठाक | बहुत tight बजट पर |
| Q4_K_S / Q4_K_M | ~40–44% | अच्छी | Default choice – सबसे अच्छा size/quality balance |
| Q5_K_M | ~49% | बहुत अच्छी | जब headroom हो; noticeable तौर पर sharper |
| Q6_K | ~58% | लगभग original जैसी | खूब RAM हो, quality चाहिए |
| Q8_0 | ~78% | ~पहचान से परे | सिर्फ KV cache के लिए या जब size की परवाह न हो |
| F16 / F32 | 100% | Original | Inference के लिए शायद ही ज़रूरी; बहुत बड़ी फ़ाइलें |
आपको कौन सा डाउनलोड करना चाहिए?
आसान नियम है: Q4_K_M से शुरू करें। यह सबसे अच्छा quality-per-gigabyte है, ज़्यादातर hardware पर चलता है, और ज़्यादातर tasks पर Q5 या Q6 से quality का फ़र्क नोटिस करना मुश्किल है। अगर model आराम से चल रहा है और आपके पास extra RAM है, तो Q5_K_M आज़माएँ और देखें क्या फ़र्क दिखता है। अगर बहुत धीमा है या fit नहीं हो रहा, तो Q4_K_S या Q3_K_M पर आएँ।
अपने कार्ड पर वास्तव में क्या fit होगा यह पता करने के लिए, आँकड़ों को LLM VRAM Calculator में डालें – यह weights, KV cache और quantization सब गिनता है ताकि डाउनलोड से पहले ही पता चल जाए।
GGUF + llama.cpp
GGUF फ़ाइलें llama.cpp द्वारा चलाने के लिए डिज़ाइन की गई हैं – वही engine जो Ollama और LM Studio के नीचे है। अगर आप Ollama इस्तेमाल करते हैं तो आप GGUF फ़ाइलों से सीधे शायद ही interact करते हैं (वह download और format आपके लिए संभाल लेता है), लेकिन concepts एक जैसे ही हैं: आप हमेशा model size और quantization चुन रहे होते हैं। command-line details के लिए llama.cpp guide देखें।
Bottom line
GGUF वह container है जो local AI को practical बनाता है। filename के अक्षर सब बता देते हैं: Q4_K_M सुरक्षित default है, Q5_K_M अगर headroom हो तो worthwhile upgrade है, और उससे छोटा सिर्फ tight hardware में squeeze करने के लिए है। Q4_K_M चुनें, उसे VRAM calculator से check करें, और कुछ ही मिनटों में आपका local model चल पड़ेगा।