前言
在openclaw、claude code等LLM应用爆火的今天,不尝试主动拥抱AI大概就意味着坐等时代抛弃。这篇文章我们来聊聊大语言模型的工作实现逻辑是怎样的,难道大语言模型真的就如初见印象中那么神通广大?(至于什么是大语言模型这里就不过多赘述了。。。)
首先抛出结论:
大模型的工作本质是——一次添加一个 Token
一、Token是什么?
经常使用大模型的朋友对这个词肯定不会陌生,毕竟ChatGPT免费版动不动就说”今日Tokens到达上限请明日再来“,那么这个无数次阻断我们自由探索的Token到底是什么?
Token 是 LLM 处理文本的基本单位。
这里的token虽然说是文本处理的单位,但token ≠ 单词 ≠ 字符,不同语言的 token 规则不同,例如:
| 文本 | Token可能的拆分 |
| hello world | hello world |
| unbelievable | un believ able |
| 我爱你 | 我 爱 你 |
| Kubernetes | Kuber netes |
总而言之:Token 是通过 tokenizer 算法切分出来的子词单元(subword),至于具体怎么切如上所示(只是可能切法)
举个例子来帮助理解吧:
假如你输入了:
I love cloud computing.
可能会被切分成token:
[I] [love] [cloud] [comput] [ing]
之后,每个切分出的token会被转换成一个token id
例如:
I -> 345
love -> 8921
cloud -> 12093
comput -> 8872
ing -> 231
所以模型实际上看到的是:
[345, 8921, 12093, 8872, 231]
而并非文字。
二、“一次添加一个 Token”到底是什么意思?
理解了Token是什么之后,我们再回归正题聊聊大模型的工作本质究竟是什么。
不像我们想象的那样,大模型生成文本的方式其实非常机械,模型本质是在不断预测“下一个最可能的 token”,这么说可能有点抽象,那再举个例子来帮助理解:
假如你问一个模型:
中国的首都是
第一步:将文本切分成token(此处只是方便理解,省略token id)
[中国] [的] [首都] [是]
第二步:根据输入的token计算概率分布,取可能性最大的结果预测下一个token
例如:
北京 0.92
上海 0.03
广州 0.02
南京 0.01
那么模型就会选择概率最高的北京,然后输出:
中国的首都是北京
所以生成过程其实是:
token1 token2 token3 token4
→ 预测 token5
→ 再预测 token6
→ 再预测 token7(不断循环,每次只根据之前的token预测下一个token)
所以本质是:P(token_t | token_1, token_2, … token_t-1)
这就是 语言模型(Language Model)。
三、为什么转换成Token id模型也看不懂?
Token ID 只是整数,本身不包含语义信息,因此需要映射到向量空间,必须转换为 向量。
转化成向量之后再处理还有个好处,AI 算法的输入不限于文本,还包括图片、音频等多模态信息,统一转换为向量后可由同一算法框架处理,转化成向量这一步就是:Embedding(嵌入)
我们也可以这样理解:Embedding = 把 Token 变成向量
一个文本内容进入模型前的转化流程如下:
1. 分词(Tokenization):将输入文本拆分为 Token 序列
2. One-Hot 编码:将每个 Token 映射为高维稀疏二进制向量
3. 向量压缩:通过神经网络将稀疏向量压缩为固定大小的稠密向量
讲的更加直观一些,继续沿用上面的例子:
北京
可能,最终被转化为一个1536维的向量:
[0.13, -0.82, 0.77, ...]
注意:向量在 语义空间 中是有结构的。(这个概念不理解可以放到后面,知道就行)
四、大模型的工作流程
大模型的工作流程可以大致概括成以下流程:
文本
↓
Tokenizer
↓
Token IDs
↓
Embedding
↓
向量
↓
Transformer layers
↓
预测下一个token
如果换成具体的例子就是:
"你是"
↓ tokenizer
[你] [是]
↓ token id
[123, 88]
↓ embedding
[
[0.21,0.11,...],
[0.33,0.82,...]
]
↓ Transformer
↓ Attention
↓ Feed Forward
↓ 输出概率
AI 0.9
ML 0.05
DL 0.03
↓ 输出预测结果
你是AI
总结
这篇文章中我们围绕大模型的工作本质详细了解了什么是Token(LLM 处理文本的基本单位),什么是embedding,以及文本内容在被处理前究竟会经过哪些处理,希望看完这篇文章的你彻底理解了大模型的实际工作原理~
