AI模型背后的“硬通货”:读懂 Token 的前世今生与计费方式

社区话题 📺 VFX Pipeline | 数字创意工作流 AI模型背后的“硬通货”:读懂 Token 的前世今生与计费方式

标签: ,

  • 该话题为空。
正在查看 0 条回复
  • 作者
    帖子
    • #132405

      追光
      参与者

      在人工智能和大语言模型(LLM)爆火的今天,无论是开发者还是普通用户,都不可避免地遇到一个词Token(令牌/词元)。买 API 额度时,商家按“每百万 Token”开价;和 AI 聊天时,界面会提示“上下文 Token 限制”。那么,这个神秘的 Token 究竟是什么?它是怎么来的?又是如何决定你钱包里银子流向的?今天我们就来彻底扒一扒大模型背后的这套“硬通货”。


      一、 Token 的由来:AI 是如何“识字”的?

      要理解 Token 的由来,首先要明白一个底层逻辑:计算机本质上是个“数学脑袋”,它根本不认识人类的文字。

      无论是汉字、英文单词、数字还是标点符号,AI 想要理解,就必须先把这些文本转换成数字(向量)。在这个转换过程中,诞生了两种极端的做法,但它们都有致命的缺陷:

      1. 按“字母/单字”切分(Character-based): 如果把英文拆成 a, b, c…,中文拆成单个汉字,虽然字典很小,但效率极低。比如输入“人工智能”,AI 要处理 4 个单位;输入英文“unbelievable”,AI 要处理 12 个字母。模型需要耗费巨大的计算资源去理解字母和字母之间的组合关系。

      2. 按“完整单词”切分(Word-based): 遇到空格就切出一个词。这在英文里看似合理,但会导致“词表爆炸”。英文有无数的派生词(如 run, running, ran),中文更是没有空格、词组千变万化。如果把所有词都塞进 AI 的字典,字典会膨胀到几千万甚至几亿大,内存直接爆掉。

      为了解决这个两难困境,科学家们发明了子词切分(Subword Tokenization)算法(如 BPE、WordPiece 等)。它介于单字和完整单词之间,将文本切分成最合理的“字词片段”这就是 Token 的诞生。

      英文: 常用词如 the、apple 自成一个 Token;不常用的长词如 unbelievable 会被拆成 un + believable 两个 Token。
      中文: 常用单字如 我 是一个 Token;高频词组如 自然语言、谢谢 可能会被直接打包成一个 Token。


      二、 1个 Token 等于多少字?(中英文换算指南)

      不同大模型(如 GPT-4、DeepSeek、Claude、Llama)由于使用的“分词器字典(Tokenizer)”不同,换算比例会有些许差异。但目前行业内有一个通用的粗略账本:

      1. 英文字词

      1 个英文 Token ≈ 0.75 个英文单词,或者说 3 到 4 个英文字母。
      通常 100 个英文单词,会消耗大约 130 到 140 个 Token。

      2. 中文字词

      早期模型(如 GPT-3.5): 极其浪费。由于未对中文优化,1 个汉字往往要占用 2 到 3 个 Token。这也是为什么以前用中文调教 AI 显得格外贵。
      现代模型(如 DeepSeek-V3、GPT-4o、Claude 3): 针对中文进行了大扩容。

      1 个常用汉字 ≈ 1 个 Token。常用词组(如“中国”、“计算机”):2-3 个汉字可能只占用 1 个 Token。综合平均: 目前写中文,可以粗略按照 1 个汉字 ≈ 0.7 到 1 个 Token 来估算。

      3. 标点符号与特殊字符

      英文标点(,, ., !, ?)及空格:通常 1 个标点 = 1 个 Token。
      中文标点(,,。):在现代模型中,通常也是 1 个标点 = 1 个 Token。
      代码: 缩进(空格或 Tab)和各种特殊符号({, }, [)消耗 Token 极快,往往几行代码就会吃掉上百个 Token。


      三、 揭秘 AI 账本:输入与输出 Token 的计费规则

      当你调用大模型 API 时,厂商的计费账单通常会分为两部分:输入(Input / Prompt)Token 和 输出(Output / Completion)Token。

      总费用 = (输入 Token 数 * 输入单价) + (输出 Token 数 * 输出单价)

      为什么一定要分开计费?而且通常输出 Token 的单价会比输入 Token 贵上 3 到 4 倍?

      Token 类型包含内容为什么计费不同?(原理解析)

      输入 Token

      (Input)

      你的提问(Prompt) + 历史聊天记录(Context) + 系统指令(System Prompt)。

      并行计算,成本低:AI 在读取你的输入时,可以“一目十行”,把所有文本同时丢进显卡(GPU)进行并行矩阵运算,处理速度极快,消耗的算力相对较低。

      输出 Token

      (Output)

      AI 吐出来的回答、代码或生成的文本。

      串行生成,成本高:AI 生成文本是“逐字蹦出”的(自回归机制)。每吐出一个字,它都要把前面所有的字重新读一遍,再算下一个字。这种“挤牙膏”式的工作模式无法并行,极度消耗 GPU 算力,因此价格昂贵。


      四、 进阶知识:什么是“上下文用量”与“缓存技术”?

      在实际使用中,Token 的消耗往往比你想象的要快得多。这里有两个你必须了解的进阶概念:

      1. 滚雪球式的“上下文用量(Context Window)”

      大模型本身是没有记忆的。为了让你感觉它在和你“连续对话”,当你发起第 5 轮提问时,代码在底层其实是把“前 4 轮的你问我答 + 第 5 轮新提问”一股脑全部当成输入 Token 发送给 AI 的。

      这意味着,随着聊天轮数的增加,输入 Token 呈现滚雪球式的暴涨。如果一本书有 10 万字,你每问一个关于这本书的新问题,就要支付一次 10 万字输入的 Token 费用!

      2. 救命稻草:上下文缓存(Context Caching)

      为了防止用户的钱包被“滚雪球”砸穿,现代大模型 API 引入了上下文缓存(Context Caching / Prompt Caching)技术(如 DeepSeek、OpenAI、Anthropic 均已支持)。

      当模型发现你输入的文本有很大一部分(比如那本 10 万字的书,或者长长的系统提示词)和上一次一模一样时,它就会直接读取显存里的“缓存”,而不需要重新计算。命中缓存的输入 Token,价格通常能直接打 1 到 2 折,极大地降低了开发者的成本。

正在查看 0 条回复
  • 在下方一键注册,登录后就可以回复啦。