从识别猫到厨房机器人:探究英伟达的人工智能之路

3 月 2 日 网易智能菌

选自:WIRED 

编译:网易智能 参与:晗冰


英伟达位于西雅图的1200平米人工智能机器人研究实验室里,一小群研究人员正在努力开发人工智能,驱动公司的未来。厨房工作台旁的一只机械手臂正举起一罐食品把它放进抽屉里。除此之外,它还学会了如何清洁餐桌,如果你请求恰当,它甚至可以帮你做饭,而这些都是英伟达雄心勃勃的人工智能总体规划的第一步。


01

进军人工智能领域


英伟达的人工智能机器人实验室于今年年初成立,目前拥有28名员工,共可容纳50名研究科学家、教师顾问和实习生。著名机器人专家、英伟达机器人研究高级主管、华盛顿大学教授迪特尔·福克斯(Dieter Fox)领导的实验室旨在开发能够与人类安全合作的下一代机器人,并有望改变制造、物流和医疗保健等行业。机器人领域也是人工智能面临的众多重大挑战之一。在那些畅想未来的科幻小说中,机器人不仅擅长完成非常具体的任务,而且能够表现得像人类一样。


但实验室的这种机器人所展现的也是一种复杂的屈伸运动。这是一个引人注目的演示,有效展示出英伟达的硬件和软件当前能够完成哪些功能以及未来能做什么。从另一方面说,这也是该公司期望在人工智能技术竞争日趋激烈情况下领先一步的最新决策。


自2005年起,英伟达开始优化用于人工智能的GPU,这是科技硬件历史上最明智的商业决策之一。但现在面对日益激烈的市场竞争,巩固这一领先地位将是英伟达25年来面对的最艰难考验之一。


英伟达的最新实验室配备了机器人有可能在现实世界中遇到的各种设备和现实环境。第一个场景是一个简单的厨房,机器人厨房助手结合人工智能和深度学习技术检测和跟踪物体,了解门和抽屉的相对位置,还能够打开和关闭它们从而取放物体。福克斯说:“过去机器人技术研究的重点是小型独立项目,而不是完全集成化的系统。”“我们现在正组建一个由机器人控制和感知、计算机视觉、人机交互和深度学习等领域专家组成的跨学科合作团队。”


西雅图的研究小组得到了来自英伟达在圣克拉拉、马萨诸塞州西部、多伦多和特拉维夫所设其他研究中心的大约60名研究人员的协助。这种多学科的研究方式有一个极其困难的目标:英伟达试图展示其人工智能硬件和软件可以将机器人从现在这种可以按照严格指令操作的精确定位机器转变为动态和灵活的机器,能够安全地与人类一起工作。


谷歌驻柏林的人工智能研究员萨米姆·瓦格纳(Samim Wagner)认为,英伟达之所以要自行开展研究,主要原因之一是打造更好的人工智能硬件,然后再卖给其他人。他表示:“为了给机器学习开发可行且具有竞争力的硬件,英伟达在战略上被迫进行高质量的机器学习研究。该公司与游戏和娱乐行业的一贯联系,为其机器学习研究提供了一个焦点,这也是成功的关键。”这也从一方面解释了为什么在英伟达的研究实验室里会有这么多奇怪的实验。


英伟达首席科学家兼高级研究副总裁比尔·戴利(Bill Dally)在谈到厨房机器人助手时表示:“现在我们正在进行深入研究,让机器人与环境进行互动成为可能。”“既然我们可以打造感知系统,就可以打造定位灵活的机器人。”


与英伟达的机器人实验一样,深度学习让人工智能系统能够解决以前不可能解决的问题。通过反复试错,其已经在数字助手、计算机视觉、语言翻译、聊天机器人、人脸识别等领域取得了突破性进展。而且,就像人工智能领域的许多突破一样,这些突破在很大程度上依赖于英伟达的GPU。


图:英伟达位于加州圣克拉拉的总部。


02

关于如何识别猫的赌


英伟达的人工智能研究始于2010年加州帕洛阿尔托的Joanie 's Café餐厅。戴利说:“我们是在和人工智能专家吴恩达开完早餐会后进入人工智能领域的。”在那次早餐会上,吴恩达解释了谷歌是如何在16000个CPU帮助下,训练人工智能系统去识别猫的照片。当时吴恩达正在谷歌合作打造人工智能项目Google Brain。由于意识到几乎没有人有16000个CPU可供使用之后,戴利提出了一个挑战。“我打赌我们可以用更少的GPU做到这一点,”他对吴恩达说。


会面后不久,戴利请英伟达的研究人员布莱恩·卡坦扎罗(Bryan Catanzaro)与吴恩达合作研究。戴利说:“我们用48个GPU实现的功能和他们用16000个CPU达到的效果差不多。”“当时我非常清楚,这将改变一切。”


英伟达的人工智能业务在一场关于识别猫的赌注中出现爆炸式增长。该公司没有透露其在人工智能领域投入了多少,但相关文件显示英伟达上一财年在研发上一共开支了18亿美元,而其中的关键领域是游戏、人工智能和汽车。其开发的GPU在人工智能项目上的有效性在竞争对手中引发了一场混战,英特尔、谷歌甚至Facebook都投入了巨额资金试图迎头赶上。


2018年7月,谷歌宣布正在开发用于设备机器学习的人工智能芯片。谷歌押注一种新型芯片,这是专为神经网络机器学习设计的张量处理单元。在软件领域,另一场同样重要的竞争也正在展开。英伟达的代码库还面临着与谷歌Tensorflow或Facebook的PyTorch等竞争对手框架的竞争。尽管困难重重,英伟达仍保持着自己的领先地位。


