美国工程院士、谷歌首席架构师、结对编程榜样杰夫·迪恩(JeffDean)博士传记(27k字)

2020-03-11 11:31:45 浏览数 (1)

关键词:杰夫·迪恩(Jeff Dean),杰弗里·阿德盖特·迪恩(Jeffrey Adgate Dean),简历(Resume),博士(Doctor),谷歌人(Googler),结对编程(Pair Programming),首席架构师(Chief Architecture Officer),工程院院士(Engineering Academician)。

目录

美国工程院士、谷歌首席架构师、结对编程榜样杰夫·迪恩(Jeff Dean)博士简历(38k字)

秦农序

I. 美国工程院士、谷歌首席架构师、结对编程榜样杰夫·迪恩(JeffDean)博士简历(5k字)

1. 人物生平

2. 学校经历

3. 工作经历

4. 技能著作

II. 美国工程院士、谷歌首席架构师、结对编程榜样杰夫·迪恩(JeffDean)博士传记(27k字)

1. 人物传记

2. 结对编程

3. 迪恩幽默

“数据简化DataSimp社区”福利时刻

素材(3.7k字)

秦农跋

秦农序

杰夫·迪恩(Jeff Dean)是谷歌首席架构师、谷歌研究院高级研究员、谷歌人工智能团队谷歌大脑(Google Brain)负责人,华盛顿大学博士、美国工程院院士、ACM(计算机协会)会士(fellow)、清华大学AI研究院计算机学科顾问、AAAS(美国科学促进会)会士(fellow)。他在谷歌负责过许多大型项目,如领导开发支持谷歌运行的超大规模计算框架MapReduce和机器学习标志性软件TensorFlow,近两年推动谷歌大脑培训生计划(Google Brain Residency Program)。本期“科学Sciences”文章素材来自谷歌、领英、百科、知乎、纽约客等媒体,公号框发送“杰夫迪恩”或“Jeff Dean”获取本文38k字10图20页PDF。数据简化社区“科学Sciences”新媒体,旨在帮助科学爱好者和工作者从思维方法上接近科学技术殿堂。欢迎大家阅读、关注、赞赏支持本社区,也欢迎投稿、义工或加入数字期刊。

II. 美国工程院士、谷歌首席架构师、结对编程榜样杰夫·迪恩(Jeff Dean)博士传记(27k字)

美国工程院士、谷歌首席架构师、结对编程榜样杰夫·迪恩(Jeff Dean)博士传记

文|秦陇纪,科学Sciences©20200111Sat

杰夫·迪恩(JeffDean)是谷歌首席架构师、谷歌研究院高级研究员、谷歌人工智能团队谷歌大脑(GoogleBrain)负责人,华盛顿大学博士、美国工程院院士、ACM(计算机协会)会士(fellow)、清华大学AI研究院计算机学科顾问、AAAS(美国科学促进会)会士(fellow)。他加入谷歌21年,负责过许多重要大型业务项目,领导开发支持谷歌运行的超大规模计算框架图简化(MapReduce)和机器学习标志性开源框架张量流(Tensorflow),是谷歌大脑(Google Brain)、谷歌广告系统、谷歌搜索系统等技术重要创始人之一,可以说是谷歌技术的奠基人。近两年他还推动一个谷歌大脑培训生计划(Google Brain Residency Program),给对人工智能感兴趣的各界人士提供来到谷歌大脑进行一年进修的机会。[13]

1. 人物传记

1996年,杰夫·迪恩(JeffDean)从华盛顿大学计算机博士毕业,就已经是美国顶尖计算机科学家之一了。三年后加入谷歌成为第20号员工,那年谷歌还是个小公司,但聚集了创始人拉里·佩奇(Larry Page)谢尔盖·布林(Sergey Brin),以及杰夫·迪恩(JeffDean)三位技术大牛。

早在明尼苏达大学读计算机和经济学本科时,杰夫·迪恩(JeffDean)的毕业论文就研究如何并行训练神经网络,这是人工智能第一次热潮中的热门话题。加入谷歌后,他的第一个主要工作是创建谷歌的广告系统Adsense(广告感)——作为谷歌搜索广告,如今所有互联网广告的原型,其重要性简直不言而喻。之后,他又用四五年时间开发谷歌的检索、索引和搜索系统,利用著名的网页排名(Pagerank)搜索算法,使得谷歌一举成为最优秀的搜索引擎公司。此后,他一直在和桑杰·格玛瓦(Sanjay Ghemawat)等同事开发谷歌用来存储和处理大型数据集做构建搜索索引或处理卫星图像等事的软件基础设施。大量的工程项目实践后,2009年,杰夫·迪恩(JeffDean)当选美国工程院院士。2011年,与吴恩达联合创办谷歌大脑后,杰夫·迪恩(JeffDean)深入参与了谷歌各项人工智能技术的策划与搭建,从自动化机器学习(AutoML)到张量流(TensorFlow)再到张量处理器(TPU),还有100 人工智能应用项目(详见《谷歌研究:回顾2019年,展望2020年及以后》Google Research:LookingBack at 2019, and Forward to 2020 and Beyond),已然成为谷歌人工智能技术的代名词。

2011年是如今这第三波人工智能热潮的开端之年。2011年初,杰夫·迪恩(JeffDean)吴恩达(Andrew Ng)主导创建“谷歌大脑”(Google Brain)这一奠定了谷歌人工智能领先地位的重要部门。

2011年初,杰夫·迪恩(JeffDean)在谷歌的休息室遇见了斯坦福大学计算机科学家、谷歌顾问吴恩达(Andrew Ng)。吴恩达表示正在帮助谷歌X实验室中秘密推进的马文项目(Project Marvin)——以著名AI先驱马文·明斯基(Marvin Minsky)命名,模仿人类大脑结构的数字网格,用于研究“神经网络”,已经取得了一些进展。而迪恩(Dean)1990年在明尼苏达大学时曾接触过此类技术,那时神经网络概念就已经开始流行了。最近五年,专注于神经科学研究的学者数量再次开始快速增长。迪恩(Dean)对这个项目很感兴趣,于是决定分出自己20%的时间投入其中(谷歌员工可以用20%时间从事核心职务外的“私活”)。随后,迪恩(Dean)又拉来一位得力助手,拥有神经科学背景的格雷格·科拉多(Greg Corrado)。同年春季末,该团队又迎来了第一位实习生——吴恩达最出色的学生富国乐(Quoc Le)。在那之后,马文项目(Project Marvin)在谷歌工程师口中变成了“谷歌大脑”(Google Brain)

成立第二年,吴恩达离开谷歌(去担任百度首席科学家,领导1300人AI团队),迪恩(Dean)请来了杰弗里·辛顿(Geoffrey Hinton)。辛顿(Hinton)只想离开多伦多大学在谷歌待三个月,因此他成了谷歌实习生,却将谷歌大脑的战果再次扩大。几个月后,辛顿(Hinton)在两位学生的帮助下,在图像网(ImageNet)大型图像识别竞赛中技惊四座,计算机不仅识别出猴子,而且能区分蛛脸猴和吼猴,以及各种各样不同品种的猫。随后,谷歌马上对辛顿(Hinton)及其学生伸出了橄榄枝,他们也欣然接受。“我本以为谷歌要买我们的知识产权,”辛顿(Hinton)说道。“结果它们是对我们这几个人感兴趣。”

格雷格·科拉多(Greg Corrado)、富国乐(Quoc Le)、杰弗里·辛顿(Geoffrey Hinton)、伊恩·古德费洛(Ian Goodfellow)等重量级大牛相继加入。谷歌大脑构建起了基于大规模分布式运算和大数据的谷歌大脑的基础体系,并运用深度神经网络技术,将人工智能在谷歌产品中的运用带上了新台阶。其中最出名的一个项目是2012年时,杰夫·迪恩(JeffDean)吴恩达(Andrew Ng)的团队通过深度学习技术,用16000个中央处理器核心在学习1000万张图片后,成功在油管(YouTube)视频中认出了猫的图像,在当时业界引起极大轰动。此后,他又领导开发了谷歌机器学习标志性软件张量流(TensorFlow)、支持谷歌运行的超大规模计算框架图简化(MapReduce)等重要项目。2015年11月,张量流(TensorFlow)正式开源发布,如今已是深度学习领域占据统治地位的框架。

2.结对编程

大家眼中,杰夫·迪恩(JeffDean)是谷歌技术的代名词,也是谷歌如此强大的重要原因。但实际上迪恩(Dean)是和另一位技术大神——桑杰·格玛瓦(Sanjay Ghemawat),从数字设备公司(DEC)到谷歌(Google)创始,两人一路走来。谷歌从创业公司成长为一代巨头的过程中,有成百上千的优秀工程师参与贡献,其中杰夫·迪恩(JeffDean)桑杰·格玛瓦(Sanjay Ghemawat)是最初也是至今仅有的两位达到谷歌高级研究员(Google Senior Fellow)之Level 11级别(最高级别)的工程师。[16] 他们二人不但是相交甚厚的好朋友、好哥们儿,并且同在一台计算机上编码,是谷歌公司、硅谷企业中结对编程的榜样。迪恩(Dean)格玛瓦(Ghemawat)一同改变了谷歌公司乃至整个互联网的发展方向,业内称他们为计算机界最好的结对编程(Pair Programming)榜样。

图5:IT支持人员TI,大学应届生T2,硕士毕业生T3,博士T4,普通技术最高T5;T6独当一面的工程师——最顶尖的10%是一个项目成功的原因;T7和T6工程师资历非常老;首席工程师T8通常负责一个主要产品或基础架构;杰出工程师T9业内备受尊崇;T10工程师是谷歌研究员,在各自领域都是全球的顶尖专家,是一种终身荣誉

