Token(词元)是大语言模型处理文本时的最小离散单元,也是 2026 年全国科技名词委在 AI 领域推荐的中文译名。 模型不直接读“字”或“词”,而是先把文本切成词元,再映射成数字 ID 送进神经网络——你可以把它理解成 AI 用来“拼句子”的积木。

一、词元到底是什么:不是字,也不是词
一个词元可能是以下几种东西之一:
一个完整词:the、中国
一个子词/词根:un-、happi、##ness(BERT 里 ## 表示接在词中间)
单个字:我、爱
标点或符号:!、?、空格
字节级片段(GPT 系用 Byte-level BPE,从 UTF-8 字节起步)
举例:
英文 unhappiness → ["un", "happiness"] 或 ["un", "happi", "ness"]
中文 我爱吃苹果 → 常见切法 ["我","爱","吃","苹","果"](约 5 个词元,不是 5 个字=5 词元那么简单,不同 tokenizer 有差异)
英文 tokenization → ["token", "ization"]
💡 关键认知:Token ≠ 字数 ≠ 单词数。1 个汉字可能 = 1 词元,也可能被拆;1 个长英文单词常拆成 2~4 个词元;同一句中文在 GPT 和 LLaMA 里切出来数量都不一样。
二、为什么要切词元:子词折中方案
早期 NLP 试过两种极端:
词级(word-level):按空格切,the 是一个 token。问题:英文几十万词 + 变形(run/runs/running)→ 词表爆炸,遇到新词就 OOV(未登录词)傻眼。
字符级(char-level):每个字母/汉字一个 token。词表小、无 OOV,但序列太长,模型难学语义。
现代大模型(GPT/LLaMA/BERT/Qwen 等)统一走 子词级(subword),代表算法:
BPE(GPT 系列):从字符开始,把最常相邻的字节对不断合并,直到词表到目标大小(如 32K~100K)
WordPiece(BERT):类似 BPE,但按“合并后语言模型概率提升最多”选
SentencePiece(T5/LLaMA 多语言版):不依赖空格,对中文日文友好
效果:高频词 the 占 1 个词元,低频词 antidisestablishmentarianism 拆成好几个子词,既控住词表大小,又能拼出从来没见过的新词。
三、为什么你总会碰到“Token”这个词
因为它贯穿了大模型的三大现实问题:
上下文窗口:模型一次能看住的文本长度用 Token 算,比如 8K / 32K / 128K Token,超了就截断或遗忘。
API 计费:按“输入词元数 × 输入单价 + 输出词元数 × 输出单价”收,输出通常比输入贵(生成要比读取多一步逐 token 预测)。同样 100 字中文和 100 字母英文,词元数不同,费用也不同。
多模态统一:图像被切成 Patch 当图像词元,语音被量化成声学词元,和文本词元共用一套序列建模逻辑。
四、粗算换算(仅估算,别当精确公式)
英文:1 词 ≈ 1.3 Token,100 词 ≈ 130 Token
中文:1 个汉字 ≈ 0.6~1.2 Token(看 tokenizer 和是否常用字),1000 汉字大致 600~1200 Token
代码:标识符长、符号多,比自然语言更费 Token
要精确知道一段文案是多少 Token,直接用对应模型的 tokenizer(HuggingFace AutoTokenizer、OpenAI 的 tiktoken、各厂控制台的“Token 预估”)跑一下最准。
词元(Token)就是大模型把人类语言切碎后,拿来算数、计费、限长的最小积木块;它不一定是词,也不一定是字,而是模型词典里一个可编号的片段。
责任编辑:kj003