关于架构:CANN-50硬核技术抢先看

3次阅读

共计 2749 个字符,预计需要花费 7 分钟才能阅读完成。

摘要:2021 年 12 月,CANN5.0 版本也将与大家正式见面,通过软硬件协同优化,该版本将会实现训练性能再翻倍,凭实力展示 AI 畛域的「中国速度」!

本文分享自华为云社区《CANN 5.0 硬核技术领先看》,作者:kourei。

引言

2018 年 9 月,CANN 1.0 华为昇腾 AI 使能平台诞生;

2020 年 8 月,CANN 3.0 版本公布,作为专门面向 AI 场景的异构计算架构,搭起了下层深度学习框架和底层 AI 硬件平台的桥梁,开发效率和性能业界当先,可撑持用户全方位的人工智能计算诉求。

在最近一年中,CANN 携手 200+ 所高校 / 科研所,继续推动 AI 科研提高;

在 CANN 架构加持下,领有千亿参数的盘古 AI 模型带来前所未有的商业价值;

昇腾社区开发者数量从 10 万增长到 40 万,生态营垒的蓬勃发展…

2021 年 12 月,CANN5.0 版本也将与大家正式见面,通过软硬件协同优化,该版本将会实现训练性能再翻倍,凭实力展示 AI 畛域的「中国速度」!

先放几个彩蛋,让大家先睹为快!

核心技术铸就极致性能

CANN5.0 相比于 3.0 版本,在典型推理场景,性能可实现 30% 到 140% 的晋升;大规模集群训练及罕用模型训练,更可达到性能翻番;

CANN 5.0 性能大幅晋升背地的关键技术有哪些?

工作主动流水

计算启动时过长的数据载入操作会阻塞后续计算流水的启动速度,就好比手机充电电量达到 20% 能力开机一样让人无奈承受。

CANN 5.0 将计算指令和数据载入实现多流水并行,该优化容许用户对载入数据进行分段,当载入数据满足分段数据量时即刻启动后续计算逻辑,同时后续数据继续载入,当后续分段数据载入实现且流水闲暇时,顺次再启动后续计算,充分发挥昇腾 AI 处理器多流水并行能力,实现无缝多流水连接。

算子深度交融

随着网络结构的日益简单,数据在内外存搬运、以及多算子对应多指令带来的性能开销曾经越发不可漠视。

CANN 5.0 在 3.0 根底上辨认了更多的交融场景,通过多算子主动交融缩小计算节点数,无效缩小内存拷贝;并且通过灵便可定制的交融规定让计算图中的算子得以最大水平交融,为开发者博得了更多的计算性能收益。

自适应梯度切分

在大规模集群训练场景下,通常须要进行成千上万次迭代计算,每次迭代包含正、反两个方向的逐层前馈计算。

大部分同步更新算法要求,在下一轮迭代正向计算开始前,各计算节点间须要同步好梯度数据,实现权重更新。这就会导致在两轮迭代之间产生期待间隙,即通信拖尾。

CANN 5.0 通过智能梯度切分算法,主动搜寻出最优梯度参数切分形式,为梯度传输抉择适合的通信机会和通信量,最大限度让计算和通信并行执行,将通信拖尾工夫降至最低,可促使集群训练达到最优性能。

AutoTune 智能计算调优

就像咱们不能期待千篇一律的美颜相机可能润饰出一个绝世美女,相似地,对于不同的网络,如果全副采纳简略的数据切分策略,往往会导致计算单元无奈满载,性能达不到预期。

CANN 5.0 通过智能化数据切分技术,为网络量身定制一个最优的切分策略,实现单个计算单元满载计算,充分利用硬件资源,从而带来可观的性能收益。

同时为了解决调优耗时的问题,CANN 5.0 预置了海量模型优化规定,可大大降低调优时长,给用户带来卓越的调优体验。

升高开发者应用门槛

除了性能上带来的惊喜,CANN 5.0 更是在 3.0 根底上进一步简化了代码开发和调测办法,助力开发者实现高效 AI 开发。

