最全AI简史(下):后深度学习时代(大模型时代)

💡 铺垫这么多终于到大模型章节了,前面两篇文章分别就人工智能和深度学习的发展历史进行了介绍,大致可以理解为:20世纪的人工智能发展百花齐放、坎坷中前进,进入21世纪后深度学习很快成为人工智能中的显学,2020年后则以大语言模型为代表范式。这当然不是说一些逻辑规则的、概率统计机器学习的甚至是非Transformer的深度学习结构已经逐渐推出历史舞台,相反大家各自在自己的领域依然是SOTA,也与大模型有许多交汇的地方。例子俯拾皆是,比如SVM依然是最强的分类器之一(许多分类算法依然习惯于用SVM作为Baseline),集成学习的Boost系列方法依然是Kaggle分类赛道上的常客,视觉检测中CNN卷积层依然是核心特征提取器,NLP领域的拼写检查Spell Check这类任务依然采用BERT等早期端到端的Transformer模型,知识工程、知识图谱等符号主义的产物在垂直领域一直没有停止发展、近期又与大模型结合(GraphRAG、知识库等)。目前来看,大模型依然属于 样样通,样样松的范畴。个人认为当前的大模型范式是不健康的、反直觉的,原因可能是计算机科学家们过于看重端到端的能力,加上资本运作的需要,未来或许能出现连接主义、符号主义、行为主义三者合一的新技术,我相信到那时AGI应该就差不多了。同样的,在展开之前先重申本系列所用概念,人工智能=规则/知识/逻辑系统 + 机器学习(概率统计、运筹优化)+ 环境交互(控制论)。

0 前言

2022年底,GPT-3.5为底座的ChatGPT应用引爆全球,第三次人工智能热潮在2006年深度学习之后引来了以大语言模型(Large Language Models, LLMs)为核心的新的爆发。经过一段时间发展,LLMs这一专属名词内涵与外延已逐渐稳定,即符合扩展法则(Scaling Law)的、具备涌现能力(Emergent Ability)的、基于Transformer的、与GPT结构类似的Decoder-only架构的大规模深度神经网络模型。本篇文章将是AI简史系列的最后一篇,其范围也逐级坍缩至AI>深度学习>NLP语言模型的范畴。在本文中,将全面回顾大模型的前世今生,包括但不限于语言模型的代际更迭、分词法、词向量模型、注意力机制、Transformer不同架构以及包含多模态大语言模型(MMLM)在内的主流大模型。

1 自然语言处理NLP:体系与困难

1.1 自然语言处理的定位与难点

大语言模型是自然语言处理(Natural Language Process, NLP)领域的代表成果,而NLP被认为是人工智能王冠上的明珠,这个观点体现在:

  • 哲学上:语言是思想的载体、边界、直接实现,理解人类语言就能理解世界。语言代表深度思考,视觉听觉代表浅层感官。
  • 技术上:理解语言/model the language是model the world最具性价比的方式,且通过语言理解,可以获得关于听觉和色彩的认知(当然也有其他的观点,比如说有的CV研究者认为学习图像也能高效建模世界)

但实际上大模型范式目前来看还存在许多问题,尤其是一些传统NLP的难题。在NLP领域,最典型、应用历史最久的的任务之一是机器翻译,这一任务是1949提出的,但70年后的如今机器翻译质量依旧不高,只能用于读懂外文文献,不能用于出版。机器翻译的核心是复杂的认知能力,包含句子结构、词的含义、听者模型、交谈规则,比如我们国内的翻译传统讲究信达雅三境界,再比如还有一个经典的命题是诗歌不可翻译。这些都指向一个根本的问题,即,机器翻译这种需要在代表两种文化语境的语言之间进行精确映射的工作或许暴露了自然语言本身的缺陷。而针对人类自然语言的审视其实不仅仅是理论语言学的问题,而是二十世纪整个西方哲学的重要转向

  • 形式化语言
    • 子类:
      • 形式化推导系统:如进程代数方法中的1969年提出的通信系统算子 ( Calculus of Communicating Systems, CCS),1970年提出的通信序列进程 ( Communicating Sequential Processes, CSP),以及名称传递算子Pi算子
      • 程序语言:C语言等
    • 特点:严谨,几乎无歧义,例如程序语言的编译过程中的消歧就相对简单。
  • 自然语言:专指人类使用的Text or Speech(Written or Spoken)
    • 子类:在1980s左右,语音处理和文本处理分家(学界学会分开办),NLP主要偏向于文字。
      • 语音Speech:出现在大概10万年前
      • 文字Text:出现在1万年前左右,知识knowledge的主要载体,而知识是AI的核心问题,在AI的所有分支中,只有NLP需要同时处理两类知识
        • Common Sense:常识,即命名实体named entities,很难计算机处理,命名实体识别主要靠大量的人工标注,如知识工程。
        • Linguistic Knowledge:语言知识,即文本,是前者(知识)的充分载体
    • 特点:歧义太多、映射太多(一对一、一对多、多对一)。例如修饰语modifier的附着attachment问题、量词界定quantifier scoping的问题、缩略语elliptical utterances的问题(使用惰性,对长语素的缩略)
    • 自然语言处理:交叉领域,又称计算语言学Computational Linguistics(原来是语言学的术语,后来被计算机鸠占鹊巢)
      • 计算机:使用计算机的工具和范式处理语言学问题
      • 理论语言学Theoretical Linguistics:在理论语言学中,语言专指语音,而文字专指书写系统writting system。

