概述:为什么需要分布式推理?
随着大模型参数规模从百亿级迈向万亿级,单个GPU设备的内存和算力已无法满足推理需求。分布式推理通过将模型或数据拆分到多个设备上协同工作,突破了单机瓶颈,是实现大模型高效、高可用服务的核心技术。
下面这张图清晰地展示了四种并行策略如何对模型和数据进行划分:
flowchart TD
A[输入数据] --> A1[数据并行<br>复制模型,拆分数据]
A --> A2[流水线并行<br>拆分模型,数据按阶段流动]
A --> A3[张量并行<br>将模型层内矩阵拆分]
A --> A4[专家并行<br>根据输入激活不同专家]
subgraph B1[数据并行示例]
B1_1[GPU 0<br>完整模型副本] --> B1_2[输出 0]
B1_3[GPU 1<br>完整模型副本] --> B1_4[输出 1]
end
subgraph B2[流水线并行示例]
B2_1[GPU 0<br>模型前几层] --> B2_2[GPU 1<br>模型中间层] --> B2_3[GPU 2<br>模型最后层] --> B2_4[输出]
end
subgraph B3[张量并行示例]
B3_1[GPU 0<br>矩阵分块A] <--> B3_2[GPU 1<br>矩阵分块B]
B3_1 & B3_2 --> B3_3[合并结果]
end
subgraph B4[专家并行示例]
B4_1[GPU 0<br>专家A]
B4_2[GPU 1<br>专家B]
B4_3[GPU 2<br>专家C]
B4_1 & B4_2 & B4_3 --> B4_4[路由网关] --> B4_5[输出]
end
A1 --> B1
A2 --> B2
A3 --> B3
A4 --> B4
策略一:数据并行
核心原理
复制模型,拆分数据。在每个计算设备(如GPU)上都部署一个完整的模型副本,然后将一个批次的输入数据平均分配到所有设备上并行处理。
工作流程
- 分发