token是大模型处理文本时的最小语义或符号单元,经分词器切分后映射为唯一整数id参与计算,其数量决定上下文长度与计算开销。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在大模型的运行过程中,原始文本无法被直接处理,必须先转换为机器可识别的数值单元。Token 正是这一转换过程中的基本单位。以下是关于 Token 的详细说明:
一、Token 是文本切分后的最小语义或符号单元
大模型不直接读取字符或单词,而是将输入文本按特定规则切分为若干片段,每个片段即为一个 Token。该切分方式取决于所用分词器(Tokenizer),不同模型的切分逻辑存在差异,可能以字、子词、标点甚至空白符为边界。
1、英文中,“unhappiness”可能被切分为 ["un", "happi", "ness"] 三个 Token,而非单个完整单词。
2、中文里,BPE 类分词器可能将“人工智能”拆为 ["人工", "智能"],而字粒度模型则切为 ["人", "工", "智", "能"]。
3、标点、空格、换行符甚至特殊控制符(如 ``)也各自对应独立 Token。
二、Token 对应唯一的整数 ID 并参与模型计算
每个 Token 在模型词汇表(vocabulary)中拥有固定索引位置,该位置编号即为其 Token ID。模型内部所有运算均基于这些整数 ID 进行嵌入查表与向量变换,原始文本形式在此阶段已完全消失。
1、加载模型时,其配套 tokenizer 会同步载入包含数万至数十万条目的词汇表文件(如 `vocab.json` 或 `merges.txt`)。
2、调用 `tokenizer.encode("Hello")` 会返回类似 [15496, 25] 的整数列表,分别对应 “Hello” 和结束符。
3、反向操作 `tokenizer.decode([15496, 25])` 则还原为字符串,验证 ID 与 Token 的一一映射关系。
三、Token 数量直接影响上下文长度与计算开销
模型标注的“上下文长度”(如 4096、32768)单位均为 Token 数,而非字符数或字数。同一段文本在不同模型中产生的 Token 总数可能差异显著,进而影响输入截断、显存占用及推理延迟。
1、一段含 100 个汉字的中文文本,在 Qwen 模型中可能生成约 130 个 Token,而在 Llama 系列中可能达 220 个 Token。
2、使用 `tokenizer.encode(text, return_length=True)` 可直接获取输入文本的 Token 长度,避免超长报错。
3、过长的 Token 序列将触发截断(truncation)或导致 OOM 错误,需通过 `max_length` 参数主动控制。











