解读阿里巴巴AI“发电厂” :打造通用平台   GPU加持AI推理应用提速

智东西(公众号:zhidxcom)
文 | 司马特

上周NVIDIA发布了业界最先进的AI推理平台–NVIDIA TensorRT超大规模推理平台,其采用基于突破性NVIDIA Turing架构的 NVIDIA Tesla T4 GPU,以及一整套完整的新推理软件,这些产品针对强大、高效的推理进行的优化备受业界瞩目,这套全新数据中心推理平台,为语音、视频、图像和推荐服务带了值得期待的推理加速。

随着智能手机、智能音箱、智能摄像头等智能终端爆发,以语音交互、人脸识别、图像识别、机器翻译等为代表的AI服务开始大量涌入我们的生活与工作中,AI在推理侧的应用也在爆发。

每天,大规模数据中心都会处理数以亿计的语音查询、翻译、图像、视频、推荐和社交媒体交互。所有这些应用的处理过程都需要在位于服务器上不同类型的神经网络进行。

解读阿里巴巴AI“发电厂” :打造通用平台   GPU加持AI推理应用提速

所谓推理端是相对于训练端而言的,目前一项AI能力的打造大都需要拿大量数据来“喂”模型,来训练出一个可供使用的模型,然后将模型部署在服务器或者终端上,来做推理应用。

作为AI计算的领导者,NVIDIA也在不断推动适时推动为推理端的AI应用提供低时延、高性能的算力支持,保障AI服务的体验。

作为国内最大的电商平台以及云服务平台,阿里巴巴不但在AI应用的训练端大量使用GPU,近年来还将许多推理端AI能力构建在GPU之上。近期我们与阿里巴巴计算平台事业部机器学习平台PAI团队高级算法专家杨军进行深度沟通,看看阿里巴巴如何使用GPU构建AI全平台的超级火力“发电厂”。

阿里巴巴GPU部署国内前三

如果将一项AI应用比作一辆火车,那么服务器等计算平台就是“发电厂”提供能量,算法模型就是火车的“大脑”控制前进,模型框架、部署平台就是“轨道”,只有这三者协调配合,AI应用才能真正跑起来。

杨军所在的计算平台事业部扮演的是阿里巴巴AI“发电厂”的角色,他们搭建一个通用的算力平台,对不同的算法模型提供不同的算力,满足各项业务的发展。

智东西了解到,阿里巴巴计算平台事业部原本在阿里巴巴云业务下,后来阿里巴巴出于对该业务的重视,想在基础设施方面有更多的沉淀,就将其从阿里云独立出去成为一个独立事业部。

阿里巴巴计算平台的能力不但输出给阿里巴巴内部,也向外部的云上客户提供服务。我们了解到,该计算平台的能力首先服务于阿里巴巴内部,比如搜索、推荐、淘宝、安全部、广告之类的业务;另一方面,他们也会将能力在阿里云上输出产品,供长尾用户构建AI能力。

如果将阿里巴巴的计算平台比作一座“发电厂”,那么GPU就是高性能“燃料”,来支持AI应用的训练和推理。阿里巴巴从2015年开始采用NVIDIA的GPU搭建计算平台。杨军称,尽管搭建的起点不算太早,但阿里巴巴对GPU非常重视,投入也非常大,目前阿里巴巴GPU的采购总量在国内可排前三。

目前NVIDIA多个系列的GPU产品阿里巴巴都有使用,而在推理端,阿里巴巴主要使用Tesla P100、Tesla P4等GPU来做AI推理任务。

由于阿里巴巴计算平台面对不同的业务类型不同的算法模型,也要具备包容性与灵活性,能够根据不同的业务特点匹配所需的算力。这意味着平台必须要走通用化之路,阿里巴巴正在尝试通过编译器优化的方法进行解决。

杨军也谈道,部署计算平台最关注三个方面:第一,希望客户业务跑的足够快,更快的完成训练推理任务;第二,客户的资源使用效率更高,帮助客户节省资源;第三是透明性和智能化,客户只需要提交模型即可,剩下的由平台来完成,客户可以把更多精力聚焦在业务层面。

阿里巴巴下属的多个业务,都有着越来越好的用户体验,产品的创新速度也是层出不穷,在这背后就有着杨军所在的GPU计算平台的助力。在GPU的加持下,阿里巴巴计算平台支持着阿里巴巴旗下的安全内容审核、机器翻译等诸多业务AI推理应用都得以大幅提速。

