调用过 OpenAI API 的同学,大概都注意过账单上的计费单位——Token。
同样是几句话,中文和英文消耗的 Token 数不一样;同一段文本,在不同模型上花的钱也可能不同。很多人一边付钱,一边困惑:Token 到底是什么?它和单词、汉字有什么区别?模型又是怎么把文字"切"成 Token 的?
这篇文章把这件事一次拆清楚。
01 教 LLM 认字:Token 是模型理解语言的基本单元
人类读一段文字,会自然而然地把它分解成一个个单词和字,这是我们理解句子的基础。
但 LLM 不一样。对它来说,输入只是一长串 0 和 1,它并不理解什么是段落、句子、单词。
为了让 LLM 也能像人一样有一个"理解语言的基础单元",我们需要教它认字——就像我们小时候先认字、再读书。
这个过程分三步:先把文章/句子切分成一个个小片段;再把片段转成模型能处理的向量;最后把向量喂给 LLM 学习。当 LLM 学习了足够多的数据,它就"认字"了。
这些被切出来的小片段,就是Token。
02 为什么 Token 和单词不是一一对应?
既然要"教 LLM 认字",一个直觉的想法是:让每个单词对应一个 Token。但这个思路行不通,原因有三:
- 词表会膨胀。常见英语语料包含的单词在 17 万到 100 万之间,再加上单复数、时态的变化,词表还会进一步膨胀。词表太大,训练难度随之上升。
- 会碰到 OOV 问题。即使词表很大,也总会出现训练语料里没有的词(Out Of Vocabulary,词表外单词),这时模型就不知道如何处理了。
- 生僻词训练不充分。生僻词出现频率太低,即使放进词表,模型也得不到充分训练。
那怎么办?中国有句老话叫"认字认半边",英语里有"词根"。把两者结合起来,就是答案:找一个大小适中的词表,里面既有 look 这样的常见词,也有 ed、ing、s 这样的常见后缀。碰到 goodness 这样的词,就拆成 good + ness。
这样,再遇到 OOV 或生僻词,就能把它拆成词表中已有词的组合。因为词表和单词不是一一对应,我们就把词表的构成元素起名为Token。
那么,能不能干脆把词表拆到最小?比如英语拆成 26 个字母,中文用 Unicode 表示?
理论上可行,但过细的拆解会丢失大量语义信息,同时让输入变得非常长,训练难度和成本会指数级上升。
所以,实践的关键是在词表大小和语义保持之间找平衡:
- GPT-2 和 GPT-3 的词表大约有 5 万个词条;
- AI21 Lab 的 Jurassic 模型词表更大(约 25 万词条),表达力更丰富,同样的输入,Jurassic 需要的 Token 比 GPT-3 少约 28%。
既然 Token 的切分质量直接决定 LLM 的训练和推理效果,分词环节要做的事情其实只有两件:找到一个合适的词表;把句子切成合适的 Token 序列。
业界常用的方法有三种:BPE、WordPiece、Unigram(ULM)。下面逐个拆开。
03 BPE:把高频出现的"相邻对"合并起来
BPE(Byte-Pair Encoding,字节对编码)是三种方法里最简单、也最流行的一种,GPT-2 和 GPT-3 采用的就是它。
它的工作过程可以理解成"贪心合并"。
第一步,从一个极简输入开始,比如 “the cat the car the rat”。BPE 先把输入拆成一个个字符,得到基础 Token 集:t、h、e、c、a、t、r、空格……
第二步,统计词表中哪两个 Token 一起出现的次数最多,就把它们合并成一个新 Token 加入词表。在这个例子里,t 和 h 一起出现了 3 次,于是把 th 加入词表。
第三步,重复这个过程:th 和 e 一起出现 3 次,合并成 the;c 和 a 一起出现 2 次,合并成 ca……如此循环,直到词表增长到指定大小,或者不再增长为止。
遇到新输入怎么分词?先把它拆成字符,再按训练时的合并顺序依次应用。比如新输入 “the ox”,先拆成 t、h、e、o、x,再依次合并,最后得到 the、o、x。
中文也可以用类似方法处理:先把汉字转成 Unicode 序列,再按同样的合并过程构建词表。
BPE 最大的优点是简单。但它有两个短板:
- 贪心不一定最优。它总是选择"一起出现次数最多"的 Token 对合并,可有些 Token 对虽然不常出现,但一出现就总是成对出现,这种更该合并。
- 按训练顺序合并不一定最优。处理新输入时,BPE 按训练时合并发生的顺序来,但一个输入往往可以被拆成多种 Token 序列,按固定顺序合并,结果不一定是最好的那一种。
04 WordPiece:不看出现次数,看整体概率
WordPiece 针对 BPE 的第一个缺点做了优化。
整体流程和 BPE 很像,但"选哪两个 Token 合并"的标准变了:不再看哪个对出现次数最多,而是看合并哪两个更符合语言的整体概率分布。
怎么判断"更符合"?思路是:一个句子拆成 N 个 Token,这种拆分的合理程度,可以近似为这 N 个 Token 各自概率的乘积。合并哪两个 Token 能让整个序列的概率乘积最大,就优先合并哪两个。
数学上为了计算方便,通常对概率连乘取对数,变成连加——最大化连加结果,就是找最优合并。
每个 Token 的概率从哪来?不同实现细节略有差别,但大致可以理解为:对训练集做频率统计。
BERT 采用的就是 WordPiece。
05 ULM:反着来,从大词表里"删"出最优
BPE 是"贪心合并",WordPiece 是"优化合并",而 ULM(Unigram Language Model)干脆反其道而行:先初始化一个很大的词表,然后不断删词,让剩下的词表更符合语言的整体概率分布。
具体分三步:
第一步,初始化大词表。一般取训练集上所有单词,加上常见字符串;有些实现直接用 BPE 生成这个大词表。
第二步,用 EM 算法估算每个 Token 的概率。大致思路是:先给每个 Token 随便估一个概率,再用训练数据反复迭代优化,直到概率收敛。EM 找到的解不一定是全局最优,但至少是局部最优。
一个简化的例子:训练数据是 [“I”, “like”, “apples”, “Apples”, “are”, “tasty”, “I”, “like”, “bananas”]。先把每个 Token 的概率初始化为 0.1,统计各 Token 出现次数并乘以概率(计算期望值),再归一化得到新概率——比如 I 和 like 出现 2 次,概率更新为约 0.222,其余约 0.111。反复迭代,直到收敛。
第三步,删词。对词表中每个词,计算"如果删掉它,整体概率分布会下降多少"。下降越小的越无关紧要,一次删掉最不重要的 20%,然后用 EM 重新估计概率,再删 20%……不断迭代,直到词表缩到预期大小。
对新输入分词时,ULM 会枚举所有可能的拆分,选择整体概率最大的那个序列作为结果。
Google 的SentencePiece开源库集成了 ULM 算法,AI21 Lab 的Jurassic模型就使用 SentencePiece。
06 三种算法,一张表看懂
| 算法 | 核心思路 | 优化了什么 | 代表模型 |
|---|---|---|---|
| BPE | 字符起步,贪心合并高频相邻对 | 简单、易实现 | GPT-2 / GPT-3 |
| WordPiece | 合并让序列概率乘积最大的 Token 对 | 优化词表创建过程 | BERT |
| ULM | 大词表起步,迭代删词删出最优 | 同时优化词表创建与分词 | Jurassic(SentencePiece) |
简单总结:
- BPE最简单,但不能保证词表和分词结果最优;
- WordPiece优化了词表创建过程,比 BPE 稍复杂;
- ULM最复杂,同时优化了词表的创建和分词过程。
2026年AI行业最大的机会,毫无疑问就在应用层!
字节跳动已有7个团队全速布局Agent
大模型岗位暴增69%,年薪破百万!
腾讯、京东、百度开放招聘技术岗,80%与AI相关……
如今,超过60%的企业都在推进AI产品落地,而真正能交付项目的大模型应用开发工程师**,**却极度稀缺!
落地AI应用绝对不是写几个prompt,调几个API就能搞定的,企业真正需要的,是能搞定这三项核心能力的人:
✅RAG:融入外部信息,修正模型输出,给模型装靠谱大脑
✅Agent智能体:让AI自主干活,通过工具调用(Tools)环境交互,多步推理完成复杂任务。比如做智能客服等等……
✅微调:针对特定任务优化,让模型适配业务
目前,脉脉上有超过1000家企业发布大模型相关岗位,人工智能岗平均月薪7.8w!实习生日薪高达4000!远超其他行业收入水平!
技术的稀缺性,才是你「值钱」的关键!
具备AI能力的程序员,比传统开发高出不止一截!有的人早就转行AI方向,拿到百万年薪!👇🏻👇🏻
AI浪潮,正在重构程序员的核心竞争力!现在入场,仍是最佳时机!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
⭐️从大模型微调到AI Agent智能体搭建
剖析AI技术的应用场景,用实战经验落地AI技术。从GPT到最火的开源模型,让你从容面对AI技术革新!
大模型微调
掌握主流大模型(如DeepSeek、Qwen等)的微调技术,针对特定场景优化模型性能。
学习如何利用领域数据(如制造、医药、金融等)进行模型定制,提升任务准确性和效率。
RAG应用开发
- 深入理解检索增强生成(Retrieval-Augmented Generation, RAG)技术,构建高效的知识检索与生成系统。
- 应用于垂类场景(如法律文档分析、医疗诊断辅助、金融报告生成等),实现精准信息提取与内容生成。
AI Agent智能体搭建
- 学习如何设计和开发AI Agent,实现多任务协同、自主决策和复杂问题解决。
- 构建垂类场景下的智能助手(如制造业中的设备故障诊断Agent、金融领域的投资分析Agent等)。
如果你也有以下诉求:
快速链接产品/业务团队,参与前沿项目
构建技术壁垒,从竞争者中脱颖而出
避开35岁裁员危险期,顺利拿下高薪岗
迭代技术水平,延长未来20年的新职业发展!
……
那这节课你一定要来听!
因为,留给普通程序员的时间真的不多了!
立即扫码,即可免费预约
「AI技术原理 + 实战应用 + 职业发展」
「大模型应用开发实战公开课」
👇👇
👍🏻还有靠谱的内推机会+直聘权益!!
完课后赠送:大模型应用案例集、AI商业落地白皮书