反对模型主动迁徙 ,无需手工批改代码,一键式实现模型移植,即刻畅想昇腾 910 AI 处理器带来的磅礴算力。

反对混合编程 ,在 APP 中间接调用算子函数,主动实现编译加载并执行。

反对主动生成算子测试代码 ,并可一键式执行出后果。

使能超大模型,减速翻新

反对超大参数模型

近 2 年来,业界呈现了十分多的大模型,例如 GPT-3,参数量高达 1750 亿,独自一个大模型就须要月 3TB 的存储空间,而算力需要更是惊人。

为了解决模型“放得下”的问题,并且以一种敌对的、简直不必扭转原有代码的形式让用户应用,CANN5.0 在“AI 编译器”这个层面,在优化器、梯度、权重等各维度进行模型并行训练。

通过不同档次的模型并行,将本来放不下的模型,分布式地部署在集群上,并且可能以较高的算力利用率进行训练。以 83 亿的 Megatron 模型为例,从单卡 180GB 左右的内存需求量升高到 16G 以下,这样,超大模型就能够“放得下”了。

反对超大图片计算

除此之外,在某些利用场景下,还可能遇到超大输出数据规格的挑战。

比方遥感应用领域,往往须要从茫茫大海中定位到一艘船,从广袤天空里定位到一架飞机,随着观测技术的提高,这些遥感图像的空间分辨率越来越高,均匀可达 CHW:43000030000 甚至更高,单样本大小往往 2 -3GB,超大图片计算曾经成为了遥感利用产业倒退的「卡脖子」问题。

CANN 5.0 助力武汉大学打造寰球首个遥感专用框架 LuojiaNet,解决遥感影像“大幅面、多通道”的解决难题。试验证实,FCN8S 模型在解决遥感数据集(图像分辨率 3 万 * 3 万)时,精度晋升显著。这其中暗藏了大量关键技术:

  • 图片大,显存不够怎么办?

充分利用集群劣势,依据数据量和集群规模,实现图片主动切分,部署到各计算节点。

  • 特色跨度大,特色失落,边缘失真怎么办?

在以后切片的卷积运算前,主动计算出具备相邻切片特色的 overlap 数据,为以后切片提供上下文信息,保障图片精度。

  • 如何高效替换 overlap 数据?

借助高效的 alltoallv 算子在相邻节点间收发数据,实现无阻塞通信。

CANN5.0 依靠主动合成和并行技术,将超大模型的解决同一般模型一样简略,置信在 CANN5.0 版本的助攻下,肯定会促使 AI 产业一直减速翻新,迎来新的暴发期。

ModelZoo 全面反对业界支流模型

ModelZoo 是昇腾提供的一个优选模型库,其装载的模型可能间接在昇腾 AI 处理器上高效执行。目前 CANN5.0 全面反对包含 TensorFlow, PyTorch, ONNX 在内的业界支流模型 400+,同时算子齐备度大幅晋升。

开发者可移步昇腾社区 Modelzoo 进行体验。

合众之力,生态营垒蓬勃发展

CANN 作为人工智能根底软件平台,继续在根底能力和关键技术上一直冲破,但若想走的更远,唯有合众人之力。在过来的 1 年,CANN 面向开发者的生态全面开展:

迄今为止,昇腾社区活跃度较去年晋升 3 倍;以后已汇聚 40 万开发者,3 千外围开发者,并打算于 2022 年倒退百万开发者,1 万外围开发者;累计与超过 200 家高校钻研团队发展单干,众智我的项目奉献 200+ 个模型及 500+ 个算子。

聚是一团火,生态建设是使能 AI 产业继续倒退的原动力,通过凋谢、单干、共赢的形式,CANN 将一直携手合作伙伴,全方位、多维度撑持 AI 产业,助力人工智能凋敝倒退!

点击关注,第一工夫理解华为云陈腐技术~

正文完
 0