大模型名词精讲 02:Token

最近在收到不少小伙伴的留言,说看了很多大模型相关的文章,但每次看到 "Token" 这个词就一头雾水 ------ 什么是 Token?为什么大模型都按 Token 收费?一个 Token 到底等于多少字?

我特别理解这种感受。刚接触大模型的时候,我也被 Token 搞懵过:明明输入的是汉字,怎么就变成 Token 了?而且不同模型的 Token 数量还不一样,这到底是个什么单位?

后来我才发现,Token 虽然看起来只是个技术名词,但它其实跟每个用户都息息相关 ------ 你的账单、大模型的 "记忆力"、甚至生成回答的速度,全都跟 Token 有关。搞懂了 Token,你才算真正入门大模型。

所以今天这篇,我就用最通俗的话,把 Token 这个词彻底讲明白。看完你将知道:Token 到底是什么,为什么大模型要用 Token 而不是字,Token 是怎么切出来的,一个 Token 大概等于多少字,以及 Token 和你有什么关系。


一、Token 是什么?

Token,中文一般翻译成**"词元"** 或者**"令牌"**。小伙伴们不用纠结翻译,直接记 Token 就行。

说人话就是:Token 是大模型处理文字的基本单位 ------ 它不是一个字,也不是一个词,而是介于字和词之间的 "一小块文字"。

打个比方:如果把一句话比作一块乐高积木拼成的房子,那 Token 就是组成房子的每一块积木。有的积木大(比如一整个词),有的积木小(比如半个词、一个字、一个标点)。

举个例子,英文句子 "Hello, world!" 用主流大模型的 BPE(字节对编码)分词器可能被切成:

Hello , world**!** → 4 个 Token

注意:英文中空格通常和后面的单词绑定为一个 token(如 world),而不是独立成 token。

而中文 "你好,世界!" 可能被切成:

你好 ``, ``世界 ``!4 个 Token(也可能切得更细,取决于模型和词表)

中文分词的不确定性更高:"你好"" 世界 " 这类高频双字词可能被合并为 1 个 token,但大量低频词会被拆到单字级别,实际可能是 4~6 个 token 不等。中文标点符号各自占用 1 个 token。

你发现了吗?Token 不是固定长度的,有时是一个词,有时是半个词,有时是一个字,有时甚至是一个标点。

那到底怎么切?别急,后面会讲。


二、为什么不用 "字",非要用 Token?

你可能会问:好好的按字算不行吗?搞个 Token 出来,不是增加理解成本吗?

这是个好问题。大模型之所以用 Token,主要是为了解决两个痛点:

1. 按 "词" 切:生词怎么办?

早期的 AI 是按词来切分的,比如 "我 / 爱 / 中国"。但这样有个大问题:遇到没见过的词(专业术语、人名、网络新词)就傻眼了

比如 "YYDS"、"栓 Q"、"ChatGPT" 这些词,如果词表里没有,模型就不认识了。这叫OOV 问题(Out of Vocabulary,未登录词)。

2. 按 "字" 切:效率太低了

那按字切呢?每个字一个单位,总不会有生词了吧?

理论上可以,但问题是:序列太长了

比如一句话 "人工智能正在改变我们的生活",按字切有 13 个单位,按 Token 切可能只有 6-7 个。序列越长,模型计算量越大,成本越高,速度越慢。

Token 的智慧:折中方案

Token 就是在 "词" 和 "字" 之间找了个平衡点:

  • 常见的词、词根,整个当一个 Token(效率高)
  • 不常见的词、生词,拆成小 Token(能处理)

这样既保证了效率,又能处理任何文字,完美!


三、Token 是怎么切出来的?BPE 原理通俗版

那 Token 到底是按什么规则切的?为什么 "你好" 是一个 Token,"好的" 可能也是一个 Token,但 "好呀" 可能就拆成两个?

答案是:按频率切的。出现频率越高的组合,越可能成为一个 Token。

最主流的分词算法叫 BPE(Byte Pair Encoding,字节对编码),名字听起来很吓人,原理其实超级简单。

举个超简单的例子

假设我们有这些文字:

复制代码
低 头 思 故 乡
举 头 望 明 月
低 头 不 见 路

第一步:统计所有相邻的字对,看哪对出现频率最高。

  • "低"+"头" 出现了 2 次,频率最高

第二步:把 "低头" 合并成一个新 Token。 现在文字变成:

复制代码
低头 思 故 乡
举 头 望 明 月
低头 不 见 路

第三步:再统计,再合并频率最高的,一直重复......

直到词表达到预设大小(比如 5 万个 Token),就停了。

就这么简单! 常见的组合会被不断合并,变成越来越大的 Token;不常见的组合就保持小颗粒度。

这就是为什么 "你好" 是一个 Token(因为太常见了),而 "你呀" 可能是两个 Token(因为出现频率没那么高)。

💡 小知识:GPT 系列、Llama、DeepSeek、Claude 等绝大多数主流大模型,用的都是 BPE 或它的变体。


