新闻中心

EEPW首页>消费电子>业界动态> 向硬件进军 微软人工智能时代押注FPGA

向硬件进军 微软人工智能时代押注FPGA

作者: 时间:2016-10-04 来源:机器之心 收藏

  一种全新的古老计算机芯片

本文引用地址://m.amcfsurvey.com/article/201610/310813.htm

  2010 年 12 月,研究院 Andrew Putnam 离开西雅图度假,回到了位于科罗拉多斯普林斯的家中。当时正是圣诞节前两天,他还没开始大采购。正在他开车去商场的路上,电话突然响了,另一端正是他的老板 Burger。Burger 当时打算节后面见 Bing 高管,但他需要一份能在上运行 Bing 机器学习算法的硬件设计。

  Putnam 找到最近的星巴克开始规划设计,这大约花了他 5 个小时,所以他仍有时间去购物。

  当时 Burger 45 岁,Putnam 41 岁,两人过去都是学者。Burger 曾在特克萨斯大学奥斯汀分校担任计算机科学教授,他在那里工作了 9 年,专攻微处理器,还设计了一款名为 EDGE 的新型芯片。

  Putnam 曾在华盛顿大学工作 5 年,担任研究员并主要从事研究。当时可编程芯片已经存在了好几十年,但它们大多被当作处理器的一部分。2009 年 Burger 将 Putnam 挖到,两人开始探索用可编程芯片提升线上服务速度的方法。

向硬件进军 微软人工智能时代押注FPGA

  Project Catapult V1,即 Doug Burger 团队曾在西雅图数据中心测试过的版本。

  微软的搜索引擎是一个依靠成千上万台机器运行的在线服务。每台机器都需要靠 CPU 驱动,尽管英特尔等公司不断改进它们,这些芯片还是跟不上软件更新的脚步。很大程度上,是因为人工智能浪潮的来临。

  Bing 搜索等服务已经超出了摩尔定律预言的处理器能力,即每 18 个月处理器上晶体管的数量翻一倍。事实还证明增加 CPU 并不能解决问题。

  但同时,为新出现的需求制造专用芯片,成本是非常昂贵的。恰好能弥补这个不足,Bing 决定让工程师制造运行更快、比流水线生产的通用 CPU 能耗更少、同时可定制的芯片,从而解决不断更新的技术和商业模式变化所产生的种种难题。

  圣诞节后的会面中,Burger 为必应高管们拿出了一套用 FPGA 提升搜索速度,同时功耗较低的方法。高管们不置可否。在接下来的几个月中,Burger 团队根据 Putnam 圣诞节时画出的草图构建了原型,证明其运行必应的机器学习算法时速度可以提升 100 倍。「那时他们才表现出浓厚兴趣」,当时的团队成员、现瑞士洛桑联邦理工学院院长 Jim Larus 告诉我们,「但同样也是艰难时光的开始。」

  原型是一个使用六个 FPGA 的专用盒,由一整个机架的服务器共享。如果盒子吱吱作响,表明它们需要更多 FPGA——考虑到机器学习模型的复杂性需求会越来越大——这些机器就会停止工作。必应的工程师非常厌恶这件事。「但他们没错,」Larus 说。

  正是这个原型吸引了陆奇。他给了 Burger 足够的资金,可以在 1600 台服务器上装配 FPGA 并进行测试。在中国和台湾硬件制造商的帮助下,团队花费半年时间制造出了硬件产品,并在微软数据中心的一组机架上进行测试。但一天晚上灭火系统出现了问题。他们花了三天时间修复机架——它仍能工作。

  在 2013 年到 2014 年的几个月中,测试显示必应「决策树」机器学习算法在新芯片的帮助下,可以提升 40 倍运行速度。2014 年夏天,微软公开表示要很快要将这些硬件应用到必应实时数据中心。但是在那之后,微软暂停了。

  不只是 Bing 搜索

  Bing 在前几年一直是微软线上发展的核心,但到 2015 年,公司有了其他两个主要的在线服务:商务应用套件 Office 365 和云计算服务 MicrosoftAzure。和其他竞争者一样,微软高层意识到运营一个不断成长的在线帝国的唯一有效方法是在同样的基础上运营所有的服务。如果 Project Catapult 将转变微软的话,那 Bing 也不能被排除在外。它也要在 Azure 和 Office 365 内部工作。

  问题是,Azure 高官们不在乎加速机器学习,他们需要联络的帮助。Azure 数据中心的流量跳动增长的太快,服务的 CPU 不能跟上脚步。最终,Azure 首席架构师 Mark Russinovich 这样一批人看到了 Catapult 能帮助解决这些问题,但不是为 Bing 设计的那种解决问题的方式。他的团队需要可编程的芯片,将每个服务器连接到主要网络,如此他们在数据流量到达服务器之前就能开始处理了。

向硬件进军 微软人工智能时代押注FPGA

  FPGA 架构的第一代原型是一个被一架服务器共享的单个盒子(Version 0)。然后该团队转向为每个服务器设计自己的 FPGA(Version 1)。然后他们将芯片放到服务器和整体网络之间。

  所以,研究 FPGA 的这伙人需要重新开发硬件。在第三代原型中,芯片位于每个服务器的边缘,直接插入到网络,但仍旧创造任何机器都可接入的 FPGA 池。这开始看起来是 Office 365 可用的东西了。最终,Project Catapult 准备好上线了。

  Larus 将许多重新设计描述为噩梦,这不是因为他们需要建立新的硬件,而是他们每次都需要重新编程 FPGA。他说,「这非常的糟糕,要比编程软件都糟糕,更难写、难纠正。」这是一项非常繁琐的工作,像是改变芯片上的小逻辑门。

  既然最终的硬件已经有了,微软还要面对每一次重新编程这些芯片时都会遇到的同样挑战。「这是一个看世界思考世界的全新视角,」Larus 说。但是Catapult 硬件的成本只占了服务器中所有其他的配件总成本的 30%,需要的运转能量也只有不到 10%,但其却带来了 2 倍原先的处理速度。

  这个布局非常大。微软 Azure 用这些可编程的芯片来路由、加密和压缩数据。Bing 占据着世界上 20% 的桌面搜索市场和 6% 的移动手机市场,在 Bing 上,这个芯片能帮助 Bing 适应新品种的人工智能:深度神经网络。而且据微软的一名员工说,Office365 正在尝试在加密和压缩上使用 FPGA 以及机器学习——这一举措将惠及其 2310 万用户。最终,Burger 说道,这些会驱动所有的微软服务。



关键词:微软FPGA

评论


相关推荐

技术专区

关闭