Google的开源人工智能引擎预示着重大硬件变革

2015年11月9日,Google将其人工智能引擎(AI)作为开源项目发布到互联网上,作为最重要的创新项目之一,这显示了计算机软件行业正在发生着的变革。最近,互联网巨头们接二连三地公开自己线上的核心业务软件,这些开源加快了技术发展的进程。随着人工智能引擎TensorFlow的开放,Google能以多种方式为公司外的机器学习研究提供支持,这些研究成果同样也将反馈给Google。

同时Google的人工智能引擎也反映了当今计算机硬件行业的发展趋势。在Google内部,处理诸如图像识别、语音识别和语言翻译等任务时,TensorFlow依赖于GPU以及GPU集群。这些本被用于渲染游戏图像的芯片,也适用于其它工作,而智能引擎对这些芯片的依赖比想象中的更多。据GoogleAI项目工程师称,Google不仅仅只是训练模型,而且正在投入产品服务——将它们植入用户手中的智能电话。

这是一次重大的转变。目前,Facebook庞大的计算机数据中心虽然也用GPU集群训练人脸识别模型,但实际在社交网站上为用户提供人脸识别服务时,还是使用传统的CPU或CPU集群。Facebook首席技术官(CTO)指出,这种基本配置是目前的行业标准。但Google为了追求更高的效率,某些时候既使用GPU来训练AI模型,又使用GPU来执行模型。Google也非独辟蹊径,中国搜索引擎巨头百度也正在搭建一套类似的AI系统。百度首席科学家吴恩达(Andrew Ng)认为这是一次巨大的模式变革。

这一变革对于专注于GPU芯片的美国巨头NVIDIA公司而言是件好事。不生产GPU的Intel公司最近收购了一家专门生产FPGA的公司,因为一些互联网企业和研究所开始关注可编程逻辑阵列(FPGA),将它作为AI领域的GPU替代品。

在全球在线服务业务中,AI扮演着越来越重要的角色,随之而来的备选芯片架构在AI中的地位也水涨船高。目前,在提供线上服务的计算机数据中心里已然如此,可预测的若干年内,同样的现象也将出现在使用相同服务的移动设备上。

在Google、Facebook、微软以及百度等公司,GPU已被证明对“深度学习”非常有效,因为它可以并行处理许多小数据集。深度学习依赖于神经网络,一种模拟人类大脑中神经元的系统,这些网络可以用来快速分析大量数据。举个例子,为了训练神经网络识别一只猫,需要输入无数张猫的图像,而GPU即擅长处理此类任务。另外,它们的能耗也没有CPU那么高。

然而,这些公司在实际使用深度学习技术的手机App应用中,往往是由运行在CPU上的数据系统驱动的。根据百度高性能专家介绍,这是因为GPU只有在持续输入数据的情况下效率才比较高,而通常用来驱动手机App的数据服务器软件并不以这种方式向芯片传输数据。通常情况下,当收到手机App发来的请求后,服务器每次仅处理一个请求,而如果使用GPU并行处理收到的每个请求,则很难保证GPU有足够多的线程能够有效运行。因此GPU从未真正在实际中使用过。换句话说,如果能实现给GPU不断传入数据,那么其效率将比CPU高出许多。百度正在其新的AI平台上做此类尝试。总体而言,就是请求发送到数据中心,然后将多个请求打包传入GPU,使得每次不再只处理一个请求,而是多个请求。

目前还不清楚Google将如何处理这个问题。但是他们表示已经有TensorFlow在执行阶段使用GPU的案例。其发言人证实,基于不同的问题,有时候会把GPU既用于训练模型,又用于识别使用。

这似乎显得微不足道,但事实上却是一项大的改变。驱动这些AI应用产品的系统包括数以千计台的机器,而且这些系统在我们日常生活中的地位日益重要。现在Google的深度学习技术不仅用来识别照片、识别语音、机器翻译,还用来提高搜索质量。其它公司也将同样的技术用于精准广告投放、计算机安全,甚至理解自然语言的应用。即是说,像Google和百度这样的公司都需要极其大量的GPU。

