专栏名称: 字节跳动技术团队
字节跳动的技术实践分享
目录
相关文章推荐
美团技术团队  ·  可信实验白皮书系列04:随机轮转实验 ·  2 天前  
美团技术团队  ·  可信实验白皮书系列03:随机对照实验 ·  2 天前  
字节跳动技术团队  ·  掘金 AI 编程社区- 人人都是 AI 编程家竞赛 ·  昨天  
51好读  ›  专栏  ›  字节跳动技术团队

万卡集群真实部署,已节省数百万 GPU 小时!MoE 通信优化技术 COMET 开源

字节跳动技术团队  · 公众号  · 架构  · 2025-03-25 12:00

正文

请到「今天看啥」查看全文


因此,团队认为现有的系统级 MoE 解决方案仍面临两大困境:

1)难以解决复杂的数据依赖

MoE 架构的稀疏特性导致计算和通信间的依赖动态且复杂。MoE 会动态地将 Token 分配给不同专家,而传统的粗粒度矩阵分块方式,会导致 GPU 频繁等待远程数据,从而造成计算资源闲置。
如图 1 所示,当专家 0 需要在紫色「数据块」中进行 Tile-level 的计算时,必须先通过 Token-level 的通信接收远程数据(Token B),这种由于复杂数据依赖导致的计算-通信粒度上的错配,使得效率严重下滑。
图片
图 1:单层 MoE 模型示意图
(专家分布在 GPU0 和 GPU1 两张卡上)

2)难以消除计算-通信流水线气泡

另一个问题是,现有方法无法精确控制计算任务和通信任务对硬件资源的使用,因而,也无法根据不同的模型结构和动态输入,来自适应地调整资源分配。这导致计算和通信无法实现无缝重叠,进而产生大量流水线气泡,增加了系统的延迟。
因此,团队认为:解决 MoE 模型中计算与通信的 粒度不匹配问题 是实现两者高效重叠的关键,同时,还需要根据负载情况自适应调整通信和计算的资源分配,以进一步实现无缝重叠。

2. COMET 核心方案

COMET 是一个针对 MoE 模型的通信优化系统,通过细粒度计算-通信重叠技术,助力大模型训练优化。
团队分析发现,MoE 架构包含两条不同的生产-消费流水线:「计算-通信流水线」和「通信-计算流水线」。如图 2 所示,数据在流水线中流动时,各流水线内的操作会通过一个共享缓冲区链接,该缓冲区被称作「共享张量」。
图片
图 2:COMET 的设计结构
基于此,COMET 引入 两项关键机制 ,以最小化整体延迟并提升流水线性能。

1)共享张量依赖解析

通过分解和重调度共享张量,解决通信与计算之间的粒度错配问题,实现细至单 Token 级的重叠。






请到「今天看啥」查看全文