在AI浪潮中,无论是企业还是国家,对算力的需求都日益高涨。近期启动的“东数西算”项目,更是从宏观层面大力打造AI基础设施。但位于不同地理位置的计算机之间通信延迟较高,如何统筹兼顾、高效利用不同地区的计算能力,是当下亟待解决的重大议题。

与此同时,在大数据时代的背景下,如何保护隐私数据也成为社会热点,国家出台了数据安全、隐私保护的一系列法规。

针对以上难点,Sky Computing成功利用空间异构分布式计算特性,在保证用户数据隐私的前提下,可对联邦学习速达55%

开源地址:

https://github.com/hpcaitech/SkyComputing

“东数西算”项目布局

空间异构式计算

随着深度学习的不断发展,模型的尺寸日益增长,目前的主流模型,例如 BERT 和 GPT-3 都有着数以亿计的参数。尽管这些模型在预测精度和性能提升方面有了长足的进步,但同样也给存储和运算等带来了极大的压力。为了加速AI模型训练的速度,分布式机器学习得以应运而生,它通常使用大量高速互联的同类型处理器,如超级计算机。

超级计算机

而空间异构分布式计算则进一步将拥有不同计算能力、通讯能力的计算资源组合在一起,作为一个大的集群完成大型计算任务。其中参与计算的硬件资源可以是大型专业计算服务器,也可以是小型的智能设备。目前,空间异构分布式计算作为一种新形式的异构计算,正在得到越来越多的关注。以我国为例,随着「东数西算」工作的推行,越来越多的计算资源将广泛地分布到西部各个地区,如何协调这类混合计算集群联合高效工作,也将成为高性能计算应用的研究热点。

近年来,云服务的规模、范围和对象都被不断扩展,越来越多的企业选择将自己的数据存储和数据计算相关业务部署在云端。然而,将所有服务依托于云端环境的缺点在于数据的迁移成本极高;同时,数据的隐私性和可靠性也难以保证;此外,分布在不同地区的云算力之间高昂的通信成本,也使得他们难以有效联合完成高算力任务。

云计算

联邦学习

为保护数据的隐私性,Google 于 2016 年提出联邦学习,这是一种加密的分布式机器学习技术。顾名思义,它通过搭建一个虚拟的「联邦」,将大大小小的数据孤岛联合到一起。每一个数据孤岛都像是这个「联邦」中的一个州,既保持一定的独立自主(比如商业机密,用户隐私),又能在数据不被对外共享的前提下共同建模,提升AI模型效果。目前,联邦学习广泛被运用在智能终端的模型训练中,如各个语音助手例如Siri, Alex等等。

联邦学习

在现有的联邦学习模型并行中,模型被均匀分配给各个训练设备。然而,如前文所述,由于联邦学习的训练设备往往是用户的智能终端,性能差异较大,使用均匀分配,往往会造成通信时间瓶颈。

正如我们都知道木桶效应:木桶的盛水量由最短的那块木板决定。而在传统的联邦学习中,存在类似现象:训练速度由最慢的那个设备决定。

例如,对于处于使用模型并行的同一个联邦学习任务中的智能手机和树莓派,它们会被分配相同的任务量。但由于智能手机的运算能力远超树莓派,智能手机被迫闲置等待树莓派的任务完成。

木桶效应

Sky Computing

Sky Computing 针对以上痛点,通过负载均衡,将不同规模和能力的云服务器智能互联,达到大规模计算的算力需求,同时通过联邦学习的方式,仅在云服务器内部访问用户数据,避免数据迁移和隐私泄露。

负载均衡

要解决负载均衡的问题,首先要了解什么是「负载」。在计算机中,无论进行哪种操作,究其本质,负载都可以理解为「完成任务所需的时间」。由于在联邦学习中,训练模型的计算总量是固定的,因此如果我们能通过自适应的方式智能分配计算任务,便能够使得每个设备完成计算任务的耗时相同,确保整体训练的时间最优。而为了得到一个好的分配方式,我们需要首先得到模型和设备相关信息,然后再进行实际的适当分配操作。因此,对于训练模型,我们需要分为两个阶段:基准测试和分配。

训练过程

基准测试

在基准测试阶段,Sky Computing 需要收集来自两个维度的数据:模型和设备。在模型维度,需要知道模型每一层所需的内存占用和计算量。通过结合模型的预计内存占用和设备的可用内存,可避免内存溢出;而所需计算量越大,同一设备完成该任务的时间就越久。在设备维度,需要知道设备的通讯延时、计算能力和可用内存等,受网络环境、当前运行负载等因素的影响。对于算力强、通信好但可用内存少的设备,应在内存不溢出的前提下,尽量多分配模型层(计算任务)。由于 Sky Computing 是一个负载均衡的联邦学习系统,因此我们在基准测试阶段只关心设备的机器学习的能力。通过在每个设备运行小型的机器学习测试任务,测探设备的AI计算能力。

整体流程

分配

在决定任务分配方式时,经数学分析可知,分配方式本质上是一个NP-hard的混合整数线性规划问题。因此,在多项式时间内,我们无法得到一个最优解。而随着模型规模的不断增长,和设备数量的不断增多,计算最优解的成本显然是不可接受的。

因此,在实际情况中,我们不会直接计算求得最优解,而是尝试使用启发式算法得到近似解。在 Sky Computing 中,我们设计了一个两阶段的启发式算法:第一阶段为预分配,按照设备的实际可用内存大小进行模型的分配,并且计算每个设备实际的工作负载;第二阶段为分配调整,根据设备的负载量进行动态的调整,迭代降低整个系统的负载量。同时,为了验证 Sky Computing 的优越性,我们在实验中也设置了最优分配作为对比。

实现架构

性能表现

我们在集群环境中,采用控制关键因素变量的方式,以联邦学习AI任务的forward 和 backward 的时间为指标,对Sky Computing的性能进行了验证。

实验结果

我们测试了三种分配方式(even:均匀分配,heuristic:启发式算法,optimal:最优分配)。在不同的计算资源数量规模和不同的模型大小下的表现,并记录了每次完成迭代所花费的时间。可以看到,随着设备数量的增多和模型深度的增加,我们的启发式算法的效果十分显著。在64个节点160层隐藏层的实验环境下,Sky Computing 比当前的均匀分配模型并行可加速55%。

实验结果

其中,由于最优分配计算成本极高,在64节点时已难以计算,不适用于实际应用,仅作为小规模时的参考值。

更多特性

Sky Computing 是我们利用空间异构分布式计算特性加速联邦学习的一次成功尝试,获得了高达 55% 的性能提升。目前该项目仍处于开发阶段,未来我们将进行更加充分的实验,早日部署到实际应用中,并提供动态冗余等功能。

欢迎各位积极提issue和PR,共同为构建这一AI基础设施舔砖加瓦,解放AI生产力~

传送门

论文地址:

https://arxiv.org/abs/2202.11836

项目地址:

https://github.com/hpcaitech/SkyComputing

加入潞晨

潞晨科技的团队核心成员均来自美国加州大学伯克利分校,斯坦福大学,清华大学,北京大学,新加坡国立大学,新加坡南洋理工大学等国内外知名高校。目前,潞晨科技还在广纳英才,招聘全职/实习AI分布式系统、架构、编译器、网络、CUDA、SaaS、k8s等核心系统研发人员,开源社区运营、销售人员。

潞晨科技提供有竞争力的薪资回报,特别优秀的,还可以申请远程工作。也欢迎各位向潞晨科技引荐优秀人才,如果您推荐优秀人才成功签约潞晨科技,我们将为您提供数千元至数万元的推荐费。

工作地点:中国北京,新加坡,美国。(可相互转岗)

简历投递邮箱:hr@luchentech.com

参考链接:

https://arxiv.org/abs/2202.11836

https://36kr.com/p/1619922542065412?channel=wechat

https://pdfs.semanticscholar.org/b8dc/bc29485d3ea6c0fe6ddab370ca055b9fb746.pdf

Sky Computing:利用空间异构分布式计算特性加速联邦学习相关推荐

  1. 用KFServing加速联邦学习模型的部署

    题图摄于北海公园 12月初召开的 CNCF KubeCon 中国线上虚拟会议上,我们 VMware 云原生实验室的工程师王方驰和社区合作伙伴做了一个演讲分享:用KFServing加速联邦学习模型的部署 ...

  2. Sky Computing

    看完伯克利的Sky Computing论文后,整理一下部分论文中所描述的细节内容如下: Sky Computing的概念 Sky Computing 只是由云间代理中介的云计算(见下图).在 Sky ...

  3. 面向时空异构数据的联邦学习

    作者分享链接:[ICLR 2023]面向时空异构数据的联邦学习_哔哩哔哩_bilibili 论文原文链接:https://arxiv.org/abs/2205.10920 报告简介:联邦学习作为面向隐 ...

  4. 云计算未来的新方向会是“Sky Computing”吗?

    导读 展望未来,会有更多创新将发生在云计算领域.尽管在未来几年内,云服务商推出的新产品可能会继续成为重磅新闻,但云技术的真正创新将是性能和成本优化. Spark和Ray,一个是开源于2010年,专为大 ...

  5. 科技云报道:“Sky Computing”会是云计算未来的新方向吗?

    科技云报道原创. Spark和Ray,一个是开源于2010年,专为大规模数据处理而设计的快速通用的计算引擎,另一个则是开源于2018年,由加利福尼亚大学伯克利分校RISELab推出的新一代高性能分布式 ...

  6. 用进化算法来优化SVM的参数C和Gamma——利用SCOOP库进行分布式加速计算

    该案例展示了如何利用SCOOP库进行分布式加速计算Geatpy进化算法程序, 本案例和soea_demo6类似,同样是用进化算法来优化SVM的参数C和Gamma, 不同的是,本案例选用更庞大的数据集, ...

  7. Cell Genomics封面|北大吴华君组利用空间多组学技术解析肿瘤内空间异质性(附招聘)...

    Cell Genomics封面|吴华君课题组利用空间多组学技术解析肿瘤内空间异质性 肿瘤内异质性(intra-tumor heterogeneity,ITH)是癌症复发转移的重要驱动因素之一.随着单细 ...

  8. ICCV 2021 Oral | AdaFocus:利用空间冗余性实现高效视频识别

    ©原创 · 作者 | 王语霖 单位 | 清华大学自动化系 研究方向 | 机器学习.计算机视觉 本文主要介绍我们被 ICCV 2021 会议录用为 Oral Presentation 的一篇文章:Ada ...

  9. 标定学习笔记(九)-- 利用空间正交约束的相机自标定和三维重建

    本文主要内容围绕西交大的舒远.谈正和丁礼如所提出的一种利用空间正交约束的相机自标定方法进行归纳概述,谨做学习用.文章提出了一种用 2 幅存在正交约束的场景图像进行三维重建的方法,该方法不需要事先标定相 ...

最新文章

  1. python学习-Django (3)
  2. 【问题】用ant编译时,提示编码utf为不可映射字符
  3. html网页主题结构,HTML5 基本结构
  4. 如何获取网站icon
  5. python经典程序实例_Python入门经典实例(一)
  6. docker安装sentinel的超简单步骤
  7. lay-verify=required 没生效_眼睛一闭一睁,20万没了!|侧翻|交通事故|半挂车|追尾...
  8. 了解一个新技术和技术点的时候需要了解的事情
  9. asp.net DataReader DataTable 使用反射给给实体赋值
  10. php 利用qrcode生成二维码
  11. 计算机毕业设计Python+djang的药物管理系统
  12. php 调用极光api,利用php+curl调用极光IM第三方REST API方法经验
  13. Ubuntu 18.04 安装 NVIDIA 显卡驱动超详细步骤
  14. android 三星存储位置设置,三星手机如何设置储存位置
  15. oracle资产中fa_deprn_summary存储内容,关于FA的YTD Deprn的一个问题
  16. 今日头条街拍图片抓取
  17. VSCode改变字体大小
  18. python安全编程培训费用
  19. 如何优雅的编写前端代码
  20. uniapp微信小程序授权微信头像昵称

热门文章

  1. Kubernetes1.3:QoS服务质量管理
  2. python程序员真实收入曝光_行!看到抖音上Python程序员晒得工资条,我沉默了.........
  3. 游戏运动模糊技术讲解
  4. 3D建模京东商品3D展示怎么做?
  5. Winform多选树
  6. imputation-文献:False signals induced by single-cell imputation(scRNA-seq插补引入的假阳性问题)
  7. 看完20部电影,你可以去任何一家公司做董事长或总经理
  8. win7网络感叹号dns服务器未响应,笔记本win7系统下无线网络显示已连接却不能上网有感叹号如何解决...
  9. Qtum量子链QIP-5提案:在智能合约交易输出脚本上增加签名证明,允许用户以代付方式调用合约
  10. maximo开发经验