专栏名称: SegmentFault思否
SegmentFault (www.sf.gg)开发者社区,是中国年轻开发者喜爱的极客社区,我们为开发者提供最纯粹的技术交流和分享平台。
目录
相关文章推荐
码农翻身  ·  漫画 | 为什么大家都愿意进入外企? ·  16 小时前  
程序员小灰  ·  清华大学《DeepSeek学习手册》(全5册) ·  2 天前  
OSC开源社区  ·  宇树王兴兴早年创业分享引围观 ·  3 天前  
OSC开源社区  ·  升级到Svelte ... ·  4 天前  
程序员小灰  ·  DeepSeek做AI代写,彻底爆了! ·  4 天前  
51好读  ›  专栏  ›  SegmentFault思否

谷歌唯二的 11 级工程师,清华 AI 研究院顾问委员,他是程序员眼中神一样的人物...

SegmentFault思否  · 公众号  · 程序员  · 2019-08-21 11:49

正文

思否编辑部 出品


文末留言

领取安卓官方玩具公仔




Jeff 的成长历程



Jeff Dean 于 1968 年 7 月出生于夏威夷。他的父亲 Andy 是一名热带疾病研究员;母亲 Virginia Lee 是一位医学人类学家,会说六种语言。


为了好玩,Jeff 的父亲曾带着小 Jeff 一起设计了一台 IMSAI 8080 工具包电脑,他们在机器上进行焊补更新,掌握了机器的每个零件。


13岁时,他跳过了 8 年级最后三个月的课程,去索马里西部的一个难民营做义工。后来,在高中时,他开始为流行病学家编写了一个名为 Epi Info 的数据收集程序; 这个工具后来成为野外工作的一个标准工具,最终以十几种语言分发了几十万份。


美国疾病控制与预防中心运营的一个网站“ the Epi Info Story ”上 Jeff Dean 高中毕业时的照片


Jeff 的博士期间主要研究编译器,这是一种 将人类编写的代码转换成针对计算机优化的机器语言指令的软件。


谷歌的高级副总裁 Alan Eustace 说:“就性感程度而言,编译器相当无趣。但是另一方面,它会让你‘非常接近机器’。”可能受「编译器」的影响, Jeff 也变得「非常接近机器」,他的挚友 Sanjay 就曾说过: “在编写代码时,Jeff 会有一个模型,他几乎可以半自动化的思考所有细微的情况。


我们都知道,谷歌的工程师是分级别的,从 1 级 到 10 级。


最底层的 1 级是 IT 支持人员;2 级是刚从大学毕业的学生;3 级通常拥有硕士学位;达到 4 级需要几年时间,或者一个博士学位;6 级工程师(前10%)的能力非常强,通常是项目主管;从 6 级升到 7 级需要很长时间的贡献记录;


8 级是首席工程师,是主要产品或基础设施的负责人;9 级是杰出工程师,是备受尊敬之人。最高是 10 级的 Google Fellow,这其实更像是一种荣誉,能伴随一生的一项荣誉,通常颁发给某一领域的世界领先专家。


Jeff 在这个分级外,他是谷歌的高级 Fellow(Senior Fellow),也是谷歌公司仅有的 2 位 11 级工程师之一。



谷歌技术第一人



华盛顿大学博士、美国工程院院士、ACM(计算机协会) fellow、清华大学AI研究院计算机学科顾问、AAAS(美国科学促进会)fellow。


名誉满身的 Jeff Dean 在谷歌负责过许多大型项目,支持谷歌运行的超大规模计算框架 MapReduce 和机器学习的标志性软件 TensorFlow 就是在他的领导下开发的。


有很多人认为,Jeff Dean 的存在是谷歌如此强大的原因,谷歌员工都把谷歌搜索惊人的速度归功于他。


因为 Jeff Dean 实在太过强大,以至于硅谷工程师们编出了不少关于他有多牛的笑话,比如:


“编译器从来不给 Jeff Dean 编译警告,而是 Jeff Dean 警告编译器。


“在 2000 年后段,Jeff 码代码的速度突然激增了 40 倍,原因是他把自己的键盘升级到了USB 2.0。”


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


“Jeff Dean 的键盘多达两个键:1 和 0。”


“当 Jeff 听 MP3 时,他查看其中的二进制内容然后在他脑子里进行音频解码。”


玩笑归玩笑,但自从 2011 年与吴恩达联合创办「谷歌大脑」后,Jeff Dean 深入参与了谷歌各项人工智能技术的策划与搭建,从 AutoML 到 TensorFlow 再到 TPU,不一而足,已然成为了谷歌人工智能技术的代名词。



其实 Jeff Dean 刚从华盛顿大学的计算机博士毕业时,就已经是美国顶尖的计算机科学家之一了。 早在明尼苏达大学读计算机和经济学本科时,Jeff Dean 的毕业论文内容就是研究如何并行训练神经网络 ,这是人工智能第一次热潮中的热门话题。


当 Jeff Dean 加入谷歌后,他的第一个主要工作是创建谷歌的广告系统 Adsense —— 作为谷歌搜索广告,它是如今所有互联网广告的原型,其重要性简直不言而喻。


之后,Jeff Dean 又用了四五年的时间来开发谷歌的检索、索引和搜索系统,利用著名的 Pagerank 搜索算法,一举成为最优秀的搜索引擎公司。


