LoRA, जिसका पूर्ण रूप Low-Rank Adaptation है, एक फाइन-ट्यूनिंग तकनीक है जो एक पूर्व-प्रशिक्षित तंत्रिका-नेटवर्क को नए कार्य के लिए अनुकूलित करती है, इसके मूल भार (weights) को स्थिर रखते हुए और कम-रैंक मैट्रिक्स के रूप में छोटी संख्या में प्रशिक्षण योग्य पैरामीटर जोड़ती है। चूंकि जोड़े गए मैट्रिक्स उन पूर्ण भार मैट्रिक्स की तुलना में बहुत छोटे होते हैं जिन्हें वे संशोधित करते हैं, LoRA एक बहु-अरब-पैरामीटर मॉडल को अनुकूलित कर सकता है, जबकि इसके कुल पैरामीटरों का केवल एक प्रतिशत का अंश ही प्रशिक्षित और संग्रहीत करता है, जिससे उपभोक्ता हार्डवेयर पर फाइन-ट्यूनिंग संभव हो जाती है।
इतिहास
LoRA को जून 2021 के एक पेपर में एडवर्ड हू और माइक्रोसॉफ्ट के सह-लेखकों द्वारा पेश किया गया था, जिन्होंने देखा कि किसी पूर्व-प्रशिक्षित मॉडल को नए कार्य के लिए विशेषज्ञ बनाने के लिए आवश्यक भार अद्यतनों में कम "आंतरिक रैंक" होती है, जिसका अर्थ है कि उन्हें दो बहुत छोटे मैट्रिक्स के गुणनफल द्वारा अच्छी तरह से अनुमानित किया जा सकता है। पूर्ण भार मैट्रिक्स को सीधे अद्यतन करने के बजाय, LoRA दो कम-रैंक मैट्रिक्स सीखता है जिनका गुणनफल स्थिर मूल भारों में जोड़ा जाता है, और अनुमान के समय अद्यतन को बिना किसी अतिरिक्त विलंब के वापस मर्ज किया जा सकता है। यह तकनीक शुरू में GPT-3 जैसे बड़े-भाषा-मॉडल पर प्रदर्शित की गई थी, और 2023 के एक विस्तार जिसे QLoRA कहा जाता है, ने इसे स्थिर आधार मॉडल के 4-बिट क्वांटीकरण के साथ जोड़ा, जिससे बहुत बड़े मॉडलों को फाइन-ट्यून करने के लिए आवश्यक मेमोरी नाटकीय रूप से कम हो गई।
विधि
औपचारिक रूप से, एक पूर्व-प्रशिक्षित भार मैट्रिक्स के लिए, LoRA अद्यतन को कम-रैंक डाउन-प्रोजेक्शन और अप-प्रोजेक्शन मैट्रिक्स के गुणनफल के रूप में दर्शाता है, जिसे एक कारक द्वारा स्केल किया जाता है और आमतौर पर इस तरह प्रारंभ किया जाता है कि एडेप्टर प्रशिक्षण की शुरुआत में कुछ भी योगदान नहीं करता है। केवल ये दो छोटे मैट्रिक्स सामान्य ग्रेडिएंट-डिसेंट के माध्यम से अनुकूलित किए जाते हैं, जबकि मूल भार स्थिर रहते हैं, जो आधार मॉडल की व्यापक क्षमताओं को विनाशकारी विस्मृति से भी बचाता है। कई LoRA एडेप्टर को विभिन्न कार्यों या शैलियों के लिए स्वतंत्र रूप से प्रशिक्षित किया जा सकता है और अनुमान के समय एक ही आधार मॉडल में बदलकर या जोड़कर उपयोग किया जा सकता है, या संयोजित किया जा सकता है, बिना अंतर्निहित नेटवर्क को फिर से प्रशिक्षित किए।
अनुप्रयोग
बड़े-भाषा-मॉडल की तैनाती में, LoRA कार्य-विशिष्ट या डोमेन-विशिष्ट सहायकों को सस्ते में बनाने के लिए एक मानक विधि है, और यह लामा जैसे मॉडलों के आसपास खुले फाइन-ट्यूनिंग पारिस्थितिकी तंत्र का अधिकांश आधार है। यह स्टेबल-डिफ्यूजन की रिलीज़ के बाद छवि निर्माण समुदाय के लिए समान रूप से केंद्रीय बन गया, जहां उपयोगकर्ता छोटे LoRA फ़ाइलें प्रशिक्षित करते हैं, जो अक्सर 200 मेगाबाइट से कम होती हैं, ताकि आधार मॉडल को कुछ उदाहरण छवियों से एक विशिष्ट चरित्र, कला शैली या विषय सिखाया जा सके, और फिर उन्हें सामुदायिक मॉडल हब पर साझा करते हैं और समायोज्य शक्ति के साथ एक साथ कई को जोड़ते हैं। यह नीचे-से-ऊपर अनुकूलन संस्कृति, जो खुले प्रॉम्प्ट और आधार चेकपॉइंट्स के ऊपर हल्के LoRA फ़ाइलों पर निर्मित है, स्टेबल डिफ्यूजन के सामुदायिक विकास का एक महत्वपूर्ण चालक था, जो बंद, गैर-अनुकूलनीय प्रणालियों जैसे प्रारंभिक मिडजर्नी के सापेक्ष था।
सीमाएँ
LoRA की कम-रैंक धारणा का अर्थ है कि यह उन कार्यों पर पूर्ण फाइन-ट्यूनिंग से कम प्रदर्शन कर सकता है जिनके लिए मॉडल के प्रतिनिधित्व में महत्वपूर्ण परिवर्तन की आवश्यकता होती है, और रैंक, अनुकूलित किए जाने वाले भार मैट्रिक्स के उपसमुच्चय और स्केलिंग कारक का चयन करने में गैर-तुच्छ ट्यूनिंग शामिल होती है। चूंकि यह केवल मौजूदा प्रतिनिधित्वों को संशोधित करता है, न कि बड़े पैमाने पर नया ज्ञान जोड़ता है, LoRA आम तौर पर शैली, प्रारूप और व्यवहार अनुकूलन के लिए बेहतर उपयुक्त है, बजाय मॉडल को बड़ी मात्रा में नई तथ्यात्मक सामग्री सिखाने के, जिस अंतर को अक्सर रिट्रीवल-ऑगमेंटेड-जनरेशन या पूर्ण प्रीट्रेनिंग की निरंतरता द्वारा भरा जाता है।