vllm启动qwen3出错AttributeError: Qwen2Tokenizer has no attribute all_special_tokens_extended. Did you me
你这个环境里真正的“罪魁祸首”已经非常明确了:你装的是 Hugging Face Transformers v5.2.0,而 vLLM 0.8.5 这段代码还在访问 all_special_tokens_extended 这个属性;但 Transformers v5 已经把 all_special_tokens_extended(以及 special_tokens_map_extended)移除了,所以就报了:
AttributeError: Qwen2Tokenizer has no attribute all_special_tokens_extended
这不是“模型变成 Qwen2 了”,而是Qwen3 仍然复用 Qwen2Tokenizer 类名,再加上 Transformers v5 的 breaking change 刚好打在 vLLM 的这段 tokenizer 逻辑上。
-
Transformers v5 迁移/变更里写了:
special_tokens_map_extended和all_special_tokens_extended被移除。 新发布 -
你报错对应的 issue 里也有人在 transformers==5.0.0.dev0 下遇到同样的
all_special_tokens_extended缺失。 GitHub -
你现在的 transformers 5.2.0 是 PyPI 上 2026-02-16 发布的最新版。 PyPI
解决办法(推荐):把 transformers 降回 4.x(同时满足 vLLM 0.8.5 的最低要求)
vLLM 0.8.5 需求是 transformers>=4.51.1(你满足),但它并没保证兼容 Transformers v5;所以最稳的做法是 pin 到 4.51.1 ~ 5.0.0 之间(也就是 <5)。
直接执行:
# 1) 卸载 transformers 5.x pip uninstall -y transformers # 2) 安装兼容的 4.x(建议直接 pin 一个确定版本;下面给两个常用写法) pip install "transformers>=4.51.1,<5" # 或者更保险:固定到一个具体 4.x 版本(举例) # pip install "transformers==4.57.0"
更多推荐

所有评论(0)