快捷搜索:  汽车  科技

华为的鸿蒙麒麟系统有何区别:这就是华为速度 2.69分完成BERT训练 新发CANN

华为的鸿蒙麒麟系统有何区别:这就是华为速度 2.69分完成BERT训练 新发CANN在便捷性上,5.0版本又进一步降低了开发者的使用门槛。此外,推理引擎还包括Ascend CL(Ascend Computing Language,昇腾统一编程接口)全栈能力调用,即使是多路复杂的音视频处理等特殊场景也能轻松应对,以及ACE(Ascend Computing Execution,昇腾计算执行引擎)运行管理等功能;至于在线/离线切换的推理模式,也让部署场景更加灵活。在功能上,CANN 5.0首次发布了昇腾推理引擎软件包ATC Suite1.0(ATC,Ascend Tensor Compiler,昇腾张量编译器),包括模型压缩、张量编译、智能优化和媒体预处理硬加速等能力。模型压缩,包括量化、稀疏、张量分解等工具。像其中的AMCT模型压缩工具,就能对浮点数据进行压缩处理,来降低模型大小,加速推理速度;智能优化,能为用户提供在线调优能力,包括图解析、子图/算子自动调优、模型编译优化

△数据来源:昇腾

训练以外,5.0版本的推理性能,在不同场景(分类、翻译、检测)下提升效果也非常不错:

华为的鸿蒙麒麟系统有何区别:这就是华为速度 2.69分完成BERT训练 新发CANN(1)

△数据来源:昇腾

显然,无论是训练还是推理,CANN 5.0都实现了更高效的任务调度和更好的性能提升。

功能上,CANN 5.0首次发布了昇腾推理引擎软件包ATC Suite1.0(ATC,Ascend Tensor Compiler,昇腾张量编译器),包括模型压缩、张量编译、智能优化和媒体预处理硬加速等能力。

模型压缩,包括量化、稀疏、张量分解等工具。像其中的AMCT模型压缩工具,就能对浮点数据进行压缩处理,来降低模型大小,加速推理速度;

智能优化,能为用户提供在线调优能力,包括图解析、子图/算子自动调优、模型编译优化等功能,进一步加速ATC的计算速度。

此外,推理引擎还包括Ascend CL(Ascend Computing Language,昇腾统一编程接口)全栈能力调用,即使是多路复杂的音视频处理等特殊场景也能轻松应对,以及ACE(Ascend Computing Execution,昇腾计算执行引擎)运行管理等功能;至于在线/离线切换的推理模式,也让部署场景更加灵活。

便捷性上,5.0版本又进一步降低了开发者的使用门槛。

例如,无需开发者手工修改代码,5.0版本支持模型自动迁移。

又例如,进一步支持混合编程。相比于3.0的手动加载模型,5.0版本在APP中可以直接调用算子函数,自动完成编译加载并执行:

华为的鸿蒙麒麟系统有何区别:这就是华为速度 2.69分完成BERT训练 新发CANN(2)

△3.0版本

华为的鸿蒙麒麟系统有何区别:这就是华为速度 2.69分完成BERT训练 新发CANN(3)

△5.0版本

再例如,相比3.0,5.0版本现在还能自动生成算子测试代码,省去不少步骤:

华为的鸿蒙麒麟系统有何区别:这就是华为速度 2.69分完成BERT训练 新发CANN(4)

可以说是对开发者新人也很友好了。

然而,相比于表面带来的更高性能、更全面的功能应用,异构计算架构的性能优化,并不如想象中“随便调调参”一般简单,而是需要大量的技术支撑。

性能优化有多难?

将原本需要跑上几天的模型训练时间,缩减到几小时甚至几秒,背后绝不仅仅靠的是硬件的堆叠。

其中CANN 5.0的一个关键技术,就是集群训练(采用大量机器共同训练模型,以加速训练时间)。

据金颖介绍,相对于单机训练,增加训练模型的机器数量,往往并不一定能收获线性的效率提升。

在训练过程中,多台机器虽然整体上拥有更多算力,但这些算力是分散的,彼此在进行数据交互的过程中,实际上又降低了训练效率,这也一直是集群训练的一个瓶颈。

华为的鸿蒙麒麟系统有何区别:这就是华为速度 2.69分完成BERT训练 新发CANN(5)

猜您喜欢: