```html කර්තෘවරු: Mayank Mishra⋆, IBM Matt Stallone⋆, IBM Gaoyuan Zhang⋆, IBM Yikang Shen, IBM Aditya Prasad, IBM Adriana Meza Soria, IBM Michele Merler, IBM Parameswaran Selvam, IBM Saptha Surendran, IBM Shivdeep Singh, IBM Manish Sethi, IBM Xuan-Hong Dang, IBM Pengyuan Li, IBM Kun-Lung Wu, IBM Syed Zawad, IBM Andrew Coleman, IBM Matthew White, IBM Mark Lewis, IBM Raju Pavuluri, IBM Yan Koyfman, IBM Boris Lublinsky, IBM Maximilien de Bayser, IBM Ibrahim Abdelaziz, IBM Kinjal Basu, IBM Mayank Agarwal, IBM Yi Zhou, IBM Chris Johnson, IBM Aanchal Goyal, IBM Hima Patel, IBM Yousaf Shah, IBM Petros Zerfos, IBM Heiko Ludwig, IBM Asim Munawar, IBM Maxwell Crouse, IBM Pavan Kapanipathi, IBM Shweta Salaria, IBM Bob Calio, IBM Sophia Wen, IBM Seetharami Seelam, IBM Brian Belgodere, IBM Carlos Fonseca, IBM Amith Singhee, IBM Nirmit Desai, IBM David D. Cox, IBM Ruchir Puri†, IBM Rameswar Panda†, IBM සාරාංශය කේත මත පුහුණු කරන ලද විශාල භාෂා ආකෘති (LLMs) මෘදුකාංග සංවර්ධන ක්රියාවලිය විප්ලවීය වෙනස්කම් සිදු කරයි. වැඩි වැඩියෙන්, කේත LLMs මානව වැඩසටහන්කරුවන්ගේ ඵලදායිතාව වැඩි දියුණු කිරීම සඳහා මෘදුකාංග සංවර්ධන පරිසරයන් තුළ ඒකාබද්ධ කරනු ලැබේ, සහ LLM-පාදක නියෝජිතයින්ට සංකීර්ණ කාර්යයන් ස්වාධීනව හැසිරවීමට පොරොන්දුවක් පෙන්වීමට පටන් ගනී. කේත LLMs හි සම්පූර්ණ විභවය අවබෝධ කර ගැනීම සඳහා කේත උත්පාදනය, දෝෂ නිවැරදි කිරීම, කේත පැහැදිලි කිරීම සහ ලේඛනගත කිරීම, ගබඩාවන් නඩත්තු කිරීම සහ තවත් බොහෝ දේ ඇතුළුව පුළුල් පරාසයක හැකියාවන් අවශ්ය වේ. මෙම කෘතියේදී, අපි ග්රැනයිට් 116 වැඩසටහන් භාෂා වලින් ලියන ලද කේත සමඟ පුහුණු කරන ලද කේත උත්පාදක කාර්යයන් සඳහා ඩිල්ඩර්-පමණක් කේත ආකෘති මාලාවක් හඳුන්වා දෙන්නෙමු. ග්රැනයිට් කේත ආකෘති පවුල 3 සිට 34 බිලියන පරාමිතීන් දක්වා ප්රමාණවලින් යුත් ආකෘති වලින් සමන්විත වන අතර, සංකීර්ණ යෙදුම් නූතනීකරණ කාර්යයන් සිට උපාංග මත මතක-සීමා සහිත භාවිත අවස්ථා දක්වා යෙදුම් සඳහා සුදුසු වේ. කාර්යයන්හි සවිස්තරාත්මක කට්ටලයක ඇගයීම පෙන්නුම් කරන්නේ ග්රැනයිට් කේත ආකෘති පවතින විවෘත-මූලාශ්ර කේත LLMs අතර ප්රාන්ත-රාජ්ය-කලාව ඉටු කරන බවයි. ග්රැනයිට් කේත ආකෘති පවුල ව්යවසාය මෘදුකාංග සංවර්ධන වැඩ ප්රවාහයන් සඳහා ප්රශස්ත කරන ලද අතර විවිධ කේත කාර්යයන් (උදා. කේත උත්පාදනය, නිවැරදි කිරීම සහ පැහැදිලි කිරීම) පුරා හොඳින් ක්රියා කරයි, එය බහුකාර්ය "සියල්ල වටා" කේත ආකෘතියක් බවට පත් කරයි. අපි අපගේ සියලුම ග්රැනයිට් කේත ආකෘති පර්යේෂණ සහ වාණිජ යන දෙඅංශයටම Apache 2.0 බලපත්රය යටතේ නිකුත් කරමු. https://github.com/ibm-granite/granite-code-models 1 හඳුන්වාදීම පසුගිය දශක කිහිපය තුළ, මෘදුකාංග අප සමාජයේ සෑම අංශයකම අත් රෙදිපිළි බවට පත්ව ඇත. මෘදුකාංග සංවර්ධනය සඳහා ඉල්ලුම වැඩි වෙමින් පවතින විට, මෘදුකාංග සංවර්ධන ඵලදායිතාව වැඩි කිරීම වඩාත් තීරණාත්මක වන අතර, LLMs මානව වැඩසටහන්කරුවන්ගේ වර්ධනය සඳහා පොරොන්දු වූ මාවතක් සපයයි. මෘදුකාංග සංවර්ධන ඵලදායිතාවයේ LLMs සඳහා ප්රමුඛ ව්යවසාය භාවිත අවස්ථා අතර කේත උත්පාදනය, කේත පැහැදිලි කිරීම, කේත නිවැරදි කිරීම, ඒකක පරීක්ෂණය සහ ලේඛන උත්පාදනය, යෙදුම් නූතනීකරණය, දුර්වලතා හඳුනාගැනීම, කේත පරිවර්තනය සහ තවත් බොහෝ දේ ඇතුළත් වේ. මෑත වසරවලදී LLM හි කේත උත්පාදනය සහ හැසිරවීමේ හැකියාවන්හි වේගවත් ප්රගතියක් දක්නට ලැබේ, අද වන විට ආකර්ශනීය කේත හැකියාවන් සහිත ආකෘති ගණනාවක් තිබේ. ආකෘති තනි-ඉලක්ක බිලියන ගණනක පරාමිතීන් (උදා. Llama-7B (Touvron et al., 2023), Gemma-7B (Gemma-Team et al., 2024), ආදිය) සිය ගණනක් දක්වා විහිදේ: DBRX (Databricks), Arctic (Snowflake), Grok, Mixtral 8x22B (MistralAI), Command R+ (Cohere), සහ අදහස් කරන ලද භාවිතයේ පොදු ස්වභාවයේ වෙනස් වේ, සමහර ආකෘති කේතයෙන් ඔබ්බට වූ පුළුල් පරාසයක භාවිතයන් ආවරණය කිරීම අරමුණු කරයි, අනෙක් ඒවා මූලික වශයෙන් කේත-ආශ්රිත කාර්යයන් කෙරෙහි අවධානය යොමු කරයි (උදා. StarCoder (Li et al., 2023a; Lozhkov et al., 2024), CodeGen (Nijkamp et al., 2023), CodeLlama (Rozie`re et al., 2023), සහ CodeGemma (CodeGemma Team et al., 2024)). කෙසේ වෙතත්, කේත සඳහා LLMs ක්ෂේත්රයේ, විශේෂයෙන්ම ව්යවසාය මෘදුකාංග සංවර්ධන සන්දර්භය තුළ වැදගත් හිඩැස් පවතී. පළමුව, ඉතා විශාල, සාමාන්ය LLMs විශිෂ්ට කේත කාර්ය සාධනයක් ලබා ගත හැකි වුවද, ඒවායේ විශාලත්වය යෙදවීම මිල අධික කරයි. කුඩා කේත-අවධානය යොමු කරන ආකෘති ( , ; , ; , ; , ; , ) කුඩා හා වඩාත් නම්යශීලී පැකේජයක විශිෂ්ට කේත උත්පාදන කාර්ය සාධනයක් ලබා ගත හැකි නමුත්, උත්පාදනයෙන් ඔබ්බට කේත කාර්යයන්හි කාර්ය සාධනය (උදා. නිවැරදි කිරීම සහ පැහැදිලි කිරීම) කේත උත්පාදන කාර්ය සාධනයට වඩා පසුගාමී විය හැකිය. Li et al. 2023a Lozhkov et al. 2024 Nijkamp et al. 2023 Rozie`re et al. 2023 CodeGemma Team et al. 2024 බොහෝ ව්යවසාය සන්දර්භයන් තුළ, ආකෘතිවල කාර්ය සාධනයෙන් ඔබ්බට සාධක මගින් කේත LLM අනුගමනය කිරීම තවදුරටත් සංකීර්ණ විය හැකිය. උදාහරණයක් ලෙස, විවෘත ආකෘති පවා සමහර විට දත්ත මූලාශ්ර සහ ආකෘතියට ඇතුළු වූ දත්ත සැකසුම් ක්රම පිළිබඳ විනිවිදභාවයේ lack නිසා පීඩා විඳිති, එය මෙහෙයුම්-ආCritical සහ නියාමනය කරන ලද සන්දර්භයන්හි ආකෘති කෙරෙහි විශ්වාසය හෑල්ලු කළ හැකිය. ඊට අමතරව, අද දින විවෘත LLMs හි බලපත්ර නියමයන් ආකෘතියක් භාවිතා කිරීමේ ව්යවසායයක හැකියාවට බාධා සහ සංකීර්ණ කළ හැකිය. මෙන්න, අපි ග්රැනයිට් කේත ආකෘති ඉදිරිපත් කරන්නෙමු, අති-සමර්ථ කේත LLMs මාලාවක්, විවිධ කේත කාර්යයන් පුරා ව්යවසාය මෘදුකාංග සංවර්ධනයට සහාය වීම සඳහා නිර්මාණය කරන ලද ග්රැනයිට් කේත ආකෘති වලට අපි නිකුත් කරන ප්රධාන ප්රභේද දෙකක් සහ විවිධ ප්රමාණ හතරක් (3B, 8B, 20B, සහ 34B) ඇත: කේත-ආශ්රිත කාර්යයන් සඳහා පදනම් ආකෘති; ග්රැනයිට් කේත පදනම: Git කොන්ත්රාත්තු සහ මානව උපදෙස් මෙන්ම විවෘත-මූලාශ්ර කෘතිමව ජනනය කරන ලද කේත උපදෙස් දත්ත සමූහයන් සමඟ ෆයින්-ටියුන් කරන ලද උපදෙස් අනුගමනය කරන ආකෘති. ග්රැනයිට් කේත උපදෙස්: අනුක්රමයෙහි පදනම් ආකෘති දෙ-අදියර පුහුණු උපාය මාර්ගයක් සමඟ මුල සිටම පුහුණු කර ඇත. අදියර 1 හි, අපගේ ආකෘතිය 116 වැඩසටහන් භාෂා වලින් ලබාගත් ටෝකන ට්රිලියන 3 සිට 4 දක්වා පුහුණු කරනු ලැබේ, වැඩසටහන් භාෂා සහ වාක්ය ඛණ්ඩ පිළිබඳ පුළුල් අවබෝධයක් සහතික කරයි. අදියර 2 හි, අපගේ ආකෘතියට කේත සහ ස්වාභාවික භාෂා වසම් වලින් උසස් තත්ත්වයේ දත්ත මිශ්රණයකින් ටෝකන බිලියන 500 ක් සමඟ තවදුරටත් පුහුණු කරනු ලැබේ, එය ආකෘතියේ තර්ක කිරීමේ හැකියාව වැඩි දියුණු කරයි. අපි පුහුණුවේ අදියර දෙකෙහිම පදනම් ආකෘති පුහුණු කිරීමට අනාරක්ෂිත භාෂා ආකෘතිකරණ අරමුණ භාවිතා කරමු. උපදෙස් ආකෘති, CommitPack ( , ) හි පෙරූ ප්රභේදයක්, ස්වාභාවික භාෂා උපදෙස් අනුගමනය කිරීමේ දත්ත සමූහයන් (OASST ( , ), HelpSteer ( , )) සහ විවෘත-මූලාශ්ර ගණිත දත්ත සමූහයන් (MathInstruct ( , ) සහ MetaMathQA ( , )), උපදෙස් අනුගමනය කිරීම සහ තර්ක කිරීමේ හැකියාවන් වැඩි දියුණු කිරීම සඳහා කෘතිමව ජනනය කරන ලද කේත දත්ත සමූහයන් ඇතුළුව, වැඩිදුර ෆයින්-ටියුනිං කිරීමෙන් ලබා ගනී. Muennighoff et al. 2023 Ko¨ pf et al. 2023 Wang et al. 2023 Yue et al. 2023 Yu et al. 2023 අපි HumanEvalPack ( , ), MBPP(+) ( , ; , ), RepoBench ( , ), ReCode ( , ), සහ තවත් බොහෝ දේ ඇතුළුව, සම්මුඛ පරීක්ෂණවල සවිස්තරාත්මක කට්ටලයක අපගේ කේත LLMs හි පුළුල් ඇගයීම් සිදු කරමු. මෙම මිණුම් දඬු කට්ටලය Python හි කේත සංස්ලේෂණයට අමතරව විවිධ ආකාරයේ කේත කාර්යයන් රැසක් ආවරණය කරයි, උදා. කේත නිවැරදි කිරීම, කේත පැහැදිලි කිරීම, කේත සංස්කරණය, කේත පරිවර්තනය, ආදිය, බොහෝ ප්රධාන වැඩසටහන් භාෂා පුරා (Python, JavaScript, Java, Go, C++, Rust, ආදිය). Muennighoff et al. 2023 Austin et al. 2021 Liu et al. 2023a Liu et al. 2023b Wang et al. 2022 අපගේ සොයාගැනීම් වලින් අනාවරණය වන්නේ විවෘත-මූලාශ්ර ආකෘති අතර, ග්රැනයිට් කේත ආකෘති සියලු ආකෘති ප්රමාණ සහ මිණුම් දඬු පුරා ඉතා ශක්තිමත් කාර්ය සාධනයක් පෙන්නුම් කරන බවයි (බොහෝ විට ග්රැනයිට් මෙන් දෙගුණයක් විශාල විවෘත-මූලාශ්ර කේත ආකෘති වලට වඩා හොඳින් ක්රියා කරයි). නිදර්ශනයක් ලෙස, රූපය (ඉහළ) HumanEvalPack ( , ) හි Mistral ( , ) සහ LLama-3 ( , ) වැනි මෑතකදී නිකුත් වූ ඉහළ-කාර්ය සාධන සාමාන්ය අරමුණු සහිත පදනම් LLMs ඇතුළු අනෙකුත් විවෘත-මූලාශ්ර පදනම් කේත LLMs සමඟ ග්රැනයිට්-8B-කේත-පදනමේ සංසන්දනයක් පෙන්වයි. CodeGemma සහ StarCoder2 කේත උත්පාදනයෙහි යහපත් ලෙස ක්රියා කරන අතර, ඒවා HumanEvalPack හි කේත නිවැරදි කිරීම සහ පැහැදිලි කිරීමේ ප්රභේදවල සැලකිය යුතු ලෙස නරක අතට හැරේ. සාමාන්යයෙන්, ග්රැනයිට්-8B-කේත-පදනම, සැලකිය යුතු තරම් අඩු ටෝකන සංඛ්යාවක (4.5T එදිරිව 7.5T ටෝකන) පුහුණු කර තිබියදීත්, තරඟකාරීම CodeGemma-8B ආකෘතියට වඩා HumanEvalPack හි ලකුණු 12 කින් පමණ ඉදිරියෙන් සිටී. පදනම් ආකෘති වලට අමතරව, අපගේ ග්රැනයිට් කේත ආකෘතිවල උපදෙස් ටියුන් කරන ලද ප්රභේද ද HumanEvalPack හි ශක්තිමත් කාර්ය සාධනයක් පෙන්නුම් කරයි, අනෙකුත් විවෘත-මූලාශ්ර (කේත) උපදෙස් ආකෘති වලට වඩා හොඳින් ක්රියා කරයි, ස්වාභාවික භාෂා උපදෙස් සහිත කේත කාර්යයන්හි පුළුල් කට්ටලයකට ප්රතිලාභ පෙන්නුම් කරයි (රූපය (පහළ) බලන්න). 1 Muennighoff et al. 2023 Jiang et al. 2023b AI@Meta 2024 1 ඊට අමතරව, සංකීර්ණ ප්රශ්න සහ කාර්යයන් විසඳීම සඳහා තර්ක කිරීම ඉතා වැදගත් වන බැවින්, අපි අපගේ ග්රැනයිට්-8B-කේත-පදනම් ආකෘතිය MATH ( , ), GSM8K ( , ) ඇතුළු ගණිත මිණුම් දඬු හයක, සහ පරිගණක මෙවලම් සඳහා ප්රවේශය සහිත ගැටළු විසඳීම, එහිදී අපගේ ග්රැනයිට් 8B ආකෘතිය බොහෝ රාජ්ය-රාජ්ය-කලාව 7B හෝ 8B LLMs වලට වඩා හොඳ කාර්ය සාධනයක් ලබා ගනී. උදාහරණයක් ලෙස, ග්රැනයිට්-8B-කේත-පදනම GSM8K හි ∼12 ලකුණු වලින් සහ MATH හි ∼6 ලකුණු වලින් Llama-3-8B-Base ට වඩා ඉදිරියෙන් සිටී (වගග 15 බලන්න). Cobbe et al. 2021 Cobbe et al. 2021 ග්රැනයිට් කේත ආකෘතිවල ප්රධාන වාසි ඇතුළත්: : ග්රැනයිට් කේත ආකෘති කේත උත්පාදනය, පැහැදිලි කිරීම, නිවැරදි කිරීම, සංස්කරණය, පරිවර්තනය, ආදිය ඇතුළු විවිධ කේත-ආශ්රිත කාර්යයන්හි තරඟකාරී හෝ රාජ්ය-රාජ්ය-කලාව කාර්ය සාධනයක් ලබා ගනී, විවිධ කේත කාර්යයන් විසඳීමේ ඔවුන්ගේ හැකියාව පෙන්නුම් කරයි; සියලු-වටේ කේත LLM : අපගේ සියලුම ආකෘති IBM හි AI සදාචාර මූලධර්ම අනුව එකතු කරන ලද බලපත්ර-ඉඩ දෙන දත්ත මත පුහුණු කර ඇති අතර විශ්වාසදායක ව්යවසාය භාවිතය සඳහා IBM හි ආයතනික නීති කණ්ඩායම විසින් මෙහෙයවනු ලැබේ. සියලුම ග්රැනයිට් කේත ආකෘති Apache 2.0 බලපත්රය යටතේ නිකුත් කරනු ලැබේ. විශ්වාසදායක ව්යවසාය-ශ්රේණි LLM 1 අපි අපගේ සම්පූර්ණ දත්ත එකතු කිරීම, පෙරීම සහ පෙර-සැකසීමේ පයිප්ලයින් කොටස 2 හි විස්තර කරමු. කොටස 3 ආකෘති ගෘහ නිර්මාණයේ විස්තර විස්තර කරයි, කොටස 4 හි පුහුණු විස්තර අනුගමනය කරයි. කොටස 5 උපදෙස් ටියුනිං පිළිබඳ විස්තර සපයයි, සහ කොටස 6 අනෙකුත් විවෘත-මූලාශ්ර LLMs සමඟ ග්රැනයිට් කේත ආකෘති සංසන්දනය කරන අත්හදා බැලීම් සහ ප්රතිඵල විස්තර කරයි. 2 දත්ත එකතුව මෙම කොටසේදී, ආකෘති පුහුණුව සඳහා කේත දත්ත සකස් කිරීම සඳහා භාවිතා කරන ක්රෝලිං සහ පෙරීම (Sec. ), ඩියුප්ලිකේෂන් (Sec. ), HAP/PII පෙරීම (Sec. ) අපි විස්තර කරමු. ආකෘතියේ භාෂා අවබෝධය සහ ගණිතමය තර්ක කිරීමේ කුසලතා වැඩි දියුණු කිරීමට භාවිතා කරන උසස් තත්ත්වයේ ස්වාභාවික භාෂා දත්ත පිළිබඳ දළ විශ්ලේෂණයක් ද අපි සපයන්නෙමු. 2.1 2.2 2.3 2.1 දත්ත ක්රෝලිං සහ පෙරීම පූර්ව-පුහුණු කේත දත්ත Github Code Clean , StarCoderdata , සහ අමතර පොදු කේත ගබඩාවන් සහ GitHub වෙතින් නිකුත් කරන ලද ප්රසිද්ධ දත්ත සමූහයන්ගේ එකතුවකින් ලබා ගන්නා ලදී. අපි 300+ භාෂාවලින් 116 වැඩසටහන් භාෂා ලැයිස්තුවක් රඳවා තබා ගැනීමට අමු දත්ත පෙරන්නෙමු, එය උපග්රන්ථය හි ලැයිස්තුගත කර ඇත. StarCoder ( , ) ට සමානව, ගොනු දිගුව මත පමණක් පදනම්ව භාෂා වලට දත්ත පැවරීම සිදු කෙරේ. භාෂා පෙරීමෙන් පසුව, අපි අඩු-ගුණාත්මක කේත ( , ) ඉවත් කිරීම සඳහා ප්රධාන පෙරහන් රීති හතරක් යොදන්නෙමු: (1) අක්ෂරාංක අක්ෂර 25% ට වඩා අඩු ගොනු ඉවත් කරන්න, (2) XSLT භාෂාව හැරුණු විට, '<?xml version=' යන ශ්රේණිය පළමු 100 අක්ෂර තුළ පවතින ගොනු පෙරන්න, (3) HTML ගොනු සඳහා, දෘශ්යමාන පෙළ HTML කේතයෙන් 20% කට වඩා වැඩි වන සහ අවම දිග අක්ෂර 100 ක් ඇති ගොනු පමණක් තබා ගන්න, (4) JSON සහ YAML ගොනු සඳහා, අක්ෂර ගණන 50 සිට 5000 අක්ෂර දක්වා පවතින ගොනු පමණක් තබා ගන්න. අපි ස්වයංක්රීයව ජනනය කරන ලද පෙළ ඉවත් කිරීම, ඉංග්රීසි නොවන නිකුත් කිරීම් පෙරීම, බෝට් අදහස් බැහැර කිරීම සහ ගුණාත්මක භාවයේ දර්ශකයක් ලෙස සංවාදයේ නියැලී සිටින පරිශීලකයින්ගේ සංඛ්යාව භාවිතා කිරීම ඇතුළු ගුණාත්මක මිණුම් දඬු කට්ටලයක් භාවිතයෙන් GitHub නිකුත් කිරීම් ද සටහන් කරමු. අපි ආකෘති පුහුණුව සඳහා පමණක් අවසර ලත් බලපත්ර සහිත ගොනු පමණක් තබා ගනිමින්, GitHub API මගින් සොයා ගන්නා අදාළ ගබඩාවට අදාළ බලපත්ර තොරතුරු සමඟ සෑම කේත ගොනුවකටම බලපත්ර තොරතුරු සටහන් කරමු. 2 3 A Li et al. 2023a Li et al. 2023a 2.2 නිවැරදි සහ අනුකම්පාවෙන් යුත් ඩියුප්ලිකේෂන් අපගේ පුහුණු කට්ටලයේ (අසල්වැසි) සමාන කේත අන්තර්ගතයක් සහිත ලේඛන ඉවත් කිරීම සඳහා අපි නිවැරදි සහ අනුකම්පාවෙන් යුත් ඩියුප්ලිකේෂන් ඇතුළු ආක්රමණශීලී ඩියුප්ලිකේෂන් උපාය මාර්ගයක් අනුගමනය කරමු. නිවැරදි ඩියුප්ලිකේෂන් සඳහා, අපි මුලින්ම ලේඛන අන්තර්ගතයේ SHA256 හෑෂ් ගණනය කර සමාන හෑෂ් ඇති වාර්තා ඉවත් කරමු. නිවැරදි ඩියුප්ලිකේෂන් පසු, අපි කුඩා වෙනස්කම් තිබිය හැකි කේත ගොනු ඉවත් කිරීම සහ එමඟින් දත්ත අසාධාරණ කිරීමේ අරමුණින් අනුකම්පාවෙන් යුත් ඩියුප්ලිකේෂන් යොදන්නෙමු. අපි මෙය සඳහා දෙ-අදියර ක්රමයක් යොදන්නෙමු: (1) ලේඛන සියල්ලේම MinHashes ගණනය කර, පසුව ඒවායේ MinHash අත්සන මත පදනම්ව ලේඛන සමූහගත කිරීමට Locally Sensitive Hashing (LSH) භාවිතා කරන්න, (2) එකම බඳුනේ ඇති ලේඛන යුගල අතර Jaccard සමානතාවය මැනීම සහ සමානතා සීමාව 0.7 මත පදනම්ව පිටපත් ලෙස සටහන් කිරීම මිස එකක් නොවේ. පුහුණු දත්ත සමූහයේ පොහොසත්කම සහ විවිධත්වය වැඩි දියුණු කිරීම සඳහා අපි GitHub නිකුත් කිරීම් ඇතුළු සියලුම වැඩසටහන් භාෂාවලට මෙම අසල්වැසි-ඩියුප්ලිකේෂන් ක්රියාවලිය යොදන්නෙමු. 2.3 HAP, PII, අනිෂ්ට මෘදුකාංග පෙරීම ආකෘති වලින් පිළිකුල් සහගත, අපහාසජනක හෝ අශෝභන (HAP) භාෂාව උත්පාදනය කිරීමේ සම්භාවිතාව අඩු කිරීම සඳහා, අපි පුහුණු කට්ටලයෙන් HAP අන්තර්ගතය පෙරීමට උත්සාහ කරමු. අපි මුලින්ම HAP යතුරු පද වල ශබ්දකෝෂයක් නිර්මාණය කර, පසුව අන්තර්ගතයේ, අදහස් ඇතුළුව, එවැනි යතුරු පද වල සිදුවීම් ගණන සමඟ සෑම කේත ලේඛනයක්ම සටහන් කරමු. අපි බෙදාහැරීමේ විශ්ලේෂණයක් මෙන්ම කේත ගොනු වල අතින් පරීක්ෂාව මත පදනම්ව ගණනය කරන ලද HAP සීමාව ඉක්මවා යන ලේඛන පෙරන්නෙමු. ඊට අමතරව, රහස්යභාවය ආරක්ෂා කිරීම සඳහා, අපි StarCoder ( , ) අනුගමනය කරන අතර පුහුණු කට්ටලයෙන් පුද්ගලිකව හඳුනාගත හැකි තොරතුරු (PII) රහස්ය කිරීමට උත්සාහ කරමු. විශේෂයෙන්, අපි IP ලිපිනයන්, යතුරු, විද්යුත් තැපැල් ලිපිනයන්, නම්, පරිශීලක නම් සහ මුරපද අන්තර්ගතයේ සොයාගැනීම් හඳුනා ගැනීමට StarPII ආකෘතිය භාවිතා කරමු. PII රහස්ය කිරීමේ අදියර PII පෙළ අනුරූප ටෝකන NAME, EMAIL, KEY, PASSWORD සමඟ ප්රතිස්ථාපනය කරයි, සහ IP ලිපිනය Li et al. (2023a) හි මෙන් කෘතිමව ජනනය කරන ලද IP ලිපිනයක් සමඟ වෙනස් කරයි. අපි අනිෂ්ට මෘදුකාංග වල මූලාශ්ර කේතයේ ඇති අවස්ථා හඳුනා ගැනීමට සහ ඉවත් කිරීමට අපගේ දත්ත සමූහයන් භාවිතයෙන් ද ස්කෑන් කරන්නෙමු. Li et al. 2023a 4 2.4 ස්වාභාවික භාෂා දත්ත සමූහයන් ආකෘති පුහුණුව සඳහා කේත දත්ත එකතු කිරීමට අමතරව, ආකෘතියේ භාෂා අවබෝධය සහ ගණිතමය තර්ක කිරීමේ කුසලතා වැඩි දියුණු කිරීම සඳහා අපි උසස් තත්ත්වයේ ස්වාභාවික භාෂා දත්ත සමූහයන් රැසක් සකස් කරමු. මෙම කාණ්ඩය යටතේ නියෝජිත දත්ත සමූහයන්ට වෙබ් ලේඛන (Stackexchange, CommonCrawl), ගණිත වෙබ් පෙළ (OpenWeb-Math; ( ), StackMathQA; ( )), අධ්යාපනික පෙළ (Arxiv, Wikipedia), සහ උපදෙස් ටියුනිං දත්ත සමූහයන් (FLAN; ( ), HelpSteer ( , )) ඇතුළත් වේ. අපි දැනටමත් පෙර-සකස් කළ ස්වාභාවික භාෂා දත්ත සමූහයන් ඩියුප්ලිකේට් නොකරමු. Paster et al. 2023 Zhang 2024 Longpre et al. 2023 Wang et al. 2023 3 ආකෘති ගෘහ නිර්මාණ අපි ට්රාන්ස්ෆෝමර් ඩිල්ඩර් ගෘහ නිර්මාණයේ ( , ) මත පදනම්ව විවිධ ප්රමාණවලින් යුත් කේත ආකෘති මාලාවක් පුහුණු කරමු. මෙම ආකෘති සඳහා ආකෘති හයිපර්පරාමීටර වගග හි ලබා දී ඇත. සියලුම ආකෘති ගෘහ නිර්මාණ සඳහා, අපි පූර්ව-සාමාන්යකරණය ( , ) භාවිතා කරමු: අවධානය සහ MLP කුට්ටි වල ආදානයට යොදන සාමාන්යකරණය. Vaswani et al. 2017 1 Xiong et al. 2020 : ග්රැනයිට්-කේත පවුලේ කුඩාම ආකෘතිය RoPE එම්බෙඩින් ( , ) සහ බහු-හිස් අවධානය ( , ) සමඟ පුහුණු කර ඇත. මෙම ආකෘතිය MLP සඳහා GLU ( , ) සමඟ swish activation function ( , ) භාවිතා කරයි, එය swiglu ලෙසද හැඳින්වේ. සාමාන්යකරණය සඳහා, අපි RMSNorm ( , ) භාවිතා කරමු, එය LayerNorm ( , 3B Su et al. 2023 Vaswani et al. 2017 Shazeer 2020 Ramachandran et al. 2017 Zhang & Sennrich 2019 Ba et al.