技术对于商业影响加深
走进Facebook人工智能研究实验室
INSIDE FACEBOOK’S AI WORKSHOP
史考特·贝瑞纳托( Scott Berinato) | 文
在这家社交网络巨头中,机器学习已经成为平台的平台。
我们走进Facebook宽敞的20号楼,便看到雷文斯伍德泥沼的全貌。穿过大厅,还可以隐隐闻到厨房传来热腾腾早餐、奶昔和醇厚咖啡的香气。会议室Lollapalooza就在大厅和厨房之间,华金·坎德拉(Joaquin Candela)正试图在这小房间中向我这个外行人解释人工智能。
坎德拉有些谢顶,矮小壮实,默默思考着。他负责管理Facebook最重要的AI部门——应用机器学习(AML),其团队正逐渐成为整家公司最核心部分。他组织了一下语言,终于开口:
“机器学习算法实际上就是一张查找表,对吧?图像这样的输入信息是关键,而价值就在这类信息的标签中,比如‘马’。我会有大量训练实例,比如马的图片。我尽可能给算法最多信息。‘这张图是马。这张图是马。这张图不是马。这张图不是马。’算法将这些信息保存在查找表里。之后要是有新实例出现,或者我告诉算法注意新实例,那么算法会查看我们给它的所有实例——查找表中哪一排最像?哪里像?算法试图决定:‘这张图是马吗?我认为是。’如果算法对了,图像就被分到‘这张图是马’组;如果错了,图案会被分到‘这张图不是马’组。下次算法就可以查找更多数据了。”
“挑战之一是我们如何决定,新图片和查找表中数据的相似程度。机器学习的一部分就是学习相似性函数。另一项挑战是,查找表内容过多时,会发生什么情况。每查看一张图像,你都要做无数次对比。所以机器学习的另一部分是,用计算功能给存储大量数据的查找表取近似值,而非一张一张浏览所有图像。计算功能知道如何粗略估计价值。这就是ML的本质——用计算功能给巨型查找表取近似值。学习就是这样。”
人工智能肯定不止于此,但用这段话做AI讨论的开场白再恰当不过,因为这样解释AI听上去很真实,甚至有些无聊,或者说机械化。现在关于AI的谈话都将其威力神化,对其近乎神奇的能力膜拜不已。的确,AI极其强大,但并非魔法。它也有局限。坎德拉在演讲中喜欢给大家看一张将魔法师和工厂图片放在一起的幻灯片。他告诉我们,Facebook认为AI更像工厂,因为“魔法师不能扩张规模”。
而这就是Facebook在AI和机器学习领域采取的行动:以惊人的速度扩张。几年前Facebook只有几个机器学习团队,要用好几天时间才能完成一项实验。但坎德拉告诉我们,现在公司每天有几百个员工进行数千次实验。AI嵌入平台的方式过于复杂,产品(你的推送信息、聊天,还有孩子的Instagram小号)与算法已经融为一体。用户看到的界面和活动几乎都在AI和机器学习的眼皮底下。
了解Facebook费尽心思部署AI的做法和原因,对准备投资算法的组织来说大有裨益。人们很可能认为Facebook资源丰富,只要雇用最优人才,写出最好的算法,就能锁定胜局。但坎德拉没有这么做。Facebook当然人才济济,算法也很先进——有的可以“看见”图像或自动对图像进行滤波处理;有的理解对话并做出回应;有的能翻译不同语言;还有的可以预测客户偏好和购买行为。
但在某些方面,算法并非坎德拉的主要关注点。他一直都忙于创建AI工作室,让公司每个人都能用AI达成自己的目标。可以说,坎德拉建立了Facebook平台的AI平台。不管你是造诣颇深的程序员,还是一窍不通的新手,你都可以使用他的产品。
以下是他的做法以及可借鉴之处。
联盟号
坎德拉曾是资深微软研究员,2012年加入Facebook广告部。他和几个员工接管了一个优化广告用户定位的算法。
坎德拉将他接手的机器学习编码形容为“稳定,但不够先进”。他不只一次将之比作20世纪60年代的苏联联盟号飞船——简单,但可靠;即便不是最先进、最好的飞船,也能顺利完成任务。“它能带你完成任务,不是当前最先进的卷积神经网络。”
你可能会以为坎德拉着手做的第一件事就是将算法升级,或者说为了航天飞机放弃联盟号,但事实并非如此。“我做以下三件事,可以获得更多价值。”他说,“改进算法本身,提高精密度;给算法更多数据,提升现有编码表现;加快实验速度,快速获得结果。”
“我们关注数据和速度,而非更好的算法。”
坎德拉将这一决定描述为“重大”而又“艰难”。他奖励创造新算法和改进既有算法的计算机科学家,特别是使用学术理念的专家。新的目标是优化统计模型。被期刊引用,让你的同事惊艳,这些都可以证明你的价值。
工程师必须转变思维模式,才能将注意力放在商业影响上,而非优化统计模型。坎德拉认为,很多公司只注重创建最优算法,或雇用自称能创建最优算法的开发人员,但这是很多AI开发人员的思路,所以这些公司其实犯了大错。
对公司而言,提高公司业绩的好算法比先进的统计模型更有价值。如坎德拉所言,算法真正的突破性进步很罕见,最多一年两到三次。如果他的团队将精力放在改进算法上,就要花大力气保持盈利。
他再三强调以下这几点:先明白公司会受到什么影响,你正在解决什么问题,需要应对什么商业挑战。“你可能在寻找最耀眼的算法,和带来最先进算法的人才。但实际上你应该寻找着迷于算法实际应用的人才。我发现当前很多谈话中都缺少这样的洞见。我和我们的机器学习特聘专家曾在办公室里聊天,谈到不同类型的AI从业者。他说:“没人真心觉得自己的算法很好或怎么样。”于是我想,也许算法也就还好。
“我不是说,别在算法上花心思。我的意思是,给算法更多更好的数据,然后快速实验,这样才有意义。”
所以坎德拉并不觉得成功就是创造最好的自然语言处理算法。他将成功定义为创建帮助用户寻找餐馆的算法,这样他们就不必问朋友:“附近有什么好吃的呢?”用户的兴奋点不是,计算机视觉算法可能即将拥有像素近乎完美的物体识别能力,而是AI注意到你发了很多海滩照,还能帮你买套游泳衣。
坎德拉的策略开始在Facebook见效。广告收入提高,他的声望也水涨船高。我们在谈话中提到,AML似乎成为了Facebook最集权化的部门。但坎德拉并不认同,而且两次反驳。“我担心人们会以为,‘只要迈出第一步,成功就指日可待。’”仅仅创造了一些人工智能应用,就希望人们看到AI价值并普及AI,未免太异想天开。
但他确实选择有利时机,采取了行动。他和信息推送团队合作,但拒绝了其他很多团队。之后他与Messenger团队展开合作。他的团队壮大,和其他团队一起承担了更多项目。
到了2015年,坎德拉发现,团队需要集权化,所以他开始思考如何创建集权化团队。他依然担心“只要迈出第一步,成功就指日可待”的心态,但他不太关心团队结构了,而是更注重让团队与Facebook其他部分有所连接。“你建立一家制造优质部件的工厂,但忘了设计工厂对外的渠道?”他笑了,“那你好好造部件吧。”
直到那时,坎德拉才想起来升级一些算法,而当时他到Facebook已经有3年之久了。(顺便说一下,即便到今天,与国际空间站对接的紧急逃离飞船依旧是联盟号。)
H2
坎德拉走到白板前,介绍他建立Facebook内部AI工厂的过程。他说,关键在于找到AI适合哪种产品开发路线。他随后画了张和本页右上角图表类似的图形(见边栏《AI在Facebook中所属部门》)。
研发和科学部门的工作领域是H3,即阶段3或产品开发前的3年。研究AI的数据科学家往往认为自己从事H3的工作,比如改进算法、寻找机器学习新方式。坎德拉没让团队介入H3,原因上文已提到——H3还未涉及业务层面。H1是产品交付阶段,由产品团队(信息推送、Instagram和广告团队)负责。AI也不在这一领域,因为产品深度开发后再添加新功能,难度太大——这就像制造汽车时车已经开始组建了,才决定添加自动驾驶功能。
因此介于科学和产品之间的H2就是AML的领域。AML是将科学转化为产品的部门,其研究方向不受研究人员左右,也不负责产品生产和运输。AML把控产品逐渐成熟的阶段,所以工作环境充满变数。坎德拉这样评价H2:“这里必须让你感到不安。你必须雇用能够适应H2环境的人,他们必须能忘我工作。因为工作成功的话,你就会拖延时间。你需要一定比例的失败。我可以接受50%的失败率。”
如果团队失败次数少了,坎德拉会怀疑成员有意规避风险,或者回到了H1产品的思维模式中。“可能我们就这样顺利完成了工作,但我们依旧是失败的,因为应该是产品团队做这项工作,而不是我们。如果广告团队必须使用你的技术创造价值,那就给他们技术,然后产品出品前,在机器学习领域发力。”
所以坎德拉团队并未创造能够为其赢得美誉的新统计模型或新产品。他建立的工厂培养将科学转化为产品的专家,而且他们的失败率高达50%。
应用机器学习
双击可看大图
扩张或拉拢
话虽如此,H3、H2和H1三大领域之间界限并不清晰。在有些情况下,坎德拉团队也在解决一些问题时,关注机器学习科学领域,而有时这样做的确会帮助到产品开发。
AML刚成立时跨领域作业的确对产品开发颇有助益,因为这一行很多人还未接触过AI,也没有见识过AI的能力。比如有一次AML创建一个翻译算法。团队进入研究领域,查看既有算法的作业方式及改进方法,因为他们觉得与其翻译出不合逻辑或意义完全不对的语句,还不如一开始就不翻译了。
“起初更多是我们向其他领域扩张,而且我们这边主动权更大。”坎德拉说,“但方式比较温和。我们不会越界给其他团队分派任务,比如告诉产品团队:‘这个不错,你们用吧。’”但坎德拉团队会参与一些产品编码的撰写。除了本身核心职能之外,他们也参与一小部分科学和产品领域的工作,目的是让产品团队成员了解到AML为其提供的服务。
这两个团队创建的产品——将社区网页即时翻译成多种语言的软件,取得了成功。其他项目也采取扩张方式,现在Facebook的国际团队和其他产品小组还拉拢AML,希望在自身产品中使用AML的编码。
“现在的运作方式并非我所愿。”坎德拉说,“我希望公司所有产品负责人每季度都聚在一起听取AI报告。将来肯定会有这一天。过去两年的对话方式现在已经完全改变。比如现在我从本座大楼的前门走到后门,遇到视频团队或Messenger团队的话,他们会拦住我说:‘嗨,真开心我们试了你们的编码。我们可以围绕这个创建产品。’这种对话在以前从未出现过。”
但AML的成功也带来了前所未有的挑战:既然每个人都想和AML合作,那坎德拉的工厂就必须扩张。
夹心蛋糕
扩张不意味着对每个项目都有求必应,或为完工合并工程。所以坎德拉换了其他组织方式。首先他根据团队成员负责的AI工作类型,将团队分成多个小组。
这些小组还保留共有属性,所以不同小组(比如计算机视觉)可以使用任一机器学习应用软件进行图片解析,还能重复使用自己的成果。
接下来坎德拉开始进行大规模工程建设,即建立Facebook自己的AI支柱——FBLearner Flow。这个系统中的算法可供任何人重复使用。耗时的实验设计和执行流程实现自动化;过去的成果得到保存、可重复使用,且容易搜索。系统搭载的硬件设备充足完善,所以很多实验可同时进行,而且每秒可进行600多万次预测。以上进步将从数据和规模两方面加快实验速率。
系统还考虑到不同类型潜在用户的需求。坎德拉认为,要想让AI加入工作,并实现进一步扩张,他必须帮助AML之外的人自主工作。于是他创造了所谓的人工智能“夹心蛋糕”。
最底层蛋糕主要与AML的工作相关:优化核心系统(注重性能提升,特别是移动端的表现),与机器学习算法合作。上层蛋糕聚焦工具,旨在让AML外的人自主使用AML的算法。“你给用户呈现的界面才是工作的重中之重。”坎德拉说。有时他会为AML外的开发人员创建系统,辅助他们建立并运行自己的模型。
社推
我们可以用一些AI的例子,来阐释坎德拉团队结构和扩张/拉拢的动态平衡。这些AI基于你输入的信息显示相应内容。自然语言机器学习团队创建了理解会话型输入信息的系统。
该智能最先介入Messenger的聊天客户端。AML负责开发模型,而产品团队创建使用案例和“意图”——系统所学任务类型的术语。举例来说,训练自然语言AI识别“我在寻找最好的……”等语句并做出正确回应,就是所谓的“意图”。
最开始创建的几个“意图”以M Suggestions的形式出现在Messenger中。
如果你给好友发起会话,说“我们30分钟后见”,M Suggestions可能提示你租辆车。
意图创建模型的工具不断改进,产品团队渐渐可以熟练使用这些工具,这时AML的作用就小了。现在Messenger团队已经自主创建了多个意图,进一步完善了M Suggestions。
但这类自然语言人工智能并非只为聊天而创建,也可用于其他情景。该AI编码是CLUE,即“会话型学习理解系统”,现在已经嵌入更多Facebook应用软件,比如状态更新和信息推送。社会化推荐,或者说社推(social rex,现在普遍的说法)明显开始受AI驱动。如果你输入“我正在去奥马哈的路上,希望在市中心吃到美味牛排”,AI可能像朋友一样,给你的帖子写留言,列出几家牛排馆,并标注出这些餐馆到市中心的距离。若你的朋友回复你“市中心也有好吃的素菜馆”,算法也会回复一些相关数据。
社推意图还必须在AML辅助下创建,但最终目标是摆脱坎德拉团队,实现自主制作,比如M Suggestions的成功。
AML的主要宗旨也是让产品团队自主使用AI。“我们教你钓鱼,”坎德拉说,“你就去钓鱼,然后我们再准备下一件事——造一艘渔船。等到你开始用渔船,我们就要建罐头食品厂了。”
当时大概70%的AI支柱建设工作由坎德拉团队之外的人完成,而与AI的深度连接是成功实现这一比例的原因之一。没有开发背景的人有时也可在Lumos工具的辅助下使用机器学习。
骑马和麦片盒
Lumos是计算机视觉AI,可以查找Facebook、Instagram和其他平台上的照片并了解其内容。你可以训练Lumos“看见”任意事物。它协助自动搜查、禁止网络黄色暴力内容、IP侵权(品牌和标识使用不当)和其他负面内容,也能基于你上传的照片,帮助判断你的偏好,从而驱动个性化广告推广和推荐。
我在Facebook的样片中看到几个工程师选择把“骑马”当作意图,或者说我们将要寻找的事物。界面很简单:点击几下,再填几张表——你在寻找什么?你想查看多少数据?然后算法开始寻找骑马的图片。缩略图逐渐铺满页面。
算法之前搜索过骑马,所以已经很擅长寻找对应图片。我估计弹出的80%以上图片显示的是骑马,而事实也如此。图片中骑马的姿势各不相同,有的是静态照,有的是马抬前蹄或跳跃障碍。算法找到图形和图形之间的分界线,基于之前所学,判断这些线条交汇处的意义。它知道哪种像素组合可能是人或是马,也知道“看到”人和马在一起,而且人在马上面时,就找到了骑马的图片。
我们还找了一些和骑马无关的图片——人站在马旁边或人骑着骡子,将这些照片标记为不匹配图片,并加上红色边框,避免混淆。算法“记住”这些信息,或者说将信息添加到查找表中供下次使用。页面上方简单的图表显示算法多次查找后的准确度和可靠度。图表往往呈现出一条S曲线——算法开始学习较慢,之后迅速提升,再往后准确度提升减缓。此时算法已经很擅长识别骑马照片了。
解析其他有潜在价值的照片对算法来说难度较大。“证据”不容易推断出,因为在计算机看来,这些图形和普通编码区别不大,但还是有一些有趣的应用软件帮助AI识别并“阅读”证据。工程师表示,算法经常弄混保龄球场和自动扶梯,因为两者有很多相似图形和视觉特点。
我问:“像‘食物’这样的东西怎样识别呢?”于是我们又聊到了机器学习的另一重要课题:它只能表现出训练后该有的水平。
我们选择训练AI识别食物。我们看了很多水果和蔬菜的图片,还有餐馆的盘子。所有食物,甚至还有麦片盒,但这是食物吗?
答案模棱两可。但麦片盒里确实有食物。我们买麦片时买的是食物,而非盒子。如果我问,橱柜里还有食物吗,你不会说:“没有,只有一个麦片盒。”另一个更贴合Facebook情况的例子是,如果我上传一张麦片盒的图片,AI会以为我上传的是食物图片,还是盒子图片?从数据的角度看,这是盒子的照片。
那么我们将这次分类归为匹配还是不匹配呢?以下是机器学习原理的部分解释。训练算法时,你必须明确定义各个类别。食物从某些方面看太笼统,算法要不然看错图片,要不然就看得不准,因为它很难知道,我们所谓的“给我看食物图片”究竟是什么意思。“蔬菜”更适合训练算法,而且在训练时,每个人都必须用同样的方式定义所有词汇。假设两个人一起训练算法,如果其中一个人总将麦片盒标记为食物,而另一个人标记为非食物。现在你想象一下这件事发生在几太字节(TB)的视觉数据上会怎样?
同理可用于自然语言处理。人类擅长在情境下解释文本,找到深层次含义。比如我可能打出以下一行字:“我真喜欢超级英雄的电影。真的好有创意啊!我希望他们还能制作出100多部这样的电影。”了解我,也懂调侃的朋友可能很快就知道我表述的其实是完全相反的意思。但人工智能仍在学习如何分辨这种信息的含义。要判断我是否在说讽刺话,它必须深入了解背景,不能仅限于学习分析语法和词汇。它必须看到我说过和在网上贴出的信息,并找到其他相关线索来判断我是否真的喜欢这类电影,想再看100多部,还是我实际上讨厌看这电影。它们不能判断失误,因为这类错误不利于平台建立和用户的亲密关系。如果我只是在调侃,但平台推送给我的信息开始大量出现超级英雄电影的广告,我可能并不享受这种体验。
并非魔法
类似的细节说明了AI的局限所在、人类在AI训练中所扮演的重要角色,以及为何解决问题和创造价值比找到先进模型更重要。采访那天天色已经很晚了,坎德拉还在思考着这些问题,同时讨论着AI现在被神化的地位。他指出,把AI看作灵丹妙药的人太懒,没有批判性地看待AI。
“让我困惑不解的是,”他说,“每个人都知道统计学家和数据分析师的工作。如果我想知道‘不同年龄段的行为方式’,我就去问数据分析师。”
“所以每当有人跳过这一步,直接找到我们,称‘给我一个机器学习算法做我们想做的事’,我就会觉得‘我对你们来说算什么?你们想要解决什么问题?目标是什么?权衡取舍是什么?’有时他们还惊讶于为什么会有权衡取舍。“如果对方没有准备好以上问题的答案,我就会想:‘你到底以为AI是个啥?’”
他们以为AI是魔法。
“但AI并非魔法。这就是我要告诉人们的信息。‘你不需要机器学习。你须建立数据科学团队,帮助你全盘考虑问题并进行有效测试。和他们坐在一起,看看你的数据。如果你不知道周围发生了什么,没有任何感知,也不能创建简单、有规则的系统(比如针对住在本地区的20岁以下青年,做以下事情),如果你都做不到,那么即便只是和你谈谈如何用AI解决问题,我都深感忧虑。”
“有些高管找到我时并不是想要主动了解技术,他们会先谈到自己深入思考过的问题,我觉得这样很好。只要有正确数据,简单可靠、基于规则的系统往往可以帮助你解决80%的问题。”
“猜猜看这样的系统将有什么优点?——每个人都能理解它。我们要先耗尽人类脑细胞。”
史考特·贝瑞纳托是《哈佛商业评论》英文版高级编辑,也是《好图表:让数据可视化更智能并有说服力的HBR指南》(Good Charts: The HBR Guide to Making Smarter, More Persuasive Data Visualizations,2016年出版)一书作者。