CodeTrans: نحو فك شفرة لغة كود السيليكون من خلال التعلم العميق ذاتي الإشراف والحاسوب عالي الأداء

في الوقت الحاضر، يساهم تزايد عدد التطبيقات الناضجة لمعالجة اللغات الطبيعية في جعل حياة الناس أكثر راحة. يتم بناء هذه التطبيقات باستخدام الكود المصدر - اللغة المستخدمة في هندسة البرمجيات. ومع ذلك، فإن التطبيقات الموجهة لفهم لغة الكود المصدر بهدف تسهيل عملية هندسة البرمجيات لا تزال قليلة الدراسة. وفي الوقت نفسه، أثبتت نموذج الترانسفورمر، وخاصة مزيجه مع التعلم النقل (transfer learning)، أنه تقنية فعالة للغاية للمهام المتعلقة بمعالجة اللغات الطبيعية. تشير هذه الإنجازات إلى اتجاه واعد في معالجة الكود المصدر وحل مهام هندسة البرمجيات. يصف هذا البحث نظام CodeTrans - وهو نموذج ترانسفورمر من نوع المُشفر-المُفكك (encoder-decoder) مصمم لأداء مهام في مجال هندسة البرمجيات، حيث يتم استكشاف فعالية نماذج الترانسفورمر المشفر-المُفكك في ستة مهام لهندسة البرمجيات، بما فيها ثلاثة عشر مهمة فرعية. بالإضافة إلى ذلك، تم دراسة تأثير استراتيجيات التدريب المختلفة، بما في ذلك التعلم الأحادي للمهمة (single-task learning)، والتعلم النقل (transfer learning)، والتعلم متعدد المهام (multi-task learning)، والتعلم متعدد المهام مع التعديل الدقيق (fine-tuning). حقق CodeTrans أفضل النتائج مقارنة بأحدث النماذج على جميع المهام. لتسريع الأعمال المستقبلية في مجال هندسة البرمجيات، قمنا بنشر نماذجنا المدربة مسبقًا من CodeTrans. https://github.com/agemagician/CodeTrans