升级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盲盒。
相关文章
|
21天前
|
人工智能 Cloud Native 数据管理
媒体声音|重磅升级,阿里云发布首个“Data+AI”驱动的一站式多模数据平台
在2024云栖大会上,阿里云瑶池数据库发布了首个一站式多模数据管理平台DMS:OneMeta+OneOps。该平台由Data+AI驱动,兼容40余种数据源,实现跨云数据库、数据仓库、数据湖的统一数据治理,帮助用户高效提取和分析元数据,提升业务决策效率10倍。DMS已服务超10万企业客户,降低数据管理成本高达90%。
|
17天前
|
人工智能 算法 程序员
程序员如何借势AI提高自己:从高效工作到技能升级的全面指南
【11月更文挑战第4天】程序员可以通过以下几个方面借势 AI 提升自己:1. 日常工作效率提升,包括智能代码编写与补全、自动化测试与调试、项目管理与协作;2. 技能学习与升级,涵盖基础知识学习和深入技术研究;3. 思维拓展与创新能力培养,激发创意灵感和培养批判性思维。
|
20天前
|
机器学习/深度学习 人工智能 编解码
全面升级的“新清影”,给AI生成视频带来了哪些新玩法?
智谱清言App近日上线了“新清影”,并开源了最新的图生视频模型CogVideoX v1.5。相比之前的版本,“新清影”在视频分辨率、生成速度、多通道生成能力和模型性能等方面均有显著提升,支持生成10秒、4K、60帧的超高清视频。此外,即将上线的音效功能将进一步提升视频的逼真度和实用性,标志着AI视频创作进入“有声时代”。这些改进使得内容创作变得更加高效和便捷,为创作者提供了更多可能性。
|
22天前
|
存储 人工智能 安全
【通义】AI视界|苹果停止签署iOS 18.0.1,升级用户无法降级
本文由通义自动生成,涵盖24小时内精选的五条科技资讯:奥特曼谈OpenAI未来发展方向,ChatGPT新搜索功能上线遇故障,Perplexity AI选举搜索面临挑战,马斯克谈特斯拉造手机的可能性,以及苹果停止签署iOS 18.0.1。更多精彩内容,欢迎访问通通知道。
|
10天前
|
存储 人工智能 大数据
面向 AI 的存储基础设施升级
AI 与大数据融合化是大势所趋,企业可以通过大数据技术收集和存储大量数据,进行一站式计算分析和数据治理,以便安全、精确、高效、智能地应用数据。在这个话题中,我们将会介绍阿里云全栈存储数据基础设施如何支撑 AI 场景的创新与实践,并带来全新一代存储产品的重磅发布,帮助企业高效数字创新。
|
3天前
|
机器学习/深度学习 人工智能 算法
AI技术在医疗诊断中的应用及前景展望
本文旨在探讨人工智能(AI)技术在医疗诊断领域的应用现状、挑战与未来发展趋势。通过分析AI技术如何助力提高诊断准确率、缩短诊断时间以及降低医疗成本,揭示了其在现代医疗体系中的重要价值。同时,文章也指出了当前AI医疗面临的数据隐私、算法透明度等挑战,并对未来的发展方向进行了展望。
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
2024年,AI大模型在软件开发领域的应用正重塑传统流程,从自动化编码、智能协作到代码审查和测试,显著提升了开发效率和代码质量。然而,技术挑战、伦理安全及模型可解释性等问题仍需解决。未来,AI将继续推动软件开发向更高效、智能化方向发展。
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
AI在医疗领域的应用及其挑战
【10月更文挑战第34天】本文将探讨人工智能(AI)在医疗领域的应用及其面临的挑战。我们将从AI技术的基本概念入手,然后详细介绍其在医疗领域的各种应用,如疾病诊断、药物研发、患者护理等。最后,我们将讨论AI在医疗领域面临的主要挑战,包括数据隐私、算法偏见、法规合规等问题。
40 1
|
7天前
|
机器学习/深度学习 人工智能 算法
AI在医疗诊断中的应用
【10月更文挑战第42天】本文将探讨人工智能(AI)在医疗诊断中的应用,包括其优势、挑战和未来发展方向。我们将通过实例来说明AI如何改变医疗行业,提高诊断的准确性和效率。
|
8天前
|
存储 人工智能 搜索推荐
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
Memoripy 是一个 Python 库,用于管理 AI 应用中的上下文感知记忆,支持短期和长期存储,兼容 OpenAI 和 Ollama API。
44 6
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
下一篇
无影云桌面