3 个月前

基于微调的大规模语言模型漏洞检测

基于微调的大规模语言模型漏洞检测

摘要

本文研究了针对源代码漏洞检测任务对大型语言模型(LLMs)进行微调的成果。我们采用近期性能领先的代码语言模型WizardCoder——该模型是当前顶尖模型StarCoder的改进版本——并通过进一步微调,将其适配于漏洞检测任务。为加速训练过程,我们对WizardCoder的训练流程进行了优化,并系统探究了最优的训练策略。针对正负样本严重失衡(负样本远多于正样本)的数据集,我们还探索了多种技术以提升分类性能。实验结果表明,经过微调的WizardCoder模型在平衡与非平衡漏洞数据集上的ROC AUC与F1分数均优于CodeBERT类模型,充分验证了将预训练大型语言模型适配于源代码漏洞检测任务的有效性。本文的主要贡献包括:对当前最先进的代码语言模型WizardCoder进行微调;在不损害模型性能的前提下显著提升训练速度;优化训练流程与训练策略;有效应对类别不平衡问题;并在具有挑战性的漏洞检测数据集上实现了性能提升。这些成果展示了通过微调大规模预训练语言模型实现迁移学习,在专业化源代码分析任务中的巨大潜力。

代码仓库

rmusab/vul-llm-finetune
官方
pytorch
GitHub 中提及

基准测试

基准方法指标
vulnerability-detection-on-vulnerability-javaContraBERT
AUC: 0.85
F1: 0.22
vulnerability-detection-on-vulnerability-javaWizardCoder
AUC: 0.86
F1: 0.27

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
基于微调的大规模语言模型漏洞检测 | 论文 | HyperAI超神经