计算机能够处理的,永远只有数字。

例如,你现在看到屏幕上的一个字:

在人眼里,它就是一个汉字。

但在计算机内部,它通常会先表示成 Unicode 编码,例如:

U+4F60

继续转换之后,又会变成:

01001111……

也就是一长串二进制。

也就是说:

计算机从来没有真正见过"你"这个字,它看到的始终只是数字。

大语言模型当然也是一样。

因此,当我们把一句中文发送给模型时,它首先必须完成一件事情:

把文字转换成模型能够理解的数字。

但是,这里马上会出现另一个问题。


2.2 为什么不能一个字对应一个数字?

假设我们设计一个最简单的大模型。

我们规定:

你 → 1

好 → 2

世 → 3

界 → 4

这样:

你好世界

是不是就可以转换成:

1 2 3 4

看起来非常简单。

为什么现实中的 GPT、Claude、Qwen 不这么做?

原因只有一个:

效率太低。

举个例子。

中文里:

中华人民共和国

如果每个字单独处理。

需要:

中
华
人
民
共
和
国

七次处理。

但是:

如果模型发现:

中华人民共和国

这个词出现了几千万次。

它完全可以把它当成:

一个整体。

例如:

中华人民共和国
↓
一个Token

这样:

模型一次就能识别。

速度更快。

表达的信息也更多。

再举一个程序员更熟悉的例子。

Python:

__init__

如果拆成:

_
_
i
n
i
t

毫无意义。

模型更希望按如下定义token,这样才能更清晰的表示它的维度:

__init__

↓

一个Token

因此:

模型并不是按照汉字或者单词去理解世界。

而是按照这种新的单位:Token。


2.3 什么是 Token?

其实在3月23日中国发展高层论坛2026年年会上,国家数据局局长刘烈宏正式公布,AI领域核心概念Token的标准中文译名为  词元 。这一中文语义其实是相当精准的。

但容易让初学者误以为,Token 就是一个词。

其实完全不是,更准确一点,可以把它理解成:

模型自己发明的一套"文字积木"。

这些积木,有的大,有的小,有的是一个字,有的是半个单词,有的是整个句子。甚至,还有可能只是一个空格。

举几个真实例子。

英文:

apple

可能就是:

apple

一个 Token。

但是:

unbelievable

有可能变成:

un
believ
able

三个 Token。

有兴趣的可以去openai的Tokenizer试试,地址:Tokenizer - OpenAI API

image

中文呢? 其实也一样,每个模型的规则都可能会有区别

中文:

你好

有些模型:

你
好

两个 Token。

有些模型:

你好

就是一个 Token。

代码:

System.out.println

很可能整个就是一个 Token。

因此Token 并没有固定长度。

它唯一的目标就是:

让模型能够更高效地表示语言。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