在北京,一家研发人员全部来自清华、斯坦福的人工智能初创企业——深鉴科技,正在研发一种新技术,让机器学习的“推断”效率得到最大的提高。
常听说机器学习分为“训练”和“推断”。前者是对模型进行训练,让模型更智能,一般在研发中心完成;后者是模型训练完成后,在数据中心进行生产部署。一般来说,95%以上的机器学习计算都用于“推断”,只有不到5%用于一开始的模型训练,各大企业如火如荼的机器学习“训练”,着实让一家芯片企业——英伟达——变得炙手可热。这家企业提供的GPU(图形处理器)特别擅长模型训练。但到了“推断”阶段,情况发生了变化。如果说机器学习的“训练”需要非常高的性能,关注浮点运算,功耗很高的话,那么“推断”这种大规模部署,就必须大幅提高效率,降低能耗。而英伟达确实还没有大规模生产部署的成功例证。
当机器学习大规模应用
深鉴科技的研究是为了加速机器学习的生产部署。它将精简过的神经系统模型进一步压缩,变成更小的模型,来提高运行效率。
“不仅如此,深鉴科技的一项工作处于业界尖端——他们研究怎么在数据精度降低后,最小限度地损失模型的精确性。”赛灵思战略与市场营销部高级副总裁SteveGlaser说,“以往精度降低的数据类型,对机器学习在大规模运行,尤其是超大规模运行时,有非常大的影响。”
今年夏季,深鉴科技在硅谷召开的重要技术会议Hotchips上公布研究结果,他们的方法在机器学习推断方面超过了GPU的速度,而能效却比GPU高10倍。
深鉴科技的研究基于赛灵思的FPGA(现场可编程门阵列)芯片。这是一种可以通过反复编程执行特定任务的芯片。这个在机器学习大规模部署方面的研究令赛灵思兴奋不已。
不仅如此,2016年10月,百度宣布采用赛灵思FPGA芯片,来加速他们的机器学习进程,涉及语音和汽车应用。同样在Hotchips会议上,百度研究人员公布,他们发现用赛灵思FPGA可以加速序列数据分析,提速达到10倍。
更令赛灵思振奋的是,亚马逊AWS这个全球最大的公有云企业,在11月底美国拉斯维加斯举办的一年一度的re:invent大会上,宣布选择赛灵思FPGA,发布它的F1计算实例服务,这是一种由2个CPU和8个FPGA组成的计算类型,支撑的应用多为大数据分析、视频分析和机器学习。目前FI计算实例已开始预览服务,明年早些时候在全球公布。
芯片探索从未中断
伴随人工智能规模应用的尝试和推进,而传统CPU芯片成本昂贵,功耗密度有局限,市场上出现了各类芯片技术。
今年中,谷歌宣布专门为人工智能设计了一款自己的芯片TPU,它更适合运行谷歌人工智能系统TensorFlow,这个系统也是AlphaGo的基础。TPU是一款专用芯片,能在更低能耗下,在更短时间完成更多任务。
谷歌认为,对机器学习来说,现在火热的GPU不够专精,毕竟GPU在设计之初不是针对人工智能用途的,而是针对游戏和其他图形密集型应用。谷歌认为,定制芯片可以进一步提高效率。
另一种芯片是FPGA。微软已测试FPGA在机器学习领域的运用,英特尔为此花费167亿美元收购FPGA芯片供应商Altera。而赛灵思目前是市场上独立的FPGA供应商,其产品更迭更领先一筹。
“谷歌的定制芯片只用于执行某项任务,它的应用广度远远不能满足超大规模数据中心的要求。”赛灵思SteveGlaser说,“人们使用的应用越来越多,数据中心也要为此部署越来越多的应用,还要适应应用不断变化的数据和性能。”
不过,FPGA目前要解决的最大瓶颈是它的开发便利性。过去,FPGA应用在通信、航空航天等高端应用领域。现在,它要更适合广泛的开发者,特别是嵌入式及大规模数据中心的应用。针对数据中心应用,赛灵思最近推出了可重配置的加速堆栈。“加速堆栈”的推出意味着赛灵思提供的不止是FPGA,它还提供优化的数学函数库与应用函数库、软件框架实现方案、支持OpenCL和C/C++等高级语言的工具、便于配置和管理的Openstack支持,以及预期的加速器板参考设计。
赛灵思期望借助这个新型的、用于数据中心工作负载加速的可重配置加速堆栈,加速FPGA在数据中心中的更广泛应用。该产品专为世界最大的数据中心而设计,例如阿里巴巴、亚马逊、百度、Facebook、谷歌、微软和腾等“超七大”数据中心公司。赛灵思的战略是既要充分利用FPGA的灵活性、性能和计算效率,同时又要让该技术随着业务需求变化易于开发、部署和演进。
“这并不是一个交钥匙工程,但我们也替大规模数据中心的开发者和管理者完成了80%的工作,还有20%有待他们优化、细化,来实现他们定制化的目的。”SteveGlaser说,“我想这是一个开端,但现在还没完全达到我们的目标。”
产业界的探索从未中断,可能等到一些年后才能知道什么是最佳的方案,毕竟,人工智能这个概念本身也在继续进化中。
SteveGlaser
机器学习大规模部署的研究,很多基于赛灵思芯片,让这家企业兴奋不已