जीआईटी मॉडल पर शोध पत्रों में, यह बताया गया कि एक मजबूत दृष्टि एनकोडर का उपयोग किया जाता है और भाषा मॉडल के लिए यादृच्छिक पैरामीटर अपनाए जाते हैं। इस बार, चूंकि लक्ष्य अंततः 7बी-वर्ग भाषा मॉडल का उपयोग करना है, इसलिए भाषा मॉडल पर एक पूर्व-प्रशिक्षित मॉडल लागू किया जाएगा। फाइन-ट्यूनिंग के लिए निम्नलिखित मॉड्यूल की जांच की जाएगी। जीआईटी प्रक्षेपण, एक आरंभिक मॉड्यूल होने के नाते, हमेशा शामिल किया जाता है। कुछ संयोजन अनावश्यक लग सकते हैं, लेकिन इस परीक्षण के लिए बहुत अधिक चिंता किए बिना उनका पता लगाया गया है।
प्रशिक्षण के लिए निर्धारित मॉड्यूल को ग्रेडिएंट दिए गए हैं, जबकि बाकी को ग्रेडिएंट न रखने के लिए संशोधित किया गया है।
# प्रशिक्षित करने के लिए पैरामीटर निर्दिष्ट करना (सभी को प्रशिक्षित करने से मेमोरी उपयोग में वृद्धि होगी)
नाम के लिए, model.model.named_parameters() में p:
यदि np.any([keys_finetune में k के नाम में k]):
p.requires_grad = सत्य
अन्य:
p.requires_grad = ग़लत
इस परीक्षा के लिए उपयोग किए जाने वाले विज़न एनकोडर और एलएलएम हैं:
- openai/क्लिप-विट-बेस-पैच16
- फेसबुक/ऑप्ट-350एम
प्रशिक्षण COCO डेटासेट का उपयोग करता है और 5 युगों तक चलता है।
प्रत्येक प्रयोग के दौरान प्रशिक्षित लक्ष्य मॉड्यूल यहां दिए गए हैं:
- परियोजना: जीआईटी प्रक्षेपण। यादृच्छिक रूप से प्रारंभ किया गया, इसलिए इसे हमेशा प्रशिक्षित किया जाता है।
- लोरा: भाषा मॉडल में स्वयं के ध्यान की क्वेरी, कुंजी और मूल्य लागू थे।
- विकल्प: सभी परतों को प्रशिक्षित किया गया।
- वीआईटी: सभी परतों को प्रशिक्षित किया गया।
- सिर: OPT के अंतिम lm_head को प्रशिक्षित किया गया।
(नोट: जबकि LoRA को ViT पर लागू किया जा सकता है, लेकिन प्रयोगों को बहुत जटिल बनाने से बचने के लिए, इसे इस बार शामिल नहीं किया गया था।)
जैसा कि प्रशिक्षण हानि कथानक में दिखाया गया है, यह स्पष्ट है कि कुछ समूह अच्छा प्रदर्शन नहीं कर रहे हैं। ये स्थिति तब थी जब ओपीटी को प्रशिक्षण में शामिल किया गया था। हालाँकि सभी प्रयोग काफी हद तक समान परिस्थितियों में किए गए थे, भाषा मॉडल को ठीक करते समय सीखने की दर जैसे अधिक विस्तृत समायोजन आवश्यक हो सकते हैं। उन मॉडलों को छोड़कर, जहां ओपीटी को प्रशिक्षण में शामिल किया गया है, परिणामों की अगली जांच की जाएगी।
प्रशिक्षण और सत्यापन दोनों के साथ हानि में सबसे अधिक कमी आई प्रोजेक्शन+लोआरए नमूना। फ़ाइन-ट्यूनिंग फ़ाइनल सिर परत ने लगभग समान परिणाम दिखाए। यदि वीआईटी को भी प्रशिक्षित किया जाता है, तो हानि थोड़ी अधिक दिखाई देती है और परिणाम अस्थिर लगते हैं। यहां तक कि वीआईटी प्रशिक्षण के दौरान लोआरए जोड़ने पर भी नुकसान अधिक होता है। इस डेटा के साथ फ़ाइन-ट्यूनिंग के लिए, ऐसा लगता है कि इसके मापदंडों को अपडेट किए बिना पूर्व-प्रशिक्षित वीआईटी मॉडल का उपयोग करने से अधिक स्थिर परिणाम मिलते हैं। LoRA की प्रभावशीलता को विभिन्न स्थानों पर स्वीकार किया गया है, और इस प्रयोग से यह स्पष्ट है कि LoRA को LLM में जोड़ने से प्रशिक्षण और सत्यापन हानि दोनों में सुधार हुआ है।
कुछ परीक्षण डेटा पर अनुमान परिणामों की समीक्षा करना:
ओपीटी को प्रशिक्षित करते समय, परिणाम हानि के परिणाम जितने ही खराब होते हैं, जिससे मॉडल के पास कहने के लिए शब्द नहीं रह जाते हैं। इसके अतिरिक्त, वीआईटी को प्रशिक्षित करते समय, आउटपुट अर्थ संबंधी अर्थ देता है, लेकिन दी गई छवि से पूरी तरह से अलग कुछ का वर्णन करता है। हालाँकि, अन्य परिणाम कुछ हद तक छवियों की विशेषताओं को पकड़ते प्रतीत होते हैं। उदाहरण के लिए, पहली छवि में "बिल्ली" और "केला" का उल्लेख है, और दूसरी छवि "यातायात चिह्न" की पहचान करती है। LoRA के साथ और उसके बिना परिणामों की तुलना करने पर, बाद वाला बार-बार समान शब्दों का उपयोग करता है, लेकिन LoRA का उपयोग इसे थोड़ा अधिक स्वाभाविक बनाता है। प्रशिक्षण सिर दिलचस्प आउटपुट मिलते हैं, जैसे पहली छवि के लिए "खाने" के बजाय "खेलना" का उपयोग करना। हालाँकि इन परिणामों में कुछ अप्राकृतिक तत्व हैं, फिर भी यह अनुमान लगाया जा सकता है कि प्रशिक्षण छवि सुविधाओं को कैप्चर करने में सफल रहा।
पहले के प्रयोगों में स्थितियों को ठीक करने के लिए, थोड़ा छोटा भाषा मॉडल, OPT-350m, का उपयोग किया गया था। अब, इरादा भाषा मॉडल को 7B मॉडल में बदलने का है। न केवल ओपीटी के लिए समझौता किया जाएगा, बल्कि मजबूत एलएलएम, एलएलएएमए और एमपीटी भी पेश किए जाएंगे।
इन दोनों मॉडलों को एकीकृत करना OPT के समान ही किया जा सकता है। के अग्रवर्ती कार्यों का उल्लेख करते हुए लामामॉडल और एमपीटीमॉडल, प्रक्षेपित छवि वैक्टर को टेक्स्ट टोकन के साथ संयोजित करें, और मास्क को बदलें कारणात्मक ध्यान मास्क को जीआईटी का ध्यान मास्क. ध्यान देने वाली एक बात: एमपीटी के लिए, मास्क (0, -inf) नहीं है, बल्कि (गलत, सच) है। आगे की प्रक्रियाओं को इसी तरह लागू किया जा सकता है।
ओपीटी के साथ 7बी-क्लास मॉडल का उपयोग करने के लिए, बस मॉडल का नाम facebook/opt-350m से facebook/opt-6.7b में बदलें।
LLaMA के लिए, LLaMA2 की उपलब्धता के साथ, यह पसंद का मॉडल होगा। इस पूर्व-प्रशिक्षित मॉडल का उपयोग करने के लिए मेटा और हगिंग फेस दोनों से अनुमोदन की आवश्यकता होती है। हगिंग फेस के लिए एक खाता आवश्यक है, इसलिए इसे सेट करना सुनिश्चित करें। स्वीकृतियाँ आम तौर पर कुछ घंटों के भीतर आ जाती हैं। बाद में, उस टर्मिनल पर हगिंग फेस में लॉग इन करें जहां प्रशिक्षण निष्पादित किया जाता है।
हगिंगफेस-सीएलआई लॉगिन
आप हगिंग फेस अकाउंट → सेटिंग्स → एक्सेस टोकन में बनाए गए टोकन का उपयोग करके लॉग इन कर सकते हैं।
COCO डेटासेट का उपयोग करके प्रशिक्षण पैरामीटर सुसंगत रहते हैं और 3 युगों तक चलते हैं। प्रयोग 1 के परिणामों के आधार पर, फ़ाइन-ट्यूनिंग के लिए मॉड्यूल निर्धारित किए गए थे प्रोजेक्शन + लोरा.
आइये नतीजों पर एक नजर डालते हैं.
नुकसान की समीक्षा करने पर, यह स्पष्ट है कि LLaMA2 और MPT को LLM के रूप में उपयोग करने वाले मॉडल अधिक संतोषजनक कमी दिखाते हैं। आइए अनुमान परिणामों का भी अवलोकन करें।
पहली छवि के संबंध में, सभी मॉडलों के लिए, OPT-350m की तुलना में अभिव्यक्तियाँ अधिक स्वाभाविक लगती हैं। एलएलएम की ताकत को उजागर करने वाले "केले के साथ केला" जैसी कोई विचित्र अभिव्यक्ति नहीं हैं। दूसरी छवि के लिए, "ट्रैफ़िक लाइट" या "इमारत" जैसे वाक्यांशों में अभी भी कुछ कठिनाई है। ऐसी जटिल छवियों के लिए, ViT मॉडल को अपग्रेड करने पर विचार करने की आवश्यकता हो सकती है।
अंत में, आइए उन छवियों पर अनुमान लगाएं जो GPT-4 के साथ लोकप्रिय हुईं।
हालाँकि एलएलएम के उपयोग में आने के बाद से धाराप्रवाह प्रतिक्रियाओं की उम्मीद की गई थी, लेकिन परिणाम काफी सरल हैं। ऐसा इसलिए हो सकता है क्योंकि मॉडल को पूरी तरह से COCO पर प्रशिक्षित किया गया था।
पिछले प्रयोग के निराशाजनक परिणामों को देखते हुए, प्रशिक्षण के लिए COCO के अलावा अन्य डेटा को शामिल करने का निर्णय लिया गया। वर्तमान में उपयोग में आने वाला M3IT डेटासेट काफी व्यापक है, और यह COCO के समान प्रारूप में महत्वपूर्ण मात्रा में डेटा को संभाल सकता है।
इसका उद्देश्य "चीनी" और "वीडियो" श्रेणियों को छोड़कर इस स्रोत से डेटा का उपयोग करना है। मूल रूप से, COCO प्रशिक्षण डेटासेट में डेटा के 566,747 टुकड़े थे। इसे अतिरिक्त स्रोतों के साथ मिलाकर यह बढ़कर 1,361,650 हो गया। हालाँकि आकार लगभग दोगुना हो गया है, माना जाता है कि कार्यों की विविधता बढ़ने के कारण डेटासेट उच्च गुणवत्ता वाला हो गया है।
एकाधिक Pytorch डेटासेट को संभालना आसानी से प्राप्त किया जा सकता है ConcatDataset.
डेटासेट_सूची = [
datasets.load_dataset("MMInstruction/M3IT", i) m3it_name_list में i के लिए
]
ट्रेन_डेटासेट = torch.utils.data.ConcatDataset([d["train"] for d in dataset_list])
प्रशिक्षण 1 युग के लिए आयोजित किया गया था, और LLaMA2 मॉडल का उपयोग फाइन-ट्यूनिंग के लिए किया गया था प्रोजेक्शन और लोरा, प्रयोग 2 के समान।
चूँकि इस बार की तुलना में कोई नुकसान नहीं है, आइए सीधे अनुमान परिणामों पर ध्यान दें।
सरल समस्याओं को हल करने के साथ-साथ, मॉडल अब अधिक जटिल चुनौतियों को भी संभालता है। केवल कैप्शनिंग से अधिक जटिल कार्यों के लिए डेटासेट जोड़ने से क्षमताओं में काफी विस्तार हुआ है। केवल 1 युग के प्रशिक्षण के साथ सटीकता के इस स्तर को प्राप्त करना आश्चर्यजनक था।
आइए इसे निम्नलिखित उदाहरण छवि के साथ परीक्षण करें। डेटासेट में बढ़ी हुई विविधता को देखते हुए, प्रश्नों को प्रस्तुत करने के तरीके को थोड़ा संशोधित किया गया था।
जबकि "अम्ब्रेला" का वर्णन अभी भी वायर्ड था, ऐसा लगता है कि यह बेहतर हो रहा है। और सुधार करने के लिए, प्रशिक्षण युगों की संख्या बढ़ाने, अधिक प्रकार या मात्रा में डेटासेट जोड़ने और अधिक शक्तिशाली वीआईटी या एलएलएम का लाभ उठाने की आवश्यकता है। बहरहाल, यह प्रभावशाली है कि कम्प्यूटेशनल और डेटा संसाधनों को देखते हुए ऐसा मॉडल केवल आधे दिन में विकसित किया जा सकता है।
उत्तर छोड़ दें