运行Qwen2-VL系列模型是报错:Failed to get vocab size from tokenizer wrapper with exception...
问题描述
Qwen2-VL系列模型Tokenizer报错(其他模型也有可能报错,报错无关于模型),出现类似以下报错提示:
Failed to get vocab size from tokenizer wrapper with exception...
图1 报错提示
原因分析
- 模型适配的transformers/tokenizer版本不正确。
- trust_remote_code参数配置为false。
- 服务化的config.json文件、模型权重路径和模型config.json文件权限不正确。
- 模型权重文件下可能缺少config.json文件。
- 词表文件损坏。
解决方案
- 模型适配的transformers/tokenizer版本不正确。
- 确认每个模型所需的transformers版本是否正确安装,可在模型文件的requirements.txt文件中查看。然后查看模型权重路径下的config.json文件中的transformers版本号是否一致。
- 使用以下tokenizer校验方法,创建一个Python脚本,如果运行成功,则tokenizer加载无问题。
from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained('path/to/model')
- trust_remote_code参数配置为false。
- 将trust_remote_code参数配置为true。
- 服务化的config.json文件、模型权重路径和模型config.json文件权限不正确。
- 将服务化的config.json文件、模型权重路径和模型config.json文件权限修改为640。
- 模型权重文件下可能缺少config.json文件。
- 如果缺少config.json文件,将其补齐。
- 词表文件损坏。
- 使用以下命令检查tokenizer.json文件的完整性
sha256sum tokenizer.json # 哈希校验,输出的值和原权重文件进行对比
- 使用以下命令检查tokenizer.json文件的完整性
父主题: FAQ