微软如何将Azure部署为“AI cloud”?
过去几年里,微软一直使用FPGA,以此提高必应(Bing)和Azure的性能和效率。但是,微软计划明年将为开发人员提供这种现场可编程门阵列(FPGA)处理能力,他们都能利用此种能力运行自己的任务,包括像深层神经网络(DNN)这样的密集型人工智能任务。
在春季的开发者大会上,Azure首席技术官Mark Russinovich概述了微软通过Azure云实现“硬件微服务”的宏伟计划。Russinovich向与会者说道,一旦微软解决了一些尚未平息的安全问题及其他问题,“我们将拥有我们认为是一个完全可配置的云”。
“这是AI cloud的核心,”Russinovich说道,“也是利用FPGA能力实现AI大众化的重要一步。”
FPGAs是生产后可自定义配置的芯片。微软的研究人员在FPGA领域已经做了十多年的研究工作。最近,微软已经将FPGAs添加到自己数据中心的所有Azure服务器中,并且在一些为必应索引服务器供能的机器中运用FPGA,作为Project Catapult工作的一部分。微软Azure Accelerated Networking服务,通常适用于Windows和Linux预览版,还可以在内部使用FPGA。
Russinovich表示,有关微软何时准备好为公司以外的客户提供硬件微服务和FPGA云处理能力,对此,公司尚未确定具体时间。
微软的硬件微服务基于英特尔FPGA(英特尔在2015年收购了FPGA制造商Altera)。结合Microsoft框架,这些芯片将为尤其适合大数据工作量的速度,效率和延迟方面提供进展。
微软还通过代号为“Brainwave”的项目专门研究DNN部件。微软公司在2016 Ignite会议上公开展示了BrainWave,当时微软公司使用BrainWave在FPGAs上进行大规模的语言翻译演示。
根据微软2016年可配置云计划的报告,BrainWave是一个深入学习平台,运行在基于FPGA的硬件微服务中。该报告在数据中心或互联网上提到“硬件加速即服务”。BrainWave可以根据需要通过若干FPGA分配神经网络模型。
微软并不是唯一一家在云数据中心指望FPGA的公司。亚马逊和谷歌都在使用定制硅片处理AI任务。亚马逊已经提供了用于编程Xilinx FPGA的FPGA EC2 F1实例,并为FPGA提供了硬件开发套件。谷歌一直致力于训练TensorFlow的深度学习模式,机器学习软件库,并研发了自己优先的Tensor Processing Unit芯片。