التعديل الدقيق لنموذجات اللغة الكبيرة للكشف عن الثغرات

تُقدّم هذه الورقة نتائج تحسين النماذج اللغوية الكبيرة (LLMs) لمهام اكتشاف الثغرات في الشيفرة المصدرية. نستفيد من نموذج WizardCoder، وهو تطوير حديث للنموذج اللغوي الكبير المتطور حاليًا StarCoder، ونُعدّله لمهام اكتشاف الثغرات من خلال تحسينه أكثر (finetuning). ولتسريع عملية التدريب، نُعدّل إجراء التدريب الخاص بـ WizardCoder، كما نستكشف أفضل المعايير التدريبية. وبالنظر إلى مجموعة البيانات غير المتوازنة التي تحتوي على عدد كبير جدًا من الأمثلة السلبية مقارنة بالإيجابية، نستكشف تقنيات مختلفة لتحسين أداء التصنيف. يُظهر النموذج المُحسّن من WizardCoder تحسنًا في مقاييس ROC AUC وF1 على كلا نوعي مجموعات البيانات (المتوازنة وغير المتوازنة) مقارنة بنموذج CodeBERT، مما يُثبت فعالية تكييف النماذج اللغوية المُدرّبة مسبقًا لمهام اكتشاف الثغرات في الشيفرة المصدرية. تتمثل المساهمات الأساسية في: تحسين النموذج اللغوي الكودي المتطور حاليًا، WizardCoder؛ وزيادة سرعة التدريب دون التأثير على الأداء؛ وتحسين إجراءات التدريب والمعايير التدريبية؛ والتعامل مع عدم توازن الفئات؛ وتحسين الأداء على مجموعات بيانات صعبة للكشف عن الثغرات. يُظهر هذا الإمكانيات الكبيرة لتعلم النقل (transfer learning) من خلال تحسين النماذج اللغوية الكبيرة المُدرّبة مسبقًا لمهام تحليل مخصصة للشيفرة المصدرية.