
调用过 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、UnigramULM。下面逐个拆开。03 BPE把高频出现的相邻对合并起来BPEByte-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 次合并成 thec 和 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 是优化合并而 ULMUnigram 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-3WordPiece合并让序列概率乘积最大的 Token 对优化词表创建过程BERTULM大词表起步迭代删词删出最优同时优化词表创建与分词JurassicSentencePiece简单总结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商业落地白皮书