昇腾社区首页
EN
注册
开发者
下载

运行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 # 哈希校验,输出的值和原权重文件进行对比