在深度学习激发的人工智能热潮下,许多创新力很强的企业的人工智能技术正逐步从研究实验走向应用与生产,在这一过程中,AI计算系统设计与优化的重要性愈发明显。
同时算法的发展对整个计算需求所造成的挑战会变得更大,提高整个AI计算系统的性能与效率迫在眉睫。
在机遇与挑战的双重推动下,有创新力的AI企业会研发出怎样的产品去面对变革?9月20日,AI WORLD 2018世界人工智能峰会重磅发布AI领域年度大奖——AI Era创新大奖,评选出2018年度对AI领域作出重大贡献,切实推动AI进步和发展的人物、企业和产品。本次峰会上,浪潮AI服务器成功登榜「AI产品影响力TOP10」。
浪潮是知名的AI计算力厂商,致力于从计算平台、管理套件、框架优化、应用加速四个层次打造敏捷、高效、优化的AI基础设施。浪潮AI服务器采用创新设计,为AI研发与应用提供领先计算力,多款产品为业界首创,如全球首款在2U空间内高速互联集成8颗最高性能GPU加速器的服务器AGX-2、单机可实现支持16个GPU的超大扩展性节点的SR-AI整机柜服务器等。9月12日,浪潮又发布了一款AI超级服务器AGX-5,性能高达每秒2千万亿次,是目前全球最强大的AI计算主机之一。AGX-5也是浪潮在计算量剧增的挑战之下,追求更高研发效力的新成果。
在未来,AI计算系统将要面临计算平台优化设计、复杂异构环境下计算效率、计算框架的高度并行与扩展、AI应用计算性能等挑战。浪潮AI首席架构师张清在AI WORLD 2018世界人工智能峰会引用去年Jeff Dean报告里的一句话:“事实证明,我们真正需要的是超过现在100万倍的计算能力,而不仅仅是几十倍的增长。”
从计算需求来看,AI计算系统的设计与优化之路似乎任重道远。因此,为应对上述挑战,张清在本次峰会上从AI计算平台与算法的Co-design、AI计算平台管理、AI计算框架的高扩展性设计、AI实际应用性能优化这四个方面来分析了AI计算系统设计与优化方法。
下面就是浪潮AI首席架构师张清在AI WORLD 2018世界人工智能峰会上的演讲《AI计算系统设计与优化:从实验到生产》的主要内容。
张清:大家好!在深度学习激发的人工智能热潮下,很多AI创新力很强的企业的人工智能技术正逐步从研究实验走向应用与生产。在AI研究从实验到生产过程中,AI计算系统的设计和优化也是非常关键。今天我主要想从工程和系统角度谈谈我的想法。
浪潮主要围绕计算方面做了很多创新与研究,解决了不同行业、不同场景计算的平台和架构,其中包括产品和方案工作。在人工智能方面,浪潮也做了较多的创新。
截止到2018年,浪潮AI处于高速增长态势,AI增速达到600%,比全球150%增长速度幅度快很多,在中国市场,浪潮AI计算份额已达到57%。
在AI计算领域,浪潮不仅是提供基础的计算平台,除了像GPU、CPU服务器的供应之外,浪潮还会围绕AI全栈方案,给到用户关于系统管理的平台,例如AI Station,这包括性能分析工具Teye,以及高性能高扩展AI计算框架,针对垂直行业,浪潮也提供相关的AI应用方案。
人工智能仍是最热技术之一,AI计算领域愈发重要
在本次峰会上,很多专家探讨人工智能是否进入了寒冬时期这一问题?我个人的观点是:AI现在尚处于起步发展阶段,它仍是最热的一个技术。
从Gartner 2018年数据看到,全球人工智能市场商业价值一直处于高速增长趋势,到2018年,所催生的商业价值会达到1.3万亿美元,而未来将会达到接近5万亿美元。从技术成熟度曲线可以看到,未来2-5年会有大量AI技术实现从创新期到成长期的过渡,现在仍有很多AI技术处于爬坡发展阶段。
在推动AI发展过程中,有三大要素起着主导作用,除算法、数据外,计算方面也越来越重要。根据浪潮与IDC研究联合发布的《2018中国AI计算力发展报告》摘要版数据显示,2021年计算方面的投资将占到整个AI投资的近一半以上,2017年至2022年将会达到近6倍的增长。
接下来是关于AI计算的发展趋势,整个AI计算领域呈现了以下几大趋势:
● 模式:从科研实验到应用生产;● 规模:从单机计算到大规模集群或云计算;
● 架构:从通用CPU计算到定制化计算;
AI计算系统设计与优化迫在眉睫
但AI计算发展趋势演变过程中面临着巨大的挑战:随着模型所需的精度越高,所需的计算量也会呈现增长趋势。
引用去年Jeff Dean报告里的一句话:“事实证明,我们真正需要的是超过现在100万倍的计算能力,而不仅仅是几十倍的增长。”也就是说,对于未来的我们,算法的发展对整个计算需求所造成的挑战会变得更大,提高整个AI计算系统的性能与效率显得尤为重要。
以下是我们需要去考虑的三个方面的问题:
1.计算规模从单机到集群再到大规模云计算,规模呈量级、指数级增长,计算复杂度会越来越大;
2.计算架构从单一通用架构CPU+GPU到混合异构架构CPU+GPU+FPGA+XPU,如何在异构并行与协同计算方面考虑如何提升整体系统的效率也变得举足轻重;
3.系统环境方面,需要单一用户以及单一场景解决到现在多个用户、多场景复杂环境的构建,从而提升整个系统效率。
而从这三方面问题的考虑,实际上是对整个系统设计优化分四个层面:
1.如何对AI计算平台做一个合理的设计和构建以及优化;
2.随着资源变大、计算系统变得更复杂,AI平台管理设计与优化的重要性愈发明显;
3.需要更快的工具,即AI计算框架优化;
4.AI应用本身的性能优化和算法设计方面也需要得到重视。
AI计算平台的优化需结合模型算法、应用场景特点进行Co-Design
对于AI计算平台的设计优化,需要把AI分成训练和推理两大部分:
就训练方面而言,需要构建一个高扩展的计算平台,能够支撑大规模分布式的并行框架,让其扩展性更强。而整个系统涉及到网络、存储、IO的吞吐能否跟上计算,则是需要计算平台架构方面考虑到的问题。
围绕整个应用、算法、模型、网络的特点,例如有的模型参数比较密集,对我们系统通信要求比较高,有的计算性能要求比较高,则需要围绕性能方面考虑如何提升整个系统性能的能力,这里就需要从本身模型算法方面做一个Co-Design。
推理方面的复杂性比训练方面更高,它不仅体现在性能方面,更关心的是用户的体验。当对于大规模进行部署云计算时,我们需要考虑到它的运维成本,需要低功耗平台架构来做支撑。
基于这些考虑,浪潮计算平台围绕未来AI计算平台,更多是关心算法模型一些计算的特点,其应用场景的特点,来进行Co-Design的设计。我们在围绕不同场景方面打造计算平 台,试图能够更好地解决在特定场景下性能和延时、存储的问题。
9月12日,浪潮最新发布了AGX-5,它比浪潮上一代AGX-2整体性能会更高,计算性能可达到2 PetaFlops,并且会搭载16×Tesla V100最强GPU来加速性能。在支撑GPU互联架构方面,现在采用NVSwitch互联结构,可以支撑8对GPU,每一对GPU之间是300个GB/s,那么整个带宽会达到2.4TB/s。另外,相比于此前需要采用模型并行的方式来说,有一些模型在512GB之内不需要做模型并行,支持大模型的训练。
如何优化AI平台管理?计算资源需要做到共享与独享
AI不同项目之间,可能每个组之间有小的GPU训练平台,当规模达到一定量的时候,几百个卡或更大规模时,整个资源利用率实际上是很低的,可能低于50%以下。
由于AI应用场景越来越多,资源整合和整体利用也变得尤为重要。如何能够从整体上把这些资源进一步打通,对不同用户、不同应用进行资源配额优化?计算资源需要做到共享与独享。
在推理应用方面时,需要考虑计算资源的负载均衡策略优化。结合AI计算全流程,从数据预处理、开发、训练到推理上线,对一个平台的资源进行管理。
基于这方面,浪潮AIStation计算管理平台应运而生,它可以针对不同应用采用比较便于安装的方式,利用容器化的方式进行打包、安装和部署,只需一键便能实现。此前,部署一套框架需要1-2周的时间,并且需要靠人为方式去安装,而现在,靠容器方式就可以实现。并且也支持可视化调试,加快模型开发时间,并且实现整个计算资源的统一管理和调度。
从实际案例效果来看,没有部署AIStation和部署之后的效果对比相当明显:在部署前,整个GPU利用率只有40%,通过AI平台统一管理后,GPU利用率可以达到70%以上。整个作业调度吞吐从原来支持的200个以上达到600个以上,整个资源效率实现大幅度提升。
AI计算框架与AI应用性能优化
围绕AI计算框架,开源的框架很多,需针对性能和扩展性两个方面进一步做更深入的优化:
在计算方面,不仅仅是GPU满负荷运行,需实现CPU与GPU共同并行计算,进一步提高资源利用率,同时,围绕新的芯片架构的计算特点,采用混合精度或半精度计算,发挥计算芯片的效率;在通信方面,可以采用异步或半异步方式实现计算与通讯隐藏的优化,通过合并小数据,提升通信效率来提升整个通信效果;在IO吞吐方面,采取多线程的数据读取与预取机制。
在围绕AI应用性能的优化方面,针对训练端AI应用,需要从以下几个维度考虑:
首先需要进行应用性能分析;其次,对整个硬件系统、软件系统进行适配优化;另外,还需针对GPU架构特点、框架特点、网络算法特点进行优化。
例如,浪潮帮助某用户实现高性能人脸识别训练应用时,优化后性能与优化之前相比提升了2.6倍以上;而面对用户应用从消费级卡到工业级卡的升级,我们针对工业卡的特性也做了一些相关优化,相关应用性能提升了4倍。
而针对推理端AI应用性能优化,整个架构不仅仅是采用通用架构,如CPU与GPU,而是更多地开始关注定制化架构平台,如TPU或其他PU。而充分发挥定制化芯片架构的性能,则需要算法和硬件协同优化。
最后,我将进行简单地总结:如今,AI面临着巨大的计算挑战,提高AI计算系统性能与效率变得尤为重要,我们需要从系统的角度进行综合考虑。
而AI计算系统设计与优化需要从四大方面着手:
● 通过计算平台与算法、应用场景的Co-Design;● 通过计算平台管理优化,提升计算吞吐与并发;
● 通过计算框架的并行优化,提升扩展效率与性能;
● 通过计算应用自身的优化,提升应用性能。
原文发布时间为:2018-09-27
本文作者:AI WORLD 2018
本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。