原文标题: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
主编:黄诚@安全学术圈
本文面向网络安全领域微调开源大语言模型,得到行业大模型HackMentor。研究工作主要分为三个部分:网络安全行业微调数据的构建、大语言模型的微调和对LLMs网络安全能力的评估。实验结果显示,HackMentor在网络安全指令遵循方面比原生LLM提高了10-25%;在聊天能力方面,HackMentor回复质量与ChatGPT相当,但相比于ChatGPT的冗长回复更加精简,符合人类对话习惯。
背景:开源大语言模型如Llama使得不同领域的研究者可以通过微调获得特定领域的专有大模型。在网络安全领域,考虑到数据的私密性和重要性,拥有本地的私有大模型至关重要。然而,原生LLMs在应对网络安全领域时表现不佳,因此需要丰富多样的网络安全指令来充分激发LLMs在网络安全应用方面的潜力。
挑战:①专业性要求高。网络安全是一个专业性高的领域,要求在处理安全问题时具备深入的专业知识和技能,开源LLMs在该领域的表现受到限制;②数据缺乏。当前在网络安全领域进行微调LLMs所需的专业数据相对匮乏,获取足够的领域数据以支持微调工作是一个挑战;③综合评估困难。网络安全领域具有多样化的场景和复杂的问题,如何准确评估大语言模型在这些方面的表现是一个挑战。
Motivation: 鉴于通用LLMs的领域能力受限和安全行业的智能化需求,论文旨在通过微调获得可本地部署和应用的安全行业LLMs,推动当前以特定任务为驱动的AI安全应用向以人为中心的安全决策转变。在这种转变中,LLMs充当Copilot和必要时的指导角色,即Mentor,为人类决策者提供支持。为此,论文①构建了适用于微调LLMs的网络安全领域数据集,②探索了LoRA微调LLMs时的数据和模型选择,并③对不同LLMs在网络安全领域的知识理解和人机对话能力进行全面比较。
首先,对网络安全领域的LLMs指令遵循需求进行系统分析与重构,在尽可能多的覆盖网络安全需求的前提下,构建了面向行业的指令数据,同时整合多个网络安全文本库,以构建安全知识对话数据。然后,采用LoRA方式分别在安全指令数据和对话数据上探索性微调不同开源LLMs。最后,设计WinRate、EloRating和ZenoBuild综合评估套件,用于LLMs在网络安全专业指令遵循和对话能力方面的表现。
安全指令数据集的构建主要分为三部分:安全指令类别定义、种子指令的构建以及广泛指令数据集的生成。
安全指令类别定义:结合人工和GPT-4对网络安全领域指令类型进行整理,设计8大类共97小类网络安全相关的指令类型,如下表所示。
网络安全种子指令生成:种子指令的质量直接影响指令数据集的可用性和有效性,为此构建种子指令数据通常需要人工整理,以确保种子指令具有多样性、可伸缩性、有效性和无害性。论文构建了144条网络安全领域的种子指令。
广泛指令数据集的生成:依赖种子指令,基于gpt-3.5-turbo模型执行self-instruct方法生成14K网络安全指令数据集。
令ChatGPT外接网络安全文本库,并采用One-shot Learning方式生成网络安全领域的对话数据。对话生成的prompt遵循四个原则:冷启动、领域依赖、上下文关联和逻辑层次,总计生成30K网络安全对话数据集。网络安全领域文本库包括:
结合WinRate、EloRating和ZenoBuild三种方法,对微调模型HackMentor在网络安全知识掌握及其与人聊天交互方面的表现进行评估。
不同的评估方式比较如下:
本研究实验结果如下:
#1 WinRate
#2 EloRating
#3 ZenoBuild
此外,论文对模型的对话表现与对话轮数的先后位置、每轮对话长短的关系进行分析,表明①LLMs响应依赖上下文;②LLMs倾向生成较长回复。
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com