一、存储故障:谷歌索引宕机

1999年10月,谷歌用于爬取网络(Web)以建立网络内容索引的核心系统突然停止工作。虽然用户仍然可以通过谷歌门户google.com网站进行结果查询,但他们收到的结果实际上已经过期了五个月。而当时,谷歌公司联合创始人拉里·佩奇(Larry Page)谢尔盖·布林(Sergey Brin)正与雅虎就为其搜索引擎提供支持进行协议谈判,他们承诺的索引规模比当时谷歌索引的实际规模大十倍——将是一套能够随时跟进万维网内容变化的整体性索引。当时,互联网体量一年之内增长了一倍。如果不能修复突发的索引故障,那么用户通过google.com查询到的索引内容仍将停留在五个月之前,而与雅虎之间的交易也可能因此失败——谷歌公司为此次谈判投入的一切都将付之东流,由此引发的利益冲突远超工程师们的想象。谷歌公司面临一场前所未有的紧急危机。

2000年3月,谷歌公司最顶尖的六位工程师齐聚一间临时“作战室”,包括谷歌公司第一位员工克雷格·西尔弗斯坦(Craig Silverstein):早在布林(Brin)把自己客厅当成办公室时就已经加入谷歌并重写大部分代码。在这间阶梯会议室里,工程师们把门板放在木头架子上搭成简易办公桌、装上电脑开始干活。当时27岁的西尔弗斯坦(Silverstein)坐在远处,体型瘦削,嗓门洪亮。经过四天四夜的奋战之后,他和罗马尼亚系统工程师博格丹·科考塞尔(Bogdan Cocosel)依然毫无头绪。西尔弗斯坦(Silverstein)回忆道,“我们所做的任何分析都没有什么意义。一切都出了问题,但我们找不到其中的原因。”西尔弗斯坦(Silverstein)没有注意到自己左侧33岁的桑杰·格玛瓦(Sanjay Ghemawat)的存在。桑杰眉毛浓密有着一头乌黑的头发,是一个沉默寡言的麻省理工毕业生,几个月前(1999年12月)刚加入公司。他是和DEC(数字设备公司Digital Equipment Corporation)的同事——31岁的杰夫·迪恩(JeffDean)一起跳槽到谷歌的。杰夫(Jeff)又高又瘦精力充沛,比桑杰(Sanjay)早十个月离开DEC。两人之间非常要好,愿意合写代码,非常享受结对编写代码的工作方式。

作战室里,杰夫(Jeff)把椅子搬到桑杰(Sanjay)办公桌前。桑杰(Sanjay)敲打键盘的同时,桑杰(Sanjay)就在旁边侧身观看,时不时提点修改意见。他们对这个总也没个结果的索引问题进行研究,发现有些词语丢失了——他们尝试搜索了“邮箱”一词,但得不到任何结果,而其它一些词语则出现了乱序问题。几天以来,他们一直在寻找代码中的问题,检查代码的逻辑。但令人崩溃的是,对所有代码的每一部分进行全面审查之后,他们仍未能发现任何bug(软件错误)。

程序员们有时会将自己的软件概念转化为层次结构,一般以顶层用户界面为起点,逐步下降至愈发基础的层级。而在结构底层则存在着软件与硬件的过渡结构,在这里天马行空的代码序列开始转向由电与硅组成的实体世界。作战室第五天,杰夫(Jeff)桑杰(Sanjay)开始怀疑问题不是出在逻辑层面,而属于物理范畴。他们将混乱的索引文件转换为最原始的表示形式:二进制代码,想了解机器到底看到了什么。桑杰(Sanjay)的显示器上出现了一系列粗体的0和1,每一行代表一个索引词。他发现,其中某个本应是0的数位却显示成了1。接下来,他们将所有错误排序的词语汇总了起来,并发现了其中的共通模式——每个词语都存在相同的问题。他们机器上的内存芯片发生了故障。

数月以来,谷歌硬件故障越来越多。随着谷歌业务规模的快速发展,其计算基础设施也在不断扩大。计算机硬件发生故障的概率一般是很低的,但问题堆积起来之后,便会一下子引发了破坏性故障——电线磨损、磁盘损坏、主板过热等。相当一部分设备根本无法一次性成功启动,也有一些机器莫名其妙地处理速度变慢了。另外,自然环境因素也会起到一定影响——当一颗超新星爆炸时,冲击波会带来高能量粒子,朝着各个方向散射。科学家们认为,其中一种被称为宇宙射线的粒子确实有极小的机率会击中地球上的计算机芯片并引发破坏——即导致目标出现从0到1的翻转。因此,全球最稳固的计算机系统,例如美国宇航局(NASA)、各大金融企业等重量级机构所使用的计算机系统,会采用具备单位(bit)状态转换容错能力的特殊硬件,来预防这种情况。

但这时的谷歌仍然采取初创企业的运营模式,即购买大量不具备这种能力的低成本电脑设备。而事实证明,到这时谷歌已经迎来了发展的拐点——其计算集群已经变得无比庞大,因此发生硬件故障开始成为一种必然事件。之后几天,杰夫(Jeff)桑杰(Sanjay)全力编写代码以修复发生故障的机器。新的索引很快构建完成,作战室也正式解散。但这时的西尔弗斯坦(Silverstein)却陷入了沉思。他是一位出色的调试人员,他很清楚发现错误的关键在于识别出问题的根源。在这方面,杰夫(Jeff)桑杰(Sanjay)显然做得更好。

在2000年3月索引崩溃事件之前,谷歌公司的系统一直以其创始人在斯坦福大学研究生院中编写的代码为基础。佩奇(Page)布林(Brin)并不是专业的软件工程师,只是来自学术界的搜索技术实验研究员。因此,在他们的网络爬取程序发生崩溃时,系统不会给出任何有意义的诊断信息——屏幕上只会显示“Whoa,horsey!”这样的感叹。谷歌公司的元老级员工们把佩奇(Page)和布林(Brin)编写的BigFiles(大文件)软件称为BugFiles(软件错误文件),戏谑其中充斥着无数bug(软件错误)。那时候,谷歌最重要的索引代码需要数天才能处理完成,而且一旦遇到问题就必须从头开始重新启动。按照硅谷通行的说法,谷歌的系统不具备“可扩展性”。

我们都会使用“搜索Web”或者“搜索网络”的说法,但实际上这种表述并不准确。实际上,我们的搜索引擎遍历的是Web的索引——或者说地图。在1996年还在使用BackRub这个名号时,谷歌的索引地图还很小,足以安装在佩奇(Page)宿舍中的个人电脑里。但到2000年3月,其规模已经超出了任何超级计算机的处理能力。要跟上如此迅猛的发展速度,谷歌公司唯一的方法就是购买消费级设备并将其组成一个集群。由于消费级设备当中有半数成本来自对谷歌公司毫无意义的“垃圾”——包括软盘驱动器与金属机箱,因此他们决定直接订购主板与磁盘并将其连接起来。谷歌在加利福尼亚州圣克拉拉市的一栋楼里将1500套这样的设备堆到了六英尺高;但由于硬件故障,其中只有1200套设备能够正常工作。另外,随机发生的故障也在不断破坏着这套系统。为了维持业务运转,谷歌方面必须将这些计算机构建成一套无缝且具备弹性的整体。面对这项工作,杰夫(Jeff)桑杰(Sanjay)再度携手出击。

曾效力苹果公司参与苹果机(Macintosh麦金托什)研发的韦恩·罗斯(Wayne Rosing)于2000年11月加入了谷歌,负责管理百人工程团队。他回忆道,“这两位是真正的领导者。”他们每周工作九十个小时,全力编写代码,希望在不影响整体系统的情况下解决单一磁盘驱动器可能出现的故障。他们在网页爬取过程中添加了检查点,以便整个流程能够实现中途重新启动。通过开发新的编码与压缩方案,他们使得系统容量增加了一倍。他们同时也是毫不妥协的优化者。

汽车拐弯时,轮胎外侧更多地接触地面;磁盘驱动器也是同理,其在运转时外边缘的移动速度要高于内边缘。谷歌公司已经将最常访问的数据移动到外边缘处,从而加快读取磁头的执行速度。但在这种情况下,存储碟片内侧往往会被留空。杰夫(Jeff)桑杰(Sanjay)将这部分空间利用起来,存储常用搜索查询的预处理数据。到2001年,他们用了四天时间证明谷歌索引应该采用快速随机存取内存,而非相对较慢的磁盘存储——这一发现颠覆了谷歌的经济理念。佩奇(Page)布林(Brin)都很清楚,能够即时提供答案的服务将受到用户的热烈欢迎,但问题在于这样的速度水平需要强大计算能力支持,而算力是要花钱的。面对这样的困境,杰夫(Jeff)与桑杰(Sanjay)利用软件解决了问题。

2005年,罗斯(Rosing)离职后,艾伦·尤斯塔斯(Alan Eustace)成为谷歌公司工程团队的负责人。尤斯塔斯(Eustace)回忆道,“核心矛盾在于,我们必须了解最微小的细节,才有可能解决规模化问题。”杰夫(Jeff)桑杰(Sanjay)对于计算机的工作原理非常熟悉,能够立足位(bit)层级进行思考。杰夫(Jeff)曾经整理出一份《每位程序员都应该了解的那些延迟数字》清单。虽然名为“每位程序员都应该了解”,但大多数从业者对这些数字其实非常陌生——例如一级缓存引用通常需要半纳秒,或者从内存中顺序读取1MB大概需要250微秒等等。但这些数字已经直接烙进了杰夫(Jeff)桑杰(Sanjay)的大脑当中。凭借着他们对谷歌核心软件的多次重写,该系统的容量已经提升至新的数量级。与此同时,在谷歌庞大的数据中心内,技术人员也开始遵循不规划工作路线——根据软件生成的指令来更换磁盘驱动器、电源以及记忆棒。如此即使部件不断损耗甚至需要清退,整体系统仍能够蓬勃发展。

