डिवाइस पर AI · पढ़ने में 8 मिनट
भाषा मॉडल फ़ोन में कैसे समाता है
लोकल AI ऐप हैरान करने वाली मात्रा में स्टोरेज माँगते हैं, और वजह फ़ालतू
भारीपन नहीं है। वे गीगाबाइट कहाँ जाते हैं, यह समझ लेने पर यह भी समझ आता है
कि मॉडल नए फ़ोन पर तेज़ और पुराने पर सुस्त क्यों है — और फ़ाइल का नाम
Q3_K_S असल में आपको क्या बता रहा है।
मॉडल यानी संख्याओं का बड़ा ढेर
भाषा मॉडल सीखे हुए पैरामीटर का समूह है — वेट्स। हर एक एक संख्या है, और वे अरबों में होते हैं। मॉडल के नाम में “2B” का मतलब है लगभग दो अरब पैरामीटर।
पूरी सटीकता से रखा जाए तो हर वेट 4 बाइट लेता है। दो अरब वेट, हर एक 4 बाइट का, यानी लगभग 8 GB — और यह तो छोटे मॉडलों में से एक है। एक पंक्ति में समस्या यही है: फ़ाइल बड़ी इसलिए है कि संख्याएँ बहुत हैं और हर एक पूरी सटीकता से रखी जाती है।
क्वांटाइज़ेशन: हर संख्या के लिए कम बिट
क्वांटाइज़ेशन हर वेट को कम बिट में रखता है। हर वेट के लिए 32 बिट के बजाय 8, 4 या 3 बिट — साथ में वेट्स के हर ब्लॉक पर स्केलिंग फ़ैक्टर, ताकि अनुमान असली मान के पास बना रहे।
आकार में कमी लगभग सीधी है:
- 32-बिट — 2B मॉडल के लिए ~8 GB। पूरी सटीकता, फ़ोन के लिए बेकार।
- 8-बिट — ~2 GB। गुणवत्ता असली के बहुत क़रीब।
- 4-बिट — ~1.1 GB। आम तौर पर सबसे संतुलित जगह।
- 3-बिट — ~800 MB। नुक़सान साफ़ दिखता है, फिर भी काम का।
- 2-बिट — और छोटा, और गुणवत्ता तेज़ी से गिरती है।
यह लॉसी कंप्रेशन है, JPEG की तरह। इसे काफ़ी आगे तक ले जाएँ तो ख़ामियाँ दिखने लगती हैं — भाषा मॉडल में वे धुँधले जवाब, दोहराव, या सवाल से भटक जाने की शक्ल में सामने आती हैं।
क्वांटाइज़ेशन मॉडल को एक जैसे ढंग से कम समझदार नहीं बनाता। वह उसे कम सटीक बनाता है, और कम सटीकता सबसे पहले सबसे कठिन इनपुट पर दिखती है।
फ़ाइल का नाम पढ़ना
कोई नाम, जैसे Q4_K_M या Q3_K_S — यह वर्शन नंबर नहीं, एक
नुस्ख़ा है:
- Q4 / Q3 — मोटे तौर पर हर वेट के लिए कितने बिट।
- _K — एक “k-क्वांट” तरीक़ा, जो अपने बिट का बजट असमान रूप से ख़र्च करता है और वहाँ ज़्यादा सटीकता रखता है जहाँ मॉडल सबसे संवेदनशील है।
- _S, _M, _L — उसी तरीक़े के भीतर छोटा, मझोला या बड़ा। बड़ा ज़्यादा गुणवत्ता रखता है और ज़्यादा बाइट भी।
यानी Q3_K_S एक छोटा 3-बिट k-क्वांट है: कसकर संपीड़ित,
तब चुना जाता है जब डिवाइस में समा जाना गुणवत्ता के आख़िरी कुछ प्रतिशत से
ज़्यादा मायने रखता है।
GGUF: वह डिब्बा जिसमें सब रखा है
GGUF वह फ़ाइल फ़ॉर्मैट है जिसमें क्वांटाइज़्ड वेट्स और रनटाइम के लिए ज़रूरी मेटाडेटा रहता है — टोकनाइज़र, आर्किटेक्चर, प्रॉम्प्ट टेम्पलेट। एक ही फ़ाइल, साथ में कॉन्फ़िग की कोई डायरेक्टरी नहीं।
फ़ोन के लिए यह इसलिए मायने रखता है कि GGUF को डिज़ाइन ही किया गया है मेमोरी-मैपिंग के लिए। 1.7 GB को RAM में पढ़ने के बजाय रनटाइम फ़ाइल को अपने ऐड्रेस स्पेस में मैप करता है, और ऑपरेटिंग सिस्टम सिर्फ़ उन हिस्सों को अंदर लाता है जो सचमुच इस्तेमाल हो रहे होते हैं। इसीलिए फ़ोन की ख़ाली RAM से बड़ा मॉडल भी चल जाता है, और इसीलिए ऐप खोलने के बाद पहला जवाब अगले से धीमा आता है — पन्ने अभी लाए ही जा रहे होते हैं।
यह फ़ोन को गरम क्यों करता है
एक शब्द — यानी एक टोकन — बनाने का मतलब है इनपुट को उन अरबों पैरामीटर से गुज़ारना। फिर अगले टोकन के लिए वही दोबारा करना। सौ शब्दों का जवाब यानी सौ चक्कर।
यह CPU या न्यूरल एक्सेलेरेटर पर लगातार चलने वाला गणित है, और ठीक यही वह काम है जिसमें फ़ोन गर्मी के मामले में सबसे कमज़ोर हैं। गरम होने पर डिवाइस रफ़्तार घटा देते हैं, इसलिए लंबा, बिना रुके चलने वाला जनरेशन आगे बढ़ते-बढ़ते धीमा होता जाता है। अच्छे बने लोकल ऐप सब कुछ एक के बाद एक क़तार में लगाने के बजाय अपना काम थोड़ा-थोड़ा करके करते हैं — कामों के बीच फ़ासला रखकर, ताकि चिप ठंडी हो सके।
पुराने फ़ोन क्यों जूझते हैं
तीन अड़चनें, और तीनों कड़ी:
- मेमोरी बैंडविड्थ। हर टोकन का मतलब है वेट्स का बड़ा हिस्सा मेमोरी से खींचना। जनरेशन की रफ़्तार अक्सर इस बात से बँधी होती है कि मेमोरी कितनी तेज़ी से पढ़ी जा सकती है, न कि कच्ची कंप्यूट ताक़त से।
- RAM। मेमोरी-मैपिंग मदद करती है, लेकिन पहले से तंग डिवाइस लगातार पेजिंग करता रहेगा, और हो सकता है ऑपरेटिंग सिस्टम ऐप को बस बंद कर दे।
- एक्सेलेरेटर। नई चिप में इस तरह के गणित के लिए ख़ास हार्डवेयर होता है। पुरानी चिप आम-कामकाजी कोर पर लौट आती हैं और कई गुना धीमी चलती हैं।
इसीलिए लोकल AI ऐप सब कुछ चलाने की कोशिश करने के बजाय एक न्यूनतम डिवाइस बता देते हैं। एक हद के नीचे अनुभव ख़राब नहीं होता, वह इस्तेमाल के लायक़ ही नहीं रहता।
आप जो सौदा कर रहे हैं
फ़ोन के आकार का क्वांटाइज़्ड मॉडल कठिन तर्क में किसी बड़े क्लाउड मॉडल की बराबरी नहीं करेगा। सीमित काम के लिए — इस वाक्य में इस शब्द का क्या अर्थ है, इस वाक्यांश का अनुवाद करो — वह पूरी तरह काफ़ी है, और उसके साथ तीन ऐसी बातें आती हैं जो क्लाउड मॉडल नहीं दे सकता: वह बिना कनेक्शन के चलता है, हर इस्तेमाल पर कुछ ख़र्च नहीं होता, और टेक्स्ट कभी डिवाइस से बाहर नहीं जाता।
डिवाइस पर चलने वाले AI का पूरा सौदा यही है। आप सबसे बड़ा संभव मॉडल छोड़ते हैं, और बदले में निजता, ऑफ़लाइन क्षमता और मीटर से आज़ादी पाते हैं।
ClickBook यह कैसे करता है
ClickBook एक क्वांटाइज़्ड GGUF मॉडल के साथ आता है और उसे आपके डिवाइस पर llama.cpp के ज़रिए चलाता है। iOS पर यह ऐप के भीतर ही आता है, इसलिए कुछ डाउनलोड नहीं करना पड़ता। लोकल AI ई-रीडर के बारे में और पढ़ें, या देखें ClickBook कैसे काम करता है.