楔子:2022年12月,OpenAI发布了人工智能聊天原型ChatGPT。ChatGPT在今年(2023年)发酵成为热点话题。在国内, ChatGPT于春节后更是变更了专业人士技术交流的必谈话题。
据各种渠道消息,ChatGPT在开放试用的短短时间里就吸引了大量眼球,坊间流传着各种与ChatGPT的有趣对话。然而,细心的读者应该发现了,笔者所书写的Chat GPT在Chat 和GPT中间有个空格,如大家所知,GPT是Generative Pre-trained Transformer的缩写,中文翻译为生成式预训练变换模型。而ChatGPT 则是OpenAI基于GPT以及其他机器学习技术所研发的专注于对话的实例,该实例能够根据用户输入的文字进行相应的回答。由于ChatGPT当前的交互能力获得了人类的认可而备受关注(见图1: GPT-4 surpasses ChatGPT in its advanced reasoning capabilities),因此笔者对其核心技术GPT的应用进行了跟踪和研究。
图 1:GPT-4 surpasses ChatGPT in its advanced reasoning capabilities
数字风险防护,英文写为Digital Risk Protection(简称DRP),是组织在数字化转型过程中保护其资源免受外部威胁的活动的总和,保障组织能够在安全的前提下实现其业务目标,保护和扩展其数字环境。全球网络安全厂商的公认的主流声音认为数字风险防护和网络威胁情报一起形成更广泛企业级网络安全情报的集合。为了和网络威胁情报进行区分,通常认为数字风险防护的范围包括所有面向外部的资产,例如社交媒体渠道、第三方供应商等。
由第三方服务商提供的服务称为DRPS,(DRP Service),其任务目标所分解的活动需要大量使用机器学习和人工智能技术,因此本文以DRPS作为应用领域,对GPT技术的应用进行分享。《时间简史》的作者霍金曾说过类似这样的一段话:“一本书中多一个数学公式就会减少一半读者”,基于此笔者将文章分为上、下篇,下篇以满足技术爱好者。
**
**
在Gartner 2022年 Hype Cycle for Security Operations报告中(见图2:Hype Cycle for Security Operations, 2022)DRPS(数字风险防护服务)承载着组织对未来出现的网络攻击响应的专业服务的预期。Gartner在其报告中指出,不断扩大的攻击面导致了组织对数字风险保护的高需求,在过去几年中越来越多且越来越复杂的网络攻击无法通过内部功能进行处理,而DRPS的出现则能够有效地为组织提供对外部风险进行监测的服务,以便组织能够及时协调资源进行响应。
图 2:Hype Cycle for Security Operations, 2022
DRP的典型场景包括识别虚假网站、社交媒体账号等,这些工作需要使用的自然语言处理(NLP, Nature Language Processing)技术,目前Transformer技术广泛应用于自然语言处理中,这包括GPT家族和此前知名的BERT模型,本文重点关注GPT技术。
从数学(逻辑视角)或从机器学习(应用视角)的角度来看,以GPT为代表的语言模型是对语言要素的概率分布进行建模,利用收集到语言集合作为输入条件,预测期望的语言集合出现的概率分布,或者通过其概率分布来计算另一语言集合的置信度。
然而,我们需要注意的是,机器学习依靠的算力,早期人工智能的障碍就是算力不足,即使在今天,很多机器学习背后所需要的算力成本仍然不是普通企业或者团体所能够轻松承担的。根据披露的信息,GPT-1发布于2018年6月,有12个Transformer层,参数1.17亿,预训练数据量约为5GB;GPT-2发布于2019年2月,Transformer层分为4组,分别为12、24、36、48层,参数15亿,预训练数据量约为40GB;GPT-3发布于2020年5月,有96个Transformer层,参数1750亿,预训练数据量约为45TB。可想而知,到了ChatGPT时所呈现出的爆炸式增长。
接下来让我们看一个需要解决的问题实例:如图3:新闻转载所示,Elon Musk在twitter的账号曾经遭遇模仿者,而且是多个。对于众多的其他twitter使用者,如何识别虚假账号呢?他们只能从这些或真或假的账号所发布的内容尝试去识别,这就是NLP所需要解决的真实案例。
图 3:新闻转载
识别虚假的Elon Musk账号,需要对其真实语言习惯进行分析,并把twitter上的内容拿来对比,然而这会遇到诸多困难:获得足够数量的正样本和负样本;算法模型;算力成本等。即使在今天,GPT算法已经经过多轮迭代,这些问题仍然会困惑我们,并且持续影响我们未来的计算结果。好消息是我们的计算结果越来越准确,辅之以人力进行反馈标注后的训练准确率得到了快速提升。
通过实践的验证,用来识别虚假账号的算法模型,经过不同的数据投喂,可以用在识别虚假新闻、虚假网站等多种场景。
**
**
虚假网站、仿冒账号等行为在全球都如同过街老鼠,因此存活时间短,且可用于训练的样本集相对较少,对训练样本收集挑战很大。
根据以上信息我们可以知道DRPS是网络安全的细分领域且存在样本集小的特点,因此用于该领域的GPT等机器学习模型需要进行定制化训练。让我们一起来看看在DRPS领域GPT模型训练的基本思路。
首先,编码器将符号表示的输入序列 (x1; :::; xn) 映射到连续表示序列 z = (z1; :::; zn)。给定 z,由解码器生成符号输出序列 (y1; :::; ym),该模型每一步都是自回归的,在生成下一个符号时将先前生成的符号用作附加输入。Transformer 遵循该整体架构,为编码器和解码器使用堆叠的自注意力层和逐点全连接层,如下图所示:
图 4:Transformer架构示意图
在GPT模型中,会使用到注意力模型。在实践中,将同时计算一组查询的注意力函数,打包成一个矩阵 Q,键和值也打包到矩阵 K 和 V 中。输出矩阵计算为:
Attention(Q;K; V ) = softmax()V
其过程如下图所示:
图 5:缩放点积注意力
为了提高整体效果,可以采用多头注意力模型。将查询、键和值 h 次线性投影分别投影到 dk、dk 和 dv 维度,在查询、键和值的每个投影版本上,并行执行注意力函数,产生 dv 维输出值。然后,它们被连接起来并再次投影,产生最终值,如下图 所示:
图 6:多头注意力示意图
多头注意力允许模型共同关注来自不同表示子空间在不同位置的信息。对于单个注意力头,可以采用均值的方法进行抑制。
为了进一步提高准确率,使用学习嵌入将输入令牌和输出令牌转换为维度 dmodel 的向量,并且用线性变换和softmax函数将解码器的输出转换为预测的下一个令牌出的概率。在模型中,两个嵌入层和 pre-softmax 线性变换之间共享相同的权重矩阵。
在了解了Transformer模型的基本思路后,还需要关注训练数据集的选择。在训练中采用通用数据集有:维基百科,该数据集可以提供大量、多语言训练数据,以及其他自然语言网站,包括ArXizv在内的科研期刊。特殊数据集则采用项目所积累的定向web网站等。
训练模型的过程中遇到的最大问题是成本控制,尤其是个人基于个人学习训练,因此在可接受的训练结果的前提下,可以采用相应的手段进行降低算力要求,例如:将部分参数由浮点32位改为整数8位。
**
**
以GPT和BERT为代表的机器学习有着强大的能力,但我们也应当注意模型对算力的需求,在未来应用中通过量化、剪枝、稀疏化等技术来降低使用成本。同时,我们还需要关注代表人工智能自动内容生成的AIGC将可能带来新一轮内容生产变革。
最后,感谢众多的机器学习领域先行者们,是他们的研究成果让我们得以对对这一领域的学习和研究能够更加迅速和便捷,谨以此文向他们致敬,并以此向同行学习。
参考资料:
https://socradar.io/gartner-easm-and-drps-services-rise-in-the-market/
https://www.futuremarketinsights.com/reports/digital-risk-protection-platform-market
BloombergGPT: A Large Language Model for Finance
“Attention Is All You Need”
GPTQ: ACCURATE POST-TRAINING QUANTIZATION FOR GENERATIVE PRE-TRAINED TRANSFORMERS
《神经网络与深度学习》
作者介绍
刘广坤,天际友盟技术总监,有着飞行器制造安全系数3.0 理念的信息安全工作者。
关于 安全村文集·证券行业专刊
证券行业自身低时延的业务要求以及业务中断的敏感性给安全防护带来了很大的挑战。专刊汇集了证券基金期货行业网络安全防护的最新经验、成果和解决方案,为大家分享一线安全规划、运营、建设的心得和实践经验。
关于 安全村
安全村始终致力于为安全人服务,通过博客、文集、专刊、沙龙等形态,交流最新的技术和资讯,增强互动与合作,与行业人员共同建设协同生态。
投稿邮箱:info@sec-un.org