vLLM-0.23.0 lora加载问题

对Qwen3.8-27B进行lora训练后,lora对模块为q_proj/k_proj/v_proj/o_proj),对in_proj_ain_proj_bin_proj_zin_proj_qkvout_proj
后续使用vLLM加载base模型和lora适配器时,模型一直输出!
但是将lora适配器与模型合并后再用vLLM加载时输出正常
这是什么原因?

根据目前vLLM的实现,Qwen3.8-27B等Qwen3系列模型的LoRA适配器需要严格匹配vLLM支持的target_modules名称。vLLM通常支持的模块有q_proj、k_proj、v_proj、o_proj、gate_proj、up_proj、down_proj等,而像in_proj_a、in_proj_b、in_proj_z、in_proj_qkv、out_proj等模块名并不在vLLM的标准支持列表内。如果LoRA权重的target_modules与vLLM期望的不一致,动态加载LoRA适配器时不会生效,导致推理输出与base模型一致或异常;而合并LoRA权重后直接加载合并模型则不会有此问题,因为此时权重已被正确融合进模型结构中,无需再动态匹配target_modules【详见Qwen3.5模型源码说明和相关issue讨论】。

建议在LoRA训练时,target_modules应与vLLM支持的模块严格一致,避免使用in_proj_a、in_proj_b等非标准名称。若已训练好的LoRA权重模块名不符,可通过重命名权重或转换脚本进行适配,否则只能通过merge-and-unload等方式合并后再用vLLM加载,无法动态热加载LoRA适配器【参考Qwen3.5源码实现和相关issue说明】。需要更详细的排查和转换方法吗?

Sources:

Hint: Mention @Herald in the post for followups.