OctoPack: تعليم ضبط نماذج اللغة الكبيرة

تuning النماذج اللغوية الكبيرة (LLMs) على التعليمات يؤدي إلى تحسينات كبيرة في أداء المهام اللغوية الطبيعية. نقوم بتطبيق ضبط التعليمات باستخدام الرموز البرمجية، مستفيدين من البنية الطبيعية للمراسلات في Git، والتي تربط بين تغييرات الرموز والتعليمات البشرية. قمنا بتجميع حزمة المراسلات (CommitPack): 4 تيرابايت من مراسلات Git عبر 350 لغة برمجة. قمنا بمقارنة حزمة المراسلات مع تعليمات الرموز الأخرى الطبيعية والاصطناعية (xP3x, Self-Instruct, OASST) على نموذج StarCoder ذو المعلمة 16 مليار، وحققنا أفضل الأداء بين النماذج التي لم يتم تدريبها على مخرجات OpenAI، في معيار HumanEval لغة Python (46.2% pass@1). كما قمنا بتقديم HumanEvalPack، مما يوسع معيار HumanEval ليشمل إجمالي 3 مهام برمجة (إصلاح الرمز، شرح الرمز، تركيب الرمز) عبر 6 لغات (Python, JavaScript, Java, Go, C++, Rust). حققت نماذجنا OctoCoder و OctoGeeX أفضل الأداء عبر HumanEvalPack بين جميع النماذج المسموح بها، مما يظهر فوائد حزمة المراسلات في التعميم إلى مجموعة أوسع من اللغات والمهمات البرمجية الطبيعية. يمكن الحصول على الرموز والنماذج والبيانات بشكل مجاني من https://github.com/bigcode-project/octopack.