在此之后,Jeff Dean 一直在和 Sanjay Ghemawat 等同事一起开发谷歌用来存储和处理大型数据集与做构建搜索索引或处理卫星图像等事情的软件基础设施。2009 年,Jeff Dean 当选美国工程院院士。


2011 年,正是如今这波人工智能狂潮的开端之年。2011 年初,Jeff Dean 与吴恩达主导创建了“谷歌大脑”(Google Brain)这一奠定了谷歌人工智能领先地位的重要部门,此后又相继有Greg Corrado、Quoc Le、Geoffrey Hinton、Ian Goodfellow 等重量级大牛的加入。


谷歌大脑构建起了基于大规模分布式运算和大数据的谷歌大脑的基础体系,并运用深度神经网络技术,将人工智能在谷歌产品中的运用带上了新的台阶。


这其中最为出名的一个例子就是,2012年时,Jeff Dean 与吴恩达的团队通过深度学习技术,成功让 16000 个中央处理器核心在学习 1000 万张图片后,成功在 YouTube 视频中认出了猫的图像,这在当时业界引起了极大的轰动。


此后,他又领导开发了谷歌机器学习的标志性软件 TensorFlow、支持谷歌运行的超大规模计算框架 MapReduce 等重要项目。2015年11月,TensorFlow 正式开源发布,目前已经是深度学习领域占据绝对统治地位的框架。


Jeff Dean 表示,作为谷歌整体人工智能计划的一部分,谷歌大脑团队致力于通过研究和系统工程,提升人工智能的技术水平。在过去的几年里,谷歌大脑在提升机器智能这个长期研究项目上继续取得进展,并与谷歌和 Alphabet 的多个团队合作,使用研究成果来改善人们的生活。



谷歌双子星



开头我们提到,Jeff 是谷歌公司仅有的 2 位 11 级工程师之一,另一位就是他的挚友,和他并称为「谷歌双子星」的 —— Sanjay。


《纽约客》杂志去年曾发表长文,描写了谷歌公司这两位最重要的程序员不为人知的友情故事:Jeff Dean 和 Sanjay Ghemawat。 两人的友谊已经持续20年,他们都是天才的程序员,工作上是最默契的搭档,生活上情同手足。


SanJay 喜欢清静,在谷歌,他的周围总是笼罩着神秘气氛。他虽然沉默寡言,但思路异常清晰。在他的桌子上,放着一堆 Mead 笔记本,这些笔记本可以追溯到 20 年前,里面写满了整齐的清单和示意图。他喜欢用钢笔和草书写字。虽然很少翻阅以前的笔记本,书写也只是为了思考。


不管是在谷歌内部还是媒体的宣传当中,Jeff 的名气都要比 Sanjay 大得多。但 对于熟悉他们两人的人来说,Sanjay 绝对是不输 Jeff Dean 的天才,并且两个人非常互补。



在生活中,Jeff 更外向,Sanjay 更内向。在代码中,情况正好相反。 Jeff 的程序设计令人眼花缭乱,他能迅速勾勒出令人吃惊的想法,但由于编得很快,代码可能令读者 费解, 而 Sanjay 的 码则易于理解。


在一起工作的这 20 年,他们没有互相提高过嗓门,靠着一种独有的默契相互成就。纽约客的长篇报道中就讲过一些他们之间有意思的故事。


一个周一的早晨,Jeff 和 Sanjay 站在谷歌人工智能部门所在的 40 号楼的厨房里。在他们身后,一块白板上写满了矩阵代数;桌上放着一篇关于无监督对抗网络的论文。Jeff 穿着一件褪了色的 T 恤和牛仔裤,看上去像一个改过自新的海滩流浪汉;Sanjay 穿着毛衣和灰色裤子。明亮的窗户映出一排高大的松树,远处是一片田野。在小厨房的柜台上,咖啡机嗡嗡作响。


喝完卡布奇诺后,他们走到电脑前。Jeff 把一张椅子从自己凌乱的桌子边拉到 Sanjay 的桌子旁,Sanjay 的桌子则一尘不染。他把一只脚搁在文件柜上,身子往后一靠,Sanjay 在他们面前的屏幕上工作。他打开了四个窗口:左侧是一个Web浏览器和一个终端,用于运行分析工具;右侧是文本编辑器Emacs中的两个文档,一个是待办事项列表和笔记本的组合,另一个则满是各种颜色的代码。Sanjay的笔记本就放在电脑旁。


“好了,我们要做什么?”Sanjay 问道。


“我想我们正要看 TensorFlow Lite 的代码大小,”Jeff 说。


这是一个机器学习的新软件项目,Jeff 和 Sanjay 担心它过于臃肿;像图书编辑一样,他们想要削减代码量。为此,他们构建了一个需要优化的新工具。


“我得看看它有多慢,”Sanjay 说。


“超级慢,”Jeff 说。他身体前倾,仍然很放松。


“120 千字节,大概是 8 秒。”Sanjay说。

“12 万个堆栈调用,”Jeff 说,“不是千字节。”

“额, 千字节的文本,应该是。”Sanjay 说。

“好吧,我的错。”Jeff 说。


“我不太清楚应该为一个单元的大小选择什么门槛。”Sanjay 说,“0.5 兆字节?


“看起来不错,”Jeff 说。Sanjay 开始敲代码,Jeff 的目光放在了屏幕上。“所以你的意思是,如果它比那个大,我们就取样……”他没有说完;Sanjay 用代码回答了他。







请到「今天看啥」查看全文