前言
曾几何时,机器对自然语言的解读还生硬刻板,翻译软件常闹出语义不通的笑话,智能客服也只是机械重复预设话术,难以真正洞悉用户诉求。但随着大模型的横空出世,这一切发生了翻天覆地的改变。从为科研人员梳理前沿文献脉络,到成为普通人生活里的贴心参谋,大模型正以前所未有的速度拉开一场智能革命的大幕。
这篇文章是大模型系列的第一篇文章,将与大家共同探讨大模型的前世今生。
历史沿革
大模型的发展历程可以概括为以下几个阶段:
萌芽期(1950 年-2005年)
- 1956 年,计算机专家约翰・麦卡锡提出 “人工智能” 概念,AI 发展由最开始基于小规模专家知识逐步发展为基于机器学习。
- 1980 年,卷积神经网络的雏形 CNN 诞生。1998 年,现代卷积神经网络的基本结构 LeNet-5 诞生,机器学习方法由早期基于浅层机器学习的模型,变为了基于深度学习的模型,为自然语言生成、计算机视觉等领域的深入研究奠定了基础,对后续深度学习框架的迭代及大模型发展具有开创性的意义。
沉淀期(2006 年-2019年)
- 2013 年,Google提出了自然语言处理模型 Word2Vec ,首次提出将单词转换为向量的 “词向量模型”,以便计算机更好地理解和处理文本数据。
理论基础——分布假设
分布假设是由语言学家Zellig Harris在1950年代提出的概念。该假设认为语言单元通过与系统中其他单元的共现模式来获得特定意义。也就是说,一个词的意义可以通过它在不同语境中的分布特性来推断。
例如,在大量的文本中,如果“美丽”和“漂亮”经常出现在相似的语境中,那么它们在语义上就是相近的。
词向量模型
基于分布假设开发,又被称为词嵌入模型。它通过训练神经网络来预测给定词的上下文(或者根据上下文填词)学习单词的分布属性。与先前的统计方法不同,词嵌入模型将单词编码为密集的、低维的向量表示。上述提到的Word2Vec就是其中的典型代表。
Word2Vec详解
组成架构
该模型主要有两种架构:
- 第一种架构是Skip-Gram 模型。
它的主要思想是给定一个目标单词,预测其上下文单词。
例如,对于句子 “The cat sat on the mat”,如果目标单词是 “cat”,Skip - Gram 模型会尝试预测 “the”、“sat” 等上下文单词。
在训练过程中,它会最大化目标单词和上下文单词同时出现的概率。这种模型在处理低频词和生僻词时比较有效,因为它关注的是每个单词周围的局部上下文信息。
- 第二种架构是Continuous Bag - Words(CBOW)模型。
与 Skip - Gram 相反,CBOW 模型是给定上下文单词,预测目标单词。
在上述句子中,它会利用 “the”、“sat” 等上下文单词来预测 “cat”。
CBOW 模型的优点是训练速度相对较快,对高频词的学习效果较好,因为它是从多个单词的综合信息来推断目标单词的。
训练方法
在实际训练的过程中,通常会采用负采样(Negative Sampling)和层次化 softmax(Hierarchical Softmax)等技术来提高训练效率。负采样是一种近似训练的方法,它通过随机采样一些负例(即不是目标单词上下文的单词)来减少计算量。层次化 softmax 则是将单词按照词频构建成一棵二叉树,通过在树上进行概率计算来加速训练过程。
局限性
Word2Vec一度在相关领域得到了广泛的应用,如文本分类、信息检索和机器翻译。但它也存在一定的局限性,最突出的有以下两个问题:
- 难以处理一词多义的情况。
例如,“bank” 这个单词有 “银行” 和 “河岸” 两种意思,但在 Word2Vec 的词向量中,它只有一个向量表示,无法区分这两种不同的语义。
- 无法捕捉句子和篇章的整体语义:它主要关注单词层面的语义关系,对于句子和篇章的整体语义理解有限。即:它不能很好地表示句子的语法结构和句子之间的逻辑关系。
改进措施
为了更好地解决“一词多义”的问题,后续也提出了一些能结合上下文信息的词向量模型,例如ELMo。这是一种基于深度学习的语言模型,其核心架构是一个多层的双向长短期记忆网络( Bi - LSTM),它可以动态生成词向量,并通过对不同层的 Bi - LSTM输出进行加权组合来生成最终的词向量,可以同时处理句子的正向和反向信息,从而更好地捕捉单词前后的语义关系。
例如,对于句子 “我在图书馆看书”,在处理 “看” 这个单词时,正向的 LSTM 可以捕捉到 “我在图书馆” 这些前置信息,反向的 LSTM 可以捕捉到 “书” 这个后置信息。
另外,ELMo 采用无监督的预训练方式。在大量的文本语料上训练,学习预测句子中的下一个单词。
例如,给定一个文本片段 “今天天气很”,模型会尝试预测下一个可能的单词,如 “好”。这种预训练方式使得模型能够学习到语言的统计规律和语义关系。
在训练过程中,为了计算损失函数和进行反向传播,通常采用交叉熵损失。模型会根据预测单词与真实单词之间的差异来调整网络参数,从而不断优化模型的性能。
尽管 ELMo 能够动态生成词向量,但它的模型结构相对复杂,计算成本较高。在2017 年,Google颠覆性地提出了基于自注意力机制的神经网络结构 —— Transformer 架构, 奠定了大模型预训练算法架构的基础。另一个针对Word2Vec的改进版本——Bert也是基于Transformer架构的。
Transformer模型
Transformer模型主要用于处理序列数据(尤其在自然语言处理领域取得了巨大成功)。其中,自注意力机制是Transformer模型的核心。所谓自注意力,就是:
能够在输入序列中捕捉不同位置之间的依赖关系
其具体运算过程如下:
- 将输入序列中的每个词元(token)转化为向量,并分别乘以三组权重矩阵Q(查询)、K(键位)、V(值),得到对应的查询向量、键向量和值向量。
- 计算每个查询向量与所有键向量的点积,得到注意力分数。
- 将注意力分数通过softmax函数进行归一化处理,得到归一化后的概率分布。
- 将归一化后的概率分布与每个值向量进行加权求和,得到每个词元的加权和,即该词元与其他词元的关联度。 这种机制使得输入序列中的所有单词都是并行处理,极大地提高了训练效率;同时也更好地捕捉输入序列中的长距离依赖关系,增加了可以执行的语言任务的规模和复杂性。
- 2018 年,OpenAI 和谷歌分别发布了 GPT-1 与 BERT 大模型,意味着预训练大模型成为自然语言处理领域的主流。
爆发期(2020 年-2023年)
2020年大模型从幕后正式走到了台前,走进了大众的视野。
- 2020 年,OpenAI 公司推出了 GPT-3,模型参数规模达到了 1750 亿,成为当时最大的语言模型,并且在零样本学习任务上实现了巨大性能提升。随后,更多策略如基于人类反馈的强化学习(RHLF)、代码预训练、指令微调等开始出现,被用于进一步提高推理能力和任务泛化。
- 2022 年 11 月,搭载了 GPT-3.5 的 ChatGPT 横空出世,凭借逼真的自然语言交互与多场景内容生成能力,迅速引爆互联网。
- 2023 年 3 月,官方发布的超大规模多模态预训练大模型 ——GPT-4,具备了多模态理解与多类型内容生成能力。
应用落地期(2024年以来)
截止笔者写此文时,大模型在国内已经遍地生花,衍生出了适配多个场景的版本,融入各行各业。目前国内对于大模型的研究主要以适配应用为主。然而大模型本身也有需要突破的地方,在具体领域的适配上也需考虑模型适配性、数据安全性等问题。
结语
回顾大模型的发展历程,可能在普通人看来,它像是突然从石头里蹦出来的一样,但其实它也吸取了许多前人的智慧结晶,包括但不限于:
词向量模型、Transformer 架构、无监督训练、预训练、强化学习、模型压缩、指令微调等等。
(文中重点讲了词向量模型和Transformer架构)
要知其然也必须知其所以然,希望这篇讲述大模型前世今生的文章也能带领读者揭开大模型的神秘面纱。