四、一个 Token 等于多少字?

这是大家最关心的问题。答案是:不一定,要看语言和内容。

英文:1 个 Token ≈ 0.75 个单词

英文比较简单,大概 4 个字符 = 1 个 Token,或者说 1 个 Token ≈ 0.75 个单词。

比如 "artificial intelligence"(人工智能),两个单词,可能就是 2 个 Token。

中文:1 个 Token ≈ 1.5~2 个汉字

中文就比较 "吃亏" 了。因为中文的常用字有几千个,组合方式又多,所以切出来的 Token 更碎。

经验换算:

  • 1 个 Token ≈ 1.5~2 个汉字
  • 反过来:1 个汉字 ≈ 0.5~0.7 个 Token

也就是说,一段 1000 字的中文文章,大概会被切成 500~700 个 Token。

⚠️ 注意:这只是粗略估算。如果是专业术语、生僻字、代码、英文混合,Token 数量会变化很大。

为什么中文更 "费"Token?

很多人觉得不公平:凭什么同样的意思,中文要花更多 Token?

原因很简单:训练数据里英文多,中文少。BPE 是按频率合并的,英文常见组合多,所以能合并成更大的 Token;中文常见组合相对少,所以切得更碎。

不过这几年中文大模型进步很快,中文分词效率已经在不断提升了。


五、Token 和你有什么关系?

Token 不就是个技术概念吗?跟我们普通用户有啥关系?

关系大了!Token 直接影响你的钱包、体验和使用方式

1. Token = 钱

大模型 API 都是按 Token 收费的,输入和输出分别计费,输出还更贵。

你输入的 Prompt 越长,花的 Token 越多,越贵。你让它输出的内容越长,花的 Token 也越多,越贵。

所以,写 Prompt 的时候简洁一点,就是在省钱

2. Token = 记忆

大模型的 "记忆力"(上下文窗口)也是按 Token 算的。比如 8K 上下文、32K 上下文、128K 上下文,说的都是 Token 数量。

你的对话越长,占用的 Token 越多,快到上限的时候,前面的内容就会被 "挤出去"------ 模型就 "忘了" 之前说过什么。

这就是为什么聊到后面,大模型经常 "失忆"------ 不是它笨,是 Token 满了。

3. Token = 速度

大模型生成回答是一个 Token 一个 Token 往外蹦的。生成的 Token 越多,你等的时间越长。

所以,如果你只需要一个简短的答案,就明确告诉它 "一句话回答",既能省钱,又能省时间。


六、关于 Token 的 3 个常见误区

误区 1:Token 就是词。 错。Token 可能是词,可能是词根,可能是字,可能是标点,甚至可能是半个字。它是介于字和词之间的单位。

误区 2:字数 = Token 数。 错。中文 1 个字 ≈ 0.5~0.7 个 Token,英文 1 个词 ≈ 1~1.3 个 Token。而且不同模型的分词方式不一样,Token 数也不同。

误区 3:Token 越少越好。 不一定。Token 少意味着序列短、计算快、成本低,但 Token 太碎会损失语义信息。Token 的粒度是一门平衡的艺术。


总结

好了小伙伴们,Token 就讲到这里。简单回顾一下:Token 是大模型处理文字的基本单位,介于字和词之间;用 Token 是为了平衡效率和泛化能力,解决生词问题;主流的分词算法是 BPE,原理就是 "高频组合合并";中文 1 个 Token 大概对应 1.5~2 个汉字;Token 直接关系到你的钱包、记忆和速度。

下次再看到大模型账单上的 "Token",你就知道这不是什么神秘单位,就是你 "用了多少文字积木" 的意思。

下一篇,我们来讲讲 Prompt------ 你跟大模型说的 "开场白",为什么同样的问题,不同的问法,答案差那么多?Prompt 到底该怎么写才有效?

咱们下篇见!

相关推荐
鬼手点金8 小时前
与LLM结合的主流智能爬虫框架
爬虫·python·llm·post·request·firecrawl·crawl4ai
AI大佬的小弟11 小时前
大模型名词精讲 03:Prompt
llm·prompt·提示词·few-shot·zero-shot·提示词工程·大模型名词精讲
小林ixn12 小时前
WebGPU + Transformers.js:把 DeepSeek-R1 塞进浏览器,真香!
javascript·llm·gpu
鬼手点金13 小时前
FreeLLMAPI 介绍
llm·github·nvidia·apikey·freellmapi·agnes ai·日日新
AINative软件工程14 小时前
LLM 应用的 Feature Flag 工程实践:Prompt、模型与 AI 行为的生产安全灰度
后端·llm·ai编程
众人皆醒我独醉1 天前
Token:AI 世界的基本粒子——不是"字",是统计上最优的"字符组合"
后端·面试·llm
DigitalOcean1 天前
AI 应用成本怎么算?从推理费用到完整 TCO 拆解
llm·agent
liulilittle1 天前
MOE路由:路由(logits: top-k/8)
c++·人工智能·算法·机器学习·llm