BERT vs GPT:为何引爆AI浪潮的是GPT?深度剖析二者差异与应用场景

48

随着ChatGPT的爆火,人工智能(AI)再次成为各行各业关注的焦点。许多人开始探讨AI在不同领域的应用潜力。然而,在实际应用中,我发现BERT模型在某些方面比GPT更加实用。同为大型语言模型,为何GPT能够引领AI浪潮,而非BERT?本文将对此进行深入探讨。

BERT和GPT简介

在自然语言处理(NLP)领域,Encoder-Decoder是一种经典架构。Encoder负责对文本进行编码,生成嵌入(Embedding);Decoder则基于这些嵌入进行计算,完成各种任务并输出结果。这种架构的诞生,源于将文本转化为机器可处理向量的复杂性。Encoder的出现,简化了这一转化过程。

2017年,谷歌提出了Transformer模型,其在性能、结果和稳定性方面均优于循环神经网络(RNN)模型,推动NLP领域进入新的发展阶段。2018年,谷歌又基于Transformer架构推出了BERT,进一步推广了“预训练”模式。随后,OpenAI发布了ChatGPT,将NLP技术推向大众视野,使GPT成为当前主流。

简单来说,BERT的实现原理是Encoder-only,即只使用Encoder部分;而GPT则是Decoder-only,即只使用Decoder部分。具体而言,BERT的最终输出是Embedding,它并不关注具体的任务类型。这种Embedding具有高度的通用性,可以通过与其他算法结合来完成各种任务,例如基于Embedding进行分类。GPT则专注于预测下一个词(predict next word)。其工作模式是通过不断预测后续词语,将它们拼接成完整的语句,从而得到最终结果,这就是所谓的“生成式”。

各类NLP算法的工作范式经历了三个阶段,从早期的特征工程到预训练模型,再到如今的prompt工程,每一次变革都极大地提升了NLP的应用能力。

BERT和GPT核心差异

BERT的核心产出是Embedding。在实际应用中,Embedding的效果令人印象深刻。以下将通过几个具体案例来展示Embedding的强大之处:

TransE

在知识图谱中,基于距离的模型常被用于挖掘和构建实体之间的关系。例如,将“Washington”和“US”两个实体进行Embedding后,它们会形成一个类似于力矩的空间,从而可以轻松地进行各种加减运算,得到目标结果。

KeyBert

在文本摘要任务中,基于余弦相似度的算法应用广泛。其原理与TransE类似,在Embedding将文本进行向量化表示后,Embedding之间的余弦相似度就代表了词义之间的相似度。机器擅长处理向量的各种运算,而语言作为一种非结构化信息,是机器理解的难点。Embedding的出现,使得机器能够将自然语言进行向量化表示,并且向量化结果能够匹配人类的语言逻辑,这被认为是机器理解人类世界的关键。

与BERT专注于编码不同,GPT专注于回答问题。我认为这也是GPT的Decoder-only架构在结果表现上的核心优势:

  • 对于BERT来说,Encoder生成Embedding只是第一步,还需要嵌套其他算法才能完成具体任务。由于Embedding的通用性,通常只需叠加一个线性层+softmax即可。
  • 对于GPT来说,则不关注中间过程,直接输出结果。因此,在同等参数量级下,Decoder-only架构理论上会将更多资源投入到完成任务中,从而获得更好的结果表现。

因此,ChatGPT表现出了通用智能,能够完成多种任务,而BERT仍需要在特定领域进行微调,才能实现应用。关于LLM架构的选择,Decoder-only架构因其高效和通用性而受到青睐,但各种架构在结果上可能并没有显著差异。

进一步分析,BERT和GPT的核心差异在于中间结果,即Embedding。当大家都在讨论GPT随着参数量的增加而出现智能的“涌现”时,一个问题浮现出来:为什么没有大规模扩增BERT的参数量?一个可能的解释是:“够用了”。Embedding是为特定任务而生的,同一词在不同场景下会展现出不同的词性,因此需要通过微调来使BERT适应不同的领域。当模型仅为完成特定领域的任务时,扩增参数就变得不必要。反过来,Embedding也限制了BERT只能成为特定领域的专家工具,提高了使用门槛,难以普及。

GPT的优势

OpenAI的最大贡献在于设计了对话模式,降低了AI的“体验”门槛,从而引发了各行各业对AI的关注。GPT的真正强大之处在于其创造能力。在此之前,机器难以取代人类的场景通常涉及多领域融合的问题,例如撰写文档或编程,这不仅需要打字和语法知识,还需要理解背后的业务逻辑。而GPT结合了Transformer的知识储备和生成式的通用解题范式,从而具备了这种独有的创造能力。

  • BERT虽然拥有强大的知识储备,但其完成任务的模式相对固定。若要处理复杂任务,需要训练同等量级的Decoder,不如GPT的Decoder-only架构直接。
  • RNN虽然是生成式的,但串行结构带来的效率瓶颈和遗忘问题限制了其知识储备。

因此,GPT的创造力可以大幅扩展AI的应用场景,使得更多的人类工作被替代。

GPT的劣势

尽管GPT拥有更好的通用性,但并非所有场景都适用。我们需要从投资回报率(ROI)的角度进行考量。

例如,进行数学运算时,使用计算器比询问GPT更合适。即使GPT通过插件可以准确完成数学运算,但其计算开销远高于计算器。同样,在流水线工作中,使用单一功能的机器的ROI也高于雇佣人工。

因此,任务越固定,所需的模型能力越低。如果存在固定的输入输出模式,却采用对话模式进行处理,则显得效率低下。此外,当前GPT(或NLP领域)能够处理的输入长度有限。相对于其内部计算的百亿级参数,几千个token的输入长度显得不足。

语言作为一种非结构化信息,其信息传输效率远低于结构化的特征。过去在进行推荐、分类等任务时,我们可以人工提取出十万维度的特征,交由模型处理。但在GPT模式下,如何将这十万维的特征以文本形式输入GPT?或者,可以在GPT之前增加一个Encoder来处理,但这可能需要自行训练GPT,而非直接使用预训练模型。

因此,GPT目前更擅长引经据典,回答知识点性质的问题,而不适合基于庞大输入完成的综合决策过程。

总结

本文旨在理性看待GPT的过度吹捧。我认为,当前的热潮并非源于GPT本身,而是ChatGPT将AI重新带回大众视野,激发了更多的AI应用尝试。这波热潮引发了对NLP处理非结构化数据能力的研究思考,有助于解决过往数据处理的难题。至于GPT本身,由于接收输入的限制,我认为其作为线上功能尚有不足。但其展现的创造性潜力值得我们保持关注和探索。