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

近期小米官方宣布,截止到7月底,小米AI助理小爱同学月活跃设备超过3000万台,今年7月小爱同学唤醒超10亿次,累计唤醒超50亿次。围绕小爱同学,小米AI能力已经全面落地小米和小米生态数百款产品,包括小米手机、小米电视、智能音箱、儿童手表、翻译机等。

小米以及小米生态的众多智能设备,形成了AI在推理端的大量应用。小米也依托英伟达GPU,围绕语音、图像等AI应用打造了自身的算力平台,构建自己的AI能力。

近期,我们与小米人工智能与云平台语音组负责人王育军和小米云服务负责人李海峰进行深入沟通,看看小米如何构建自己的GPU平台,以及如何推动AI应用的不断优化。

一、从0到1搭建AI能力

小米从2016年开始搭建深度学习平台,最初在选择服务器方案时,就选择了英伟达的GPU。小米又结合图像等3种典型AI应用,最终锁定在英伟达Tesla P40/M40/P4系列GPU,包括后来英伟达推出的Tesla V100上。王育军介绍道,目前英伟达Tesla V100、Tesla P40等GPU都用于AI算法模型的训练,Tesla P4则用于语音等线上的AI推理。

在小米内部,所有的AI能力基本都在小米人工智能与云平台部完成,它可谓是小米的“大脑”,已具备语音技术、人脸识别、图像识别、机器翻译等能力,驱动着小米以及生态链众多智能硬件的智能化交互。

比如王育军所在的团队是小米人工智能与云平台部下的语音组,该团队成立于2017年2月份,经过近一年半的发展,目前小米语音组已经形成语音识别、声纹识别、语音唤醒、语音降噪以及语音合成等AI能力,这些能力都被集成到小米的AI助理小爱同学中。

小米AI音箱

王育军介绍了他们近一年来取得的成果,比如目前电视场景的语音识别已经达到98%的句正确率,在声纹识别的性别识别方面,目前准确率也达到了97%。

去年7月份,小米推出小米AI音箱,当时所使用的语音技术,除了NLP(自然语言处理)外,前端的信号处理,后端的语音合成都是整合其他家的技术。王育军指出,随着小米这些AI技术相继成熟,也会上线和其他家的技术共同工作。

李海峰所负责的小米云服务,最初是面向消费者提供图片的备份、存储等云服务,后来也逐渐将人脸识别、图像识别、OCR(光学字符识别)、表情识别等能力集成进来,将图像的能力落地到小米手机、小米电视等产品中。

二、依托GPU 半年远场语音识别率达93%

最初小米AI音箱刚发布的时候,它采用了近10家厂商的语音识别技术,包括猎户星空和思必驰等,整合各家的技术,谁的语音识别效果好就用谁家的。

关于这背后的工作逻辑王育军介绍道,针对语音交互,反应要快。对于同一个任务,我们将识别最快、识别最准,采信为最终识别结果。

等智能音箱运转起来后,小米又通过海量的用户数据不断迭代,小米语音识别的优势就呈现出来。他透露道,目前语音识别主要使用的是小米和猎户星空的技术。

语音识别也是小米目前打造最为成功、最为典型的AI应用。相比市面其他语音识别团队,小米语音团队成立时间较晚,但凭借开源框架、数据的优势以及英伟达GPU的助力,目前后发的优势已经呈现。正如王育军所言,尽管团队成立比较晚,但先进的算法框架都使用了

最初,小米语音团队基于开源框架来打造自身的语音识别模型,通过开源框架来保证算法的先进性,并通过提交自身优化好的模型来反向回馈开源社区。

语音识别模型的上线大致经历两个阶段,第一个阶段是在云端进行训练,第二个阶段是将训练好的模型部署在服务器上,根据用户的终端请求完成推理工作。

在模型上线初期,小米基于开源框架,从场景需要的基础数据出发,复用产品数据或者进行数据仿真,通过对初期数据的训练,搭建起语音识别的基础能力。但在去年6月份上线之初,小米远场语音的识别率仅有60%左右。

然后,小米语音团队依托电视场景10万小时的语音数据,花了2周进行数据抽取,又花了2周做数据的自动标注,从中标注出八千小时的语料数据。王育军笑称,只是这一步就直接使语音识别正确率达到93%,可谓“得电视者得语音识别”。