如今的谷歌工程师们身处从1级开始的庞大存在链当中。最底层的1级代表IT技术支持人员,2级为大学新生,3级则通常是拥有硕士学位的员工。达到4级往往需要数年实践周期,或者拥有博士学位。大多数员工的职业晋升都停留在第5级。6级为工程师,代表谷歌公司前10%的卓越人才,他们的技术能力直接决定着项目的成败。7级则代表着拥有长期实践经验的6级工程师。8级为首席工程师,他们的工作与各主要产品及基础设施紧密关联。9级为杰出工程师,在很大程度上已经成为一种尊称。而10级代表谷歌院士,这是一种终身性的荣誉头衔。谷歌院士是全球所在领域内毋庸置疑的佼佼者,杰夫(Jeff)桑杰(Sanjay)则是谷歌高级院士——该公司最初也是唯二的11级员工

二、最佳搭档:结对编程榜样

这两位谷歌公司的顶尖程序员,彼此如同同一个大脑的两个半球。

谷歌园区坐落在距离山景市中心仅几分钟路的高速公路旁,这里排布着装有深色窗户、毫不起眼的数座建筑。去年夏天的一天,在共同完成了上午的编程工作之后,杰夫(Jeff)与桑杰(Sanjay)在名为大表(Big Table)的园区自助餐厅里共进午餐。实际上,餐厅的名称就源自他们在2005年协助开发的系统——这套系统负责将无数计算机作为一个数据库进行处理。桑杰(Sanjay)又高又瘦,穿着复古味十足的深棕色夹克、灰色裤子还戴着一副窄框眼镜。他看中了一张露天餐桌,轻快地走了过去,撑起遮阳伞在阴凉处坐了下来。当然,他也没有忘记把另一把椅子搬到太阳下头。只过了一分钟,杰夫(Jeff)随后赶到,穿着短袖衬衫和时髦的运动鞋。

就像老夫老妻一样,杰夫(Jeff)和桑杰(Sanjay)各自讲述着自己记忆中的细节,共同回顾他们亲身参与的那些早期项目。

桑杰(Sanjay)表示,“我们当时还是手写代码。”他的眼镜在阳光下自动变换着颜色。“我们也会进行代码重写,这种感觉像「哦,好像跟我们上个月写的东西也差不多。」”

杰夫(Jeff)则补充道:“或者说,只是其中的索引数据略有不同。”

桑杰(Sanjay)接过话头:“那么,到底有多大的不同?这就是我们需要弄清的——”

杰夫(Jeff)再次接上:“本质问题。”

桑杰(Sanjay)最后做出总结,“这是我们工作的常规模式。”

杰夫(Jeff)咬了一口手中的披萨。他的手指粗糙、骨节分明、皮肤坚韧。而桑杰(Sanjay)看起来则有一种截然相反的儒雅感,真的很难想象这样的两个人会成为挚友。桑杰(Sanjay)说道,“我也不知道当初是怎么决定在一起合作的。”

杰夫(Jeff)说道,“但早在加入谷歌之前,我们就是搭档了。”

桑杰(Sanjay):“但我不知道我们为什么会觉得一起在同一台计算机前面琢磨,会比分头行动效果更好。”

杰夫(Jeff)则表示,“我宁愿走过两个街区,也想从自己的D.E.C研究实验室赶到他的研究室去。两个实验室中间有家冰淇淋店。”

桑杰(Sanjay)开心地叫道,“所以,应该就是冰淇淋店养成了我们的这种习惯。”

桑杰(Sanjay)一直未婚,但他经常跟杰夫(Jeff)本人、他的妻子海蒂(Heidi)和两个女儿一起度假。杰夫(Jeff)的女儿们会称他为桑杰(Sanjay)叔叔,他们五个人也经常在周五相约聚餐。桑杰(Sanjay)和杰夫(Jeff)的大女儿维多利亚(Victoria)关系相当要好。桑杰(Sanjay)相当骄傲地表示,“我可是看着他的女儿长大的。”在2004年谷歌上市之后,他们搬到了仅相隔四英里的新住处。桑杰(Sanjay)住在山景市旧城区一间不起眼的三居室中,杰夫(Jeff)则在帕洛阿尔托市设计了自己的房子,还在地下室安装了一架蹦床。在设计房子时,他发现虽然自己很喜欢这方面工作,但却没有耐心听取桑杰(Sanjay)在建筑方面提出的那么多细化意见:主梁、螺栓以及承重等大量细节信息,会彻底破坏杰夫(Jeff)的宏观构想。

对于结对编程,桑杰(Sanjay)表示:“我不太理解为什么大多数人不愿意这么做。”杰夫(Jeff)表示,“你需要找到一个能够与你的思维方式兼容的人,这样两个人在一起才能形成互补的力量。”

他们离开餐桌,在大表(Big Table)餐厅的谷歌员工当中穿梭,只为找到好吃的冰淇淋。在这两个人当中,杰夫(Jeff)更有表达自己的愿望,因此他在走路时分享了自己的冰淇淋心得。“我负责接冰淇淋,我觉得一推一提的办法能让冰淇淋牢牢站在蛋筒上。”桑杰(Sanjay)对此深以为然,他开心地把巧克力加香草味的混合冰淇淋压进杰夫(Jeff)手中的甜筒。

每个人都会有灵感枯竭的时候,但两个人却很少同时身陷困境。纵观过去三十五年,大约一半的诺贝尔生理学或医学奖都被颁发给这样的科学合作搭档。

经过多年共同的工作与生活,两个人之间甚至发展出了专用的交流语言,就像是一对双胞胎一样。他们会模仿彼此的穿着与习惯,共享对方的幽默风格,并建立起共通的信念。但是,这种程度的合作在软件开发中其实非常罕见。虽然开发人员们有时也会谈到“结对编程”——即两名程序员共享同一台计算机,一人负责“驾驶”而另一人负责“导航”——但杰夫(Jeff)与桑杰(Sanjay)的伙伴关系远比这密切得多。如果说普通程序员间的友情类似于协作飞行员,那么杰夫(Jeff)与桑杰(Sanjay)更像是同一个大脑的两个半球。他们发表的不少著名论文都是共同署名的,他们的经理之一比尔·科夫兰(Bill Coughran)回忆道,“他们是如此多产,工作如此高效,我们经常会以他们为中心建立团队。”

1966年,系统开发公司(System Development Corporation)的研究人员们发现,最出色的程序员在工作效率方面往往达到最差程序员的十倍以上。从那之后,是否存在这种“10x(十倍效率)程序员”就一直是争议性话题。面对庞大且必须以集体形式进行的软件项目,这一思维显然是在强调个人成员的重要性。在编程领域,很少有成就能够独立存在。但即使如此,颇为讽刺的是,很多程序员都将杰夫(Jeff)与桑杰(Sanjay)共同完成的工作视为10x程序员确实存在的铁证

杰夫(Jeff)于1968年7月出生于夏威夷,他的父亲安迪(Andy)是一位热带病学研究员,母亲李维珍(Virginia Lee)则是一名通晓六种语言的医学人类学家。出于兴趣,父子二人对一台IMSAI 8080计算机进行编程探索。他们将升级程序焊接在机器上,并深入研究了这台设备的每一部分构造。

杰夫(Jeff)和他的父母经常搬家。十三岁时,他提前结束了自己八年级的学业,随家人一同来到索马里西部的某难民营。后来在就读高中时,他开始为流行病学家们编写一款名为流行病信息(Epi Info)的数据收集程序;这一成果最终成为野外工作的标配工具,推出了十几种语言的版本并发行了数十万份。

杰夫(Jeff)后来在明尼苏达大学遇到了妻子海蒂(Heidi),那时的他还没有将自己的生活与编程紧密联系起来。她回忆道,“他从来不会吹嘘自己取得的这些成就。你得想尽办法才能引导他开始讲述。”两个人的第一约会是共同观看一场女子篮球比赛,那天杰夫(Jeff)在啦啦队里扮成了一只金花鼠吉祥物。

杰夫(Jeff)的博士学业专注于编译器,这是一种将人们编写的代码转换为针对计算机进行优化的机器语言指令的软件。艾伦·尤斯塔斯(Allan Eustace)指出,“如果从乐趣出发,那么编译器本身非常无聊。”但在另一方面,这项工作却能让人“与机器走得更近”。在谈到杰夫(Jeff)时,桑杰(Sanjay)不停用食指按着自己的太阳穴。“在你编写代码时,他会组织出一套模型。他会提醒「这些代码的性能如何?」他几乎能够以半自动方式考虑所有可能出现的情况。”

桑杰(Sanjay)在17岁进入康奈尔大学之前从来没有接触过计算机。他于1966年出生于印第安纳州西拉斐特市,但在印度北部工业城市哥打长大。他的父亲马希帕尔(Mahipal)是一位植物学教授,母亲尚塔(Shanta)负责照料桑杰(Sanjay)和他的两个哥哥姐姐。这是一个典型的知识分子家庭:他的叔叔阿肖克·梅塔(Ashok Mehta)曾经买过一本弗雷德里克·福赛斯(Frederick Forsyth)撰写的《豺狼之日(The Day of the Jackal)》的复印本。书已经快要散架了,但孩子们仍然把它拼起来读完了。桑杰(Sanjay)的哥哥潘卡伊(Pankaj)成为了哈佛商学院有史以来获得终身教职的最年轻的教师(目前在纽约大学担任教授)。潘卡伊(Pankaj)与桑杰(Sanjay)就读于同一所大学,而且被誉为“全才”。桑杰(Sanjay)表示,“其实我多少有点生活在哥哥阴影之下的感觉。”因此,桑杰(Sanjay)一直非常谦和低调。2016年,当他入选美国人文与科学院(American Academy of Arts and Sciences)时,他甚至没有通知自己的父母;两位老人是从邻居们那里听到这个好消息的。

