लेखक: मयंक मिश्रा⋆, आईबीएम मैट स्टेलोन⋆, आईबीएम गाओयुआन झांग⋆, आईबीएम यिकंग शेन, आईबीएम आदित्य प्रसाद, आईबीएम एड्रियाना मेजा सोरिया, आईबीएम मिशेल मर्लर, आईबीएम परमेश्वरन सेल्वन, आईबीएम सप्ताह सुरेंद्रन, आईबीएम शिवदीप सिंह, आईबीएम मनीष सेठी, आईबीएम जुआन-हांग डांग, आईबीएम पेंगयुआन ली, आईबीएम कुन-लुंग वू, आईबीएम सैयद ज़वाद, आईबीएम एंड्रयू कोलमैन, आईबीएम मैथ्यू व्हाइट, आईबीएम मार्क लुईस, आईबीएम राजू पवुल्लुरी, आईबीएम यान कोफमैन, आईबीएम बोरिस लब्लिंस्की, आईबीएम मैक्सिमिलियन डे बेसेर, आईबीएम इब्राहिम अब्देलाज़ीज़, आईबीएम किंजल बसु, आईबीएम मयंक अग्रवाल, आईबीएम यी झोउ, आईबीएम क्रिस जॉनसन, आईबीएम आंचल गोयल, आईबीएम हिमा पटेल, आईबीएम यूसुफ शाह, आईबीएम पेट्रोस ज़ेरफोस, आईबीएम हेइको लुडविग, आईबीएम आसिम मुनाव्वर, आईबीएम मैक्सवेल क्रूस, आईबीएम पवन कपनिपथी, आईबीएम श्वेता सालारिया, आईबीएम बॉब कैलिओ, आईबीएम सोफिया वेन, आईबीएम सीतारमी सीलम, आईबीएम ब्रायन बेल्गोडेरे, आईबीएम कार्लोस फोंसेका, आईबीएम अमिथ सिंगी, आईबीएम निर्मित देसाई, आईबीएम डेविड डी. कॉक्स, आईबीएम रुचिर पुरी†, आईबीएम रामेश्वर पांडा†, आईबीएम सार कोड पर प्रशिक्षित बड़े भाषा मॉडल (एलएलएम) सॉफ्टवेयर विकास प्रक्रिया में क्रांति ला रहे हैं। तेजी से, मानव प्रोग्रामर की उत्पादकता में सुधार के लिए कोड एलएलएम को सॉफ्टवेयर विकास वातावरण में एकीकृत किया जा रहा है, और एलएलएम-आधारित एजेंट स्वायत्त रूप से जटिल कार्यों को संभालने के लिए वादा दिखाने लगे हैं। कोड एलएलएम की पूरी क्षमता का एहसास करने के लिए कोड जनरेशन, बग फिक्सिंग, कोड की व्याख्या और दस्तावेजीकरण, रिपॉजिटरी का रखरखाव और बहुत कुछ सहित क्षमताओं की एक विस्तृत श्रृंखला की आवश्यकता होती है। इस कार्य में, हम कोड जनरेटिव कार्यों के लिए डिकोडर-केवल कोड मॉडल की ग्रेनाइट श्रृंखला का परिचय देते हैं, जिसे 116 प्रोग्रामिंग भाषाओं में लिखे गए कोड के साथ प्रशिक्षित किया गया है। ग्रेनाइट कोड मॉडल परिवार में 3 से 34 बिलियन पैरामीटर तक के आकार के मॉडल शामिल हैं, जो जटिल एप्लिकेशन आधुनिकीकरण कार्यों से लेकर ऑन-डिवाइस मेमोरी-बाधित उपयोग के मामलों तक के अनुप्रयोगों के लिए उपयुक्त हैं। कार्यों के एक व्यापक सेट पर मूल्यांकन से पता चलता है कि ग्रेनाइट कोड मॉडल लगातार उपलब्ध ओपन-सोर्स कोड एलएलएम के बीच अत्याधुनिक प्रदर्शन प्राप्त करते हैं। ग्रेनाइट कोड मॉडल परिवार को एंटरप्राइज़ सॉफ़्टवेयर विकास वर्कफ़्लो के लिए अनुकूलित किया गया था और यह कोडिंग कार्यों (जैसे कोड जनरेशन, फिक्सिंग और स्पष्टीकरण) की एक श्रृंखला पर अच्छा प्रदर्शन करता है, जिससे यह एक बहुमुखी "ऑल-अराउंड" कोड मॉडल बन जाता है। हम अपने सभी ग्रेनाइट कोड मॉडल को अनुसंधान और वाणिज्यिक उपयोग दोनों के लिए अपाचे 2.0 लाइसेंस के तहत जारी करते हैं। https://github.com/ibm-granite/granite-code-models 1 परिचय पिछले कुछ दशकों में, सॉफ्टवेयर हमारे समाज के हर पहलू के ताने-बाने में बुना गया है। जैसे-जैसे सॉफ्टवेयर विकास की मांग बढ़ रही है, सॉफ्टवेयर विकास उत्पादकता बढ़ाना पहले से कहीं अधिक महत्वपूर्ण हो गया है, और एलएलएम मानव प्रोग्रामर को बढ़ाने का एक आशाजनक मार्ग प्रदान करते हैं। सॉफ्टवेयर विकास उत्पादकता में एलएलएम के प्रमुख एंटरप्राइज़ उपयोग के मामलों में कोड जनरेशन, कोड स्पष्टीकरण, कोड फिक्सिंग, यूनिट परीक्षण और दस्तावेज़ीकरण जनरेशन, एप्लिकेशन आधुनिकीकरण, भेद्यता का पता लगाना, कोड अनुवाद और बहुत कुछ शामिल हैं। हाल के वर्षों में कोड उत्पन्न करने और हेरफेर करने की एलएलएम की क्षमता में तेजी से प्रगति देखी गई है, और आज प्रभावशाली कोडिंग क्षमताओं वाले मॉडल उपलब्ध हैं। मॉडल एकल-अंकीय अरबों पैरामीटर (जैसे, लामा-7बी (टौवरॉन एट अल।, 2023), जेम्मा-7बी (जेम्मा-टीम एट अल।, 2024), आदि) से लेकर सैकड़ों अरबों तक होते हैं: डीबीआरएक्स (डेटाब्रिक्स), आर्कटिक (स्नोफ्लेक), ग्रोक, मिक्सट्राल 8x22बी (मिस्ट्रलएआई), कमांड आर+ (कोहेयर), और इच्छित उपयोग की सामान्यता में भिन्न होते हैं, कुछ मॉडल कोड के बाहर उपयोग की एक श्रृंखला को कवर करने का लक्ष्य रखते हैं, जबकि अन्य मुख्य रूप से कोडिंग-संबंधित कार्यों पर ध्यान केंद्रित करते हैं (जैसे, स्टारकोडर (ली एट अल।, 2023a; लोझकोव एट अल।, 2024), कोडजेन (निजामा एट अल।, 2023), कोडलामा (रोज़िएरे एट अल।, 2023), और कोडजेम्मा (कोडजेम्मा टीम एट अल।, 2024))। हालांकि, कोड के लिए एलएलएम के वर्तमान क्षेत्र में महत्वपूर्ण अंतराल बने हुए हैं, खासकर एंटरप्राइज़ सॉफ़्टवेयर विकास के संदर्भ में। पहला, जबकि बहुत बड़े, सामान्यवादी एलएलएम उत्कृष्ट कोडिंग प्रदर्शन प्राप्त कर सकते हैं, उनका आकार उन्हें तैनात करना महंगा बनाता है। छोटे कोड-केंद्रित मॉडल ( , ; , ; , ; , ; , ) एक छोटे और अधिक लचीले पैकेज में उत्कृष्ट कोड जनरेशन प्रदर्शन प्राप्त कर सकते हैं, लेकिन जनरेशन से परे कोडिंग कार्यों (जैसे, फिक्सिंग और स्पष्टीकरण) में प्रदर्शन कोड जनरेशन प्रदर्शन से पिछड़ सकता है। ली एट अल। 2023a लोझकोव एट अल। 2024 निजामा एट अल। 2023 रोज़िएरे एट अल। 2023 कोडजेम्मा टीम एट अल। 2024 कई एंटरप्राइज़ संदर्भों में, कोड एलएलएम को अपनाने में मॉडल के प्रदर्शन से परे कारक जटिल हो सकते हैं। उदाहरण के लिए, कभी-कभी खुले मॉडल भी डेटा स्रोतों और डेटा प्रसंस्करण विधियों के बारे में पारदर्शिता की कमी से ग्रस्त होते हैं जो मॉडल में गए थे, जो मिशन-क्रिटिकल और विनियमित संदर्भों में मॉडल में विश्वास को कम कर सकते हैं। इसके अलावा, आज के ओपन एलएलएम में लाइसेंस शर्तें किसी मॉडल का उपयोग करने के लिए किसी एंटरप्राइज की क्षमता को बाधित और जटिल कर सकती हैं। यहां, हम ग्रेनाइट कोड मॉडल प्रस्तुत करते हैं, जो अत्यधिक सक्षम कोड एलएलएम की एक श्रृंखला है, जिसे कोडिंग कार्यों की एक विस्तृत श्रृंखला में एंटरप्राइज़ सॉफ़्टवेयर विकास का समर्थन करने के लिए डिज़ाइन किया गया है। ग्रेनाइट कोड मॉडल के दो मुख्य वेरिएंट हैं जिन्हें हम चार अलग-अलग आकारों (3बी, 8बी, 20बी, और 34बी) में जारी करते हैं: कोड-संबंधित कार्यों के लिए आधार फाउंडेशन मॉडल; ग्रेनाइट कोड बेस: मानव निर्देशों के साथ जोड़े गए गिट कमिट और ओपन-सोर्स सिंथेटिक रूप से उत्पन्न कोड निर्देश डेटासेट के संयोजन का उपयोग करके फाइन-ट्यून किए गए निर्देश पालन मॉडल। ग्रेनाइट कोड इंस्ट्रक्ट: श्रृंखला में आधार मॉडल को एक दो-चरण प्रशिक्षण रणनीति के साथ शुरू से प्रशिक्षित किया गया है। चरण 1 में, हमारे मॉडल को 116 प्रोग्रामिंग भाषाओं से प्राप्त 3 से 4 ट्रिलियन टोकन पर प्रशिक्षित किया जाता है, जिससे प्रोग्रामिंग भाषाओं और वाक्य रचना की व्यापक समझ सुनिश्चित होती है। चरण 2 में, हमारे मॉडल को कोड और प्राकृतिक भाषा डोमेन से उच्च-गुणवत्ता वाले डेटा के सावधानीपूर्वक डिज़ाइन किए गए मिश्रण के साथ 500 बिलियन टोकन पर और प्रशिक्षित किया जाता है ताकि तर्क की मॉडल की क्षमता में सुधार हो सके। हम प्रशिक्षण के दोनों चरणों में आधार मॉडल को प्रशिक्षित करने के लिए अनसुपरवाइज्ड लैंग्वेज मॉडलिंग ऑब्जेक्टिव का उपयोग करते हैं। निर्देश मॉडल को आगे फाइन-ट्यून करके प्राप्त किए जाते हैं, जो ऊपर प्रशिक्षित आधार मॉडल पर एक फ़िल्टर किए गए कमिटपैक ( , ), प्राकृतिक भाषा निर्देश पालन डेटासेट (ओएएसएसटी ( , ), हेल्पस्टीर ( , )) और ओपन-सोर्स गणित डेटासेट (मैथइंस्ट्रक्ट ( , ) और मेटामाथक्यूए ( , )), निर्देश पालन और तर्क क्षमताओं में सुधार के लिए सिंथेटिक रूप से उत्पन्न कोड डेटासेट सहित, के संयोजन पर आधारित हैं। मुएननिगॉफ़ एट अल। 2023 कोफ एट अल। 2023 वांग एट अल। 2023 यू एट अल। 2023 यू एट अल। 2023 हम मानवइवैलपैक ( , ), एमबीपीपी+ ( , ; , ), रिपोबेंच ( , ), रीकोड ( , ), और अधिक सहित बेंचमार्क के एक व्यापक सेट पर अपने कोड एलएलएम का व्यापक मूल्यांकन करते हैं। बेंचमार्क का यह सेट पायथन में केवल कोड संश्लेषण से परे कई अलग-अलग प्रकार के कोडिंग कार्यों को शामिल करता है, जैसे, कोड फिक्सिंग, कोड स्पष्टीकरण, कोड संपादन, कोड अनुवाद, आदि, अधिकांश प्रमुख प्रोग्रामिंग भाषाओं (पायथन, जावास्क्रिप्ट, जावा, गो, सी++, रस्ट, आदि) में। मुएननिगॉफ़ एट अल। 2023 ऑस्टिन एट अल। 2021 लियू एट अल। 2023a लियू एट अल। 2023b वांग एट अल। 2022 हमारे निष्कर्ष बताते हैं कि ओपन-सोर्स मॉडल के बीच, ग्रेनाइट कोड मॉडल सभी मॉडल आकारों और बेंचमार्क पर समग्र रूप से बहुत मजबूत प्रदर्शन दिखाते हैं (अक्सर ग्रेनाइट की तुलना में दोगुने बड़े अन्य ओपन-सोर्स कोड मॉडल के प्रदर्शन को पार करते हुए)। एक उदाहरण के रूप में, आंकड़ा (शीर्ष) मानवइवैलपैक ( , ) पर अन्य ओपन-सोर्स बेस कोड एलएलएम, हाल के उच्च-प्रदर्शन वाले सामान्य प्रयोजन बेस एलएलएम जैसे मिस्ट्रल ( , ) और एलएलएमए-3 ( , ) की तुलना दिखाता है। जबकि कोडजेम्मा और स्टारकोडर2 कोड उत्पन्न करने में उचित रूप से अच्छा प्रदर्शन करते हैं, वे मानवइवैलपैक के कोड फिक्सिंग और स्पष्टीकरण वेरिएंट पर काफी खराब प्रदर्शन करते हैं। औसतन, ग्रेनाइट-8बी-कोड-बेस मानवइवैलपैक पर लगभग 12 अंक (33.2% बनाम 21.3%) से सबसे प्रतिस्पर्धी कोडजेम्मा-8बी मॉडल से बेहतर प्रदर्शन करता है, भले ही काफी कम टोकन (4.5टी बनाम 7.5टी टोकन) पर प्रशिक्षित किया गया हो। आधार मॉडल के अलावा, हमारे ग्रेनाइट कोड मॉडल के निर्देश ट्यून किए गए वेरिएंट भी मानवइवैलपैक पर मजबूत प्रदर्शन दिखाते हैं, अन्य ओपन-सोर्स (कोड) निर्देश मॉडल से बेहतर प्रदर्शन करते हैं, जो प्राकृतिक भाषा निर्देशों के साथ कोडिंग कार्यों के व्यापक सेट के लाभों को प्रदर्शित करता है (चित्र (नीचे) देखें)। 1 मुएननिगॉफ़ एट अल। 2023 जियांग एट अल। 2023b एआई@मेटा 2024 1 इसके अलावा, चूंकि तर्क जटिल प्रश्नों और कार्यों को हल करने के लिए महत्वपूर्ण है, हम अपने ग्रेनाइट-8बी-कोड-बेस मॉडल का परीक्षण गणितीय बेंचमार्क के छह पर भी करते हैं, जिसमें मैथ ( , ), जीएसएम8के ( , ) और कम्प्यूटेशनल टूल तक पहुंच के साथ समस्या-समाधान शामिल है, जहां हमारा ग्रेनाइट 8बी मॉडल अधिकांश अत्याधुनिक 7बी या 8बी एलएलएम की तुलना में बेहतर प्रदर्शन प्राप्त करता है। उदाहरण के लिए, ग्रेनाइट-8बी-कोड-बेस जीएसएम8के पर ~12 अंक और मैथ पर ~6 अंक (तालिका देखें) से लामा-3-8बी-बेस से बेहतर प्रदर्शन करता है। कॉबे एट अल। 2021 कॉबे एट अल। 2021 15 ग्रेनाइट कोड मॉडल के मुख्य लाभों में शामिल हैं: : ग्रेनाइट कोड मॉडल विभिन्न प्रकार के कोड-संबंधित कार्यों पर प्रतिस्पर्धी या अत्याधुनिक प्रदर्शन प्राप्त करते हैं, जिसमें कोड जनरेशन, स्पष्टीकरण, फिक्सिंग, संपादन, अनुवाद, आदि शामिल हैं, जो विविध कोडिंग कार्यों को हल करने की उनकी क्षमता को प्रदर्शित करते हैं; ऑल-राउंडर कोड एलएलएम : हमारे सभी मॉडल आईबीएम के एआई नैतिकता सिद्धांतों के अनुसार एकत्र किए गए लाइसेंस-अनुमत डेटा पर प्रशिक्षित किए जाते हैं और भरोसेमंद एंटरप्राइज़ उपयोग के लिए आईबीएम की कॉर्पोरेट कानूनी टीम द्वारा निर्देशित होते हैं। सभी ग्रेनाइट कोड मॉडल अपाचे 2.0 लाइसेंस के तहत जारी किए गए हैं। भरोसेमंद एंटरप्राइज-ग्रेड एलएलएम 1 हम धारा में अपनी पूरी डेटा संग्रह, फ़िल्टरिंग और प्रीप्रोसेसिंग पाइपलाइन का वर्णन करते हैं । धारा मॉडल आर्किटेक्चर का विवरण देती है, उसके बाद धारा में प्रशिक्षण विवरण दिया गया है। धारा निर्देश ट्यूनिंग के बारे में विवरण प्रदान करती है, और धारा प्रयोगों और परिणामों का वर्णन करती है जिसमें ग्रेनाइट कोड मॉडल की अन्य ओपन-सोर्स एलएलएम के साथ तुलना की गई है। 2 3 4 5 6 2 डेटा संग्रह इस अनुभाग में, हम मॉडल प्रशिक्षण के लिए कोड डेटा तैयार करने के लिए उपयोग किए जाने वाले क्रॉलिंग और फ़िल्टरिंग (अनुभाग ), डिडुप्लीकेशन (अनुभाग ), एचएपी/पीआईआई फ़िल्टरिंग (अनुभाग ) का वर्णन करते हैं। हम मॉडल की भाषा समझ और गणितीय तर्क कौशल को बढ़ाने के लिए उपयोग किए जाने वाले उच्च-गुणवत्ता वाले प्राकृतिक भाषा डेटा का अवलोकन भी प्रदान करते हैं। 2.1 2.2 2.3 2.1 डेटा क्रॉलिंग और फ़िल्टरिंग प्रीट्रेनिंग कोड डेटा सार्वजनिक रूप से उपलब्ध डेटासेट जैसे गिटहब कोड क्लीन , स्टारकोडरडेटा , और अतिरिक्त सार्वजनिक कोड रिपॉजिटरी और गिटहब से मुद्दों के संयोजन से प्राप्त किया गया था। हम 300+ भाषाओं में से 116 प्रोग्रामिंग भाषाओं की सूची बनाए रखने के लिए कच्चे डेटा को फ़िल्टर करते हैं, जैसा कि परिशिष्ट में सूचीबद्ध है। प्रोग्रामिंग भाषाओं को डेटा का असाइनमेंट फ़ाइल एक्सटेंशन के आधार पर किया जाता है, जो स्टारकोडर ( , ) के समान है। भाषा फ़िल्टरिंग के बाद, हम निम्न-गुणवत्ता वाले कोड ( , ) को फ़िल्टर करने के लिए चार प्रमुख फ़िल्टरिंग नियमों को लागू करते हैं: (1) 25% से कम अक्षर वाले फ़ाइलों को हटा दें, (2) XSLT भाषा को छोड़कर, उन फ़ाइलों को फ़िल्टर करें जहां स्ट्रिंग " 2 3 ए ली एट अल। 2023a ली एट अल। 2023a 2.2 सटीक और फजी डिडुप्लीकेशन हम अपने प्रशिक्षण सेट में (निकट) समान कोड सामग्री वाले दस्तावेज़ों को हटाने के लिए सटीक और फजी डिडुप्लीकेशन दोनों सहित एक आक्रामक डिडुप्लीकेशन रणनीति अपनाते हैं। सटीक डिडुप्लीकेशन के लिए, हम पहले दस्तावेज़ सामग्री पर SHA256 हैश की गणना करते हैं और समान हैश वाले रिकॉर्ड को हटाते हैं। सटीक डिडुप्लीकेशन के बाद, हम फजी डिडुप्लीकेशन लागू करते हैं जिसका लक्ष्य कोड फ़ाइलों को हटाना है जिनमें मामूली भिन्नताएं हो सकती हैं और इस प्रकार डेटा को और अधिक अनबायस किया जा सकता है। हम इसके लिए दो-चरणीय विधि लागू करते हैं: (1) सभी दस्तावेज़ों के मिनहैश की गणना करें और फिर उनके मिनहैश फिंगरप्रिंट के आधार पर दस्तावेज़ों को समूहित करने के लिए स्थानीय रूप से संवेदनशील हैशिंग (एलएसएच) का उपयोग करें, (2) एक समानता सीमा 0.7 के आधार पर डुप्लिकेट के रूप में चिह्नित दस्तावेजों के अलावा प्रत्येक जोड़ी दस्तावेजों के बीच जैकार्ड समानता को मापें। हम प्रशिक्षण डेटासेट की समृद्धि और विविधता को बढ़ाने के लिए गिटहब मुद्दों सहित सभी प्रोग्रामिंग भाषाओं पर इस निकट-डिडुप्लीकेशन प्रक्रिया को लागू करते हैं। 2.3 एचएपी, पीआईआई, मैलवेयर फ़िल्टरिंग मॉडल से घृणित, अपमानजनक या अपवित्र (एचएपी) भाषा उत्पन्न करने की संभावना को कम करने के लिए, हम प्रशिक्षण सेट से एचएपी सामग्री को फ़िल्टर करने के लिए परिश्रम करते हैं। हम पहले एचएपी कीवर्ड की एक शब्दकोश बनाते हैं और फिर प्रत्येक कोड दस्तावेज़ को सामग्री, टिप्पणियों सहित, में ऐसे कीवर्ड की घटनाओं की संख्या के साथ एनोटेट करते हैं। हम उन दस्तावेज़ों को फ़िल्टर करते हैं जो एचएपी सीमा से अधिक हो जाते हैं, जिसकी गणना वितरण विश्लेषण के साथ-साथ कोड फ़ाइलों के मैनुअल निरीक्षण के आधार पर की जाती है। इसके अलावा, गोपनीयता की रक्षा के लिए, हम स्टारकोडर ( , ) का पालन करते हैं और प्रशिक्षण सेट से व्यक्तिगत रूप से पहचान योग्य जानकारी (पीआईआई) को लाल करने के लिए परिश्रम करते हैं। विशेष रूप से, हम सामग्री में पाए गए आईपी पतों, कुंजियों, ईमेल पतों, नामों, उपयोगकर्ता नामों और पासवर्ड का पता लगाने के लिए स्टारपीआई मॉडल का लाभ उठाते हैं। पीआईआई रेडक्शन चरण पीआईआई टेक्स्ट को संबंधित टोकन NAME , EMAIL , KEY , PASSWORD से बदल देता है और आईपी पते को ली एट अल। (2023a) के अनुसार सिंथेटिक रूप से उत्पन्न आईपी पते से बदल देता है। हम स्रोत कोड में मैलवेयर के उदाहरणों की पहचान करने और उन्हें हटाने के लिए अपने डेटासेट को स्कैन भी करते हैं। ली एट अल। 2023a 4 2.4 प्राकृतिक भाषा डेटासेट मॉडल प्रशिक्षण के लिए कोड डेटा एकत्र करने के अलावा, हम मॉडल की भाषा समझ और गणितीय तर्क में मॉडल की दक्षता में सुधार के लिए कई सार्वजनिक रूप से उपलब्ध उच्च-गुणवत्ता वाले प्राकृतिक भाषा डेटासेट तैयार करते हैं। इस श्रेणी के तहत प्रतिनिधि डेटासेट में वेब दस्तावेज़ (स्टैकएक्सचेंज, कॉमनक्रॉल), गणितीय वेब टेक्स्ट (ओपनवेब-मैथ; ( ), स्टैकमैथक्यूए; ( )), अकादमिक टेक्स्ट (आर्काइव, विकिपीडिया), और निर्देश ट्यूनिंग डेटासेट (फ्लैन; ( ), हेल्पस्टीर ( , )) शामिल हैं। हम इन पहले से प्रीप्रोसेस किए गए प्राकृतिक भाषा डेटासेट को डिडुप्लीकेट नहीं करते हैं। पेस्टर एट अल। 2023 झांग 2024 लॉन्गप्रे एट अल। 2023 वांग एट अल। 2023 3 मॉडल वास्तुकला हम ट्रांसफार्मर डिकोडर आर्किटेक्चर ( , ) के आधार पर विभिन्न आकारों के कोड मॉडल की एक श्रृंखला को प्रशिक्षित करते हैं। इन मॉडलों के लिए मॉडल हाइपरपैरामीटर तालिका में दिए गए हैं। सभी मॉडल आर्किटेक्चर के लिए, हम प्री-नॉर्मलाइजेशन ( , ) का उपयोग करते हैं: अटेंशन और एमएलपी ब्लॉकों के इनपुट पर लागू सामान्यीकरण। वासवानी एट अल। 2017 1 शिओंग एट अल। 2020 : ग्रेनाइट-कोड मॉडल परिवार में सबसे छोटा मॉडल आरओपीई एम्बेडिंग ( , ) और मल्टी-हेड अटेंशन ( , ) के साथ प्रशिक्षित किया जाता है। यह मॉडल एमएलपी के लिए जीएलयू ( , ) के साथ स्विश एक्टिवेशन फ़ंक्शन ( , ) का उपयोग करता है, जिसे आमतौर पर स्विग्लू भी कहा जाता है। सामान्यीकरण के लिए, हम आरएमएसएनॉर्म ( , ) का उपयोग करते हैं क्योंकि यह लेयरनॉर्म ( , ) की तुलना में कम्प्यूटेशनल रूप से अधिक कुशल है। 3बी मॉडल 2048 टोकन की संदर्भ लंबाई के साथ प्रशिक्षित किया जाता है। 3B सु एट अल। 2023 वासवानी एट अल। 2017 शज़ीर 2020 रामचंद्रन एट अल। 2017 झांग और सेन्निच 2019 बा एट अल। 2016 : 8बी मॉडल में 3बी मॉडल के समान आर्किटेक्चर है, सिवाय इसके कि ग्रुपेड-क्वेरी अटेंशन (जीक्यूए) ( , ) का उपयोग किया जाता है। जीक्यूए का उपयोग करने से इस पैमाने पर मॉडल प्रदर्शन और अनुमान दक्षता के बीच बेहतर संतुलन मिलता है। हम 8बी मॉडल को 4096 टोकन की संदर्भ लंबाई के साथ प्रशिक्षित करते हैं। 8B एंसली एट अल। 2023 : 20बी कोड मॉडल को सीखे गए पूर्ण स्थिति एम्बेडिंग के साथ प्रशिक्षित किया जाता है। हम कुशल डाउनस्ट्रीम अनुमान के लिए प्रशिक्षण के दौरान मल्टी-क्वेरी अटेंशन ( , ) का उपयोग करते हैं। एमएलपी ब्लॉक के लिए, हम जेलू एक्टिवेशन फ़ंक्शन ( , ) का उपयोग करते हैं। सक्रियणों को सामान्यीकृत करने के लिए, हम लेयरनॉर्म ( , ) का उपयोग करते हैं। यह मॉडल 8192 टोकन के संदर्भ लंबाई के साथ प्रशिक्षित किया जाता है। 20B शज़ीर 2019 हेंड्रिक्स और गिम्पेल 2023 बा एट अल। 2016 : 34बी मॉडल को प्रशिक्षित करने के लिए, हम गहराई बढ़ाने के लिए के दृष्टिकोण का पालन करते हैं। विशेष रूप से, हम पहले 52 परतों वाले 20बी कोड मॉडल को डुप्लिकेट करते हैं और फिर मूल मॉडल से अंतिम 8 परतों और उसके डुप्लिकेट से प्रारंभिक 8 परतों को हटाकर दो मॉडल बनाते हैं। 34B किम एट अल। अंत में, हम ग्रेनाइट-34बी-कोड मॉडल को 88 परतों के साथ बनाने के लिए दोनों मॉडल को जोड़ते हैं (एक दृष्टांत के लिए चित्र देखें)। गहराई बढ़ाने के बाद, हम पाते हैं कि 20बी मॉडल की तुलना में प्रदर्शन में गिरावट काफी कम है, जो द्वारा देखे गए के विपरीत है। यह प्रदर्शन ऊपर-बढ़े हुए 34बी मॉडल के प्रीट्रेनिंग को जारी रखने के बाद काफी जल्दी ठीक हो जाता है। 20बी के समान, हम प्रीट्रेनिंग के दौरान 8192 टोकन संदर्भ का उपयोग करते हैं। 2 किम एट अल। 4 प्रीट्रेनिंग इस अनुभाग में, हम दो-चरण प्रशिक्षण (अनुभाग ), प्रशिक्षण उद्देश्यों (अनुभाग ), अनुकूलन (अनुभाग ) और बुनियादी ढांचे (अनुभाग ) पर विवरण प्रदान करते हैं जिनका उपयोग मॉडल को प्रीट्रेन करने में किया गया था। 4.1 4.2 4.3 4.4 4.1 दो-चरण प्रशिक्षण ग्रेनाइट कोड मॉडल को कोड डेटा और कोड से संबंधित प्राकृतिक भाषा डेटासेट के 3.5टी से 4.5टी टोकन पर प्रशिक्षित किया जाता है। डेटा को बाइट पेयर एन्कोडिंग (बीपीई, ( , )) के माध्यम से टोकन किया जाता है, जो स्टारकोडर ( , ) के समान टोकननाइज़र का उपयोग करता है। ( , ; , ) का पालन करते हुए, हम दो प्रशिक्षण चरणों के रूप में निम्नलिखित उच्च-गुणवत्ता वाले डेटा का उपयोग करते हैं। सेन्निच एट अल। 2015 ली एट अल। 2023a शेन एट अल। 2024 हू एट अल। 2024 • : चरण 1 के दौरान, 3बी और 8बी दोनों मॉडल 116 भाषाओं वाले कोड डेटा के 4 ट्रिलियन टोकन के लिए प्रशिक्षित किए जाते हैं। 20बी पैरामीटर मॉडल को 3 ट्रिलियन कोड टोकन पर प्रशिक्षित किया जाता है। 34बी मॉडल को 20बी मॉडल के 1.6टी चेकपॉइंट पर गहराई बढ़ाने के बाद 1.4टी टोकन पर प्रशिक्षित किया जाता है। चरण 1 (केवल कोड प्रशिक्षण) • : चरण 2 में, हम मॉडल के तर्क और समस्या-समाधान कौशल में मॉडल के प्रदर्शन को और बेहतर बनाने के लिए तकनीकी, गणितीय और वेब दस्तावेज़ों सहित विभिन्न डोमेन से अतिरिक्त उच्च-गुणवत्ता वाले सार्वजनिक रूप से उपलब्ध डेटा को शामिल करते हैं, जो कोड जनरेशन के लिए आवश्यक हैं। हम चरण 2 प्रशिक्षण में सभी मॉडल को 500बी टोकन (80% कोड और 20% भाषा डेटा) के लिए प्रशिक्षित करते हैं। चरण 2 (कोड + भाषा प्रशिक्षण) 4.2 प्रशिक्षण उद्देश्य हमारे सभी मॉडल के प्रशिक्षण के लिए, हम कॉज़ल लैंग्वेज मॉडलिंग ऑब्जेक्टिव और फिल-इन-द-मिडिल (एफआईएम) ( , ) ऑब्जेक्टिव का उपयोग करते हैं। एफआईएम ऑब्जेक्टिव को दिए गए संदर्भ और बाद के पाठ के साथ डाले गए टोकन की भविष्यवाणी करने का कार्य सौंपा गया है। हम अपने मॉडल को स्टारकोडर ( , ) के समान प्रासंगिक स्वरूपण नियंत्रण टोकन के साथ पीएसएम (प्रीफिक्स-सफिक्स-मिडिल) और एसपीएम (सफिक्स-प्रीफिक्स-मिडिल) दोनों मोड के साथ काम करने के लिए प्रशिक्षित करते हैं। बवेरियन एट अल। 2022 ली एट अल। 2023a समग्र हानि की गणना 2 उद्देश्यों के भारित संयोजन के रूप में की जाती है: हम प्रशिक्षण के दौरान प्रयोगात्मक रूप से α = 0.5 निर्धारित करते हैं और पाते हैं कि यह व्यवहार में कोड पूर्णता और कोड इनफिलिंग दोनों कार्यों पर एसओटी प्रदर्शन को जन्म देता है। यह ध्यान दिया जाना चाहिए कि एफआईएम उद्देश्य केवल प्रीट्रेनिंग के दौरान उपयोग किया जाता है, हालांकि हम इसे निर्देश फाइनट्यूनिंग के दौरान छोड़ देते हैं, यानी हम α = 1 निर्धारित करते हैं। 4.3 अनुकूलन हम अपने सभी ग्रेनाइट कोड मॉडल के प्रशिक्षण के लिए β1 = 0.9, β2 = 0.95 और 0.1 के वजन क्षय के साथ एडमडब्ल्यू ऑप्टिमाइज़र ([किंगमा और बा](#_bookmark80),(#_bookmark80)) का