通过编译器优化满足不同业务AI推理需求

在阿里巴巴通用算力平台中,面对阿里巴巴多元化的业务需求,它采用编译器优化的方法来满足不同业务对算力的需求。像图像识别、语音识别、机器翻译等不同任务在算力获取的细节上不同,阿里巴巴通过编译器优化的方法,将训练和推理任务变成一个编译优化任务,将高层次的语言描述变成一个底层可执行代码的过程。

杨军还介绍了一些他们在编译器优化方面的实践,不同的算法模型可以按照设备划分、业务场景划分,来进行优化。比如云端和终端上的需求是不同的, 对于终端的搜索推荐,时延要求非常苛刻,需要及时响应。

此外同一模型不同的业务场景需求也不同,比如针对机器翻译,类似拍照翻译这种交互式翻译,就需要低时延;而对于批量翻译,时效需求就没有那么强。阿里巴巴计算平台可以根据业务本身的需求,进行倾向性的优化。

杨军以图像识别举例到,他们设计了一个叫做PAI Blade的离线优化器,输入客户的模型和一些关注的选项,优化器会对模型进行分析,发现哪些模型适合用 TensorRT(NVIDIA推出的一种神经网络推理引擎)执行,哪些适合换成自己写的推理引擎来执行,通过不断迭代调优,来确保业务应用的性能符合预期。

“通过编译优化的技术,推理效果大概会有3倍提升,以一个业务为例的话,大概可以节省一百到两百张NVIDIA Tesla P100的卡,一张卡大概几万人民币,这是很高的成本节省”,杨军笑着说。

在使用GPU构建通用算力平台的过程中,如何保证模型快速迭代呢?当我们把这个问题抛给杨军后,他总结为“从业务中来,到业务中去”。

具体而言,一般他们需要先走进业务,贴身做一些手动的优化看看效果;然后从业务中走出来,去发现不同模型之间的共性,做一些通用的工作;当做到某一阶段后,还需要工作人员回到业务中,看看模型效果是否有效。他称,“通过这种方法,我们将模型不断迭代循环,让方案更通用,同时密切关注客户业务需求”。

NVIDIA一起推动AI在推理侧优化

对于通用算力平台而言,阿里巴巴如何充分释放GPU本身所能够提供的算力?杨军称,做平台首先要考虑的就是通用性,其次受限于业务特点,不同场景的利用率不同,有的业务与GPU也并非天然契合,这一方面需要内部快速解决,尽可能进行优化;另一方面需要反馈给NVIDIA,在下一代产品中提供更优更全面的解决方案。

杨军提到,“NVIDIA的芯片演进很快,但是前提要有一个足够好的GPU优化团队,GPU的使用是有门槛的,对于不了解的用户很难用到极致。”

目前阿里巴巴也在跟NVIDIA合作进行AI推理侧的优化。杨军透露道,在模型的推理优化中,可能TensorRT并不能完全适用于某些特定场景,阿里巴巴也在与NVIDIA协同开发,比如模型压缩部分自己来做,做完后也可以享受TensorRT中的效果,使之相互兼容。

而针对AI在推理侧需求的迅猛增长,杨军认为,未来阿里巴巴需要从三个方面增强计算平台的部署:

首先,在软件层面不断推广通用优化的服务,用通用的编译优化的方法来做这件事情;第二,通过系统和模型相结合的方法做优化,打通系统和模型之间的边界就能够看到更广阔的优化空间;第三,不断探寻硬件的边界,跟NVIDIA有更多的合作,通过产品迭代,将某些功能放到硬件层去实现。

结语:GPU推理侧应用将迎来大爆发

我们才刚刚跨过AI时代的门槛,可以预见的是,随着AI应用的大爆发,AI在推理侧的需求也将迎来大爆发。

而目前在CPU、GPU、FPGA等几种AI推理侧算力方案中,GPU以期通用性、低时延、高性能也逐渐受到各大AI公司的追捧,也在推理端扮演越来越重的角色。

行业也需要NVIDIA这种快速响应市场变化的公司,不断面向市场需求推出新的GPU产品,并与应用方一道针对应用场景充分释放GPU的能力,赋能更多行业。

解读阿里巴巴AI“发电厂” :打造通用平台   GPU加持AI推理应用提速