在麻省理工学院的研究生院,桑杰(Sanjay)找到了一群志同道合的好朋友。但他很少约会,直到现在也“很少很少”与异性往来。桑杰(Sanjay)表示,他并不是拒绝组建家庭,只是事情顺其自然地发展到了现在这样。他的密友们已经习惯了不打扰他的生活,而父母也早就接受了自己儿子做出的永远当个单身汉的决定。也许正是因为他总是生活在自己的世界中,谷歌公司内的其他员工觉得他身上笼罩着一种神秘感。他以安静而深刻著称——这是一个深思熟虑且不同寻常的人。在他的桌子上,还保留着一堆近二十年前写下的 Mead 组合笔记,其中写满整洁的清单与图表。他习惯于拿起笔来快速记下自己的思路。虽然很少引用笔记中的内容,但他认为书写有助于思考。

他在麻省理工学院攻读硕士时的导师是芭芭拉·利斯科夫(Barbara Liskov),一位颇具影响力的计算机科学家,专攻复杂代码库的管理。在她看来,最好的代码应该像是一篇杰出的文章。其中需要拥有一套精心实现而成的结构,且每个字句都应有其意义。但以这种方式编程,要求创作者与受众共情。另外,这也意味着创作者不仅要将代码视为达成目的的手段,也要把它作为艺术品。克雷格·西尔弗斯坦(Craig Silverstein)表示,“我认为他最擅长的是系统设计类工作。看到桑杰(Sanjay)所编写的代码文件,你会发现这就如同一尊比例匀称的美丽雕像。”

在谷歌,杰夫(Jeff)的名头明显更响亮一些。事实上,好事者甚至依照动作影星查克·诺里斯给杰夫·迪恩(JeffDean)编了不少段子。(例如「查克·诺里斯能数到无穷大……而且数了两次」;「杰夫(Jeff)的简历只需要列出他没做过的事,因为这样篇幅更短」。)但是,对于那些非常了解二人的人们来说,桑杰(Sanjay)的才能绝对不逊于杰夫(Jeff)。曾经长期与二人共事的威尔·逊谢(Wilson Hsieh)表示,“杰夫(Jeff)非常善于提出疯狂的想法以及原型设计,而桑杰(Sanjay)则是那种能够一路完成开发工作的人。”在生活当中,杰夫(Jeff)更为外向,而桑杰(Sanjay)则比较内敛。在代码层面,情况却恰好相反。杰夫(Jeff)的编程结果往往令人头晕目眩——他能够迅速勾勒出令人吃惊的想法,但由于整个过程太快,所以其他人往往无法理解。而桑杰(Sanjay)的代码则非常亲和友好。

西尔弗斯坦(Silverstein)指出,“有些人的代码太过松散,也就是一屏代码当中包含的信息太少。这意味着你总得来回滚动才能看明白这些代码到底要表达什么含义。但也有些人编写的密码太过密集,看着它会有那种「呃,好吧,我不打算继续看下去了」的感觉。桑杰(Sanjay)在这两者之间找到了平衡点。面对他的代码,你会觉得「没问题,我可以看懂」,但同时里面又包含着大量内容。”西尔弗斯坦(Silverstein)同时补充道,“每当我打算为桑杰(Sanjay)的代码添加新功能时,总会发现其中的 hook 似乎已经留好了。我能理解其中的伟大之处,而且弄不清楚这样的代码是怎样编写出来的。”

今年春天的一个早上,杰夫(Jeff)和桑杰(Sanjay)站在40号楼的小厨房里——这里正是谷歌人工智能部门的所在地。他们身后的白板上写满了矩阵代数;桌子上则摆着一篇关于无监督对抗网络的论文。杰夫(Jeff)穿着一件褪色的T恤与牛仔裤,看起来就像一个刚刚找回生活方向的流浪汉;桑杰(Sanjay)则穿着毛衣和灰色裤子。明亮的窗户外露出一大片高耸的松树,远处还有一片田野。无论何时,只要在工作阶段,杰夫(Jeff)永远离不开意式浓缩咖啡。在小厨房的吧台上,一台三英尺宽的拉马佐科(La Marzocco)咖啡研磨机正在嗡嗡作响。桑杰(Sanjay)一边盯着那台机器一边说,“我们迟到了。”这时候是上午8点32分。

在咖啡时间结束后,他们走到了自己的电脑前。杰夫(Jeff)从自己的办公桌边抓过一把椅子——他的办公桌很脏,而桑杰(Sanjay)的桌子则永远一尘不染。他把一只脚搭在文件柜上,向后仰过去;桑杰(Sanjay)则在他面前查看屏幕。显示器上打开了四个窗口:左边是网络浏览器与终端,用于运行分析工具;右边则是文本编辑器Emacs中的两个文件——一个是待办事项列表与notebook,另一个则是色彩斑斓的代码。桑杰(Sanjay)把自己的笔记本放在了杰夫(Jeff)的台式机旁边。

“好了,我们都做了些什么?”桑杰(Sanjay)打开了话题。

杰夫(Jeff)表示,“我觉得我们正在研究TensorFlow Lite的代码规模。”

这是一个与机器学习相关的重要软件项目,杰夫(Jeff)与桑杰(Sanjay)都担心它的体积会无限膨胀;正如图书编辑一样,他们需要想办法精简内容。为此,两位构建起一款“瘦身”工具,而工具自身同样需要优化。

桑杰(Sanjay)表示,“所以我在尝试弄清它到底有多慢。”

杰夫(Jeff)回应道,“那可是相当慢。”他向前侧了侧身,但仍然非常放松。

桑杰(Sanjay)接言道,“所以这代表的是120KB,大概有8秒钟那么慢。”

杰夫(Jeff)则回应,“是12万次堆栈调用,可不是120KB。”

桑杰(Sanjay)说道,“好吧,KB指的是文本量,大概是。”

杰夫(Jeff)回道,“哦,对,抱歉。”

桑杰(Sanjay)发问,“我不太明白应该为单元大小取怎样的阈值。0.5MB怎么样?”

杰夫(Jeff)表示“应该可以。”桑杰(Sanjay)开始敲击键盘,而杰夫(Jeff)被吸引到了屏幕上。“所以你的意思是,如果比0.5MB大,那我们就应该……”他的话还没说完,桑杰(Sanjay)就用代码做出了回应。

桑杰(Sanjay)在开车的时候会把手放在十点和两点方向,而后专注地盯着前方——现在他在操作键盘,姿态也完全一致。他的双脚分开与肩同宽,仍然保持着自己最熟悉的状态。他细长的手指轻轻划过各个按键,并逐渐吸引到几位年轻程序员的围观。

不久,他们达成了阶段性的胜利,桑杰(Sanjay)输入一条命令来测试目前的进展。略显疲惫的他在命令运行的同时检查了一下电子邮箱。测试结束了,但他没有第一时间注意到。

“嘿,”杰夫(Jeff)打了个响指,手指向屏幕。虽然在日常谈话中杰夫(Jeff)总是非常轻松和蔼,但当他和桑杰(Sanjay)一起坐在电脑前时,就会瞬间变成一个自以为是、粗鲁且总爱唱反调的家伙。桑杰(Sanjay)对此早就习以为常了。在他认为杰夫(Jeff)的思路太快时,他会把手从键盘上抬起来比个手势,好像在说“等一会儿。”(一般来说,杰夫(Jeff)就像油门,而桑杰(Sanjay)则是刹车。)虽然两个人似乎马上就要吵起来了,但在过去二十年当中,他们从来没有真正彼此吼叫。

桑杰(Sanjay)滚动屏幕,把新的代码挪到屏幕正中。杰夫(Jeff)看了看,“这些都可以加入常规流程,不是吗?”

“嗯,”桑杰(Sanjay)表示同意。

杰夫(Jeff)扳了一下手指关节,“似乎没问题,那现在就添加?”

桑杰(Sanjay)更为谨慎,“不,我……”

杰夫(Jeff)则显得有些急躁,“这里有我们还没发现的问题?”

“那倒不是,我的意思是,我们得先弄清目前的状况。我们可以先做点笔记,对吧?”

“好,没问题,”杰夫(Jeff)又放松下来,他的情绪总是说变就变。他们一起整理出一张便条。

接近午餐时间,他们工作了两个小时,期间休息了十分钟,工作时大部分时间都在交流。(年轻的程序员看到他们的工作状态应该会记忆深刻,因为这两个人的对话从不会停止,甚至连停顿都没有。)在标准工程实践当中,大家需要将你的代码交给另一名程序员审查。但杰夫(Jeff)与桑杰(Sanjay)跳过了这一步,只是在记录中写下“lgtm”,意思是“looks good to me”——我觉得可以。从某种意义上说,他们可能会被细枝末节所淹没。然而,他们的代码开发工作需要充分考虑到谷歌自身庞大的业务规模。他们所担心的KB以及微秒延迟可能在世界各地的数据中心之间成倍增加,最终增长至十亿倍之巨。这些庞大且持续发热的机房中塞满无穷无尽的处理器机架,需要可观的水冷资源进行冷却。就是在这样看似平淡的工作当中,杰夫(Jeff)曾轻松写意地回到家中,告诉女儿们“桑杰(Sanjay)和我今天把谷歌搜索的速度提高了10%。”

三、大数据基石:MapReduce

