Quantization क्या है? AI Models को छोटा करके अपनी मशीन पर चलाना
एक विशाल 70B model डेटा-सेंटर के GPU rack के बजाय घर के एक gaming PC पर चल सके, यह quantization से संभव होता है, जो model के weights की numerical precision घटाकर आकार और memory नाटकीय रूप से कम करता है। जहाँ model distillation ज्ञान को एक अलग छोटे model में ले जाती है, वहीं quantization उसी model को हल्का बनाता है। यह लेख इसे फोटो-compression की उपमा से समझाता है। quantization, FP16/FP32 दशमलव के रूप में संग्रहित weights को INT8 (8-bit) या INT4 (4-bit) integers से बदलता है, प्रति weight bytes घटाते हुए (FP32=4, INT8=1, INT4=0.5); RAW फोटो को JPEG में compress करने जैसा, आप थोड़ी precision की कुर्बानी देकर बड़ी कमी पाते हैं, और हैरानी इस बात की है कि आप कितना कम खोते हैं। memory पर, 4-bit, FP16 की लगभग एक-चौथाई लेता है: एक 70B model ~140GB से ~35GB तक गिरता है, और एक 8B model 4-bit पर ~4.5-5GB का होता है, जो midrange 8GB-VRAM GPU में लोकल उपयोग के लिए समाता है (LLMs का लोकतंत्रीकरण)। accuracy पर, INT8 लगभग बिना नुकसान है और INT4 सामान्य Q&A/सामान्य-ज्ञान tasks पर 4% से कम घटता है, पर गणित, code generation और कठिन reasoning के लिए नुकसान ज़्यादा साफ़ दिखता है (यह perplexity में थोड़ी वृद्धि के रूप में दिखता है), इसलिए task के लिए bit-width चुनें। मुख्य तरीके: GPTQ (सटीक 4-bit का अग्रदूत), AWQ (सबसे महत्वपूर्ण ~1% weights सुरक्षित रखता है, अक्सर 1-2% अधिक सटीक और तेज़), GGUF (llama.cpp/Ollama format, Q2_K-Q8_0, CPU+GPU hybrid, लोकल के लिए), और QLoRA (4-bit base साथ LoRA, consumer-GPU fine-tuning के लिए)। यह distillation (एक अलग छोटे model में जाना) और fine-tuning (task ज्ञान जोड़ना) से अलग है, और तीनों आमतौर पर मिलाए जाते हैं (एक distilled model को quantize करें; एक quantized base को fine-tune करें)। शुरू करने के लिए, एक command में Ollama के साथ एक GGUF model चलाएँ, VRAM के अनुसार Q4/Q8 चुनें, और code या सटीक गणित के लिए INT4 से बचें। अधिकांश प्रमुख model पहले से quantized आते हैं, इसलिए आप बस उन्हें download करके इस्तेमाल करते हैं। समझदारी बनाए रखें, सिर्फ़ वज़न घटाएँ। आँकड़े सार्वजनिक सामग्री से उद्धृत, दिशा-सूचक।