Skip to content

语言对比 —— 理解「Token 税」

语言对比预设揭示了一件事:同样的意思,用不同语言写出来,消耗的 token 数量可能相差很多。这不是 bug,而是大模型处理文本的方式所决定的一个根本性质。

上级页面: 对比路由: /compare(语言对比预设)

什么是语言对比?

语言对比是对比页上的一个预设。它比较的不是模型或温度,而是语言。你用多种语言提供同一个提示词,看分词器如何对待它们。

这会暴露出分词偏差 —— 即便表达的是完全相同的意思,某些语言的处理成本也远高于其他语言。

心智模型

大模型并不理解「语言」。它处理的是 token

在你的文本到达模型之前,分词器(通常是 BPE,字节对编码)会把它切成 token。分词器的合并规则是从训练数据中学来的。关键链条如下:

你的文本   -->   分词器   -->   Token   -->   模型   -->   回复
   "Hello"        BPE         [15339]        推理       "Hi there"
   "مرحبا"        BPE      [2318,112,...]    推理        "..."

英语在大模型的训练语料中占绝对多数。因此分词器为英语单词学到了非常高效的合并规则 —— 常用词往往就是一个 token。而在训练数据中出现较少的语言(阿拉伯语、印地语、中文、泰语等),表达同样的意思时会被切得更碎,消耗更多 token。

token 更多意味着:

  • 可用上下文更少 —— 同样 4096 token 的窗口,装下的阿拉伯语内容比英语少
  • 生成更慢 —— 同等长度的回复需要产出更多 token
  • 成本更高 —— 在按 token 计费的 API 上,同一句话在某些语言里更贵
  • 质量下降 —— 上下文被低效编码占用后,模型可供推理的空间更小

这不是任何一种语言的缺陷,而是训练数据分布带来的统计后果。一个主要基于阿拉伯语文本训练的分词器,会呈现完全相反的偏差。

如何使用

  1. 打开对比页,点击语言对比预设按钮。
  2. 出现三个槽位,每个带一个语言下拉框。默认是英语、法语和阿拉伯语 —— 你可以改成任意语言。
  3. 在每个槽位的文本框中输入或粘贴提示词,用各自的语言表达同样的意思。
  4. 自动语言检测 —— 系统会检测你实际输入的是哪种语言。如果与槽位选定的语言不符,会出现一个**「翻译为 X」**按钮,一键即可修正。
  5. 点击对比 —— 所有槽位同时运行,结果并排显示,并附带 Token 税指标。

你的提示词始终属于你。没有你的操作,不会有任何内容被修改或发送。

理解结果

对比运行结束后,每个槽位会显示若干指标:

指标含义
提示词 token 数分词器从你的输入文本中切出了多少 token
Token 税相对于本次对比中最高效语言(通常是英语)的倍数。2.3 倍的税意味着该提示词消耗了 2.3 倍的 token。
TTFT首 token 时间。提示词 token 更多的语言可能更高,因为模型必须先处理完全部提示词才能开始生成。
速度生成过程中的每秒 token 数。各语言通常接近,因为模型产出 token 的速率大致与语言无关。
总 token 数模型回复的长度。同一问题,模型在不同语言下的回复长度可能不同。

Token 税是最核心的数字。它准确告诉你:逐 token 来看,某种语言相对基准语言贵了多少。

翻译功能

每个槽位都内置翻译能力,由你本地的 Ollama 模型驱动 —— 无云服务,无费用。

  • 质量取决于模型大小。 较大的模型(7B 参数及以上)的翻译质量明显优于小模型(3B)。如果翻译质量重要,请使用你手头最好的模型。
  • 推理模型会展示思考过程。 如果你使用 DeepSeek-R1 这类推理模型,会看到模型推敲翻译时的 <think> 块。
  • 结果可以编辑。 翻译完成后,文本会出现在槽位的文本框中,你可以在运行对比前修改它。翻译是起点,不是最终答案。
  • 只有在使用过机器翻译后,槽位上才会出现**「已翻译」**标记,让你始终清楚哪些文本是人写的、哪些是机器翻译的。

小贴士

  • 所有槽位使用同一个模型,才能把语言隔离为唯一变量。如果用了不同模型,你无法判断差异来自语言还是模型。
  • 用同一个提示词试试不同大小的模型,看 Token 税的比例是否变化。更大的模型有时词表更大,多语言覆盖也更好。
  • 把它和教育者工具包联系起来。 模块 9:词语的代价围绕这个功能提供了一份结构化的教案,含课堂练习与讨论题。
  • 短提示词会放大效果。 一句话就能显示出显著的 token 数差异。试试用五种语言写「今天天气很好」。
  • 两个方向都试试。 如果你的母语不是英语,先用母语提问 —— 你可能会发现差异不只是 token 数,回复质量也不同。

保存结果

对比运行会自动保存到浏览器的 IndexedDB 中。无需手动操作 —— 每一次完成的对比都会保存在本地。

  • 已保存的对比会出现在对比页的**「已保存的对比」**面板中。
  • 点击**「加载」**可以连同完整结果一起重新载入某次历史对比。
  • 点击**「删除」**可移除一次已保存的运行。
  • 数据始终留在你自己的机器上 —— 不会发送到任何服务器。

导出数据

点击结果标题栏中的**「导出」**按钮,可看到导出选项:

  • 下载为 JSON —— 完整的对比数据,包含提示词、输出、指标和 token 数。适合在脚本或 notebook 中进一步分析。
  • 下载为 Markdown —— 格式化报告,含展示提示词、结果与 Token 税比例的表格。可直接粘贴进文档或博客。

分享到 GitHub Discussions

在导出菜单中点击**「分享到 GitHub Discussions」**,即可把你的发现分享给社区。

  1. 弹出对话框,显示 Markdown 报告的预览。
  2. 在顶部补充你自己的说明 —— 描述你发现了什么。
  3. 点击**「打开 GitHub Discussions」**,跳转到已预填报告的 GitHub 页面。
  4. 由你自己检查并提交帖子 —— 未经你同意不会发布任何内容。

或者,点击**「复制 Markdown」**,把报告粘贴到你想要的任何地方。

你的数据留在本地。 LLMxRay 绝不会自动把对比结果发送到任何地方。分享始终是主动选择 —— 发布什么、发布到哪里,完全由你决定。

Released under the Apache 2.0 License.