在2003年的四个月当中,杰夫(Jeff)与桑杰(Sanjay)帮助谷歌完成了创立以来规模最大的一次升级。他们所使用的软件,就是后来赫赫有名的MapReduce。这次升级的灵感,来自他们在对谷歌爬取工具与索引器进行第三次重写的过程。他们意识到,每一次他们解决一个重要问题,所面向的都是地理分布广阔且个别设备可能不太可靠的无数计算机上协同运行。因此,只有对解决方案进行全面推广,才能避免一次又一次重复面对同样的问题。更具体地讲,应该创建一款工具,确保谷歌公司的每一位程序员都能够利用其运行数据中心内的机器——换言之,将谷歌的所有基础设施视为一台硕大无朋的整体计算机。

杰夫(Jeff)与桑杰(Sanjay)在办公室的角落里编写出了MapReduce。办公室窗外对着一个池塘。MapReduce 的意义在于把可能令人费解的复杂流程整理得井然有序。在MapReduce出现之前,每一位程序员都必须弄清楚要如何对数据进行分割与分发,分配工作并自行负责硬件故障的处理。MapReduce为编程人员提供了一种用于考量此类问题的结构化方法。正如厨师在食材下锅之前要先对其进行分类一样,MapReduce也要求程序员将自己的任务分成两个阶段。首先,程序员需要告诉每台机器如何完成任务的“Map”阶段(比如计算某个词语在网页中出现的次数);接下来,程序员要编写指令以实现全部机器结果的“Reduce”(例如将上述结果相加)。MapReduce可以处理分发工作的细节,从而帮助程序员摆脱这些复杂且枯燥的任务。

在接下来的一年当中,杰夫(Jeff)与桑杰(Sanjay)以MapReduce任务的形式重写了谷歌的爬取与索引系统。很快,当其他工程师意识到MapReduce的强大力量后,他们也开始利用其处理视频并在谷歌地图上渲染图块。MapReduce非常简单,能够轻松消化各类新型任务。谷歌的业务有着明确的所谓“昼夜使用曲线”——即白天的流量比晚间更多,而MapReduce任务则开始使用闲置部分的容量。正如生物会在梦中回顾白天的经历,现在谷歌也在利用同样的方式处理自己的数据。

很早开始,就有一系列迹象表明谷歌其实是一家伪装成搜索公司的AI公司。2001年,与杰夫(Jeff)及桑杰(Sanjay)同一办公室的诺姆·谢泽(Noam Shazeer)就曾因谷歌从其它厂商处获取的授权拼写检查器而身心俱疲:这款工具不断犯下令人尴尬的错误,例如提醒输入了“TurboTax”的用户,正确内容可能应该是“Turbot ax”——这太离谱了,turbot是一种生活在北大西洋海域的比目鱼。拼写检查器的表现取决于其使用的词典,谢泽(Shazeer)也深深意识到,谷歌公司完全能够立足网络获取有史以来规模最大的词典。他编写了一个程序,能够利用网络文本的统计属性来确定哪些词语更可能出现拼写错误。该软件学习到,“pritany spears”与“Brinsley spears”,实际上都属于“Britney Spears”——也就是小甜甜布兰妮的常见误写。在Shazeer参加谷歌每周举办的T.G.I.F聚会(公司每周五下午定期组织的放松活动)并展示这款程序时,其他员工开始进行测试,并发现这东西确实精明得很。在此之后,通过与杰夫(Jeff)以及另一位工程师乔治·哈里克(Georges Harik)的合作,Shazeer将类似的技术应用到了网页的关联广告当中。定向广告成了一棵取之不尽的摇钱树,而谷歌则将这棵树植根在自己的计算基础设施之上。这就是良性循环的开端——规模化成就了谷歌的智能化,而智能化为谷歌带来了大笔财富,这些财富又进一步推动谷歌实现规模壮大。正是这样的发展体系,使得谷歌公司占据着无法动摇甚至令人不安的主导地位。

越来越多富有进取心的程序员们利用MapReduce发掘谷歌数据中的洞察见解,由此积累下的结论使得转录用户的语音邮件、回答客户问题、自动完成查询以及翻译各国语言逐渐成为可能。更重要的是,这些系统都是利用复杂度相对较低的机器学习算法开发而成的。杰夫(Jeff)总结称,“即使是非常简单的技术,在配合大量数据之后,也能带来良好的效果。”而在“数据、数据、数据”成为谷歌的最高指导原则(利用BigTable、MapReduce及其后续技术存储并处理这些数据)之后,谷歌基础设施的全球扩展能力也变得更加无缝化与灵活化。更重要的是,杰夫(Jeff)与桑杰(Sanjay)打造的这些技术能够通过智能化方式进行管理,从而确保普通程序员也能够编写分布式程序,最终让谷歌在这些新的技术领域中占据先发主导地位。即使是普通用户,可能也注意到了某些悄然出现的趋势:谷歌云正在变得越来越聪明。

2004年,考虑到这些技术可能对需要处理大量数据的天文学家、遗传学家乃至其他领域的科学家们具有重大意义,杰夫(Jeff)与桑杰(Sanjay)共同撰写了一篇论文《MapReduce:立足大型集群简化数据处理(MapReduce: Simplified Data Processing on Large Clusters)》并公开发表。这篇 MapReduce 论文的出现时机可谓恰到好处。

当时,成本愈发低廉的硬件与网络服务、互连设备正快速普及并带来巨量数据,但只有极少数企业拥有能够处理这些信息的软件。在经历了艰难的小型搜索引擎Nutch的扩展挑战之后,迈克·卡法雷拉(Mike Cafarella)道格·切特(Doug Cutting)两位工程师清楚认识到了MapReduce的重要性,并决定从零开始为其创建一套免费克隆版本。他们最终将自己的项目命名为Hadoop,这个名字源自切特(Cutting)儿子最喜爱的一只毛绒小象。

Hadoop快速发展成熟,目前已经被半数全球财富五十强企业所采用。事实上,Hadoop几乎成为大数据的代名词。众所周知,Facebook公司就利用其所谓“Hadoop MapReduce”存储及处理用户元数据——包括用户的点击、点赞、广告查看等行为的信息。Facebook一度拥有世界上规模最大的Hadoop集群。此外,Hadoop MapReduce还有力支撑起了领英(LinkedIn)与内特菲克斯(Netflix)的业务体系。前美国国家安全局技术主管兰迪·加勒特(Randy Garrett)就曾经向国安局局长基思·亚历山大(Keith Alexander)上将演示过这项技术。Hadoop 执行分析任务的速度可以达到原有系统的 18000 倍,这使其成功催生出一种全新的情报收集方法——亦有部分观察家将其称为“collect it all”方法。

四、谷歌大脑:引领AI2011开端年

杰夫(Jeff)天生不愿安于现状:一旦看到问题解决方案的轮廓,这个问题对他而言也就失去了吸引力。2011年,在全世界都向云计算张开怀抱时,他开始与来自斯坦福大学的计算机科学教授吴恩达合作。吴恩达教授当时在谷歌公司负责领导一个关于神经网络研究(即利用虚拟「神经元」构建计算机程序)的秘密项目。杰夫(Jeff)曾在本科求学阶段接触过神经网络,但那个时候还无法解决真实世界中的问题。吴恩达告诉 Jeff,情况正在快速发生改变。在斯坦福大学,研究人员们发现向神经网络提供大量数据之后,即可取得一系列激动人心的结果。吴恩达认为,在谷歌庞大的业务规模支撑之下,神经网络不仅将在实用性层面有所提升,更会变得无比强大。

神经网络与传统计算机程序截然不同。与通常的方法不同,神经网络的行为并非由程序直接指定,而是通过输入与反馈自行“学习”到的。自从本科毕业之后,杰夫(Jeff)的神经网络知识就一直停滞不前,于是Heidi很快发现家里的卫生间中摆满了相关教材。杰夫(Jeff)决定每周拿出一天了解这个被称为“谷歌大脑(Google Brain)”的项目。谷歌公司内部有很多人对这项技术持怀疑态度,Alan Eustace回忆道:“这简直是在浪费人才。”就连桑杰(Sanjay)也对杰夫(Jeff)的举动无法理解,他认为“你的工作在于管理基础设施,整那些没用的干啥?”

在接下来的七年时间里,谷歌大脑团队开发出了远超以往最佳方案的机器翻译以及语音与图像识别神经网络。最终,这些神经网络模型取代了谷歌最重要的搜索结果排序与定向广告算法,这也使得谷歌大脑团队成为公司内增长速度最快的部门之一。2001年加入谷歌公司的工程师崔嘉莉(Claire Cui)提到,杰夫(Jeff)的参与标志着谷歌内部人工智能开发工作的历史性转折点:“当时有人相信这项技术,也有人不信,但杰夫(Jeff)证明了它确实有效。”

事实证明,人工智能以规模化为前提,而杰夫(Jeff)这位系统工程师正是规模化实现的好手。他的一项重要努力在于领导了TensorFlow项目的开发——目标是为人工智能创造出与MapReduce相似的简化方案。TensorFlow极大降低了将神经网络分配至多台计算机的门槛,从而将大量计算设备视为统一的庞大主脑。2015年,TensorFlow正式亮相,并成为人工智能领域的客观标准。谷歌CEO桑达尔·皮猜(Sundar Pichai)最近骄傲地宣布谷歌是一家“AI 优先”的企业,并任命杰夫(Jeff)领导公司内的所有AI开发项目。

杰夫(Jeff)现在每周拿出四天时间管理谷歌大脑团队,包括团队中的三千名成员。他到处发表演讲,每周召开一次关于新型计算机芯片(即专为神经网络设计的张量处理单元,简称TPU)的例会。此外,他还参与到AutoML的开发协助当中——这是一套尝试利用神经网络设计其它神经网络的系统。在如此繁重的工作压力之下,如今他每周与桑杰(Sanjay)一同编写代码的机会只剩下一次。

