大模型中的Token
·
大模型中“Token”的详细解释。
1. 一句话概括
Token是大模型用来理解和生成文本的基本单位。 它不是简单的“单词”或“汉字”,而是一个文本片段。
2. 更详细的解释
Token是什么?
你可以把Token想象成模型所使用的“词典”或“词汇表”中的条目。当大模型(如GPT、LLaMA、文心一言等)看到或生成文本时,它并不是直接处理我们看到的字符,而是处理这些字符映射成的Token序列。
- 对于英文:一个Token可能是一个单词(如
"apple")、一个词根(如"un"在"undo"中)、一个标点符号(如"!"),甚至是单个字母(如"a")。 - 对于中文:由于中文是象形文字,没有空格分隔,情况更复杂。一个Token通常是一个汉字(如
"我"、"你"),但也可能是一个词(如"葡萄")或一个常见的词组片段。
Token是如何产生的?—— Tokenization(分词)
将原始文本转换成Token序列的过程叫做分词。
- 过程:模型有一个预设的词表,里面包含了所有它认识的Token。分词器会尝试将输入文本与词表进行匹配,找到最长可能的Token序列。
- 例子:
- 英文句子:
"I don't like apples."- 分词后可能是:
["I", " don", "'t", " like", " apples", "."] - 注意:
"don't"被拆分成了" don"和"'t",空格有时也会被保留为Token的一部分。
- 分词后可能是:
- 中文句子:
"我喜欢吃葡萄。"- 分词后可能是:
["我", "喜欢", "吃", "葡萄", "。"]
- 分词后可能是:
- 英文句子:
为什么使用Token而不是直接使用字符?
-
效率:
- 计算效率:处理一个由几千个Token组成的序列,远比处理一个由几万个字符组成的序列要高效。
- 信息密度:一个Token可以携带比单个字符更多的信息。例如,Token
"人工智能"比四个独立的字符"人","工","智","能"包含更丰富的语义。
-
处理未知词汇:
- 如果模型只认识字符,那么遇到一个从未见过的长单词(如专业术语
"Floccinaucinihilipilification")时,它会完全无法理解。 - 通过分词,这个长单词可以被拆分成已知的子词Token(如
"Floc", "cin", "au", ...),模型就能根据这些部分来推测其含义。
- 如果模型只认识字符,那么遇到一个从未见过的长单词(如专业术语
-
跨语言统一:
- 使用统一的分词策略,可以让一个模型同时处理多种语言(如中英文混合文本),因为所有语言最终都被映射到了同一个Token空间中。
3. Token与大模型的关键关联
1. 输入与输出的限制
我们常听到的“上下文长度”(如GPT-4的128K上下文),指的就是模型能处理的Token总数(输入+输出)。
- 例子:如果一个模型的上下文窗口是4096个Token,那么你的问题(Prompt)加上模型的回答(Completion)总Token数不能超过4096。
2. 计费与成本
对于绝大多数商业大模型API(如OpenAI、Anthropic),费用是基于Token数量计算的。
- 输入Token:你发送给模型的提示文本所消耗的Token。
- 输出Token:模型生成的回答所消耗的Token。
- 通常,输入Token的成本低于或等于输出Token的成本。
3. 性能与速度
- 生成速度:模型的生成速度通常以 Tokens/秒 来衡量。
- “思考”过程:模型在生成下一个Token时,会基于之前的所有Token进行计算,给出一个概率分布,然后选择最可能的一个(或通过某种采样方法)。所以,模型的“思考”是一个Token一个Token进行的。
4. 一个具体的例子
假设我们向模型提问:
提示(Prompt):“法国的首都是哪里?”
- 分词:假设分词结果为
["法国", "的", "首都", "是", "哪里", "?"]→ 共 6个输入Token。 - 模型处理:模型理解问题,开始生成回答。
- 生成回答:模型一个接一个地生成Token:
- 可能首先生成
["巴黎"](1个输出Token), - 然后判断句子是否完整,再生成
["。"](又一个输出Token)。
- 可能首先生成
- 最终输出:
“巴黎。”→ 共 2个输出Token。 - 总消耗:本次交互总共消耗了
6(输入) + 2(输出) = 8个Token。
总结
| 方面 | 关键点 |
|---|---|
| 本质 | 文本的基本处理单元,是模型“词典”里的条目。 |
| 作用 | 将人类可读文本转换为模型可处理的数字序列。 |
| 重要性 | 直接决定了模型的上下文长度限制、API调用成本和生成速度。 |
| 核心概念 | Tokenization(分词) 和 Token Limit(Token限制)。 |
简单来说,Token是大模型世界的“通用货币”,无论是理解、生成、计费还是性能,都围绕着它展开。
更多推荐


所有评论(0)