انضم إلى نوستر
2026-08-30 06:21:23 UTC

资讯同步 on Nostr: #V2EX ### [分享创造] novocab: 一个精确的 token ...

#V2EX
### [分享创造] novocab: 一个精确的 token 预估器,在多语言单段语料里偏移仅有 5%, 4K 只偏 3%,没有词表,全仓库就一个代码文件,连算法一起开源

如题。no vocab ,足够精确地预估一个 tokenizer 从来都不需要搞一个大词表。

因为最近在搞自己的 harness orchestration 的时候受不了 `char / 4` 的巨大偏移,然后 `char / 3.5` 也罢,CJK 拿出来单独数也罢,依然和真的 tokenizer 差很多,并且它根本不是文本越大越准,本来就不是一个像样的估算。

那它差多少?大概能差 30% - 50%,单独数 CJK 的话距离真正的预估也差接近 40%。

但是频繁去调那个 Tokenizer API 也烦人,每次都真拖一个 Tokenizer 出来测一遍更像是在白烧 CPU ,所以就搓了这个小东西出来。

没什么花活,就是先按 unicode 分桶,配一个非常简单的计数器去按词长一类的小特征去进一步分桶,然后暴力跑语料跑到每个桶的系数收敛。O(n) 时间,O(1) 空间,纯粹的系数拟合。

跑完之后,这个暴力小玩具惊人地准,达到了 **5%** 的平均偏移,而且文本越大,估算越准,200 字符的时候偏移 5% 左右,4000 的时候收敛到 3%,64K 收敛到 1%,1M 的时候 0.5%,一套算法通杀三家。

上图:

![对比]( )

![收敛]( )

###### *(如果嫌语料小的话,看 README 原文,里面测过 GB 级语料,依然是收敛的)*

开源出来给大家用在自己的 harness 里当预估器用,刚好合适,测试语料里包含大量的代码和文章,完全贴合日常使用,而且是真正的多语言,不敢认 SOTA 但目前只有 Ground Truth 能比它好了。目前支持 OpenAI 、Anthropic 和 Gemini ,如果要迁移到别的模型的话找个语料用同样的方法跑就行,算法完全公开。

<https://github.com/wdhwg001/novocab>; 刚开源,如果好用的话求个 Star ,谢谢支持。
https://www.v2ex.com/t/1238147#reply0