目前,谷歌大脑共有118名研究员,关注领域主要包括:构建大规模的机器学习计算系统、研究高级的机器学习技术、自然语言理解、基因、健康、音乐与艺术生成、感知、机器人等领域。杰夫·迪恩(JeffDean)将谷歌大脑的使命定义为“让机器拥有智慧,改善人们的生活。”谷歌大脑倾向于以小团队研究的模式研究攻克一些新想法、新技术,同时,由于能够在谷歌的真实数据上面做研究,这些研究成果能够很好地被谷歌进行转化利用。谷歌大脑团队每年接收50多名实习生,他们的目标是在顶级机器学习出版物上发表自己的工作成果。到2017年为止,谷歌大脑团队发表的论文中大约有25%的作者是实习生,而且他们通常是第一作者。[14]

五、谷歌“人工智能优先”(AI First)转型

谷歌内部初期只有少数团队用了谷歌大脑团队的人工智能技术,比如让将深度神经网络配置给了语音识别系统团队,在识别准确率上取得突破进展;和计算机视觉团队合作,从图片中提取文本信息、或者理解图片内容是什么等等。随着时间的推移,越来越多的团队意识到了人工智能技术能够对他们工作带来真正的提高,因此谷歌大脑开始跟越来越多的谷歌其他工作部门进行合作。

从2011年开始的几个团队到如今超过200多个团队,几千名谷歌员工把谷歌大脑的人工智能技术融入到他们工作流程当中,这是谷歌“人工智能优先”(AI First)战略转型基础。2016年,新任谷歌CEO桑达尔·皮猜(Sundar Pichai)宣布谷歌战略从“移动优先”(Mobile First)转向“人工智能优先”(AI First)战略,旗下搜索与人工智能业务部门分拆为二,人工智能在谷歌地位变得最高。人工智能业务由1999年加入谷歌的杰夫·迪恩(JeffDean)担任,目前是整个谷歌、甚至整个硅谷、整个计算机科学界的顶尖人物。搜索业务由2000年加入谷歌的本·戈麦斯(Ben Gomes)担任,主要负责谷歌的搜索工程业务。原搜索与人工智能业务部门负责人2010年加盟谷歌的约翰·贾南德里亚(John Giannandrea)是机器学习方面的专家。2016年初,他从阿米特·辛格(Amit Singhal)手中接过搜索与人工智能业务,致力于将机器学习与人工智能整合到谷歌最重要的产品与服务——搜索业务中。

截至2018年1月时,杰夫·迪恩(JeffDean)发博文总结谷歌大脑2017年成绩单,包括:自动化机器学习(AutoML)、语义理解和语言生成、机器学习算法、张量处理器(TPU)、张量流(TensorFlow)和开源软件等核心研究工作。[15] 迪恩(Dean)表示,作为谷歌整体人工智能计划的一部分,谷歌大脑团队致力于通过研究和系统工程,提升人工智能的技术水平。谷歌大脑在提升机器智能这个长期研究项目上继续取得进展,并与谷歌(Google)、谷歌母公司字母(Alphabet)的多个团队合作,使用研究成果来改善人们的生活。

六、角色不同,但友情长存

工程技术总是在人们难以察觉的幕后悄然演变。十八世纪伟大的探险家詹姆斯·库克(James Cook)与乔治·温哥华(George Vancouver)取得辉煌成就的背后,是投入数十年努力发明出海上经度计算装置的约克郡木匠约翰·哈里森(John Harrison)。

最近,杰夫(Jeff)与桑杰(Sanjay)相约到他们最喜爱的墨西哥餐厅帕洛阿尔托·索尔(Palo Alto Sol)享用塔可卷饼。杰夫(Jeff)掏出了手机,“还记得Gmail是什么时候上线的吗?”手机回答道,“2004年4月1日。”桑杰(Sanjay)不喜欢在吃饭的时候分心,但杰夫(Jeff)却对语音助手的表现非常满意。谷歌现在拥有一系列能够与用户对话、倾听并回答问题的程序,这些程序同样隐藏在幕后,在世界各地数据中心的支持下为无数应用程序提供支持。

当前,杰夫(Jeff)与桑杰(Sanjay)两人的角色已经大不相同。在谷歌,桑杰(Sanjay)属于那种“个人贡献者”——他独自干活,不涉及任何管理工作。他对这种状态非常满意。他说,“我可不想像杰夫(Jeff)那样工作。”他目前正在开发一款帮助工程师轻松组合并控制几十种程序(用于获取新闻、图像与价格等信息)的软件,这个软件将在用户在谷歌搜索框内输入文本时开始运行。另外,他每周定期与一群“区域技术负责人(Area Tech Leads)”开会,这可以说是谷歌工程开发方面最高级别的会议——他们共同制定的方针会影响整个公司的技术决策。如果把谷歌比作一栋房子,那么杰夫(Jeff)负责设计新的房间,而桑杰(Sanjay)则在身后调整结构、加固大梁、拧紧螺栓。

与此同时,在每周星期一的共同编程中,杰夫(Jeff)与桑杰(Sanjay)又鼓捣出了一个新的 AI 项目。杰夫(Jeff)说这是一种尝试,要训练出一套“巨型”机器学习模型来执行成千上万种不同任务。杰夫(Jeff)多年来一直在考量这个思路,并在最近意识到这可能并非天方夜谭。他和桑杰(Sanjay)打算构建一套原型,然后组织起团队围绕其做开发。在软件世界里,最好的领导方法就是用代码说话

杰夫(Jeff)的妻子 Heidi 说:“我觉得他们都很想念对方。”当合作机会减少时,他们开始相约在周五晚上聚餐。

今年 3 月的一个星期天,杰夫(Jeff)与桑杰(Sanjay)一起去库比蒂诺郊外远足。天气凉爽干燥,但阳光晒在身上已经有了点暑意。杰夫(Jeff)开着一辆蓝色的特斯拉Roadster来到了山口,车子的保险柜上贴着Bernie 2016的贴纸。桑杰(Sanjay)则开着自己的红色特斯拉Model S紧随其后。那天早上,桑杰(Sanjay)一直在看书,而杰夫(Jeff)跑去踢足球(小腿上的设备显示他总共跑了7.1英里)。在“三月索引”事件的20年之后,杰夫(Jeff)黝黑的皮肤让他看起来像个已经退役的长跑运动员,但桑杰(Sanjay)却显得非常年轻。

远足的路线总长6英里,途中要穿过一片茂密的丛林。杰夫(Jeff)在前面带路,两个人在林子里追忆了谷歌快速发展的历程。桑杰(Sanjay)想起在谷歌的第一个快速发展阶段,曾有个管道工一次性为男厕所安装了两个厕位。他说,“我还记得杰夫(Jeff)是怎么讲的,他说「这就叫双管齐下」。”

他们走出丛林,面前是一片荒地,还有一只秃鹰从头顶飞过。

杰夫(Jeff)说道,“这山比我想象的还陡。”

桑杰(Sanjay)回应道,“不是说这次远足的路很好走吗?”

杰夫(Jeff)根本不接茬:“怪不得另外一侧没有自行车道呢。”

他们再次扎进丛林。在通过一段之字形的上坡时,杰夫(Jeff)往外瞥了一眼:“我们应该找个地方远眺一下。”

他们脚下的山路直通山顶,那里高峻敞阔,没有树木遮挡,正是远眺的好位置。虽然山间蒙着一层薄雾,但他们仍然可以看到南边的圣克鲁斯山与东边的米逊峰。杰夫(Jeff)遥指,“桑杰(Sanjay)快看,你的办公室在那!”他们并肩而立,目光穿过幽长的山谷。

原文链接

https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge

3. 迪恩幽默

如果你了解软件工程师,懂得程序员幽默的话,那你会觉得那些故事非常有趣。关于杰夫(Jeff)Dean: Google Research Scientists and Engineers: Jeffrey Dean,简单说他是Google牛逼的源泉之一。因为此人实在太牛了,于是出现了关于他有多牛的几个笑话,直接笑翻,和大家共享下。

①“杰夫·迪恩每次只给一条腿穿裤子,但是如果他有很多腿,你会发现他穿裤子的时间复杂度为O(log n)”解释:杰夫·迪恩穿裤子的算法复杂度是对数级的而不是线性级的,这样的话,如果他有很多条腿的话,就会大大节约穿裤子的时间。

②“当理查德·斯托曼(Richard Stallman)听说杰夫·迪恩的自传专属Kindle平台,他就去买了Kindle。”解释:理查德·斯托曼(Richard Stallman)是著名的极力反对非自由软件的人,并且从来不购买和使用Kindle。但是杰夫·迪恩就是这样神奇,Richard会因为想要阅读杰夫·迪恩的自传而去违背自己的原则。”

③“杰夫·迪恩是直接写二进制机器代码的,他写源代码,是为了给其他开发人员作参考。”解释:所有的代码在执行前都要先编译成二进制机器码,杰夫·迪恩是直接写二进制机器码的,他写源代码主要是方便其他程序员理解。

④“杰夫·迪恩进行人体工程学评估,是为了保护他的键盘。”解释:通常评估人体工程学是纠正坐姿,保护你的健康的,但是杰夫·迪恩却是为了保护他的键盘。

工程师的迪恩幽默(35中英双语)

1. During his own Google interview, Jeff Dean was askedthe implications if P=NP were true. He said, "P = 0 or N = 1." Then,before the interviewer had even finished laughing, Jeff examined Google’spublic certificate and wrote the private key on the whiteboard.

