Efficient INT8 Inference of Small NLP Models on Server CPUs with PyTorch Native Stack
यह शोध पत्र सर्वर CPU पर छोटे NLP मॉडल्स के INT16 इन्फरेंस के लिए SmoothQuant का एक नेटिव PyTorch कार्यान्वयन प्रस्तुत करता है, जो ग्राफ-लेवल फ्यूजन और अनुकूलित कर्नेल चयन के माध्यम से नगण्य सटीकता हानि के साथ 5.8x तक थ्रूपुट स्पीडअप प्राप्त करता है, और यह समाधान अब PyTorch और TorchAO में अपस्ट्रीम कर दिया गया है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
आर्टिफिशियल इंटेलिजेंस की दुनिया में, विशाल और सर्वज्ञानी चैटबॉट्स के बारे में होने वाली बड़ी सुर्खियों के साथ-साथ एक शांत क्रांति हो रही है। जबकि जनता की नज़र उन विशाल मॉडलों पर टिकी है जो कविता लिख सकते हैं या जटिल तर्क पहेलियों को हल कर सकते हैं, इंटरनेट के दैनिक ट्रैफ़िक—जैसे खोज परिणाम (सर्च रिजल्ट्स), उत्पाद अनुशंसाएँ (प्रोडक्ट रिकमेंडेशन्स) और स्पैम फिल्टर—को चलाने वाले इंजन छोटे, विशिष्ट प्रोग्रामों पर निर्भर करते हैं। ये प्रोग्राम, जो अक्सर 'बर्ट' (BERT) नामक डिज़ाइनों के एक परिवार पर आधारित होते हैं, डिजिटल अर्थव्यवस्था के कार्यबल (वर्कहॉर्स) हैं। वे विशेष, महंगे ग्राफिक्स कार्डों के बजाय मानक कंप्यूटर सर्वरों पर चलते हैं, जो दुनिया भर के डेटा केंद्रों में पाए जाते हैं। इन प्रणालियों के लिए, कच्चे आकार (रॉ साइज) से अधिक गति और लागत मायने रखती है। इंजीनियरों के लिए चुनौती लंबे समय से यह रही है कि इन मॉडलों की सटीकता से समझौता किए बिना इन्हें तेज़ी से कैसे चलाया जाए, जो उन्हें उपयोगी बनाए रखती है। इसे करने का एक शक्तिशाली तरीका कंप्यूटर द्वारा किए जाने वाले गणित को सरल बनाना है, जिसमें गति में भारी वृद्धि के लिए सटीकता का एक बहुत छोटा हिस्सा छोड़ा जाता है, जिसे 'क्वांटाइजेशन' (quantization) नामक तकनीक कहा जाता है।
इंटेल कॉर्पोरेशन के शोधकर्ताओं की एक टीम ने अब एक ऐसा सेतु बनाया है जो इन छोटे भाषा मॉडलों को आज के डेवलपर्स द्वारा उपयोग किए जाने वाले सबसे लोकप्रिय सॉफ़्टवेयर टूल के भीतर सीधे सरल गणित के साथ चलाने की अनुमति देता है। उनका काम 'स्मूथक्वांट' (SmoothQuant) नामक एक विशिष्ट पद्धति पर केंद्रित है, जो एक मॉडल को भाषा को समझने की अपनी क्षमता खोए बिना सरल गणित को संभालने के लिए तैयार करती है। इस पद्धति को मानक 'पाइटॉर्च' (PyTorch) सॉफ़्टवेयर स्टैक में एकीकृत करके, उन्होंने एक ऐसा मार्ग बनाया है जिसके लिए किसी विशेष तीसरे पक्ष के टूल या जटिल पुनलेखन (रीराइट) की आवश्यकता नहीं है। इसका परिणाम एक ऐसी प्रणाली है जो एक मानक भाषा मॉडल को ले सकती है और उसे आधुनिक सर्वर प्रोसेसरों पर काफी तेज़ी से चला सकती है, जबकि वह जो उत्तर देती है वह पहले की तरह ही सटीक रहता है।
शोधकर्ताओं ने एक सामान्य समस्या से शुरुआत की: भले ही आधुनिक कंप्यूटर प्रोसेसरों में सरल गणित को तेज़ी से संभालने के लिए अंतर्निहित निर्देश होते हैं, लेकिन इन मॉडलों को बनाने के लिए उपयोग किए जाने वाले सॉफ़्टवेयर टूल अक्सर इनका कुशलतापूर्वक उपयोग करना नहीं जानते थे। जब किसी मॉडल को गति के लिए तैयार किया जाता था, तो सॉफ़्टवेयर अक्सर डेटा को बदलने या सरल गणनाओं को प्रबंधित करने के चरणों पर अटक जाता था, जिससे वही गति बर्बाद हो जाती थी जिसका वादा हार्डवेयर ने किया था। इसे ठीक करने के लिए, टीम ने तीन अलग-अलग तकनीकों को एक एकल, निर्बाध वर्कफ़्लो में संयोजित किया। सबसे पहले, उन्होंने मॉडल को तैयार करने के लिए 'टॉर्च एओ' (TorchAO) नामक एक टूल का उपयोग किया, जिससे डेटा को सुचारू (स्मूथ) बनाया जा सका ताकि इसे सुरक्षित रूप से सरल बनाया जा सके। इसके बाद, उन्होंने 'टॉर्चइंडक्टर' (TorchInductor) नामक एक कंपाइलर का उपयोग किया ताकि मॉडल की पूरी गणना प्रक्रिया को देखा जा सके और उन्हें आपस में जोड़ा जा सके, जिससे उन अनावश्यक चरणों को हटाया जा सके जो आमतौर पर चीज़ों को धीमा कर देते हैं। अंत में, उन्होंने सिस्टम को यह सिखाया कि कोर मैथ ऑपरेशंस को करने का सबसे तेज़ तरीका क्या है, यह इस बात पर निर्भर करते हुए कि कंप्यूटर प्रोसेसर एक नया मॉडल है जिसमें उन्नत क्षमताएं हैं या एक पुराना, विश्वसनीय मॉडल जो अभी भी व्यापक रूप से उपयोग में है।
अपने निर्माण का परीक्षण करने के लिए, टीम ने इंटेल के दो अलग-अलग पीढ़ियों के सर्वर प्रोसेसरों पर प्रयोग किए। उन्होंने तीन अलग-अलग प्रकार के भाषा मॉडलों पर इस प्रणाली का परीक्षण किया, जो बड़े, जटिल संस्करणों से लेकर छोटे, अधिक संक्षिप्त संस्करणों तक विस्तृत थे। परिणाम आश्चर्यजनक थे। नए प्रोसेसरों पर, यह प्रणाली मानक, अन-ऑप्टिमाइज्ड संस्करण की तुलना में 5.8 गुना तक तेज़ चली। पुराने प्रोसेसरों पर, यह अभी भी लगभग तीन गुना तेज़ चलने में सफल रही। शायद सबसे महत्वपूर्ण बात यह है कि गति कीमत पर नहीं आई। जब शोधकर्ताओं ने वास्तविक दुनिया के कार्यों पर मॉडलों का परीक्षण किया, जैसे कि टेक्स्ट से प्रश्नों के उत्तर देना या वाक्य की भावना (सेंटिमेंट) का निर्णय लेना, तो सरल मॉडल मूल, धीमे संस्करणों की तरह ही अक्सर सही उत्तर दे रहे थे। कई मामलों में, सटीकता का अंतर इतना कम था कि उसे मापा भी नहीं जा सकता था।
टीम ने यह भी बारीकी से देखा कि गति में वृद्धि क्यों हुई, इसके लिए एक ऐसी विधि का उपयोग किया जो यह मानचित्रित करती है कि कंप्यूटर डेटा को कितनी तेज़ी से स्थानांतरित कर सकता है बनाम वह कितनी तेज़ी से गणना कर सकता है। उन्होंने पाया कि नए प्रोसेसरों के लिए, गति इस बात से सीमित थी कि डेटा कितनी तेज़ी से इधर-उधर ले जाया जा सकता है, जबकि पुराने प्रोसेसरों के लिए, यह इस बात से सीमित थी कि गणित कितनी तेज़ी से किया जा सकता है। उनके सिस्टम ने दोनों सीमाओं को प्रभावी ढंग से प्रबंधित किया। उन्होंने पाया कि डेटा को पहले से तैयार करके और कंप्यूटर को काम करते समय जानकारी को रोकने या पुनर्गठित करने की आवश्यकता को हटाकर, वे हार्डवेयर की पूरी क्षमता को अनलॉक कर सकते हैं। उन्होंने पुराने प्रोसेसरों के लिए एक चतुर समाधान भी खोजा जिनमें सरल गणित के लिए एक विशिष्ट निर्देश की कमी थी, जिससे वे समान परिणाम प्राप्त करने के लिए एक अलग, उपलब्ध निर्देश का उपयोग कर सके।
यह कार्य महत्वपूर्ण है क्योंकि यह उन कंपनियों के लिए एक बड़ा अवरोध हटा देता है जो इन मॉडलों को कुशलतापूर्वक तैनात करना चाहती हैं। पहले, इस स्तर का प्रदर्शन प्राप्त करने का अर्थ अक्सर विशेष उपकरणों का उपयोग करना होता था जिन्हें बनाए रखना कठिन था या जिनके लिए मानक सॉफ़्टवेयर वातावरण को छोड़ना आवश्यक था। अब, डेवलपर्स उच्च प्रदर्शन प्राप्त करने के लिए बस उन्हीं टूल्स का उपयोग कर सकते हैं जिन्हें वे पहले से जानते हैं। शोधकर्ताओं ने अपने कोड को व्यापक समुदाय के साथ साझा किया है, जिसका अर्थ है कि जो कोई भी इन मानक टूल्स का उपयोग कर रहा है, वह अब तुरंत इस गति वृद्धि (स्पीड बूस्ट) का लाभ उठा सकता है। यह अध्ययन पुष्टि करता है कि मॉडलों या उनके द्वारा चलाए जाने वाले सॉफ़्टवेयर की मौलिक प्रकृति को बदले बिना इन कार्यबल (वर्कहॉर्स) को तेज़ और अधिक कुशल बनाया जा सकता है। कंप्यूटर द्वारा गणित को संभालने के तरीके को सावधानीपूर्वक अनुकूलित करके, टीम ने दिखाया है कि मानक सर्वरों पर कुशल आर्टिफिशियल इंटेलिजेंस का भविष्य केवल एक संभावना नहीं है, बल्कि एक वास्तविकता है जो आज उपयोग के लिए तैयार है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।