在算法主导的创新范式下,工程师该如何构建面向未来的核心能力?为大家带来《工程研发的算法修养》系列文章,开篇以大模型技术演进为主线,剖析该领域七十年来的关键技术及理论。
第一章 NLP进化史
规则时代(1950s-1980s)
方法:
-
手工编写语法规则(像给语言制定“刑法典”)
-
专家知识库(人肉词典编撰者集体内卷)
-
语法分析树(给句子画族谱)
缺陷:
-
覆盖面窄(遇到方言直接宕机)
-
规则打架(新旧规则battle像极了办公室政治)
-
遇到歧义就死机(“我看见你那辆新车了” → 究竟是偷看还是偶遇?)
统计时代(1990s-2010s)
方法:
-
n-gram模型(统计词语CP率)
-
隐马尔可夫模型(给语言装上概率雷达)
-
支持向量机(在数据高维空间玩跳房子)
缺陷:
-
数据饥渴症(标注数据比熊猫还稀有)
-
特征工程堪比乐高马拉松(工程师头发-10000根)
-
翻译翻出车祸现场("The spirit is willing, but the flesh is weak" → “酒好肉不鲜”)
浅层神经网络(2010s-2013)
方法:
-
Word2Vec(词语相亲大会)
-
词嵌入(给每个词发GPS定位)
-
浅层RNN(“传话游戏”)
缺陷:
-
"Bank"的困惑:是金融机构还是河岸?系统选择摆烂
-
长句子处理读到句尾,忘了句首
深度学习时代(2014-2017)
方法:
-
LSTM(给神经网络装上记忆芯片)
-
注意力机制(像聚光灯一样focus重点)
-
Seq2Seq(翻译界的同声传译)
缺陷:
-
训练速度比树懒还慢
-
模型解释性堪比黑箱彩票
-
烧钱速度让显卡厂商笑出腹肌
Transformer革命(2017-2019)
方法:
-
自注意力机制(每个词都是自己的红娘)
-
BERT(双向理解小天才)
-
GPT(单向生成永动机)
缺陷:
-
计算复杂度比双十一购物车还夸张
-
预训练电费够买一个小水电站
-
生成能力像没有创作天赋的复读机
大模型时代(2020-至今)
方法:
-
1750亿参数的“暴力美学”
-
Few-shot学习(看两眼就会开卷考试)
-
RLHF(用人类反馈调教AI)
缺陷:
-
幻觉问题(产生错误的、不切实际的或无意义的输出)
-
能耗相当于三个核电站
-
道德感比墙头草还容易摆动
-
GPT-4写请假信 → 堪比专业秘书
1.7 多模态时代(2021-至今)
方法:
-
文图生成(文字变油画)
-
RAG系统(给AI装上谷歌搜索)
-
Agent(AI开始学人类打工)
缺陷:
-
生成图片偏见严重
-
工具调用像刚学会用筷子的熊孩子
-
安全风险比拆炸弹还刺激
总结
第二章 关键技术与理论
传统机器学习基础
线性回归/逻辑回归
简单描述:线性回归就像用一条直线去拟合一些散点。想象你记录了一些学生的学习时间和考试成绩,线性回归就是找到一条最佳的直线,让你能根据学习时间预测成绩。逻辑回归则是线性回归的“表兄弟”,不过它预测的是“是/否”这样的问题,比如根据天气预测是否会下雨。
生活例子:房地产经纪人根据房屋面积、卧室数量等特征预测房价,就是在使用线性回归的思想。
首次提出:
线性回归: Legendre, A.M. (1805). "Nouvelles méthodes pour la détermination des orbites des comètes"
逻辑回归: Berkson, J. (1944). Application of the Logistic Function to a Bio-Assay
决策树
简单描述:就像玩“二十个问题”猜谜游戏,通过一系列“是/否”问题来做出决定。比如要决定是否出门带伞,可能先问"今天有云吗?"如果答案是“是”,再问“预报说有雨吗?”如此一步步做出决策。
生活例子:医生诊断疾病的过程“有发烧吗?有咳嗽吗?”一步步排除可能性。
首次提出:
ID3: Quinlan, J.R. (1986). "Induction of Decision Trees"
C4.5: Quinlan, J.R. (1993). "C4.5: Programs for Machine Learning"
CART: Breiman, L. et al. (1984). "Classification and Regression Trees"
支持向量机(SVM)
简单描述:想象你有一盘红豆和绿豆混在一起,SVM就像是找到一条最佳的分界线,让红豆和绿豆分得尽可能开。不仅如此,它还特别关注那些难以区分的“边界豆”,尽量让分界线离最近的豆子越远越好。
生活例子:机场安检系统区分危险物品和安全物品的原理与SVM相似。
首次提出:Vapnik, V. & Cortes, C. (1995). "Support-Vector Networks", Machine Learning
随机森林
简单描述:如果说决策树是一个专家做决定,随机森林就是召开“专家委员会”,让多个决策树各自做出判断,然后投票决定最终结果。每个“专家”(决策树)看到的训练数据略有不同,关注的特征也不完全相同,这样综合起来能得到更可靠的结果。
生活例子:像是向多位医生咨询同一健康问题,然后采纳多数医生的意见。
首次提出:Breiman, L. (2001). "Random Forests", Machine Learning
梯度提升树(GBDT/XGBoost)
简单描述:梯度提升树像是一个“接力赛跑”。第一棵决策树尽力预测,但inevitably会有错误;第二棵树不是从头开始,而是专门学习修正第一棵树的错误;第三棵树再修正前两棵的错误,以此类推。XGBoost是这种方法的高效实现,速度更快,精度更高。
生活例子:学生学习过程中,老师不断指出错误并针对性补课,一步步提高成绩。
首次提出:
GBDT: Friedman, J.H. (2001). "Greedy Function Approximation: A Gradient Boosting Machine"
XGBoost: Chen, T. & Guestrin, C. (2016). "XGBoost: A Scalable Tree Boosting System"
主成分分析(PCA)
简单描述:PCA就像把一张3D照片压缩成2D,尽量保留重要信息。想象你有很多特征描述一个人(身高、体重、年龄等),PCA能帮你找出最重要的几个组合特征,丢掉不重要的信息,简化数据但保留主要特征。
生活例子:减肥健身软件可能会把你的各种身体数据归纳为"体脂率"和"肌肉量"两个核心指标,这与PCA的思想类似。
首次提出:Pearson, K. (1901). "On Lines and Planes of Closest Fit to Systems of Points in Space"
EM算法
简单描述:EM算法就像你在黑暗中寻找丢失的钥匙。你先猜一个位置(Expectation步骤),然后在那附近搜索找到更可能的位置(Maximization步骤),反复这两步直到找到钥匙。EM算法常用于有"隐藏信息"的问题,如混合了多种分布的数据。
生活例子:你听到远处有声音,但不确定是一个人还是两个人在说话。你先猜测是什么内容,然后根据新听到的声音调整你的猜测,就像EM算法的过程。
首次提出:Dempster, A.P., Laird, N.M., & Rubin, D.B. (1977). "Maximum Likelihood from Incomplete Data via the EM Algorithm"
贝叶斯网络
简单描述:贝叶斯网络像是事件之间的“家族树”,展示了各种事件如何相互影响。例如,“下雨”会影响“地面湿度”和“有人打伞”,而这又会影响“道路堵塞”等。这种网络能让你推测,如果观察到某些现象(如人们打伞),其他相关事件(如道路状况)的概率会如何变化。
生活例子:医生看到症状后推断可能的疾病,然后再根据化验结果更新对疾病的判断,这种思维方式就是贝叶斯网络的基础。
首次提出:Pearl, J. (1988). "Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference"
深度学习早期发展
多层感知机(MLP)
简单解释:多层感知机就像一个有多层的计算系统,信息从输入层流向输出层,中间经过多个“隐藏层”。每一层由许多简单的计算单元(“神经元”)组成,每个神经元接收前一层的信息,进行加权计算后通过一个激活函数,再把结果传给下一层。
举例:假设你要识别手写数字,输入是图片像素,输出是0-9的数字。MLP通过多层处理,逐渐从像素中提取越来越抽象的特征,最终推断出是哪个数字。
首次提出:虽然感知机概念早在1950年代就存在,但现代多层感知机的关键论文是:
"Learning representations by back-propagating errors" (Rumelhart, Hinton & Williams, 1986)
反向传播算法
简单解释:反向传播是神经网络学习的方法。当神经网络做出预测后,我们计算预测与正确答案的差距(误差),然后从输出层“反向”传递这个误差到每一层,调整每个神经元的连接权重,使下一次预测更准确。
举例:想象你在教一个孩子认识苹果。孩子说“这是梨”,你告诉他错了,这是苹果。孩子会调整他对苹果特征的理解。反向传播就是这样,通过错误来学习和调整。
首次提出:
"Learning representations by back-propagating errors" (Rumelhart, Hinton & Williams, 1986)
ReLU激活函数
简单解释:ReLU (Rectified Linear Unit) 是一个简单的函数:如果输入是正数,就保持不变;如果输入是负数,就变成零。它的简单性使神经网络训练更快,并帮助解决了深层网络训练中的“梯度消失”问题。
举例:传统的激活函数像S形曲线,在两端变化很小,导致深层网络学习变慢。ReLU就像一个开关:负值关闭,正值直通,这种简单机制让信息流动更直接高效。
首次提出:
"Rectified Linear Units Improve Restricted Boltzmann Machines" (Nair & Hinton, 2010)
Dropout
简单解释:Dropout是一种防止神经网络过度拟合的技术。训练时,随机“关闭”一部分神经元(让它们的输出为0),使网络不能过度依赖某些特定神经元,从而提高泛化能力。
举例:想象一个团队合作解决问题,如果总是依赖几个核心成员,其他人可能不积极思考。但如果每次随机让一些成员“请假”,那么所有人都必须学会独立思考,团队整体能力会更强。
首次提出:
"Dropout: A Simple Way to Prevent Neural Networks from Overfitting" (Srivastava, Hinton, et al., 2014)
BatchNorm
简单解释:BatchNorm将神经网络每一层的输入标准化(使平均值为0,方差为1),这样可以让训练更快速、更稳定。它就像给每层数据进行了“预处理”,使后续层更容易学习。
举例:假设你在教一群学生,有些学生成绩用百分制(0-100分),有些用五分制(1-5分)。为了公平比较,你需要将所有分数转换到同一标准。BatchNorm就是这样,它让神经网络各层的数据保持在一个合理的分布范围内。
首次提出:
"Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift" (Ioffe & Szegedy, 2015)
卷积神经网络(CNN)
简单解释:CNN专门设计用来处理具有网格结构的数据,比如图像。它使用“卷积”操作,通过滑动窗口在图像上移动,自动学习提取特征(如边缘、纹理、物体部分等)。CNN的核心优势是能保持空间关系,并大幅减少参数数量。
举例:想象你在寻找照片中的猫。你不会一次看整张照片,而是扫视照片的不同区域,寻找猫的特征(如耳朵、眼睛、胡须)。CNN就是这样工作的,它学习识别关键特征并组合它们。
重要里程碑论文:
LeNet: "Gradient-based learning applied to document recognition" (LeCun, et al., 1998)
AlexNet: "ImageNet Classification with Deep Convolutional Neural Networks" (Krizhevsky, Sutskever & Hinton, 2012)
VGG: "Very Deep Convolutional Networks for Large-Scale Image Recognition" (Simonyan & Zisserman, 2014)
ResNet: "Deep Residual Learning for Image Recognition" (He, Zhang, Ren & Sun, 2016)
循环神经网络(RNN)
简单解释:RNN是一种能处理序列数据的神经网络,它有"记忆"功能,能记住之前看到的信息。每次处理新输入时,它会结合当前输入和之前的“记忆状态”来更新记忆并产生输出。
举例:想象你在读一本书,理解每个句子时都会用到前面句子的上下文。RNN就像一个有短期记忆的读者,能根据之前读过的内容来理解当前内容。
首次提出:
现代RNN的基础概念可以追溯到:"Finding structure in time" (Elman, 1990)
LSTM/GRU
简单解释:
LSTM (长短期记忆网络):改进版的RNN,增加了“门”控制机制,能更好地决定哪些信息需要记住、哪些可以忘记,从而能够处理更长的序列。
GRU (门控循环单元):LSTM的简化版,功能类似但结构更简单,参数更少。
举例:普通RNN就像一个记性不太好的人,只能记住最近发生的事。而LSTM/GRU就像一个会做笔记的人,能记住重要的长期信息,忽略不重要的细节,因此能处理更复杂的长序列任务,比如翻译长段落或写作。
首次提出:
LSTM: "Long Short-Term Memory" (Hochreiter & Schmidhuber, 1997)
GRU: "Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation" (Cho, et al., 2014)
表示学习与预训练
Word2Vec
简单解释:Word2Vec是一种将单词转换为数字向量的技术。它基于一个简单而强大的思想:经常出现在相似上下文中的词,其含义也应该相似。通过分析大量文本,Word2Vec学习将每个词映射到一个固定长度的向量,使得语义相近的词在向量空间中彼此接近。
举例:在Word2Vec的向量空间中,"国王"-"男人"+"女人"≈"王后"。这说明Word2Vec不仅捕捉了词的相似性,还捕捉了词之间的关系模式。类似地,"巴黎"-"法国"+"意大利"≈"罗马",展示了它对国家和首都关系的理解。
首次提出:
"Efficient Estimation of Word Representations in Vector Space" (Mikolov, et al., 2013)
"Distributed Representations of Words and Phrases and their Compositionality" (Mikolov, et al., 2013)
GloVe
简单解释:GloVe (Global Vectors for Word Representation) 是一种结合了全局统计信息的词向量技术。与Word2Vec主要利用局部上下文窗口不同,GloVe分析整个语料库中词与词共同出现的全局统计数据,从而产生更丰富的词向量。
举例:假设我们统计“冰淇淋”和“夏天”在文本中共同出现的频率很高,而“冰淇淋”和“冬天”共同出现的频率很低。GloVe会利用这种全局共现统计信息,使“冰淇淋”的向量与“夏天”的向量更相似,与“冬天”的向量更不同。
首次提出:
"GloVe: Global Vectors for Word Representation" (Pennington, Socher & Manning, 2014)
FastText
简单解释:FastText是Word2Vec的扩展,它不仅学习整个词的向量表示,还学习词的子部分(子词)的向量。这使得模型能够处理未知词或拼写错误的词,因为它可以通过组合子词来推断完整词的意义。
举例:假设模型从未见过“跑步者”这个词,但它见过“跑步”和“者”。FastText可以结合这些子词的向量来推断"跑步者"的向量。这对于处理形态丰富的语言(如芬兰语、土耳其语)或处理拼写错误特别有用。
首次提出:
"Enriching Word Vectors with Subword Information" (Bojanowski, et al., 2017)
ELMo
简单解释:ELMo (Embeddings from Language Models) 解决了传统词向量的一个关键限制:同一个词在不同上下文中可能有不同含义。ELMo根据词出现的整个句子生成动态词向量,使得同一个词在不同上下文中可以有不同的表示。
举例:在“我去bank取钱”和“河边的bank很陡”这两个句子中,“银行”一词含义完全不同。传统词向量会给“银行”一个固定的向量,而ELMo会根据句子上下文,给这两个“银行”不同的向量表示,从而更准确地捕捉词在特定上下文中的含义。
首次提出:
"Deep contextualized word representations" (Peters, et al., 2018)
自编码器(Autoencoder)
简单解释:自编码器是一种神经网络,它学习将输入数据压缩成一个低维表示(编码),然后再从这个低维表示重建原始输入(解码)。通过最小化输入和重建输出之间的差异,网络学习捕捉数据的最重要特征。
举例:想象你需要描述一张脸给朋友画出来。你不会描述每个像素,而是会说“圆脸,大眼睛,小鼻子”等关键特征。自编码器做的事情类似,它学习用最少的信息(低维编码)来准确表示和重建复杂数据。
首次提出:
自编码器的概念可以追溯到较早,但现代自编码器的重要论文包括:"Extracting and composing robust features with denoising autoencoders" (Vincent, et al., 2008)
变分自编码器(VAE)
简单解释:变分自编码器是自编码器的进阶版,不仅能压缩和重建数据,还能生成新数据。VAE将输入编码为概率分布而非固定点,使得可以从这个分布中采样并生成新的、类似于训练数据的样本。
举例:普通自编码器就像学习如何用简短描述准确记录一张脸。而VAE则更进一步,它学习脸部特征的分布规律,因此不仅能记录看过的脸,还能“想象”并生成新的符合分布的脸。这就像艺术家能根据对人脸的理解画出从未见过但看起来真实的人脸。
首次提出:
"Auto-Encoding Variational Bayes" (Kingma & Welling, 2014)
迁移学习
简单解释:迁移学习是一种策略,它利用在一个任务上训练好的模型(预训练模型)来帮助解决另一个相关但不同的任务,通常只需要少量针对新任务的微调。这大大减少了从零开始训练模型所需的时间和数据量。
举例:想象一个人先学会了骑自行车,然后想学摩托车。他不需要从零开始学习平衡和转向,而是可以迁移已有的技能,只需学习摩托车特有的操作。类似地,一个在大量通用文本上预训练的语言模型,可以通过少量医学文本微调,迅速适应医学文本分类任务。
重要里程碑论文:
虽然迁移学习的概念早已存在,但在深度学习中的重要论文包括:"How transferable are features in deep neural networks?" (Yosinski, et al., 2014)
"Universal Language Model Fine-tuning for Text Classification" (Howard & Ruder, 2018)
Transformer及其演变
Attention机制
简单解释:Attention机制是一种让模型有选择地关注输入信息的重要部分的技术。在处理句子时,传统模型会试图记住整个句子的所有信息,这很困难。Attention允许模型在生成每个输出时,自适应地聚焦输入的不同部分,就像我们阅读长文章时会重点关注与当前要点相关的句子。
举例:想象你在翻译"The cat sat on the mat"到中文。传统模型需要记住整个英文句子,再一次性输出中文。而有Attention机制的模型在翻译"猫"时会特别关注英文中的"cat",翻译“坐”时关注"sat",以此类推。这让翻译更准确,尤其是对长句子。
首次提出:
"Neural Machine Translation by Jointly Learning to Align and Translate" (Bahdanau, Cho & Bengio, 2015)
Transformer架构
简单解释:Transformer是一种完全基于Attention机制的神经网络架构,摒弃了之前广泛使用的循环神经网络(RNN)。它使用“自注意力”(Self-Attention)机制,让模型能够并行处理句子中的所有词,同时捕捉词与词之间的长距离依赖关系。Transformer具有更高的计算效率和更强的表达能力,成为现代自然语言处理的基础架构。
举例:传统模型像人类一样按顺序阅读句子,前面的内容记得不太清时需要回头看。而Transformer就像能够同时看到整个句子的所有词,并且能够立即理解每个词与其他所有词的关系。比如在"银行门前的树已经很高了,它已经有50年历史了"这句话中,Transformer能立即理解"它"指代的是"树"而不是"银行",不需要像人类那样来回推敲。
首次提出:
"Attention Is All You Need" (Vaswani, et al., 2017)
BERT
简单解释:BERT (Bidirectional Encoder Representations from Transformers) 是一个预训练语言模型,它的核心创新在于"双向"学习 - 同时考虑词左右两侧的上下文。BERT先在大量文本上进行通用预训练(学习语言的一般知识),然后可以针对特定任务进行微调,如问答、文本分类等。
举例:想象一个填空题:“我在____买了一本书”。为了确定空缺处应该填什么,你需要同时考虑前面的"我在"和后面的“买了一本书”。BERT就是这样工作的,它同时考虑词的左右上下文。这与早期模型(如GPT-1)只考虑左侧上下文不同,使BERT能更准确理解词在具体语境中的含义。
首次提出:
"BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" (Devlin, et al., 2019)
GPT系列
简单解释:GPT (Generative Pre-trained Transformer) 系列是OpenAI开发的大型语言模型,采用“单向”或“自回归”方式工作 - 即模型只看到当前位置之前的词,然后预测下一个词。GPT模型通过在海量文本上预训练,学习预测句子中下一个词的能力,这使它们特别擅长生成连贯的文本。
举例:GPT模型就像在玩一个接龙游戏:给定"我今天去",它会预测“了”、“公园”等可能的下一个词,选出最可能的一个,比如“了”,然后基于“我今天去了”继续预测下一个词,如此循环。通过这种方式,GPT可以生成整段连贯的文字。GPT-3/4等大型模型经过大量训练后,能生成非常流畅且往往很有洞察力的文本。
首次提出:
GPT-1: "Improving Language Understanding by Generative Pre-Training" (Radford, et al., 2018)
GPT-2: "Language Models are Unsupervised Multitask Learners" (Radford, et al., 2019)
GPT-3: "Language Models are Few-Shot Learners" (Brown, et al., 2020)
T5
简单解释:T5 (Text-to-Text Transfer Transformer) 是Google提出的一个统一框架,将所有NLP任务都转换为文本到文本的格式。不管是翻译、摘要、问答还是分类,T5都用同一种方式处理:输入一段文本,输出另一段文本。这种统一处理方法简化了模型设计,同时提高了性能。
举例:传统方法为不同任务设计不同模型结构。而T5采用“万能公式”:翻译任务可表示为“翻译英文到德文: {英文句子}”,输出德文翻译;问答任务表示为“回答问题: {问题}? 上下文: {文章内容}”,输出答案;分类任务表示为“分类: {文本}”,输出类别。T5通过这种方式,用一个模型解决几乎所有的NLP任务。
首次提出:
"Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer" (Raffel, et al., 2020)
RoBERTa
简单解释:RoBERTa (Robustly Optimized BERT Approach) 是Facebook对BERT的优化版本。它没有改变BERT的基本架构,而是通过更好的训练方法显著提升了性能。主要改进包括:使用更多数据训练更长时间、移除BERT的下一句预测任务、使用更大批量和动态掩码策略等。
举例:想象BERT是一位学生,通过阅读大量书籍学习知识。RoBERTa则是改进了这位学生的学习方法:阅读更多样化的书籍,花更多时间学习,改进学习过程中的小技巧(如动态掩码相当于每次重读书籍时遮住不同的词进行猜测),从而在相同的考试(NLP任务)上获得更好的成绩。
首次提出:
"RoBERTa: A Robustly Optimized BERT Pretraining Approach" (Liu, et al., 2019)
XLNet
简单解释:XLNet结合了自回归模型(如GPT)和自编码模型(如BERT)的优势。它使用"排列语言建模"技术,通过随机排列句子中词的顺序来训练模型,使模型学会预测给定上下文中的任何词,同时避免了BERT在预训练和微调之间的不一致问题。
举例:BERT的训练方式类似于填空题(遮住一些词,然后猜),而GPT则类似于接龙(看前面的词,猜下一个)。XLNet采用了一种独特方法:它会随机决定预测句子中的哪些词,并且预测时考虑所有可能的词序排列。比如对于"我喜欢吃苹果",它可能先学习预测“喜欢”(基于“我”、“吃”、“苹果”),再学习预测“苹果”(基于其他词),以此类推。这样XLNet既能像BERT一样看到双向上下文,又能像GPT一样自然地生成文本。
首次提出:
"XLNet: Generalized Autoregressive Pretraining for Language Understanding" (Yang, et al., 2019)
ELECTRA
简单解释:ELECTRA (Efficiently Learning an Encoder that Classifies Token Replacements Accurately) 提出了一种新的预训练方法,比BERT更高效。它不是让模型预测被掩盖的词,而是训练模型检测句子中哪些词被替换过。这种"替换词检测"任务比掩码预测更有效,因为每次训练时模型可以学习所有词的信息,而不仅仅是被掩盖的15%。
举例:BERT的训练像这样:“我喜欢[MASK]苹果” → 模型预测[MASK]处是“吃”。而ELECTRA的训练则像这样:“我喜欢看苹果”(“看”是替换了原来的“吃”)→ 模型需要指出"看"是被替换的假词。这种方法让模型每次都能学习句子中所有词的信息,而不仅是被遮住的词,大大提高了训练效率。
首次提出:
"ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators" (Clark, et al., 2020)
大模型时代的关键技术
位置编码
简单解释:Transformer架构的一个挑战是它同时处理所有单词,因此需要一种方法告诉模型每个单词在句子中的位置。位置编码就是为每个位置生成一个唯一的数字模式,然后将其添加到单词的表示中,使模型能够区分不同位置的相同单词。
举例:想象一下,如果没有位置信息,"狗咬了人"和"人咬了狗"对模型来说将是一样的,因为它们包含相同的单词。位置编码就像给每个单词添加了一个"位置标签",告诉模型:"这个'人'在句首位置"或"那个'人'在句末位置",从而使模型能够理解句子的真正含义。
首次提出:
"Attention Is All You Need" (Vaswani, et al., 2017)
多头注意力
简单解释:多头注意力允许模型同时从不同角度或"头"来关注输入信息的不同部分。每个"头"可以学习捕捉不同类型的关系和模式,然后模型将所有这些不同视角的信息结合起来,形成更全面的理解。
举例:想象你在分析一部电影。一个人可能只关注情节,而错过了场景设置、角色发展或摄影技术等方面。多头注意力就像让多个不同专长的评论家同时观看电影:一个关注情节,一个关注角色关系,一个关注视觉效果等。最后,将所有这些见解结合起来,形成对电影的综合理解。在语言模型中,不同的注意力头可能关注语法关系、语义相似性、代词指代等不同方面。
首次提出:
"Attention Is All You Need" (Vaswani, et al., 2017)
稀疏注意力
简单解释:传统Transformer的注意力机制要求每个词与序列中所有其他词计算关注度,这导致计算成本随序列长度平方增长,限制了处理长文本的能力。稀疏注意力通过让每个词只关注一部分其他词(而非全部),大大减少了计算量,使模型能处理更长的文本。
举例:想象你在读一本厚书。完全理解每个句子通常不需要记住书中的每一个词,而是记住附近的上下文、重要的关键词和章节的主要论点。稀疏注意力也是类似的策略:它可能让每个词主要关注它附近的词、一些固定的“全局”词,以及一些随机选择的词,而不是所有词。这样,模型仍能捕捉到关键的长距离关系,同时大大降低计算负担。
首次提出:
Longformer: "Longformer: The Long-Document Transformer" (Beltagy, Peters & Cohan, 2020)
BigBird: "Big Bird: Transformers for Longer Sequences" (Zaheer, et al., 2020)
混合专家模型(MoE) - 如Switch Transformer和GLaM
简单解释:混合专家模型(Mixture of Experts)是一种将大型神经网络分解为多个“专家”子网络的方法,每个专家负责处理不同类型的输入。当处理一个输入时,系统会动态决定使用哪些专家,而不是激活整个网络。这允许模型总参数量非常大,而只使用其中一小部分来处理每个输入。
举例:想象一个大型医院里有各科专家。当病人来就诊时,前台会根据症状将患者转给最合适的专家,而不是让每个专家都看一遍。混合专家模型就是这样工作的:有一个"路由器"组件决定将输入发送给哪些"专家"网络处理。这使得模型可以高效地扩展到数万亿参数,因为处理每个输入只需激活其中很小一部分参数。
首次提出:
混合专家的概念较早就有,但在大型语言模型中的应用:"Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity" (Fedus, Zoph & Shazeer, 2022)
"GLaM: Efficient Scaling of Language Models with Mixture-of-Experts" (Du, et al., 2022)
指令微调(Instruction Tuning)
简单解释:指令微调是一种训练方法,通过大量形如"指令-回答"的数据对模型进行微调,使其更好地理解和执行各种自然语言指令。这种方法让语言模型从“预测下一个词"转变为"按照指令完成任务”,大大提高了模型的实用性。
举例:传统语言模型训练像是教孩子阅读书籍,让他能流利地接着说出句子。而指令微调则是进一步教导孩子:当有人说“解释什么是光合作用”时,你应该提供一个关于光合作用的清晰解释,而不仅仅是预测下一个词。通过大量这样的指令-回应对训练,模型学会了理解各种指令并相应地调整其输出格式和内容。
首次提出:
"Finetuned Language Models Are Zero-Shot Learners" (Wei, et al., 2022) - 提出了FLAN微调方法
"Training Language Models to Follow Instructions with Human Feedback" (Ouyang, et al., 2022) - 详细描述了InstructGPT
RLHF
简单解释:RLHF (Reinforcement Learning from Human Feedback) 是一种利用人类反馈来优化语言模型的方法。它包括三个主要步骤:1)基础模型训练,2)使用人类反馈数据训练奖励模型,3)使用强化学习基于奖励模型进一步优化语言模型。这使得模型能够生成更符合人类偏好的回答。
举例:想象你在教一个外国人说你的语言。最初,他可能会说出语法正确但不自然的句子。你会告诉他:“这句听起来不太自然,那句听起来更好”。RLHF就是这样工作的:人类评判不同模型回答的好坏,系统学习这些偏好,形成一个"奖励模型"。然后,语言模型通过试错学习,尝试生成能获得高奖励的回答,逐渐调整自己以产生更符合人类期望的输出。
首次提出:
"Training Language Models to Follow Instructions with Human Feedback" (Ouyang, et al., 2022) - OpenAI的InstructGPT论文详细介绍了RLHF应用于大型语言模型的方法
思维链(Chain-of-Thought)
简单解释:思维链(Chain-of-Thought)是一种提示大型语言模型的技术,鼓励模型像人类一样逐步思考问题。不是直接要求模型给出最终答案,而是引导它生成中间推理步骤,从而提高解决复杂问题(尤其是数学和逻辑推理问题)的能力。
举例:传统提示可能是:“23×17的结果是多少?”而思维链提示会是:“让我们一步步计算23×17。首先,17×3=51,17×20=340,所以17×23=340+51=391。因此,23×17=391。”通过展示这种逐步思考的例子,模型学会了分解复杂问题并展示推理过程,而不是仅给出可能错误的直接答案。这种方法显著提高了模型在数学、逻辑和常识推理任务上的表现。
首次提出:
"Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" (Wei, et al., 2022)
In-Context Learning
简单解释:In-Context Learning(上下文学习)是大型语言模型的一种能力,它允许模型仅通过在输入提示中看到几个示例,就能快速理解并执行新任务,无需任何参数更新。这是大型语言模型最令人惊奇的能力之一,让它们可以作为"通用学习者"。
举例:想象你遇到一个从未玩过的游戏。如果有人给你展示几轮游戏示范:“输入A,输出B;输入C,输出D”,你可能很快就能理解规则。大模型的上下文学习也是如此。例如,你可以给GPT-4提供几个英语到法语的翻译例子:"Hello→Bonjour, Goodbye→Au revoir",然后问它"Thank you"的翻译,它会回答"Merci",尽管模型从未被专门训练来执行翻译任务。模型能够从提示中的模式快速"学习",并将这种模式应用到新的输入上。
首次提出:
"Language Models are Few-Shot Learners" (Brown, et al., 2020) - GPT-3论文首次详细描述了大型语言模型的少样本学习能力
Prompt Engineering
简单解释:提示工程是设计和优化输入到语言模型的文本提示的艺术与科学,目的是引导模型生成更准确、相关和有用的输出。它包括各种技巧和策略,如提示格式化、角色设定、思维链提示、少样本示例等,以充分发挥模型的能力。
举例:想象你在使用翻译软件,发现直接输入"The spirit is willing but the flesh is weak"会得到字面却不准确的翻译。一个好的提示工程师会改进提示:"这是一个英语谚语:'The spirit is willing but the flesh is weak'。请提供一个传达相同含义的中文表达方式,而不是字面翻译。"这种改进的提示更可能产生"心有余而力不足"这样的恰当翻译。提示工程就是这样的过程:通过精心设计输入,使模型更好地理解你的意图并提供更有价值的输出。
相关文献:
提示工程是随着大型语言模型的应用而逐渐发展的实践领域,没有单一的奠基论文,但以下是重要的相关研究:
"Language Models are Few-Shot Learners" (Brown, et al., 2020)
"Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" (Wei, et al., 2022)
"Large Language Models Are Human-Level Prompt Engineers" (Zhou, et al., 2023)
训练与优化技术
Adam优化器
简单解释:Adam是一种智能的优化器,用于训练深度神经网络。传统的梯度下降法对所有参数使用相同的学习速率,而Adam会为每个参数自动调整学习速率。它结合了两种之前的优化方法的优点:AdaGrad(能处理稀疏梯度)和RMSProp(能处理非平稳目标)。
举例:想象你在山上寻找最低点。传统方法就像闭着眼睛,每次都迈同样大小的步子下山。有时步子太大会跳过谷底,有时太小则前进太慢。Adam就像一个聪明的登山者,在陡峭的地方迈小步,在平缓的地方迈大步,还会根据之前的行走经验调整步伐,因此能更快更稳地找到山谷最低点。
首次提出:
"Adam: A Method for Stochastic Optimization" (Kingma & Ba, 2015)
梯度累积
简单解释:梯度累积是一种内存节约技术,允许在有限内存条件下实现大批量训练效果。它通过将大批量数据分成几个小批量,分别计算每个小批量的梯度但不立即更新模型参数,而是累积这些梯度,在处理完所有小批量后,使用累积的梯度进行一次参数更新。
举例:想象你要计算100道题的平均分,但你的计算器内存只能同时处理25道题。梯度累积就像先计算25道题的总分并记下来,然后清空计算器继续计算下25道,如此重复四次。最后把四组总分相加并除以100,得到的结果与一次性计算100道题的平均分相同。这样你就用有限的计算器内存,完成了需要更大内存的任务。
技术应用:
虽然没有专门的首发论文,但这是深度学习工程中常用的技术,在许多大模型训练框架中有实现。
混合精度训练
简单解释:混合精度训练使用较低精度(如FP16半精度浮点数)和标准精度(如FP32单精度浮点数)的混合来训练神经网络。较低精度计算速度更快、内存占用更少,但在某些关键操作中可能导致数值不稳定。混合精度方法智能地在速度和精度之间取得平衡,保持模型性能的同时显著加快训练速度。
举例:想象你在做家庭预算。大多数时候,计算到元就足够了(低精度),但在最终汇总或关键决策时,你会精确到分(高精度)。混合精度训练就是这样:大部分计算用"粗略"但快速的方式,关键步骤则用"精细"但较慢的方式,从而在总体上加快计算速度而不损失准确性。
首次提出:
"Mixed Precision Training" (Micikevicius, et al., 2018)
知识蒸馏
简单解释:知识蒸馏是一种将“教师模型”(通常是大型复杂模型)的“知识”转移到“学生模型”(通常是小型轻量级模型)的技术。学生模型不仅学习训练数据的真实标签,还学习教师模型的输出概率分布(“软标签”),这些软标签包含丰富的相似性信息,能帮助小模型获得接近大模型的性能。
举例:想象一位经验丰富的教师(大模型)教导一名学生(小模型)识别动物。教师不只告诉学生“这是猫”(硬标签),还会解释“这看起来90%像猫,7%像狐狸,3%像狗”(软标签)。这种细微的相似性知识帮助学生形成更丰富的理解,使其在资源有限的情况下也能接近教师的水平。
首次提出:
"Distilling the Knowledge in a Neural Network" (Hinton, Vinyals & Dean, 2015)
模型量化
简单解释:模型量化是将神经网络中的权重和计算从高精度(如32位浮点数)转换为低精度表示(如8位整数或更低)的技术。这大大减少了模型的大小和计算复杂度,使得复杂模型能在资源受限的设备上运行,同时尽量保持原有的性能。
举例:传统高精度模型就像使用高精度小数(如3.14159265)来记录和计算,非常精确但需要更多存储空间和计算资源。模型量化相当于四舍五入到较少的位数(如3.14),牺牲一点精度,但大幅减少资源需求。在许多实际应用中,这种简化几乎不影响最终结果,但却能让模型在手机或嵌入式设备上流畅运行。
重要相关论文:
虽然量化技术有多种方法,早期重要的工作包括:
"Quantized Neural Networks: Training Neural Networks with Low Precision Weights and Activations" (Hubara, et al., 2017)
模型并行
简单解释:模型并行是一种将大型神经网络分割到多个计算设备(如GPU)上的技术,使得超出单个设备内存限制的巨型模型也能被训练。与数据并行(每个设备都有完整模型的副本,但处理不同数据)不同,模型并行将单个模型的不同部分分布到不同设备上,需要设备间的协调来完成正向和反向传播。
举例:想象一个大型拼图,单个桌子放不下。模型并行就像把拼图分成几部分,放在不同的桌子上,由不同的人同时拼装,但他们需要不断交流边界信息以确保整体的一致性。类似地,一个超大型语言模型可能被分割成多个层或部分,分布在多个GPU上,每个GPU计算模型的一部分,并与其他GPU通信以完成整体计算。
重要相关论文:
模型并行是一个广泛的概念,但一些重要的实现和改进包括:"Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism" (Shoeybi, et al., 2019)
DeepSpeed/Megatron
简单解释:DeepSpeed和Megatron是为训练超大型神经网络(数十亿到数万亿参数)而设计的框架和优化技术集合。它们结合了多种并行策略(如数据并行、模型并行、流水线并行等),以及内存优化技术(如激活值重计算、优化器状态分区等),使得在现有硬件上能够高效训练前所未有规模的模型。
DeepSpeed:由微软开发,是一个深度学习优化库,提供了ZeRO(零冗余优化器)系列技术,可以高效地在分布式环境中训练大模型,同时减少内存占用和通信开销。
Megatron:由NVIDIA开发,专注于Transformer类大型语言模型的训练,提供了高效的模型并行和张量并行实现。
举例:训练如GPT-3这样拥有1750亿参数的模型,就像协调一个超大型建筑项目。你需要数千名工人(GPU),精确的分工(不同类型的并行),高效的资源分配(内存优化),以及完善的通信机制(设备间数据传输)。DeepSpeed和Megatron就像是这样的超大型项目的管理系统,它们确保所有资源高效协同工作,使得原本看似不可能的任务变得可行。
相关论文:
DeepSpeed: "ZeRO: Memory Optimizations Toward Training Trillion Parameter Models" (Rajbhandari, et al., 2020)
Megatron: "Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism" (Shoeybi, et al., 2019)
最新发展: "Efficient Large-Scale Language Model Training on GPU Clusters Using Megatron-LM" (Narayanan, et al., 2021)
多模态与跨模态技术
CLIP
简单解释:CLIP (Contrastive Language-Image Pre-training) 是一种同时理解图像和文本的AI模型。它通过对比学习的方式,同时训练视觉模型和文本模型,让它们将相匹配的图像和文本映射到相近的空间位置,不匹配的则映射到远离的位置。这使CLIP能够理解图像的内容并将其与语言描述关联起来。
举例:假设你有一张猫的图片和几个描述:“一只猫”、“一只狗”、“一辆汽车”。CLIP会计算这张图片与各个描述的匹配程度,并正确识别出“一只猫”是最匹配的描述。CLIP的强大之处在于它学习了广泛的视觉概念,即使是训练中从未见过的新概念,它也能够进行零样本识别。比如它可能从未专门训练识别“戴红帽子的企鹅”,但它理解“企鹅”和“红帽子”的概念,因此能够识别出这种组合。
首次提出:
"Learning Transferable Visual Models From Natural Language Supervision" (Radford, et al., 2021)
DALL-E/Stable Diffusion
简单解释:
DALL-E:OpenAI开发的AI系统,能根据文本描述生成相应的图像。它结合了GPT(语言理解)和生成式图像模型的能力,可以创作出各种风格的图像,甚至是现实中不存在的概念组合。
Stable Diffusion:一种开源的文本到图像生成模型,使用"扩散"技术 - 先从随机噪声开始,然后逐步去除噪声,形成清晰的图像。它的公开发布极大地推动了AI艺术创作的普及。
举例:输入“一只穿着宇航服在月球上弹吉他的猫”,这些模型能生成相应的画面,尽管这样的场景在现实中不存在。它们不只是从训练数据中复制图像,而是真正理解了文本描述中的各个概念(猫、宇航服、月球、吉他),并能将这些概念创造性地组合在一起。
首次提出:
DALL-E: "Zero-Shot Text-to-Image Generation" (Ramesh, et al., 2021)
Stable Diffusion基于: "High-Resolution Image Synthesis with Latent Diffusion Models" (Rombach, et al., 2022)
Vision Transformer(ViT)
简单解释:Vision Transformer(ViT)是将原本为文本设计的Transformer架构应用于图像处理的模型。传统上,计算机视觉主要使用卷积神经网络(CNN),而ViT证明Transformer也能高效处理图像。ViT的核心思想是将图像分割成多个小块(patches),就像将一段文本分成多个词一样,然后用Transformer处理这些图像块之间的关系。
举例:想象将一张16×16的图像切成4×4的小块,得到16个图像块。ViT就像是将这些图像块当作"词",使用与处理文本相同的Transformer架构来理解它们之间的关系。这种方法在大规模数据集上训练后,能够有效捕捉图像中的远程依赖关系,比如理解"一只猫坐在沙发上"这样的场景,需要同时理解"猫"和"沙发"这两个可能在图像中相距较远的对象。
首次提出:
"An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale" (Dosovitskiy, et al., 2021)
BLIP/BLIP-2
简单解释:
BLIP (Bootstrapping Language-Image Pre-training):一个能够同时理解图像和文本,并在两种模态之间进行转换的模型。它可以为图像生成描述、回答关于图像的问题,或根据描述检索相关图像。
BLIP-2:BLIP的改进版,引入了一种更高效的架构,使用一个"桥接"模块连接预训练的视觉模型和语言模型,大幅提高了性能和效率。
举例:给BLIP/BLIP-2一张家庭聚餐的照片,它可以生成描述如“一家人围坐在餐桌旁共进晚餐”。你还可以问它问题,如“桌上有几个人?”或“他们在吃什么?”,它会根据图像内容给出回答。这种能力使它成为视觉问答、图像描述等任务的强大工具。
首次提出:
BLIP: "BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation" (Li, et al., 2022)
BLIP-2: "BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models" (Li, et al., 2023)
SAM(Segment Anything Model)
简单解释:SAM是一个能够识别和分割图像中任何物体的AI模型。与传统分割模型不同,SAM可以通过多种方式接收提示(如点击、框选或文本描述),然后精确地识别并勾勒出所指示物体的边界。它在超过10亿张图像上训练,具有强大的泛化能力,能处理各种各样的物体和场景。
举例:假设你有一张复杂的自然风景照片,包含树木、山脉、湖泊和动物。使用SAM,你可以简单地点击照片中的一棵树,SAM会精确地勾勒出整棵树的轮廓;点击湖面,它会分割出整个湖泊;框选一只动物,它会识别出动物的精确边界。这种能力让图像编辑、物体计数、场景理解等任务变得更加简单。
首次提出:
"Segment Anything" (Kirillov, et al., 2023)
LLaVA
简单解释:LLaVA (Large Language and Vision Assistant) 将大型语言模型与视觉理解能力结合,创建了一个能够看图说话的AI助手。它可以理解图像内容,并能就图像进行自然、详细的对话。LLaVA的核心创新在于用相对少量的图像-文本对话数据,高效地将视觉信息连接到强大的语言模型中。
举例:向LLaVA展示一张城市街景照片,你可以问“这张照片中有什么?”,它会识别出建筑、行人、车辆等元素;进一步问“这可能是哪个城市?为什么?”,它会基于建筑风格、标志性建筑或其他视觉线索推测城市,并解释推理过程;甚至可以问“如果下雨了,这个场景会有什么变化?”,它能够基于对现实世界的理解,描述雨天可能带来的变化,如湿滑的路面、打伞的行人等。
首次提出:
"Visual Instruction Tuning" (Liu, et al., 2023)
最新研究方向
RAG(Retrieval-Augmented Generation)
简单解释:RAG结合了两个关键能力:信息检索和文本生成。当面对一个问题时,RAG系统首先从外部知识库检索相关信息,然后将这些检索到的信息与原始问题一起输入到生成模型中,生成更准确、更可靠的回答。
举例:想象你在问AI一个关于最新医学研究的问题。普通生成模型只能基于训练数据回答,可能信息过时。但RAG系统会先搜索最新的医学数据库,找到相关文献,然后基于这些最新信息生成回答。就像一个学者,不仅依靠记忆回答问题,还会查阅最新资料确保答案准确。
首次提出:
"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks" (Lewis, et al., 2020)
Agent框架
简单解释:Agent(代理)框架将大语言模型转变为能够自主采取行动的系统。它们不仅能理解和生成文本,还能规划任务、使用工具、与环境交互并执行复杂指令。Agent通常具备规划能力、记忆机制、工具使用能力和自我反思能力。
举例:想象一个虚拟助手,你告诉它"帮我计划一次欧洲旅行"。传统模型只会生成建议文本,而Agent会主动规划步骤(查找航班、酒店),使用工具(浏览器、日历、预订系统),记住你的偏好,在遇到问题时重新调整计划,并与你交互确认细节,直到任务完成。
重要里程碑论文:
"ReAct: Synergizing Reasoning and Acting in Language Models" (Yao, et al., 2022)
"Tool Learning with Foundation Models" (Qin, et al., 2023)
"Generative Agents: Interactive Simulacra of Human Behavior" (Park, et al., 2023)
多模态大模型
简单解释:多模态大模型能够同时理解和处理多种类型的信息,如文本、图像、音频和视频。这些模型超越了纯文本处理的限制,能够“看”图像、“听”声音,并将不同模态的信息整合起来进行理解和生成。
举例:你可以向多模态模型展示一张家庭聚会的照片,询问“这张照片中有什么不对劲的地方?”,模型能识别照片中的场景、人物表情、服装细节,并指出可能的异常,如"有个人举着奇怪的手势"或"背景的时钟显示深夜,但窗外阳光明媚"。这种能力使模型更接近人类的全面感知和理解。
重要里程碑:
GPT-4: "GPT-4 Technical Report" (OpenAI, 2023)
Claude 3: Anthropic公司的Claude系列模型
Gemini: "Gemini: A Family of Highly Capable Multimodal Models" (Google, 2023)
自监督学习
简单解释:自监督学习是一种让AI从未标注数据中学习的方法。它通过创造“伪任务”——例如预测图像缺失部分、判断句子顺序是否被打乱等——让模型从数据本身学习有意义的表示,而不需要人工标注。
举例:MAE(Masked Autoencoder)会随机遮挡图像的大部分区域,然后训练模型重建这些缺失部分。这就像拼图游戏,模型必须理解图像的整体结构和模式才能准确填补缺失部分。通过这种自创的任务,模型学会了理解图像的本质特征,而不需要人为告诉它"这是猫,那是狗"。
重要论文:
MAE: "Masked Autoencoders Are Scalable Vision Learners" (He, et al., 2021)
SimCLR: "A Simple Framework for Contrastive Learning of Visual Representations" (Chen, et al., 2020)
BERT: "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" (Devlin, et al., 2018)
基础模型(Foundation Models)
简单解释:基础模型是在海量数据上预训练的大型模型,它们不针对特定任务优化,而是学习通用的知识和能力,然后可以通过微调或提示适应各种下游任务。它们“基础”在于它们为众多AI应用提供了共同起点。
举例:想象一个精通多种学科的学者,虽然没有专门学习过烹饪,但基于广博的知识,稍加学习就能理解烹饪原理并创新菜谱。基础模型就像这样,它可能在预训练时从未专门学习过医学诊断,但通过在医学数据上微调,它能快速适应并表现出专业水平的诊断能力。
重要里程碑:
"On the Opportunities and Risks of Foundation Models" (Bommasani, et al., 2021)
GPT-3: "Language Models are Few-Shot Learners" (Brown, et al., 2020)
小型高效模型
简单解释:小型高效模型是为了解决大型模型计算资源需求高、部署成本昂贵的问题而设计的。它们通过更智能的训练方法、更高质量的数据和更精巧的架构设计,实现在较小模型规模下获得接近大模型的性能。
举例:想象两位翻译者,一位需要查阅厚重的词典和语法书,而另一位只携带一本精选的便携指南,却能达到相似的翻译质量。小型高效模型就像第二位翻译者,它们通过"学习精华"而非“囫囵吞枣”,以较小的体积获得优秀性能,可以在手机等资源受限设备上运行。
重要模型:
Phi: "Phi-1: Textbooks Are All You Need" (Microsoft, 2023)
Gemma: Google在2024年发布的开源高效模型系列
Mistral: "Mistral 7B" (Mistral AI, 2023)
混合架构
简单解释:混合架构模型不满足于纯Transformer结构的局限,探索结合其他算法优势的新架构。这些模型保留Transformer的强大表示能力,同时融入其他结构(如状态空间模型、循环神经网络)的特长,实现更高效的序列处理或更长的上下文理解。
举例:传统Transformer处理长文本时,就像人要记住一本书的全部内容一样困难且资源密集。而Mamba等混合架构就像一个能边读边做笔记的学习者,通过维护和更新关键状态信息,既能高效处理文本,又能保持对长距离信息的记忆。这让它们能以更少的计算资源处理更长的文本。
重要论文:
Mamba: "Mamba: Linear-Time Sequence Modeling with Selective State Spaces" (Gu & Dao, 2023)
RetNet: "Retentive Network: A Successor to Transformer for Large Language Models" (Sun, et al., 2023)
扩展阅读
llama2、Qwen-2.5、Deepseek技术报告
https://transformers.run/
https://github.com/nndl/nndl.github.io
写在最后
这场认知革命没有终点,正如维特根斯坦所言:“语言的边界即世界的边界”。节后还将为大家带来《工程研发的算法修养》系列文章第二篇,将围绕“应用实践”,讲述RAG搭建、模拟Agent流程,以及基于HTTP的MCP Server等,欢迎持续关注“滴滴技术”公众号!
本期话题有奖互动,讲述你对大模型发展的看待?作者将选5位小伙伴,送上“滴滴开源笔记本”。
原文始发于微信公众号(滴滴技术):浅聊一下,大模型的前世今生 | 工程研发的算法修养系列(一)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论