“当杰夫·迪恩来面试谷歌时,被问到如果P=NP意味着什么。他回答,P=0或者N=1时成立。然后在所有的面试官还没笑完之前,他看了一眼谷歌公有证书,就直接在白板上写出了相应的私钥。”解释:P与NP一直是计算机科学领域的一个悬而未决的问题,但是杰夫·迪恩把它想成了一个代数问题,直接用大脑根据谷歌的公有证书算出了相应的私有秘钥,但即使超级计算机都是不可能的事。

2. Compilers don’t warn Jeff Dean. Jeff Dean warnscompilers.

“编译器从来不给杰夫·迪恩编译警告,而是杰夫·迪恩警告编译器。”解释:当你的代码有误时,编译器会给出警告,但是Jeff比编译器还牛叉。

3. The rate at which Jeff Dean produces code jumped by afactor of 40 in late 2000 when he upgraded his keyboard to USB 2.0.

在2000年末的时候,杰夫·迪恩写代码的速度突然增长了40倍,原因是他把自己的键盘升级到了USB 2.0。

4. Jeff Dean builds his code before committing it, butonly to check for compiler and linker bugs.

杰夫·迪恩还是会在提交代码前把它们编译一遍,不过这么做的目的只是为了检查下编译器和链接器有没有bug(问题)。”解释:杰夫·迪恩的代码从不出错,他编译代码只是为了确保编译器和链接器没有bug。

5. All pointers point to Jeff Dean.

“所有的指针都是指向杰夫·迪恩的。”解释:指针是C编程的核心,但是杰夫·迪恩是编程世界的中心。

6. gcc -O4 emails your code to Jeff Dean for a rewrite.

gcc的-O4优化选项是将你的代码邮件给Jeff重写一下。

7. The speed of light in a vacuum used to be about 35mph. Then Jeff Dean spent a weekend optimizing physics.

光在真空中的速度曾近是35英里每小时,后来杰夫·迪恩花了一个周末对物理学进行了小小的优化。

8. Jeff Dean was born on December 31, 1969 at 11:48 PM.It took him twelve minutes to implement his first time counter.

杰夫·迪恩出生于1969年12月31日的下午11点48分,然后他花了整整12分钟的时间实现了他的第一个计时器。(背景:计算机中的计时器数值通常被设计为从1970年1月1日0点0分0秒到当前为止的秒数)。

9. When Jeff Dean sends an ethernet frame there are nocollisions because the competing frames retreat back up into the buffer memoryon their source nic.

杰夫·迪恩向以太网发送一个数据包时从来不会有冲突,原因是本来要和它有冲突的包都默默撤回了缓冲区。

10. Unsatisfied with constant time, Jeff Dean created theworld's first O(1/n)algorithm.

杰夫·迪恩对常量的时间复杂度并不满足,于是他创造了世界上第一个O(1/n)的算法。(即随着问题规模的增大,其解决问题所花的时间会越短)。

11. Jeff Dean was forced to invent asynchronous APIs oneday when he optimized a function so that it returned before it was invoked.

杰夫·迪恩曾被迫发明了异步API,原因是经他优化后的某个函数会在调用开始前返回。

12. When Jeff Dean designs software, he first codes thebinary and then writes the source as documentation.

杰夫·迪恩写软件时,他是直接码机器码的。写源代码只是为了作为文档使用。

13. Jeff Dean wrote an O(n^2) algorithm once. It was forthe Traveling Salesman Problem.

杰夫·迪恩曾无奈写过一次O(n^2)的算法,其解决的问题是旅行商问题。(该问题是NPC的,即计算机中最复杂最难解决的一类问题,许多人相信这些问题是没有多项式时间复杂度的解的)。

14. Jeff Dean can beat you at connect four. In threemoves.

杰夫·迪恩在四子连珠的游戏中能赢你,在三步内。

15. When your code has undefined behavior, you get a segfault and corrupted data. When Jeff Dean's code has undefined behavior, aunicorn rides in on a rainbow and gives everybody free ice cream.

当你的代码有不确定行为时,你通常得到一个段错误或者不正确的数据。当杰夫·迪恩的代码有不确定行为时,孙悟空会驾着七彩云朵给每个人发免费的长寿仙桃。

16. When Jeff Dean fires up the profiler, loops unrollthemselves in fear.

杰夫·迪恩触发程序的程序性能采样时,循环会因害怕而自动展开。

17. Jeff Dean is still waiting for mathematicians todiscover the joke he hid in the digits of PI.

杰夫·迪恩依然孤独地等待着数学家们解开他在PI的数字中隐藏的笑话。

18. Jeff Dean's keyboard has two keys: 1 and 0.

杰夫·迪恩的键盘多达两个键:1和0

19. When Jeff has trouble sleeping, he Mapreduces sheep.

杰夫·迪恩失眠时,他Mapreduce羊群。(Mapreduce是Jeff的作品之一,这个分布式处理的框架算法是Google立足的根本之一)

20. When Jeff Dean listens to mp3s, he just cats them to/dev/dsp and does the decoding in his head.

杰夫·迪恩听MP3时,他查看其中的二进制内容然后在他脑子里进行音频解码。

21. When Graham Bell invented the telephone, he saw amissed call from Jeff Dean.

当贝爷在沙漠中逮到一个手机时,他发现手机里有个Jeff的未接来电。

当贝尔发明电话后,他发现电话里有个杰夫·迪恩的未接来电。

22. Jeff Dean's watch displays seconds since January 1st,1970. He is never late.

杰夫·迪恩的手表显示的数字是自1970年1月1日0点0分0秒以来的秒数,他因此从来不迟到。

23. Jeff starts his programming sessions with 'cat >/dev/mem'.

杰夫·迪恩开始编程之前,会做'cat > /dev/mem'。(即把输入的内容直接导到内存中)

24. One day Jeff Dean grabbed his Etch-a-Sketch insteadof his laptop on his way out the door. On his way back home to get his reallaptop, he programmed the Etch-a-Sketch to play Tetris.

有一次杰夫·迪恩出门时错将草图画板当笔记本拿了。结果在他回家取笔记本的路上,他对画板进行了重编程以在其上玩俄罗斯方块。附一张说明Etch-a-Sketch是什么的图。

25. Google search went down for a few hours in 2002, and JeffDean started handling queries by hand. Search Quality doubled.

在2002年,Google搜索曾挂了几个小时,于是杰夫·迪恩站出来手动处理用户的查询请求。搜索准确度翻了番。

26. The x86-64 spec includes several undocumented instructionsmarked 'private use'. They are actually for Jeff Dean's use.

“x86-64指令集规范中有一些没有被记入到文档的‘私用’指令。事实上,他们是给杰夫·迪恩专用的。”解释:私有的非法CPU指令是不能被任何人使用的,但是杰夫·迪恩就可以用。

27. 不解释。

mantri@mantri-laptop~$ rm -r /

rm: cannot remove root directory ‘/’

mantri@mantri-laptop~$ su - jeffdean -c "rm -r/"

I am extremely sorry. Removing root directory...

28. Jeff Dean once shifted a bit so hard, it ended up onanother computer.

有次杰夫·迪恩移位移得太恨了,结果那一位跑到另一台计算机上去了。

29. Jeff Dean has gone to /dev/null and come back.

杰夫·迪恩从/dev/null那涅槃了。(庞统啊~)

杰夫·迪恩又从/dev/null那涅槃了。(擦!)

30. Jeff Dean sorts his phone contacts by their vcard'smd5 checksums.

杰夫·迪恩通讯录的排序规则是按照联系人的md5值。

31. Jeff Dean doesn't kill processes, he slays them.

杰夫·迪恩他不杀进程,他肢解虐杀它们。

32. The needle in haystack found Jeff Dean

海底的针会自己找上杰夫·迪恩

33. All of the Google App Engine is actually hosted from JeffDean's Nexus S

Google App Engine的服务器实际上是杰夫·迪恩的Nexus S。

34. Jeff Deans’s keyboard doesn’t have a Ctrl key becausenothing controls Jeff Dean.

杰夫·迪恩的键盘压根就没有Ctrl(控制)键,因为没有什么东西能控制杰夫·迪恩

35. You name three pointers, Einstein, Euler, and Turing,when you de-reference them, all you get is Jeff Dean.

如果你命名三个指针分别为爱因斯坦、欧拉和图灵,当你查看它们的指向时,你看到的都会是杰夫·迪恩。[17]

[数据简化社区(Data Simplification Community)秦陇纪(Qinlong Aaron Von GEcai)编写]

欢迎继续阅读数据简化社区“数据简化DataSimp”科普公号文章《谷歌研究:回顾2019年,展望2020年及以后》(GoogleResearch:Looking Back at 2019, and Forward to 2020 and Beyond),逐渐了解谷歌、硅谷、知识产权、数字经济。

“数据简化DataSimp社区”福利时刻

2019年初互联网圈呈现一种“寒冬”状态,各大IT企业开始裁员、调整组织架构......

2020年初武汉等出现新型冠状病毒肺炎,各大IT企业纷纷捐款、捐物共克时艰......

寒冬下的另一面,是华为、阿里、腾讯、百度等科技实力强的中国公司在世界范围内频频发声,华为发布抢占5G市场、傲视全球的麒麟芯片,阿里AI斩获世界冠军,用自己的硬实力证明了世界市场价值。企业加大研发投入、培养足够多优秀人才,才能充分发挥技术生产力,将技术优势最大化。阿里巴巴、拼多多、京东、腾讯、字节跳动、知乎、百度和华为等科技公司内部,都会定期和不定期举办各种技术培训和沙龙分享,比如华为大学、阿里内训和湖畔学院等。要成为一家优秀IT公司,就不能忽视企业技术团队的培养和交流。

作为业内超前的知识服务和学术平台,数据简化DataSimp社区为科学技术人士打造了从初级工程师到高级工程师、再到技术团队管理者,从科学爱好者、研究生到学者、科学家的完整成长路径学习计划,帮助各职业发展阶段的程序员、工程师和研究员提升进阶,扫码查看2020年具体规划?