1.2 自然语言处理的四大任务

  • 序列标注:分词(Tokenization,详见本人大模型LLMs组件系列的一篇文章),词性标注,命名实体识别,语义角色标注等都可以归入这一类问题,,它的特点是句子中每个单词要求模型根据上下文都要给出一个分类类别。
  • 分类任务:文本分类,情感计算等。它的特点是不管文章有多长,总体给出一个分类类别即可。
  • 句子关系判断:Entailment,QA,语义改写,自然语言推理等。它的特点是给定两个句子,模型判断出两个句子是否具备某种语义关系
  • 生成式任务:机器翻译,文本摘要,写诗造句,看图说话等。它的特点是输入文本内容后,需要自主生成另外一段文字。
    解决这些不同的任务,从模型角度说特征抽取器的能力非常重要,因为深度学习最大的优点是端到端(end to end),这里的意思是以前研发人员得考虑设计抽取哪些特征,而端到端时代后,这些你完全不用管,把原始输入扔给好的特征抽取器,它自己会把有用的特征抽取出来。

2 语言模型的代际更迭:词向量与分类器

语言模型(Language Model, LM)是NLP的地基,只有基于语言模型我们才能有效地模拟、验证自然语言的复杂结构和生成规则。NLP早期使用基于规则和统计的方法,目前主流使用神经网络模型,三大特征抽取器分别是RNN(Transformer之前最常用)、CNN(较不常用)、Transformer(当前最常用)。语言模型的终极目标是进行语言建模language modeling,获得自然语言联合概率,即m个words组成一句话的概率:

P ( w 1 w 2 . . . w m ) = P ( w 1 ) P ( w 2 ∣ w 1 ) P ( w 3 ∣ w 1 w 2 ) . . . P ( w m ∣ w 1 w 2 . . w m − 1 ) P(w_1w_2...w_m) = P(w_1)P(w_2|w_1)P(w_3|w_1w_2)...P(w_m|w_1w_2..w_{m-1}) P(w1w2...wm)=P(w1)P(w2w1)P(w3w1w2)...P(wmw1w2..wm1)

但上述目标的状态空间过大,退而求一定窗口内的条件概率,即折中目标:

P ( w i ∣ w 1 w 2 . . . w i − 1 ) = C ( w 1 w 2 . . . w i − 1 w i ) C ( w 1 w 2 . . . w i − 1 ) P(w_i|w_1w_2...w_{i-1})=\frac{C(w_1w_2...w_{i-1}w_i)}{C(w_1w_2...w_{i-1})} P(wiw1w2...wi1)=C(w1w2...wi1)C(w1w2...wi1wi)

语言模型在技术上本质就是一个词向量模型以及后附的分类器,例如当前用于对话的大预言模型在工程结构上就是一个完整的Model,即习得一句话的未来(next token)语义表征,再加一个最后和Embedding shape对应的lm-head层,即在词表空间进行Softmax的Logits分类器。语言模型的发展大致经过了四个阶段

2.1 统计语言模型Statistic LM,1975

核心是n元文法模型N-gram,基于1950s哈里斯的分布式假设、全局统计、基于马尔可夫假设。主要特点是Sparse\维度灾难。主要实现方式是共现矩阵,共现矩阵的每一行就是词向量,类似One-hot独热编码,向量维度和词表长度一样,维度爆炸,但有一定的语义关系。为了应对维度爆炸问题,对共现矩阵进行了SVD奇异值分解优化,获得了相对密集Dense的分布式表示。

2.2 神经语言模型NNLM,2003

