安全行业大模型的来龙去脉

发布时间 2024-04-23
自ChatGPT发布以来,围绕大模型,个人、企业乃至国家,都陷入愈发剧烈的变革中。它的影响力已经远超技术范畴,成为全球技术、产业和国际竞争的综合战场。然而,大模型的落地并非一帆风顺,从行业数据的收集到实际应用场景的结合,似乎每一步推进都面临着多重难题。本文主要介绍如何从L0基础大模型优化得到L1安全行业大模型,并将其应用于L2应用场景层中。

将知识注入到大模型中


大模型在下游安全领域任务中表现往往欠佳,通常被认为缺乏领域知识和应用领域知识的方式。下图列举了目前主流的大模型调优技术:



对于L1安全行业大模型,主要使用右半图的技术(增量预训练、有监督微调、人类反馈强化学习),通过更新模型参数,来获得一个具备更强安全知识的大模型;对于L2应用场景层,则会使用左半图的技术(检索增强生成、上下文学习),使大模型在实际场景中无需更新参数即可快速落地。


此外,将这些技术区分为“注入知识”和“注入应用知识的方式”两种。注入知识(上半图)主要目的是让大模型获得安全领域知识,能够在回答时有理有据而不是凭空捏造;而注入应用知识的方式(下半图)主要目的是教会大模型应用知识,希望大模型的回答能够依循特定格式或特定思路。


尤其是人类反馈强化学习技术,是希望大模型能够对齐人类认知,在合理应用知识的同时,提升回答的可用性和安全性。


接下来,将分别介绍这些技术的应用方式和优缺点。


增量预训练


增量预训练(Continuous Pre-train,CPT)是一种常见的知识注入方式。大模型主要是依靠学习大量通用知识得到,通过将领域知识与通用知识混合,然后使用这些数据继续训练原有L0基础大模型,增加了领域知识在训练数据中的比重,即增加了原有模型的领域知识。这种思路显然是合理且有效的。


优点:注入模型的数据不需要人工打标,算法人员只需要对数据做去重、去广告等清洗工作,不需要逐条对数据做精细处理。

缺点:主要在于数据和算力成本高。它不仅对算力的要求相对偏高,也需要大量精心清洗的领域知识数据。


因此,增量预训练所获取的数据通常可以有较大量级,注入的知识也较为全面。


有监督微调


有监督微调(Supervised Fine-tuning,SFT)是指基于已有的大模型,在有标注数据上进行模型训练。现有的SFT技术通常无需微调模型的所有参数,仅微调少量(或额外)模型参数,显著降低计算和部署成本,同时产生与全量微调模型相当的性能。通过这种方式,可以在消费级硬件上训练和存储大模型,让大模型适应各种下游应用。


优点:需求的数据量并不大,使用最低百条数据微调往往就能让大模型学会一些简单的思路与格式。

缺点:用于微调大模型的数据通常需要极其精细化的清洗和逐条的人工打标。


举例来更好地诠释上文提及的技术概念:在安全运营场景中,用户希望大模型对已知的安全事件进行解读,包括告警内容、事件类型、攻击手法、资产属性等。这样的应用场景需要这样完成:


首先,使用大量公开的网络安全与主机安全相关知识对大模型做增量预训练;


其次,使用安全专家标注后的如下问答对,对我们的安全大模型进行有监督微调;



最后,就得到了可以在实际场景中使用的模型。


但是,对每一个下游任务我们都需要做微调吗?对于一些简单的任务,这样的应用方式是否过于复杂和冗余了呢?于是,我们引入了一些不需要更新模型参数的技术,它们同样能有优秀的使用效果。


检索增强生成


检索增强生成(Retrieval Augmented Generation,RAG)是时下热门的大模型应用解决方案。它的主要原理是由用户提出问题,通过类似搜索引擎的方式,从知识库中找到相关的知识片段,随后将用户的问题与搜索的结果一同输入给大模型,让大模型对着“参考答案”生成回答。



优点:相比于增量预训练,检索增强生成的成本更低,且知识更新更快。


