CANN 6.0 来了,硬核技术抢先看
本文分享自华为云社区《昇腾AI异构计算架构CANN 6.0全新开放升级,全面释放AI生产力》,作者: 昇腾 CANN 。
在华为全联接大会 2022 期间,华为正式官宣昇腾 AI 异构计算架构 CANN 6.0 版本将在年底正式发布。
1 高度完善的生态满足度,满足全方位业务诉求
从 2018 年初露锋芒到 2022 年即将发布的 CANN 6.0 最新版本,CANN 在使能 AI 开发效率和性能方面持续保持业界领先。作为昇腾生态的锚点,CANN 6.0 版本基于发布全新升级的开发体系 2.0,在性能、开放性及易用性上持续提升,在开源算法支持、自定义算子开发、动态 shape 场景支持等方面全方位满足 AI 开发者的诉求,不断提升生态满足度。
作为昇腾 AI 基础软硬件平台的核心,CANN 搭起了从上层深度学习框架到底层 AI 硬件的桥梁,全面支持昇思 MindSpore、飞桨(PaddlePaddle)、PyTorch、TensorFlow、Caffe、计图(Jittor)等主流 AI 框架,提供 900 多种优选模型能够覆盖众多典型场景应用,兼容多种底层硬件设备,提供强大异构计算能力。
为满足开发者多层次 AI 业务诉求,CANN 提供统一的面向应用的编程语言 AscendCL(Ascend Computing Language)屏蔽底层处理器差异,支持 AI 应用开发、模型开发和算子开发,版本向上兼容,让开发者零感知版本升级,畅享 AI 开发的便捷性。
同时,随着人工智能应用深入更多场景,图片大小、语音长短等动态数据输入的需求不断增加,CANN 6.0 版本对动态 shape 的支持度不断提升,在新版本中,我们将会有 400+算子支持动态 shape,支持 80%的主流算子,极大提高了 AI 场景生态满足度以匹配客户更多的 AI 业务场景。
2 打造极简易用算子开发体验,高效使能 AI 开发者
经过数年的积累和优化,CANN 高性能算子库为支撑神经网络训练和推理加速而不断添砖加瓦,CANN 6.0 版本已经发展到 1400+高性能算子,可覆盖主流 AI 框架的算子加速需求。
算子库不仅支持高性能单算子执行加速,还支持入图技术,在图上通过算子融合减少计算节点和内存拷贝,进一步提升整网执行性能,以 Bert 网络为例,通过算子深度融合技术可将网络性能提高 50%。CANN 6.0 新发布的 Transformer 高性能加速库,针对网络典型结构精简 80% kernel 数,核心 kernel 性能提升 50%-150%,可匹配昇腾全系列处理器支持 NLP/CV 类全场景 Transformer 网络,并且兼具简易的继承开发及上层框架使用等诸多优点。
CANN 6.0 版本除了继续保持在典型模型上的性能优势外,还将重点在易用性方面进行提升。伴随算子自定义开发需求的增多,为了更加开放、高效的支持用户自开发,随新版本发布的开发体系 2.0,在算子开发方面推出原生支持 C/C++的算子开发语言,降低算子开发门槛,同时提供昇腾硬件亲和的数据结构,在保持性能的基础上提升用户自定义算子开发效率,使得算子开发效率得到倍级提升。
CANN 6.0 版本将会提供包括 11 大类在内的 70 个 DSL 算子编程接口、新增 11 类算子调度策略,从而使能更多算子采用简单的 DSL 方式开发,算子库中 DSL 算子覆盖度可达 80%。在开发易用性方面,开发者仅需完成计算过程表达,无需关心后续的 Schedule 创建、优化及编译等问题,因为这些操作将通过 Auto Schedule 自动调度接口快速完成。CANN 同时支持算子 Debug 调试、一键生成工程代码、自动编译部署到算子库、简化算子交付件等功能,基于全流程解决开发者痛点,最大程度降低算子开发门槛。
3 持续提升模型开发效率,实现模型下载即用
CANN 支持模型的自动化迁移、调测及智能调优,从真正意义上实现模型下载即用。CANN 6.0 版本下,主流框架 TensorFlow 和 PyTorch 的模型迁移成功率可达 80%以上,兼容主流三方库 Horovod/Keras/DeepSpeed 等。在此基础上还能方便地将那些随算法演进而开发的自定义 kernal 或 function 保留到框架侧执行,提升算法适配灵活度。
在模型调优方面,开发者不仅能借助一系列昇腾亲和 API 提升性能,还能通过智能化调优工具代替复杂的手工优化操作,CANN 6.0 版本的平均调优效率将较上一代提升一倍以上。
4 全系列 AI 开发辅助工具,扫除 AI 开发重重障碍
作为一个全面使能 AI 开发的软件平台,CANN 不但持续在 AI 模型适配、应用开发和算子开发方面给开发者带来便捷,更是从模型优化、系统分析、模型部署等多维度帮助开发者扫除重重障碍。
模型压缩工具 AMCT,能有效降低模型数据量和计算量,节约模型内存和带宽占用,提升计算性能;智能计算调优工具 AOE,其傻瓜式的自动寻优能力使得算法工程师从繁重的手工调优工作中解脱出来,并能够将调优进度和调优结果通过可视化方式直观展示;Profiling 工具则能自动采集整网性能数据,通过统计视图识别最耗时算子,在 CANN 6.0 版本中,可自动生成性能优化建议,引导用户快速解决问题;精度比对工具,支持整网或指定层数据 dump,CANN 6.0 版本中进一步精简 dump 数据量,更有效的辅助开发者快速定位异常算子。
智能大潮,奔涌向前,CANN 持续深入践行初心和使命,以大道至简的态度筑梦 AI 开发者!随着 CANN 6.0 版本的全新开放升级,必定带动更多伙伴及开发者基于昇腾 AI 和 CANN 的关键技术探索人工智能领域更多可能,点燃智慧创新热情,点亮智能美好生活,共同筑梦远方,共享行业数字未来!
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/e169a79e32155492724c54a62】。文章转载请联系作者。
评论