简介
文章详细介绍了Transformer架构的工作原理,这是当前大语言模型的基础。通过"文字接龙"的比喻,解释了词嵌入、多头自注意力机制和概率计算等核心概念。Transformer通过分析输入文本中各词语之间的关系,预测最可能的下一个词语,从而生成连贯内容。理解这一原理有助于掌握AI模型工作机制、解决"AI幻觉"问题并优化AI项目,为学习大模型技术奠定基础。
在2017年之前,工程师们还在讨论如何让Siri、Alexa这些智能助手更“听得懂人话”。在2017年后,一个深度学习架构的提出改变了世界。可以说,这个架构的出现改变了AI的格局,让AI真正拥有了与人类“自然交流”的能力。
这个架构就是**Transformer,**2017年由Google Brain团队提出。数年后,在Transformer的基础上诞生了一个叫GPT(Generative Process Transformer)的模型,并通过ChatGPT、Gemini、Claude、Deepseek、Kimi、Qwen……等AI模型和应用广泛传播。Transformer的提出,掀开了不可逆转的全球AI竞争的帷幕。
无论你是一个开发者还是用户,只有理解了Transformer的原理,才能理解当前流行的AI模型的工作机制本质,才能理解什么是“AI幻觉”,为什么AI生成的内容不一定可信,以及在工程实践中如何优化你的AI项目。
但是我们要面对的是一个机器学习的技术架构,要完全理解它谈何容易?今天,我借助“Transformer Explainer”这个工具,用尽量显浅的语言向大家介绍Transformer的工作原理。
一、 Transformer基本原理:文字接龙游戏
如果要用一句话来描述Transformer的工作原理,那就是在输出文字的过程中不断重复计算同一个问题:“根据前面的文字,最有可能的下一个字(词)是什么呢?”
没错,基于Transformer架构所生成的内容,它的特征就是基于前面的文字去预测下一个字词,然后再将生成的字词和此前的文字再次组合,再预测下一个字词(或者标点符号),如此往复,直至预测出“结束”()的标签为止。
所谓预测,其实就是一个概率游戏。已经被训练过的模型会根据输入的内容计算出所有字词的概率分布,然后从中抽取一个字词作为接龙。模型每一次计算概率的时候,大概的感觉是这样的:
我们发现,在询问AI同一个问题的时候,它回答的内容并非一成不变的。当中的最重要原因,就是“概率”问题。AI生成每一个字都是根据概率抽取的,也就是说哪怕面对同一个输入内容,结果在多次抽取中也可能出现变化。
我们回到Transformer的介绍。Transformer主要由三个部分组成:
词嵌入 Embedding:将文字转化为数组,使每个字词都变成“可计算”的向量。
Transformer转换模块:通过“多头自注意力”机制将向量进行组合和计算,并通过多层运算逐步修正数据,并输出概率分布。
概率抽样 Probabilities & Sampling:根据输出的概率分布数据进行抽样,最终确定输出的字词。
如果你也想通过学大模型技术去帮助自己升职和加薪,可以扫描下方链接👇👇
我们以基于Transformer的文字推理模型GPT-2为例(ChatGPT的前身,相对简单方便解说,现实使用的大模型的工作机制更加复杂)。现在我给出以下三个词:make America great,让模型接下来猜下一个词。熟知时事的我们当然会脱口而出“again”,但计算机只会计算。我们知道,文字是不能进行直接“计算”的,于是计算机模型会把每个词语(此处以英语为例,有时还会拆分词根)转化为一个可以计算的数字。得益于计算机的超强计算能力,我们可以把任意词语转化为一个包含很多个“坐标”的数组,以表示它在一个高维空间中的位置。这就是“词嵌入”(embedding)的过程。
词嵌入
首先,模型会将"make"“America”"great"三个词语分别拆开,把它变成一个个Token。Token是大模型计算的最小的单位,一般是一个单词/常用词组(英语、西班牙语等)或者一个汉字/词组(汉语、日语等)。此前有人问AI“单词Strawberry里有多少个R”,AI基本都答错,那是因为对于AI来说,“Strawberry”是它处理数据的最小单位,而不是拼写它的每个字母。为什么要这么设计呢?因为针对单个字母的讨论在大部分的语言环境中都是没有意义的,绝大部分的AI的最小处理单元就是一个单词。
在词嵌入的过程中,每个词语都会被赋予一个特定长度的数组。在以上的GPT-2例子中,这个长度就是768。也就是说每个词语都会被转化成一个包含768个数的数组,并赋予一个特定的ID。这个映射关系是在使用大规模语言材料训练模型的时候被习得的,目的是为了通过计算两个数组在高维空间中的位置远近,来表示任意两个单词之间的关系。词语之间越接近,说明它们之间一起出现的概率越高。
在嵌入向量的同时,模型还会对输入的词语进行位置编码,以确定他们在一个句子中的正确位置。这两组向量相加形成了一个完整的输入向量,进行下一步的多层运算。
多头自注意力机制
“注意力机制”(Attention)是Transformer的核心技术特征。它通过计算输入向量之间的特征,来判断每个词语在句子中和其他词语的关系,以确定每个词语在句子中的含义。
在Transformer中,每个Token在被重新计算的时候,都会被赋予一组“注意力得分”,就是这个token与输入的所有token之间分别进行向量点积运算(向量点积运算:两个向量数组之间,对应的位置相乘,再求和)。点积运算的结果越大,说明这两个向量的距离越近——注意力得分便越高。
这样,我们就得出了每个token相对于句子中的所有token的注意力得分/权重。(在实际计算中,为了表示概率/权重,会将注意力得分进行“归一化”处理,以保证所有注意力得分的总和为1。)接下来,按照权重对原嵌入的向量进行加权求和,得出一个新的token向量数组——这个新的token向量“捕捉”到了句子中所有token的注意力。
一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
我们把句子中的所有token按照这个方法计算,得到每两个token之间的注意力权重。在上述例子中,注意力权重(未归一化时)可表示为:
| → | make | America | great |
| make | -4.21 | -15.23 | -15.43 |
| America | -1.85 | -21.36 | -18.16 |
| great | 1.54 | -6.14 | -13.04 |
表格的读法按行从左到右,表示以某个token为中心,相对于当前所有token的向量点积。但是这种计算方法有问题:我们知道Transformer是一个预测模型,因此在捕捉注意力的时候,我们不能把在这个token之后出现的token计算在内——否则这个token便相当于“预知”了答案。在训练模型的过程中,如果模型“预知”了答案,那么它就会选择把注意力权重集中在下一个token作为最优解。所以我们在归一化前要进行“掩码”操作,就是把图表中在第一列token之后出现的token的注意力权重都变成(近似于)0,再重新计算点积。
| → | make | America | great |
| make | -0.53 | / | / |
| America | -0.23 | -2.67 | / |
| great | 0.19 | -0.77 | -1.63 |
最后进行归一化(softmax)计算,确保每一行的总和为1:
| → | make | America | great |
| make | 1 | / | / |
| America | 0.92 | 0.08 | / |
| great | 0.65 | 0.25 | 0.10 |
这样我们就完成了一次注意力的捕捉,得到的每个注意力参数都分别与原向量进行加权求和,最后得到新的向量。
Query, Key 和 Value
在这里我们可以发现,每个token在这个过程中要做三件事:发起查询、被查询、被求和。在注意力机制中,我们使用Query(发起查询,即表格第一列)、Key(键,即表格第一行)、Value(值,即原向量数组的值),这也就是Transformer的QKV机制。同一个向量被赋予不同职责,各司其职。
- 为了让它们负责不同的工作,我们对每一个token的原向量分别乘以一个Q/K/V的参数矩阵(Q/K/V weights,通过大规模数据训练得出),得到一式三份新的Q/K/V向量。
- 后续计算过程和前面一致,通过Q、K向量组成注意力矩阵、计算向量点积、掩盖未来token、归一化参数。
- 得出注意力参数后,与V向量进行加权运算,得出对于每个token的新向量,完成这一层的计算。
- 深度学习会设置多次重复计算,利用不同的QKV参数矩阵来表示不同的任务(例如指令**、知识、语法、推理……)我们称之为“头”(heads),对同一个token进行多次运算。**Token经过多层的计算后(在这个例子中,GPT-2一共有12层)再把这12个向量“压缩”成一个新的向量——新的向量和原嵌入向量的长度相等(1,768),数值不同。
概率计算
得到新的向量后,模型将进入预测阶段,目标就是预测出下一个token的出现概率。每一个大语言模型都有一个“词汇表”,也就是我们在词嵌入过程中给每个token分配的ID的根据。这个词汇表(在GPT-2里有50257个token)经过训练,被表示为一个参数矩阵。把这个矩阵与新嵌入向量相乘,得到一个新的向量——这个过程一般称为“logit”(对数几率)。这个向量表示输出向量和词汇表里的每一个token的关联度——也就是预测出最有可能与原token(在这里例子里是"great")连接的token。
光是向量表示并不容易计算,我们为了更直观了解预测概率,我们再次通过“归一化”把向量的值表示为0-1的概率,并确保所有概率的总和为1。得到这个概率后,模型会在候选token中按概率抽取下一个token并输出。在这个例子中,通过归一化后,模型得出了最有可能出现的词语是:again(96.31%),其次是输出一个句号和双引号(1.14%),其他的选项都几乎不可能出现。因此,在大部分情况下,“again”会紧接着“make America great”出现。
这就是我们现在使用的生成式AI的工作原理——它并没有高深的魔法,也没有原生智能,它所有的是数学家、计算机学家们对统计学、概率学、机器学习和深度学习的长期研究和实践。我们现在所谓的“AI玄学”和“抽卡论”,其实就是统计学和概率的外在体现。
调节概率
我们可以通过调节归一化的方式来调节输出的概率。对于AI工程师来说,我们主要可以调节三个参数:Temperature(温度)Top_k和Top_p。
温度影响归一化后概率的分布。温度越高,概率的分布越平整——本来较低概率的选项会有更高概率被抽中。例如我把温度从0.8调成3后,后四个选项的概率得到了显著提升,这也让我们的输出内容变得更有“创造性”——有更高的机会选到原来低概率的token。但是创造性也是一把双刃剑——AI胡言乱语的几率也更高。
以下的参数和候选token的数量有关。Top_k参数规定了从多少个候选token当中抽取,例如把top_k调整到10,则候选名单从前5个token延展到前10个。Top_p参数指的是从累计概率不高于p值(0到1)名单中抽取。这两种方法从另一个角度赋予了大模型“创造性”。
我认为Transformer技术是每个希望用好AI的用户必须理解的一项基础技术。只有理解了Transformer的原理,才能理解在我们应用实践中出现的各种问题,例如AI幻觉的产生、提示词的优化、预训练技巧等等。实际上基于Transformer的大模型训练和推理要更加复杂,作为初级和中级的学习者并不一定要完全掌握,我认为只要理解Transformer的运作机制,便足以应对日常的工作任务了。这也是我创作这篇文章的初衷——把复杂的技术资料通过浅白、有趣的方式向大家普及。
如何系统的学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
01.大模型风口已至:月薪30K+的AI岗正在批量诞生
2025年大模型应用呈现爆发式增长,根据工信部最新数据:
国内大模型相关岗位缺口达47万
初级工程师平均薪资28K(数据来源:BOSS直聘报告)
70%企业存在"能用模型不会调优"的痛点
真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!
02.大模型 AI 学习和面试资料
1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工
📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。