本文试图从信息论、机器学习和中国古典哲学三个维度解释一个看似简单的问题:为什么 token 的翻译这么难?答案不在词汇表里,而在认知结构里。

每次谈到大模型,几乎都会碰到一个绕不过去的词:token。它看起来只是个小术语,真落到中文里,却总有点别扭。你说它是“词”,不对;你说它是“字”,也不对;你说它是“标记”、“令牌”,味道更是直接跑偏。它明明是模型处理文本时最基础的单位,偏偏一到翻译这一步,就开始显得既熟悉又陌生,像一块能摸到边缘、却总说不准形状的东西。

大多数人把这归结为“中文词汇不够用”。我想说的是,这个归因方向偏了。翻译困难的主要原因,不在中文这一边,而在 token 这个概念本身——它横跨信息论和语言处理两个领域,其技术内涵很难被任何一个日常词汇精确锚定。要理解为什么,我们需要同时向两个方向走:向下,钻入机器学习和信息论的数学结构;向上,攀入中国古典思想的抽象层级。这两条线最终会交汇,而它们的交汇点,恰好照亮了 token 的真实面目。

Token 歧义

在开始讨论中文翻译之前,必须先拆掉一个默认假设:很多人以为 token 在英文里是个清晰的技术术语,只是到了中文才变得难翻。这是一个误解。Token 在英文里本身就是一个严重超载的多义词,在不同的学科传统中指向完全不同的东西。

五条分支中最值得深挖的是后两条之间的关系——传统 NLP 的 token 和 LLM 的 token。在 2016 年以前,NLP 领域说 token 时,几乎就是在说“词的实例”。英文按空格切,中文用 jieba 之类的分词工具切,切完之后每一段就是一个 token。这种 token 是语言学驱动的。然后 BPE 来了。它不按词切分,按频率切分。这一步看起来只是换了个分词算法,实际上是一次范式转移。而 token 这个词恰好被沿用下来,还是叫 token,但含义已经彻底变了。

信息论谱系

说 LLM 的 token 是“信息论的产物”,不是一个随意的修辞。从 BPE、WordPiece 到 SentencePiece 所支持的 BPE / unigram 等方案,现代大模型使用的各种子词分词方案虽然细节不同,但共享同一条技术谱系,每一个环节都在回答同一个问题:如何用更少的符号表示更多的信息?

Shannon 1948:一切的起点

Claude Shannon 1948 年发表的论文《A Mathematical Theory of Communication》奠定了整个信息论。他的核心洞察可以浓缩成一句话:信息的本质是消除不确定性,消除不确定性的代价可以被精确量化。出现概率高的符号(比如英文中的 e)携带的信息量低;出现概率低的符号(比如 z)携带的信息量高。由此推出:最优编码应该给高频符号分配短码,给低频符号分配长码。这就是压缩的理论基础。

📌

Anthropic 的 Claude 这个名字,通常被认为部分致敬了 Claude Shannon;公开报道有提到,这个名字也因为听起来更友好、更像一个人名而被采用。Shannon 奠定了“信息”如何被量化、编码、压缩的基础;Claude 则是一个处理语言与信息的模型名。这个呼应,确实不太像偶然。

BPE:一个纯粹的压缩算法

Philip Gage 1994 年在《C Users Journal》上发表 BPE 时,它就是被归类为“数据压缩算法”的,和语言处理没有半点关系。它的逻辑极其简洁:把数据打散成最小的单位(字节),反复统计哪两个相邻单位出现得最频繁,合并它们,重复几万次,得到一个词表。

注意最后一行:lowest 没有被当作一个完整的词来保留,而是被拆成了 low + est。BPE 不认识“词”,它只认识频率。这个过程的驱动力不是语言学的词法分析,而是统计压缩——它和 ZIP 的底层逻辑属于同一个家族。

中文 Token

中文里的 token 比英文更反直觉,BPE 对中文的切分方式,更能暴露 token 和“词”之间的裂缝。

“人工智能”在人类的语感中是一个不可再分的整体。但 BPE 不知道这一点。“人工”和“智能”各自作为高频双字组合,都独立存在于词表中。中文没有天然的空格分隔,“词”的边界本来就模糊——BPE 绕过了整个争议:它不思考“这是不是一个词”,它只问“这两个相邻的符号片段一起出现了多少次”。

Token 不是词的另一种切法——它在根本上遵循的是一套不同的游戏规则。

两套世界观

理解了 BPE 之后,再来看各种中文译名,就能看出它们各自的盲区。问题不在于哪个译名“更准”,而在于它们不约而同地陷入了同一种倾向:试图用语言学的框架去命名一个根基在信息论中的概念。