Bengio提出NNLM ,统一NLP特征形式Dense Embedding。通过线性变换A压缩,当一个n长度的词表中的每个词都被映射到m维度的空间中,必然会导致向量在一些维度上同时存在值,可以计算similarity。在这一时期出现了以FFN和RNN为代表的深度神经语言模型,但在2013年引入预训练+微调之前,总体发展缓慢。

2.3 预训练语言模型PLM,2013

DNN逐层预训练概念在2006年提出(标注数据不够,损失函数复杂),先在语音识别和CV领域应用(ImageNet挑战赛),后被引入NLP。大规模的预训练使得NLP在Embedding上可以完成对自然语言/真实世界的可靠的建模。2017年Google提出Transformer,2018年GPT和Bert先后诞生。传统的Embedding平等关注所有要素,Attention突出重点后能处理更长的上下文。

  • 前Transformer时代:单任务,专注Embedding理解建模
    • (1)静态词向量模型:Static Embedding,不考虑一词多义
      • Word2Vec,2013,Google,局部窗口,ANN无监督预训练,预训练范式被用于NLP领域
      • GloVe,2014,Stanford,改进上,全局共现关系
      • FastText,2016,Facebook,局部+n-gram,主打快速与资源受限环境
    • (2)动态词向量模型:Contextual Embedding,根据上下文嵌入
      • CoVe,2017,McCann,固定静态词嵌入+Bi-LSTM注意力+迁移学习
      • ELMo,2018,Allen AI2,固定静态词嵌入+Bi-LSTM注意力
      • ULMFit,2018,Fast.ai+DeepMind,固定静态词嵌入+Bi-LSTM集大成,微调/迁移学习
  • Transformer时代:多任务,在Embedding上用Attention抓重点
    • (1)Decoder-only:GPT-1,2018,OpenAI,Casual序列建模,可训练静态词嵌入+Transformer Encoder
    • (2)Encoder-only:Bert,2018,Google,MLM掩码填空建模,可训练静态词嵌入+Transformer Decoder
    • (3)Encoder-Decoder:BART & T5,Seq2Seq,End2End,可训练静态词嵌入+Transformer Encoder-Decoder

2.4 大语言模型LLM,2020

虽然Transformer架构在2017年底就诞生,2018年就有了初代的GPT和Bert,但大模型正式诞生的标识是2020年上半年GPT-3的诞生。

  • Transformer架构的发展
    • Encoder-Decoder:Transformer架构原始论文中使用的标准架构,用于机器翻译等Seq2seq任务。
      • Encoder学习过的精炼的表示被用于每一个堆叠的Decoder块中,理论上拥有更全面的能力,但需要更多的计算资源和数据集,在早期限制较大
    • Encoder-only:Bert系列是绝唱。
      • 优点:双向注意力建模,具有强大的编码能力,善于理解/分类。
      • 缺点:双向建模让机器提前看到未来信息,不太适用于生成式任务。
    • Decoder-only:百花齐放,大部分应用场景的动作序列生成更符合生成式next token的Caual Decoder理念,可能并不需要Encoder-Decoder架构的全部能力。在Decoder-only架构中,注意力机制是单向的(causal attention),这意味着模型在预测下一个单词时只能关注到之前的单词,而不能看到未来的单词。这种机制使得模型在生成文本时更加符合人类的语言习惯,并且有助于避免重复和冗余的生成
      • 因果解码器Causal Decoder:单向注意力,如GPT-3。在该架构中,注意力机制是单向的(causal attention),这意味着模型在预测下一个单词时只能关注到之前的单词,而不能看到未来的单词。这种机制使得模型在生成文本时更加符合人类的语言习惯,并且有助于避免重复和冗余的生成
      • 前缀解码器Prefix Decoder:输入Prefix标记部分双向注意力,输出单向注意力,类似Encoder-Decoder,GLM。输入Prefix标记部分双向注意力,输出单向注意力,类似Causal Decoder。
  • 非Transformer架构的探索:Transformer架构的“不可能三角”,无法兼顾推理消耗、并行性、生成质量
    • RetNet:Retentive记忆力/保留网络,微软亚研院+清华,2023.7.17;
    • RevCol:Reversible Column可逆列,美琪科技基金会,2023.9.2

3 Attention注意力机制:Transformer的核心

2017年的那篇Attention is All You Need可谓是在标题上为后来各种噱头文章所借鉴。这篇文章是Google提出的,两年多后,基于该篇论文的GPT-3开启了大模型时代。这篇文章采用了一个翻译任务的常用架构——Encoder-Decoder,但在其中加入了Attention机制,并将由Attention+MLP/FFN组成的Encoder或Decoder模块称作Transformer。此外,注意力机制有助于克服循环神经网络(RNNs)的一些挑战,例如输入序列长度增加时性能下降和顺序处理输入导致的计算效率低下。