缺点:检索增强生成对知识库的质量要求较高,要求最后得到的相关知识片段确实提供了回答用户问题所需要的知识,且能够被大模型顺利理解。


但在实践中,使用增量预训练还是检索增强生成并不是单选题,可以选择“全都要”,同时享受两种技术的优点。


上下文学习


上下文学习(In-context Learning,ICL)即提示学习,也叫语境学习、任务相关的类比样本中学习等。当输入问题时,只需给大模型出一些“示范”性质的提示,即可让大模型按照示范来生成回答。通常使用上下文学习的用户问题格式如下所示。



优点:是一种非常便利的方法,对于不同的下游任务,不需要调整模型参数,只需要根据提示,就能够完成特定的任务。

缺点:对于复杂的问题,简单的提示往往很难起到良好的效果。


我们似乎可以不再对每一个下游任务都进行有监督微调,而是用更加灵活的方式完成上面的安全运营场景(对于和之前步骤不同的地方,我们做了加粗标注):


首先,我们使用大量公开的网络安全与主机安全相关知识对大模型做增量预训练;


其次,我们使用安全专家标注后的多个不同安全任务场景下的问答对,对我们的安全大模型进行有监督微调;


再次,我们对每个单独的下游任务,使用检索增强生成和上下文学习来进行单独的任务提示;


最后,得到最终生成的结果。


在实际应用场景中,大模型还需要通过人类反馈强化学习获得更好的安全性和可用性;也需要借助智能体系统,使用一些类似于搜索引擎、数据库查询、计算器一类的工具来辅助完成任务。接下来分别介绍这两项技术。


人类反馈强化学习


人类反馈强化学习(Reinforcement Learning from Human Feedback,RLHF)技术,主要目的是通过将人类的反馈纳入训练过程,为机器提供自然的、人性化的互动学习过程。


在实践中,人类反馈强化学习往往被用于提升大模型的安全性和可用性,安全性一般指用户询问不合法内容时大模型可以给出拒绝回答,可用性则指大模型给出的回答能够切实帮助到用户。


值得注意的是,安全性和可用性也会相互影响,需要不断进行强化学习,避免顾此失彼。



智能体


智能体(Agent)是一个较复杂的概念,也是一种新颖的大模型应用方式。它主要思想是通过大模型构建一个智能体,让大模型通过逐步思考来规划整个目标任务。


在智能体中,一个问题会被拆解为多个子模块,然后通过从大模型生成的结果中解析出其中调用工具的内容,使用多种工具来逐步完成目标。每获得一次工具调用结果,需要通过规则或大模型对得到的结果进行观察验证,确定这是否是用户想要的最终答案。如果不是,则继续循环,将历史的所有结果进行总结并输入大模型,让大模型规划下一步骤的行动。



总得来说,智能体是让大模型解决复杂问题的综合模块应用系统,通常与用户交互的智能对话机器人就是以这种方式实现的。


数据与算力——大模型的性能壁垒


综上所述,可以看出,大模型的应用如今主要受限于两大方面:


一是数据。更多的安全领域数据和实践运营数据对安全大模型是至关重要的。拥有足够优质的数据,意味着增量预训练中更多的安全知识,有监督微调中更专业的问答对,增强检索生成中更详实的知识库,“更多的人工,更多的智能”就体现于此。


二是算力。我们需要足够的算力维持大模型的训练和日常计算(推理),更大的参数量、更多的训练数据这些都需要有足够的算力支撑,才能够拿到结果。



清楚数据和算力的重要性,我们也着手为安全大模型提供了丰富的资源。新澳门新葡萄娱乐依托中国移动算网资源优势,解决了模型训练和推理应用中的资源问题,基于自身沉淀的丰富的安全知识库、样本库、情报库,生成了安全领域的高质量语料库。


在日常安全运营中,可以实现自有新澳门新葡萄娱乐到自有安全服务的闭环,也就是AI应用飞轮效应(用户越多,反馈越多,AI能力越强),并通过元数据数字管理模式,实现数据到知识的转换,将自由新澳门新葡萄娱乐和领域专家经验持续沉淀,完善和丰富安全领域大模型体系。