```html مصنفین: میانک مشرا⋆، آئی بی ایم میٹ اسٹالون⋆، آئی بی ایم گاؤیوان ژانگ⋆، آئی بی ایم ییکانگ شین، آئی بی ایم آدتیہ پرساد، آئی بی ایم ایڈریانا میزا سوریا، آئی بی ایم مائیکل مرلر، آئی بی ایم پرمیشورن سیلم، آئی بی ایم سپتھا سورندرن، آئی بی ایم شیو دیپ سنگھ، آئی بی ایم منیش سیٹھی، آئی بی ایم ژوان-ہانگ ڈانگ، آئی بی ایم پینگ یوان لی، آئی بی ایم کن-لونگ وو، آئی بی ایم سید زواد، آئی بی ایم اینڈریو کولمین، آئی بی ایم میتھیو وائٹ، آئی بی ایم مارک لیوس، آئی بی ایم راجو پاولوری، آئی بی ایم یان کوفمین، آئی بی ایم بوریس لوبلنسکی، آئی بی ایم میکسیمیلین ڈی بیسر، آئی بی ایم ابراہیم عبدالعزیز، آئی بی ایم کنجل باسو، آئی بی ایم میانک اگرول، آئی بی ایم یِ ژو، آئی بی ایم کرس جانسن، آئی بی ایم آنچل گوئیل، آئی بی ایم ہما پٹیل، آئی بی ایم یوسف شاہ، آئی بی ایم پیٹروس زیفوس، آئی بی ایم ہائیکو لڈوگ، آئی بی ایم عاصم منور، آئی بی ایم میکسویل کروز، آئی بی ایم پون کے پنی پتی، آئی بی ایم شویتا سالاریہ، آئی بی ایم باب کیلیو، آئی بی ایم صوفیہ وین، آئی بی ایم سیترام سیلم، آئی بی ایم برائن بیل گوڈیرے، آئی بی ایم کارلوس فونسی، آئی بی ایم امیت سنگھی، آئی بی ایم نیرمت دیسائی، آئی بی ایم ڈیوڈ ڈی. کاکس، آئی بی ایم روچیر پوری†، آئی بی ایم رامسوار پانڈے†، آئی بی ایم خلاصہ کوڈ پر تربیت یافتہ بڑے لسانی ماڈلز (LLMs) سافٹ ویئر کی ترقی کے عمل میں انقلاب برپا کر رہے ہیں۔ بڑھتی ہوئی تعداد میں، انسانی پروگرامرز کی پیداواری صلاحیت کو بہتر بنانے کے لیے کوڈ LLMs کو سافٹ ویئر ڈویلپمنٹ کے ماحول میں مربوط کیا جا رہا ہے، اور LLM پر مبنی ایجنٹس پیچیدہ کاموں کو خود مختارانہ طور پر سنبھالنے کے لیے امید افزا ثابت ہو رہے ہیں۔ کوڈ LLMs کی مکمل صلاحیت کو محسوس کرنے کے لیے کوڈ جنریشن، بگ فکسنگ، کوڈ کی وضاحت اور دستاویزات، ذخیروں کو برقرار رکھنے، اور بہت کچھ سمیت وسیع رینج کی صلاحیتوں کی ضرورت ہوتی ہے۔ اس کام میں، ہم کوڈ جنریٹو ٹاسکس کے لیے ڈیکوڈر-اونلی کوڈ ماڈلز کی گرینائٹ سیریز متعارف کراتے ہیں، جو 116 پروگرامنگ زبانوں میں لکھے گئے کوڈ کے ساتھ تربیت یافتہ ہیں۔ گرینائٹ کوڈ ماڈلز فیملی میں 3 سے 34 بلین پیرامیٹرز تک کے سائز کے ماڈلز شامل ہیں، جو پیچیدہ ایپلی کیشن ماڈرنائزیشن ٹاسکس سے لے کر آن-ڈیوائس میموری-محدود استعمال کے معاملات تک کے ایپلی کیشنز کے لیے موزوں ہیں۔ ٹاسکس کے ایک جامع سیٹ پر تشخیص سے ظاہر ہوتا ہے کہ گرینائٹ کوڈ ماڈلز دستیاب اوپن سورس کوڈ LLMs میں مسلسل جدید ترین کارکردگی حاصل کرتے ہیں۔ گرینائٹ کوڈ ماڈلز فیملی کو انٹرپرائز سافٹ ویئر ڈویلپمنٹ ورک فلوز کے لیے بہتر بنایا گیا ہے اور یہ کوڈنگ ٹاسکس (مثلاً کوڈ جنریشن، فکسنگ اور وضاحت) کی ایک رینج میں اچھی کارکردگی کا مظاہرہ کرتا ہے، جو اسے ایک ورسٹائل "آل اراؤنڈ" کوڈ ماڈل بناتا ہے۔ ہم اپنے تمام گرینائٹ کوڈ ماڈلز کو تحقیق اور تجارتی استعمال دونوں کے لیے اپاچی 2.0 لائسنس کے تحت جاری کرتے ہیں۔ https://github.com/ibm-granite/granite-code-models 1 تعارف گزشتہ کئی دہائیوں کے دوران، سافٹ ویئر ہمارے معاشرے کے ہر پہلو کے تانے بانے میں بُنا گیا ہے۔ جیسے جیسے سافٹ ویئر ڈویلپمنٹ کی مانگ بڑھ رہی ہے، سافٹ ویئر ڈویلپمنٹ کی پیداواری صلاحیت کو بڑھانا پہلے سے کہیں زیادہ اہم ہے، اور LLMs انسانی پروگرامرز کی مدد کے لیے ایک امید افزا راستہ فراہم کرتے ہیں۔ سافٹ ویئر ڈویلپمنٹ کی پیداواری صلاحیت میں LLMs کے نمایاں انٹرپرائز استعمال کے معاملات میں کوڈ جنریشن، کوڈ کی وضاحت، کوڈ کی اصلاح، یونٹ ٹیسٹ اور دستاویزات کی تیاری، ایپلی کیشن ماڈرنائزیشن، کمزوری کی تشخیص، کوڈ ترجمہ، اور بہت کچھ شامل ہیں۔ حالیہ برسوں میں کوڈ پیدا کرنے اور اس میں ترمیم کرنے کی LLM کی صلاحیت میں تیزی سے پیش رفت دیکھی گئی ہے، اور آج متاثر کن کوڈنگ کی صلاحیتوں والے ماڈلز دستیاب ہیں۔ ماڈلز سنگل ڈیجیٹ بلینز آف پیرامیٹرز (مثلاً لاما-7B (Touvron et al., 2023)، جیما-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 کی اپنانے کی کارکردگی سے آگے کے عوامل سے مزید پیچیدہ ہو سکتا ہے۔ مثال کے طور پر، یہاں تک کہ کھلے ماڈلز میں بھی بعض اوقات ڈیٹا کے ذرائع اور ڈیٹا پروسیسنگ کے طریقوں کے بارے میں شفافیت کی کمی کا سامنا کرنا پڑتا ہے جو ماڈل میں گئے تھے، جو مشن کے اہم اور منظم سیاق و سباق میں ماڈلز میں اعتماد کو ختم کر سکتے ہیں۔ مزید برآں، آج کے کھلے LLMs میں لائسنس کی شرائط ایک انٹرپرائز کی ماڈل استعمال کرنے کی صلاحیت کو بوجھل اور پیچیدہ بنا سکتی ہیں۔ یہاں، ہم گرینائٹ کوڈ ماڈلز پیش کرتے ہیں، جو انتہائی قابل کوڈ LLMs کی ایک سیریز ہے، جسے کوڈنگ ٹاسکس کی وسیع رینج میں انٹرپرائز سافٹ ویئر ڈویلپمنٹ کی حمایت کے لیے ڈیزائن کیا گیا ہے۔ گرینائٹ کوڈ ماڈلز کے دو اہم تغیرات ہیں جنہیں ہم چار مختلف سائز (3B، 8B، 20B، اور 34B) میں جاری کرتے ہیں: کوڈ سے متعلقہ کاموں کے لیے بنیادی فاؤنڈیشن ماڈلز؛ گرینائٹ کوڈ بیس: انسٹرکشن فالونگ ماڈلز کو گٹ کمٹ کے ساتھ انسانی ہدایات اور اوپن سورس مصنوعی طور پر تیار کردہ کوڈ انسٹرکشن ڈیٹا سیٹس کے امتزاج کے ساتھ فائن ٹیون کیا گیا۔ گرینائٹ کوڈ انسٹرکٹ: سیریز میں بنیادی ماڈلز کو شروع سے ہی دو مرحلوں کی تربیت کی حکمت عملی کے ساتھ تربیت دی گئی ہے۔ مرحلہ 1 میں، ہمارا ماڈل 116 پروگرامنگ زبانوں سے حاصل کردہ 3 سے 4 ٹریلین ٹوکنز پر تربیت یافتہ ہے۔ مرحلہ 2 میں، ہمارے ماڈل کو کوڈ اور قدرتی زبان کے ڈومینز سے اعلیٰ معیار کے ڈیٹا کے احتیاط سے ڈیزائن کردہ مرکب کے ساتھ 500 بلین ٹوکنز پر مزید تربیت دی جاتی ہے تاکہ ماڈل کی استدلال کرنے کی صلاحیت کو بہتر بنایا جا سکے۔ ہم تربیت کے دونوں مراحل میں بنیادی ماڈلز کو تربیت دینے کے لیے غیر نگرانی والی لسانی ماڈلنگ کا مقصد استعمال کرتے ہیں۔ انسٹرکٹ ماڈلز کو کمٹ پیک (Muennighoff et al., 2023) کے فلٹر شدہ تغیر، قدرتی زبان کے انسٹرکشن فالونگ ڈیٹا سیٹس (OASST (Ko¨pf et al., 2023)، HelpSteer (Wang et al., 2023)) اور اوپن سورس ریاضی کے ڈیٹا سیٹس (MathInstruct (Yue et al., 2023) اور MetaMathQA (Yu et al., 2023)) کے امتزاج پر مزید فائن ٹیوننگ کے ذریعے حاصل کیا جاتا ہے، بشمول انسٹرکشن فالونگ اور استدلال کی صلاحیتوں کو بہتر بنانے کے لیے مصنوعی طور پر تیار کردہ کوڈ ڈیٹا سیٹس۔ ہم اپنے کوڈ LLMs کی ایک جامع سیٹ کے بینچ مارکس پر وسیع تشخیص کرتے ہیں، بشمول HumanEvalPack (Muennighoff et al., 2023)، MBPP(+) (Austin et al., 2021; Liu et al., 2023a)، RepoBench (Liu et al., 2023b)، ReCode (Wang et al., 2022)، اور مزید۔ بینچ مارکس کا یہ سیٹ پائتھن میں کوڈ کی ترکیب کے علاوہ کئی قسم کے کوڈنگ ٹاسکس کا احاطہ کرتا ہے، مثلاً کوڈ کی اصلاح، کوڈ کی وضاحت، کوڈ کی ترمیم، کوڈ ترجمہ، وغیرہ، زیادہ تر بڑی پروگرامنگ زبانوں (پائتھن، جاوا اسکرپٹ، جاوا، گو، سی++، رسٹ، وغیرہ) میں۔ ہمارے نتائج سے ظاہر ہوتا ہے کہ اوپن سورس ماڈلز میں، گرینائٹ کوڈ ماڈلز تمام ماڈل سائزز اور بینچ مارکس پر مجموعی طور پر بہت مضبوط کارکردگی کا مظاہرہ کرتے ہیں (اکثر دوسرے اوپن سورس کوڈ ماڈلز سے دوگنا بڑے ہونے کے مقابلے میں بہتر کارکردگی کا مظاہرہ کرتے ہیں)۔ ایک مثال کے طور پر، تصویر 1 (اوپر) میں گرینائٹ-8B-Code-Base کا دیگر اوپن سورس بیس کوڈ LLMs کے ساتھ موازنہ دکھایا گیا ہے، بشمول حالیہ اعلیٰ کارکردگی والے عمومی بیس LLMs جیسے Mistral (Jiang et al., 2023b) اور LLama-3 (AI@Meta, 2024) HumanEvalPack (Muennighoff et al., 2023) پر۔ اگرچہ CodeGemma اور StarCoder2 کوڈ جنریشن میں مناسب طور پر اچھا کارکردگی کا مظاہرہ کرتے ہیں، وہ HumanEvalPack کے کوڈ فکسنگ اور وضاحت کے تغیرات پر نمایاں طور پر بدتر کارکردگی کا مظاہرہ کرتے ہیں۔ اوسطاً، گرینائٹ-8B-Code-Base سب سے زیادہ مسابقتی CodeGemma-8B ماڈل سے HumanEvalPack پر تقریباً 12 پوائنٹس (33.2% بمقابلہ 21.3%) سے بہتر کارکردگی کا مظاہرہ کرتا ہے، حالانکہ نمایاں طور پر کم ٹوکنز (4.5T بمقابلہ 7.5T ٹوکنز) پر تربیت یافتہ ہے۔ بیس ماڈلز کے علاوہ، ہمارے گرینائٹ کوڈ ماڈلز کے انسٹرکشن ٹیونڈ تغیرات بھی HumanEvalPack پر مضبوط کارکردگی کا مظاہرہ کرتے ہیں، جو دیگر اوپن سورس (کوڈ) انسٹرکشن ماڈلز سے بہتر ہیں، جو قدرتی زبان کے ہدایات کے ساتھ کوڈنگ ٹاسکس کے وسیع تر سیٹ کے فوائد کو ظاہر کرتے ہیں (تصویر 1 (نیچے) دیکھیں)۔ مزید برآں، چونکہ پیچیدہ سوالات اور ٹاسکس کو حل کرنے کے لیے استدلال اہم ہے، ہم اپنے گرینائٹ-8B-Code-Base ماڈل کو چھ ریاضی کے بینچ مارکس پر بھی جانچتے ہیں، جن میں MATH (Cobbe et al., 2021)، GSM8K (Cobbe et al., 2021) اور کمپیوٹیشنل ٹولز تک رسائی کے ساتھ مسئلہ حل کرنا شامل ہے، جہاں ہمارا گرینائٹ 8B ماڈل زیادہ تر اسٹیٹ آف دی آرٹ 7B یا 8B LLMs کے مقابلے میں بہتر کارکردگی حاصل کرتا ہے۔ مثال کے طور پر، گرینائٹ-8B-Code-Base GSM8K پر Llama-3-8B-Base سے ∼12 پوائنٹس اور MATH پر ∼6 پوائنٹس سے بہتر کارکردگی کا مظاہرہ کرتا ہے (ٹیبل 15 دیکھیں)۔ گرینائٹ کوڈ ماڈلز کے کلیدی فوائد میں شامل ہیں: : گرینائٹ کوڈ ماڈلز کوڈ سے متعلقہ مختلف قسم کے ٹاسکس پر مسابقتی یا اسٹیٹ آف دی آرٹ کارکردگی حاصل کرتے ہیں، جن میں کوڈ جنریشن، وضاحت، اصلاح، ترمیم، ترجمہ، وغیرہ شامل ہیں، جو ان کی متنوع کوڈنگ ٹاسکس کو حل کرنے کی صلاحیت کو ظاہر کرتا ہے؛ آل راؤنڈر کوڈ LLM : ہمارے تمام ماڈلز IBM کے AI Ethics اصولوں پر عمل کرتے ہوئے جمع کیے گئے لائسنس کے قابل ڈیٹا پر تربیت یافتہ ہیں اور قابل اعتماد انٹرپرائز استعمال کے لیے IBM کی کارپوریٹ لیگل ٹیم کی رہنمائی میں ہیں۔ تمام گرینائٹ کوڈ ماڈلز اپاچی 2.0 لائسنس کے تحت جاری کیے گئے ہیں۔ قابل اعتماد انٹرپرائز-گریڈ LLM 1 ہم اپنے پورے ڈیٹا جمع کرنے، فلٹرنگ، اور پری پروسیسنگ پائپ لائن کو سیکشن میں بیان کرتے ہیں . سیکشن ماڈل کی ساخت کی تفصیلات بیان کرتا ہے، اس کے بعد سیکشن میں تربیت کی تفصیلات بیان کی گئی ہیں۔ سیکشن انسٹرکشن ٹیوننگ کے بارے میں تفصیلات فراہم کرتا ہے، اور سیکشن میں گرینائٹ کوڈ ماڈلز کا دیگر اوپن سورس LLMs کے ساتھ موازنہ کرنے والے تجربات اور نتائج بیان کیے گئے ہیں۔ 2 3 4 5 6 2 ڈیٹا جمع کرنا اس سیکشن میں، ہم ماڈل ٹریننگ کے لیے کوڈ ڈیٹا تیار کرنے کے لیے استعمال ہونے والے کرالنگ اور فلٹرنگ (سیک. )، ڈی ڈیپلیکیشن (سیک. )، HAP/PII فلٹرنگ (سیک. ) کا عمل بیان کرتے ہیں۔ ہم ماڈل کی زبان کی سمجھ اور ریاضی کی استدلال کی صلاحیتوں کو بہتر بنانے کے لیے استعمال ہونے والے اعلیٰ معیار کے قدرتی زبان کے ڈیٹا کا بھی جائزہ فراہم کرتے ہیں۔ 2.1 2.2 2.3 2.1 ڈیٹا کرالنگ اور فلٹرنگ پری ٹریننگ کوڈ ڈیٹا کو عوامی طور پر دستیاب ڈیٹا سیٹس جیسے کہ گٹ ہب کوڈ کلین ، اسٹار کوڈر ڈیٹا ، اور گٹ ہب سے اضافی عوامی کوڈ ذخیروں اور ایشوز کے امتزاج سے حاصل کیا گیا تھا۔ ہم 300+ زبانوں میں سے 116 پروگرامنگ زبانوں کی فہرست کو برقرار رکھنے کے لیے خام ڈیٹا کو فلٹر کرتے ہیں، جیسا کہ ضمیمہ میں درج ہے۔ ڈیٹا کو پروگرامنگ زبانوں میں مختص کرنا مکمل طور پر فائل کی توسیع کی بنیاد پر کیا جاتا ہے، جیسا کہ اسٹار کوڈر ( ، ) کے مطابق۔ زبان فلٹرنگ کے بعد، ہم کم معیار والے کوڈ کو فلٹر کرنے کے لیے چار اہم فلٹرنگ اصول لاگو کرتے ہیں ( ، ): (1) 25% سے کم حروف والے فائلوں کو ہٹائیں، (2) XSLT زبان کے علاوہ، ان فائلوں کو فلٹر کریں جہاں سٹرنگ “<?xml version=” پہلے 100 حروف کے اندر ظاہر ہوتا ہے، (3) HTML فائلوں کے لیے، صرف ان فائلوں کو رکھیں جن میں نظر آنے والا متن HTML کوڈ کا کم از کم 20% بناتا ہے اور کم از کم 100 حروف کی لمبائی رکھتا ہے، (4) JSON اور YAML فائلوں کے لیے، صرف ان فائلوں کو رکھیں جن کی کریکٹر تعداد 50 سے 5000 حروف کے درمیان ہو۔ ہم خودکار طور پر تیار کردہ متن کو ہٹانے، غیر انگریزی ایشوز کو فلٹر کرنے، بوٹس سے تبصرے کو خارج کرنے، اور گفتگو میں شامل صارفین کی تعداد کو معیار کی نشاندہی کے طور پر استعمال کرنے سمیت معیار کے میٹرکس کے ایک سیٹ کا استعمال کرتے ہوئے گٹ ہب ایشوز کو بھی فلٹر کرتے ہیں۔ ہم ماڈل کی تربیت کے لیے اجازت نامے کی معلومات کے ساتھ ہر کوڈ فائل کو متعلقہ ذخیرے سے منسلک کرتے ہیں، جو گٹ ہب APIs کے ذریعے پایا جاتا ہے اور صرف اجازت نامے والی فائلوں کو رکھتے ہیں۔ 2 3 A Li et al. 2023a Li et al. 2023a 2.2 عین مطابق اور دھندلا ڈی ڈیپلیکیشن ہم اپنے تربیتی سیٹ میں (قریب) یکساں کوڈ مواد والے دستاویزات کو ہٹانے کے لیے عین مطابق اور دھندلا ڈی ڈیپلیکیشن دونوں کو شامل کرتے ہوئے ایک جارحانہ ڈی ڈیپلیکیشن کی حکمت عملی اپناتے ہیں۔ عین مطابق ڈی ڈیپلیکیشن کے لیے، ہم پہلے دستاویز کے مواد پر SHA256 ہیش کا حساب لگاتے ہیں اور یکساں ہیش والے ریکارڈز کو ہٹاتے ہیں۔ عین مطابق ڈی ڈیپلیکیشن کے بعد، ہم دھندلا ڈی ڈیپلیکیشن کا اطلاق کرتے ہیں جس کا مقصد کوڈ فائلوں کو ہٹانا ہے جو معمولی تغیرات کی حامل ہوسکتی ہیں اور اس طرح ڈیٹا کو مزید غیر جانبدار کر سکتی ہیں۔ ہم اس کے لیے دو مرحلوں کا طریقہ استعمال کرتے ہیں: (1) تمام دستاویزات کے MinHashes کا حساب لگاتے ہیں اور پھر ان کے MinHash فنگر پرنٹس کی بنیاد پر دستاویزات کو گروپ کرنے کے لیے لوکلی سینسیٹو ہیشنگ (LSH) کا استعمال کرتے ہیں، (2) اسی بالٹی میں دستاویزات کے ہر جوڑے کے درمیان Jaccard مماثلت کی پیمائش کرتے ہیں اور 0.7 کی مماثلت کی حد کی بنیاد پر نقول کے طور پر ایک کے علاوہ دستاویزات کو نشان زد کرتے ہیں۔ ہم تربیتی ڈیٹا سیٹ کی بھرپوری اور تنوع کو بڑھانے کے لیے گٹ ہب ایشوز سمیت تمام پروگرامنگ زبانوں پر یہ قریبی ڈی ڈیپلیکیشن عمل لاگو کرتے ہیں۔ 2.3 HAP, PII, میلویئر فلٹرنگ ماڈلز سے نفرت انگیز، بدسلوکی، یا فحش (HAP) زبان پیدا کرنے کے امکان کو کم کرنے کے لیے، ہم تربیتی سیٹ سے HAP مواد کو فلٹر کرنے کے لیے مستعد کوششیں کرتے ہیں۔ ہم سب سے پہلے HAP کلیدی الفاظ کی ایک لغت بناتے ہیں اور پھر ہر کوڈ دستاویز کو اس کے مواد، بشمول تبصروں میں ایسے کلیدی الفاظ کی تعداد کے ساتھ نشان زد کرتے ہیں۔ ہم distributional analysis اور کوڈ فائلوں کے دستی معائنے کی بنیاد پر گنتی کی گئی HAP حد سے تجاوز کرنے والی دستاویزات کو فلٹر کرتے ہیں۔ اس کے علاوہ، رازداری کی حفاظت کے لیے، ہم تربیتی سیٹ سے ذاتی طور پر قابل شناخت معلومات (PII) کو چھپانے کے لیے مستعد کوششیں کرتے ہیں، جیسا کہ StarCoder ( ، ) کے مطابق۔ خاص طور پر، ہم مواد میں پائے جانے والے IP ایڈریسز، کلیدوں، ای میل ایڈریسز، ناموں، صارف ناموں، اور پاس ورڈز کا پتہ لگانے کے لیے StarPII ماڈل کا استعمال کرتے ہیں۔ PII چھپانے کا مرحلہ PII ٹیکسٹ کو متعلقہ ٹوکنز NAME، EMAIL، KEY، PASSWORD سے بدل دیتا ہے اور IP ایڈریس کو Li et al. (2023a) کے مطابق مصنوعی طور پر تیار کردہ IP ایڈریس سے بدل دیتا ہے۔ ہم میلویئر کے ذرائع کوڈ میں instances کی شناخت اور انہیں ہٹانے کے لیے اپنے ڈیٹا سیٹس کو بھی اسکین کرتے ہیں۔ Li et al. 2023a 4 2.4 قدرتی لسانی ڈیٹا سیٹس ماڈل کی تربیت کے لیے کوڈ ڈیٹا جمع کرنے کے علاوہ، ہم ماڈل کی زبان کی سمجھ اور ریاضی کی استدلال کی صلاحیت کو بہتر بنانے کے لیے کئی عوامی طور پر دستیاب اعلیٰ معیار کے قدرتی لسانی ڈیٹا سیٹس تیار کرتے ہیں۔ اس زمرے کے تحت نمائندہ ڈیٹا سیٹس میں ویب دستاویزات (Stackexchange, CommonCrawl)، ریاضی کی ویب متن (OpenWeb-Math؛ (2023)، StackMathQA؛ (2024))، تعلیمی متن (Arxiv, Wikipedia)، اور انسٹرکشن ٹیوننگ ڈیٹا سیٹس (FLAN؛ (2023)، HelpSteer (Wang et al., 2023)) شامل ہیں۔ ہم ان پہلے سے پروسیس شدہ قدرتی لسانی ڈیٹا سیٹس کو ڈی ڈیپلیکیٹ نہیں کرتے ہیں۔ Paster et al. Zhang Longpre et al. 3 ماڈل کی ساخت ہم ٹرانسفارمر ڈیکوڈر آرکیٹیکچر ( ، ) پر مبنی مختلف سائز کے کوڈ ماڈلز کی ایک سیریز کو تربیت دیتے ہیں۔ ان ماڈلز کے لیے ماڈل ہائپر پیرامیٹرز ٹیبل میں دیے گئے ہیں۔ تمام ماڈل آرکیٹیکچرز کے لیے، ہم پری-نارملائزیشن ( ، ) استعمال کرتے ہیں: نارملائزیشن جو اٹینشن اور ایم ایل پی بلاکس کے ان پٹ پر لاگو ہوتی ہے۔ Vaswani et al. 2017 1 Xiong et al. 2020 : گرینائٹ-کوڈ ماڈل فیملی میں سب سے چھوٹا ماڈل RoPE ایمبیڈنگ ( ، ) اور ملٹی ہیڈ اٹینشن ( ، ) کے ساتھ تربیت یافتہ ہے۔ یہ ماڈل ایم ایل پی کے لیے swiglu کے طور پر بھی عام طور پر جانا جاتا ہے، GLU ( ، ) کے ساتھ swish ایکٹیویشن فنکشن ( ، ) استعمال کرتا ہے۔ نارملائزیشن کے لیے، ہم RMSNorm ( ، ) استعمال کرتے ہیں کیونکہ یہ LayerNorm ( ، ) سے زیادہ کمپیوٹیشنل طور پر موثر ہے۔ 3B ماڈل 2048 ٹوکنز کے سیاق و سباق کی لمبائی کے ساتھ تربیت یافتہ ہے۔ 3B Su et al. 2023 Vaswani et al. 2017 Shazeer 2020 Ramachandran et al. 2017 Zhang & Sennrich 2019 Ba et al. 2016 : 8B ماڈل کا 3B ماڈل جیسا ہی ڈھانچہ ہے سوائے اس کے کہ یہ گروپڈ-کوئری اٹینشن (GQA) ( ، ) استعمال کرتا ہے۔ GQA کا استعمال اس پیمانے پر ماڈل کی کارکردگی اور انفرنس کی کارکردگی کے درمیان بہتر ٹریڈ آف فراہم کرتا ہے۔ ہم 8B ماڈل کو 4096 ٹوکنز کے سیاق و سباق کی لمبائی کے ساتھ تربیت دیتے ہیں۔ 8B Ainslie et al. 2023 : 20B کوڈ ماڈل کو سیکھے ہوئے مطلق پوزیشن ایمبیڈنگز کے ساتھ تربیت یافتہ ہے۔ ہم موثر ڈاؤن اسٹریم انفرنس کے لیے تربیت کے دوران ملٹی-کوئری اٹینشن ( ، ) استعمال کرتے ہیں۔ ایم ایل پی بلاک کے لیے، ہم GELU ایکٹیویشن فنکشن ( ، ) استعمال کرتے ہیں۔ ایکٹیویشنز کو نارملائز کرنے کے لیے، ہم LayerNorm ( ، ) استعمال کرتے ہیں۔ یہ ماڈل 8192 ٹوکنز کے سیاق و سباق کی لمبائی کے ساتھ تربیت یافتہ ہے۔ 20B Shazeer 2019 Hendrycks & Gimpel 2023 Ba et al. 2016 : 34B ماڈل کو تربیت دینے کے لیے، ہم 20B ماڈل کی گہرائی میں اضافہ کے لیے کے طریقہ کار پر عمل کرتے ہیں۔ خاص طور پر، ہم پہلے 52 لیئرز والے 20B کوڈ ماڈل کو نقل کرتے ہیں اور پھر اصل ماڈل سے آخری 8 لیئرز اور اس کی نقل سے ابتدائی 8 لیئرز کو ہٹا کر دو ماڈلز بناتے ہیں۔ 34B Kim et al. آخر میں، ہم گرینائٹ-34B-Code ماڈل کو 88 لیئرز کے ساتھ بنانے کے لیے دونوں ماڈلز کو جوڑتے ہیں (وضاحت کے لیے تصویر 2 دیکھیں)۔ گہرائی میں اضافے کے بعد، ہم مشاہدہ کرتے ہیں کہ 20B ماڈل کے مقابلے میں کارکردگی میں کمی بہت کم ہے، اس کے برعکس جو نے مشاہدہ کیا تھا۔ یہ کارکردگی اپسکیلڈ 34B ماڈل کی پری ٹریننگ کو جاری رکھنے کے بعد تیزی سے بحال ہو جاتی ہے۔ 20B کی طرح، ہم پری ٹریننگ کے دوران 8192 ٹوکن کا سیاق و سباق استعمال کرتے ہیں۔ Kim et al. 4 پری ٹریننگ اس سیکشن میں، ہم دو مرحلوں کی تربیت (سیک. )، تربیت کے مقاصد (سیک. )، اصلاح (سیک. ) اور بنیادی ماڈلز کو تربیت دینے میں استعمال ہونے والے بنیادی ڈھانچے (سیک. ) کے بارے میں تفصیلات فراہم کرتے ہیں۔ 4.1 4.2 4.3 4.4 4.1 دو مرحلوں کی تربیت گرینائٹ کوڈ ماڈلز کو کوڈ ڈیٹا اور کوڈ سے متعلق قدرتی لسانی ڈیٹا کے 3.5T سے 4.5T ٹوکنز پر تربیت دی جاتی ہے۔ ڈیٹا کو بائٹ پیئر انکوڈنگ (BPE، ( ، )) کے ذریعے ٹوکنائز کیا جاتا ہے، جو اسٹار کوڈر ( ، ) کے طور پر وہی ٹوکنائزر استعمال کرتا ہے۔ ( ، ؛ ، ) کے بعد، ہم دو مرحلوں کی تربیت کے ساتھ اعلیٰ معیار کے ڈیٹا کو درج ذیل کے مطابق استعمال کرتے ہیں۔ Sennrich et al. 2015 Li et al. 2023a Shen et al. 2024 Hu et al. 2024 • : مرحلہ 1 کے دوران، 3B اور 8B دونوں ماڈلز کو 116 زبانوں پر مشتمل 4 ٹریلین ٹوکنز کوڈ ڈیٹا پر تربیت دی جاتی ہے۔ 20B پیرامیٹر ماڈل کو 3 ٹریلین ٹوکنز کوڈ پر تربیت دی جاتی ہے۔ 34B ماڈل کو 20B ماڈل کے 1.6T چیک پوائنٹ پر گہرائی میں اضافے کے بعد 1.4T ٹوکنز پر تربیت دی جاتی ہے۔ مرحلہ 1 (صرف کوڈ کی تربیت) • : مرحلہ 2 میں، ہم ماڈل کی استدلال اور مسئلہ حل کرنے کی صلاحیتوں کو مزید بہتر بنانے کے لیے تکنیکی، ریاضی، اور ویب دستاویزات سمیت مختلف ڈومینز سے اضافی اعلیٰ معیار کے عوامی طور پر دستیاب ڈیٹا شامل کرتے ہیں، جو کوڈ جنریشن کے لیے ضروری ہیں۔ ہم مرحلہ 2 کی تربیت میں تمام ماڈلز کو 500B ٹوکنز (80% کوڈ اور 20% زبان کا ڈیٹا) کے لیے تربیت دیتے ہیں۔ مرحلہ 2 (کوڈ + زبان کی تربیت) 4.2 تربیت کا مقصد ہمارے تمام ماڈلز کی تربیت کے لیے، ہم کاusal language modeling objective اور Fill-In-the-Middle (FIM) ( ، ) objective استعمال کرتے ہیں۔ FIM objective کو دیے گئے سیاق و سباق اور بعد کے متن کے ساتھ داخل کیے گئے ٹوکنز کی پیش گوئی کرنے کا کام سونپا گیا ہے۔ ہم اپنے ماڈلز کو PSM (Prefix-Suffix-Middle) اور SPM (Suffix-Prefix-Middle) دونوں طریقوں کے ساتھ کام کرنے Bavarian et al. 2022