当前位置: 代码迷 >> 综合 >> 微软Adam挑战Google Brain:我的机器学习比你快
  详细解决方案

微软Adam挑战Google Brain:我的机器学习比你快

热度:30   发布时间:2023-12-12 11:09:41.0

FROM: http://www.36kr.com/p/213737.html


人工智能(AI)是近年来很火的一个领域,Google、Facebook、苹果、微软等巨头都在发力。而可以帮助进行语音识别、语言翻译及提供计算机视觉的深度学习则是最近的新宠。

尽管苹果有Siri,Facebook成立了人工智能实验室,但业界普遍的看法是 Google 是人工智能领域竞赛的领跑者。因为最近有深度学习的领军人物 Geoff Hinton 的加盟,因为它展示过自己会自主学习的深度学习系统,也因为它与 NASA联合成立的人工智能实验 室等吸引人眼球的东西。在计算机视觉和语音识别方面,Google 还保持着几个记录。

但现在微软的研究团队要向 Google 叫板,我的深度学习系统 Adam 要比你的 Google Brain 快。微软称,在 ImageNet 22K 标杆测试上,Adam 在识别图像方面的熟练程度是之前系统的两倍,使用的机器则要少得多,仅为其 1/30。ImageNet 22K 是用来测试深度学习系统计算机视觉(自动识别图像能力)能力的数据库,共有 150 万张图片,图片类型多达 22000 种,此前只有少数系统能处理这么多类型,其中就包括 Google Brain,Google 的 Android 语音识别和 Google Maps 等的 AI 计算都要靠 Google Brain。

那么 Adam 是怎么做到的呢?

Adam 并不是在算法上进行突破,而是优化了机器数据处理方式,同时调整了机器的通信方式。Adam 是微软研究员 Trishul Chilimbi(Bing 的基础设施是他弄的)想出来的产物,其训练方式不太算是人工智能的科学,而是大规模计算机系统的艺术。

与深度学习系统类似,Adam 也运行于一组标准服务器(由微软 Azure 提供)之上。深度学习更加接近于创造了神经网络的大脑的运作方式,而这些神经网络往往需要大规模的服务器去模拟。Adam 的独特之处在于使用了异步(asynchrony)技术。

我们知道,随着计算机系统越来越复杂,系统的各个组件之间的信息交换变得越来越困难,而异步可以缓解这一问题。所谓的异步,指的是将系统拆分为基本能独立运行的各个部分,然后再把计算结果合并起来。合并结果在智能手机和笔记本上是比较容易实现的,因为计算可以分布到许多计算机芯片上,但是跨许多不同计算机实现这一点就没有神经网络那么成功。此前许多研究机构和公司(包括 Google 在内)都是靠大型异步系统来实现这一点的,而现在微软利用了威斯康星大学研发的一种名为“HOGWILD!”的技术来实现异步系统。

HOGWILD! 当初的设计主旨是让机器内的每一个处理器工作更加独立。甚至可以允许不同的芯片同时向同一个内存地址写入,即操作相互覆盖也没问题。对于大多数系统来说,这种做法是很糟糕的,因为会引发数据冲突,但是在一些情况下这么做是没问题的。威斯康星大学已经证明,在小型计算系统里,数据冲突的几率是很低的。这样的话,单台机器的速度可以显著提升。Adam 则更进一步,把 HOGWILD! 的异步应用到整个计算机网络上。

神经网络非常稠密,所有的机器都要向主服务器发送更新,数据冲突风险很高。但是由于这种更新往往都是递增性的更新,所以发生冲突的结果往往是一致的。举个例子,机器 1 可能要给某个现值为 5 的变量加 1,机器 2 则要给这个变量加 3,这种情况下,系统不会控制两台机器的更新次序,因为最后结果是一样的,都是 9。

这样一来,微软的神经网络在理解图像之类的东西是就可以快了许多且更精确。百度的深度学习专家Andrew Ng对此的评价是:

很有侵略性的做法,不过我知道为什么这种做法能省很多计算,好想法,很有趣。


令 Ng 感到惊讶的是,Adam 运行于传统的计算机处理器而非 GPU(图形处理器)上,后者往往是偏数学型计算的首选。许多深度学习系统都转向 GPU 以避免通信瓶颈,但是 Adam 却走了不同的路线。

神经网络需要大规模的数据,这种量已经超出了单台机器 CPU 的能力范围,所以才需要跨机器。用 GPU 可以更快地处理数据。问题是如果单个 GPU 或有多 GPU 的单台服务器无法容纳下整个 AI 模型的话,系统就会停转。因为数据中心的通信系统速率赶不上 GPU 处理信息的速度会导致数据拥塞。因此有些专家称 GPU 不适合扩展到大型神经网络上。Chilimbi 也持同样的看法。

不过,由于微软并没有公布优化网络的细节,业界的专家对于 Adam 如何实现微软所声称的性能提升并不知晓。

目前该项目仍处于萌芽阶段。微软内部用户可以通过手机抓拍一个对象之后提交给 Adam 让它来识别。微软研究院负责人 Peter Lee 称,他已经用 Adam 识别出了一种狗和一种害虫,目前该 app 尚未有面向公众推出的计划,但显然这种技术在电子商务、机器人和情感分析等方面都有广泛用途。微软内部也在讨论用 FPGA(现场可编程逻辑门阵列)提高 Adam 性能的可能性。

http://v.youku.com/v_show/id_XNzQwNzQ3Nzc2.html?firsttime=123


[消息来源:wired.com]


  相关解决方案