关于Transformer架构解释的文章连篇累牍,在此不赘述。具体的Attention机制和到如今的多种变体将放在本人大模型LLMs组件系列的一篇文章中讲述。在此主要梳理Attention机制的发展历史,注意力机制并不是2017年那篇文章的首创。注意力机制的本质是突出感兴趣的信息,抑制无用信息,通常以概率图/特征向量的形式为结果。从原理上来说,Attention主要可以根据对输入信息的不同维度施加注意力而分为序列注意力模型、空间注意力模型,图像通道注意力模型以及各种变体。此外KV Cache是Attention机制推理性能优化的一项重要工程化技术,各大推理框架都已实现并将其进行了封装。

  • 早期起源:来源生物注意力

    • 1980s,注意力思想萌芽,用于计算机视觉领域,解决目标检测和识别问题,但随着技术发展Attention被用于多个领域。
  • NLP领域,语言序列注意力

    • 2014年,注意力机制用于NLP领域,Bahdanau等在论文Neural Machine Translation by Jointly Learning to Align and Translate中首次提出了一种基于注意力机制的机器翻译神经网络模型。该模型通过引入一个可学习的注意力机制,使得模型能够在翻译过程中对输入序列中的不同部分进行动态关注。之后,注意力机制被广泛应用于各种自然语言处理任务,如文本分类、文本生成、问答系统等。
    • 2017年,Google发布论文Attention is All You Need,提出了Transformer架构,使用了自注意力机制(self-attention),使得模型能够同时考虑输入序列中的所有位置,并且无需依赖于固定大小的滑动。这篇文章在Encoder模块使用了自注意力Self-Attention(信息来自一个sequence中不同token之间),而在Decoder中加了一个交叉注意力Cross-Attention(两个seqence间不同token之间),两者又均使用了缩放点积注意力(Scaled Dot-Product Attention,SDPA),以及多头注意力(Multi-Head Attention,MHA)多组QKV。
    • 2019年,Google的Noam Shazeer在论文Fast transformer decoding: One write-head is all you need中提出多查询注意力(Multi-Query Attention, MQA),相比MHA保持Query头数为多个,将KV头数降为1,即多个Query共享同一组Key-Value。
    • 2022年6月,,Stanford的团队在论文FlashAttention:Fast and Memory-Efficient Exact Attention with IO-Awareness中提出Flash Attention,优化I/O主攻训练,核心是将softmax计算分块
    • 2023年,Google Research在论文Gqa: Training generalized multi-query transformer models from multi-head checkpoints中提出分组查询注意力(Grouped Query Attention, GQA),MHA和MQA的折中,m个Q,n组KV,n可以整除m,即多个Q共享一组KV,但不止一组KV。
    • 2023年,Berkeley在论文Efficient Memory Management for Large Language Model Serving with PagedAttention提出Page Attention页注意力,优化显存主攻推理服务,核心在非连续的内存空间中存储的kv_cache。
  • CV领域,多维图像空间注意力

    • 尺度空间:长宽
      • 2014年,Google Mind的论文Recurrent Models of Visual Attention提出在RNN模型上使用了Attention机制来进行图像分类。
      • 2015年,Google DeepMind发表的空间注意力Spatial Attention领域代表论文Spatial transformer networks提出的STN网络,它学习输入的空间尺度上的变换,一步完成目标的定位和仿射变换调整,是一种基于空间的Attention模型。
      • 2016年,Amjad Almahairi等发表的论文Dynamic capacity networks采用了两个子网络,分别是低性能的子网络(coarse model)和高性能的子网络(fine model)。低性能的子网络(coarse model)用于对全图进行处理,定位感兴趣区域,如下图中的操作fc。高性能的子网络(fine model)则对感兴趣区域进行精细化处理,如下图的操作ff。两者共同使用,可以获得更低的计算代价和更高的精度。
    • 色彩通道:CNN处理的图像除了图像长宽维度,第三个维度就是像素通道Channel
      • 2017年,Squeeze-and-excitation networks,2017届ImageNet分类比赛的冠军网络,本质上是一个基于通道的Attention模型,它通过建模各个特征通道的重要程度,然后针对不同的任务增强或者抑制不同的通道。作为一种通用的设计思想,它可以被用于任何现有网络,具有较强的实践意义。
      • 2019年,Selective Kernel Networks等方法将上述的通道加权的思想和Inception中的多分支网络结构进行结合,也实现了性能的提升。
    • 空间和通道注意力机制的融合:自然的推导
      • 2018年,ECCV,Cbam: Convolutional block attention module,通道方向的Attention建模的是特征的重要性,同时使用最大pooling和均值pooling算法,然后经过几个MLP层获得变换结果,最后分别应用于两个通道,使用sigmoid函数得到通道的attention结果。

