LLM से एक जेव-स्टाइल निर्णय मॉडल बनाएं, भाग 4: रीढ़ की हड्डी को अपना अगला कार्य देने से पहले सीखने दें।
निम्न-Rank Adaptation अद्यतन जमे हुए LLM परतों और दृष्टि screenshots पढ़ता है, विभाग की सटीकता में सुधार, अंशांकन और स्मृति प्रबंधन।
मुख्य जानकारी
- भाग 4 एक जमे हुए LLM रीढ़ की हड्डी से जेव-शैली के निर्णय मॉडल को model parameters में से केवल लगभग 0.60% को अपडेट करते हुए रैंक 8 और अल्फा 16 का उपयोग करके अधिकांश भाषा-स्तर रैखिक अनुमानों में LoRA एडाप्टर जोड़कर प्रशिक्षित करने योग्य बनाता है।
- LoRA और एक दृष्टि पथ मॉडल को पाठ संकेतों और screenshots को एक प्रश्न के रूप में पढ़ने की अनुमति देता है, जो सबसे कठिन सिंथेटिक कार्य, विभाग वर्गीकरण, 0.882 से 0.970 परीक्षण सटीकता में सुधार करता है।
- अनुकूलित रीढ़ की हड्डी का प्रशिक्षण जमे हुए मॉडल कैशिंग लाभ को हटा देता है और स्मृति मांगों में वृद्धि करता है; ग्रेडिएंट चेकपॉइंटिंग और कुंजी-मूल्य कैश को अक्षम करने से मॉडल आउटपुट बदलने के बिना प्रशिक्षण संभव हो जाता है।
- अनुकूलित मॉडल विकल्प आदेश के प्रति कम संवेदनशील हो जाता है, जबकि एक ब्रियर शब्द को जोड़ने से केवल एक छोटा, पूरी तरह से मान्य कैलिब्रेशन लाभ मिलता है, जो सुझाव देता है कि मुख्य सुधार रीढ़ की हड्डी को प्रशिक्षित करने योग्य बनाने से आता है।
मेटा विवरणः कम रैंक अनुकूलन और दृष्टि अद्यतन एक जमे हुए LLM निर्णय मॉडल पाठ संकेतों को पढ़ने के लिए और screenshots , सिंथेटिक सटीकता, लागत और कैलिब्रेशन विवरण के साथ।
टैगः कम रैंक अनुकूलन, दृष्टि, LLM, निर्णय मॉडल, machine learning
विशेष रुप से प्रदर्शित छवि: (अंग्रेज़ी में) ">"</string> एक टिकट का अमूर्त मैत्रीपूर्ण चित्रण और screenshot एक मॉडल को खिला रहा है, कोई लोग नहीं हैं, कोई लोगो नहीं है, न ही पाठ।
Jev-Style LLM निर्णय मॉडल परियोजना का भाग 4, जिसका स्रोत लेख Unsplash पर फ्रैंक वी. की एक तस्वीर द्वारा नेतृत्व किया गया है, ने सिस्टम को एक जमे हुए रीढ़ से प्रशिक्षित करने योग्य में स्थानांतरित कर दिया और फिर इसे छवि इनपुट दिया। लेखकों ने कम रैंकिंग अनुकूलन, जिसे स्रोत में LoRA कहा जाता है, भाषा परतों को अपडेट किया, फिर उसी स्कोरिंग हेड के माध्यम से screenshots को रूट किया। परिणाम एक सिंथेटिक पाइपलाइन था जो पाठ और छवियों को एक प्रश्न के रूप में पढ़ सकता था, जिसमें विभाग के सवाल 0.882 से 0.970 तक सुधार हुआ।
LoRA ने रीढ़ की हड्डी सीख ली
पहले के भागों ने निर्णय मशीनरी का निर्माण किया। भाग 1 ने अपने आउटपुट स्कोर को पक्षपाती बनाकर एक token के साथ मॉडल उत्तर दिया। भाग 2 ने मॉडल खोला, मेमोरी परतों और ध्यान परतों के साथ एक हाइब्रिड डिज़ाइन पाया, और प्रत्येक प्रश्न को एक- token मार्कर्स का उपयोग करके एक token अनुक्रम में लिखा। भाग 3 ने प्रत्येक मार्कर पर एक वेक्टर पढ़ा, पॉइंटर हेड से विकल्पों को स्कोर किया, उस सिर को प्रशिक्षित किया, और कैलिब्रेशन के साथ संभावनाओं को भरोसेमंद बनाया।
उस भाग 3 के सिर में 524,288 प्रशिक्षित संख्याएं थीं और चार वैक्टरों को संभावनाओं में बदल दिया। सिंथेटिक टिकट पर यह परीक्षण सेट पर तीन बीज से अधिक 0.963 सटीकता तक पहुंच गया, जबकि यादृच्छिक अनुमान ने 0.352 दी। इसने अपनी सीमा भी नामित कीः विभाग का प्रश्न 0.882 पर रहा, जबकि धनवापसी, स्वर और तात्कालिकता 0.985 या उससे ऊपर थी। एक जमे हुए मॉडल केवल वही उजागर कर सकता है जो पहले से ही token पर पढ़ने में आसान है।
LoRA उस बाधा को बदलता है. एक रैखिक परत संख्याओं की सूची लेता है x और इसे बड़े मैट्रिक्स W से गुणा करता है। LoRA डब्ल्यू फ्रीज करता है और दो पतले प्रशिक्षित मैट्रिस, ए और बी से निर्मित सुधार जोड़ता है। मैट्रिक्स A में r पंक्तियाँ हैं और जितने कॉलम हैं उतनी ही संख्याएं हैं जो एक्स के पास हैं।
यह सुधार W के पूर्ण आकार का है, लेकिन बहुत कम संख्याओं से बनाया गया है। स्रोत एक परत का उदाहरण देता है जो 1,024 इनपुट को 6,144 आउटपुट में बदलता है। यह रैंक 1 और अल्फा 2 का उपयोग करके 3 इनपुट और 2 आउटपुट के साथ एक छोटी सी परत भी देता है, इसलिए स्केल 2.
दो विवरण मायने रखते हैं. बी शून्य से शुरू होता है, इसलिए अनुकूलित मॉडल बिल्कुल मूल मॉडल के रूप में प्रारंभ होता है और प्रशिक्षण इसे सुचारू रूप से दूर ले जाता है। इसके अलावा, अल्फा / आर एक निश्चित पैमाना है, जो सीखने की दर को बहुत अधिक रीट्यूनिंग किए बिना रैंक बदलने देता है। LoRA के पीछे दांव यह है कि किसी कार्य की आवश्यकता परिवर्तन कम रैंक है।
24 भाषा परतों में प्रत्येक रैखिक परत पर एडेप्टर रखे गए थे। इसमें मेमोरी-लेयर प्रोजेक्शन, ध्यान प्रक्षेपण और फीड-फॉरवर्ड ब्लॉकों को शामिल किया गया था। दो छोटे गेट प्रोजेक्ट्स को छोड़ दिया गया था, और विजन टॉवर को अकेला छोड़ा गया था. एक नियमित अभिव्यक्ति ने 5,111,808 प्रशिक्षित पैरामीटर या मॉडल के 0.60% देकर परतों का चयन किया। गिनती चयनित परतों पर हाथ की गणना से मेल खाती थी। प्रशिक्षण से पहले, लेखकों ने चार सेटअप स्थितियों को सत्यापित किया।
लाभ, लागत और अंशांकन
रीढ़ की हड्डी के अनुकूलन ने कैश लाभ को हटा दिया। तब तक, जमे हुए बैकबोन का आउटपुट कभी नहीं बदला था, इसलिए एक पास इसे हमेशा के लिए कैश कर सकता है। LoRA के साथ, आउटपुट हर कदम पर बदलता है, इसलिए प्रत्येक प्रश्न को प्रत्येक युग में पूर्ण आगे और पीछे की ओर जाने की आवश्यकता होती है।
मेमोरी कठिन समस्या थी। बैकप्रोपेगेशन को प्रत्येक परत के सक्रियण को बनाए रखना चाहिए, और इस मॉडल की पुनरावृत्ति बड़े मध्यवर्ती टेंसर बनाता है। लेखकों ने बिना किसी चाल के लगभग 0.55 GB प्रति अनुक्रम मापा, graphics card पर 8.08 GB.
दो परिवर्तनों ने इसे ठीक किया। ग्रेडिएंट चेकपॉइंटिंग केवल प्रत्येक परत के इनपुट को संग्रहीत करता है और मेमोरी के लिए ट्रेडिंग कंप्यूटिंग, बैकवर्ड पास के दौरान अंदर की गणना करता है। इसके साथ, 4 का एक बैच कुल मिलाकर 2.0 GB पर पहुंच गया। दूसरा बदलाव कुंजी-मूल्य कैश बंद कर रहा था। मॉडल डिफ़ॉल्ट रूप से एक कैश बनाता है, और पिछड़े पास में पुनः संगणना दूसरी बार जोड़ा जाता है, आकार असंगतता के साथ क्रैश होता हैः लंबाई 154 का कैश जहां 77 अपेक्षित था। कैश अक्षम करने से समस्या दूर हो गई और परिणाम नहीं बदले; आउटपुट बिट-समान थे।
मुख्य परिणाम भाग 3 के 800-टिकट सिंथेटिक सेट पर तीन से अधिक बीज का मतलब था। परीक्षण सेट प्रति रन एक बार इस्तेमाल किया गया था। प्रत्येक रन पहले जमे हुए सिर को प्रशिक्षित करता है, फिर एडेप्टर और सिर को एक साथ प्रशिक्षण देता है, इसलिए तुलना जोड़ी गई थी। नुस्खा main_brier कहा जाता था।
बीज फैलाव हर मुख्य तुलना में छोटा था। सटीकता का प्रसार 0.005 या उससे कम था, इसलिए मतभेद शोर नहीं थे। संयोग की सटीकता 0.352 थी। परीक्षण पर प्रश्न के अनुसार, विभाग का सवाल 0.882 से 0.970 तक चला गया, जबकि अन्य तीन प्रश्न पहले से ही 0.985 या उससे अधिक थे।
विकल्पों के क्रम के आधार पर उत्तर भी बंद हो गए। वैधता पर, कम से कम एक गलत ऑप्शन ऑर्डर वाले टिकट 64 235 में से 11 235 तक गिर गए। प्रत्येक आदेश में गलत संख्या मुश्किल से चली गई, 2 से 3. LoRA ने ऑर्डर संवेदनशीलता को हटा दिया लेकिन वास्तव में कठिन टिकट नहीं निकाले। स्रोत विभाग के प्रश्न को सही जवाब द्वारा तोड़ देता है बीज 0 सत्यापन पर, सभी विकल्प आदेशों की गिनती; इसका जमे हुए कॉलम जोड़ा रन से पुनः प्रशिक्षित सिर है, इसलिए यह भाग 3 तालिका से थोड़ा अलग है।
परिणाम तालिका के अंतिम दो स्तंभों में परीक्षण पर एक छोटा सा लाभ हुआ। सत्यापन ने दोनों संस्करणों को अलग नहीं किया, इसलिए यह परीक्षण साक्ष्य के साथ सबसे अच्छा कॉन्फ़िगरेशन था, न कि एक सिद्ध। ब्रीयर पूरे संभावना वेक्टर को देखता है और सीमित है, जो शायद यही कारण है कि यह मदद करता है। जमे हुए सिर पर इसने 0.056 बनाम 0.055, संभवतः क्योंकि उस सिर में कुछ पैरामीटर हैं और इसकी त्रुटियां उन विशेषताओं से आती हैं जिन्हें वह बदल नहीं सकती।
लाभ को लागत के खिलाफ तौला जाना था। एक जमे हुए रीढ़ की हड्डी को एक बार पढ़ा जाता है और इसकी विशेषताएं कैश की जाती हैं, जबकि LoRA को हर युग में पूर्ण पास की आवश्यकता होती है। यदि जमी हुई सिर पर्याप्त अच्छा है, तो इसका प्रशिक्षण चरण लगभग पचास गुना सस्ता होता है, हालांकि विशेषताओं को निकालने में अभी भी मिनट लगते हैं।
प्रशिक्षण जल्दी से अभिसरित हुआ। त्वरित सत्यापन सटीकता ने 2 आदेशों में पहले 60 सत्यापन टिकट का उपयोग किया। युग 1 और युग 2 के बाद यह 0.997 और 0.997. पढ़ा गया था 4 युगों के साथ एक रन 0.964, 0.997, 0.992 और 0.992, इसलिए दूसरा युग पर्याप्त था।
अनुकूलन हमेशा बेहतर नहीं था। कुछ टिकटों के साथ, अनुकूलित मॉडल एकल-बीज सत्यापन रन में जमे हुए सिर से भी बदतर था। युगों की संख्या तय की गई थी, इसलिए कम टिकटों का मतलब है कि अद्यतन चरण भी कम हैं, और स्रोत उन प्रभावों को अलग नहीं करता है। क्रॉसओवर 200 और 400 टिकट के बीच स्थित है।
विभिन्न सेटिंग्स में से प्रत्येक ने एक डिफ़ॉल्ट नुस्खा सेटिंग को बदल दिया और केवल एकल बीज के साथ सत्यापन पर स्कोर किया गया। सटीकता में लगभग 0.005 का अंतर शोर के अंदर था। पैटर्न सुसंगत थाः उच्च सीखने की दर और उच्च रैंक बेहतर प्रदर्शन करते थे, जबकि कम दर और निम्न रैंक खराब हो गए। चार युगों में दो बार समय खर्च होता है 0.002 अधिक सटीकता के लिए।
सबसे अच्छा देखा गया, पुष्टि नहीं की गईः 5e-4 की सीखने की दर 0.999 सत्यापन सटीकता और 0.003 के एक ब्रीयर तक पहुंच गई। रैंक 16 ने 0.997 तक पहुंचा। न तो तीन बीज के साथ चलाया गया था, और न ही परीक्षण सेट पर स्कोर किया गया था। क्योंकि वे वैधता पर पाए गए थे, उनकी संख्या आशावादी है। एक प्राकृतिक अगला कदम दोनों को परीक्षण पर तीन बीजों के साथ चलाना है और उन्हें ब्रियर शब्द के साथ मिलकर आज़माएं।
कैलिब्रेशन में भी सुधार हुआ। वैधता पर, क्रॉस-एन्ट्रोपी के साथ LoRA के लिए फिटेड तापमान 1.30 था और ब्रायर के साथ LoRA के लिए 1.41 था। जमे हुए सिर में 1.41 और 1.32 थे। दोनों 1 से थोड़ा ऊपर हैं, इसलिए मॉडल स्केलिंग से पहले थोड़े अधिक आत्मविश्वास वाले थे। LoRA के बाद, मॉडल को पहले ही परीक्षण पर 0.003 से 0.004 की अपेक्षित अंशांकन त्रुटि के साथ कैलीब्रेट कर दिया गया था। कच्चे ब्रियर का स्कोर चार गुना गिर गया, 0.056 से 0.013 तक, मरम्मत के लिए तापमान पैमाने के लिए बहुत कम छोड़ रहा है।
क्रॉस-एन्ट्रोपी के साथ LoRA की विश्वसनीयता तालिका ने सत्यापन से तापमान के साथ परीक्षण सेट पर बीज 0 का उपयोग किया। प्रत्येक परीक्षण भविष्यवाणी अपने शीर्ष विकल्प को दी गई संभावना द्वारा एक बिन में चली गई, और प्रत्येक बिन ने बताया कि कितनी बार वह शीर्ष विकल्प सही था। एक कैलिब्रेटेड मॉडल में, अंतिम दो कॉलम मेल खाते हैं। 0.4 से नीचे कोई भविष्यवाणियां नहीं थीं। निचले डिब्बे कुछ उदाहरणों को पकड़ते थे और शोर होते थे। आखिरी बिन 3,628 टेस्ट पूर्वानुमानों में से 3,543 रखता था और अपेक्षित अंशांकन त्रुटि पर हावी होता था। इसका औसत विश्वास 0.997 और सटीकता 0.998 सहमत थी।
इस प्रयोग के बाद सबसे अच्छा विन्यास main_brier था, जिसके हाइपरपैरामीटर और परीक्षण संख्याएँ स्रोत तालिकाओं में What adapting the backbone gave us. के अंतर्गत दी गई हैं।
दृश्य जोड़ा छवि इनपुट
यह परियोजना का लक्ष्य था. चल रहे उदाहरण दो बार बिल किए गए टिकट पर लौटता है, लेकिन अब ग्राहक असफल भुगतान स्क्रीन के screenshot को भी संलग्न करता है। एक प्रश्न की स्थिति पाठ, छवि या दोनों हो सकती है, और वही स्कोरिंग मशीन तय करती है।
एक छवि को कुछ ऐसा बनने के लिए चार कदम लगते हैं जिसे भाषा मॉडल पढ़ सकता है। सबसे पहले, छवि processor चित्र को 16x16 पिक्सल के वर्गों में काटती है। दूसरा, 768 नंबर चौड़ा और लगभग 100 मिलियन पैरामीटर वाला एक अलग 12-परत विजन टॉवर प्रत्येक पैच को फीचर वेक्टर में बदल देता है। तीसरा, पड़ोसी पैच का हर 2×2 ब्लॉक एक वैक्टर में विलय हो जाता है और 1,024 संख्याओं पर प्रक्षेपित होता है, जो कि लैंग्वेज मॉडल की चौड़ाई होती है। यह साझा चौडाई छवियों और पाठ को एक अनुक्रम साझा करने देती है। चौथा, ये वेक्टर टेक्स्ट में प्लेसहोल्डर tokens को प्रतिस्थापित करते हैं। वहां से, भाषा मॉडल उन्हें किसी भी अन्य token की तरह व्यवहार करता है, और इसका कारणपूर्ण ध्यान बाद में प्रत्येक token को पढ़ने देता है, जिसमें token शामिल है।
tokens में एक छवि की लागत ज्यामिति से आती है। पैचों को पार और नीचे गिनें, उन्हें गुणा करें, और विलय के लिए 4 से विभाजित करें। पिक्सेल में छवि ऊंचाई और चौड़ाई के रूप में एच और डब्ल्यू के साथ, पैच का आकार पी = 16, और मर्ज आकार एम = 2, 256 द्वारा 256 छवि देता है 16 x 16 / 4 = 64 tokens . processor 65,536 पिक्सल का न्यूनतम क्षेत्रफल लागू करता है, जो कि 256 x 256 है, इसलिए 224 द्वारा 224 छवि पहले बढ़ा दी जाती है। एक प्रश्न में, पूरे अनुक्रम 97 था tokens , और 64 छवि थी, इसलिए दो तिहाई काम चित्र में चला गया।
इंटरफेस को जांचने के लिए सफेद पर एक लाल वृत्त का उपयोग किया गया था, और प्रत्येक संख्या ज्यामिति के रूप में निकली। रेड-सर्कल जांच और दूसरी एंड-टू-एंड जाँच से पता चला कि पूरा स्टैक पिक्सेल का जवाब देता है। निर्णय पाइपलाइन कभी भी भाषा हेड का उपयोग नहीं करती है, लेकिन दूसरा चेक साबित करता है कि विजन मॉडल, processor और भाषा मॉडल इस वातावरण में सही तरीके से वायर्ड हैं।
लेबल को सटीक बनाने के लिए, स्रोत वास्तविक फ़ोटो से बचता है और दृश्य उत्पन्न करता है। प्रत्येक दृश्य में एक से चार आकार होते हैं जो ओवरलैप नहीं करते हैं। एक आकृति एक वृत्त, वर्ग या त्रिकोण होती है। ग्रे पृष्ठभूमि पर छह रंग और अलग-अलग आकार हैं। जनरेटर हर आकार रखता है, इसलिए प्रत्येक प्रश्न का एक ज्ञात उत्तर होता है। यहां प्रदान किया गया अंश अंतिम निर्मित उदाहरण से पहले बंद हो जाता है और अंतिम छवि सटीकता संख्या नहीं देता है, तो वर्णित दृष्टि साक्ष्य पूर्ण बेंचमार्क की बजाय संरचनात्मक है।
सामान्य त्रुटियाँ और सीमाएँ
- LoRA हर कदम पर रीढ़ की हड्डी आउटपुट बदलता है, इसलिए प्रत्येक प्रश्न को पूर्ण आगे और पीछे के पास की आवश्यकता होती है।
- मेमोरी को अनदेखा न करें. स्रोत ने 8.08 पर प्रति अनुक्रम GB मापा, और केवल ग्रेडिएंट चेकपॉइंटिंग के साथ कुंजी-मूल्य कैश अक्षम करने से 4 का एक बैच 2.0 पर फिट हो गया।
- बहुत कम टिकटों में मदद करने के लिए अनुकूलन की उम्मीद न करें। क्रॉसओवर 200 और 400 टिकटों के बीच है, और स्रोत नोट करता है कि फिक्स्ड एपोच अपडेट स्टेप्स के साथ टिकट गिनती को भ्रमित करते हैं।
- सत्यापन-केवल ट्यूनिंग को सिद्ध के रूप में न मानें। सबसे अच्छा देखा गया सेटिंग्स, सीखने की दर 5e-4 और रैंक 16, आशावादी थे क्योंकि उन्हें परीक्षण पर तीन बीज के साथ नहीं चलाया गया था।
- वास्तविक दुनिया के कवरेज का दावा न करें. प्रत्येक संख्या सिंथेटिक डेटा से आई थी, या तो टेम्प्लेट टिकट या रेंडर किए गए आकार। पाइपलाइन अंत तक काम करती है, लेकिन स्रोत यह नहीं दिखाता है कि यह असली टिकट या तस्वीरों को संभालती है।

Comments (0)