词元:把 token 锚定在了左边的“词”层,暗示它是某种语言学单位。中文读者一看到“词元”,脑子里冒出来的第一个直觉,往往还是“词”。半对最麻烦,因为它最容易让人误以为自己已经理解了。

令牌:把 token 拉进了认证系统的语义场。access tokenrefresh token、身份令牌。一提“令牌”,大家先想到的是认证和权限,而不是文本切分。好的翻译应该消歧,而不是保留原文的歧义。

文元:方向对了,但力度不够。“文”确实比“词”宽泛,不再暗示语言学边界。但“文”在中文里的语义场太散——文章、文学、文化、文明——反而锚不住任何东西。它回避了错误,但也没有传递出什么正确的直觉。

其他的,比如“模元”、“智元”、“智子”,等等。。。

Token 进入模型

到目前为止,我们只讨论了 token 在模型入口处的身份。但故事到这里才刚开始。Token 进入模型之后发生的事情,会让中文译名的困境变得更加深刻。很多人以为模型在处理“文字”。严格来说不是的。模型处理的是向量。

在 Transformer 里,一个 token 的最终表征在很大程度上由上下文决定。同一个 token bank(银行),在 river bank(河岸) 和 bank account(银行账户) 中会被 attention(注意力)机制塑造成截然不同的向量。它的身份不是固定的,而是流动的、关系性的。经过 L 层 Transformer 之后,它的最终表征是整个序列中所有 token 经过 L 次互相加权求和后的产物。

Token 不是一个“东西”,它是一个“位”。一个在序列中占据位置、等待被上下文塑造的占位符。

深层同构

大模型训练时最小化的损失函数——交叉熵损失——就是 Shannon 熵公式的直接变体:

最小化这个值,等价于最大化模型对训练数据的压缩效率。更精确地说:在算术编码等合适的编码方案下,语言建模与数据压缩可以形式化地互相转化——因此最小化交叉熵与提高压缩效率之间存在直接联系。这不意味着“压缩”穷尽了“智能”的全部含义——但它确实揭示了一层深刻的结构关联。

Sutskever 的这句话“压缩即智能”是一个强有力的启发,但值得追问的是:一个能完美压缩文本的系统,到底算不算“理解”了文本?它捕捉到的是统计规律——词法的、句法的、语义的、常识的、逻辑的——但这些规律的捕捉是否足以等同于人类意义上的理解,仍然是一个开放的认知科学问题。不过,就 token 这个议题而言,结论是清晰的:token 的构建与语言模型的训练目标,都与 Shannon 开创的信息论框架有深刻联系。

从《易经》的“爻”说起

讲到这里,我想换一个完全不同的方向。不往机器学习的深处走了,往中国古典思想的深处走。需要预先说明的是:接下来的类比是理解性的隐喻,不是技术上的一一对应。它们的价值不在于证明什么,而在于照亮——用一套更古老的概念框架,帮助我们对 token 的本质形成直觉。好的隐喻不替代分析,但它能让分析变得可感。

《易经》的基本构成单位叫“爻”(yáo)。爻只有两种形态:一根完整的横线(阳爻 )和一根断开的横线(阴爻 )。爻本身没有意义——一根横线能有什么意义?但三根爻叠在一起,就成了“卦”。卦有意义,爻没有。爻的意义完全取决于它在哪个位置、和哪些其他爻组合在一起。

“爻”这个字的字形本身就是两个交叉——“交”的原始形态。它不描述单元是什么,它描述单元的存在方式:交错、交互、交织。一个爻之所以有意义,是因为它和别的爻交在了一起。如果两千多年前的中国思想家能为“卦的基本构成单位”找到“爻”这样的命名——不描述内容,只描述关系方式——那我们今天为 token 找中文名,真正应该去的方向,也许不是“词”或“文”,而是这种更抽象的思路。

命名悖论

道可道,非常道。名可名,非常名。 ——《道德经》第一章

这两句话在哲学史上被解读了两千年,但放到 token 翻译这件事上,它突然有了一种惊人的现实性:可以被命名的,就不是那个真正的东西了。

“词元”,你一说出“词”,你就已经偏离了 token 的技术实质,因为 token 往往不是词。一说出“令牌”,你就把它拉进了认证系统的语义场。“文元”,你一说出“文”,你就暗示它始终以文本身份存在,但它进入模型的第一步就是被转换为数值向量。

每一次命名都是一次偏移。这未必意味着“永远不可能找到好译名”,但它确实揭示了困难的根源:token 是一个生长在信息论和线性代数交叉地带的概念,来自日常语言的名字很难不把它拖向某个不属于它的认知锚点。老子看到了这类问题的一般形式:越是根本性的东西,越容易溢出名字的容器。

