Zubnet AIसीखेंWiki › LoRA
प्रशिक्षण

LoRA

इसे भी कहा जाता है: लो-रैंक एडैप्टेशन
एक तकनीक जो फाइन-ट्यूनिंग को बहुत सस्ता बनाती है द्वारा केवल कुछ अतिरिक्त पैरामीटर के प्रशिक्षण के बजाय पूरे मॉडल को संशोधित करने के बजाय। LoRA "एडेप्टर्स" हल्के एड-ऑन होते हैं (अक्सर केवल मेगाबाइट्स) जो एक मॉडल के व्यवहार को संशोधित करते हैं बिना उसके अरबों पैरामीटर को पुनः प्रशिक्षित करे।

यह क्यों मायने रखता है

LoRA ने ट्यूनिंग को सामान्य बना दिया। इससे पहले, 7B मॉडल को कस्टमाइज़ करने के लिए गंभीर GPU संसाधन आवश्यक थे। अब आप घंटों में एक एकल खातेदार GPU पर ट्यून कर सकते हैं और छोटे एडेप्टर फ़ाइल साझा कर सकते हैं। इसी कारण HuggingFace पर हजारों विशेषज्ञ मॉडल हैं।

गहन अध्ययन

LoRA के पीछे के मुख्य अंतर्दृष्टि, जिसे 2021 में Hu आदि द्वारा प्रकाशित किया गया था, यह है कि फाइन-ट्यूनिंग के दौरान वजन अपडेट आमतौर पर कम रैंक के होते हैं — अर्थात, बदलाव को दो बहुत छोटी मैट्रिक्स के गुणनफल द्वारा अच्छी तरह से अनुमानित किया जा सकता है। वजन मैट्रिक्स W (उदाहरण के लिए, 4096 x 4096 = 16 मिलियन पैरामीटर) के अपडेट के बजाय, LoRA W को पूरी तरह से फ्रीज करता है और दो छोटी मैट्रिक्स A (4096 x r) और B (r x 4096) जोड़ता है, जहां r (रैंक) आमतौर पर 8, 16 या 64 होता है। प्रभावी अपडेट BA है, जो W के समान आकार का होता है लेकिन केवल 2 x 4096 x r मानों द्वारा पैरामीटर के रूप में विशेषता देता है। रैंक 16 पर, यह लगभग 131,000 प्रशिक्षण योग्य पैरामीटर होता है जबकि 16 मिलियन के बजाय — इस एकल परत के लिए 120x कमी। मॉडल के सभी ध्यान परतों पर इसे लागू करें और आपके कुल प्रशिक्षण योग्य पैरामीटर अरबों से कुछ मिलियन तक गिर जाते हैं, जिस कारण एक LoRA एडेप्टर फ़ाइल आमतौर पर 10-50 MB होती है, जबकि बेस मॉडल मल्टी-गिगाबाइट होता है।

कैंबर के समायोजन

अभ्यास में, आप LoRA को किन परतों पर लागू करना चुनते हैं (आमतौर पर ध्यान प्रक्षेपण मैट्रिक्स: Q, K, V और आउटपुट प्रक्षेपण) और रैंक r और एक पैमाना कारक को निर्धारित करते हैं जिसे अल्फा कहा जाता है। अल्फा/r अनुपात एडेप्टर के प्रभाव को फ्रीज किए गए बेस वजनों के संबंध में नियंत्रित करता है। उच्च रैंक अधिक व्यक्तित्व का अर्थ होता है लेकिन अधिक पैरामीटर और मेमोरी; अभ्यास में, रैंक 16 या 32 अधिकांश उपयोग मामलों को कवर करता है। 2023 में Dettmers आदि द्वारा पेश किए गए QLoRA ने इस दक्षता को और अधिक आगे बढ़ा दिया है द्वारा LoRA के साथ बेस मॉडल के 4-बिट क्वांटाइजेशन को जोड़कर: फ्रीज किए गए वजन NF4 में संग्रहीत किए जाते हैं (एक 4-बिट फॉर्मेट जो सामान्य वितरण वाले वजनों के लिए अनुकूलित है) जबकि LoRA एडेप्टर्स bf16 में प्रशिक्षण करते हैं। यह आपको 70B-पैरामीटर मॉडल को एक अकेले 48GB GPU पर फाइन-ट्यून करने की अनुमति देता है — जो अन्यथा सैकड़ों गिगाबाइट VRAM के साथ एक मल्टी-GPU सेटअप की आवश्यकता होती।

उपकरण वातावरण

LoRA प्रणाली तेजी से परिपक्व हो गई है। HuggingFace की PEFT पुस्तकालय सामान्य अमल के रूप में है, और ऐसे उपकरण जैसे Axolotl, LLaMA-Factory, और Unsloth इसे उच्च-स्तरीय इंटरफ़ेस में लपेटते हैं जो डेटा फॉर्मेटिंग, हाइपरपैरामीटर डिफ़ॉल्ट्स, और प्रशिक्षण लूप के बारे में नियंत्रित करते हैं। सबसे शक्तिशाली व्यावहारिक विशेषताओं में से एक एडेप्टर के संयोजन की उपलब्धता है: क्योंकि LoRA एडेप्टर्स जोड़ने योग्य होते हैं, आप अलग-अलग कार्यों के लिए अलग-अलग एडेप्टर्स को प्रशिक्षित कर सकते हैं और बेस मॉडल को फिर से लोड किए बिना अनुमान या बदल सकते हैं। कुछ सर्विंग फ्रेमवर्क जैसे LoRAX और vLLM इसका उपयोग करते हैं एकल बेस मॉडल के मेमोरी से सैकड़ों अलग-अलग LoRA एडेप्टर्स को सेवा करने के लिए, प्रत्येक अनुरोध को उपयुक्त एडेप्टर के लिए रूट करते हुए। यह ग्राहक-द्वारा प्रशिक्षित मॉडल प्रदान करना संभव बनाता है बिना अलग-अलग मॉडल इंस्टैंस तैनात करने की लागत के।

विनिमय

संबंधित अवधारणाएँ

← सभी शब्द
← Liquid AI Luma AI →
ESC