跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

大模型推理中的张量并行:详解 4 种通信计算重叠模式

详细解析了大模型推理中张量并行的四种通信计算重叠优化模式。首先介绍了朴素版张量并行存在的通信阻塞问题,随后深入探讨了基于分布式 Gemm 的重叠方案、请求间的流级重叠方案以及请求内的序列分块重叠方案。文章分析了各方案的原理、优缺点及适用场景,指出通信计算重叠已成为提升推理性能的关键技术,并展望了其在未来大模型推理引擎中的普及趋势。

t ag发布于 2025/2/7更新于 2026/7/2552 浏览
大模型推理中的张量并行:详解 4 种通信计算重叠模式

大模型推理中的张量并行:详解 4 种通信计算重叠模式

背景

张量并行(Tensor Parallelism, TP)目前已经是大模型推理的一个必备技术。然而,张量并行存在一个显著的缺点,即通信开销。当推理采用 PCIe 类卡互联时,该缺点更加明显。

针对通信开销的缺点,训练框架已经有了通信计算重叠优化(Communication-Computation Overlap),而目前部分开源的推理引擎如 vLLM 和 SGLang 早期版本并未完全实现该功能。近期开源的大模型推理引擎 ZhiLight 支持张量并行通信计算重叠。预计在 2025 年,张量并行通信计算重叠将会是所有主流开源框架的必备功能。

本文结合当前最新的论文与工程实践,介绍张量并行通信计算重叠的几种做法。

张量并行的几种实现

1. 朴素版张量并行

标准的 Transformer 张量并行结构中,每次 Transformer 前向需要进行 2 次 AllReduce 操作。这会导致模型前向执行 AllReduce 的时候,计算的 GPU 处于空闲状态,造成资源浪费。

2. Gemm 版本通信计算重叠

当我们说到张量并行计算通信重叠,一个最直观的实现是分布式 Gemm + AllReduce 的重叠。目前 TransformerEngine、PyTorch (TorchTitan) 和字节 Flux 都是采取类似的实现。

在分布式 Gemm + AllReduce 中,A @ B 的计算过程如下:

  • A 是列切分,B 是行切分。
  • A0 @ B0 得到 C00 部分,A @ B1 得到 C01 部分。
  • 蓝色的 C00/C11 和黄色的 C01/C11 进行 ReduceScatter 得到最终的 C0/C1。

在重叠版本中,原来的 A 按照列切分,计算的时候再按照行分块计算。分为两个 step:

  • Step 0: A00 @ B0 得到 C00,A01 @ B 得到 C01。
  • Step 1: A10 @ B0 得到 C10,A11 @ B 得到 C11。 此时可以同时进行 Step 0 计算结果的规约(Reduce)。Flux 的思想与此类似,但在优化方面做得更细致。

3. 请求间通信计算重叠

这是张量并行通信与计算重叠的另一种实现方式(参考 Liger: Interleaving Intra- and Inter-Operator Parallelism for Distributed Large Model Inference)。该方法的特点包括:

  • 会有多个请求,不同的请求会有不同的 Stream。
  • 执行请求 1 的计算的时候,请求 2 正在进行通信操作,反之亦然。

类似的这种做法还有 Nanoflow。从理论上讲,这种方法不需要重写一个计算通信的 kernel,但是整体调度实现会很复杂。

4. 请求内通信计算重叠

第 3 种通信计算重叠方式如 ISO: Overlap of Computation and Communication within Sequence For LLM Inference 所述。该方法看起来与前几种均不一样,核心在于对分布式 Attention 实现的深入理解。

以单张卡不同流的图示为例,将这张图扩展到多卡场景:

  • Rank 0 和 Rank 1 分别处理不同的数据分片。
  • 一个 Transformer 对于单卡而言,通信和计算是重叠的。
  • Attention 采用了分块 Attention 实现。

具体流程为:每张卡在序列维度分块执行。分块 0 执行的时候没有通信,分块 1 执行的时候,执行分块 0 的通信。MLP 的计算通信重叠通常与 Gemm 版本类似,重点在于 Attention 如何实现通信计算重叠。

方案对比与选型建议

在实际工程中,选择哪种重叠策略取决于具体的硬件环境和业务需求:

方案优点缺点适用场景
朴素版实现简单,兼容性好通信阻塞严重,GPU 利用率低
小规模测试,PCIe 连接较差环境
Gemm 重叠利用矩阵乘法特性,减少等待时间需要算子融合支持,调试复杂高吞吐推理,支持 Tensor Core 的显卡
请求间重叠提升多并发下的整体吞吐量调度逻辑复杂,显存占用增加高并发服务,多租户场景
请求内重叠降低单个请求的延迟实现难度最高,对 Attention 结构改动大低延迟敏感型应用,长序列处理

总结

张量并行通信计算重叠是提升大模型推理性能的关键技术之一。随着硬件互联带宽的提升(如 NVLink)以及软件栈的成熟,通信计算重叠将成为标准配置。开发者在选择推理引擎或进行自研优化时,应重点关注其对不同重叠模式的支持程度,并根据实际部署环境的网络拓扑和负载特征进行权衡。

未来,随着 MoE 架构和大模型规模的进一步扩大,通信瓶颈将更加突出,细粒度的通信计算重叠优化将是持续演进的方向。

目录

  1. 大模型推理中的张量并行:详解 4 种通信计算重叠模式
  2. 背景
  3. 张量并行的几种实现
  4. 1. 朴素版张量并行
  5. 2. Gemm 版本通信计算重叠
  6. 3. 请求间通信计算重叠
  7. 4. 请求内通信计算重叠
  8. 方案对比与选型建议
  9. 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于YOLOv8/YOLOv10/YOLOv11/YOLOv12与SpringBoot的森林火灾烟雾检测系统(DeepSeek智能分析+web交互界面+前后端分离+YOLO数据
  • Duix.Avatar 开源数字人全栈技术架构与部署实践
  • AI 驱动的接口测试全流程自动化实现
  • Qwen3-VL-WEBUI 游戏 NPC 视觉交互部署实践
  • 飞书自定义机器人 Webhook 接入实战(Java/Python)
  • 大模型 SFT 的 100 个关键点:深入剖析与应用指南
  • PlantUML 绘图工具简介与使用指南
  • YOLOv8 开发环境配置实战:Python、PyTorch 与 CUDA 搭建
  • Raphael AI:基于 Flux 模型的免费 AI 图像生成工具
  • 前端面试核心知识点梳理与高频考点解析
  • VS Code 禁用 Copilot 代码自动补全
  • AIOps 实践:基于 Dify + LangBot 构建飞书智能体机器人
  • 阿里 QoderWork:本地运行且自主规划的 AI Agent
  • 腾讯混元 Image 2.1 GGUF 版:消费级显卡本地部署方案
  • B/S 架构原理、技术栈选型与实战案例
  • C++ 伸展树与红黑树原理及实现详解
  • 基于 Leaflet 的 WebGIS 省域区县天气可视化实战
  • 零一万物发布 Yi-Large 评测超 GPT-4 李开复称十年不套现
  • RISC-V开源处理器实战:从Verilog RTL设计到FPGA原型验证
  • DICOM 标准详解:文件解析、Java/Python 库与 AI 应用

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online