Towards Green AI: Decoding the Energy of LLM Inference in Software Development
यह अध्ययन सॉफ्टवेयर विकास में LLM इन्फरेंस (inference) की ऊर्जा खपत का विश्लेषण करता है, जो यह प्रकट करता है कि प्रीफिल (prefill) लागत डिकोडिंग ऊर्जा को काफी बढ़ा देती है और 'बबलिंग सप्रेशन' (babbling suppression) को लागू करने से सटीकता से समझौता किए बिना ऊर्जा उपयोग को 89% तक कम किया जा सकता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक बहुत ही बुद्धिमान, लेकिन थोड़े अति-उत्साही, रोबोट शेफ को अपने लिए एक रेसिपी लिखने के लिए काम पर रख रहे हैं। आप जानना चाहते हैं कि वह रोबोट काम करते समय कितनी बिजली का उपयोग करता है। यह पेपर उस रोबोट शेफ का एक विस्तृत ऊर्जा ऑडिट (energy audit) है, जो ठीक से बताता है कि वह कब और क्यों सबसे अधिक शक्ति का उपयोग करता है।
यहाँ शोध की कहानी सरल शब्दों में दी गई है:
खाना पकाने के दो चरण
शोधकर्ताओं ने पाया कि जब रोबोट शेफ काम करता है, तो वह केवल एक निरंतर प्रवाह में "खाना नहीं बनाता"। वास्तव में, इसके दो अलग-अलग चरण होते हैं, जैसे कि दो चरणों वाला एक नृत्य:
- "मेन्यू पढ़ने" का चरण (प्रीफिल - Prefill): सबसे पहले, रोबोट आपके पूरे अनुरोध को पढ़ता है। यदि आप एक साधारण केक के लिए पूछते हैं, तो वह एक छोटा सा नोट पढ़ता है। यदि आप एक जटिल भोज (banquet) के लिए पूछते हैं, तो वह एक विशाल पुस्तक पढ़ता है। इस दौरान, रोबोट आपके द्वारा मांगी गई हर चीज़ का एक मानसिक मानचित्र बना रहा होता है। इसे प्रीफिल (prefill) कहा जाता है।
- "रेसिपी लिखने" का चरण (डिकोडिंग - Decoding): एक बार जब रोबोट अनुरोध को समझ लेता है, तो वह एक-एक शब्द (या "टोकन") करके रेसिपी लिखना शुरू करता है। इसे डिकोडिंग (decoding) कहा जाता है।
बड़ा आश्चर्य: अधिकांश लोग सोचते हैं कि "लिखने" वाला हिस्सा सबसे भारी काम है। शोधकर्ताओं ने पाया कि, लगभग हर मामले में, लिखने का चरण (decoding) वास्तव में सबसे अधिक बिजली का उपयोग करता है। हालाँकि, यह कितना बिजली का उपयोग करेगा, यह इस बात पर बहुत निर्भर करता है कि शुरुआत में "मेन्यू" (इनपुट) कितना लंबा था।
"भारी बैकपैक" का प्रभाव
कल्पना कीजिए कि रोबोट शेफ को एक बैकपैक ले जाना है।
- इनपुट: जब आप रोबोट को एक लंबा, जटिल प्रॉम्प्ट देते हैं (जैसे कि 4,000 शब्दों की कहानी), तो उसे "पढ़ने" के चरण के दौरान उस सारी जानकारी के साथ एक बड़ा, भारी बैकपैक भरना पड़ता है।
- डिकोडिंग: अब, रोबोट को रेसिपी लिखते समय वह भारी बैकपैक लेकर चलना पड़ता है। बैकपैक जितना भारी होगा (इनपुट जितना लंबा होगा), रेसिपी का हर एक शब्द लिखने में उतनी ही अधिक ऊर्जा लगेगी।
अध्ययन में पाया गया कि यदि आप रोबोट को एक विशाल इनपुट देते हैं, तो उत्तर का पहला शब्द लिखने में लगने वाली ऊर्जा, छोटे इनपुट की तुलना में लगभग 52% तक बढ़ सकती है। यह एक भारी सूटकेस लेकर मैराथन दौड़ने जैसा है; सूटकेस हर कदम को अधिक महंगा बना देता है।
"बड़बड़ाने" की समस्या (Babbling)
यहाँ सबसे दिलचस्प हिस्सा है: कुछ रोबोट शेफ बड़बड़ाने वाले (babblers) होते हैं।
कल्पना कीजिए कि आपने एक शेफ से कहा, "दो संख्याओं को जोड़ने के लिए एक फंक्शन लिखें।" एक विनम्र शेफ कोड लिखता है और रुक जाता है। एक बड़बड़ाने वाला शेफ कोड लिखता है, फिर एक लंबी व्याख्या जोड़ता है, फिर कुछ टेस्ट केस, फिर एक चुटकुला, और फिर तब तक लिखता रहता है जब तक कि वह हार्ड स्टॉप लिमिट तक नहीं पहुँच जाता, भले ही काम मिनटों पहले ही पूरा हो गया हो।
शोधकर्ताओं ने पाया कि उनके द्वारा परीक्षण किए गए 10 में से 3 मॉडल बड़बड़ाने वाले थे। उन्होंने बहुत सारा "फालतू" (fluff) टेक्स्ट जेनरेट किया जिसकी आवश्यकता नहीं थी। चूंकि रोबोट हर शब्द जेनरेट करने के लिए बिजली का उपयोग करता है, इसलिए ये बड़बड़ाने वाले मॉडल उस टेक्स्ट पर भारी मात्रा में ऊर्जा बर्बाद कर रहे थे जिसे बाद में फेंक दिया जाना था।
समाधान: "स्टॉप साइन" (Stop Sign)
बड़बड़ाने को ठीक करने के लिए, शोधकर्ताओं ने एक स्मार्ट "स्टॉप साइन" सिस्टम (जिसे बबलिंग सप्रेशन - Babbling Suppression कहा जाता है) बनाया।
रोबोट को अधिकतम सीमा तक लिखने देने के बजाय, उन्होंने एक सिस्टम बनाया जो हर लाइन के बाद काम की जाँच करता है।
- रोबोट: "यह रहा कोड।"
- सिस्टम: "क्या यह काम करता है? हाँ।"
- सिस्टम: "रुक जाओ! तुम्हारा काम हो गया।"
इस सरल ट्रिक ने बड़बड़ाने वाले मॉडल्स के अनावश्यक फालतू टेक्स्ट को लिखने से रोक दिया। परिणाम चौंकाने वाले थे:
- उन्होंने जेनरेट किए गए टेक्स्ट की मात्रा को 44% से 93% तक कम कर दिया।
- उन्होंने उस कार्य के लिए उपयोग की जाने वाली ऊर्जा में 44% से 89% तक की बचत की।
- महत्वपूर्ण रूप से, कोड की गुणवत्ता में कोई गिरावट नहीं आई; रोबोट अभी भी काम सही ढंग से करता था, बस वह काम पूरा होते ही बोलना बंद कर देता था।
मुख्य निष्कर्ष (Takeaway)
यह पेपर हमें AI को अधिक हरा-भरा (greener) बनाने के लिए तीन मुख्य बातें सिखाता है:
- बैकपैक को ज्यादा न भरें: लंबे इनपुट लिखने के चरण को बहुत महंगा बना देते हैं, इसलिए AI को केवल उतना ही संदर्भ (context) दें जितनी उसे वास्तव में आवश्यकता है।
- बैकपैक के वजन पर नज़र रखें: इनपुट का आकार यह बदल देता है कि लिखने के चरण में कितनी ऊर्जा लगती है।
- चैटर (चैटर/बड़बड़ाना) को रोकें: यदि AI बड़बड़ा रहा है (अनावश्यक फालतू टेक्स्ट लिख रहा है), तो उसे तुरंत रोक दें। आप अनावश्यक शब्दों को काटकर लगभग 90% ऊर्जा बचा सकते हैं।
संक्षेप में, AI को अधिक टिकाऊ बनाने के लिए, हमें इस बात पर ध्यान देना होगा कि हम उससे कितना पढ़ने के लिए कहते हैं, और हमें उसे काम पूरा होते ही बोलना बंद करने के लिए कहना होगा।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।