华为的鸿蒙麒麟系统有何区别:这就是华为速度 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版本的推理性能,在不同场景(分类、翻译、检测)下提升效果也非常不错:
△数据来源:昇腾
显然,无论是训练还是推理,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中可以直接调用算子函数,自动完成编译加载并执行:
△3.0版本
△5.0版本
再例如,相比3.0,5.0版本现在还能自动生成算子测试代码,省去不少步骤:
可以说是对开发者新人也很友好了。
然而,相比于表面带来的更高性能、更全面的功能应用,异构计算架构的性能优化,并不如想象中“随便调调参”一般简单,而是需要大量的技术支撑。
性能优化有多难?将原本需要跑上几天的模型训练时间,缩减到几小时甚至几秒,背后绝不仅仅靠的是硬件的堆叠。
其中CANN 5.0的一个关键技术,就是集群训练(采用大量机器共同训练模型,以加速训练时间)。
据金颖介绍,相对于单机训练,增加训练模型的机器数量,往往并不一定能收获线性的效率提升。
在训练过程中,多台机器虽然整体上拥有更多算力,但这些算力是分散的,彼此在进行数据交互的过程中,实际上又降低了训练效率,这也一直是集群训练的一个瓶颈。