本文深入浅出地介绍了ChatGPT等大模型背后的核心架构——Transformer,从语言处理的难点出发,详细解析了Transformer如何通过注意力机制、多头注意力、位置编码等设计解决传统方法的瓶颈,并阐述了Transformer的训练与推理过程、不同模型家族及应用场景,最后总结了Transformer的优缺点及对企业决策者的八条实话,旨在帮助读者全面理解大模型的工作原理及实际应用中的考量因素。
你现在用的每一个大模型,背后站着的都是同一张架构图。
ChatGPT 也好,国产的对话助手也好,能看图、能写代码、能做翻译的那些模型也好,往上追溯,都会回到 2017 年的一篇论文。它的标题很嚣张,叫《Attention Is All You Need》 ,翻译过来是"注意力就是你所需要的一切"。发表在当年的神经信息处理系统大会(NeurIPS 2017),编号 arXiv:1706.03762。
八年过去,这篇论文被引用的次数以十万计。它提出的架构,叫 Transformer。
很多人对 Transformer 的印象停在"它很厉害"。可一旦被老板或客户追问"它到底怎么工作的,为什么能处理那么长的文本,为什么这么贵",就答不上来了。这篇文章要做的事只有一件:把 Transformer 从外到里拆开, 拆到每一块零件、每一个公式,让你下次讨论 AI 时,心里有底。
一、先搞清楚:语言为什么难倒机器
机器眼里的文字,本质上是一串数字。
从词到向量
第一步是把词变成向量,这个过程叫词嵌入(embedding)。每个词对应一个几百维的数组,语义相近的词,向量方向也相近。这一步之后,句子就变成了一串向量。
这个向量空间很有意思。它的维度通常有几百上千,每一维都没有人类能直接读懂的含义,却共同编码了词的语义。经典例子是,把"国王"的向量减去"男人"的向量,再加上"女人"的向量,结果最接近的竟然是"女王"。 词语之间的语义关系,被压缩成了向量空间里的几何关系。近义词挤在一起,反义词方向相反,一个词可能有多个含义,就分布在空间的不同区域。
分词:机器眼里的最小单位是 token
还有一步常被忽略,就是分词。
机器并不真正认识"字"或"词"。喂给模型的,是一串叫 token 的最小单位。英文里一个 token 可能是一个词根、一个单词或半个单词;中文里一个 token 大致对应一个或半个汉字。模型先按一张几万到十几万条的"词表"把文本切成 t oken,再给每个 token 编号,然后才轮到向量化。
这一步看着琐碎,其实很关键。模型的成本大多按 token 计费,上下文窗口按 token 计量,一份中文文档和一份英文文档,切出来的 token 数往往不一样。很多企业算 AI 预算时忽略分词,结果预估和账单对不上, 就是栽在这里。
麻烦出在下一步。语言是有顺序的。同样三个词,“猫追老鼠"和"老鼠追猫”,意思正好相反,可它们包含的词是同一批。机器必须理解"谁在前谁在后",还要理解"哪个词修饰哪个词"。
更麻烦的是长距离依赖。看这句话:"我把那本在书店里翻了半小时、最后因为太贵没舍得买、后来在网上打折才拿下的书,借给了同事。“动词"借"的宾语,是十几字之前的"书”。模型必须一路记住这个关系,才能在后面处理时不迷路。
于是,深度学习几十年里,处理语言的主流方案,是循环神经网络(Recurrent Neural Network,简称 RNN)。
二、RNN 的三道死结
RNN 的思路很符合直觉:像人读书一样,一个词一个词地读,读一个,就更新一次"记忆",也就是隐藏状态。用公式说,就是每一步的隐藏状态 h,由上一个隐藏状态和当前输入共同决定。
这个设计在处理短句时没问题,可一旦语句变长、数据变大,三道死结就暴露了。
第一道,没法并行。因为第 5 步的计算依赖第 4 步的结果,第 4 步又依赖第 3 步,只能排队一步步来。这意味着训练时,再多的 GPU 也帮不上忙,因为任务本身没法拆开同时算。训练一个大模型要几个月, 很大一部分原因就卡在这里。
第二道,长程信息会衰减。信息在隐藏状态里一步步传递,每传一步就损耗一点,走上一两百步,前面词的信息基本被冲淡了。学界后来发明了长短期记忆网络(LSTM)来缓解,靠"门控"机制有选择地保留或遗忘,可这只是缓解, 没有根治。序列再长,照样会忘。这就是所谓的梯度消失问题,越往前的信息,越难传到后面。
第三道,固定瓶颈。所有信息都被压进一个固定长度的隐藏状态里。句子越长,这个向量要装的东西越多,就像一个容量固定的盒子,迟早装不下。句子短的时候隐状态够用,句子一长,它就成了整个模型的独木桥。
| 维度 | RNN / LSTM | Transformer |
|---|---|---|
| 计算方式 | 逐步串行 | 全序列并行 |
| 长程依赖 | 会衰减,需门控缓解 | 任意两词直接相连 |
| 训练速度 | 受序列长度限制 | 可充分利用 GPU |
| 信息瓶颈 | 固定长度隐藏状态 | 逐词独立的向量表示 |
有一个指标能直观说明差距,叫最大路径长度,指的是任意两个词之间,信息要经过多少步才能传递过去。循环网络里,相隔很远的两个词,信息要走很多步,路径长度随序列线性增长;卷积网络里,要经过多层叠加才能覆盖远距离; 而在自注意力里,任意两个词都直接相连,路径长度永远是 1。
路径长度短,意味着远距离的信息不用长途跋涉,既不容易衰减,也更容易训练。这是 Transformer 在结构上的根本优势。
2017 年前后,Google 的团队换了个思路:既然循环是瓶颈,那就把循环彻底扔掉。
三、2017 年那篇论文,一句话把循环扔了
《Attention Is All You Need》的核心主张,写在标题里:处理序列,只需要注意力机制,不需要循环,也不需要卷积。
这是一个反直觉的赌注。当时所有人都默认,处理序列就该有"循序"的结构。这篇论文说,不。让每个词直接和句子里的其他所有词发生关系,顺序问题用别的手段补上。
结果这个赌注赢了。Transformer 不但效果更好,还把训练速度提高了一个数量级,因为它的计算方式天然适合并行。短短几年,它从机器翻译扩散到几乎全部 AI 领域,成了大模型时代的地基。
论文里的模型不大。基础版约 6500 万参数,大号版约 2.13 亿参数。用 8 块当时顶级的 GPU,基础版训练 12 小时,大号版训练 3.5 天。放在今天,这个规模小得像个玩具,可它埋下的种子, 长成了后来的参天大树。
接下来,我们一块一块地拆它。
四、注意力:让每个词去问所有词"你跟我多相关"
先建立一个比喻。
想象一个图书馆。你想找某方面的资料,这是你的"查询"(Query)。每本书都有一个标签,描述自己讲什么,这是"键"(Key)。每本书的正文内容,是"值"(Value)。
你的做法是:拿自己的查询,去和每一本书的标签比对,越匹配的书,你越重视。最后,你按匹配程度,把各本书的内容加权综合起来,得到你要的答案。
注意力机制就是这套流程。这也解释了它为什么叫"注意力",因为它的动作,就是"把注意力分配到相关的部分"。
在处理一句话时,每个词都会生成三个向量:查询向量 Q、键向量 K、值向量 V。它们是把词的原始向量,分别乘上三个可学习的权重矩阵得到的。矩阵里的数字,是模型在训练中自己学出来的。
接着,对每一个词,拿它的 Q 去和所有词的 K 做点积。点积是一种相似度度量,两个向量越接近,点积越大。这样,每个词就得到了一串"和其他每个词的相关度分数"。
最后,把这些分数用 softmax 归一化成权重,再对所有词的 V 加权求和。权重大的词,贡献就大。于是,每个词都得到一个融合了全句信息的新表示。
一句话里,词"它"会重点看它指代的那个名词;动词会重点看它的主语和宾语。这些"谁该看谁"的关系,全是模型自己学出来的,没有人手工写规则。
注意力权重长什么样?可以把它画成一个矩阵。行是"谁在看",列是"看谁",格子里的深浅,代表注意力有多强。
上面这张图是一个示意。横轴是每个词被关注的程度,纵轴是发起关注的词。可以看到,代词"it"那一行,在"cat"和"mat"两列颜色最深,说明模型在处理"it"时,重点回看了它可能指代的名词。而在其他行里, 注意力大多集中在自己和相邻的词上,这是很常见的模式。
真实的模型里,不同的层、不同的头,会学到完全不同的注意力模式。浅层往往关注相邻的词和语法,深层则更关注语义和指代。注意力矩阵,其实就是模型理解一句话的"热力图",它让原本黑箱的神经网络,第一次有了一点可解释性。
五、一次完整的走查:把一句话送进 Transformer
概念讲完了,我们走一遍完整流程,看看一句话是怎么被处理成下一个词的。
假设输入是"小猫坐在垫子上",任务是把这句话翻译成英文。
第一步,分词。文本被切成若干 token,每个 token 换成一个编号。
第二步,嵌入加位置编码。每个 token 拿到自己的向量,再叠加位置编码,于是模型同时知道"这个词是什么意思"和"它排在第几位"。这一步之后,句子变成了一串带位置信息的向量。
第三步,进入编码器。向量依次穿过 6 层。每一层里,先是自注意力让每个词都能看到全句,比如"坐"会同时关注"小猫"和"垫子",弄清楚是谁坐在什么上面;接着前馈网络对每个词单独加工。6 层之后,编码器输出一串"每个词都理解了全句语境"的向 量。
第四步,进入解码器。解码器开始时只有一个起始标记,它的任务是逐个生成英文。第一层,掩码自注意力只允许看已经生成的词,保证不偷看未来。第二层,交叉注意力拿着正在生成的位置,回头去查编码器输出的中文向量, 找到此刻该对应的部分。第三层,前馈网络加工。
第五步,输出。解码器顶层的向量,经过一次线性变换,变成词表里每个候选词的分数,再经 softmax 变成概率。概率最高的词,就是这一步的输出,比如先出来"The"。
第六步,循环。把刚生成的"The"接回输入,重复第
四、五步,生成下一个词"cat",再生成下一个。如此反复,直到生成结束标记。
整段流程里,模型唯一在做的事,是根据已有的词,预测下一个最可能的词,一次一个。翻译、问答、写代码,全都是在这个循环里完成的。理解了这一点,你也就理解了为什么推理会这么耗算力,因为它是真的一步一步往外蹦。
六、核心引擎:缩放点积注意力
把前面那套流程写成公式,就是 Transformer 的心脏。
这个式子叫缩放点积注意力(Scaled Dot-Product Attention)。别看它短,整篇论文都围着它转。我们逐项拆。
公式逐项拆解
Q、K、V 前面解释过了,分别是查询、键、值三个矩阵。
Q 乘上 K 的转置,得到一个方阵。这个方阵的第 i 行第 j 列,就是第 i 个词对第 j 个词的原始相关度。行数等于词数,列数也等于词数,比如句子里有 10 个词,就是 10 乘 10 的矩阵。这一步, 是在算"谁和谁有多像"。
除以根号 d_k,是缩放。d_k 是键向量的维度。这一步的原因很关键,下面单独讲。
外面套一层 softmax,是把每一行的分数变成概率,让它们都为正数,加起来等于 1。于是每一行代表"这个词把注意力按什么比例分给了全句的词"。
最后乘上 V,是加权求和。注意力权重高的词,它携带的内容就更多地进入这个词的新表示。
整个流程没有任何需要循环的地方,所有的计算都是矩阵乘法。这正是它能并行的根本原因。
换个角度:注意力是一次可微分的软检索
其实前面那套流程,可以用更熟悉的词来解释。
传统检索是这样的:你输入关键词,系统返回最匹配的一本书,要么命中,要么不命中。它是硬的,非此即彼。
注意力把这个过程变软了。它对每一本书都给出一个权重,不丢弃任何一本,只是让更相关的书贡献更多。权重连续可调,也可以求导。正因为可导,整个机制才能放进神经网络里,跟着梯度一起被训练。
这个类比能帮你理解很多事。检索库是外部硬检索,注意力是模型内部的软检索。前者靠外部系统把相关材料挑出来喂给模型,后者靠模型自己把注意力分配到合适的位置。两者思路相通,规模不同。理解了这一点,再看检索增强那一套做法, 就会觉得顺理成章。
为什么非要除以根号 d_k
这是原论文里一个很精妙的细节,也是常见的面试问题。
随着向量维度 d_k 变大,点积的数值也会变大。道理很朴素:点积要把 d_k 个数两两相乘再相加,参与的数越多,结果越大,波动也越大。数学上可以证明,如果 Q 和 K 的每个分量都是均值 0、方差 1 的独立随机数, 它们的点积方差会正比于 d_k,标准差就正比于 d_k 的平方根。
而 softmax 有个脾气。输入数值小的时候,它输出平缓,梯度正常,模型学得动。可一旦输入数值很大,softmax 会变得极其"极端",把几乎全部权重都压给最大值那一项,其余的接近零。在这种状态下, 梯度小到几乎为零,模型就学不动了,训练会停滞。原论文的说法是,点积变大后把 softmax 推进了"梯度极小的区域"。
解决办法就是把点积除以根号 d_k,把数值拉回一个稳定的尺度,让 softmax 待在工作舒服的区间里。根号是为了配合方差的性质,让缩放后的结果方差大致回到 1。
一个看似不起眼的除法,救活了整个架构。这也是"缩放点积注意力"名字里"缩放"二字的来历。
一个容易被忽略的代价:平方复杂度
注意力有个绕不开的成本。
每两个词之间都要算一次相关度,计算量正比于词数的平方。句子里有 100 个词,要算约一万对;有 1000 个词,要算约一百万对;有十万个词,就是一百亿对。词数翻一倍,计算量翻四倍。
原论文的表 1 给出了精确的逐层复杂度:自注意力是 O(n²·d),循环网络是 O(n·d²),卷积是 O(k·n·d²)。这里的 n 是序列长度,d 是表示维度,k 是卷积核大小。
短期看,n 比较小的时候,自注意力甚至比循环网络更快,因为它能并行。可当 n 变得很大,n² 这一项就会压倒一切。
这就是今天"长上下文"为什么贵。你把上下文从 8000 字扩展到 12.8 万字,模型的算力和显存开销可能涨几百倍。后面讲企业成本时,这一点会用得上。
还有一个容易被忽略的性质:自注意力对词序是"置换等变"的。也就是说,你把句子里词的顺序打乱,注意力算出来的结果只是跟着换了顺序,两两之间的相关度一模一样。它天生不区分顺序。这就引出了下一个必不可少的设计。
七、多头注意力:一个脑袋不够用
如果只做一次上面那套注意力,模型只能学到一种"相关性"。
可一句话里,词之间的关系是多种多样的。有的是语法关系,主语和谓语;有的是位置关系,相邻的词;有的是指代关系,"它"和它指代的名词;还有的是语义关系,近义词之间。用一种注意力去覆盖全部,力不从心。
Transformer 的答案是:分头看。
它把表示维度切成几份,每一份叫一个"头"。原论文里,基础模型的表示维度是 512,用了 8 个头,每个头负责 64 维。每个头独立地做一遍刚才那套注意力,各自在自己负责的那部分维度里,
在编码器和解码器里,每一个子模块(注意力、前馈网络)外面,都套着同一套配方:子模块的输出,加上它的输入,再做一次层归一化。图上标成 Add and Norm。
先说残差。它的做法是把输入直接加到输出上。为什么有用?因为网络很深的时候,梯度在反向传播中容易越传越弱,深层的参数就学不动。加上这条"捷径",梯度可以绕过去直接回流,深层网络才训得起来。
再说层归一化(Layer Normalization)。它把每个样本内部的数值重新标准化,让分布更稳定,训练更顺滑,学习率也能开大一些。
这里有个经常被考到的细节。原论文的配方是"先加残差,再归一化",学界叫 Post-LN。后来人们发现,把它改成"先归一化,再进子模块,最后加残差",也就是 Pre-LN,训练深层网络时更稳定,不容易发散。 所以近些年的大模型,绝大多数用的是 Pre-LN。知道这个区别,你和做工程的人聊起来就会显得内行。
前馈网络:逐位置的"私人智库"
注意力负责在词之间传递信息,前馈网络负责在每个词内部做加工。
它的结构很朴素,两层线性变换,中间夹一个非线性激活函数。原论文用的是这一版:先做一次线性变换升维,过一个取最大值零的激活函数,再线性变换降回原维度。
关键是中间那层维度特别大。基础模型里,表示维度是 512,前馈网络的中间维度是 2048,整整四倍。这块网络占了模型参数的很大一部分,是存储"知识"的主要场所。可以粗略理解成:注意力负责"交流",前馈网络负责"记忆和推理"。
还有一点很重要,前馈网络是"逐位置独立"的。也就是说,它处理第 5 个词时,完全不看别的词,只对第 5 个词自己的向量做加工。词与词之间的信息交换,全部由注意力负责。这种"交流"和"加工"分工的设计, 让整个架构非常清晰,也非常容易并行。
编码器:双向看全局
编码器里的自注意力是双向的。处理任何一个词时,它都能看到句子里全部的词,包括它前面的和后面的。
这让编码器特别擅长"理解"类任务。给一段话,判断情感是正还是负;从一段话里找出人名地名;判断两句话含义是否相同。这些任务要的是把整句话吃透,不需要生成,编码器就是干这个的。BERT 就是纯编码器的代表。
解码器:戴着镣铐跳舞
解码器要做的事是生成,情况更复杂,所以它有三层。
第一层是掩码自注意力。它和编码器的自注意力几乎一样,只多了一个"掩码":处理第 5 个词时,只允许看第 1 到第 5 个词,绝不能偷看第 6 个及以后的词。为什么?因为模型在生成时,未来的词还不存在, 训练时如果允许它偷看,就等于考试给答案,学不到真本事。这个掩码保证了因果性,让每个位置只能基于"过去"做判断。
第二层是交叉注意力。这一层有点特别,它的 Q 来自解码器自己,K 和 V 来自编码器的输出,也就是图中间那根标着 K、V 的箭头。它的作用是让正在生成的词,回去"查"输入的原文。翻译的时候,解码器正在写英文, 交叉注意力让它不断回头看中文原句,对准该翻的部分。这是连接理解和生成的桥梁。
第三层就是前馈网络,和编码器里的一样。
三层之外同样套着残差和层归一化。三层加在一起,解码器才能一边看着原文,一边一个词一个词地把结果生成出来。
十、训练与推理:两条完全不同的路
理解 Transformer,绕不开训练和推理的区别。这条界线,直接决定了 AI 应用的价格。
训练:一次算完整个句子
训练阶段用的是"教师强制"。把一整句话一次性喂进模型,让它同时预测每一个位置的下一个词。因为有掩码保护,模型没法作弊,虽然并行计算,却保证了每个位置只依赖前面的信息。这种"全序列一起算"的能力,正是 Transformer 相比 RNN 的最大工程优势,也让 GPU 的价值被压榨到极致。
具体训练时,还有几件常规操作。优化器负责根据梯度更新参数,帮模型沿着下降方向走。学习率会配合一个"预热"策略,先从小线性升到目标值,再缓慢下降,让模型稳定起步,不至于一上来就震荡。为了防止过拟合,会用到随机丢弃一部分神经元的技巧, 还有对标签做平滑,避免模型对某一个答案过度自信。原论文里,一次训练批次大约处理两万五千个源语言词和两万五千个目标语言词。
推理:一次只能吐一个词
推理阶段,也就是模型回答你的问题时,情况反过来了。它没法一次算完整句话,只能自回归地来:先算第一个词,把它接到输入后面,再算第二个词,依此类推。这中间的浪费很大,因为很多计算和上一步重复。
为了不重复劳动,工程上引入了键值缓存(KV Cache)。它把已经算过的 K 和 V 存起来,后面直接用,避免重算。这是推理提速的核心手段,也是长上下文吃显存的主要原因,缓存会随着文本变长不断膨胀。
围绕推理成本,业界还有一整套手段。把模型参数用更低的精度表示,叫量化,能用一点精度损失换显存和速度。把多个请求打包一起算,叫批处理,能提高 GPU 利用率。用一个小模型去猜、大模型去验,叫投机解码,能在不损失质量的前提下提速。 这些手段的本质都一样,把同样的算力榨出更多速度。
为什么长上下文那么难
还有一个绕不开的难点,叫长度外推。
训练时模型只见过比如 2000 个 token 的文本,推理时却希望它处理 12.8 万 token。位置编码在超出训练范围的部分,会进入模型没见过的区域,效果断崖式下跌。现代模型靠改进的位置编码,比如旋转位置编码配合插值、 温度调整等技巧,才把窗口拉长。可窗口拉长了,注意力的平方成本也跟着涨,这就是长上下文既难又贵的双重原因。
一句话总结:训练是一次性的巨额投入,推理是持续不断的日常开销。前者决定模型有没有诞生,后者决定你用不用得起。
十一、一篇论文长出三个家族
Transformer 最迷人的地方,是它的模块化。把编码器和解码器拆开、重新组合,就长出不同的模型家族。
第一支是纯编码器,代表作是 BERT(arXiv:1810.04805,2018 年,Google)。它只用编码器,双向理解,擅长分类、抽取、问答,以及把文本变成向量做检索。很多企业的"知识库"背后, 跑的就是这一类模型。
第二支是纯解码器,代表作是 GPT 系列。2018 年的 GPT-1,2020 年的 GPT-3 有 1750 亿参数(arXiv:2005.14165)。它只用解码器,自回归地生成文本,擅长对话、写作、 写代码。今天你接触到的主流大模型,绝大多数走的是这条路线。
第三支是编码器加解码器,最完整,代表作是 T5(arXiv:1910.10683),原始 Transformer 也属于这一支。它擅长序列到序列的任务,翻译和摘要最典型。
三条分支各有地盘,但今天最风光的是纯解码器这一支。原因有几个。它的训练目标统一,就是"预测下一个词",简单而通用。它的结构便于规模化,参数和数据一涨,效果就稳步上升,这就是所谓的规模法则(参考 Kaplan 等人 arXiv:2001. 08361,以及后来的 Chinchilla 论文 arXiv:2203.15556)。它天生适合生成,而生成恰好是聊天、写作、编程这些场景的刚需。
Transformer 的野心还不止文本。2020 年的 Vision Transformer(ViT,arXiv:2010.11929)把一张图切成小块,每块当成一个"词"丢进 Transformer, 图像识别照样打得过传统卷积网络。音视频、蛋白质结构、跨模态,一个接一个被收编。同一个架构,通吃了几乎所有数据类型,这在 AI 史上很少见。
十二、Transformer 的边界与代价
讲了这么多优点,必须泼一盆冷水。客观看待它的局限,才不会在决策里踩坑。
平方复杂度是绕不过的天花板。上下文长度翻倍,算力和显存暴涨。处理一份几百页的合同,成本可能高得离谱,这并非工程实现的问题,根源在架构本身的数学性质。
长上下文和"长上下文有效"是两回事。很多模型号称支持 12.8 万字的上下文,可真正评估下来,中间部分的细节常常被"忽略"。这就是著名的"迷失在中间"现象(可参考 arXiv:2307.03172 的评测) 。能力宣称和实际效果之间有落差,评估时必须自己测。
它吃数据也吃算力。参数、数据、算力三样一起涨,效果才涨。这直接推高了前沿模型的训练门槛,把游戏变成了巨头的游戏。这一点,和前面那篇讲 AI 公司账本的文章能对上。
它是"统计关联",谈不上"因果理解"。Transformer 内部的运作,本质是高维空间里的相关性和概率分布。它能写诗,能推理,很多时候表现得像懂了,可它并没有人类那样的世界模型。过度拟人化,会带来错误的信任和糟糕的决策。 与之相关的是幻觉问题,模型可能一本正经地编出并不存在的事实,因为它的目标是生成"看起来合理"的文本,而不是保证真实。在企业场景里,这一点必须靠外部校验兜底。
它还高度依赖数据质量。同样的架构,喂进去的数据又脏又偏,学出来的模型就带着同样的毛病。架构再先进,也救不了垃圾数据。
它为什么比卷积网络更通用
卷积网络在图像上统治了很多年,它的核心假设是,局部相关的像素彼此接近。这个假设对图像很成立,可换到语言、音频、分子结构,就不一定了。
Transformer 几乎不带这类假设,它不预设哪些位置相关,而是让模型自己从数据里学出该关注谁。这种"归纳偏置少"的特点,是一把双刃剑。坏处是对数据的需求更大,小数据下容易比不上有针对性的架构。好处是, 一旦数据足够多,它不被任何先验限制,上限更高。
这解释了为什么规模法则在 Transformer 身上成立得这么漂亮:结构越中立,越能吸收海量数据,越能靠规模换来能力。也解释了为什么同一个架构,能从文本迁移到图像、音频、蛋白质乃至跨模态。它足够通用, 所以足够能装。
学界一直在想办法改良。稀疏注意力、线性注意力试图把平方复杂度降下来。FlashAttention(arXiv:2205.14135)在不改变数学的前提下,重排计算顺序,大幅提升了显存效率和速度。混合专家(MoE, 可参考 Switch Transformer,arXiv:2101.03961)的思路是用更多的参数量换取更低的单次计算成本,让模型"块头大但每次只动用一部分"。还有一类叫状态空间模型的新路线,试图用新的序列建模方式绕开平方复杂度(例如 Mamba,arXiv:2312.00752)。这些方向都在回答同一个问题:怎么在有限算力下,处理更长的上下文。
十三、几个常见误解
技术细节之外,有几个误解在企业里流传很广,值得澄清。
第一个误解,参数越多就一定越强。参数量重要,但训练用的数据量和质量同样关键。Chinchilla 的研究指出,在给定算力下,参数量和数据量要按比例平衡,一味堆参数而数据跟不上,反而浪费算力。
第二个误解,上下文窗口越大越好。窗口大不等于用得好。窗口越大,成本和延迟越高,而模型对中段信息的注意力往往会下降。对多数企业场景,把关键信息放在开头或结尾,配合检索把最相关的内容喂进去,比一味拉长上下文更划算。
第三个误解,注意力可以解释一切。注意力权重能提供一些线索,但它和模型的真实决策逻辑并不完全等价。把注意力热力图当成"模型就是这样想的",是一种过度解读。
第四个误解,模型在"理解"。它是在做极其复杂的模式匹配和概率预测。表现在很多任务上令人惊艳,可边界同样清晰。知道这一点,才不会把关键决策毫无保留地交给它。
十四、给企业决策者的八条实话
技术拆完了,落到决策。你不必自己实现 Transformer,但下面八条,能帮你少花冤枉钱。
第一条,上下文长度就是钱。你以为买的是"文本容量",其实买的是平方级的算力。评估 AI 方案时,把长文本处理的实际单价问清楚,别被"支持超长上下文"的宣传带偏。
第二条,按 token 算账才开始。预算要落到 token 上,中文和英文的 token 换算不一样,长文档、多轮对话的 token 消耗要单独估。算清楚这一层,成本预测才不会失控。
第三条,推理成本决定商业模型能不能成立。一个应用能不能赚钱,往往不取决于模型多聪明,而取决于每次调用的推理成本。量化、批处理、键值缓存这些工程手段,能省下的钱可能比换模型更多。
第四条,不同任务用不同的家族。需要理解和检索,编码器系更划算;需要生成和对话,解码器系更合适;需要把一个东西转成另一个东西,序列到序列更专业。用错家族,等于用跑车拉货。
第五条,私有化部署要算显存账。模型能装下,靠的是参数数量乘以每个参数的存储字节。再加上注意力机制随文本长度膨胀的开销,以及键值缓存,显存需求往往比"参数量乘以字节数"更大。规划硬件时把这部分留足。
第六条,别把"支持长上下文"当成"能可靠处理长文档"。上线前用自己的真实材料测,尤其是文档中段的信息召回率。宣传页不会告诉你这些。
第七条,同架构不同工程的模型,成本可能差几倍。哪怕底座架构一样,推理优化做得好的厂商,单位成本能低一大截。选型时把"每千 token 的有效成本"和"实际响应速度"都问一遍,别只看模型名气。
第八条,把它当成当前最优的工程折中,而非终点。Transformer 用了八年,依然统治,可它一定有被超越的一天。押注具体架构有风险,押注"用算力换智能"这条大方向,更稳。
结语
回头看,Transformer 的价值,不在于它多聪明。
它的价值,在于它把"理解语言"这件原本高度串行、难以加速的难事,变成了一道可以大规模并行的矩阵乘法。这件事让算力有了用武之地,让 GPU 可以几百上千块一起工作,让"堆数据、堆参数、堆算力"这条路第一次走得通。
今天的 AI 热潮,追根溯源,是这一步架构创新打开的闸门。
对做企业的你,真正的启示也许在这里:每一次底层效率的跃迁,都会重画一遍成本曲线,也就会重排一遍行业座次。看不看得懂 Transformer 的细节不重要,能不能察觉到"成本曲线正在被重画",才重要。
如果说八年前那篇论文赌对了一件事,那就是:当一个系统的结构足够简单通用、又能吃下海量数据时,它的表现最终会超过那些精巧的特化设计。这个判断,今天依然成立。对做产品的你,这条经验同样管用。与其把结构设计得处处精妙、 却难以扩展,不如守住简单通用的骨架,把数据接进来,让规模替你完成剩下的事。
大模型的知识又多又杂,到底怎么学?
做这行久了,被问最多的问题就一个:大模型的知识又多又杂,我到底先学啥?翻了一堆资料,看啥都像重点,结果啥都没学进去。今天把我自己一路摸出来的顺序捋一遍,零基础、应届生、转行的都适用。跟着走,至少方向不乱、不瞎忙,学完拿得出手。
第一阶段(10天):初阶应用
这一阶段就一个目标:把大模型真正"玩明白",不是只会聊天那种,而是能调教它、能用代码把大模型和业务接起来。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
这阶段正式进实战,目标很实在:做出两个能拿出手的东西——一个私有知识库,一个 agent 对话机器人。
为什么要做 RAG
搭建一个简单的 ChatPDF
检索的基础概念
什么是向量表示(Embeddings)
向量数据库与向量检索
基于向量检索的 RAG
搭建 RAG 系统的扩展知识
混合检索与 RAG-Fusion 简介
向量模型本地部署
…
走完这 30 天,Python 或 JavaScript 背景的基本能独立做一套 RAG 应用,简历上也敢写"大模型应用开发"了。
第三阶段(约20天):动手微调
学到这,你已经开始 “造” 模型了 —— 通过微调,搞出垂直领域的专用小模型。
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你从 “只会用” 变成 “能造” 的 AI 小子。那么你还想往下探索吗?
想要入局AI大模型赛道、抢占行业红利的朋友,微信扫描下方CSDN官方认证二维码,即可100%免费领取全套学习资料!
第四阶段(20天):商业闭环,部署落地
技术学完,落地才算数。这阶段带你搞明白大模型怎么真正跑起来、用起来。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
想要入坑大模型的朋友,给大家准备了一份2026 年最新 AI 大模型全套学习资料:
1、大模型系统化学习路线
2、大模型学习视频教程
3、大模型学习书籍&电子文档
4、AI大模型最新行业报告
5、大模型项目实战&配套源码
6、2026大模型大厂面试真题
7、为什么要学习大模型?
我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。
8、适合谁学?
- 传统后端 / Java / 前端开发,想转型 AI 应用
- 大学生、应届生,想拿更好的 offer
- 产品经理、运营,想武装职业竞争力
- 技术负责人,想给团队落地提效
学习是反人性的,但回报是真金白银。技术会更新,赛道会切换,但只要你先动手,机会就永远站在你这边。
9、这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
想要入局AI大模型赛道、抢占行业红利的朋友,微信扫描下方CSDN官方认证二维码,即可100%免费领取全套学习资料!
好了,就写到这。路线是死的,人是活的,卡住了随时来问我。觉得有用就点个收藏,别让它进收藏夹吃灰——动起来比啥都强。