什么是自部署大模型的PD分离

PD 分离,就是把大模型"处理输入"和"逐步生成回答"这两道工序,交给不同的 GPU 资源来做。 P 是 Prefill,D 是 Decode。

可以把它想成餐厅:一组人专门备菜,另一组人专门炒菜。 两种工作节奏不同,分工后更容易安排资源。

先看大模型回答问题时发生了什么。比如你发给它一篇长文章,说:"帮我总结一下。"

阶段

模型在做什么

你看到的现象

P:Prefill,预填充

处理文章、问题和聊天历史,把后续生成要用的中间计算结果存下来

通常还在等待回答开始

D:Decode,解码

根据已有上下文,一个接一个生成 token,可以粗略理解为一小段文字

回答逐渐出现在屏幕上

这里的"处理输入"和"生成回答"是方便理解的说法:模型在生成过程中也一直进行计算,并不是读完以后就已经想好了完整答案。

为什么要把它们分开?

假设同一组 GPU 正在给用户 A 持续输出回答,这时用户 B 突然提交了一篇特别长的文章。GPU 要腾出资源处理 B 的输入,A 的输出就可能出现停顿,像打字打到一半突然卡住。

PD 分离后,P 组处理新输入,D 组继续生成已有回答,能减少这两类工作互相干扰。它尤其有利于控制"回答过程中偶尔卡很久"的情况,也方便分别优化"多久开始回答"和"后续输出是否流畅"。

流程大致是:

xml 复制代码
```mermaid
flowchart LR
    A[&#34;用户提交文章和问题&#34;] --> P[&#34;P 组 GPU<br/>处理输入&#34;]
    P -->|&#34;传递 KV Cache<br/>已算好的上下文数据&#34;| D[&#34;D 组 GPU<br/>逐步生成回答&#34;]
    D --> U[&#34;用户看到流式回答&#34;]
```

中间交接的 KV Cache,可以理解成"已经算好的上下文笔记"。 它不是一份文字摘要,而是一批数值数据。D 组拿到这些数据,就能接着生成,省去重新计算整段输入的工作。

分开以后,还能根据业务调整配比:长文章请求多,就增加 P 侧资源;生成长回答的压力大,就增加 D 侧资源。两边通常都需要加载模型权重,具体各用多少张卡由模型大小和部署方式决定。

但 PD 分离不保证更快、更省钱。 两组 GPU 之间传 KV Cache 要花时间,资源分配不均还可能导致一边忙、一边闲。它主要解决的是多人并发时的干扰和延迟稳定性;一般高输出 比如32k输入 16k输入的任务pd分离有较高的单位产出

相关推荐
Yyyyyy~16 分钟前
【深度学习】day2
人工智能·深度学习
ck01357925 分钟前
视频片段提取与视频修剪的区别:多时间段选择及导出流程
人工智能·音视频·视频
沐飞工具箱35 分钟前
游戏、漫画、视频里的外语怎么实时翻译?从 OCR + AI 原理聊聊 VoriTrans 屏幕翻译
人工智能·游戏·实时互动·音视频·自动翻译
深蓝AI2 小时前
Postman 静默改装你的编码 Agent:一份 SEVERE issue 里的六条证据链
人工智能·程序员
QY_Research_6 小时前
2026房地产NFT平台创业机遇与落地指南分析报告
大数据·人工智能·物联网·机器人·制造
机器人零零壹7 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
电子元件小说家8 小时前
2026年四季度电感市场观察:AI算力与汽车电子驱动下的选型与验证建议智能硬件
人工智能·汽车
网易CodeWave-小码哥9 小时前
支持多模块 Java 微服务导入|CodeWave SDD V4.5.10 上线
人工智能
AI你一生一世9 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
belldeep9 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis