首页 > 其他分享 >AI系统论文:Janus(MoE)(continuing)

AI系统论文:Janus(MoE)(continuing)

时间:2023-09-19 19:46:32浏览次数:43  
标签:centric expert AI continuing 专家 Janus GPU MoE

tag: AI system
category: 系统论文

abstruct

all-to-all communication: (expert-centric) 让专家位于原地,数据在专家之间进行交换。

作者提出了一种”data-centric“的范式:让数据位于原地,在GPU之间移动专家。(因为专家的规模小于数据)。——Janus

主要适用于

the size of expert is small while the amout of input data is large(e.g., large batch size)

特点

  1. 支持“fine-grained”(细粒度的)异步通信。——使得计算和通信重叠

同时,实现了分层通信,通过在同一台机器上共享获取的专家来进一步减少交叉节点流量。

细粒度的(fine-grained) 指的是:将时间或者资源划分的非常细,来更好地进行调控

  1. 其次,在调度“抓取专家”请求时,Janus实现了拓扑感知的优先级策略,以有效地利用节点内和节点间的链路
  2. 最后,Janus允许预取专家,这允许下游计算在前一步完成后立即开始。
  3. 是“data-centric”的

introduction


MoE示意图

expert parallelism示意图

是为了解决MoE模型超过了单个GPU的内存限制而提出的。示例如下:

Expert被放在了不同的GPU(worker)上,因此,在模型计算过程中,必须在专家层前后添加all -to- all通信,以便在各gpu之间交换中间结果。

在NLP中,中间数据也叫作 token


data-centric的优点:

  1. 实现expert之间的异步通信,而不像expert-centric一样,必须等每轮迭代中GPU全部完成后,再进行通信(同步)。同时,同一个机器上的expert可以被该机器上不同的GPU重用。
  2. 由于专家权重(expert weights)在单次迭代中是确定的。因此预取专家是可能的,并且它允许我们进一步改善计算和通信之间的重叠

"expert weights" 指的是模型中的参数,具体来说是用来调整模型中不同专家(或子模型)的重要性或贡献程度的权重参数。

这里的权重不是用来决定数据分配给哪个专家的权重,而是用来决定每个专家模型对最终预测结果的贡献有多大的权重

因此,其在一次迭代过程中是确定的。

Janus提升模型性能的三个视角

  1. Janus将获取每个专家的请求作为单独的任务。

好处:一个worker可以在接受另一个专家的同时(communication),执行一个expert的计算任务(computation)。同时,也使得Janus能够将同一个机器上的不同worker对同一个expert的请求合并。

  1. topology-aware priority 策略来仔细安排专家请求的优先级

  2. Janus利用空闲时隙中的带宽来预取专家,这使得专家层的计算可以在

    一层的计算完成后立即开始。

2 Background

2.1 Transformer and MoE Model

Transformer

Transformer块(figure1(a))通常由两部分组成:注意力层和前馈网络层(FFN)。一般,MoE块可以从Transformer块派生。

2.2 Expert Parallelism

有些MoE模型,每个GPU上的experts是不一样的。有些则是independent copy。

3 Observation and Motivation

3.1 observation on expert-centric paradigm

3.1.1 The communication workload is heavy and imbalanced.

  1. all-to-all 通信开销在MoE模型中每轮迭代的占比很大(有时多达一半)。
  2. All to All原语是一种同步集体通信,这意味着延迟由需要发送和接收最大数量tokens的最繁忙的worker决定。因此,不平衡的工作量对训练时间有负面影响

同一台机器中的GPU通过NVlink连接,不同机器中的GPU通过RDMA网络连接。机器内All-to-All goodput 比机器间 All-to-All goodput 大 18 倍,这表明机器内链路的带宽在机器间All-to-All 通信中没有得到充分利用,系统性能受限于机器间链路的带宽。

3.2 Data-centric Paradigm

先不看了,这段其实没啥太大用处

标签:centric,expert,AI,continuing,专家,Janus,GPU,MoE
From: https://www.cnblogs.com/hi-wind/p/17715622.html

