资讯同步 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#reply0Published at
2026-08-30 06:21:23 UTCEvent JSON
{
"id": "fe44ccfaf19e54510fb82044b666a636df2447f4bc628418f64e9e4b0bc2ffe5",
"pubkey": "2d0154e14033e848b448a971322bfbf4e04a29c377012ee0f5ab66099b56f1ad",
"created_at": 1788070883,
"kind": 1,
"tags": [
[
"t",
"v2ex"
]
],
"content": "#V2EX\n### [分享创造] novocab: 一个精确的 token 预估器,在多语言单段语料里偏移仅有 5%, 4K 只偏 3%,没有词表,全仓库就一个代码文件,连算法一起开源\n\n如题。no vocab ,足够精确地预估一个 tokenizer 从来都不需要搞一个大词表。\n\n因为最近在搞自己的 harness orchestration 的时候受不了 `char / 4` 的巨大偏移,然后 `char / 3.5` 也罢,CJK 拿出来单独数也罢,依然和真的 tokenizer 差很多,并且它根本不是文本越大越准,本来就不是一个像样的估算。\n\n那它差多少?大概能差 30% - 50%,单独数 CJK 的话距离真正的预估也差接近 40%。\n\n但是频繁去调那个 Tokenizer API 也烦人,每次都真拖一个 Tokenizer 出来测一遍更像是在白烧 CPU ,所以就搓了这个小东西出来。\n\n没什么花活,就是先按 unicode 分桶,配一个非常简单的计数器去按词长一类的小特征去进一步分桶,然后暴力跑语料跑到每个桶的系数收敛。O(n) 时间,O(1) 空间,纯粹的系数拟合。\n\n跑完之后,这个暴力小玩具惊人地准,达到了 **5%** 的平均偏移,而且文本越大,估算越准,200 字符的时候偏移 5% 左右,4000 的时候收敛到 3%,64K 收敛到 1%,1M 的时候 0.5%,一套算法通杀三家。\n\n上图:\n\n\n\n\n\n###### *(如果嫌语料小的话,看 README 原文,里面测过 GB 级语料,依然是收敛的)*\n\n开源出来给大家用在自己的 harness 里当预估器用,刚好合适,测试语料里包含大量的代码和文章,完全贴合日常使用,而且是真正的多语言,不敢认 SOTA 但目前只有 Ground Truth 能比它好了。目前支持 OpenAI 、Anthropic 和 Gemini ,如果要迁移到别的模型的话找个语料用同样的方法跑就行,算法完全公开。\n\n\u003chttps://github.com/wdhwg001/novocab\u003e 刚开源,如果好用的话求个 Star ,谢谢支持。\nhttps://www.v2ex.com/t/1238147#reply0",
"sig": "a88292b04f0f4b96bc5a0ac0d8b0a67f08bf0b665a28f28258c188d9e2782aad5e8c6b3f99558a1de1a60e4c4a01c16feea973eb410166aacdb82303623c2cd2"
}