लेखक:
(1) मिंगजी लियू, एनवीडिया {समान योगदान};
(2) टेओडोर-डुमित्रु एने, एनवीडिया {समान योगदान};
(3) रॉबर्ट किर्बी, एनवीडिया {समान योगदान};
(4) क्रिस चेंग, एनवीडिया {समान योगदान};
(5) नाथनियल पिंकनी, एनवीडिया {समान योगदान};
(6) रोंगजियान लियांग, एनवीडिया {समान योगदान};
(7) जोना अल्बेन, एनवीडिया;
(8) हिमांशु आनंद, एनवीडिया;
(9) संमित्रा बनर्जी, एनवीडिया;
(10) इस्मेट बेराकटारोग्लू, एनवीडिया;
(11) बोनिता भास्करन, एनवीडिया;
(12) ब्रायन कैटनज़ारो, एनवीडिया;
(13) अर्जुन चौधरी, एनवीडिया;
(14) शेरोन क्ले, एनवीडिया;
(15) बिल डैली, एनवीडिया;
(16) लौरा डांग, एनवीडिया;
(17) परीक्षित देशपांडे, एनवीडिया;
(18) सिद्धनाथ ढोढ़ी, एनवीडिया;
(19) समीर हालेपेट, एनवीडिया;
(20) एरिक हिल, एनवीडिया;
(21) जियाशांग हू, एनवीडिया;
(22) सुमित जैन, एनवीडिया;
(23) ब्रुसेक खैलानी, एनवीडिया;
(24) जॉर्ज कोकाई, एनवीडिया;
(25) किशोर कुणाल, एनवीडिया;
(26) ज़ियाओवेई ली, एनवीडिया;
(27) चार्ली लिंड, एनवीडिया;
(28) हाओ लियू, एनवीडिया;
(29) स्टुअर्ट ओबरमैन, एनवीडिया;
(30) सुजीत उमर, एनवीडिया;
(31) श्रीधर प्रट्टी, एनवीडिया;
(23) जोनाथन रायमन, एनवीडिया;
(33) अंबर सरकार, एनवीडिया;
(34) झेंगजियांग शाओ, एनवीडिया;
(35) हनफ़ेई सन, एनवीडिया;
(36) प्रतीक पी सुथार, एनवीडिया;
(37) वरुण तेज, एनवीडिया;
(38) वॉकर टर्नर, एनवीडिया;
(39) कैझे जू, एनवीडिया;
(40) हॉक्सिंग रेन, एनवीडिया.
संग्रह को शेल और पायथन स्क्रिप्ट के एक सेट के साथ लागू किया गया था, जिसे प्रासंगिक डिज़ाइन डेटा और दस्तावेज़ीकरण की पहचान करने, उन्हें लागू होने पर सादे पाठ में बदलने, बुनियादी गुणवत्ता मीट्रिक का उपयोग करके उन्हें फ़िल्टर करने, सटीक फ़ाइल डीडुप्लीकेशन के लिए चेकसम की गणना करने और भंडारण के लिए उन्हें संपीड़ित करने के लिए डिज़ाइन किया गया था। संग्रह प्रवाह ने ऑफ-द-शेल्फ एलएलएम-विशिष्ट स्क्रैपिंग और संग्रह स्क्रिप्ट का उपयोग नहीं किया, क्योंकि हमारा उद्देश्य आंतरिक डेटा स्रोतों (नेटवर्क फ़ाइल सिस्टम और आंतरिक वेब एप्लिकेशन दोनों) के इन-सीटू डेटा संग्रह के माध्यम से स्थान की आवश्यकताओं को कम करना था। फ़ाइल सिस्टम-आधारित संग्रह के लिए, स्थानीय रूप से कच्चे डेटा के अतिरिक्त सेट को संग्रहीत करने के बजाय, गुणवत्ता के लिए फ़िल्टर किए जाने के दौरान डेटा को जगह में रखा गया था।
डिज़ाइन और सत्यापन डेटा संग्रह में वेरिलॉग और वीएचडीएल (आरटीएल और नेटलिस्ट), सी++, स्पाइस, टीसीएल, विभिन्न स्क्रिप्टिंग भाषाएं और बिल्ड-संबंधित कॉन्फ़िगरेशन फ़ाइलों सहित कई स्रोत फ़ाइलें शामिल थीं। आंतरिक वेब सेवाओं से डेटा REST API कॉल और पारंपरिक क्रॉलिंग दोनों के माध्यम से एकत्र किया गया था, जिसमें HTML फ़ॉर्मेटिंग को ओपन-सोर्स ब्यूटीफुलसूप [52] पायथन लाइब्रेरी का उपयोग करके हटाया गया था ताकि कोडिंग उदाहरणों को अनजाने में हटाया न जा सके, और अधिक बॉयलर प्लेट नेविगेशन बार और अन्य HTML पेज तत्वों को पेश करने की कीमत पर। हमारे डेटा संग्रह प्रवाह ने आसानी से उपलब्ध पायथन रूपांतरण पुस्तकालयों और ओपन-सोर्स टूल का उपयोग करके .docx, .pptx और .pdf सहित पारंपरिक प्रलेखन प्रारूपों का समर्थन किया।
चूंकि अधिकांश आंतरिक डेटा उच्च गुणवत्ता वाला माना जाता है, इसलिए न्यूनतम फ़िल्टरिंग लागू की गई थी: लाइन काउंट फ़िल्टरिंग का उपयोग यह सुनिश्चित करने के लिए किया गया था कि बहुत बड़ी या छोटी फाइलें बाहर रखी जाएं, और फाइलों को मैन्युअल रूप से लिखी गई बनाम टूल-जनरेटेड की व्यापक श्रेणियों में वर्गीकृत किया गया था।
इस खंड में हम अपने डोमेन अनुकूली प्रीट्रेन्ड मॉडल पर विस्तृत परिणाम प्रस्तुत करते हैं। हम डोमेन अनुकूली प्रीट्रेन्ड पर अपने एब्लेशन प्रयोगों का भी विवरण देते हैं।
डीएपीटी हाइपरपैरामीटर्स: विवरण तालिका VI में प्रस्तुत किया गया है।
ऑटो इवैल्यूएशन परिणाम: हम तालिका VII और तालिका VIII में ऑटो इवैल्यूएशन बेंचमार्क पर विस्तृत परिणाम प्रस्तुत करते हैं। सरलता के लिए, अनुभाग के शेष भाग में हम एब्लेशन अध्ययनों के लिए समेकित बेंचमार्क परिणाम प्रस्तुत करते हैं:
• चिप : हम तालिका III (5-शॉट) से इन-डोमेन डिज़ाइन, स्क्रिप्टिंग, बग और सर्किट बेंचमार्क पर औसत परिणाम रिपोर्ट करते हैं।
• एम.एम.एल.यू.: हम एम.एम.एल.यू. (5-शॉट) [22] पर समग्र परिणामों की रिपोर्ट करते हैं, जो विभिन्न प्रकार के विषयों पर एक लोकप्रिय समेकित बेंचमार्क है।
• तर्क : हम सामान्य ज्ञान तर्क (0-शॉट) पर लोकप्रिय सार्वजनिक बेंचमार्क पर औसत परिणाम रिपोर्ट करते हैं, जिसमें विनोग्रांडे [53], हेलस्वैग [54], एआरसी-आसान [55], और रेस-हाई [56] शामिल हैं।
• कोड : हम लालची डिकोडिंग के साथ कोडिंग बेंचमार्क की औसत पास-दर की रिपोर्ट करते हैं, जिसमें ह्यूमनइवल [23], वेरिलॉगइवल-मशीन [12], और वेरिलॉगइवल-ह्यूमन [12] शामिल हैं।
टोकनाइज़र वृद्धि: हमने मूल LLaMA2 टोकनाइज़र और संवर्धित टोकनाइज़र का उपयोग करके DAPT के साथ प्रयोग किया, जैसा कि अनुभाग III-A में वर्णित है। चित्र 11 मूल असंशोधित टोकनाइज़र के साथ ChipNeMo के लिए सुचारू प्रशिक्षण हानि को दर्शाता है। चित्र 2 के साथ तुलना करने पर, हम देखते हैं कि एक संवर्धित टोकनाइज़र में आरंभीकरण पर बड़ा प्रशिक्षण नुकसान होता है, क्योंकि फाउंडेशन मॉडल प्रीट्रेनिंग के दौरान जोड़े गए टोकन कभी नहीं देखे जाते हैं। 1 युग के साथ DAPT के लिए समान प्रशिक्षण हानि प्राप्त की जाती है।
तालिका IX समेकित ऑटो मूल्यांकन बेंचमार्क परिणाम प्रस्तुत करता है। हम देखते हैं कि सावधानीपूर्वक टोकेनाइजर वृद्धि और वजन आरंभीकरण सामान्य शैक्षणिक बेंचमार्क पर मॉडल के प्रदर्शन को केवल थोड़ा प्रभावित करता है। DAPT ने वेरिलॉग कोडिंग (ह्यूमन इवल में कोई बड़ा अंतर नहीं) सहित किसी भी टोकेनाइजर के साथ डोमेन बेंचमार्क में उल्लेखनीय सुधार किया। हम निष्कर्ष निकालते हैं कि टोकेनाइजर को बढ़ाने से मॉडल की सामान्य भाषा और डोमेन क्षमताओं पर कोई गिरावट नहीं होने के साथ बेहतर टोकेनाइजर और प्रशिक्षण दक्षता का लाभ मिलता है।
सार्वजनिक डेटासेट मिक्स-इन: जैसा कि सेक्शन II-A में बताया गया है, हमने DAPT में सार्वजनिक डेटा शामिल किया है, जिसे फाउंडेशन मॉडल प्री-ट्रेनिंग के लिए आम तौर पर इस्तेमाल किए जाने वाले सार्वजनिक डेटासेट से सैंपल किया गया है। हमें मुख्य रूप से उम्मीद थी कि DAPT में विकिपीडिया जैसे सार्वजनिक डेटा को मिक्स करने से टोकनाइज़र वृद्धि द्वारा लाई गई गड़बड़ियों को “सही” करने और सामान्य प्राकृतिक भाषा क्षमताओं को बेहतर बनाने में मदद मिल सकती है
मॉडल के। हमने केवल डोमेन डेटा का उपयोग करके टोकनाइज़र वृद्धि के साथ DAPT का एक और दौर आयोजित किया, डेटा के लगभग 1.1 युग के बराबर समान संख्या में चरणों के लिए प्रशिक्षण दिया। हमने पाया कि सार्वजनिक डेटा मिक्स-इन परिणामों में थोड़ा सुधार करता है। हम तालिका X में विस्तृत परिणाम प्रस्तुत करते हैं।
चित्र 12 में चिपनेमो-7बी के लिए प्रशिक्षण हानि को दर्शाया गया है, जिसमें सार्वजनिक डेटासेट मिक्स-इन सहित संवर्धित टोकनाइज़र शामिल हैं। हमने प्रारंभिक प्रशिक्षण चरणों में प्रशिक्षण हानि में बड़ी वृद्धि देखी, जबकि 7बी मॉडल के लिए अंतिम प्रशिक्षण हानि 13बी मूल डीएपीटी हाइपरपैरामीटर से भी बेहतर थी। हालाँकि, हमने टेबल XII में दिखाए गए अनुसार प्राकृतिक भाषा बेंचमार्क में पर्याप्त गिरावट देखी है, जिसमें इन-डोमेन चिप डिज़ाइन भी शामिल है। [32] के निष्कर्षों के अनुरूप कोडिंग क्षमताओं में सुधार हुआ।
हम इस बात पर प्रकाश डालते हैं कि हमारा मामला [32] से अलग है। हालाँकि हम प्रीट्रेन्ड चेकपॉइंट से आरंभ करते हुए “निरंतर प्रीट्रेनिंग” भी करते हैं, हम अधिमानतः चाहते हैं कि मॉडल सामान्य क्षमताओं पर उच्च स्तर का प्रदर्शन बनाए रखे, जबकि
डोमेन डेटासेट जानकारी और ज्ञान (मॉडल प्रीट्रेनिंग में अदृश्य) को मॉडल वेट में डिस्टिल करना। इसके विपरीत, [32] सार्वजनिक रूप से उपलब्ध कोड डेटा का उपयोग करते हैं जिसमें मुख्य रूप से प्राकृतिक भाषा तत्वों की कमी होती है, जो कोडिंग-संबंधित कार्यों पर उनके प्राथमिक ध्यान पर जोर देते हैं। हम अनुमान लगाते हैं कि एक छोटी सीखने की दर ने डोमेन अनुकूलन के लिए दोहरी भूमिका निभाई, DAPT के माध्यम से डोमेन ज्ञान के आसवन की सुविधा प्रदान करते हुए एक संतुलन बनाए रखा जो आधार मॉडल से बहुत दूर नहीं गया, इस प्रकार सामान्य प्राकृतिक भाषा क्षमताओं को संरक्षित करते हुए इन-डोमेन कार्यों पर प्रदर्शन में काफी सुधार हुआ।
पैरामीटर कुशल फ़ाइन-ट्यूनिंग (PEFT): पैरामीटर कुशल फ़ाइन-ट्यूनिंग पूर्व-प्रशिक्षित मॉडल वज़न को फ़्रीज़ कर देता है और डाउनस्ट्रीम कार्यों की कुशल फ़ाइन-ट्यूनिंग के लिए छोटे एडाप्टर मॉडल में ट्रेन करने योग्य पैरामीटर इंजेक्ट करता है। हम लो-रैंक एडैप्टेशन (LoRA) [16] का उपयोग करके DAPT में PEFT के उपयोग का पता लगाते हैं। चूँकि हमारा ट्रांसफ़ॉर्मर लेयर कार्यान्वयन KQV को एक एकल प्रक्षेपण में फ़्यूज़ करता है, इसलिए हम संयुक्त रूप से प्रत्येक सेल्फ़ अटेंशन लेयर के लिए एकल लो-रैंक प्रक्षेपण के लिए LoRA एडेप्टर जोड़ते हैं। हम मूल LLaMA2 टोकनाइज़र के साथ LLaMA2-13B मॉडल पर प्रयोग करते हैं, तालिका VI में समान DAPT प्रशिक्षण सेटअप का उपयोग करते हुए। हमने दो प्रयोग किए, जिसमें क्रमशः 26.4 मिलियन (छोटे) और 211.2 मिलियन (बड़े) के अतिरिक्त ट्रेन करने योग्य पैरामीटर पेश किए गए।
चित्र 13 LoRA मॉडल के प्रशिक्षण हानि वक्रों को दर्शाता है और पूर्ण पैरामीटर प्रशिक्षण के साथ तुलना करता है। दोनों LoRA मॉडल के लिए, हानि जल्दी से अभिसरित होती है और एक निश्चित बिंदु से आगे घटते हुए रुक जाती है। तालिका XIII LoRA मॉडल पर मूल्यांकन परिणामों की रिपोर्ट करती है। दोनों LoRA मॉडल इन-डोमेन चिप डिज़ाइन कार्यों पर पूर्ण पैरामीटर प्रशिक्षण में काफी कम प्रदर्शन करते हैं। LoRA मॉडल अपने गैर-DAPT समकक्षों की तुलना में चिप डिज़ाइन कार्यों में सुधार करते हैं, जिसमें बड़ा मॉडल थोड़ा बेहतर (लेकिन गैर-महत्वपूर्ण) परिणाम प्रदर्शित करता है।
मैन्युअल रूप से प्रशिक्षण नमूने तैयार करना बहुत मेहनत वाला काम है, इसलिए हमने उन्हें स्वचालित रूप से तैयार करने के लिए एक प्रक्रिया लागू करने का फैसला किया। चूँकि हम अपने मॉडल को बेहतर बनाने के लिए कंट्रास्टिव लर्निंग का उपयोग कर रहे हैं, इसलिए प्रत्येक नमूने के लिए सकारात्मक और नकारात्मक दोनों तरह के अंशों के सेट की आवश्यकता होती है, विशेष रूप से सटीकता को अधिकतम करने के लिए कठोर नकारात्मक अंशों की।
1) डेटासेट नमूनाकरण प्रक्रिया: चित्र 14 नमूना तैयार करने के लिए उठाए गए चरणों का वर्णन करता है:
• चरण 1: दस्तावेज़ संग्रह से यादृच्छिक रूप से एक अंश का चयन करें
• चरण 2: गद्यांश से एक वैध क्वेरी उत्पन्न करने के लिए भाषा मॉडल (विकुना) का उपयोग करें
• चरण 3: क्वेरी के लिए दस्तावेज़ कॉर्पस से शीर्ष-एन अंशों को लाने के लिए पहले से मौजूद पुनर्प्राप्ति मॉडल (वाक्य ट्रांसफार्मर) का उपयोग करें जहां प्रत्येक अंश एक संभावित हार्ड-नकारात्मक है
• चरण 4: यह संभव है कि प्राप्त किए गए कुछ अंश वास्तव में सकारात्मक हों, इसलिए सकारात्मक अंशों को फ़िल्टर करने के लिए समान भाषा मॉडल का उपयोग करें
• चरण 5: यदि इस फ़िल्टरिंग प्रक्रिया के बाद पर्याप्त नकारात्मक अंश नहीं हैं, तो कॉर्पस से यादृच्छिक अंशों के साथ पूरक करें
हमारे प्रारंभिक शोध के लिए हमने विकुना [4] और सेंटेंस ट्रांसफॉर्मर [33] का उपयोग किया; हालाँकि, उन्हें व्यावसायिक रूप से व्यवहार्य पुनर्प्राप्ति मॉडल का उत्पादन करने के लिए क्रमशः एलएलएएमए 2 [5] और बीएम 25 [42] के साथ आसानी से प्रतिस्थापित किया जा सकता है।
2) हिट गुणवत्ता तुलना: सभी हिट समान नहीं होते। नीचे दिए गए स्पेक उदाहरण में दिया गया अंश स्पष्ट रूप से और पूरी तरह से अपने प्रश्न का उत्तर देता है। बिल्ड उदाहरण में दिए गए अंश में उत्तर है; हालाँकि, प्रश्न का उत्तर देने के लिए अधिक संदर्भ की आवश्यकता है।
विशिष्ट उदाहरण: हिट गद्यांश स्पष्ट रूप से प्रश्न का उत्तर देता है।
बिल्ड उदाहरण: प्रश्न का पूरा उत्तर देने के लिए अतिरिक्त जानकारी की आवश्यकता है। जैसे: DL क्या है? हम कैसे जान सकते हैं कि Arch-Build-Hotseat-XXX एक DL है?
डी. अतिरिक्त मूल्यांकन डेटा
तालिका XIV इंजीनियरिंग सहायक चैटबॉट एप्लिकेशन पर सभी मॉडलों के लिए मूल्यांकन डेटा दिखाती है।
तालिका XV EDA स्क्रिप्ट निर्माण कार्य पर सभी मॉडलों के लिए हमारे मूल्यांकन परिणाम दर्शाती है।
तालिका XVI बग सारांशीकरण और विश्लेषण कार्य पर सभी मॉडलों के लिए हमारे मूल्यांकन परिणाम दिखाती है।
1) इंजीनियरिंग सहायक चैटबॉट:
2) EDA स्क्रिप्ट निर्माण: कुछ फ़ंक्शन नाम और कमांड अस्पष्ट हैं।
3) बग सारांश और विश्लेषण: उपयोगकर्ता नाम, चिप नाम और पथ अस्पष्ट हैं।
यह पेपर CC 4.0 लाइसेंस के अंतर्गत arxiv पर उपलब्ध है।