(尚未开发完成,请先关注公号)

数据简化DataSimp——专业的数据科学和大数据技术社区,让认知协作和知识分发更快更好!欢迎投稿、加入数据简化DataSimp社区,学习信息数据科学技术,获取1k BigData/DS/AI/CS/IT/ICT/FT/MD/ED知识资料干货,参加学术社区活动!~请备注姓名学校专业年级和单位,添加小助手微信(小程序)缴纳100元年费(欢迎赞助社区活动),获取VIP会员群邀请!~

-----------------------------

(注:相关素材[1-x]图文版权归原作者所有。)

素材(3.7k字)

1. wikipedia.杰夫(Jeff)Dean. [EB/OL], wikipedia, https://en.wikipedia.org/wiki/Jeff_Dean_(computer_scientist),visit date: 2020-01-11Sat

2. 维基百科. 杰夫·迪恩. [EB/OL], 维基百科, https://zh.wikipedia.org/wiki/傑夫·迪恩,2019年7月10日 (星期三) 07:56

3.杰夫(Jeff)Dean. [EB/OL], linkedin, http://www.linkedin.com/pub/jeff-dean/55/125/8b2,https://www.linkedin.com/in/jeff-dean-8b212555/?locale=zh_CN,visit date: 2020-02-22Sat

4. Google Research. Jeffrey Dean(杰夫·迪恩在Google的首页).[EB/OL], Google Research, http://research.google.com/people/jeff/,引用日期2015-04-11,visit date: 2020-01-11Sat

5. Kevin Smith and Pax Dickinson, BusinessInsider. Meet Google's Baddest Engineer,杰夫(Jeff)Dean (GOOG). [EB/OL], sfgate, https://www.sfgate.com/technology/businessinsider/article/Meet-Google-s-Baddest-Engineer-Jeff-Dean-GOOG-4233252.php,Updated 10:58 am PST, Sunday, February 3, 2013

6. slate. The Optimizer ---杰夫(Jeff)dean facts how a googleprogrammer became the chuck norris of the internet, [EB/OL], slate, www.slate.com/articles/technology/doers/2013/01/jeff_dean_facts_how_a_google_programmer_became_the_chuck_norris_of_the_internet.html,visit date: 2020-02-22Sat

7. Google. Jeffrey Adgate Dean. [EB/OL], google,https://research.google.com/, visitdate: 2020-01-11Sat

8. Jeffrey Dean and桑杰(Sanjay)Ghemawat MapReduce.MapReduce: Simplified DataProcessing on Large Clusters. [EB/OL], USENIX, https://www.usenix.org/legacy/publications/library/proceedings/osdi04/tech/full_papers/dean/dean_html/,3 October 2004, 引用日期2015-04-11

9. Fay Chang, Jeffrey Dean,桑杰(Sanjay)Ghemawat, Wilson C. Hsieh,Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E.Gruber, BigTable .OSDI '06 Paper Pp. 205–218 of the Proceedings, Bigtable: ADistributed Storage System for Structured Data. [EB/OL], USENIX, https://static.usenix.org/events/osdi06/tech/chang/chang_html/?em_x=22,Last changed: 9 Oct. 2006 ch, 引用日期2015-04-11

10. James C. Corbett, Jeffrey Dean, MichaelEpstein, Andrew Fikes, Christopher Frost, JJ Furman,桑杰(Sanjay)Ghemawat, Andrey Gubarev,Christopher Heiser, Peter Hochschild, Wilson Hsieh, Sebastian Kanthak, EugeneKogan, Hongyi Li, Alexander Lloyd, Sergey Melnik, David Mwaura, David Nagle,Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak,Christopher Taylor, Ruth Wang, Dale Woodford. Spanner: Google’sGlobally-Distributed Database. [EB/OL], USENIX, https://www.usenix.org/system/files/conference/osdi12/osdi12-final-16.pdf,264 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI’12) USENIX Association, 引用日期2015-04-11

11. 协同翻译QQ群及技术交流群的TF爱好者将近300人, wiki@jikexueyuan.com. TensorFlow 官方文档中文版. [EB/OL], 极客学院, https://wiki.jikexueyuan.com/project/tensorflow-zh/,极客学院团队出品·更新于 2018-11-28 11:00:43, 引用日期2016-11-15

12. Winslett, Marianne, Braganholo,Vanessa.杰夫(Jeff)Vitter speaksout on being a southerner, duties of a dean, and more. [EB/OL], ACMSIGMOD Record, http://www.researchgate.net/publication/262314067_Jeff_Vitter_speaks_out_on_being_a_southerner_duties_of_a_dean_and_more,DOI:10.1145/2503792.2503801,2013年

13. 钟明.杰夫(Jeff)Dean——为Google踩下加速踏板. [EB/OL],CNKI, http://www.cnki.com.cn/Article/CJFDTotal-ITSJ200809003.htm,DOI:CNKI:SUN:ITSJ.0.2008-09-003,《程序员》 2008年09期, 2008年

14. JeffDean回顾GoogleBrain2016:机器学习取得重大进展.[EB/OL], 微型计算机, http://www.cqvip.com/QK/95591X/201705/671303329.html,《微型计算机》2017年第5期|88-88页 共1页, 2017年

15. xin3521.杰夫(Jeff)Dean(谷歌首席架构师). [EB/OL],jianshu, https://www.jianshu.com/p/d52e9f7396f1,2018-06-30, visit date: 2020-01-14Tue

16. hotcoffie转载自《纽约客》杂志.杰夫(Jeff)Dean 的传奇人生:超级工程师们拯救谷歌. [EB/OL],NewYorker, https://blog.csdn.net/hotcoffie/article/details/84962368,最后发布于2018-12-1121:43:59, visit date: 2020-01-14Tue

17. 作者:匿名用户. 有谁可以介绍一下谷歌大牛杰夫(Jeff)Dean以及与他相关的事迹么?. [EB/OL], zhihu, https://www.zhihu.com/question/22081653,https://www.zhihu.com/question/22081653/answer/20593104,发布于 2013-12-05, 引用日期2020-03-01

x. 秦陇纪. 人工智能起源与发展正史; 西方哲学与人工智能、计算机; 数据科学与大数据技术专业概论; 人工智能研究现状及教育应用; 数据资源概论; 文本数据溯源与简化; 大数据简化技术体系; 数据简化社区概述. [EB/OL], 数据简化DataSimp(微信公众号), https://dsc.datasimp.org/,http://www.datasimp.org,2017-06-06, visit date: 2020-01-14Tue

—END—

(注:有关素材[1-x]图文版权归原作者所有。)


秦农跋

科学传入我国一百多年,没有被国人普遍接受和普及。科学目标是找到自然社会规律,科学方法是观察、测量和实验,科学精神是假设、证明和质疑,科学理论的本质是科学家用数学工具对自然社会现象做出定性定量解释。近卌百年,有些民族对自然社会的思考,肤浅地盲信盲从简单模糊语言;而理性之人分析具体现象和数据,直到以数学逻辑等工具为主的科学解释。科学实验和假说需指向具体现象的测量或工程技术支撑,理论和技术均丰富了科学之躯,切不可止步于语文表达工具。更不可把科技当成语文知识来对待,拿书本文字代替实验设计工程实践。

科学是璀璨的人类文明之一,但有其范围并非万能。科学Sciences公号不持有任何倾向性,只提供大家的学术观点。《科学Sciences》倡导"理性之思想,自主之精神",专注于学者、学界、学术的发展进步,不定期向您推荐人类优秀学者及其文章。社区:“数据简化DataSimp、科学Sciences、知识简化”新媒体聚集专业领域一线研究员;研究技术时也传播知识、专业视角解释和普及科学现象和原理,展现自然社会生活之科学面。秦陇纪发起,期待您参与各领域;科学技术论文投稿邮箱DataSimp@126.com。只会敲门呐喊,不能推动领域;只有空想设计,无法实现生产,就虚度一生。实践能力至关重要。欢迎科学、工程、技术、教育等业界专家投稿、加入数据简化社区!~

免责说明:公开媒体素材注明出处可溯源,自觉接受公众监督。本公号不持有任何倾向性,亦不表示认可其观点或其所述

Sciences280美国工程院士、谷歌首席架构师、结对编程榜样杰夫·迪恩(JeffDean)博士简历SP20200114TueQinDragon.docx

简介:美国工程院士、谷歌首席架构师、结对编程榜样杰夫·迪恩(Jeff Dean)博士简历。作者:秦陇纪。下载:本文38k字10图20页PDF图文,赞赏支持后,公号发“杰夫迪恩”或“Jeff Dean”获取。版权:科普资料仅供学习,各素材©版权作者保留相应权利,商业非法目的勿用。有事留言或邮询QinDragon2010@qq.com。转载:写明作者、出处、时间等信息,如“公号©科学Sciences,作者:秦陇纪,时间:20200114Tue©数据简化DataSimp社区2010-2020NC非商业授权”,欢迎分享、赞赏、支持数据简化社区~~

社区:“数据简化DataSimp、科学Sciences、知识简化”新媒体聚集专业领域一线研究员;研究技术时也传播知识、专业视角解释和普及科学现象和原理,展现自然社会生活之科学面。秦陇纪PhDS01发起,期待您参与各领域;科学技术论文投稿邮箱DataSimp@126.com。只会敲门呐喊,不能推动领域;只有空想设计,无法实现生产,就虚度一生。工程技术能力至关重要,秦陇纪与君共勉之。欢迎科学、工程、技术、教育、传媒等业界专家投稿、加入数据简化社区!欢迎大家分享、赞赏、支持科普~~

0 人点赞