View on GitHub

LLM Dev Highlights

« Back to vLLM Reports

vLLM 开发动态报告 - 2026-01-25

时间窗口: 2026-01-25 11:08 (UTC+8) ~ 2026-01-26 11:08 (UTC+8) 数据统计: 新 Issue 11 | 关闭 Issue 20 | 新 PR 25 | 合并 PR 7 | 关闭未合并 PR 11


📊 每日开发状态摘要

在2026年1月25日至26日的24小时内,vLLM项目保持了较高的开发活跃度,共新增25个PR、11个Issue,合并了7个PR,关闭了20个Issue。开发焦点集中在模型支持扩展(如Qwen系列、GLM、Hunyuan)、性能优化与内核调优(尤其是针对特定硬件如Blackwell、ROCm),以及修复V1引擎及多模态模型中的关键缺陷。此外,持续集成(CI)的稳定性问题也受到了较多关注和修复。

🎯 AMD/ROCm 生态相关动态

本周期内有明确的AMD生态相关活动,主要涉及ROCm平台上的功能增强和问题修复。

  1. PR #33047: [W8A8 Block Linear Refactor][1/N] Extract Input Quantization Kernels into Modular Architecture
    • 概述:此PR旨在将FP8输入量化实现重构为模块化、可扩展的内核架构,为后续简化 W8A8BlockFp8LinearOp 和过渡到新IR做准备。
    • AMD关联:在设计中明确为ROCm/AITER平台创建了专用的内核实现模块(aiter.py)。新的内核选择系统为ROCm平台指定了优先级链:AiterInputQuantKernelCudaInputQuantKernelTritonInputQuantKernelPytorchInputQuantKernel。这表明开发团队正在系统化地为AMD硬件优化量化计算路径。
    • 技术影响:通过模块化分离和明确的后备链,提升了代码在跨平台(CUDA/ROCm)上的可维护性和清晰度,有助于未来针对AMD GPU(如MI300系列)进行更精细的性能调优。
  2. PR #33018: [ROCm][Bugfix] Fix ptpc scale load issue for fused shared expert path in deepseek mtp
    • 概述:修复了在ROCm平台上,当同时启用MTP(Mixture of Tokens and Parameters,专家并行)和 VLLM_ROCM_USE_AITER_FUSED_SHARED_EXPERTS 环境变量时,模型加载失败的问题。
    • AMD关联:直接针对ROCm后端在处理DeepSeek模型的专家并行特性时的一个兼容性bug进行修复。贡献者 ganyi1996ppo 虽无“-amd”后缀,但专注于ROCm问题修复。
    • 技术影响:确保了使用AITER融合内核的ROCm用户能够正常加载和运行采用MTP技术的DeepSeek模型,增强了AMD平台对前沿模型架构的支持。
  3. PR #33043: [rocm][aiter] add env var VLLM_ROCM_USE_AITER_SAMPLING
    • 概述:新增环境变量 VLLM_ROCM_USE_AITER_SAMPLING,用于控制ROCm平台是否使用AITER(AMD优化内核)的采样操作。
    • AMD关联:这是对AMD专用内核系列控制的又一补充。PR描述中提到,此op曾引入准确性问题(#32413),新增开关为用户提供了回退到其他实现的能力。
    • 技术影响:给予用户更大的灵活性和风险控制能力,特别是在新内核可能存在稳定性问题时,保证了服务的可靠性。这体现了对AMD生态用户实际运维体验的重视。

小结:本周期内,AMD生态的更新集中在内核架构重构以更好支持ROCm修复专家并行等高级特性在ROCm上的兼容性问题,以及增强用户对AMD专用内核的控制粒度。虽然没有出现与Quark量化工具或MI300直接相关的新内容,但对ROCm平台底层内核的持续优化和问题修复是明确的工作方向。

💬 高热度讨论分析

  1. PR #32772: [Model] Use mm_position to compute mrope positions for Qwen2.5-Omni (17条评论)
    • 核心议题:优化Qwen2.5-Omni多模态模型中mrope(多维RoPE)位置的计算方式,从逐token循环改为基于mm_position.offset的直接计算,以修复主分支上某些配置(如use_audio_in_video=True)的崩溃问题。
    • 观点与讨论
      • 贡献者(Etelis):提出了基于偏移量的新算法,并进行了多轮测试验证(单/多音频、图像等模态)。
      • 审阅者(DarkLight1337, Isotr0py):密切关注重构后的正确性,要求提供与主分支的详细输出对比,并测试了多种模态组合场景,最终确认新实现不仅修复了崩溃,且输出与主分支在可通过的案例中一致。
    • 争议焦点:无重大争议,讨论主要是严谨的代码审查和全面的回归测试。
    • 最终状态:PR在充分测试和审查后获准合并,成功解决了特定配置下的问题并优化了计算逻辑。
  2. PR #32969: [Bugfix][VLM] Fix transformers backend embed_multimodal for Qwen2.5-VL profiling (11条评论)
    • 核心议题:修复使用transformers后端时,Qwen2.5-VL模型在内存分析(profiling)阶段因embedding张量维度不匹配而崩溃的问题。
    • 观点与讨论
      • 贡献者(AndreasKaratzas):初始修复方案因未考虑不同视觉模型(如Idefics3与Qwen2.5-VL)输出embedding形状的差异,导致引入了新bug。
      • 审阅者(Isotr0py):及时指出初始修复破坏了Idefics3模型,推动了更全面的解决方案。
    • 争议焦点:如何设计一个普适性修复,能同时处理不同多模态模型在profiling阶段embedding形状的多样性(如[num_patches, tokens_per_patch, dim] vs [total_tokens, dim])。
    • 最终状态:贡献者提交了v2版本,通过更智能的形状检测和适配逻辑,解决了Qwen2.5-VL问题的同时保持了对Idefics3等其他模型的兼容性,最终被合并。
  3. Issue #33017: [Bug]: /v1/responses endpoint crashes with ‘NoneType has no attribute startswith‘ when input contains function_call items (4条评论)
    • 核心议题:OpenAI Responses API端点在请求历史中包含function_call项且该项id字段为None时会崩溃。
    • 观点与讨论
      • 报告者(fugarty):详细描述了问题,并迅速自行定位到根因(ResponseFunctionToolCall对象的id可能为None),提供了修复代码和Docker内热补丁命令。
      • 维护者(chaunceyjiang):询问了服务命令以复现环境,并最终确认问题已被PR #31999修复。
    • 当前状态:Issue仍处于打开状态,但根本原因和修复方案已明确,指向一个已存在的PR。这展示了社区用户的高水平自主排错能力。

🔥 热门话题与趋势分析

  1. 模型支持与新功能
    • 持续扩展:有Issue请求支持Qwen3 TTS (#33051) 和 GLM-4V的mrope优化 (#33039),以及PR为Hunyuan模型添加Eagle3推测解码支持 (#33035)。
    • 功能演进:关于层级重载(Layerwise Reloading)与量化模型在RL等场景中集成的讨论被正式提出为未来工作路线图 (#33038)。
  2. 性能优化与硬件适配
    • 硬件特定问题:在Blackwell GPU (GB10/B200) 上使用CUDA 13.0和特定NCCL版本时,TP=2导致挂起的问题被报告 (#33041),凸显了新硬件生态的磨合挑战。
    • 内核调优自动化:为Mamba的selective_state_update内核建立类似Fused MoE的自动调优脚本和配置系统的需求被提出 (#33034),并立即有贡献者认领,表明内核性能调优体系正在向更多算子扩展。
  3. 测试与CI稳定性
    • 多模块失败:CI中出现了MoE集成测试 (#33029)、Attention内核测试 (#33027) 和多模态模型测试 (#33028) 的集中失败。
    • 高效修复:相关修复PR(#33030, #33033)迅速被创建并标记为“ready”,显示了团队对CI流水线稳定性的高度重视和快速响应能力。

🛠️ 重点技术变更

  1. PR #33046: [Model Runner V2] Fix slot_mapping after #25954 (已合并)
    • 技术解读:修复了PR #25954(分离FlashAttn注意力计算和缓存更新)引入的一个bug,该bug导致Model Runner V2在启用CUDA Graph时因block_tables属性缺失和attn_metadata预期格式错误而崩溃。
    • 影响:确保了性能优化修改不会破坏V2推理引擎的稳定性,是维持V1引擎演进中不同组件兼容性的关键修复。
  2. PR #33018: [ROCm][Bugfix] Fix ptpc scale load issue for fused shared expert path in deepseek mtp (进行中)
    • 技术解读:修复了ROCm平台上一个特定路径(使用AITER融合共享专家且启用MTP)下的模型权重加载问题。
    • 影响:提升了AMD平台对复杂MoE模型(DeepSeek)专家并行特性的支持完整性和可靠性。
  3. PR #33019: [MoE][Fix] Fix PPLX CUTLASS FP8 incorrect output with apply_router_weight_on_input (进行中)
    • 技术解读:修复了当使用PPLX all2all后端、CUTLASS FP8量化,且模型配置为apply_router_weight_on_input(如Llama4)时,由于错误地对逐token量化(per_act_token_quant)的scale张量进行重复操作,导致输出异常的问题。
    • 影响:解决了特定配置下MoE计算精度严重下降的问题,保证了FP8量化在复杂MoE模型上的正确性。

📈 开发活跃度观察

💡 值得关注的问题

  1. Issue #33041: [Bug]: vLLM hangs after NCCL init with TP=2 on Blackwell GPUs:此问题涉及最新Blackwell架构GPU、特定CUDA 13.0和NCCL 2.27.7组合下的死锁,可能影响早期Blackwell适配者的使用体验,需要关注其根本原因和解决方案。
  2. Issue #33038: [Feature]: Integrate layerwise reloading with other vLLM loading features:该Issue规划了层间重载技术与注意力/MLA量化、EPLB(专家并行负载均衡)等其他高级特性的集成路线图,对实现高效的量化模型RL训练等前沿应用场景至关重要,标志着一项核心基础设施的持续演进。

📋 附录:详细数据列表

新增 Issue

已关闭 Issue

新增 PR

已合并 PR

关闭但未合并的 PR