升级2:飞天AI训练加速引擎|学习笔记

简介: 快速学习升级2:飞天AI训练加速引擎

开发者学堂课程【如何利用飞天AI解决方案帮助升级异构计算的AI架构升级2:飞天AI训练加速引擎】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/648/detail/10748


升级2:飞天AI训练加速引擎


内容介绍:

一、基于异构计算 AI 应用架构的问题二

二、AIACC-Training 架构

三、AIACC-Training 优势

四、高性能分布式梯度通信优化技术

五、AIACC-Training 性能优化结果


一、基于异构计算 AI 应用架构的问题二

image.png

前面解决了环境配置的快速创建问题,在解决这个问题之后,客户遇到的第二个问题就是训练时间过长,有些典型客户训练一个模型需要1周,有的需要一个月时间,就会大大影响客户开发效率。比如调节一个模型的算法,调节参数,可能需要一周甚至一个月的时间才能看到是否正确,如果调节不正确,调节另一个参数可能又要等一周或一个月的时间;第二个问题是 GPU 利用率低,一个普遍的问题是用户对 CPU 的计算能力可以重复发挥出来,但是对 GPU 的能力发挥的还比较低,所以在解决这个问题的时候可能需要做分布式训练。

第二大问题是客户软件较多,四种主流框架的版本就比较多,客户训练的场景也比较多,可能有ALP的场景,有CTL的场景或语音、语言的场景等等。这些框架、场景在 GPU 上没有太多性能优势,导致GPU利用率太低,需要各种场景、配置做针对性优化,这样优化的成本就会很高。

在框架层面又缺乏统一训练框架的引擎,比如Tensorflow有PS模式、Replicated模式,MXNET 有 Kvstore 模式、PS-Lite 模式,PyTorch 有 Gloo 模式、DataParallel 模式,Caffe 有 MPI-Caffe、NVCaffe 模式,在对不同的计算框架的模式做优化之后,另外的模式又可能需要做针对优化,这样需要优化的方向太多,同时不同的模式对统一的调度也是一个非常大的挑战,需要对不同的模式做不同的调度方式。


二、AIACC-Training 架构

所以升级2是飞天AI训练加速引擎,训练加速引擎主要实在框架层面做的,简称为 AIACC,AIACC 的训练加速引擎简称AIACC-Training,它会同时支持 Tensorflow、PyTorch 、MXNET、

Caffe 这四种框架。

下图是这些 AIACC-Training 架构,在框架接口层做了每个框架的接口,对每个框架做了不同的通信 GPU,通信操作层,在 Tensor 层面对每个框架做统一的 Tensor 封装,在 Context 层,对每个框架的 Context 做统一的封装,然后把每个框架的通信层都抽象出来,最终归结到高性能分布式梯度通信库中,所以对四种框架做分布式训练的时候,只需要对一个高性能分布式梯度通信库做一次分布式的优化就可以了。

image.png


三、AIACC-Training优势

image.png

云端首次统一加速 Tensorflow、PyTorch、MXNET、Caffe 主流开源框架的分布式训练,只需要一份核心优化代码就可以优化四种框架的分布式训练;第二是针对网络、异构加速器都进行了深度的性能优化,第三是结合云端弹性伸缩,可以自动扩展资源,释放资源;第四个好处是开源是兼容的,用户用开源的人工智能框架做代码和模型基本不用修改就可以得到性能加速的好处。


四、高性能分布式梯度通信优化技术

技术分为三个大的方面,通信与计算的重叠,梯步传输是异步梯度传输,所以做计算和梯度通信时,可以重叠起来;

第二大方面的优化是延迟的优化,传输时需要检查每台 GPU 上的梯度是否 ready,原始方法是通过中心节点查看所有梯度,这样延迟开销比较高,所以优化是去中心的调节方式,通过分布式的方式获得每个梯度是否 ready;

第三个优化是带宽优化,是比较重要的方面,主要分为5个小点,

基于拓扑结构的分级通信优化,在 GPU 机器内部的 GPU 通信带宽是非常高的,机器之间的通信带宽是远远低于这个带宽的,所以做无差别的通信优化的话,整个通信的瓶颈会卡在机器之间,所以做分级优化,会现在机器内部的GPU之间做一级通信,GPU 机器之间做二级通信,

第二个优化是混合精度传输梯度,之前传输的是全精,在优化时可以有选择的转化为半精,这样传输数据量直接减少一半;

第三个是多梯度融合通信,在传输一些小梯度的时候发现它对网络带宽的利用率是非常低的,所以把很多小的梯度融合成大的梯度,这样通信对网络带宽的利用率是比较高的;

第四个优化是发现了在网络通信的情况下单流是无法打满带宽的,所以用多流优化,但是多流之间通信速率是有快有慢的,所以会导致负载不均衡,优化是在多流之间做负载均衡,通信快的流会传输更多数据,通信慢的流会传输更少数据,

最后一个优化是做动态调整,在训练开始的阶段做相应优化,下面的图中计算部分是绿色部分,通信是红色部分,红色部分一行代表一个流,开始只有一个流,中间有两个流,最后有四个流。之前的这些流负载是不均衡的,最后四个流的负载是均衡的。

image.png


五、AIACC-Training 性能优化结果

最常用的 ImageNet 128万张图片训练 ResNet-50的场景,训练90epoch,配置是8卡 P100,56vcpu , 25Gb VPC 网络在512张 P100上比单卡加速比达到了462倍,并行效率达到90.2%,接近线性的提升,如果单卡 P100训练需要5天,那512张 P100训练只需要16分钟。如果训练调整一个参数,之前可能需要5天的时间知道参数是否正确,现在可能只需要16分钟的时间,这样能大大加速算法研发的速度以及产品生产力的加速。

image.png

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
20天前
|
存储 人工智能 弹性计算
AI计算加速渗透、基础设施全面升级…云栖大会重磅发布全览
AI计算加速渗透、基础设施全面升级…云栖大会重磅发布全览
|
18天前
|
存储 人工智能 运维
重磅!阿里云可观测产品家族全新升级,AI +数据双驱动,打造全栈可观测体系
近日,阿里云可观测产品家族正式发布云监控 2.0,隶属产品日志服务 SLS、云监控 CMS、应用实时监控服务 ARMS 迎来重磅升级。
|
1天前
|
存储 人工智能 大数据
【一图看懂】云存储“4任意+3智能”升级,以数据驱动AI创新
阿里云围绕Storage for AI与AI in Storage两大领域,对其存储服务进行全面升级。
|
3天前
|
存储 人工智能 大数据
Data+AI双轮驱动,阿里云存储服务全面升级
近日,2024云栖大会现场,阿里云宣布对其存储服务进行全面升级,围绕Storage for AI与AI in Storage两大领域,提出“4任意+3智能”的升级方向,揭示存储与AI的双向赋能路径。阿里云存储产品将支持更多AI应用高效创新,同时AI也将助力基础设施迭代,助力企业更好地管理数据资产。
|
15天前
|
云安全 人工智能 安全
AI时代云安全新范式,阿里云安全能力全线升级!
AI时代,云安全面临着新的挑战,不仅要持续面对以往的传统问题,更需要全新理念落地于产品设计、技术演进、架构设计,才能实现效果、性能、和成本的最优解。
51 0
|
8天前
|
人工智能 自然语言处理 搜索推荐
AI技术在智能客服系统中的应用与挑战
【9月更文挑战第32天】本文将探讨AI技术在智能客服系统中的应用及其面临的挑战。我们将分析AI技术如何改变传统客服模式,提高服务质量和效率,并讨论在实际应用中可能遇到的问题和解决方案。
112 65
|
1天前
|
人工智能 Serverless
AI助理精准匹配,为您推荐方案——如何添加一个Stable Difussion图像生成应用
介绍了一种利用AI助手快速获取并搭建Stable Diffusion图像生成应用的方法。用户只需在阿里云官网向AI助手提出需求,即可获得详细的实施方案。随后,按照AI助手提供的方案,通过函数计算部署应用,并进行测试。此过程显著提升了开发效率。
28 1
AI助理精准匹配,为您推荐方案——如何添加一个Stable Difussion图像生成应用
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI技术在医疗领域的应用
【8月更文挑战第67天】随着人工智能技术的不断发展,其在医疗领域的应用也日益广泛。本文将探讨AI技术在医疗领域的应用,包括辅助诊断、个性化治疗方案和智能医疗设备等方面。通过实例分析,我们将了解AI技术如何改变传统医疗模式,提高医疗服务的质量和效率。
40 16
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在医疗诊断中的应用与挑战
人工智能(AI)在医疗领域展现出巨大潜力,尤其在医疗诊断中。本文将探讨AI如何通过深度学习、计算机视觉等技术辅助医生进行疾病诊断,提高准确性和效率。同时,分析当前面临的数据隐私、算法透明度以及监管等问题,并提出可能的解决方案。最后,讨论AI在未来医疗中的前景,强调其在个性化治疗和远程医疗中的潜在应用。
|
1天前
|
机器学习/深度学习 人工智能 自动驾驶
AI技术在现代生活中的应用:从理论到实践
AI技术在现代生活中的应用:从理论到实践
9 2

热门文章

最新文章