与此同时,人工智能引擎TensorFlow将其中一些AI产品从数据中心移植到了智能手机上。通常,在使用手机端涉及深度学习相关的App时,不回传信息到数据中心是无法运行的。所有的AI都部署在服务器端。例如,在安卓手机上执行一个命令,此命令必须传到Google的数据中心,通过那里的庞大的CPU或GPU网络才能处理。

Google一直在提升自己的AI引擎,使得可以在手机端就自动完成某些任务。公司工程师表示,可以使用一个能在手机端运行的模型描述,而且不需要对模型描述或代码做实质性的改动。

Google的翻译App正是这样搭建的。Google在数据中心训练模型来识别单词和完成翻译,训练完成后App就能独立地运行,而不再需要网络联接。于是把手机对准一块法语路牌,就能立即显示出英语翻译。

这要做好其实很困难,毕竟手机的处理能力有限。随着时间的推进,越来越多的此类任务会被移植到手机端。深度学习软件会改进,移动设备硬件也在发展。有人认为,深度学习的未来是在小巧灵活的移动设备上。

于此呼应的是,GPU正在试图寻找置入手机的方式,硬件制造商也在不断改进CPU的速度和效率。同时,IBM也在开发专为AI任务定制的神经形态芯片,使用过的人觉得它非常适合移动设备。

如今,Google的AI引擎不仅运行在服务器的CPU和GPU上,还运行在常规的智能手机芯片上。而且据Google工程师称,他们开发的TensorFlow引擎能让工程师们轻而易举地迁移到其它硬件平台上。随着该引擎工具的开源,外部人员也可以使用,应该可以移植到更广泛的额外硬件上了。

综上可见,硬件行业也正经历着变革——和软件界一样日新月异。

原文发布于微信公众号 - 人工智能快报(AI_News)

原文发表时间:2015-11-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏MixLab科技+设计实验室

人工智能设计师v0.0.2

本文是DIY一个人工智能设计师_v0.0.1的升级版本。将结合推荐系统,梳理人工智能设计师的具体使用场景之一。 先看下近期人工智能+设计的热点事件: 下面是新榜...

3256
来自专栏Android 研究

PMI-ACP 敏捷项目管理6——交付价值与确认价值

交付价值贯穿敏捷项目执行始终。为了完成这个目标,团队应该利用精益的最大化价值交付活动和最小化浪费或者合规活动(非增值)原则。例如,一些组织中必需的但是不直接专注...

1544
来自专栏机器之心

资源 | GitHub上的五大开源机器学习项目

3987
来自专栏大数据文摘

业界 | 为什么你不应该成为一名数据科学通才

数据科学家似乎个个都是全才,他们知识面很广,即写的了代码,又分析的了业务,没事还能整个数学模型调调参数。

662
来自专栏量子位

为什么说产品经理都该懂一点机器学习?

李杉 安妮 编译整理 量子位 出品 | 公众号 QbitAI 一个普通(移动)互联网公司的产品经理,也需要懂机器学习?Quora的产品设计师Abhinav Sh...

3774
来自专栏软件成本造价评估

软件项目工作量估算中使用的功能点方法是什么?

简单的说,功能点方法是一种估算软件项目大小的方法,它是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国...

2476
来自专栏深度学习与数据挖掘实战

干货|程序员到机器学习工程师飞跃的实战经验

“我是一名软件开发工程师,阅读过一些关于机器学习方面的书籍和博客文章,也学习过一些在线的关于机器学习的公开课。但是,我仍然不知道怎么应用到工程实践中……”

682
来自专栏深度学习与数据挖掘实战

干货|程序员到机器学习工程师飞跃的实战经验

“我是一名软件开发工程师,阅读过一些关于机器学习方面的书籍和博客文章,也学习过一些在线的关于机器学习的公开课。但是,我仍然不知道怎么应用到工程实践中……”

591
来自专栏大数据挖掘DT机器学习

微博中的用户画像:微博中的用户模型

作者:@fengyoung 于2015小光棍节 原文:http://www.wbrecom.com/?p=588 社交媒体(Social Media)相对于传统...

3809
来自专栏深度学习与数据挖掘实战

程序员到机器学习工程师的飞跃

“我是一名软件开发工程师,阅读过一些关于机器学习方面的书籍和博客文章,也学习过一些在线的关于机器学习的公开课。但是,我仍然不知道怎么应用到工程实践中……”

682

扫码关注云+社区