目前针对大模型优化,有许多工作都将目光转向了Attention机制,例如稀疏化工作,kv_cache的显存优化等等。

4 大模型编年式列表

  • 2017年,年底,Google提出Transformer经典的Encoder-Decoder架构,核心是注意力机制。次年,Google和OpenAI分别推出首代BERT和GPT模型,自然语言处理技术推进到新的时代Transformer架构
  • 2018年6月,OpenAI 发表了Improving Language Understanding by Generative Pre-Training,提出了GPT-1,只使用了Transformer架构中的Decoder部分,Decoder-only架构。
  • 2018年10月11日,Google AI Language发表了BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,提出了BERT。只使用了Transformer架构中的Encoder部分,即Encoder-only架构

GPT 和 BERT,它们分别使用自回归语言建模(Casual序列建模)和自编码语言建模(MLM掩码填空建模)作为预训练目标。所有后续的大规模预训练模型都是这两个模型的变体。

  • 2020年,OpenAI关于GPT-3的系列成果正式拉开大模型序幕
    • 扩展法则:2020年1月23日,OpenAI发表了论文《Scaling Laws for Neural Language Models》
    • 验证扩展法则:2020年5月28日,在arXiv上发布了GPT-3论文《Language Models are Few-Shot Learners》,数天后在Github上开源了GPT-3的部分样本和数据集。以GPT-3的模型参数结果跃进为实证标志,能力涌现和扩展法则。
  • 2020年10月22日,Google团队发表An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale,提出了Vision Transformer(ViT),虽然不是第一篇将Transformer应用在视觉任务的论文,但是因为其模型简单且效果好,可扩展性强(scalable,模型越大效果越好),成为了Transformer在CV领域应用的里程碑著作,也引爆了后续相关研究。
  • 2021年2月26日,OpenAI发表了Learning Transferable Visual Models From Natural Language Supervision,提出了CLIP (Contrastive Language-Image Pre-training, 对比语言图像预训练),通过对比学习方法,将图像与自然语言文本进行配对,实现了多模态学习。具备零样本学习能力。为多模态AI的研究和应用奠定了基础,推动了图像生成、理解和交互等领域的发展。
  • 2021年7月15日和7月22日,Google DeepMind在Natrue分别发表论文,发布了AlphaFold 2,AlphaFold 2在第十四届国际蛋白质结构预测竞赛(CASP)上取得惊人的准确度,多数预测模型与实验测得的蛋白质结构模型高度一致,引起举世瞩目。对生物医学研究、药物设计和生命科学产生了深远影响。
  • 2022年12月20日,Stability AI发表论文High-Resolution Image Synthesis with Latent Diffusion Models,发布了完全开源的Stable Diffusion,展示了一种利用扩散过程生成图像的方法,是AI绘画领域的一个核心模型,能够进行文生图(txt2img)和图生图(img2img)等图像生成任务。
  • 2022年7月12日,David Holz发布基于生成对抗网络GANs的文生图Midjourney,通过用户提供的文本描述生成高质量图像。
  • 2022年11月30日,OpenAI发布了GPT-3.5,其产品ChatGPT瞬间成为全球爆品。引起了全球学术界和工业界的大语言模型热潮。以ChatGPT为代表的大语言模型向世人展露出了前所未有的能力。一大波大语言、多模态的预训练模型如雨后春笋般迅速出现。
  • 2023年12月1日,Albert Gu和Tri Dao发表了论文Mamba: Linear-Time Sequence Modeling with Selective State Spaces,提出了Mamba,这是一种新的不同于Transformer的处理长序列数据的神经网络架构,能够在保持高效率的同时,提供出色的性能。对于需要处理大量数据的应用场景,如自然语言处理、语音识别和生物信息学等领域,具有重要的实际应用价值。
  • 2024年2月18日**,OpenAI发布了SORA,一种通过文本生成视频的模型,结合了先进的Transformer和GANs架构,更多地使用了CLIP,实现了高质量的文本到视频生成
  • 2024年5月8日,DeepMind发表论文提出了AlphaFold 3,以前所未有的精确度成功预测了所有生命分子(蛋白质、DNA、RNA、配体等)的结构和相互作用。与现有的预测方法相比,AlphaFold 3 发现蛋白质与其他分子类型的相互作用最高提高了一倍。
  • 29
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值