HyperAIHyperAI
منذ 2 أشهر

CodeBERT: نموذج مُدرب مسبقًا للغات البرمجة واللغات الطبيعية

Feng, Zhangyin ; Guo, Daya ; Tang, Duyu ; Duan, Nan ; Feng, Xiaocheng ; Gong, Ming ; Shou, Linjun ; Qin, Bing ; Liu, Ting ; Jiang, Daxin ; Zhou, Ming
CodeBERT: نموذج مُدرب مسبقًا للغات البرمجة واللغات الطبيعية
الملخص

نقدم CodeBERT، وهو نموذج مُدرب مسبقًا ذو طبيعة ثنائية للغة البرمجة (PL) وللغة الطبيعية (NL). يتعلم CodeBERT تمثيلات عامة تدعم التطبيقات النهائية لنماذج NL-PL مثل البحث في الكود باستخدام اللغة الطبيعية وتوليد وثائق الكود وغيرها. قمنا بتطوير CodeBERT باستخدام بنية عصبية قائمة على Transformers، وتم تدريبه باستخدام دالة هدف هجينة تدمج مهمة التدريب المسبق للكشف عن الرموز المستبدلة، وهي مهمة تتضمن كشف البدائل المحتملة التي يتم اختيارها من المولدات. هذا يتيح لنا استخدام البيانات ثنائية الطبيعة من أزواج NL-PL والبيانات أحادية الطبيعة، حيث توفر الأولى الرموز الإدخالية لتدريب النموذج بينما تساعد الثانية في تعلم مولدات أفضل. قمنا بتقييم CodeBERT على تطبيقين لنماذج NL-PL من خلال ضبط معلمات النموذج. أظهرت النتائج أن CodeBERT حقق أداءً رائدًا في كل من مهام البحث في الكود باستخدام اللغة الطبيعية وتوليد وثائق الكود. بالإضافة إلى ذلك، لاستكشاف نوع المعرفة التي تم تعلمها في CodeBERT، قمنا ببناء مجموعة بيانات لاستكشاف NL-PL وتقييمها في إعداد بدون تصوير (zero-shot)، حيث يتم ثبات معلمات النماذج المُدربة مسبقًا. أظهرت النتائج أن CodeBERT يؤدي بشكل أفضل من النماذج المُدربة مسبقًا السابقة في استكشاف NL-PL.

CodeBERT: نموذج مُدرب مسبقًا للغات البرمجة واللغات الطبيعية | أحدث الأوراق البحثية | HyperAI