View on GitHub

LLM Dev Highlights

« Back to vLLM Reports

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

时间窗口: 2026-01-05 10:53 (UTC+8) ~ 2026-01-06 10:53 (UTC+8) 数据统计: 新 Issue 10 | 关闭 Issue 13 | 新 PR 60 | 合并 PR 37 | 关闭未合并 PR 9


📊 每日开发状态摘要

2026年1月5日至6日,vLLM项目保持高度活跃的开发节奏,共新增10个Issue、合并37个PR。本周期开发焦点集中在性能优化(特别是GLM-4系列与调度器)与平台兼容性增强上,AMD生态(ROCm)修复和多模态模型(VL/ASR)支持是两大亮点。同时,社区积极处理了多项安装、运行时Bug及CI/CD流水线问题,确保了项目的稳定性。

🎯 AMD/ROCm 生态相关动态

本周期AMD生态相关活动非常活跃,主要集中在bug修复和平台兼容性提升上。

  1. CI测试修复
    • PR #31713 (mawong-amd): [Hardware][AMD][CI][Bugfix] Fix AMD Quantization test group。此PR旨在修复AMD量化测试组中所有剩余的失败用例,显示了AMD团队对确保其平台量化功能稳定性的持续投入。
    • PR #31728: [CI][ROCm] Fix NIXL tests on ROCm。这是对NVIDIA KV连接器测试在AMD CI流水线中运行的后续修复,确保了跨平台测试的覆盖度。
  2. 硬件兼容性与错误处理
    • PR #31715: [ROCm] Improve error handling while loading quantized model on gfx120…。此PR修复了在AMD RDNA 4(gfx1201)等不支持aiter的架构上,加载任何量化模型(如AWQ、GPTQ)时的启动崩溃问题。通过安全包裹导入并优雅降级,避免了因尝试加载不支持的Quark OCP MX组件而导致整个服务崩溃。
    • PR #31729 & PR #31733: 这两个PR均修复了在AMD平台(ROCm)上,多处代码中硬编码device="cuda"的问题,分别针对AITER MLA/Fused MoE内核和编译融合辅助函数。这确保了在ROCm平台上能正确使用current_platform.device_type,避免运行时错误。
  3. 功能适配
    • PR #31712: fix(rocm): Auto-switch hybrid models from ROCM_ATTN to TRITON_ATTN。为了解决混合模型(如Nemotron-H)因Mamba状态对齐需要大块尺寸,超出AMD GPU共享内存限制的问题,此PR使得当为混合模型显式指定ROCM_ATTN时,vLLM能自动且友好地回退到TRITON_ATTN后端。
  4. Speculative Decoding 支持:
    • PR #31714: [Bugfix][ROCm] Fix Unsupported attention metadata type for speculative decoding in eagle.py。修复了在ROCm ATTN后端下运行Eagle推测解码时的注意力元数据类型不匹配问题,完善了AMD平台上推测解码功能的支持。
  5. MoE 重构:
    • PR #31542: [MoE Refactor] Aiter Experts for BF16 MoE。将未量化的rocm_aiter_fused_expert内核包装为模块化内核格式,是MoE重构工作的一部分,有助于统一和优化AMD平台上的MoE执行路径。

小结:本周期AMD相关贡献以夯实基础为主,重点修复了量化模型加载、设备标识、特定后端兼容性等多个关键bug,并持续推进MoE等核心模块在ROCm平台上的重构与集成,体现了对AMD硬件生态支持的系统性深化。

💬 高热度讨论分析

  1. Issue #31726: [Usage]: Why does vllm serve keep filling up my system disk… (5条评论)
    • 核心议题:用户发现vllm serve从网络挂载加载模型时,系统磁盘空间被持续占用且进程停止后不释放。
    • 观点分析
      • 用户 (@tingjun-cs):通过详细排查,排除了vLLM自身缓存目录(~/.cache/vllm)和通过环境变量重定向缓存目录导致问题的可能性,指出问题可能在于内核层面的文件系统占用统计(如deleted but held open的文件)。
      • 贡献者 (@chaunceyjiang):最初建议检查vLLM缓存目录,随后提出使用du -d 1 /进行更深入的磁盘使用分析。
    • 当前状态:问题仍在开放讨论中,已从简单的缓存路径问题,引向对容器/操作系统层级文件系统行为的更深层排查。这是一个典型的复杂环境问题诊断过程。
  2. Issue #31708: [Bug]: When using image_embeds… (3条评论)
    • 核心议题:用户在使用image_embeds输入时遇到数组越界错误,涉及Qwen2-VL等模型的多模态输入处理。
    • 观点分析
      • 贡献者 (@DarkLight1337):详细解释了image_embedsimage_grid_thw应有的张量维度(应为2-D,无批次维度),并指出该格式仅适用于v0.13+版本。
      • 用户 (@NewZxy):在按建议调整维度后问题依旧,并提供了初步分析,怀疑问题与ImageProcessorItemsImageEmbeddingItems的错误使用有关。
    • 争议焦点:无实质性争议,更多是问题排查过程中的信息澄清与版本适配说明。
    • 当前状态:开放中,问题可能涉及vLLM内部多模态数据结构处理的bug。
  3. Issue #31755: [Feature]: Optimizations for GLM4.7 (3条评论)
    • 核心议题:跟踪GLM-4.7模型在vLLM中的优化任务。
    • 观点分析
      • 发起人 (@yewentao256):列出了详细的优化任务清单(group_topk kernel、cutlass moe填充优化、kernel化get_cutlass_moe_mm_problem_sizes_from_expert_offsets),并提供了完整的精度与性能评测基准。
      • 其他贡献者 (@jeejeelee, @h1248759074):补充了qk_norm_rope融合在FP8版本下未触发的情况,并询问依赖安装细节。
    • 趋势:此Issue体现了社区对特定热门模型(GLM系列)进行深度、系统性性能调优的合作模式。相关优化PR #31754(优化cutlass moe额外fill(0))已在同期被合并。

