HyperAIHyperAI
منذ 12 أيام

CodeT5+: نماذج لغة كبيرة مفتوحة المصدر للبرمجة لفهم وتكوين الكود

Yue Wang, Hung Le, Akhilesh Deepak Gotmare, Nghi D.Q. Bui, Junnan Li, Steven C.H. Hoi
CodeT5+: نماذج لغة كبيرة مفتوحة المصدر للبرمجة لفهم وتكوين الكود
الملخص

تم تحقيق تقدم بارز في الذكاء البرمجي من خلال النماذج اللغوية الكبيرة (LLMs) التي تم تدريبها مسبقًا على كميات هائلة من الشفرة المصدرية. ومع ذلك، تمتلك النماذج الحالية للشفرة اللغوية الكبيرة قيود رئيسية من حيث البنية المعمارية ومهام التدريب المسبق. أولاً، غالبًا ما تعتمد هذه النماذج على بنية محددة (إما مشفرة فقط أو فاصل فقط) أو تعتمد على شبكة موحدة من المشفر والفاصل لمعالجة مهام متعددة في المهام اللاحقة. أما النموذج الأول، فيعاني من قلة المرونة في التطبيقات، بينما في النموذج الثاني، يُعامل النموذج كنظام واحد لجميع المهام، مما يؤدي إلى أداء غير مثالي في مجموعة من المهام. ثانيًا، غالبًا ما تستخدم هذه النماذج مجموعة محدودة من أهداف التدريب المسبق التي قد لا تكون ذات صلة ببعض المهام اللاحقة، وبالتالي تؤدي إلى تدهور كبير في الأداء. لمعالجة هذه القيود، نقترح "CodeT5+"، وهي عائلة من النماذج اللغوية الكبيرة من نوع المشفر-الفاصل للشفرة، حيث يمكن دمج وحدات المكونات بشكل مرن لتلبية مجموعة واسعة من المهام البرمجية اللاحقة. تُتيح هذه المرونة، التي تُعزز من خلال مزيجنا من أهداف التدريب المسبق، تقليل الفجوة بين التدريب المسبق والتحسين الدقيق (pretrain-finetune discrepancy). وتغطي هذه الأهداف مهام إزالة التلوث من المقطع (span denoising)، والتعلم التبايني (contrastive learning)، وتوافق النص والشفرة (text-code matching)، والتدريب المسبق للنموذج السببي (causal LM)، على كيانات شفرة متعددة اللغات أحادية والثنائية النمط (unimodal و bimodal). علاوة على ذلك، نقترح تهيئة CodeT5+ باستخدام نماذج لغوية كبرى جاهزة (off-the-shelf LLMs) مع تجميد معلماتها دون الحاجة إلى التدريب من الصفر، مما يسمح بتوسيع النموذج بكفاءة، ونستكشف التحسين بالتعليمات (instruction-tuning) لتوحيد النموذج مع التعليمات بلغة طبيعية. وقد قمنا بتقييم مكثف لـ CodeT5+ على أكثر من 20 معيارًا متعلقًا بالشفرة في سياقات مختلفة، بما في ذلك الحالة الصفرية (zero-shot)، والتحسين الدقيق (finetuning)، والتخصيص بالتعليمات (instruction-tuning). ولاحظنا أداءً متفوقًا على مستوى الحد الأقصى (SoTA) في مهام متعددة متعلقة بالشفرة، مثل إنشاء الشفرة وإكمالها، والبرمجة الرياضية، ومهام استرجاع الشفرة من النص. وبشكل خاص، حقق نموذج CodeT5+ 16B المُحسَّن بالتعليمات نتائج جديدة على مستوى الحد الأقصى في مهمة إنشاء الشفرة (HumanEval)، متفوقًا على جميع النماذج المفتوحة المصدر الأخرى المماثلة.

CodeT5+: نماذج لغة كبيرة مفتوحة المصدر للبرمجة لفهم وتكوين الكود | أحدث الأوراق البحثية | HyperAI