编码—预填充—解码(EPD)分离式推理是一种面向多模态模型的推理优化技术,它把视觉编码阶段与预填充、解码阶段拆开。NVIDIA 指出,该技术对图像密集型的提示、中短长度的输出以及量化混合专家(MoE)模型最为有效。
多模态请求会在 LLM 预填充开始之前增加额外工作:服务栈必须先预处理媒体,再运行视觉 Transformer(ViT)生成嵌入向量。在聚合式服务中,视觉编码、LLM 预填充与解码共用一个 worker 和一套调度域,当媒体处理只占工作负载的一小部分时这种简单设计表现良好。
但随着请求中包含更多图像或视频,平衡会发生变化。视觉编码可能耗时数百毫秒甚至更久;由于编码与 LLM 工作共享同一块 GPU,一个媒体密集的请求会拖慢自身的预填充,并与并发的预填充、解码工作争抢资源。在混合流量下,纯文本请求也可能排在多模态请求之后,尽管它们并不需要视觉编码。
NVIDIA Dynamo 通过分离编码器与 PD worker 角色来实现 EPD 服务,且不固定两者的硬件位置:编码 worker 负责产出视觉嵌入,PD worker 消费这些嵌入并运行 LLM,这种分离让各个阶段可以独立批处理、调度和扩展。编码 worker 与 PD worker 之间通过 NVIDIA Inference Transfer Library(NIXL)传递嵌入。
NVIDIA 强调,只有当被隔离出来的编码工作足够大到能抵消 worker 协调与嵌入传输开销时,编码分离才能降低首字延迟并提升同等 SLO 下的有效吞吐。围绕编码 worker 的放置位置,文章给出三种拓扑:聚合式(每块 GPU 运行单个聚合 worker,由调度器统一管理视觉编码、预填充与解码);同机并存式(每块 GPU 上运行一个或多个编码 worker 与一个 PD worker,共享 GPU 算力但保持独立的请求队列与批处理);以及分离式(编码器运行在独立的低成本 GPU 层,PD worker 运行在主 GPU 层)。
NVIDIA 认为,在同构集群上同机并存式通常是更好的选择:视觉编码器相对 LLM 更轻量,为编码工作独占一整块同级 GPU 会让该 GPU 大量闲置。而在集群包含更适合编码工作的低成本 GPU 层时,分离式编码就变得有吸引力——在 NVIDIA 的测试环境中,两块 NVIDIA RTX 6000D GPU 运行编码 worker,四块 NVIDIA GB200 GPU 运行 PD worker,从而把更轻的编码负载留在 RTX 卡上、把计算与显存更密集的 LLM 负载留给 GB200。文章同时指出,同构 GPU 下的分离式方案总是逊于同机并存式。
决定 EPD 收益的因素不止媒体负载本身。视觉编码在请求处理时间中占比是否显著、输出长度、模型规模与精度、以及流量构成,都会改变这一平衡。NVIDIA 表示,借助 Dynamo 实现 EPD 分离式推理,可获得最高 5 倍的首字延迟改善与最高 7 倍的端到端响应时间改善,并在文章中给出了不建议使用 EPD 分离的场景。
WeChat
Profile