Efficient Zeroth-Order Federated Finetuning of Language Models on Resource-Constrained Devices
यह शोध पत्र एक नवीन ज़ीरोथ-ऑर्डर फेडरेटेड लर्निंग पद्धति प्रस्तावित करता है जो मॉडलों को ब्लॉक्स में विभाजित करती है और मध्यवर्ती एक्टिवेशन्स के कुशल पुन: उपयोग को सक्षम करने के लिए रणनीतिक रूप से परटर्बेशन्स (perturbations) आवंटित करती है, जिससे संसाधन-सीमित उपकरणों पर लार्ज लैंग्वेज मॉडल्स की फाइन-ट्यूनिंग के लिए कम्प्यूटेशनल मांग में 3 गुना कमी आती है और साथ ही फेडरेटेड लर्निंग के मेमोरी और कम्युनिकेशन लाभ भी बने रहते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक विशाल, अविश्वसनीय रूप से बुद्धिमान रोबोट मस्तिष्क (एक लार्ज लैंग्वेज मॉडल) है जिसे आप एक नई ट्रिक सिखाना चाहते हैं। आमतौर पर, इस मस्तिष्क को सिखाने के लिए आपको एक विशाल सुपरकंप्यूटर की आवश्यकता होती है जिसमें बहुत अधिक मेमोरी और बहुत सारा समय लगता है। लेकिन क्या होगा यदि आप इस मस्तिष्क को हजारों छोटे, कमजोर उपकरणों जैसे स्मार्टफोन या स्मार्ट होम गैजेट्स का उपयोग करके सिखाना चाहते हैं, बिना उनके निजी डेटा को किसी केंद्रीय कंप्यूटर पर भेजे? इसे फेडरेटेड लर्निंग (Federated Learning) कहा जाता है।
समस्या यह है कि ये छोटे उपकरण "बैकप्रोपैगेशन" (AI सिखाने का मानक तरीका) को संभालने के लिए बहुत कमजोर हैं, जिसके लिए बहुत सारा अस्थायी डेटा स्टोर करने की आवश्यकता होती है। यदि वे ऐसा करने की कोशिश करते हैं, तो उनकी मेमोरी खत्म हो जाती है और वे क्रैश हो जाते हैं।
पुराना समाधान: ज़ीरोथ-ऑर्डर ऑप्टिमाइज़ेशन (ZO)
मेमोरी की समस्या को हल करने के लिए, शोधकर्ताओं ने एक विधि विकसित की जिसे ज़ीरोथ-ऑर्डर ऑप्टिमाइज़ेशन (ZO) कहा जाता है।
- उपमा (Analogy): कल्पना कीजिए कि आप बिना नक्शा देखे, एक धुंधली घाटी के सबसे निचले बिंदु (रोबोट को सिखाने का सबसे अच्छा तरीका) को खोजने की कोशिश कर रहे हैं। सिखाने का पुराना तरीका (बैकप्रोपैगेशन) एक GPS की तरह है जो आपको बिल्कुल सटीक रूप से बताता है कि नीचे जाने का रास्ता कौन सा है। ZO विधि एक छड़ी से जमीन को टटोलने की तरह है। आप यादृच्छिक दिशाओं में जमीन को टटोलते हैं ताकि यह देख सकें कि वह ऊपर जा रही है या नीचे।
- नुकसान: यह जानने के लिए कि नीचे का रास्ता कैसा है, आपको बहुत-बहुत बार अलग-अलग दिशाओं में टटोलना पड़ता है। हालांकि इससे मेमोरी बचती है (क्योंकि आपको GPS मैप की आवश्यकता नहीं है), लेकिन क्योंकि आप इतनी बार टटोल रहे हैं, इसलिए यह बहुत धीमा और गणनात्मक रूप से महंगा (computationally expensive) है।
नया समाधान: FedSPZO
इस शोध पत्र के लेखकों ने एक नई विधि प्रस्तावित की है जिसे FedSPZO (फेडरेटेड स्प्लिट-पर्टरबेशन ज़ीरोथ-ऑर्डर ऑप्टिमाइज़ेशन) कहा जाता है। उन्होंने पाया कि वे "टटोलने" की प्रक्रिया को सटीकता खोए बिना बहुत तेज़ बना सकते हैं।
उन्होंने इसे एक दो-चरणों वाली रसोई (Two-Stage Kitchen) की उपमा का उपयोग करके कैसे किया, यहाँ बताया गया है:
रसोई का विभाजन: कल्पना कीजिए कि रोबोट का मस्तिष्क एक रसोई है जिसमें दो भाग हैं:
- भाग A (तैयारी स्टेशन - The Prep Station): एक विशाल क्षेत्र जहाँ सामग्री को काटा और मिलाया जाता है। यह मॉडल का "पहला ब्लॉक" है।
- भाग B (ओवन - The Oven): एक छोटा क्षेत्र जहाँ अंतिम खाना पकाया जाता है। यह "दूसरा ब्लॉक" है।
पुराना तरीका (अकुशल): पूरी रसोई को बेहतर बनाने का तरीका जानने के लिए, पुराना तरीका पूरी रसोई (तैयारी स्टेशन और ओवन दोनों) को यादृच्छिक रूप से बदलता था और फिर खाने का स्वाद लेता था। फिर वह इसे फिर से बदलता, और फिर से, और फिर से। क्योंकि रसोई बहुत बड़ी है, इसलिए हर छोटे बदलाव के बाद खाने का स्वाद लेने में बहुत समय लगता है।
FedSPZO का तरीका (कुशल):
- चरण 1: वे केवल तैयारी स्टेशन (भाग A) को थोड़ा सा बदलते हैं। वे ओवन (भाग B) को बिल्कुल वैसा ही रखते हैं।
- चरण 2: वे तैयारी स्टेशन के आउटपुट को लेते हैं और उसे ओवन (भाग B) के माध्यम से कई, कई बार चलाते हैं, जिसमें केवल ओवन में ही छोटे-छोटे यादृच्छिक बदलाव किए जाते हैं।
- जादू: क्योंकि तैयारी स्टेशन नहीं बदला है, इसलिए रसोई को हर बार खाना टेस्ट करने के बाद पूरी सामग्री को "फिर से काटने" (re-chop) की आवश्यकता नहीं होती है। वे बस कटी हुई सामग्री (इंटरमीडिएट एक्टिवेशन) का पुन: उपयोग कर सकते हैं और केवल ओवन का परीक्षण करने पर ध्यान केंद्रित कर सकते हैं।
- परिणाम: उन्हें ओवन (और अप्रत्यक्ष रूप से तैयारी स्टेशन) को सुधारने का एक बहुत ही सटीक विचार मिलता है, और वह भी पहले की तुलना में बहुत कम कुल "स्वाद लेने" वाले चरणों के साथ।
उन्होंने क्या पाया?
शोधकर्ताओं ने परीक्षण के लिए कई प्रसिद्ध AI मॉडलों (जैसे RoBERTa, OPT, और LLaMA) का उपयोग किया और पाया:
- गति: उनकी नई विधि अन्य समान "टटोलने" वाली विधियों की तुलना में 3 गुना तक तेज़ (कंप्यूटर गणनाओं के मामले में) थी।
- मेमोरी: यह अभी भी बहुत कम मेमोरी का उपयोग करती है, जो इसे फोन जैसे छोटे उपकरणों के लिए एकदम सही बनाती है, ठीक मूल "टटोलने" वाली विधि की तरह।
- संचार (Communication): यह केंद्रीय सर्वर को बहुत कम मात्रा में डेटा भेजती है (केवल नंबर, पूरा मस्तिष्क नहीं), जो धीमे इंटरनेट कनेक्शन के लिए बहुत अच्छा है।
- सटीकता: रोबोट ने लगभग उतना ही अच्छा सीखा जितना कि मानक, भारी-भरक विधियों ने सीखा था, प्रदर्शन में केवल मामूली गिरावट के साथ।
मुख्य निष्कर्ष (The Bottom Line)
FedSPZO को छोटे, कमजोर उपकरणों के झुंड का उपयोग करके एक विशाल रोबोट को सिखाने के एक स्मार्ट तरीके के रूप में समझें। प्रत्येक डिवाइस को एक विशाल, मेमोरी-हॉगिंग गणना करने के लिए कहने के बजाय, वे कार्य को दो भागों में विभाजित करते हैं। वे एक बार भारी काम करते हैं, और फिर कई छोटे बदलावों का तेजी से परीक्षण करने के लिए उस काम का पुन: उपयोग करते हैं। यह उन्हें शक्तिशाली AI को उन उपकरणों पर प्रशिक्षित करने की अनुमति देता है जो आमतौर पर इसे संभालने में सक्षम नहीं होते, जिससे समय, बैटरी और डेटा की बचत होती है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।