随着模型上线之后,用户的实际需求也随之而来,小米语音团队通过对新产生的数据进行自动标注,经过近两个月的迭代,就可以做出一个精致的语音识别模型。

王育军继续介绍到,这时再拿出两千小时的语料进行人工标注,经过近半年的迭代,小米的语音识别体验就达到更好了,目前在智能音箱场景下可以句正确率可达93%,与阿里、百度处在同一阵营。

面对庞大的推理侧AI应用,小米在算力上也面临巨大挑战。他谈道,随着数据体量的增加,算法架构上的瓶颈就呈现出来,比如数据存储会造成线上推理的瓶颈。后来,他们将TensorRT(英伟达推出的一种性能神经网络推理引擎)部署到基于Tesla P4的服务器上,并对语音识别算法进行改写,通过架构的优化,把算力释放出来。效果比之前提升了3倍,目前我们GPU的利用率能够达到70%”,王育军表示。

通过语音识别模型的打造,他总结道语音识别需要从3各方面着手:在算法研究层面,要保持对最新技术的追踪,目前小米能够保证每年2片的前沿论文研究;在数据层,小米有众多场景的数据,这是小米最为明显的优势;在架构算力层,小米还需要进一步对算法框架进行优化,充分释放GPU所带来的算力。

三、部署TensorRT 小米图像识别效率提升5倍

与语音识别不同的是,小米云服务的人脸识别技术引入较早,最初是用CPU来做的推理任务,后来小米进行机房改造,部署英伟达的GPU,也改用GPU来做图像识别业务。

2015年,小米云服务就在MIUI 7相册功能中较早引入人脸识别技术,可以自动将类似的面孔的照片进行分类呈现。近年来,小米云服务在相册中不断上线了图片搜索、图片分类、OCR、表情识别等AI应用。目前,小米云服务已存储250PB数据,采用深度学习在系统相册中做人脸识别也日趋完善。小米云服务负责人李海峰表示,未来小米云服务希望每月上线一个全新算法,让AI深入生活。

小米人脸识别技术应用

作为具体业务部门,小米云服务在使用算力平台时更注重业务的匹配性和成本考量。比如像OCR、电视场景的图像识别对时延要求高,小米会更多选用GPU来做AI推理。

▲小米云服务负责人李海峰

小米云服务负责人李海峰谈到,目前通过英伟达GPU的加持,相比CPU,小米在OCR识别速度上大概提升10倍,在电视场景的明星识别速度上提升了3~5倍。

通过英伟达Tesla P4在小米AI推理端的应用,他总结道,P4有两大核心优势,一方面是使AI应用推理的延迟变短,增强用户的体验感;另一方面P4功耗比较低,使得服务器的整体成本得到下降。

四、GPU在神经计算上比CPU快24倍

AI推理应用方面,目前的算力方案大致有3个流派,分别是CPUFPGAGPU。对于GPU相对其他两个流派的优势,王育军表达了自己的看法。

目前CPU在推理应用方面已是过去时,它的算力不足,需要部署大量服务器,运维成本太高,正逐渐被淘汰掉。

第二个流派是FPGA,比如国内百度和科大讯飞也有部分语音应用用FPGA的方案来做。FPGA使用得当可以节省成本,但其局限在于需要定制化、迭代性差,FPGA的开发周期通常要18个月,另外如果推理端的应用较为多元,FPGA的算力未必能能够充分释放出来,会导致应用成本的升高。

第三个流派就是GPU。目前小米使用英伟达的Tesla P4 GPU来做推理,王育军称,英伟达的GPU最为通用,它就是为神经网络计算而诞生的,天然支持大量开源框架,并且买来只需要很少改动就可以使用。它的效果在神经计算上比CPU24倍,整体效果实测下来要比CPU3倍。

GPU应用在AI推理侧,除了延迟低的优势外,王育军还从运维的角度谈到,相对CPU服务器而言,1/4数量的GPU服务器即可完成等量的AI推理计算任务的处理,使服务器硬件成本及数据中心空间,能耗等整体的TCO及管理成本都有很好的节省。

随着推理端需求越来越大,王育军称小米会部署更多的GPU服务器来提供足够的算力;另一方面会重点优化算法架构,将服务器的计算量降下来,提升服务器的处理能力。

zhidx