Appearance
Token 原理与 Tokenizer 机制
方向定位:聚焦 Token 作为大模型最小信息单元的底层机制——回答"Token 是什么、Tokenizer 怎么训练、文本怎么变成模型能算的数字"。包括 Token 三重角色(表示层/计算层/资源层)、文本→Token→ID→向量的三步转化链、子词切分(BPE/WordPiece/SentencePiece)原理与训练流程、嵌入矩阵与位置编码、自回归预测机制。不涉及计费公式、多模态成本、降本策略(→ Token 计费与降本工程)。 当前版本:v0.1 首次构建:2026-05-15 最近更新:2026-05-15 文件名日期同步:2026-05-15 来源数:2 篇(笔记 21、22)
方向定位
本方向研究的核心问题是:"文本怎么变成大模型能算的东西"。它的边界包括:
- 包含:Token 的本质定义、Tokenizer 的编码/解码两阶段、子词切分算法(BPE/WordPiece/SentencePiece)、词表与合并规则、Token ID 映射、嵌入矩阵、位置编码、自回归预测、Token 三重角色
- 不包含:各模态计费公式与降本策略(→ Token 计费与降本工程)、Prompt 工程框架(→ Token 计费与降本工程的"结构化提示"章节)、RAG Chunk 切分(→ RAG 文档处理与 Chunk 工程)
- 与相邻方向的区别:本方向只回答"是什么、怎么算出来",不回答"多少钱、怎么省"
理解 Token 与 Tokenizer 是大模型一切应用的底层基础——不懂 Token 就解释不了上下文窗口、计费差异、中英文成本不对称这些工程现象。
知识图谱
- Token 是为神经网络设计的"文本原子"
- 不是字、不是词、不是字符
- 由 Tokenizer 切分产生的子词单元
- 形态不固定:完整单词/词片段/汉字/标点/代码空格
- Token 三重角色(同一对象的三种视角)
- 表示层:文本离散化的数学单位
- 计算层:模型预测的最小步长
- 资源层:成本/上下文/延迟的核心计量单位
- 文本进入模型的三步转化链
- 文本 → Token(离散切分,由 Tokenizer 完成)
- Token → ID(整数映射,查词表)
- ID → 向量(嵌入矩阵 V×D 查表 + 位置编码)
- Tokenizer = 切分器 + 压缩器
- 编码(Encoding):切分 + 映射
- 解码(Decoding):仅映射(模型一次只输出一个 ID)
- 压缩本质:高频组合保留为完整 Token,低频拆为子词
- 子词切分三大算法谱系
- BPE:按字节频率合并(GPT/LLaMA/智谱 GLM)
- WordPiece:合并时考虑语言模型概率(BERT)
- SentencePiece:无监督,支持字符/词/子词三级(Qwen/T5)
- 自回归预测的工程意义
- 每个 Token = 一次完整前向计算
- 流式输出底层机制 = 每次只生成一个 Token
- 中文压缩效率高于英文("人工智能"=1 Token)
核心概念
概念 1:Token / 词元——为神经网络计算设计的文本原子
来自笔记 21/22。Token 是大模型处理文本的最小单元,不是字、不是词、不是字符。它是经过 Tokenizer 切分后产生的"子词级"单元,形态不固定——可以是完整单词(apple)、词片段(un + believ + able)、单个汉字、标点、甚至代码中的空格。
关键认知:Token 不是为人类理解设计的"词",而是为神经网络计算设计的"文本原子"。它的"客观性"取决于 Tokenizer 规则,不同模型对同一文本切出的 Token 数会不同。
国家标准译名:2026 年 3 月 24 日,国家数据局官方发布首次提到 Token 的标准中文译名——"词元(Ciyuan)"。这意味着 Token 概念从"技术黑话"正式进入国家级标准体系。
调用量增长:中国日均词元调用量从 2024 年初 1000 亿 → 2025 年底 100 万亿 → 2026 年 3 月 140 万亿,两年增长超千倍,反映 AI 应用的爆发式渗透。
概念 2:Token 的三重角色——同一对象的三种工程视角
来自笔记 21。Token 在大模型工程中同时扮演三个角色:
| 角色 | 含义 | 工程影响 |
|---|---|---|
| 表示层 | 文本离散化后大模型能识别的"数学表示单位" | 决定模型能"看见"什么 |
| 计算层 | 模型预测生成的"最小步长",每步推进一个 Token | 决定回复速度(每生成一个 Token = 一次前向计算) |
| 资源层 | 衡量内存、延迟、成本、上下文容量的"核心计量单位" | 决定计费、上下文限制、RAG 分块策略 |
为什么这三层重要:解释计费就要看资源层(按 Token 数算钱),解释流式输出就要看计算层(每 Token 一次前向),解释中英文压缩差异就要看表示层(Tokenizer 词表收录情况)。三层视角缺一不可。
概念 3:Tokenizer——训练出来的智能压缩器
来自笔记 22。Tokenizer 不是简单的文本切分工具,而是通过算法训练出来的智能压缩器。其核心思想:找出经常一起出现的字符组合,并将它们合并为一个 Token。
两个核心功能:
| 功能 | 做什么 | 步骤 |
|---|---|---|
| 编码(Encoding) | 文本 → Token ID 序列 | ① 切分 ② 映射 |
| 解码(Decoding) | Token ID → 文本 | 仅映射(模型一次只输出一个 ID) |
示例(中文):
- "马克喜欢人工智能吗"(9 字)→ 切分 ["马克", "喜欢", "人工智能", "吗"](4 Token)→ 映射 [35, 36, 37, 38]
- 解码:模型输出 36 → 查词表得"喜欢" → 流式打字机式输出
Tokenizer = 词表(Vocabulary)+ 合并规则(Merge Rules)。规则文件存储在 tokenizer.json。
概念 4:Token vs Token ID——文字形式 vs 数字形式
来自笔记 22。这是初学者最容易混淆的两个概念:
- Token:文字形式的语义单元,人类可读(如"喜欢")
- Token ID:数字形式的编号,模型可算(如 36)
- 关系:一一对应,通过词表映射;Token ID 本身没有语义,只是编号
- 为什么需要分开:模型本质是数学函数(矩阵运算 + 向量计算),输入输出都是数字。Tokenizer 是"人类语言↔数学空间"的桥梁。
概念 5:嵌入矩阵与位置编码——从 ID 到向量的两步
来自笔记 21。Token ID 还不能直接送给 Transformer,需要进一步转换为向量:
嵌入矩阵(Embedding Matrix):
- 维度 V×D,V 是词汇表大小(如 10 万个 Token),D 是向量维度(GPT-3 为 12288 维)
- 每行对应一个 Token 的高维向量
- 向量化 = 用 Token ID 在矩阵中"查字典",取出对应行
- 向量含义在训练中学出来——"猫"和"狗"、"开心"和"快乐"的向量空间距离更近
位置编码(Position Encoding):
- 在语义向量基础上叠加位置信息
- 让模型知道 Token 在句子中的顺序
- 这就是为什么"我吃苹果"和"苹果吃我"能被区分——纯语义向量是相同的,靠位置编码区分
概念 6:自回归预测——逐 Token 的"打字机"
来自笔记 21。大模型不是"一口气"生成完整答案,而是逐 Token 预测:
- 根据输入序列,预测下一个最可能的 Token
- 把预测出的 Token 加入序列
- 基于新序列继续预测下一个
- 循环直到生成停止标记
工程意义:
- 每个 Token = 一次完整前向计算(性能瓶颈所在)
- 流式输出的底层机制(不是为了 UX 体验设计,是底层就这样工作)
- 解释了为什么"输出长度"是计费和延迟的核心变量
方法论与框架
框架 1:Tokenizer 编码四步流程
来自笔记 21。当输入"今天吃什么?"时,Tokenizer 自动完成:
- 预处理:统一大小写(Apple→apple)、统一字符编码格式
- 分词(Tokenization):按分词器规则切成 Token
- 添加特殊 Token:
im_start表示消息开始、endoftext表示文本结束(实际写法为尖括号包裹的特殊标记),帮模型区分对话结构 - 映射 ID:根据词汇表给每个 Token 分配唯一整数 ID(如"苹果"→ID 19416)
分词规则存储在 tokenizer.json 文件中,不同模型的 tokenizer.json 直接决定了对同一文本的 Token 数差异。
框架 2:BPE 训练四步法
来自笔记 22。BPE(Byte Pair Encoding)是 GPT/LLaMA 系最常用的子词训练算法,核心思想:找出经常一起出现的字,合并成一个 Token。
Step 1:准备训练语料——收集大量文本数据作为训练语料。
Step 2:初始化词表——将所有单字加入词表,每个字都是一个 Token,都有一个 Token ID。例:马/克/喜/欢/人/工/智/能/吗。
Step 3:统计共现频率——扫描语料,统计哪些字符经常一起出现。
Step 4:执行合并(迭代):
- 第一轮:发现"智"+"能"出现最多 → 合并为"智能" → 加入词表 → 记录规则
- 第二轮:发现"人"+"工"出现最多 → 合并为"人工" → 加入词表 → 记录规则
- 第三轮:发现"人工"+"智能"出现最多 → 合并为"人工智能" → 加入词表 → 记录规则
- 后续:马+克→马克,喜+欢→喜欢,持续迭代
关键特点:合并后的 Token 可以继续参与下一轮合并,形成多层次语义单元。最终产物 = 词表(Vocabulary)+ 合并规则(Merge Rules)。
框架 3:三种主流分词算法对比
来自笔记 21/22。
| 算法 | 核心逻辑 | 代表模型 | 偏向 |
|---|---|---|---|
| BPE (Byte Pair Encoding) | 按字节频率合并片段,自动学习高频组合 | GPT 系列、LLaMA、智谱 GLM、Anthropic Claude | 频率统计优先 |
| WordPiece | 类似 BPE,但合并时考虑语言模型概率,更贴近语义 | Google BERT | 语义概率优先 |
| SentencePiece (Unigram) | 无监督,支持字符/词/子词三级,灵活性最高 | 阿里云 Qwen、Google T5 | 多粒度灵活 |
选型差异背后:Google 倾向 Unigram,OpenAI/Anthropic 倾向 BPE,反映了不同公司在"词表泛化能力"和"训练效率"之间的权衡偏好。
框架 4:从文本到向量的完整流水线
来自笔记 21/22 综合。
输入阶段(编码):
- 用户输入文本:例如"马克喜欢人工智能吗"
- Tokenizer 切分:["马克", "喜欢", "人工智能", "吗"]
- Tokenizer 映射:[35, 36, 37, 38]
- 嵌入查表:每个 ID 在 V×D 嵌入矩阵中取出一行向量
- 位置编码叠加:让向量带上"在句中第几位"的信息
计算阶段: 6. 模型接收向量序列,进行大量矩阵运算和向量计算 7. 输出一个 Token ID(如 36)
输出阶段(解码): 8. Tokenizer 将 Token ID 映射回 Token:36 → "喜欢" 9. 流式输出:模型一次输出一个 Token,然后回到第 6 步继续生成下一个
关键工程理解:解码不需要切分(因为模型一次只输出一个 Token ID),编码却需要切分+映射两步。
案例库
案例 1:「马克喜欢人工智能吗」的 Token 切分
来自笔记 22。这是理解中文压缩效率的最直观例子:
- 原文:「马克喜欢人工智能吗」(9 个汉字)
- Token 切分:["马克", "喜欢", "人工智能", "吗"](4 个 Token,22 中又写作 5 个 Token——差异来自不同 Tokenizer 是否把"马克"作为一个 Token)
- 压缩率:约 55%(5/9)或 44%(4/9)
- 映射示例:马克→35、喜欢→36、人工智能→37、吗→38
关键启示:「人工智能」被合并为单个 Token,是 BPE 训练时该词组在中文语料中高频共现的产物。这就是为什么中文 1 Token ≈ 1.5~2 汉字——常用词组被压缩了。
案例 2:GPT-3 嵌入矩阵规模
来自笔记 21。GPT-3 嵌入矩阵的 D 维度为 12288。如果词汇表是 5 万 Token,嵌入矩阵规模就是 50000 × 12288 ≈ 6 亿浮点参数——仅嵌入层一项就接近一个早期小模型的总参数量。这是大模型为什么需要海量算力存储的直观原因之一。
案例 3:苹果的 Token ID 19416
来自笔记 21。某个 Tokenizer 词汇表中"苹果"的 ID 为 19416。这只是某一个 tokenizer 的示例值,不同模型的 tokenizer.json 会给出完全不同的 ID。不要把任何 Token ID 当成跨模型通用值。
案例 4:中国 Token 调用量增长(国家数据局统计)
来自笔记 22。
| 时间 | 日均调用量 | 增长倍数 |
|---|---|---|
| 2024 年初 | 1000 亿 | 基准 |
| 2025 年底 | 100 万亿 | 1000 倍 |
| 2026 年 3 月 | 140 万亿 | 1400 倍 |
两年增长超千倍。这是判断"AI 应用渗透速度"最直接的宏观指标,也是国家数据局把"词元"纳入官方译名的现实背景。
关键洞察
洞察 1:Token 是为神经网络计算设计的"文本原子"——不是自然语言单位
来自笔记 21。最容易踩坑的认知偏差就是把 Token 当"词"。Token 的形态完全由 Tokenizer 训练数据和算法决定,没有"绝对的客观性"。这意味着:
- 同一段文字在不同模型上 Token 数会不同
- 同一段文字在同模型不同版本上 Token 数也可能变化
- 估算成本时不能跨模型套用经验值
洞察 2:Tokenizer 不是切分器,是训练出来的压缩器
来自笔记 22。"Tokenizer 是个简单的字符串切分工具"是初学者最大的误解。实际上 Tokenizer 是经过大语料训练才产生的智能压缩器,词表和合并规则都是训练产物。中文 Tokenizer 收录"人工智能"为单 Token 是训练数据中该词组高频共现的结果,而不是人工硬编码。
推论:国内模型对中文的 Token 效率往往优于国外模型,本质是训练语料中文比例不同。这也是国产大模型一项被低估的真实优势。
洞察 3:词元从"技术黑话"进入国家级标准体系
来自笔记 22。2026.3.24 国家数据局确定 Token 标准中文译名为"词元(Ciyuan)",标志着这个原本的工程概念进入国家级标准。这反映两件事:① AI 已是国家战略级议题;② 文档与产品命名规范应跟进官方译名以避免后续合规摩擦。
洞察 4:自回归预测让"输出长度"成为成本核心变量
来自笔记 21。每生成一个 Token = 一次完整前向计算,这个机制决定了:
- 输出 Token 单价 > 输入 Token 单价(因为输出需要逐 Token 跑模型)
- 长输出 = 高成本 + 高延迟
- 流式输出不是 UX 设计选择,是底层机制本就如此
洞察 5:训练 Tokenizer 远比训练大模型简单,但影响深远
来自笔记 22。Tokenizer 训练只需统计共现频率 + 迭代合并,远比训练 Transformer 简单。但它一旦确定就直接影响:
- 模型的"理解粒度"(词表能否覆盖业务术语)
- 中英文成本差异
- 上下文窗口的实际容量
- RAG Chunk 设计的边界
产品经理视角:评估开源模型时,看 tokenizer 词表对业务术语的收录情况,比单看模型参数量更能预测实际效果与成本。
待探索问题
- 各家模型的 tokenizer.json 词汇表差异对中文处理效率的具体影响——能否量化对比?
- BPE 与 SentencePiece 在实际中文场景的性能对比?
- 多语言模型(如 Qwen)如何在词表大小和多语言覆盖之间做取舍?
- 业务术语未被 tokenizer 收录时,是否值得为模型做轻量 tokenizer 扩展?成本与收益如何?
- 自回归之外的并行解码方案(如 Speculative Decoding)能否打破"每 Token 一次前向计算"的瓶颈?
- 嵌入维度 D 的选择有什么经验法则?为什么 GPT-3 选了 12288?
来源索引
| 编号 | 标题 | 日期 | 类型 |
|---|---|---|---|
| S01 | 解密大模型 Token——从分词原理到工程实践全链路 | 2026-04-13 | 文章笔记(原 21) |
| S02 | Token(词元)深度解析:从 Tokenizer 到大模型底层机制 | 2026-04-14 | 文章笔记(原 22) |
延伸阅读
本文回答的是"Token 是什么、怎么算出来"。当你理解了 Token 的底层机制后,自然会进入下一个工程问题——Token 在生产环境里如何变成钱、如何被压缩与节约。
- → Token 计费与降本工程:了解 Token 在工程上如何变成成本——多模态计费公式、上下文/输出/缓存的单价差异、Prompt 工程与 RAG Chunk 切分对成本的实际影响、降本策略库。
演进记录
- 2026-05-15 v0.1 — 首次构建,由 /route-knowledge 路由分析触发。从 Token 与模型/ 目录下原始笔记 21、22 抽取,搭建 Tokenizer 机制方向骨架,纳入 6 个核心概念、4 个框架、4 个案例、5 条洞察、6 个待探索问题。来源数:2。
- 2026-05-19 v0.2 — 结尾补充"延伸阅读"段落,建立到 04-成本与效能/Token计费与降本工程.md 的交叉引用。