跳到主内容

什么是词表大小?AI 的「识字量」怎么算

2026-10-17 发布 来源:我告诉你AI导航 阅读

你输入一句话,大模型并不直接读「字」,它先看到一串编号。把文字变成编号的中间层叫分词器(tokenizer),而它能认出的全部词条数量,就是词表大小。把它理解成模型的识字量:词表 15 万,意味着分词器只发出 15 万种编号,模型眼...

你输入一句话,大模型并不直接读「字」,它先看到一串编号。把文字变成编号的中间层叫分词器(tokenizer),而它能认出的全部词条数量,就是词表大小。把它理解成模型的识字量:词表 15 万,意味着分词器只发出 15 万种编号,模型眼里的世界由这 15 万种积木拼成。

「词」不是你想象的那个词

分词器切分的对象不完全是词语。常见中文词、英文单词会各占一个词条,生僻字、罕见拼写则被拆成更小的片段:英文长单词可能碎成几块,中文冷僻字也可能被拆到字节级。所以词表大小不等于「会多少个词」,更准确的说法是:它定义了文本能被拆出的最小单位的种类数。顺带一提,词表大小和上下文长度也是两个概念:前者管一次能认出多少种碎片,后者管一次能读进多少个碎片,别混为一谈。

带走一个判断:词表越大,常见内容切得越整、token 数越省;但词表本身不决定模型聪明与否。

识字量大,好处和代价各是什么

大词表让同样一段话占用的 token 更少,这对关注长文本成本和上下文长度的场景很实际,Kimi 这类主打长文本的产品在分词效率上就值得多看一眼。一个直观感受:同一篇中文文章,用词表大的模型处理,切出的 token 往往更少,同样的上下文窗口能装下更多原文;反过来,小词表模型装的字数更少,长文档场景里这个差距会被放大。代价是词表越大,嵌入层参数越多,模型文件随之变大——注意文件变大主要记在模型权重文件那本账上,词表只是其中一部分。不同模型的词表从几万到二十几万都有,具体以各家官方文档为准。

对比项词表大词表小
同样一段话的 token 数更少更多
同一窗口能装下的原文字数更多更少
模型文件嵌入层参数更多,文件更大相对更小
长文本场景的 token 开销更低更高

想知道某款开源模型的确切数字,先翻它的模型卡片或配置文件,里面通常有 vocab_size 这个字段。文心一言、讯飞星火这类在线助手不暴露分词细节,普通用户感知不到词表的存在,它主要影响开发者和关心成本的人。

类比失效:识字量不等于表达力

「识字量」这个类比有个明显失效点:人认识三千字和八千字,表达能力差别不大,因为人会用有限字自由组合;模型也靠组合,但组合能力来自参数和训练数据,与词表大小没有直接关系。所以两个词表规模不同的模型,完全可能是词表小的那个更强。token 开销是词表管的,算力开销是激活参数量那套逻辑管的,两条线别混在一起。挑模型时,把词表当成影响成本的一个次要因素就好,别让它抢了参数与数据的风头。

词表大小速查

  • 它是什么:分词器能输出的编号种类总数。
  • 影响什么:token 切分粒度、长文本的 token 开销。
  • 不影响什么:模型的智力上限,那由参数与训练决定。
  • 去哪查:开源模型的配置文件 vocab_size 字段。

查词表时顺手看一眼语料构成,中英混合场景尤其值得确认这一项。

关于词表大小的三个追问

  • 为什么中文模型和英文模型词表不一样大?:分词器按训练语料的字符分布设计,语种构成不同,切分策略与词条数量自然不同。
  • 同一个模型能换一个更大的词表吗?:不能直接换。词表和嵌入层参数一一对应,扩词表要改结构并重新训练,不是换个文件就生效。
  • token 数和词表大小是一回事吗?:不是。前者是这段文本被切出的碎片数量,后者是碎片种类总数的上限,两个量纲。

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]