华为昇腾神经网络加速器性能评测与优化
华为昇腾是一款新型神经网络加速器.与GPU相比,昇腾加速器专门面向神经网络计算,设计了专用计算单元,核心算力集中在低精度,基于昇腾的软件栈与GPU有所差异.现有研究大多专注于GPU上的深度学习负载性能分析和优化,由于昇腾平台推出不久且具有新的体系结构特征,其实际表现仍有待探索.为深入挖掘昇腾的性能和优化方法,本文对其进行了系统性的评测和分析,包括:(1)基于标准数据集在四个端到端神经网络(ResNet、Transformer、DeepFM和LSTM)上对昇腾和GPU的性能和功耗进行了对比;(2)研究了昇腾上深度学习框架、算子和混合精度训练优化策略;(3)测试三个计算密集型算子(全连接、卷积和RNN)的浮点计算能力、硬件利用率和访存性能.评测结果表明:华为昇腾加速器适合进行稠密型神经网络工作负载,且功耗低于GPU;使用昇腾进行模型训练,需要将神经网络模型从32位精度量化到16位精度.针对昇腾的体系结构和编译软件栈特点,本文提出如下优化策略:深度学习框架开发时应进行整图编译构建,进行算子融合;算子开发时应合理设置分块大小,尽量使用低精度实现算子;模型训练时要合理设置混合精度参数.
深度学习、神经网络加速器、华为昇腾、高性能计算、评测基准
45
TP18(自动化基础理论)
国家重点研发计划;国家自然科学基金;国家自然科学基金;教育部产学合作协同育人项目
2022-08-24(万方平台首次上网日期,不代表论文的发表时间)
共20页
1618-1637