相关文章

  • [IJCAI 2023]Fighting against Organized Fraudsters Using Risk Diffusion-based Par
    [IJCAI2023]FightingagainstOrganizedFraudstersUsingRiskDiffusion-basedParallelGraphNeuralNetwork文章设计了一种基于社区的医疗保险欺诈行为检测。模型为了提高精度,模型设计了一组异构图模型和一组同构图模型。输入的异构图是保险受益人-医疗服务提供者的图,......
  • 使用 Amazon Lightsail 的优势:为初创企业简化基础架构并提升运营效率
    引言:作为亚马逊的一名软件工程师,我有机会使用各种Amazon服务,其中AmazonLightsail是为初创企业而设的易上手使用、经济实惠的虚拟专用服务器。在这篇文章中,我们将探讨使用AmazonLightsail的优势,以及它如何简化基础设施管理并提高运营效率。背景:为了了解使用AmazonLigh......
  • 加入华为云AIGC实战营,一起探索AI前沿技术!
    今年以来,AI热度持续攀升。在近日刚刚召开的2023INCLUSION·外滩大会上,AI技术再一次成为了关注的重点,麦肯锡中国区主席、全球资深董事合伙人更是直言,生成式AI的技术风暴有望开启一场关系到未来8-10年的新一轮技术和产业变革。生成式人工智能AIGC是人工智能1.0时代进入2.0时......
  • apache-paimon初体验 (hive用法待完善)
    1.官网https://paimon.apache.org/docs/master/engines/hive/2.安装flink3.下载依赖包到flinklib目录下4.运行yarnsession创建Application-Name,并修改配置文件./bin/yarn-session.sh-nmflink-sql-d拿到对应的applicationID信息配置到conf文件里yarnapp-lis......
  • 详解RAID6种磁盘阵列模式
    所谓RAID就是RedundantArrayofIndependentDisk的缩写,中文意思是“独立冗余磁盘阵列”,简单来说就是一种利用多个硬盘来提高系统对磁盘的读写速度及其数据安全系数的一种技术。RAID技术开始一般用于服务器或大型工作站上面,但随着RAID技术的不断成熟,现在不少的家用PC的主板都内置......
  • 并行insert出现library cache lock与cursor: pin S wait on X等待问题记录
    一、故障现象与紧急处理开发反馈凌晨5点左右应用出现大量报错 ORA-04021:timeoutoccurredwhilewaitingtolockobject,并且集中出现在insertim_message这个表的操作上,其他表不受影响。查看当时等待情况,发现确实有异常的内存等待,而且还可以看到sid=15和1347的会话在相互等待,......
  • 关于类main方法的使用
    classTest{publicstaticvoidmain(String[]args){Tt=newT();t.m();}}publicclassT{publicvoidm(){System.out.println("类T");}}在doc命令下运行 采用命令javac T.java 和 java Test运行即可成功......
  • AI系统论文:DSP。
    tag:AIcategory:系统论文又要读论文啦!!目的:联合利用多个GPU来训练图神经网络。方式:用一种特殊的数据布局来利用GPU之间的NVLink连接,并且GPU(显存)中存放了图形拓扑和popularnodefeatures。措施:引入集体采样源语:collectivesamplingprimitive设计了基于消费者生产者......
  • OpenHarmony AI框架开发指导
    OpenHarmonyAI框架开发指导一、概述1、功能简介AI业务子系统是OpenHarmony提供原生的分布式AI能力的子系统。AI业务子系统提供了统一的AI引擎框架,实现算法能力快速插件化集成。AI引擎框架主要包含插件管理、模块管理和通信管理模块,完成对AI算法能力的生命周期管理和按需......
  • Datainside数据分析,基于大数据分析学生成绩综合评价
    Datainside是一种基于大数据分析的学生成绩综合评价方法,通过对海量学生成绩数据进行深度挖掘和分析,为学生的学习表现提供全面、客观的评价。以下是对Datainside数据分析学生成绩综合评价的详细描述:1.数据收集:Datainside首先需要收集大量学生成绩数据,包括不同科目、不同年级、不......