中科院信工所 | HackMentor-面向网络安全领域的大语言模型微调
2023-9-26 23:22:21 Author: mp.weixin.qq.com(查看原文) 阅读量:77 收藏

原文标题:HackMentor: Fine-Tuning Large Language Models for Cybersecurity
原文作者:Jie Zhang, Hui Wen, Liting Deng, Mingfeng Xin, Zhi li, Lun Li, Hongsong Zhu, Limin Sun
发表状态:Trustcom2023 Accepted
项目地址:https://github.com/tmylla/HackMentor
主题类型:安全大模型
笔记作者:tmylla
主编:黄诚@安全学术圈

0 速览

本文面向网络安全领域微调开源大语言模型,得到行业大模型HackMentor。研究工作主要分为三个部分:网络安全行业微调数据的构建、大语言模型的微调和对LLMs网络安全能力的评估。实验结果显示,HackMentor在网络安全指令遵循方面比原生LLM提高了10-25%;在聊天能力方面,HackMentor回复质量与ChatGPT相当,但相比于ChatGPT的冗长回复更加精简,符合人类对话习惯。

1 研究背景

背景:开源大语言模型如Llama使得不同领域的研究者可以通过微调获得特定领域的专有大模型。在网络安全领域,考虑到数据的私密性和重要性,拥有本地的私有大模型至关重要。然而,原生LLMs在应对网络安全领域时表现不佳,因此需要丰富多样的网络安全指令来充分激发LLMs在网络安全应用方面的潜力。

挑战:①专业性要求高。网络安全是一个专业性高的领域,要求在处理安全问题时具备深入的专业知识和技能,开源LLMs在该领域的表现受到限制;②数据缺乏。当前在网络安全领域进行微调LLMs所需的专业数据相对匮乏,获取足够的领域数据以支持微调工作是一个挑战;③综合评估困难。网络安全领域具有多样化的场景和复杂的问题,如何准确评估大语言模型在这些方面的表现是一个挑战。

Motivation: 鉴于通用LLMs的领域能力受限和安全行业的智能化需求,论文旨在通过微调获得可本地部署和应用的安全行业LLMs,推动当前以特定任务为驱动的AI安全应用向以人为中心的安全决策转变。在这种转变中,LLMs充当Copilot和必要时的指导角色,即Mentor,为人类决策者提供支持。为此,论文①构建了适用于微调LLMs的网络安全领域数据集,②探索了LoRA微调LLMs时的数据和模型选择,并③对不同LLMs在网络安全领域的知识理解和人机对话能力进行全面比较。

2 研究方法

首先,对网络安全领域的LLMs指令遵循需求进行系统分析与重构,在尽可能多的覆盖网络安全需求的前提下,构建了面向行业的指令数据,同时整合多个网络安全文本库,以构建安全知识对话数据。然后,采用LoRA方式分别在安全指令数据和对话数据上探索性微调不同开源LLMs。最后,设计WinRate、EloRating和ZenoBuild综合评估套件,用于LLMs在网络安全专业指令遵循和对话能力方面的表现。

2.1 数据集构建

2.1.1 安全指令数据

安全指令数据集的构建主要分为三部分:安全指令类别定义、种子指令的构建以及广泛指令数据集的生成。

安全指令类别定义:结合人工和GPT-4对网络安全领域指令类型进行整理,设计8大类共97小类网络安全相关的指令类型,如下表所示。

网络安全种子指令生成:种子指令的质量直接影响指令数据集的可用性和有效性,为此构建种子指令数据通常需要人工整理,以确保种子指令具有多样性、可伸缩性、有效性和无害性。论文构建了144条网络安全领域的种子指令

  • 安全论坛问答数据:根据问题类型和问答样式选择15个作为种子指令;
  • GPT-4零样本生成:GPT-4根据seed prompt生成百余指令数据,考虑指令重复性和表达丰富性筛选19条种子指令;
  • 网络安全指令类别:根据8大类、97小类的网络安全指令类别,GPT-4为每条指令给出五个不同实例,在正确性、丰富性与合理性原则指导下,进行1-5的人工评分,将得分为5的数据作为种子指令,得到了97条种子指令;
  • 网络安全NLP任务:将网络安全NLP任务分为四大类(分类、命名实体识别、事件检测、回归)和13个小类,每个任务收集了一条指令数据,即13条种子指令。

