
ValueError: Following weights were not initialized from checkpoint: {‘visual.blocks.16.norm2.bias’, ‘visual.blocks.4.norm2.weight’, …
快速结论:此报错通常出现在 SFT(监督微调)Qwen3.5-9B 模型后,使用 vLLM 部署时因配置类型不匹配引发。优先检查模型 SFT 后的 config.json,确认是否从多模态架构改为了纯文本架构(Qwen3_5ForCausalLM),并确保 vLLM 版本与 Transformers 兼容。
问题场景
用户使用 Transformers(v5.2.0 或 v5.3.0)对 Qwen3.5-9B 模型进行 SFT 后,尝试通过 vLLM(v0.17.0)部署时触发报错。报错核心为 HuggingFace 配置类型无效:期望 vllm.transformers_utils.configs.qwen3_5.Qwen3_5Config,但实际得到 transformers.models.qwen3_5.configuration_qwen3_5.Qwen3_5TextConfig。
报错原文
TypeError: Invalid type of HuggingFace config. Expected type: , but found type:
原因分析
可能原因:vLLM 为了支持 Qwen3.5,在自身库中自带了(vendored)独立的配置类(Qwen3_5Config),而 Transformer 上游的配置类(Qwen3_5TextConfig)与之不匹配。这种不匹配在模型 SFT 后被加剧:原始 Qwen3.5-9B 是多模态模型(Qwen3_5ForConditionalGeneration,含文本和视觉配置),但微调后配置被改写为纯文本架构(Qwen3_5ForCausalLM),导致 vLLM 无法正确读取配置。此外,vLLM v0.17.0 要求 Transformers5,这本身存在版本冲突。
环境排查
- 确认 Transformers 版本:推荐升级到最新版(如 v5.3.0)后再测试。
- 确认 vLLM 版本:建议使用最新版或带有
#37398修复的分支。 - 核对模型目录中的
config.json:重点关注architectures字段(是Qwen3_5ForConditionalGeneration还是Qwen3_5ForCausalLM)以及model_type。 - 检查 SFT 工具是否改变了模型架构(如从多模态切换为纯文本)。
解决步骤
- 更新 vLLM:尝试使用包含
https://github.com/vllm-project/vllm/pull/37398修复的分支或最新 vLLM 版本(开发版)。有证据表明该 PR 可解决此问题。 - 检查模型配置:打开微调后模型目录下的
config.json,对比原始 config.json。如果architectures从Qwen3_5ForConditionalGeneration变为Qwen3_5ForCausalLM,且缺少text_config、vision_config等子配置,则可能是 SFT 工具导致架构变化。可优先尝试手动还原配置为原始多模态格式(保留text_config子对象)。 - 确认 Transformers 版本兼容性:vLLM 官方要求 Transformers5。若条件允许,可回退 vLLM 版本或等待 vLLM 新版本解决此冲突。
- 验证 vLLM 的 vendored 配置:检查
vllm/transformers_utils/configs/qwen3_5.py中是否存在Qwen3_5Config类,并与上游 TransformersQwen3_5TextConfig对比,必要时手动对齐。
验证方法
完成上述修复后,尝试使用 vLLM 加载微调后的模型目录,观察是否还能复现类型错误。如果加载成功并可以正常进行推理,则问题解决。



