You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook加载Phi-3-Mini量化版遇AutoTokenizer配置识别错误

解决Phi-3-mini ONNX量化版加载Tokenizer时的ValueError问题

加载Phi-3-mini的ONNX量化版本时触发ValueError: Unrecognized configuration class ... to build an AutoTokenizer,但常规版本能正常运行,问题出在ONNX仓库的Tokenizer配置和模型加载方式上,按以下步骤解决:

核心解决思路

  • Tokenizer复用常规版本:ONNX量化版和常规版共享同一套Tokenizer,直接从常规模型仓库加载即可,无需从ONNX仓库加载。
  • 用Optimum加载ONNX模型:原生AutoModelForCausalLM不支持直接加载ONNX格式模型,需要借助optimum库的ONNXRuntime专用类处理。

具体操作步骤

1. 安装依赖库

如果还没安装optimum和onnxruntime-gpu,先执行:

pip install optimum onnxruntime-gpu

2. 修正后的代码

from transformers import AutoTokenizer
from optimum.onnxruntime import AutoModelForCausalLM as ORTAutoModelForCausalLM

# 加载常规版本的Tokenizer(和量化版通用)
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-128k-instruct", trust_remote_code=True)

# 用ONNXRuntime加载量化版模型,自动分配到GPU
model = ORTAutoModelForCausalLM.from_pretrained(
    "microsoft/Phi-3-mini-128k-instruct-onnx",
    trust_remote_code=True,
    device_map="auto"
)

原因说明

  • ONNX模型仓库仅存放量化后的权重和ONNX运行配置,没有单独维护Tokenizer,因此直接从该仓库加载Tokenizer会出现配置识别错误。
  • transformers原生的AutoModelForCausalLM针对PyTorch/TensorFlow模型设计,ONNX模型需要通过optimum提供的适配类来加载,才能正确解析ONNX格式并利用GPU加速。

内容的提问来源于stack exchange,提问作者Christoph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 23:57:19