Token 生命周期

朴散则为器。 ——《道德经》第二十八章

“朴”(pǔ),原始的未雕之木。它还没有被加工成任何具体的东西。它是一切可能性的起点,但本身不是任何一种可能性。它处在“定形之前”的状态。

Token 在词表里的状态,就是“朴”。一段文本碎片,携带着一个初始嵌入向量,但这个向量只是起点,它还没有被上下文定义。当 token 进入 Transformer 的层层 attention 计算,它开始被上下文“散”为具体的表征——这就是“朴散则为器”。同一块“朴”(同一个 token ID),在不同的上下文中被散为完全不同的“器”(完全不同的向量表征)。

Transformer 运行原理

几者,动之微,吉之先见者也。 ——《易经·系辞》

“几”(jī),是事物变化的最初征兆,是趋势尚未成形时的那一丝微动。Transformer 模型做的事情,本质上就是在捕捉“几”。

模型在每一步生成中做的事情,就是把这个弥散的“几”坍缩为一个具体的 token。从概率分布到采样,从可能性到确定性,从“几”到“器”。然后这个新的 token 加入序列,改变整个概率场的形状,产生新的“几”,如此反复,直到序列结束。

古今交汇

现在把所有线索收拢。我们从 BPE 出发,发现 token 的构建过程根植于压缩算法。我们追溯它的信息论谱系,发现从 Shannon 的熵到子词分词算法,再到 LLM 的交叉熵损失函数,每一步都与信息论有深刻联系。我们进入 Transformer 内部,发现 token 以向量形式存在,其表征在很大程度上由上下文的 attention 关系决定。

然后我们向古典思想求助,找到了三个具有启发性的类比——它们不是技术证明,而是帮助直觉抵达正确方向的路标:

  • :照亮了它的无自性。单独的 token 没有意义,意义从组合和位置中涌现。
  • :照亮了它的生命周期。从未定形的初始嵌入,到被 attention 塑造为具体表征。“朴散则为器”,就是 embedding + attention 的过程。
  • :照亮了它在生成中的角色。下一个 token 的诞生,是概率场坍缩的瞬间。Transformer 是一台感知“几”的机器。

这三个概念(爻、朴、几),没有任何一个能直接翻译为 token。但它们做了一件比翻译更重要的事:从不同角度照亮了 token 的本质结构。

结语

所以我的立场是:至少在现阶段,Token 不需要中文名。

这不是一种语言宿命论——我不是在宣判“翻译本身就是失败”。中文思想传统中有“爻”、“朴”、“几”这样的概念,它们在抽象层级上比任何现代译名都更接近 token 的本质。未来也许会有某个译名在使用中慢慢长出生命力,就像“基因”、“量子”最终在中文里站住了脚一样。但那需要时间和共识的自然沉淀,不是某篇文章或某个委员会可以替代的。就当下而言,直接用 token 是更诚实、也更实用的选择。

“爻”可以帮助你理解 token,但你不能把 token 叫做“爻”,就像你不能把量子态叫做“几”一样——类比不是翻译,启发不是定义。

技术史上,很多活下来的术语走的是音译或直接借用的路——“比特”没有人试图翻成“信息元”,“像素”也没人坚持叫“图元”。Token 在中文技术社区的裸词使用率已经很高了,绝大多数接触大模型的人都能直接理解。

好的术语翻译需要满足一个很苛刻的条件:它必须比直接用原词更能帮助人理解概念本身。“词元”、“令牌”、“文元”都没做到。

我的建议:在正式写作和技术讨论中,直接用 token。在面向非技术读者解释时,不要去找一个对应词,而要去解释那个“切法”本身:Token 是大模型读文本时的最小处理单位,它不是字,也不是词,而是模型根据训练数据的统计规律自动切出来的文本碎片。这段话比任何两个字的译名都管用。

好的术语应该是一扇窗户,让人透过它看到背后的概念。而 token 的各种中文译名,更像是一面画了窗户图案的墙——看起来有那么个意思,走过去却会撞上。与其费力在这面墙上画得更逼真,不如承认:这里需要的不是一扇假窗,而是一段解释。

两千年前的思想家就已经看透了这一点。老子说“名可名,非常名”,不是说道不能被认知,而是说真正根本性的东西不能被一个名字穷尽。同样,token 不能被一个中文译名穷尽。但它可以被理解——通过追问它的压缩起源、它的向量生命、它的关系本质、它在概率场中的角色。

理解到了,名字就是个标签,怎么贴都行。理解不到,名字就容易变成一堵墙,挡住后面真正值得看的东西。

也许这才是“名可名,非常名”在今天最切身的一层意思...