@xukaiwen发现了vllm 0.19.0的一个bug 中发帖

部署vllm 0.19.0的时候发现了以下问题:当在6卡上部署MOE模型,设置tensor-parallel-size为1,data-parallel-size为6时,会报错,因为 
模型在加载到 MoE(混合专家)的 SharedFusedMoE 这一层时,它需要执行那行断言:assert intermediate_size % self.tp_size == 0。
问题就在于,vLLM V1 引擎在重构多进程执行器时,没有把全局的进程总数(World Size = 6)和局部的张量并行大小(TP Size = 1)隔离干净。导致 SharedFusedMoE 在尝试获取当前进程的 self.tp_size 时,错误地读取到了全局的 GPU 总数(6)。
因为 Qwen 模型的专家网络维度(例如 3584)根本无法被 6 整除,所以这就导致了一个本不该触发的 AssertionErr...