如题。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...