撰文 | 邱陆陆
编辑 | 藤子
NExT 成立的第三年,还是没有部门网页。
微软这个神秘而低调的部门,从不主动寻求曝光,却常有项目被 CEO Satya Nadella 挂在嘴边;它不仅有微软亚洲研究院(MSRA)及其合作实验室做其科研后盾,还有微软工程院的诸多工程师「大牛」随时待命,把成员们的奇思异想变成现实。这个部门叫做 NExT(New Experiences and Technologies organization),是微软为未来准备的「秘密武器」。
它像是一家在微软大楼里办公的孵化器+风险投资机构,陪伴手握想法与热情的员工一路走过天使轮、A 轮、 B 轮,又在他们进入 C 轮之后目送他们与自己的产品工程团队携手走向更远。你可能曾经听说过他们「能提升必应所需机器学习算法运算速度 100 倍」的 FPGA 芯片和深度学习加速框架 [1][2],惊异于他们将数据中心机柜放进潜水器的脑洞 [3] 和接近绝对零度的量子计算机系统结构 [4],但从未见过 NExT 作为一个整体的样子。
十月,在微软亚洲研究院与哈工大联合主办的第十九届「二十一世纪的计算」(21 CCC)学术研讨会上,我们在已经进入冬天的哈尔滨发现了 NExT 的「制导控制员」——ACM fellow、微软全球资深副总裁 Peter Lee,并在他的指引下揭开了 NExT 的神秘面纱,得以一窥微软视角下的 AI 时代。
ACM fellow、微软全球资深副总裁 Peter Lee
以下为采访梳理,作者对内容有不改变原意的调整。
挖掘微软研究能力,探索教育、医疗保健和金融等高价值领域
被 NExT 选中的项目有哪些共性?
有想法的人很多,但总的来说,我们倾向于关注那些受到基础研究启发的想法。如果说 NExT 在这个 VC 模式里有哪些「开挂」一般的优势,那就是如同微软亚洲研究院一样,具备深度科研能力。如果项目没有充分利用这个优势,我会十分担心,因为任何初出茅庐的年轻人就能组成初创公司并打败我们。我们在创业热情上未必是他们的对手。如果某个项目既充满激情,又充分利用了我们世界级的研究能力,那么,VC 圈的大部分项目没有这种能力。在这种情况下,我觉得可以投资这个项目了,因为项目具有别人没有的优势。因此,研究是我们的基础与根源。
有多少项目已经从 NExT 毕业呢?
从三年前成立 NExT 以来,有 4 个项目走到了 C 轮,其中有 3 个项目已经从 NExT 毕业并组成独立产品团队。
第一个是对话机器人框架(Bot Framework),现在由微软全球资深副总裁 Lili Cheng 负责。这是让任何应用程序开发者都能够快速创建智能聊天机器人的技术。第二个是量子计算,新任副总裁 Todd Holmdahl,正在进行很多工程上的尝试让它成为现实。第三个项目专注于销售智能,旨在为销售团队提供由神经网络带来的独到见解,例如商品可以卖给哪一类潜在顾客以及哪些现有顾客有流失风险。当然了,也给正在进行谈判的交易提供谈判相关的报价与条款建议。
除此之外,还有 1 个到了 C 轮阶段,现在仍然在 NExT 的项目,也就是 Catapult & Brainwave。这个项目主要将 FPGA 和神经网络融合进我们的全球数据中心网络。虽然这个项目很大,但此刻它仍在 NExT 之中。
如何决定哪个项目可以毕业?
这可以说是一门艺术,很多时候我都无法确定我做的决定的正确性。就像一家 VC 公司也会不断问自己:什么时候把公司推向下一轮,什么时候进行 IPO。这是一门艺术,说不定我们需要机器学习来帮助我们决策!
例如像 Catapult & Brainwave 这样的项目,他们应用的技术是如此独特,因此我觉得现阶段离研究团队更近一些更好。直到今天,微软亚洲研究院还在给 Catapult 输送大量的基础技术。因此让项目留在 NExT 内,似乎会让它变得更好。
NExT 中的所有项目都与 AI 有关吗?
不是,并非所有项目都与 AI 有关。比如,Catapult 实际上最初就是一个计算机架构项目。当然,现在新的计算机架构也会受到深度学习的影响,但我们还有其他一些项目,重点关注的是网络安全、数据可视化和探索等等。还有一些稀奇古怪的项目,比如在 Natick 项目里,我们试图把计算设备放进潜水艇,做成水下数据中心。
如你所述,NExT 非常看重项目的基础研究和技术含量,然而技术并不是产品或服务走向市场的唯一障碍。例如超市的自助结账机,技术在 20 年前就成熟了,然而至今也没有取代超市中收银员地位的迹象。NExT 是如何衡量与控制这部分障碍的?
从商业的角度来看,这是一个价值问题。哪些人工智能应用真正创造价值呢?价值的一种体现形式是提高效率。因此,如果我们有能自主结账的人工智能技术,它虽然有一定的价值但极为有限。因为收银台的员工除了完成收银工作外还提供了额外的服务价值。另外,从超市整体角度看,人工收银员的成本并没有那么高,因此这项技术创造的价值并不大。
我认为寻求这种高价值对微软来说是重要的。因此,这就是为什么我们一直在努力思考并探索在教育、医疗保健和金融等方面有很高应用价值的领域。这些都是我们关注的重点领域。
例如,在医疗方面,如果你罹患癌症,你会找放射科医生拍一张 3D 影像,然后如果选择了放疗,医生要仔细规划激光路径。这当然很危险。你希望激光能够切除全部肿瘤并伤害尽可能少的健康组织。因此放射性疗法规划是一门需要大量技巧和训练的学问。当然,放疗规划也是一门艺术,每一位优秀的放射科医生都会发展出自己的风格。因为医学的实践仍然具有很强的人为甚至是直觉的成分,我们一直在努力研究,如何让先进的计算机视觉技术为放射科医生提供帮助。现在医生做放疗规划需要 1 到 2 个小时,有时甚至超过 2 个小时。这是一个非常痛苦的不断地选择、点击的过程。我们一直在努力思考,如何解放放射科医生的双手,让他们专注于放疗的「艺术部分」,让机器去完成那些类似标注的苦差事。因此,我们启动了 InnerEye 项目。我们让数家诊所的多位放射科医生进行了测试,发现项目能够将放疗过程缩减到 10 分钟,并且让放射科医生能够充分发挥自己的创造力和想象力,而不是将时间浪费在诸多单调乏味的工作中。InnerEye 产生的价值非常高,因为一方面,放射科医生的时间和精力是非常昂贵的,另一方面对病人来说,使用辐射治疗是一项危险系数极高的活动,取得好的成果是很重要的。因此,高价值应用对我们来说非常重要。
另一个例子是致力于客户支持的 Toronto 项目。在一个处理客户支持的呼叫中心里,接线员的工作压力非常大。通常情况下,他们必须同时处理 2-3 名客户的电话。对于一家公司来说最困难的地方在于人员流动率太高,以及糟糕的客户体验带来的流失,这代价非常昂贵。我们在思考,如何使用人工智能让客户支持接线员的生活变得更容易,甚至更有生产力,让他们能够同时处理更多的客户需求。
这样的例子还有很多,例如我们在思考 AI 能否帮助提升粮食的产量,所以我们用传感器、无人机和人工智能分析技术来自动化农场的运作。NExT 在做的这些事情都在回答一个问题:为什么这件事很有价值。不是「我们现在有这么个技术,我们觉得能用它替代人工。」,不,我们在思考的是如何能够为世界上生活的人们创造一些有价值的东西。
微软的深度学习之路:从成熟的底层设施走向服务和工具
作为一家平台公司,微软内部有非常多不同的部门正在从不同的角度切入人工智能,很好奇公司内部如何对所有与人工智能相关的研究工作进行分类?
我认为微软对人工智能与机器学习方面的研发投入主要分为三类。
第一种叫做「战略合作」。像 Office、Windows、Xbox 或者 Skype 这样的产品或服务团队每天都面临着很多的挑战,他们将机器学习和 AI 视为解决一些问题的手段。不仅是产品团队,销售与市场部门、人力资源部门乃至法务部门都希望能应用机器学习,因为机器学习带来的转变是革命性的。
举个例子,法务部门非常想要打击那些冒充微软技术支持人员盗取用户个人信息的犯罪分子。而我们真的通过机器学习检测到此类活动、找到源头并联合执法部门完成了这一任务。事实上,美国联邦贸易委员会也与微软进行了机器学习方面的合作。我们得以对多项犯罪行为进行起诉。
这一个类别里,机器学习获得了很多内部应用。不仅让产品和服务变得更好,也让公司内部运转效率得到提高。因此,战略合作类研发投入指努力找出那些能够进行内部合作的重要事项,并提供帮助。
第二类,我称之为「目标明确的登月计划」。我们要越过公司当下的考量看到更远的地方。例如公司当下像很多大公司一样,非常看重数据,尤其是标注数据。但是我们以未来的视角思考,就要看到无监督学习方法、强化学习方法和博弈论可能更为重要。还有,我们认为聊天机器人不只能完成特定任务,还会完成一部分社交职责。这种想法旨在超越公司现有的思维模式,发现对于未来更重要的工作。
第三类是「基础研究」。这类投入的目标是确保微软拥有全球在特定领域里最聪明的人。这也是我们为什么积极地与大学研究者合作,并在有同行评议的期刊和会议上发表我们的工作。我们积极参加国际上的语音与计算机视觉方面的竞赛,确保微软至少与其他公司在研究实力上处于同一起跑线。
你在此前在演讲中提到,我们需要找到类似活字印刷一样「大规模生产」AI 的方法,这也属于「登月计划」的一环吗?
是的,或者开发一个适应性更强的人工智能。假设我们有一些机器学习或人工智能模型,可以生成用于客户支持的聊天机器人,帮助客户支持接线员更好地完成工作。我们投入了大量的精力,收集了大量的数据,然后训练模型,一旦完成,我们就有了一个非常强大的客户支持工具。现在我们可以问自己,所有这些工作都可以转移到另一个公司和他们的客户支持问题上吗?现在的技术水平下,完成一个 AI 系统仍然有很多困难的工作,它仍然需要一些受过大量训练的人,或者说工匠,来做这个。因为现在做这项工作的人才非常昂贵,这确实限制了技术的可用性。因此我提出了「匠人 AI」这个观点。
还有对标注数据的过度依赖。
是的,这也是个大问题。在一些特殊的领域里,迁移学习可能很有效。例如,在使用微软的「认知服务」,比如语音 API 时,你想让你的语音系统了解特定的术语,实际上在微软的语音 API 里,你可以上传你的训练数据——那些专业术语,然后使用迁移学习来对现有模型进行扩展。这个过程仍然需要人工完成一些工作,但它变得更容易了。事实上,我们发现,越来越多的公司无需我们帮助就能做到这一点。比如 视觉 API,人们可以上传他们自己的标记图像,然后得到一个基于我们所有针对 ImageNet 这样大型数据集完成的工作的大型视觉模型,但它同时掌握有关于你的知识。在 PowerPoint 中,我们也有一个自动字幕生成功能,它内含一个语音模型,可以读取你的幻灯片,然后对一个基本的语音模型进行扩展。
微软在无监督学习方面持何种态度?
我认为无监督学习是非常重要的,我们在这方面也取得了巨大的进步。有许多不同的方法来制定无监督学习。你知道,我们在微软亚洲研究院一直很重视对偶学习方法。事实证明,这种对偶学习对于解决某些特定问题,如机器翻译,乃至一些视觉问题,都非常有效。当然,也有很多兴趣投入在生成性对抗网络中,这种兴趣不仅出现在我们实验室,也出现在很多和我们有合作关系的学术机构里。
对于微软来说,无监督学习非常重要。微软是一家平台公司,所以我们没有太多的顾问可以去每一家公司或企业,实地帮助他们建立模型。我们想要提供一个平台,而如果模型的训练不受限于监督学习,那么这个平台将会更有价值,更容易让客户使用。
针对「基础研究」,微软都取得了哪些进展?
我们的语音识别模型在 Switchboard 数据集上取得了 5.1% 词错率的成绩,这是一个超过人类速记员水平的成绩。而 2015 年的 ImageNet 比赛是我们取得 ResNet 突破的时候。我们在图像检测、识别、分割等五个类别的比赛中都取得了突破性的提高。然而目前我们仍然无法在图像识别这一大领域取得整体与人类相媲美的结果。在一些更小的领域里,比如,ImageNet 的一千类物体的识别任务,我们可以超越人类。
回过来说,其实我认为更重要的里程碑是 ResNet 成为了学术和科研领域的一个标准概念。我们不仅在微软自己的产品里能够看到对 ResNet 的大量应用,也能看到业界其他公司频繁使用 ResNet。这种影响力对我们来说更重要,因为这意味着我们不仅仅在提高自己对问题的认识水平,也推动整个行业向前一步。
另一个基础研究领域非常热门的话题是,什么样的计算硬件最适合进行机器学习训练与推理。我们能看到在 CPU 领域,摩尔定律已经在逐渐变缓了。然而在完成卷积神经网络等特殊结构的工作这一块,通过专门硬件提升速度这一课题还有很大的空间。因此我们努力开发有针对性的 FPGA 硬件 Catapult,以及加速深度神经网络推理的引擎 Brainwave。Brainwave 的规模可以非常大,事实上它遍布我们全球的数据中心网络。虽然不方便透露具体数字,但在规模上是在一个网络里就包含数十万块芯片。
FPGA 通常被认为适用于特定任务而延展性不佳,是一种十分有「个性」的芯片类型,为什么微软选定它作为重点?
我认为原因有两大点一小点。两大点是,第一,FPGA 的升级速度非常快,至少是 CPU 或者 GPU 的速度的两倍。所以我们非常想要借助这一股快速发展的东风发力。第二,我们现在对深度学习的理解还处在非常早期的阶段。早期到什么程度呢,我们对训练和推理算法的具体原理都还在不断地变化。而 FPGA 的优点是,你可以在软件层面对硬件进行修改,也就是说晶体管的组织形式可以通过软件来更改。然而如果我们生产了 TPU 这样的芯片,一旦制作出了一代芯片,想要进行任何大改动都要再等一个迭代周期,这个周期的时长是 18-36 个月。而在这段时间里,会涌现无数的算法创新。可能在未来的某一天,我们认定深度学习问题已经基本解决了,那就是时候制作 ASIC 了。但是现在,还不是时候。
第三小点是一个特别实际的原因,我们推崇 FPGA,因为 FPGA 的用途不止于机器学习,我们也在一些安全问题和一些云的网络加速问题中使用 FPGA。因此使用 FPGA 可以同时解决机器学习问题和网络加速问题。
如果将深度学习比作一条长路,您如何划分这条路的各个阶段呢?我们又处于哪个阶段?
在我的幻灯片里,我展示了当下与机器学习相关的服务、底层设施和工具。其中最成熟的部分是底层设施。我们对如何与机器学习和 AI 相关各种类型的数据的经验十分丰富。
下一个部分会是服务和工具。虽然我们对应该提供何种服务的见解相对没那么成熟,但我们已经建立了很多模型,用于语音识别、图像识别、人脸识别。微软也围绕它们构建了好用的 API 并放在了 Cognitive Services 的云上。已经有很多开发者和公司开始使用它们并认为它们很好用。但这还不是一个完全成熟的领域。我们还只是拿出那些自用时很好用的工具,猜测人们可能也会喜欢它们,所以以 API 的形式公开它们。我们也有 Azure 机器学习系统,是一个可视化的编程系统,让领域内的专家能够构建它们自己的机器学习模型。还有工具,我们有一个很「微软」的想法啊,就是希望支持所有的机器学习开发工具,无论是 TensorFlow、Caffe 还是微软自己的 CNTK。
所以基础设施很完善,其他部分也在迅速地发展。我们通过观察客户如何使用这些系统来进行学习,得到了许多反馈,也进行了很多改进。我们经常从客户处得到惊喜。但总体来说,我们希望「云 + AI 平台」的模式能够加速我们的客户和开发者使用人工智能的脚步。在这条路上,我们刚刚踏出第一步。