揭秘谷歌内部的万人机器学习项目—忍者计划!
如果你想让人工智能融入每一个产品中,那么你得训练一支强大的机器学习战队 。
Google工程师卡尔森•霍尔盖特(Carson Holgate)正把自己训练成忍者。
训练并不涉及武术,若论武功,26岁的霍尔盖特已是高手——跆拳道黑带二段。该训练主要针对算法。霍尔盖特参加这项训练已经好几个星期了,这是能让她获得比体力更强大技能的一项训练——机器学习,即ML。
霍尔盖特是Google 安卓部门的工程师,也是公司本年度机器学习“忍者计划”的十八名程序猿之一,该计划云集了各团队中的优秀编程员。Ender游戏风格是要教授他们,可以让产品更智能的机器学习技术,哪怕这会让他们开发的程序更难理解。
Google工程师霍尔盖特
Christine Robson(克里斯汀•罗伯森)经常说:“想成为机器学习忍者么?”罗伯森是Google内部机器学习计划的产品经理,也负责管理该学习项目。“
因此wired(连线杂志)邀请Google内部的同仁来参与项目,用6个月的时间致力于机器学习,跟着老师学习,在这6个月里潜心机器学习,做一些项目,把项目启动起来,他们会收获颇丰。”
霍尔盖特四年前获得计算机科学与数学学位,并加入了Google。对她来说,这是一个掌握前沿技术的机会——利用学习算法(学习者)和海量数据来“教会”软件完成任务。
近期研究结果表明,神经网络甚至会超越人脑。Google决心在内部扩大精英培训范围,以期待让机器学习成为一种常态。
对霍尔盖特这样的工程师来讲,可以向高手中的高手讨教,忍者计划是他们飞跃到技术前沿的机会。她说:“这些人会开发神奇的模型,并且拥有博士学位。”言语间透露着一种难以掩饰的敬畏之情。
谷歌员工人数众多(6万员工中约有半数是工程师),而这只是个小项目。但这个项目却标志着谷歌内部认识的转变。
尽管机器学习早已成Google的一项技术,Google还率先聘请了业内专家,但大约到了2016年,Google才开始真正痴迷于机器学习技术。
在去年底财报电话会议上,谷歌CEO桑达尔•皮查伊(Sundar Pichai)表示:“我们还会尽力将它应用于所有的产品中,包括搜索、广告、YouTube或Play。
正如机器学习畅销书《算法大师》(The Master Algorithm)的作者佩德罗•多明戈斯(Pedro Domingos)所说:“机器学习是新生事物,是可以自我学习的技术。”
Google ML计划负责人杰夫•迪恩(Jeff Dean)说:“想用这种方式解决问题的人越多,我们就会变得越好。”他估计谷歌2.5万工程师中,只有几千人懂得机器学习, 差不多只有10%。他希望这个比例能接近100%。他说:“如果能让所有工程师都多少懂得一点机器学习技术,就太棒了。”
多年来,约翰•贾南德雷亚(John Gianandrea)一直都是谷歌机器学习的主力助推者,而最近他成了搜索业务主管。
但当他2010年加入公司时(伴随着谷歌收购MetaWeb公司而加入,该公司在人群、地点和事项方面的庞大数据库,已经作为知识图谱融入了谷歌搜索中),他在机器学习和神经网络方面还没有太多经验。
2011年左右,他被神经信息处理系统大会(NIPS)的新闻震惊了。好像每年NIPS的一些团队都会发布机器学习的成果,让先前解决问题的努力灰飞烟灭,包括机器翻译、语音识别或者视觉处理。
他说:“当我第一次看到它,NIPS大会依然是模糊的。但在过去三年,整个领域从学术界到工业界发展十分迅猛。我感觉去年得有6000人参加。”
谷歌大脑负责人杰夫•迪恩
杰夫•迪恩:典型的谷歌计算机科学家,现在正建立机器学习工具和并带领团队。这些改进的神经网络算法,加上摩尔定律更强大的运算能力,以及像Google和Facebook海量用户的行为数据呈指数级地增长,开启了一个方兴未艾的机器学习新时代。
贾南德雷亚(Giannandrea)加入了那些被认为是公司核心的项目。其中还有谷歌大脑(Google Brain)联合创始人迪恩,神经网络的项目源于公司研究部门的Google X.(现简称为X.)。
Google对机器学习的“熊抱”,并不简单等同于编程技术的转变。这是对于可赋予电脑无限能力技术的一种严肃的承诺。其领先优势在于围绕受大脑支配的、复杂神经网络建立“深度学习”算法。
谷歌大脑是一个深度学习项目。Google 于2014年1月买下(据说花了5亿美元)的AI公司Deepmind,也致力于该领域研究。
Deepmind打造的AlphaGO击败了世界围棋冠军,打破了人们对于智能机器性能的固有想象,也在害怕智能机器和杀手机器人的人心中激起了忧虑的涟漪。
贾南德雷亚(Giannandrea)破除了认为“AI会杀死我们”的无知语言,他确信机器学习系统在各方面都会是革命性的,从医疗诊断到驾驶汽车。机器学习将会改变人类,但不会取代人类。
贾南德雷亚引用Google Photos为例,解释了机器学习能力。他展示了一些博德牧羊犬的图片。
他解释道,通过学习,电脑能“知道”博德牧羊犬的样子,而且还能找出其幼年、成年、长毛、以及剃毛后的图片。当然人也可以做到这个。但是人类无法从上百万个图例中同时识别上万只狗的品种,而机器学习系统可以。
如果机器认识了一个品种,它就能用相同的技巧去识别其他9999种。贾南德雷亚说:“这就是新奇之处。对于这类些狭窄领域来说,你能在这些博学的系统里找到人们所谓的超人性能。”
当然,Google早就理解了机器学习概念,其创始人始终都对AI力量深信不疑。”机器学习已经被用于许多Google产品。(早期机器学习往往依赖更直接的统计方法)
事实上,十多年前,Google就开设了内部课程,向工程师们教授机器学习。
科恩认为,只有Goolger人自己,能教授这样一门内部课程,因为Google的运用规模无人可以比拟(可能国防部除外)。
课程太受欢迎了,而开始变得失控了。班加罗尔办公室的人们要熬夜到半夜才能参加。几年后,一些Google工程师把课程制成短视频,现场授课停止了。科恩认为这可能足以作为慕课(MOOC)的先驱。
随后几年,Google又有一些不同的 ML培训,但均不是有组织地连贯进行。就在科恩2013年离开谷歌前,他说:“ML在谷歌突然就成了重中之重。”
在2012年之前,这种认识尚未形成气候,直到贾南德雷亚决定“招募一批从事这项工作的人”,并将他们安排到单独的办公楼。从X部门脱离出来的谷歌大脑也加入进来。“
工程师们开发的机器学习成果,越来越多地出现在谷歌热门产品中。
由于机器学习的关键领域是视觉、语音、声音识别和翻译,所以ML现在成为语音搜索、翻译和Photos的主要部分并不奇怪。更惊人的是,力图让机器学习融入所有产品。
杰夫•迪恩说,随着他和团队对机器学习的理解逐步深入,他们的探索更加雄心勃勃。“
我们以前,也许只是将机器学习技术用于系统里的一些子功能,但是现在我们是要用这项技术替代整套系统,而不是给每个系统设计一个更好的机器学习模型。”
迪恩表示,如果现在让他重新规划谷歌的基础架构,其中大部分都不会再通过编码实现而是通过学习而获得。迪恩最为人熟知的身份是Bit Table和MapReduce等颠覆性系统的联合创造者。
谷歌大脑联合创始人格雷格•科拉多
谷歌大脑联合创始人格雷格•科拉多(Greg Corrado)与产品团队一起,致力于将AI与机器学习融入软件,从而实现先前未能预想到一些产品特征。其中一例便是于2015年11月发布的Gmail 的智能回复(Smart Reply)。
该功能的灵感源于格雷与前Gmail工程师巴林特•米克洛斯(Bálint Miklós)的一次谈话。(米克洛斯,曾在Gmail致力于研究垃圾邮件检测和邮件分类的ML算法。)
谈话中米克洛斯提出了一些激进的建议:“如果团队利用ML来自动生成邮件回复内容,帮助手机用户摆脱,用手机小键盘回信的难题会怎么样呢?
科拉多说:”这疯狂的建议让我大吃一惊。但后来我想,如果利用我们有预测模式的神经网络技术,这也许可行。一旦我们发现有点机会,我们就得试试。”
科拉多及其团队与Gmail团队保持着密切又频繁的联系,谷歌成功几率大大提升,随着机器学习专家在产品团队中的扩散,这种方法越来越普遍。
科拉多说:“机器学习既是科学又是艺术。就好像烹饪,其中会有化学反应,但是要做到真正有趣,你就得学会搭配现有的原料。”
传统的AI技术在理解语言时,靠的是将语音规则嵌入系统,但在这个项目中,和现在所有的机器学习一样,系统存储了足够的数据来实现自我学习,就像小孩子学习那样。
科拉多说:“我并非是从语言学家那学会说话的,而是通过听别人说话而学会的。”但真正令智能回复变得切实可行的,是它的成功很容易定义——他们的目的不是创造一个妖艳的虚拟斯嘉丽•约翰逊(Scarlett Johansson),而是希望它能回复真正的电子邮件。“
然而,当该团队开始测试智能回复时,用户却注意到了一些怪事:它经常会推荐一些不合时宜的暧昧语言。“其中一个失败模型确实太过可笑,科拉多说:“一旦系统变得混淆,它就会说‘我爱你’。
这并不是软件漏洞,问题出在我们让它做的事情上。” 不管怎样,这个程序学到了一些人类微妙的行为。“如果你感到担忧,‘我爱你’是一种很好的防御策略。” 科拉多能帮助团队压制系统的热情。
在通过该应用发送的回复信息中,有十分之一都是由机器学习系统生成的。科拉多笑着说:“这个项目能够成功还是令我感到有些惊讶。”
智能回复,只是证明谷歌ML有效性诸多实例中的一个。
或许最终的拐点是当机器学习,成为搜索的一个必不可少的组成部分时——作为谷歌的旗舰产品,搜索几乎为该公司贡献了所有营收。
多年以来,由于搜索引擎对谷歌过于重要,所以始终没有融入机器学习算法。贾南德雷亚说:“由于搜索在公司内部占据的份额巨大,高级管理者深度参与其中,所以很多人都怀疑我们无法真正取得进展”。
在某种程度上,那是文化阻力——必须要让那些有极强控制欲的程序员,适应带有禅宗韵味的机器学习模式。
长期掌管谷歌搜索业务的艾米特•辛格(Amit Singhal)曾是传奇计算机科学家杰拉德•萨尔顿(Gerald Salton)的助手。
萨尔顿在文档检索方面的开创性工作,启迪辛格帮助谢尔盖•布林(Sergey Brin)和拉里•佩奇(Larry Page)把研究生时期编写的代码扩展成了可以适应当今网络时代的程序。(这使得他成为了“检索派”的一员。)
他从二十世纪的方法中,梳理出了令人惊讶的结果,并对将机器学习系统整合到作为谷歌命脉的复杂系统中产生了怀疑。
戴维•帕布罗•科恩说:“进入谷歌的头两年,我负责搜索质量,试图用机器学习来改进排名。结果发现艾米特的团队是全世界最优秀的,通过将艾米特脑海里的想法都变成了硬编码,我们发展的更好。已经找不到比他更好的方法了。”
到2014年初,谷歌的机器学习大师们认为需要改变现状。“我们与排名团队展开了一系列讨论。”迪恩说,“我们认为至少应该尝试一下,看看能不能有一些收获。”
他的团队所设想的那个实验,最终成为了搜索的核心:文件排名与搜索请求的匹配程度有多高(需要以用户的点击为衡量标准)。“我们跟他们说,可以用神经网络计算额外的分数,看看到底有没有用。”
最终答案是肯定的。这套系统如今已经成为谷歌搜索的一部分,被称作RankBrain。
它于2015年4月上线。谷歌还是像以往一样,对如何改进搜索讳莫如深(究竟是与长尾理论有关?还是更好地解读了模糊不清的搜索请求?)。
但迪恩表示,RankBrain“融入到每一个搜索请求中”,虽然未必会影响所有的排名,但的确对很多搜索请求的排名都产生了影响。
此外,它非常有效。在谷歌计算排名时,所使用的数百个“signals”中(这些signals可能包括,用户所在的地理位置,或者页面标题是否与搜索请求匹配),现在RankBrain的有效性名列前三甲。
“我们成功利用机器学习改进了搜索结果,这对公司来说意义重大。”贾南德里亚说,“这引发了很多人的关注。”
华盛顿大学教授佩德罗•多明戈斯在其著作《算法大师》中则给出了不同的说法:“检索派与机器学习派始终都存在斗争。最终是机器学习获胜。”
谷歌面临的新挑战是,如何让所有工程师都能熟悉机器学习。
还有很多公司也都秉承着相同的目标,其中最引人关注的当属Facebook,该公司与谷歌一样着迷于机器学习和深度学习。
这一领域的毕业生变得非常抢手,而谷歌正在努力保持对毕业生的吸引力。学术圈多年以来都流传着一个玩笑:即使不需要顶尖学生,谷歌也会招聘他们,避免人才被竞争对手抢走。(这个玩笑的错误之处在于,谷歌的确需要这些人才。)
“我的学生无一例外都得到了谷歌的录用通知。”多明戈斯说。目前看来,竞争的激烈程度有增无减:就在前不久,谷歌宣布将在苏黎世开设一个新的机器学习实验室,有很多工作岗位有待填补。
但由于学术项目尚未培养出大量机器学习专家,培训员工就成为了必要措施。但这并非易事,尤其是在谷歌,这样拥有许多世界一流工程师的公司,他们一直致力于通过编程来实现魔幻般的世界。
机器学习却需要截然不同的思维模式,大师级程序工程师之所以能有如今的成就,往往是因为他们希望完全控制一套编码系统。
机器学习还需要掌握一些数学和统计学知识,但是很多程序员却对此不屑一顾的,即便是那些能够写出超长代码的超级黑客也不例外。
克里斯汀•罗伯森,负责培养谷歌员工和参与机器学习技术的外部人员。这需要一定的耐心。
罗伯森说:“机器学习模型并非静态编码,你得不停地输入数据。我们一直在持续更新模型、学习、增加数据、调整预测方式。就像生活呼吸一样,这是另一种工程学。”
克里斯汀
“这是一个使用千变万化的算法,进行实验的学科,需要挑选那些真正适合使用场景的训练数据。”贾南德雷亚说。尽管他也是新的搜索业务主管,但却仍然把在谷歌内部传播机器学习理念,作为自己工作的一部分。
“计算机科学那一部分不会消失,但需要更加关注数学和统计学,而对数十万行代码的关注度则需要相应地降低。”
至于谷歌所担心的障碍,完全可以通过明智的内部培训来解决。“归根结底,这些模型中使用的数学原理并不那么复杂。”迪恩说,“谷歌聘用的多数软件工程师都可以掌握。”
为了进一步帮助不断扩容的机器学习专家团队,谷歌开发了一系列强大的工具,帮助他们选择合适的算法训练模型,加快培训和提炼过程。
其中最强大的是TensorFlow,它可以加速神经网络的构建过程。
TensorFlow源自谷歌大脑项目,由迪恩和他的同事拉加特•芒格(Rajat Monga)共同发明。它能把构建系统过程中,涉及的晦涩难懂的细节变成标准化的内容——尤其是在谷歌2015年11月开始将其开放给公众后,这种做法的效果更加得以显现。
尽管谷歌煞费苦心地,将这种行为描述为一种无私的举动,但该公司也承认,如果新一代程序员,都能熟悉该公司内部的机器学习工具,那对谷歌未来的招聘活动将会起到莫大的帮助。
(质疑者甚至指出,谷歌的TensorFlow开源项目是为了追赶Facebook,后者已经在2015年6月公布了早期机器学习系统的深度学习模块Torch。)
不过,TensorFlow的功能以及谷歌的开源模式,很快受到了程序员的欢迎。贾南德雷亚表示,当谷歌首次提供TensorFlow课程时,共有7.5万人报名参加。
但谷歌仍为自己的程序员保留了很多好东西。该公司在内部拥有一套更加优秀的机器学习工具——Tensor Processing Unit(以下简称“TPU”)。他们虽然使用这项创新已经多年时间,但直到最近才对外宣布。
这是一种针对机器学习程序优化的处理器,就像GPU是专门针对图形处理优化的芯片一样。该公司的庞大数据中心里,使用了数以千计的TPU(具体有多少恐怕只有上帝和佩奇才知道)。
通过赋予神经网络这种超级计算能力,TPU为谷歌带来了巨大优势。“如果没有它,我们就无法实现RankBrain。”迪恩说。
他们也在不断尝试各种方式,来为工程师提供机器学习方面的培训。这些培训的规模各异,其中也包括为期两天的速成班。
谷歌希望这只是初步尝试,工程师随后还会寻找更多资源来深入学习。“已经有数千人报名参加下一次课程。”迪恩说。
此外,一些小项目吸引了外部人才加入谷歌机器学习计划。今年初春,谷歌启动了Brain Residency项目,在谷歌智库内部为有前途的外部人才提供为期一年的集训。
协助管理该项目的罗伯森说:“我们称之为深度学习职业生涯的抢跑。”
尽管这27名来自不同学科的机器学习学员中,可能有一些会留在谷歌,但他表示,该公司的目的是让他们自行发展,利用自己掌握的先进知识,在世界各地传播谷歌的机器学习技术。
因此,从某种意义上讲,卡尔森•霍尔盖特在忍者项目中学到的知识,正是谷歌为了保持世界主流AI公司地位这一计划的核心,其中机器学习正在成为主角。
课程最开始是一个为期四周的新兵训练营,由谷歌最专业的人工智能项目产品负责人提供指导,教如何将机器学习融入项目进行训练。
罗伯森说:“我们把忍者带进会议室,格雷格•科拉多站在白板前讲解LSTM(长短期记忆,一种可以打造强大神经网络的技术)。
他做着夸张的手势,演示工作原理、利用何种数学原理、如何应用到产品中。
霍尔盖特成功挺过了训练,现在她正利用机器学习工具开发一项Android通讯功能,帮助谷歌员工交流。她正在调试超参数,清理输入数据。
开弓没有回头箭,因为她明白AI技术就是谷歌的现在和未来,甚至可能是一切技术和东西的未来。
机器学习时代已经来临,前景无比广阔!