分词器为什么要锁版本
分词器决定词元切分与特殊符号表:部署时把分词器与权重一起固定版本,能避免远端小版本更新导致行为悄然变化。分词口径同时是长度校验与用量统计的统一源头,口径一变,多处统计都会跟着偏。
基本信息
| 适用平台 | 所有生成式模型的部署 |
|---|---|
| 固定对象 | 分词器文件与权重使用同一修订号 |
| 影响范围 | 长度校验、用量统计、评测可比性 |
| 验证方式 | 用固定样例对比切分结果 |
查看切分
查看切分
from transformers import AutoTokenizer
tok = AutoTokenizer.from_pretrained("<模型路径>")
ids = tok.encode("你好,世界")
print(len(ids), tok.convert_ids_to_tokens(ids)) # 对比固定样例的词元数与切分结果典型使用场景
- 长度校验:超窗判断按分词器切出的词元数
- 用量统计:计费口径与切分口径要保持一致
- 评测对比:换分词器后历史指标不再可比
- 特殊符号核对:对话模板依赖特殊符号表
- 版本固定:分词器与权重用同一修订号
检查项与异常
| 检查项 | 正常表现 | 异常表现 |
|---|---|---|
| 特殊符号表 | 包含模板所需的符号 | 模板渲染出多余字符 |
| 切分结果 | 固定样例的词元数与预期一致 | 同一文本的词元数明显变化 |
| 版本一致性 | 分词器与权重同一修订号 | 只升级了其中一方 |
部署记录里同时写清分词器的修订号:训练与推理采用同一套文件,评测结果才有可比性。
分词器影响长度口径:入口做超窗校验时要用与引擎一致的分词器,否则判断会偏。
换分词器属于口径变更:历史指标、缓存键与长度统计都要跟着复核一遍。
分词器的下载也要按修订号固定:只固定权重而让分词器跟着默认分支走,是很常见的漏项。