这就是华为速度:2.69秒完成BERT训练!新发CANN 5.0背后技术公开( 三 )
文章插图
△图源:图虫
昇腾选择用图计算的原理,来分析集群训练的流水线分布、内存分配,针对不同机器的特点进行了架构上的设计,合理分配各个节点中的内存和通讯时间,来提高机器整体的计算效率。
具体来说,CANN 5.0版本在性能优化上,主要自研了4点技术:
其一,任务自动流水。
我们都在打游戏的时候感受过数据加载的痛苦,这是因为硬件需要一定的时间来“反应”,包括加载计算指令等,但在数据量大的情况下,这显然会极大地延缓整体计算时间。
5.0实现了计算指令和数据载入的多流水并行,载入数据满足分段数据量时,不仅启动后续计算逻辑、还保持数据继续载入,进一步“压榨”硬件处理器的并行计算能力,实现任务衔接。
其二,算子深度融合。
算子是支持AI模型训练与推理的基本运算单元及组合,异构计算架构基本都要有自己的算子库。5.0版本重新定制了更灵活的算子融合规则,通过多个算子自动融合提升模型训练效率。
其三,自适应梯度切分。
这项技术,是华为针对集群训练提出的智能梯度切分算法,具体针对模型训练中的迭代计算进行了优化。
CANN 5.0能通过智能梯度切分算法,自动搜索出最优梯度参数切分方式,让计算和通信进一步并行执行,使得通信拖尾时间降至最低、梯度调优时间降低90%。
其四,AutoTune智能计算调优。
不同的AI模型,如果架构只用一种方式进行计算分配的话,势必会造成不适配的情况。
因此,CANN 5.0研究出了智能数据切分技术,提出最优切分策略,确保每个计算单元被充分利用,平均性能提升30%以上。
5.0版本也预置了海量模型优化,能极大地缩短开发者的调优时间。
正是这些技术优势,让华为在AI性能提升上,拥有了更多的底气。
如何评价昇腾CANN 5.0?一方面,无论是AI模型、还是硬件层面的架构优化,都是AI技术走向更复杂的“通用化”的一个体现。
对于AI模型来说,更加通用的模型,并非仅仅是“参数越堆越多”的结果。
目前的通用AI模型,无论从训练数据、还是架构设计本身来看,技术上都还有许多亟待完善的地方:由数据带来的模型偏见、架构设计的冗余和不可解释性……
显然,AI模型面临的这些问题,不可能单纯通过“模型变大”来彻底得到解决。
对于硬件也是如此,当下AI行业对于算力需求的扩大,同样不可能只通过硬件的堆砌来填补空缺。
如何在单个硬件算力受限的情况下,充分利用每个硬件的性能,达到算力1+1=2甚至是>2的效果,是AI行业的每个参与者都必须思考的问题。
异构计算架构,是高效利用不同硬件算力的解决方案之一,对于它来说,通用化也是同样复杂的一个问题。
相比于单纯为某一场景、或某一功能而设计的专用异构计算架构,适用于全平台、全场景的“通用型”异构计算架构,从实现到优化上都要复杂得多。
这里的难度,不仅仅在于实现功能上的通用性,而是在同样场景下,将对AI模型的性能优化做得和专用架构一样好。
从这个角度来看,不可能存在一个“一劳永逸”的技术解决方案。
无论是AI模型还是异构计算架构,都必须不断推陈出新、打破自己和行业的固有认知,与时俱进,才可能在变幻莫测的时代浪潮中保持身位。
文章插图
△图源:图虫
另一方面,回过头看历史潮流,仅凭创新,也不足以让技术实现“可持续发展”,究其根本,还是要回归现实、解决实际应用问题。
- 加盟行业|原来加盟行业是这么玩的!
- 华为|别不信!魅族如今处境,雷军早有预料,小米也早已体验
- 小米科技|预算只有两三千买这三款,颜值性能卓越,没有超高预算的用户看看
- 苹果|苹果最巅峰产品就是8,之后的产品,多少都有出现问题
- 魅族|对不起!魅族,这次确实令人失望了
- 华为|问界M5风光无限,赛力斯SF5暗自神伤,华为或许低估了造车这事?
- 华为鸿蒙系统|华为偷偷上架新机,鸿蒙系统+5000mAh大电池,仅售1399元
- 东南亚|MIUI13深度使用报告,这还是我认识的MIUI吗?网友评价很真实
- 苹果|马化腾称,腾讯只是一家普通公司,这是谦虚说法还是有所顾虑?
- 5G|关于5G,华为赢了