大模型中的 Token 是什么?为什么是 Token?Token 是怎么计算的?

举报
搞点薯条 发表于 2026/09/11 08:35:11 2026/09/11
【摘要】 近年来,以 ChatGPT、Claude、Gemini 等为代表的大语言模型(Large Language Model,LLM)快速发展。在使用这些模型时,我们经常会遇到一个概念:Token。很多人会疑惑:为什么大模型不直接按照“字”或者“词”来理解文本?Token 到底是什么东西?一句话有多少 Token 是怎么计算出来的?为什么 Token 数量会影响模型成本、速度和上下文长度?理解 T...

近年来,以 ChatGPT、Claude、Gemini 等为代表的大语言模型(Large Language Model,LLM)快速发展。在使用这些模型时,我们经常会遇到一个概念:Token

很多人会疑惑:

  • 为什么大模型不直接按照“字”或者“词”来理解文本?

  • Token 到底是什么东西?

  • 一句话有多少 Token 是怎么计算出来的?

  • 为什么 Token 数量会影响模型成本、速度和上下文长度?

理解 Token,是理解大模型工作原理的重要入口。


一、Token 是什么?

简单来说:

Token 是大语言模型处理文本时使用的最小信息单位。

人类阅读文章时,会按照“字”“词”“句子”来理解:

例如:

我喜欢人工智能。

人类可能会拆成:

我 / 喜欢 / 人工智能

但大模型并不是直接看到这些文字,而是先经过一个叫 Tokenizer(分词器) 的程序,把文本转换成 Token。

例如:

我喜欢人工智能。

可能被拆成:

我
喜欢
人工
智能
。

对应:

Token 1
Token 2
Token 3
Token 4
Token 5

然后模型把每个 Token 转换成数字 ID:

我       → 2345
喜欢     → 7821
人工     → 5639
智能     → 9127
。       → 15

最终,大模型真正处理的是:

[2345, 7821, 5639, 9127, 15]

而不是文字本身。

因此,大模型的处理流程大致是:

文本
 ↓
Tokenizer 分词
 ↓
Token 序列
 ↓
Token ID
 ↓
向量表示(Embedding)
 ↓
神经网络计算
 ↓
生成新的 Token
 ↓
转换回文字

二、为什么不用“字”或者“词”,而要使用 Token?

这是理解 Token 最关键的问题。

如果让计算机理解语言,最自然的方式似乎应该是:

  • 中文按照字切分

  • 英文按照单词切分

但实际都存在严重问题。

1. 只按“词”切分,会导致词表巨大

假设按照英文单词切分:

I love artificial intelligence.

可以拆成:

I
love
artificial
intelligence

看起来很好。

但是英语中有大量变化:

run
running
runner
runs

如果每一个都作为独立词:

run
running
runner
runs
...

模型需要记住几十万个甚至更多词。

而对于中文:

人工智能
人工智能技术
人工智能领域
人工智能模型

如果全部作为词处理,组合数量会快速爆炸。

语言具有无限组合能力,但词表不可能无限扩大。


2. 只按“字符”切分,信息效率太低

另一种方法是:

每个字符一个单位。

例如:

人工智能正在改变世界

拆成:

人
工
智
能
正
在
改
变
世
界

优点:

  • 简单

  • 不需要巨大词表

但是缺点也明显:

一个长句可能需要大量字符。

比如一本书:

100万字

如果每个字都是一个 Token:

约100万个 Token

模型需要处理非常长的序列。

而 Transformer 模型的计算成本与序列长度高度相关,Token 太多会导致:

  • 推理速度下降

  • 显存需求增加

  • 成本提高


3. Token 是一种折中方案

Token 的设计目标:

既不能太细,也不能太粗。

它希望做到:

  • 常见词保持完整,提高效率

  • 生僻词拆开,提高泛化能力

例如:

英文:

unhappiness

可能拆成:

un
happiness

模型不需要单独学习“unhappiness”,而可以理解:

un(否定)
+
happiness(快乐)

中文:

人工智能模型

可能拆成:

人工
智能
模型

或者:

人工智能
模型

具体取决于 Tokenizer 的训练结果。

这就是 Token 的核心价值:

用有限的词表表示无限的语言。


三、Token 是怎么生成的?

Token 并不是人工规定好的,而是通过算法训练出来的。

目前主流大模型通常采用类似:

  • BPE(Byte Pair Encoding)

  • WordPiece

  • SentencePiece

等方法。

其中 BPE 是最常见的一类。


1. 从字符开始

假设训练数据中有:

low
lower
lowest

最初可能拆成:

l o w
l o w e r
l o w e s t

模型发现:

l + o

经常一起出现。

于是合并:

lo

继续发现:

lo + w

经常出现。

合并:

low

最后形成:

low

成为一个 Token。


2. 高频组合形成 Token

训练过程中:

出现频率高的字符串组合,会更容易成为一个 Token。

例如:

英文:

computer

可能整体作为一个 Token。

但是:

electroencephalography

这种低频长词可能拆成:

electro
encephalo
graphy

中文也是类似:

高频词:

人工智能

可能成为一个 Token。

低频组合:

量子神经网络优化算法

可能拆成多个 Token。


四、Token 是怎么计算数量的?

很多人误认为:

一个中文字符 = 一个 Token

或者:

一个英文单词 = 一个 Token

实际上并不准确。

Token 数量取决于:

  1. 使用什么模型

  2. 使用什么 Tokenizer

  3. 文本语言

  4. 字符组合频率


1. 英文 Token 计算

英文通常比较接近:

1 Token ≈ 3~4 个英文字符

例如:

Artificial intelligence is amazing.

字符数量:

约36个字符。

可能对应:

Artificial
intelligence
is
amazing
.

大约:

5~8 Token

但具体数量取决于模型。


2. 中文 Token 计算

中文通常:

1 个汉字 ≈ 1~2 个 Token

例如:

人工智能正在改变世界

可能:

人工智能
正在
改变
世界

约:

5~8 Token

但不同模型可能不同。


3. 数字和代码更特殊

Token 对数字、代码、符号非常敏感。

例如:

123456789

可能不是一个 Token。

可能拆成:

123
456
789

甚至:

1
2
3
4
5
6
7
8
9

代码也是如此:

例如:

print("hello")

可能拆成:

print
(
"
hello
"
)

因此:

  • 程序代码

  • 数学公式

  • JSON

  • URL

通常消耗更多 Token。


五、Token 为什么影响大模型成本?

大模型服务通常按照 Token 收费。

原因是:

模型计算过程实际上处理的是 Token。

一次请求:

用户输入 Token
+
模型输出 Token
=
总 Token 数

例如:

用户输入:

2000 Token

模型回答:

1000 Token

那么:

总消耗:

3000 Token

费用通常按照这个数量计算。


六、Token 为什么影响上下文长度?

大模型都有一个限制:

例如:

8K Context
32K Context
128K Context
1M Context

这里的 K 指:

Token 数量

不是字数。

例如:

128K Token:

大约可以容纳:

英文:

约几十万单词

中文:

约10万字左右

(实际取决于文本类型和 Tokenizer。)

如果输入超过限制:

模型可能:

  • 截断前面的内容

  • 无法继续处理

  • 需要压缩信息


七、为什么大模型生成文字也是 Token?

很多人认为:

模型是一句话一句话生成。

实际上不是。

模型生成过程:

不是:

今天
天气
很好

而是:

Token 1
 ↓
预测 Token 2
 ↓
预测 Token 3
 ↓
预测 Token 4

例如:

输入:

今天天气

模型预测:

很好

但内部可能是:

今天 → Token 5321

天气 → Token 8921

很 → Token 234

好 → Token 567

每一步都是预测下一个 Token。

这就是所谓:

Autoregressive(自回归生成)


八、Token 的本质:语言的数字化接口

从更深层看,Token 是连接人类语言和机器计算的桥梁。

人类:

文字
↓
意义

计算机:

数字
↓
矩阵
↓
概率计算

Token 完成了中间转换:

人类语言
      ↓
    Token
      ↓
    数字
      ↓
   神经网络
      ↓
    Token
      ↓
    文字

没有 Token,大模型无法高效处理自然语言。


九、总结

一句话总结:

Token 是大模型理解和生成语言的基本计算单位,它不是简单的字或词,而是通过算法学习得到的一种语言片段表示。

理解 Token,需要记住几个关键点:

问题 答案
Token 是什么? 模型处理文本的基本单位
为什么不用字/词? Token 在效率和表达能力之间取得平衡
Token 怎么产生? 通过 BPE 等算法从大量文本中学习
Token 怎么计算? 由具体模型的 Tokenizer 决定
中文多少 Token? 通常一个汉字约对应 1~2 Token
英文多少 Token? 通常一个 Token 约3~4个字符
为什么重要? 影响成本、速度、上下文长度

理解 Token,就理解了大模型运行机制中最重要的一环。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。