跳到主要内容

Locke Lee

返回文章库

人工智能/深层解释

Token 是甚么?为甚么同一句话会消耗不同用量?

你以为按字数付费,模型实际看到的却是一盒大小不一的碎片。

01 / 人工智能

Token 不是字,也不是字符

模型不直接吞下一整句文字。Tokenizer 先把文字切成词、子词、标点、空格或字符片段,再转成编号。

常见英文词可能一块完成,罕见名字可能碎成数块;中文字符在不同 tokenizer 下亦可能一字一块或与相邻字符合并。肉眼相同长度,不代表模型收到相同数量。

02 / 人工智能

切法是模型设计的一部分

Tokenizer 的词汇表由训练方法与资料分布形成。常见片段值得独立占一个位置,稀有片段则被拆细。

因此 token 数同时透露一种隐藏偏好:模型世界里,哪些语言和写法被视为常见单位。它不是中性的字数计。

03 / 人工智能

同一句意思,价格可以不同

研究比较多语 tokenizer 时发现,同一资讯在不同语言可需要相差数倍 token。影响不只 API 帐单:更多 token 亦占用更多 context、增加处理步数,甚至令一段较早触及长度上限。

所谓「一百万 token」不是一百万字,更不是每种语言都得到相同内容容量。

04 / 人工智能

空格、标点和格式也在收费

JSON 的括号和引号、程式码的缩排、表格分隔符、对话角色标记,全部可能占 token。你只看到一个短问题,系统可能同时送入安全规则、工具定义、聊天历史和检索文件。

输入框的字数只是帐单最可见的一角。

05 / 人工智能

输出通常比输入更昂贵

很多服务把输入、快取输入和输出分开计价。生成输出需要逐 token 解码,延迟也沿着答案长度累积。

要求「更详细」不只是风格选择;它会增加成本、等待和产生新错误的机会。最有效的节省往往不是把问题缩成暗号,而是移除重复上下文和不必要输出。

06 / 人工智能

最可靠的方法只有实测

英文常见的「一 token 约四字符」只是一个粗略估算,不能套到所有语言和模型。要知道真正用量,应用该模型相符的 tokenizer 计算实际 prompt,连系统讯息、历史、工具 schema 和预期输出一起测。

Token 的隐藏秘密是:你不是只为问题付费,也为整个对话舞台付费。

资料注脚

资料注脚

  1. developers.openai.com/cookbook/examples/how_to_count_tokens_with_tiktoken
  2. aclanthology.org/2023.emnlp-main.614.pdf

资料用来支持机制与限制;模型、产品及价格会更新,阅读时应以来源的版本及日期为准。

读到最后,没有推销。

这里只保留一个更准确的理解,不把好奇心变成销售漏斗。

WhatsApp 联系 Locke Lee