广泛指令数据集的生成:依赖种子指令,基于gpt-3.5-turbo模型执行self-instruct方法生成14K网络安全指令数据集

2.1.2 安全对话数据

令ChatGPT外接网络安全文本库,并采用One-shot Learning方式生成网络安全领域的对话数据。对话生成的prompt遵循四个原则:冷启动、领域依赖、上下文关联和逻辑层次,总计生成30K网络安全对话数据集。网络安全领域文本库包括:

  • 2008-2021年的网络安全博客
  • 网络安全主题的维基百科词条
  • 网络安全标准描述文本,如ATT&CK、CAPEC_AP、CAPEC_COA、CWE、CVE等

2.2 LLMs监督微调

  • Base model:选择7/13B的Llama和Vicuna作为基座LLMs。
  • SFT:分别在指令数据和对话数据上使用LoRA方法微调基座LLMs。

2.3 专业能力评估

结合WinRate、EloRating和ZenoBuild三种方法,对微调模型HackMentor在网络安全知识掌握及其与人聊天交互方面的表现进行评估。

  • WinRate:由Claude1.3做裁判,比较custom模型与ChatGPT对同一指令的响应,对custom模型表现出的win/tie/loss三种结果分别计数;
  • EloRating:WinRate的升级版,从模型池中随机选取两个模型,比较它们对相同指令的响应,进而计算各模型胜率和Elo得分
  • ZenoBuild:该评价主要关注聊天体验,评估人机对话中不同模型生成内容的流畅性、连贯性和可理解性等,包括chrf、BERTScore、长度比、一致性、自然性、可理解性等Critique指标。

3 实验分析

不同的评估方式比较如下:

本研究实验结果如下:

#1 WinRate

  • HackMentor相比Base model有10-25%的领域知识能力提升;
  • HackMentor的打平数(tie)更多但绝对获胜数(win)变少,表明“对齐税”的存在;
  • HackMentor (Llama-13b-lora-iio) 与ChatGPT表现相当,144测试用例仅落后7个 (7/144)。

#2 EloRating

  • 指令数据和对话数据均可激发模型领域能力,但指令数据效果更好;
  • 领域数据对Vicuna激发能力有限,甚至影响模型原始能力。

#3 ZenoBuild

  • 对于chrf和length_ratio指标,不同模型的表现存在显著差异,上图(a)(b);
  • 对于bert_score和coherence指标,除了Llama-7b和Llama-13b之外的其他模型之间表现相近,上图(c)(d);
  • 对于naturalness和understandability指标,不同模型均表现良好,上图(e)(f)。

此外,论文对模型的对话表现与对话轮数的先后位置、每轮对话长短的关系进行分析,表明①LLMs响应依赖上下文;②LLMs倾向生成较长回复。

4 进一步思考

  • 指令数据与对话数据的优劣仍需进一步验证;
  • 数据质量影响模型性能,高质量数据是关键资产;
  • 如何减少“对齐税”对模型原始能力的削减;
  • 获取更多源、种类丰富的新数据后增量训练模型or全量微调模型。

5 作者

  • Jie Zhang,信息工程研究所博士生,研究兴趣包括KG、威胁情报、ATT&CK、LLM、AI安全和对齐
  • Hui Wen,信息工程研究所高级工程师
  • Liting Deng,信息工程研究所博士生
  • Mingfeng Xin,信息工程研究所博士生
  • Zhi li,信息工程研究所高级工程师
  • Lun Li,信息工程研究所高级工程师
  • Hongsong Zhu,信息工程研究所研究员
  • Limin Sun,信息工程研究所研究员
安全学术圈招募队友-ing 
有兴趣加入学术圈的请联系 secdr#qq.com

文章来源: https://mp.weixin.qq.com/s?__biz=MzU5MTM5MTQ2MA==&mid=2247489658&idx=1&sn=e7f1f7f32d0d48b3643d03c31c4b20ad&chksm=fe2ee7f1c9596ee7f896b84b576688868672912abbd99dabdcaf8616b4f2fe20addc8c475b0f&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh