升级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

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
17天前
|
机器学习/深度学习 人工智能 PyTorch
深度学习长文|使用 JAX 进行 AI 模型训练
深度学习长文|使用 JAX 进行 AI 模型训练
26 2
|
17天前
|
人工智能 API 流计算
[AI Stability] 开源AI新利器:Stable Diffusion 3 Medium震撼发布!文本到图像再升级!
探索 Stable Diffusion 3 Medium(SD3),Stability AI 的最新开源模型,正在彻底改变文本到图像的生成。了解其功能、许可选项和集成可能性。
[AI Stability] 开源AI新利器:Stable Diffusion 3 Medium震撼发布!文本到图像再升级!
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
|
1月前
|
人工智能 Serverless 异构计算
上海站丨飞天技术沙龙 Serverless + AI 专场开启报名!
"飞天技术沙龙——Serverless 技术实践营"将于2024年5月31日举行,聚焦Serverless在AI中的应用。活动包括演讲、实操,探讨Serverless演进趋势、AI应用开发及降低成本等议题。限额80人,报名审核制,现场还有大奖和证书待您领取。扫描链接<https://summit.aliyun.com/Serverless2024shanghai>报名。
上海站丨飞天技术沙龙 Serverless + AI 专场开启报名!
|
17天前
|
人工智能 Serverless 开发者
活动回顾丨飞天技术沙龙 Serverless + AI 专场(上海站)回顾 & PPT 下载
活动回顾丨飞天技术沙龙 Serverless + AI 专场(上海站)回顾 & PPT 下载。
活动回顾丨飞天技术沙龙 Serverless + AI 专场(上海站)回顾 & PPT 下载
|
1月前
|
机器学习/深度学习 人工智能 数据处理
如何通过端到端的训练策略提高AI在音频应用领域的应用范围?
【5月更文挑战第24天】如何通过端到端的训练策略提高AI在音频应用领域的应用范围?
94 1
|
1月前
|
人工智能
邀您参会丨飞天技术沙龙 AI 原生应用架构专场·北京站
飞天技术沙龙 AI 原生应用架构专场·北京站报名中。
|
1月前
|
人工智能 自然语言处理 搜索推荐
阿里通义千问的这次升级不仅带来了实实在在的利好,也为我们展示了AI技术的巨大潜力和广阔前景
【5月更文挑战第13天】阿里通义千问3月22日升级,开放1000万字长文档处理功能,成为全球处理容量最大的AI应用,超越ChatGPT等。此升级助力用户(如金融分析师、法律人士、科研人员)高效处理文档,提升工作效率,并推动AI在各行业深入应用,加速数字化转型。未来,通义千问可能发展更强大的自然语言处理能力、拓宽应用场景及提供智能个性化推荐,展现AI技术潜力与前景。
181 2
|
1月前
|
数据采集 机器学习/深度学习 人工智能
【AI 生成式】LLM 通常如何训练?
【5月更文挑战第5天】【AI 生成式】LLM 通常如何训练?
|
1月前
|
人工智能 安全 算法
AI与大数据:智慧城市安全的护航者与变革引擎
AI与大数据:智慧城市安全的护航者与变革引擎