Low-Rank Adaptation (LoRA) (HI)
Low-Rank Adaptation (LoRA) — यह एक पैरामीट्रिक रूप से दक्ष fine-tuning (PEFT) विधि है, जो बड़े भाषा मॉडलों (LLM) को न्यूनतम संगणनात्मक लागत के साथ नए कार्यों के लिए अनुकूलित करने की सुविधा देती है। यह तकनीक सर्वप्रथम एडवर्ड हू (Edward Hu) और उनके सहयोगियों द्वारा 2021 में प्रस्तुत की गई थी[1]।
बड़े मॉडलों जैसे LLaMA या GPT का पूर्ण fine-tuning (full fine-tuning) भारी संसाधनों की मांग करता है, जिससे यह अधिकांश शोधकर्ताओं और डेवलपर्स की पहुंच से बाहर हो जाता है। LoRA इस समस्या का समाधान करती है — यह मॉडल के केवल एक छोटे अंश के पैरामीटरों को fine-tune करने की अनुमति देती है, साथ ही पूर्ण fine-tuning के समकक्ष उच्च गुणवत्ता और प्रदर्शन बनाए रखती है[2]।
कार्य-सिद्धांत
LoRA का मूल विचार यह है कि पूर्व-प्रशिक्षित मॉडल के मूल भारों (weights) को बदला न जाए, बल्कि उनमें एक छोटी "सुधारात्मक" matrix जोड़ी जाए। भारों की विशाल matrix `W` को सीधे प्रशिक्षित करने के बजाय, LoRA उसके परिवर्तन को दो छोटी निम्न-रैंक matrices के गुणनफल के रूप में व्यक्त करती है।
औपचारिक रूप से, यदि किसी परत की मूल भार matrix `W_0` का आकार `d × k` है, तो उसका अद्यतन `ΔW = BA` के रूप में निरूपित किया जाता है, जहाँ `B` एक `d × r` आयाम की matrix है और `A` एक `r × k` आयाम की matrix है। रैंक `r` एक hyperparameter है और यह काफी छोटा होता है (`r << d, k`)। fine-tuning की प्रक्रिया में मूल भार `W_0` स्थिर (frozen) कर दिए जाते हैं और केवल matrices `A` तथा `B` को प्रशिक्षित किया जाता है। परिणामी भार matrix की गणना `W = W_0 + BA` के रूप में की जाती है।
इससे प्रशिक्षण योग्य पैरामीटरों की संख्या हजारों गुना कम हो जाती है। उदाहरण के लिए, GPT-3 (175 अरब पैरामीटर) के fine-tuning में LoRA प्रशिक्षण योग्य पैरामीटरों की संख्या 10,000 गुना कम कर देती है और GPU-मेमोरी की आवश्यकता 3 गुना घटा देती है[1]।
प्रमुख लाभ
- संसाधनों की बचत: प्रशिक्षण योग्य पैरामीटरों की संख्या में भारी कमी (90% या उससे अधिक) होती है, जिससे वीडियो मेमोरी (VRAM) की खपत उल्लेखनीय रूप से घटती है और प्रशिक्षण प्रक्रिया तेज होती है।
- inference में कोई विलंब नहीं: प्रशिक्षण के बाद matrices `B` और `A` को मूल matrix `W_0` के साथ "मिलाया" जा सकता है, जिससे `W = W_0 + BA` की गणना हो जाती है। इस प्रकार मॉडल के उपयोग के दौरान कोई अतिरिक्त संगणना या विलंब नहीं जुड़ता[1]।
- मॉड्युलरिटी और त्वरित कार्य-परिवर्तन: प्रशिक्षित LoRA adapter छोटी फ़ाइलें होती हैं (कुछ मेगाबाइट)। इससे मूल मॉडल को बदले बिना विभिन्न कार्यों के लिए दर्जनों adapter आसानी से संग्रहीत किए जा सकते हैं और उनके बीच त्वरित रूप से स्विच किया जा सकता है[3]।
सीमाएँ और संशोधन
यद्यपि LoRA अत्यंत प्रभावी है, किंतु इसकी निम्न-रैंक प्रकृति उन कार्यों के लिए सीमा बन सकती है जिनमें बड़ी मात्रा में नई जानकारी संग्रहीत करनी हो। इस और अन्य समस्याओं के समाधान हेतु विभिन्न संशोधन प्रस्तावित किए गए हैं।
QLoRA
QLoRA (Quantized Low-Rank Adaptation) — 2023 में प्रस्तावित सबसे लोकप्रिय संशोधनों में से एक है। यह LoRA को मूल मॉडल के 4-बिट quantization के साथ संयोजित करती है[4]। इससे मेमोरी की आवश्यकता और भी कम हो जाती है, जिससे एक उपभोक्ता-स्तरीय GPU पर दसियों अरब पैरामीटर वाले मॉडलों (जैसे 65B-मॉडल) का fine-tuning संभव हो जाता है। QLoRA के आधार पर विशेष रूप से Guanaco मॉडल बनाया गया, जिसने ChatGPT के समकक्ष परिणाम प्रदर्शित किए।
अन्य संशोधन
- MoRA (High-Rank Updating): यह उन कार्यों के लिए प्रस्तावित किया गया है जहाँ रैंक की सीमा के कारण LoRA अपर्याप्त प्रदर्शन करती है। MoRA ऐसी विधियों का उपयोग करती है जो पैरामीट्रिक दक्षता बनाए रखते हुए उच्च रैंक के साथ भारों को अद्यतन करने की अनुमति देती हैं[5]।
कार्यान्वयन और अनुप्रयोग
LoRA तकनीक अपनी प्रभावशीलता और एकीकरण की सरलता के कारण व्यापक रूप से प्रचलित हो गई है। इसे लोकप्रिय बनाने में Hugging Face कंपनी की PEFT (Parameter-Efficient Fine-Tuning) लाइब्रेरी ने महत्वपूर्ण भूमिका निभाई। PEFT, Transformers पारिस्थितिकी तंत्र के मॉडलों पर LoRA और अन्य PEFT विधियों को लागू करने के लिए एकीकृत इंटरफ़ेस प्रदान करती है[6]।
LoRA का सक्रिय रूप से उपयोग किया जाता है:
- चैटबॉट और संवाद प्रणालियों के अनुकूलन में (जैसे LLaMA, Mistral का fine-tuning)।
- विशेष क्षेत्रों में पाठ वर्गीकरण और पाठ जनन के मॉडल बनाने में।
- मॉडलों को किसी विशेष शैली या डेटा प्रारूप के अनुरूप वैयक्तिकृत करने में।
सन्दर्भ
- Hugging Face की PEFT लाइब्रेरी का आधिकारिक दस्तावेज़ीकरण
साहित्य
- Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
- Zhang, Q. et al. (2023). AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning. arXiv:2303.10512.
- Chen, Y. et al. (2023). LongLoRA: Efficient Fine-Tuning of Long-Context Large Language Models. arXiv:2309.12307.
- Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
- Jiang, T. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
- Liu, Z. et al. (2024). ALoRA: Allocating Low-Rank Adaptation for Fine-Tuning Large Language Models. arXiv:2403.16187.
- Liu, J. et al. (2025). RoRA: Efficient Fine-Tuning of LLM with Reliability Optimization for Rank Adaptation. arXiv:2501.04315.
- Albert, P. et al. (2025). RandLoRA: Full-Rank Parameter-Efficient Fine-Tuning of Large Models. arXiv:2502.00987.
- Tastan, N. et al. (2025). LoFT: Low-Rank Adaptation That Behaves Like Full Fine-Tuning. arXiv:2505.21289.
टिप्पणियाँ
- ↑ 1.0 1.1 1.2 Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [१]
- ↑ Mao, K., et al. «A Survey on LoRA of Large Language Models». arXiv:2407.11046. [२]
- ↑ Noble, Joshua. «What is LoRA (Low-Rank Adaption)?». IBM Technology. [३]
- ↑ Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [४]
- ↑ Jiang, Z., et al. «MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning». arXiv:2405.12130. [५]
- ↑ «LoRA (Low-Rank Adaptation)». Hugging Face LLM Course. [६]