正如识别猫的挑战所展现的,GPU在处理人工智能任务方面非常出色。主要是因为在运行与人工智能相关的并行计算问题时,GPU比CPU更好,因为人工智能中的许多计算是同时进行的。并行计算在神经网络中尤其流行,其工作方式与动物大脑类似,可以像动物大脑一样同时或并行执行许多任务。最终,英伟达希望自己能够成为在每一部手机、每一台电脑、每一个机器人和每一辆自动驾驶汽车中都植入人工大脑的公司。


2005年,在首席执行官黄仁勋的领导下,该公司抢占了人工智能热潮的先机。当时该公司开发了一款软件,使其GPU能够处理现代人工智能最终需要的数百万个微计算。英伟达的GPU现在分布在世界各地的数据中心,为数以千计的企业提供人工智能服务。2014年至2018年间,该公司数据中心优化芯片的营收增长了524%,有效提振了该公司的业绩。


“我们是全世界的供应商,”戴利说。“每个人都通过英伟达的GPU训练他们的深度神经网络。”他补充说该公司的T4芯片被广泛用于推理任务。Facebook和谷歌使用英伟达平台为其平台上的人工智能功能提供支持。几乎所有的自动驾驶汽车公司都在使用英伟达的技术。英伟达还与腾讯、阿里巴巴和百度签署了合作协议。


与厨房中的机器人一样,英伟达的其他人工智能实验也显得兼收并蓄。它开发了一个创造性的生成对抗网络,非常擅长创造超逼真的人脸图像。在2018年12月发表的一篇论文中,该公司展示了最新生成的人脸图像与四年前相比有多么逼真。


逼真面容并不是英伟达的生成对抗网络能够创造的唯一东西。英伟达还开发了一个转换网络,可以将冬天拍摄的照片转换成美丽的夏日景色。你有婚礼当天遇到下雨的照片吗?英伟达的人工智能可以让它变成晴天。去年年底,英伟达还展示了全球首款使用人工智能生成图形的视频游戏演示。这个演示是一个驾驶模拟器,它是通过将人工智能生成的视觉效果与标准视频游戏引擎相结合而构建的。


03

前进道路上的坎坷


英伟达暗示未来的道路会更加艰难。今年年初,Nvidia被迫将其第四季度营收预期调减了5亿美元,此举导致其股价暴跌近18%。2018年数字货币市场的一路下行也不断挑战着英伟达能够承受打击的底线。


就目前而言,英伟达GPU的适应性使其相对于竞争对手具有更多优势:它们是数据中心、自动驾驶汽车、研究实验室、数字货币挖掘平台不可或缺的组成部分。只要你能想到的设备都会有一个GPU。但这种情况可能很快就会改变,这正会是英伟达的人工智能机器人实验室发挥作用的地方。


“现在有很多新的人工智能硬件初创公司,”人工智能研究顾问斯蒂芬·梅里蒂(Stephen Merity)说。“他们对于英伟达来说很可能是一个威胁,但这是一个巨大的开放性问题,我无法想象这些初创公司能在早期实现大规模发展。”


其中之一就是英国的创业公司Graphcore,其在宝马、红杉资本以及谷歌DeepMind创始人的资助下,现在公司估值超过10亿美元。Graphcore称,其智能处理单元尚未投入大规模生产,处理速度比现有系统快100倍。对于英伟达来说,这可能会带来比数字货币市场崩溃更令人头疼的财务问题。


“我不知道人工智能硬件生态系统的最终状态是什么样子,”梅里蒂表示,“如果终极状态是双方拥有相同的硬件,那么英伟达就有优势。如果它分成‘用于训练人工智能的硬件’和‘在现实世界中使用的硬件’,那么Graphcore和其他类似初创公司可能会做得很好。”


往期推荐

 

惊了!谷歌要建筑未来城市的六个疯狂细节

▲点击图片观看

霍金“徒孙”朱珑


▲点击图片观看

特斯拉又遇致命车祸:车主被困当场死亡

▲点击图片观看

- 加入社群吧 -

网易智能AI社群(AI芯片、医疗AI、金融AI、电商AI、自动驾驶、教育AI、AIoT、机器人等12个社群)火热招募中,对AI感兴趣的小伙伴,添加智能菌微信 kaiwu_club,说明身份即可加入。

点赞 0

Concurrent data structures or CDS such as concurrent stacks, queues, sets etc. have become very popular in the past few years partly due to the rise of multi-core systems. But one of the greatest challenges with CDSs has been developing correct structures and then proving the correctness of these structures. We believe that techniques that help prove the correctness of these CDSs can also guide in developing new CDSs. An intuitive technique to prove the correctness of CDSs is using Linearization Points or LPs. An LP is an atomic event in the execution interval of each method such that the execution of the entire method seems to have taken place in the instant of that event. One of the main challenges with the LP based approach is to identify the correct LPs of a CDS. Identifying the correct LPs can be deceptively wrong in many cases. In fact, in many cases, the LP identified or even worse the CDS itself could be wrong. To address these issues, several automatic tools for verifying linearizability have been developed. But we believe that these tools don't provide insight to a programmer to develop the correct concurrent programs or identify the LPs. Considering the complexity of developing a CDS and verifying its correctness, we address the most basic problem of this domain in this paper: given the set of LPs of a CDS, how to show its correctness? We assume that we are given a CDS and its LPs. We have developed a hand-crafted technique of proving the correctness of the CDS by validating its LPs. As observed earlier, identifying the correct LPs is very tricky and erroneous. But since our technique is hand-crafted, we believe that the process of proving correctness might provide insight to identify the correct LPs, if the currently chosen LP is incorrect. We also believe that this technique might also offer the programmer some insight to develop more efficient variants of the CDS.

点赞 0
阅读1+
Top