🔤 Token 是怎么产生的,又是怎么消耗的?

从分词编码到推理消费:大模型 token 的完整生命周期

由 网络精灵 整理 · 2026-08-11 · AI 导航原创指南

0先建立共识:什么是 Token

Token 是模型运算的最小单位——它不是字符,也不是单词,而是「子词」或「词片段」。模型只在 token 空间里做数学运算,一切文本、图像、音频都要先变成一串整数 id,模型才「读得懂」。

模型的眼里没有「字」和「词」,只有 token id。所以「字数 / 词数」和「token 数」是两回事,计费、上下文上限、推理速度全按 token 走。

整条链路是一个闭环:文本 → 编码成 token → 模型消费并生成 → 解码回文本。下面这张图先给你全貌:

Token 生命周期:文本到 token 再到文本 原始文本经分词编码为 token id,进入模型推理(预填充加自回归生成),再经反分词解码为输出文本。 原始文本 中文 · 英文 · 代码 · 图像 分词编码(产生) BPE · SentencePiece · WordPiece → token id 模型推理:消费 + 生成 Prefill 预填充(输入,并行) Decode 自回归(输出,串行) 反分词解码 token id → 文本

1Token 是怎么「产生」的(编码 / Tokenization)

模型读不懂字符,只能处理整数 id。把文本变成 id 的过程就是分词,分三步:

三大分词算法族(2026 现状)

算法思路代表模型词表大小
BPE(字节级)从 256 个字节起,迭代合并最高频相邻对GPT 系列、Claude、Llama 4、DeepSeek-V3、Qwen3、Mistral65K–202K
SentencePiece(BPE 或 Unigram)把空格当普通字符 ,直接在原始字节上训练,原生支持无空格语言(中日泰)Gemini 3、T5、Gemma最大 262K
WordPiece按「似然增益」合并,续接片段用 ## 标记BERT 系(主要用于编码器模型)

三个关键事实

不要拿「字数」估算成本或上下文占用。同一句话在 GPT-4o(200K 词表)和老模型(100K 词表)下 token 数能差出近一倍——永远用目标模型对应的分词器来数。

2Token 是怎么「消耗」的(推理 / Inference)

模型推理分两个阶段,这正是 token「被消费」和「被产生」的分水岭:

总消耗 = 输入 token + 输出 token;二者之和不能超过上下文窗口上限。下面这张「token 账本」把一次对话拆开看:

推理时 token 的消耗与产生(上下文窗口账本) 上下文窗口有上限 N token,由输入 token(一次性预填充)和输出 token(逐字生成)两部分组成;KV Cache 随长度线性占显存。 上下文窗口(输入 + 输出 ≤ N tokens) 输入 token(一次性 Prefill 预填充) system 指令 · 历史对话 · 本次 prompt · tools 定义 并行计算、较快;消耗 = 输入 token 数 输出 token(逐字 Decode 生成) 每生成 1 个都要重算一遍注意力 串行、越生越长越贵;计费单价更高 KV Cache 随序列长度线性占用显存
KV Cache 才是长上下文「贵」的真凶:它随序列长度线性吃掉显存,注意力计算量随长度平方增长。所以「长文档」贵,不只是算力,更是显存。

3为什么计费「输入便宜、输出贵」

因为生成的每一步都要重算注意力:输出阶段是串行的,每多一个 token,注意力计算量就随已生成长度线性增长;而输入阶段是一次性并行算完的。所以厂商普遍把输出单价定得高于输入(常见输入价约为输出的 1/3~1/2,部分模型输出可达输入 2–4 倍)。

省 token 的实战方法

3 步
编码:归一化 → 切分 → 映射 id
2 段
推理:Prefill 消费 + Decode 产生
1 个
上限:输入 + 输出 ≤ 上下文窗口

一句话总结

Token 由分词器(BPE / SentencePiece / WordPiece)按词表产生为整数 id;在推理时,输入 token 被 Prefill 一次性消费、输出 token 被 Decode 逐字产生,二者之和受上下文窗口约束,并共同决定费用。中文因无词边界,单位字符的 token 成本普遍高于英文。

想真正省成本,核心就一句话:让输入更短、让输出更少、让模型更小。分词器决定了「短不短」,架构决定了「贵不贵」。
← 返回原创指南列表