当前位置: 首页 > news >正文

AllToAll通信为什么用于EP并行?

1 AllToAll通信原理

首先要明白ALLTOALL通信是做了什么事情。

假设我们有3个进程(A、B、C),每个进程都有三段数据,分别是a1, a2, a3;b1, b2, b3;c1, c2, c3。

进程A想发送:a1到进程A自己,a2到进程B,a3到进程C。
进程B想发送:b1到进程A,b2到进程B自己,b3到进程C。
进程C想发送:c1到进程A,c2到进程B,c3到进程C自己。

在执行AlltoAll操作后:
进程A会拥有:a1(自己的),b1(从B接收的),c1(从C接收的)。
进程B会拥有:a2(从A接收的),b2(自己的),c2(从C接收的)。
进程C会拥有:a3(从A接收的),b3(从B接收的),c3(自己的)。
这样,通过AlltoAll通信,每个进程都能得到来自其他进程的数据,同时也分享了自己的数据。
用矩阵表示就是:
在这里插入图片描述
用一句话描述:将进程 i 的发送缓冲区中的第 j 块数据发送给进程 j,进程 j 将接收到的来 自进程 i 的数据块放在自身接收缓冲区的第 i 块位置。

也可以参考小编的另外一篇文章:
https://zhuanlan.zhihu.com/p/717814079

2 什么是EP并行?

EP并行一般使用在MOE层,先了解下什么是MOE。

2.1 MOE

  • 将FFN分为多个,每个称为一个专家
  • 引入route,负责分发token到不同的专家
  • 每个token只有部分专家参与计算,从而极大减少计算量,但是维持效果
    在这里插入图片描述
    每个FFN都是一个专家,不同的专家可能在不同的卡上。
    假设当前有4个专家,1个token经过Router分发后,会形成类似index的排序结构[1,3],表示当前的token会给专家1处理和专家3处理。

2.1 EP并行

结合如下的图具体分析。

  1. 图中的DP=2,EP=2
  2. 每个DP域内,有TP并行,并且开了sp并行(为了与TP联合使用)
  3. 经过Route后,会进行数据重排,以便选择合适的专家;
  4. 黄色的部分,表示要给EP1计算;蓝色的部分表示要给EP2计算;
  5. 将需要给EP1计算的数据收集起来放在一起;将需要给EP2计算的数据收集起来放在一起(这里就是引入AllToAll的关键
  6. 然后经过FFN的计算。
  7. 计算完成之后,再将数据发送回各自的DP域。
    在这里插入图片描述

3 AlltoAll通信为什么用于EP并行?

通过上述的第5步就是问题的回答。

相关文章:

  • IDC机房交换机紧急更换的流程和注意事项
  • audio结构体 audio_track_cblk_t
  • 容器资源绑定和查看
  • 解决wsl没代理的问题
  • 【电流探头】LOTO电流探头线性度测量
  • 查看使用宿主机模式的Docker容器端口
  • 0x90属性中的属性名$I30和Scb->AttributeName的关系
  • vue3+element-plus+pinia完整搭建好看简洁的管理后台
  • 【愚公系列】《Manus极简入门》054-家庭冲突调解师:“家庭和谐使者”
  • 1998-2023年各地级市地区生产总值、地级市GDP数据(全市)
  • 杨校老师竞赛课之青科赛GOC3-4年级组模拟题
  • 【博通芯片方案】调试指令详解版二(无线)
  • C++学习:六个月从基础到就业——多线程编程:线程池实现
  • day26- 系统编程之 文件IO(II) 及 文件属性
  • DeepSeek:开启IT领域人效管理新时代
  • 【无标题】西门子S7-1500PLC与西门子V90 PN伺服通讯控制项目程序项目程序,共有8轴,编码器信号直接输入到变频器内。
  • win11远程桌面设置60fps无效
  • 12kV 环保气体绝缘交流金属封闭开关设备现场交流耐压试验规范
  • 「Python教案」运算符的使用
  • 【详解自定义类型:联合和枚举】:联合体类型的声明、特点、大小的计算,枚举类型的声明、优点和使用
  • 江苏建设教育协会网站/培训网页
  • 局域网网站制作教程/口碑营销的步骤
  • 做安全防护信息的网站/高佣金app软件推广平台
  • 网站url/上海网络推广排名公司
  • html国外网站源码/百度搜索引擎入口登录
  • 茂名免费做网站/2024最火的十大新闻