[Paper] 通过 GPU 内部调度和资源共享实现分散式多阶段 MLLM 推理
发布: (2025年12月19日 GMT+8 21:40)
6 min read
原文: arXiv
Source: arXiv - 2512.17574v1
Overview
本文解决了在部署多模态大语言模型(MLLM)——能够理解图像和视频的语言模型——时出现的隐藏性能瓶颈。通过重新设计视频解码和视觉编码器阶段在 GPU 上的调度方式,作者实现了相较于现有流水线 3× 更多请求 和 4.4× 更高吞吐量,使得对延迟敏感的 MLLM 服务在实际应用中更加实用。
关键贡献
- FlashCodec – 一种协作式多 GPU 视频解码器,保持低解码延迟的同时提供高吞吐量,消除主导首次令牌时间(TTFT)的 CPU 受限瓶颈。
- UnifiedServe – GPU 内部调度器,在逻辑上分离视觉编码器和 LLM 推理阶段,但在物理上共享 GPU 计算和内存,消除阶段间阻塞,提高整体利用率。
- 端到端堆栈 结合上述技术,实现相较于最佳已有系统 3.0× 更多并发请求 或 1.5× 更紧的 SLO,并且 吞吐量提升 4.4×。
- 在真实的视频问答工作负载上进行的全面评估,展示了在不同模型规模和硬件配置下的一致提升。
方法论
- 对 MLLM 流水线进行剖析 – 作者首先将三阶段工作流(多模态预处理 → 视觉编码器 → LLM 推理)拆解,并测量延迟峰值出现的位置。
- FlashCodec 设计
- 将视频帧划分到多个 GPU 上。
- 使用轻量级的 GPU 内部通信层将解码后的帧重新拼接。
- 将解码器保持在 GPU 上,以避免代价高昂的 CPU‑GPU 数据传输。
- UnifiedServe 调度器
- 引入 逻辑解耦:将视觉编码器和 LLM 推理视为依赖图中的独立任务。
- 实现 物理共享:两个任务在同一 GPU 上运行,通过细粒度的时间片和内存分区,使得一个阶段的空闲资源可以被另一个阶段回收利用。
- 采用轻量级的优先级机制,确保延迟关键的 LLM 解码步骤永不被饿死。
- 集成与评估 – 将这两个组件合并为单一服务栈,并在使用 NVIDIA A100 GPU 集群的流行视频问答数据集(如 MS‑VQA、ActivityNet‑QA)上进行基准测试。
结果与发现
| 指标 | 基线(CPU 解码 + 独立 GPU) | FlashCodec + UnifiedServe |
|---|---|---|
| 首个 Token 延迟 (TTFT) | 1.8 秒 | 0.9 秒(≈ 提升 2 倍) |
| 吞吐量(查询 / 秒) | 12 | 52(≈ 提升 4.4 倍) |
| 在 2 秒 SLO 下的最大并发请求数 | 30 | 90(≈ 提升 3 倍) |
| GPU 利用率(平均) | 38 % | 78 % |
收益主要来源于:
- 消除视频解码过程中的 CPU‑GPU 传输开销。
- 通过 UnifiedServe 的共享 GPU 调度,将视觉编码器计算与 LLM 预填充/解码重叠。
- 更好的内存打包,使得更大的视觉嵌入批次能够常驻 GPU。
实际影响
- 降低交互式 AI 助手的延迟,这些助手需要实时处理视频片段(例如,实时视频聊天、AR/VR 指导)。
- 提升每个 GPU 的请求密度,这意味着云服务提供商可以在相同硬件预算下服务更多客户,从而降低每个 token 的成本。
- 部署更简化:开发者不再需要单独的 CPU 密集型解码服务;单个 GPU 节点即可处理完整的 MLLM 堆栈。
- 可扩展到更大的模型——由于 UnifiedServe 能动态重新分配 GPU 内存,它可以容纳未来更计算密集的视觉编码器,而无需重新设计服务基础设施。
限制与未来工作
- 硬件依赖:FlashCodec 假设使用多 GPU 并配备高速 NVLink 或 PCIe 互连;在单 GPU 或低带宽环境下性能可能下降。
- 视频编解码支持:当前实现侧重于 H.264/H.265;要扩展到更新的编解码器(如 AV1、VVC)需要额外的工程工作。
- 调度器开销:虽然调度器本身轻量,但细粒度的时间片分配会带来一个小的固定开销,在超低延迟(< 100 ms)场景下可能变得显著。
- 作者提出的未来方向包括:在 GPU 上集成视频压缩以进一步降低内存流量、基于运行时负载探索自适应批量大小,以及将 UnifiedServe 推广到其他异构流水线(例如音频转文本模型)。
作者
- Lingxiao Zhao
- Haoran Zhou
- Yuezhi Che
- Dazhao Cheng
论文信息
- arXiv ID: 2512.17574v1
- 分类: cs.DC, cs.LG
- 发布时间: 2025年12月19日
- PDF: 下载 PDF