跳到主要内容

1 篇博文 含有标签「Tokenizer」

分词器与 BPE:词表预算、token 计费、缓存命中与数字切分

查看所有标签

分词器才是真正的接口:BPE 从零实现,以及它如何决定你的账单、缓存命中率与算术能力

· 阅读需 16 分钟

后端工程师看 LLM 应用,最容易忽略的一层是分词器。它夹在你的文本和模型之间:你发出去的每一个请求,先被转换成一串整数编号;你按量付费的每一个 token,就是这串编号里的一位。这一层没有超时、没有重试、没有连接池,看起来不像"系统",但它是唯一决定 token 数量的环节——而 token 数量同时决定了账单、KV Cache 显存、有效上下文窗口和 decode 阶段的吞吐。

更要命的是,分词器不是中立的。它的行为由训练语料的语言配比决定:一个主要用英文语料训练出来的词表,会把绝大多数额度花在英文词素上,中文、代码和数字只能退化成更短、数量更多的符号。本文不讲"分词器很重要"这种废话,直接从零写一个 BPE,然后用它跑四组实验,把每一项都变成可以写在容量规划表里的数字。所有代码只用 Python 标准库,你可以直接复制运行。