何时用 EPD 分离加速多模态模型推理
来自 NVIDIA Developer · 期号 2026-09-10
摘要
多模态模型推理时,视觉编码阶段与文本生成阶段对算力的需求不同,混在一起跑会互相拖累。NVIDIA 提出的 EPD 分离方案把编码、预填充、解码三个阶段拆开,各自跑在独立的 GPU 上。 实测对图片多、输出短的场景效果最明显,配合 Dynamo 调度器最高能到 5 倍加速。量化 MoE 模型收益也很大,因为编码阶段占用的显存被单独释放了。 原文给出了具体的部署配置和性能对比数据。
深读
导读 多模态模型推理时,视觉编码与文本生成对 GPU 资源的需求差异巨大,混在一起跑会互相拖累。NVIDIA 这篇技术文章系统介绍了 EPD 分离方案,将编码、预填充、解码三个阶段拆开,各自跑在独立的 GPU 上。读完能明白什么场景下该用、能省多少时间、以及如何根据硬件和负载选择部署拓扑。 关键信息 - 在 10 张图片、输出 1024 token 的负载下,colocated EPD 将首 token 延迟(TTFT)降低 58%,heterogeneous EPD 降低 50%。 - 在混合文本与图片流量(50:50)下,EPD 将文本请求的平均 TTFT 从 92.3 ms 降至 53.3 ms(降幅 42.2%),图片请求从 289.9 ms 降至 200.6 ms(降幅 30.8%)。 - 将 LLM 权重从 BF16 量化到 NVFP4(视觉编码器保持 BF16),colocated EPD 的 goodput 增益从 1.78x 提升至 2.64x。 - 模型规模从 4B 增至 27B 时,视觉编码器参数量占比从 7.2% 降至 1.7%,colocated EPD 的 goodput 增益从 2.62x 降至 0.65x(低于基线)。 - 测试环境使用 4 块 NVIDIA GB200 GPU(PD 层),heterogeneous 拓扑额外使用 2 块 NVIDIA RTX 6000D GPU(编码层),通过 NIXL 传输视觉嵌入,实测峰值带宽 20 Gbps。 逐节讲解 为什么需要 EPD 分离 多模态请求在 LLM 预填充之前必须先完成媒体预处理和视觉 transformer(ViT)前向计算,生成嵌入。在聚合服务(aggregated serving)模式下,视觉编码、LLM 预填充和解码共享同一个 GPU 和调度域。当请求包含多张图片或视频时,视觉编码可能耗时数百毫秒,不仅拖慢自身预填充,还会与并发的预填充和解码任务争抢 GPU 资源。混合流量下,纯文本请求也可能因为排在多模态请求后面而被迫等待。 三种编码器放置拓扑 Dynamo 支持三种部署方式:聚合服务——每块 GPU 跑一个聚合 worker,统一调度编码、预填充和解码;colocated 编码器——每块 GPU 同时跑一个或多个编码 worker 和一个 PD worker,共享 GPU 计算但保持独立队列和批处理,适合同构集群;disaggregated 编码器——编码器跑在更低成本的 GPU 层(如 RTX 6000D),PD worker 跑在主 GPU 层(如 GB200),通过 NIXL 传输嵌入,适合异构硬件。在同构集群中,disaggregated 方案性能始终不如 colocated。 影响 EPD 收益的关键因素 收益取决于视觉编码、LLM 预填充和解码…