🔥 热门话题与趋势分析

  1. 性能优化浪潮:围绕GLM系列模型的优化是绝对热点。除了跟踪Issue #31755,合并的PR #31754通过消除冗余的fill(0)操作,为GLM-4.7-FP8带来了2.9%的端到端吞吐提升和10.8%的TTFT提升。这反映了社区对明星模型进行极致性能挖掘的趋势。
  2. 多模态支持持续深化
    • 新模型集成:PR #31758添加了对LiquidAI的LFM2-VL模型族的支持,PR #30864增加了NVIDIA Nemotron Parse 1.1的支持,表明视觉-语言模型库在不断丰富。
    • 功能完善:多个PR(如#31724, #31620, #31696)致力于为Pixtral、BLIP2、H2OVL等现有多模态模型启用LoRA支持,扩展了其微调能力。
    • 底层修复:Issue #31708和PR #31765等揭示了在多模态高并发场景下,编码器缓存管理可能存在的死锁问题,社区正在积极修复。
  3. AMD生态系统性加固:如前述,本周期出现了一批针对AMD平台的修复PR,覆盖测试流水线、设备标识、错误处理、内核兼容性等多个层面。这表明AMD团队或社区正在对ROCm支持进行“查漏补缺”式的系统化完善,而非零散功能添加。
  4. CPU后端稳步发展:关注点从“能用”转向“好用”和“健壮”。出现了为CPU后端添加微观基准测试的需求(Issue #31721, PR #31720),以及修复在--enforce-eager模式下因缺少forward_cpu()实现导致的输出乱码等核心bug(PR #31643)。

🛠️ 重点技术变更

  1. PR #31754: [Perf] Optimize additional fill(0) in cutlass moe…:通过利用expert_first_token_offset信息避免了一次冗余的填零操作,对GLM-4.7-FP8这类MoE模型带来了显著的端到端性能提升。这是针对特定计算模式进行“手术刀式”优化的典范。
  2. PR #31406: [v1] Add encoder-only/cross attention support to Triton Attention backend:为Triton Attention后端添加了编码器/交叉注意力支持,并引入了适配的双向/因果滑动窗口MHA内核。这解决了FlexAttention对某些head_size支持不佳、以及Flash Attention对旧GPU(如Turing/Volta)计算能力限制的问题,为Whisper等编码器模型提供了更优、更兼容的后端选择。
  3. PR #31643: [Bugfix][CPU] Fix RotaryEmbedding fallback causing gibberish with –enforce-eager:根本性修复了CPU后端在启用强制eager模式时,因多个CustomOp层(如RotaryEmbedding, RMSNorm)缺失forward_cpu()实现,错误回退到CUDA路径而导致的输出乱码问题。通过修正CustomOp.forward_cpu()的默认派发逻辑,确保了CPU执行的正确性。
  4. PR #31732 / #31750: B200测试的禁用与恢复:由于DGX Cloud上B200 runner的连接问题,临时禁用了相关CI测试,并在问题疑似解决后迅速恢复。这反映了团队对CI资源状态的敏捷管理和对测试覆盖度的重视。

📈 开发活跃度观察

💡 值得关注的问题

  1. 调度器潜在死锁:Issue #31731提出了一个关于调度器可能因单个KV缓存饥饿请求而阻塞其他请求的性能优化提案。同时,PR #31765和#31699试图解决多模态场景下编码器缓存可能引发的调度死锁。调度器的公平性与健壮性是影响高并发、混合负载场景下服务质量的深层核心问题,值得持续关注。
  2. Transformers 5.x兼容性阵痛:Issue #31485(已通过PR #31622关闭)揭示了GLM-4.6V模型在Transformers 5.0.0rc1下工具调用功能失效的问题。这提醒社区,依赖上游重大版本升级可能带来复杂的兼容性挑战,需要更广泛的测试和适配策略。
  3. AMD新架构支持:PR #31715处理了gfx1201(RDNA 4)架构上因aiter不支持而导致的量化模型加载崩溃。随着AMD新GPU架构的推出,确保vLLM的量化、注意力等核心组件能优雅处理或不支持新架构,是维护平台兼容性的重要课题。

📋 附录:详细数据列表

新增 Issue

已关闭 Issue

新增 PR

已合并 PR

关闭但未合并的 PR