作者 | 年素清
在很多人眼中,杰夫·迪恩(Jeff Dean)就是谷歌技术的代名词,谷歌今天的强大离不开他的付出,他是MapReduce、BigTable、Spanner、TensorFlow 等谷歌众多知名软件的重要贡献者,这些成果不仅奠定了他在谷歌的地位,也为他在业界赢得了无数的崇拜者。
高中为父亲写软件
迪恩于 1968 年 7 月出生在美国夏威夷,他的父亲是一位热带病学研究员,母亲则是一名通晓六种语言的医学人类学家,良好的家境往往意味着良好的教育环境。
读小学时,迪恩和父亲共同对一台 IMSAI 8080 计算机进行编程探索,他们将升级程序焊接在机器上,并深入研究了这台设备的构造和运行原理。
因为父亲的职业缘故,他们不得不经常搬家。十三岁时候的迪恩提前结束了自己八年级的学业,随父母一同来到索马里西部的某难民营。
迪恩在读高中时,曾为父亲和其同事们编写了一款叫做“Epi Info”的程序,用于收集病理相关的数据,后来这款软件成为流行病专家们在野外工作的标配工具,推出了十几种语言的版本,用户数量达十几万。
1990年,迪恩以最优等的成绩从明尼苏达大学计算机与经济学系取得学士学位。之后进入华盛顿大学,攻读计算机科学博士学位。在此期间,他曾为世界卫生组织的艾滋病全球方案开发软件,在HIV传播的统计建模、预测和分析,取得了良好的成效。
谷歌的黑科技
1996年,博士毕业后的迪恩进入DEC公司的Western Research Lab工作。三年后,迪恩跳槽加入创期的Google。从1999年至今,迪恩在谷歌的主要工作成就包括设计并部署了Google广告、抓取、索引和查询服务系统的大部分内容,以及位于Google大部分产品下方的各种分布式计算基础架构,同时他也是Google新闻、Google翻译等产品的开发者。他发起创办了Google大脑,并一手打造了目前全球份额第一的深度学习框架平台TensorFlow。
虽然目前官方给他定义的职位是“Google高级研究员”,但谷歌内部所有的员工都知道,他在Google的地位仅次于两位创始人拉里 佩奇(Larry Page)和谢尔盖 布林(Sergey Brin)。
Google作为全球知名的科技巨头企业,不乏各种黑科技,但业界称谷歌最大的黑科技就是迪恩,他是整个公司唯一受到全体程序员崇拜的人。
主导开发出MapReduce
在迪恩的谷歌职业生涯中,他总共设计并主导实施了谷歌基础架构五次更新换代,其中规模最大的一次升级在2003年,由他与同事桑贾伊·马沃特(Sanjay Ghemawat)共同完成。
在开始升级前,他们发现每次解决一个重要问题,所面向的都是在无数计算机上协同运行,因此只有对解决方案进行全面推广,才能避免一次又一次重复面对同样的问题。他们需要创建一款工具,确保谷歌公司的每一位程序员都能够利用其运行数据中心内的机器。
最终,他们花费了四个月的时间编写出了一种面向大规模数据处理的并行计算模型——MapReduce。
在接下来的一年里,迪恩与马沃特以 MapReduce 任务的形式重写了谷歌的爬取与索引系统。当其他工程师意识到 MapReduce 的强大作用后,他们也开始利用它来处理视频,并在谷歌地图上渲染图块。由于MapReduce可以普遍应用于很多大规模数据的计算问题,不久之后,Google公司内部进一步将其广泛应用于很多大规模数据处理问题,很快有上万个各种不同的算法问题和程序都使用MapReduce进行处理。
MapReduce的推出给大数据并行处理带来了巨大的革命性影响。2004年,Google公司在国际会议上发表了一篇关于MapReduce的论文,公布了Google的MapReduce的基本原理和主要设计思想,这为后来“Hadoop之父”道格·卡廷(Doug Cutting)设计出大数据处理框架Hadoop提供了重要的技术支持。可以说,没有MapReduce,就没有大名鼎鼎的Hadoop。
力排众议引进神经网络
迪恩在读本科时,就已经能够用C语言为神经网络编写并行计算的代码,他有关神经网络的毕业论文被评为最优等本科论文,至今仍保存在明尼苏达大学的图书馆中。但在那个时候,学者们对神经网络的研究仅限于理论,还无法使用它来解决真实世界中的问题。
2011 年,全球云计算悄然兴起,迪恩认识了来自斯坦福大学的计算机科学教授吴恩达,后者正在谷歌负责领导一个关于神经网络研究的项目“Project Marvin”。吴恩达告诉迪恩,斯坦福大学的研究人员们发现向神经网络提供大量数据之后,即可获得一系列意想不到的结果。吴恩达认为,在谷歌庞大的业务规模支撑之下,神经网络将在实用性层面有所提升,意义非凡。
本科毕业已过去近二十年,迪恩对于神经网络的知识早已生疏,于是他决定每周拿出一天的时间来重温相关的技术知识。
当时,公司内部有很多人对这项技术持怀疑态度。时任谷歌高级副总裁艾伦点尤斯塔斯(Alan Eustace)说道:“这简直是在浪费人才。”就连他之前的搭档马沃特也对迪恩的举动无法理解,他劝诫迪恩说:“你的工作在于管理基础设施,而不是把时间浪费在那些没用的东西上!”
但迪恩不为所动,他后来一手主导了深度学习项目“谷歌大脑”的创立。
主导TensorFlow 的完成
2012 年,迪恩、吴恩达及格雷格·科拉多(Greg Corrado)三人合作进行了一场试验:将 1.6 万个处理器相连接创建出了全球最大的中枢网络系统,自主学习 1000 万张图片后,在 YouTube 视频中成功认出了猫的图像。这个试验结果轰动一时,迪恩激动地说:“在训练中我们从没说过这是一只猫,从本质上,它发明了‘猫’这个概念。”
在接下来的几年时间里,谷歌大脑团队开发出了远超以往最佳方案的机器翻译以及语音与图像识别神经网络。最终,这些神经网络模型取代了谷歌最重要的搜索结果排序与定向广告算法,这也使得谷歌大脑团队成为公司内增长速度最快的部门之一。
有位谷歌的资深工程师说道,迪恩的参与标志着谷歌内部人工智能开发工作的历史性转折点,“当时有人相信神经网络,也有人不信,但迪恩证明了它确实有效。”
为了简化和重构相关的代码库,使其变成一个更快、更健壮的应用级别代码库,迪恩率领团队合力研发出了TensorFlow。TensorFlow 极大降低了将神经网络分配至多台计算机的门槛,从而将大量计算设备视为统一的庞大主脑。
2015 年,TensorFlow 正式推出,很快成为人工智能领域的客观标准。谷歌 CEO桑达尔·皮查伊(Sundar Pichai)骄傲地宣布谷歌是一家“AI 优先”的企业,并任命迪恩领导公司内的所有 AI 开发项目。
充满仰慕之情的段子
因为迪恩在计算机领域的卓越贡献,他于2009年以41岁的年纪当选美国工程院院士。
然而,名誉头衔时常有,用来表达敬佩之情的段子却不是每个大佬都能拥有。圈内人都知道,网上有专门调侃迪恩的段子,多为谷歌内部员工所作。这些段子有真有虚,但无一不是表达了他们对他如滔滔江水一般的敬仰之情。
相传迪恩被Google面试时被问及如果P=NP意味着什么,他回答说,“P=0 或者 N=1”。然后在所有的面试官还没笑完之前,迪恩看了一眼Google的公共证书并在白板上写出了对应的私钥。
据说在2002年,有一次Google的索引服务器挂了,迪恩手工回答用户的问题2小时,评估数据显示期间搜索质量提高了5%。迪恩在斯坦福做演讲的时候,来听的人太多以至于著名的计算机大佬Don Knuth只能坐在地板上聆听。
人们说编译器从来不给迪恩编译警告,而是迪恩警告编译器。更疯狂的是,有人说有迪恩咬了一只蜘蛛,然后这只蜘蛛获得了超能力并掌握了C++。
看完大佬的故事,你是不是也想去咬他一口?