设为首页

返回首页
当前位置: 主页 > BT传奇游戏 >

Jeff Dean的激荡人生:我和Sanjay在同一台电脑上写代码

时间:2018-12-21 13:16来源:http://www.shop80.cn 作者:今日新开网页传奇 点击:
有很多人认为, 的存在是谷歌如此强大的原因,谷歌员工都把谷歌搜索惊人的速度归功于他,他也是神经网络框架 的主导设计者之一。在被谷歌面试时,这位大神被问及如果 P=NP 意味着什么。Jeff 答道:「P=0 或 P=1」
  

「好了,我们在干什么?」Sanjay 问道。

「我不知道为什么别人不这么干——合作编程。」Sanjay 说道。

「所以我们要忽略眼前的问题?」Jeff 生气地说道。

两人就像一对夫妻,各自讲述一点过去的事情,就这么拼凑出了过往的回忆。他们开始回忆早期的项目。

在 3 月份 index 崩溃之前,谷歌的系统根植于其创始人在斯坦福大学攻读博士期间所写的代码。Larry Page 和 Sergey Brin 并不是专业的软件工程师,他们是在学界进行搜索技术实验的人。当他们的网络爬虫崩溃时,并不会出现诊断信息——只会出现诸如「Whoa、horsey!」之类的字眼。谷歌的早期员工常称之为 BigFiles,其名称来源于 Page 和 Brin 的一个软件 BugFiles。他们最重要的索引代码需要数天时间才能运行完成,如果遇到问题则必须从头开始重新启动。按照硅谷的说法:谷歌不具有「可扩展性」。

「我们当时还是手打代码,」Sanjay 说道。他的眼镜在阳光下萌生出一丝阴影。「我们会重写代码,然后感觉——『噢,这和上个月写的好像差不多』。」

「这是常见模式。」Sanjay 补充完。

现在,他们两人的角色已经大不相同。在谷歌,Sanjay 被看作是「个人贡献者」——独自干活的程序员,不管理任何人。对此,他很感激。他说:「我可不想要 Jeff 的工作。」他目前正在开发能让工程师能更轻松地组合和控制数十个程序(用于获取新闻、照片、价格)的软件,会在用户开始在谷歌搜索框输入文本时开始运行。他每周会与一群「区域技术主管(Area Tech Leads)」开一次会,这算得上是谷歌工程开发方面的最高委员会;他们会一起制定会影响整个公司的技术决策。如果把谷歌比作一座房子,Jeff 正在建新房间,而 Sanjay 则在支撑结构、加固横梁、铆紧螺栓。

「哦,这样,抱歉。」

Sanjay 一直未婚,但他会和 Jeff 一家人去度假,Jeff 的两个女儿喊他 Uncle Sanjay。他们五个人经常在周五一起吃饭。Sanjay 还会和 Jeff 的大女儿 Victoria 一起做烘焙。他自豪地说:「我算是看着她们长大的。」2004 年谷歌首次公开募股以后,他们搬到了仅隔四英里的房子里。Sanjay 住在山景城一个普通的三居室里;而 Jeff 则在帕罗奥多市中心附近设计了自己的房子。他在地下室里装了一张蹦床。在设计房子时,他发现虽然自己喜欢设计空间,但并没有耐心去完成「适合 Sanjay 的部分」:横梁的细节、螺栓以及保证整个设计不至于分崩离析。

程序员有时候将软件概念化为多层结构,包括顶层的用户界面和比较基础的层。探索该结构的底部(即软硬件的交接处)意味着不再按照代码的逻辑顺序,而是观察代码依赖的电子和硅的宇宙。在作战室的第五天,Jeff 和 Sanjay 开始怀疑问题可能不在于逻辑,而存在于物理层面。他们将混乱的索引文件转换成原始表示格式:二进制代码。他们想了解机器看到了什么。

神经网络与传统的计算机程序截然不同。和通常的做法不同,神经网络的行为不是由程序员指定的,而是使用输入和反馈「学习」到的。Jeff 对神经网络的了解自本科阶段以来一直没什么进展,于是 Heidi 看到他们家的卫生间摆满了教材。Jeff 开始每周投入一天时间到这个被称为「Google Brain(谷歌大脑)」的项目上。谷歌内部有很多人对这项技术持怀疑态度。他当时的经理 Alan Eustace 回忆道:「简直浪费人才。」Sanjay 也不能理解 Jeff 的举动。「你的工作是基础设施,」他认为,「你在那里做些什么?」

「这是重点。」Jeff 说。

框架、规模和大数据

「非常慢。」Jeff 说。他向前倾身,仍然很放松。

近日,《纽约客》终于发布了他们描写 Jeff Dean、以及 Jeff 的「好基友」Sanjay Ghemawat 的特稿。记者不仅和这两位程序员聊天,也在一旁观察了他们是如何工作,甚至吃晚餐的。纽约客指出,Jeff 和 Sanjay 共用同一台电脑写代码。

今年春天的一个周一清晨,Jeff 和 Sanjay 站在 40 号大楼(谷歌 AI 部门多数人的家)的简易厨房里。在他们背后,一块白板上写满了矩阵代数的式子,一篇关于无监督对抗网络的论文躺在桌子上。Jeff 穿着一件褪色 T 恤和牛仔裤;Sanjay 穿着毛衣和灰色裤子。透过明亮的窗户可以看到一片高大的松树,还有一片田野。无论 Jeff 在谷歌何处工作,咖啡机都会随之转起来。在小厨房的柜台上,一个三英尺宽的 La Marzocco 咖啡机嗡嗡作响。「我们迟到了。」Sanjay 在咖啡机旁说道。现在是八点三十二分。

Jeff 和 Sanjay 开始专心检查停顿的 index。他们发现一些关键词丢失了,搜索「mailbox」时无搜索结果,有搜索结果时也是乱序的。这些天来,他们一直在查找代码中的错误,检查代码的逻辑。然而,每一部分都检查过之后,依然没有发现 bug。

「或者索引数据的传递略有不同。」Jeff 补充道。

「这山比我想象中的要陡。」Jeff 说道。

「但我记不清为什么要在一台电脑上编程,而不是在两台电脑上干活。」Sanjay 说。

「我猜这就是那一侧没有自行车道的原因。」Jeff 说道。

多个 1 和 0 的列出现在 Sanjay 的显示器中,每一行表示一个索引词。Sanjay 指出:一个本应该是 0 的数字却显示为 1。Jeff 和 Sanjay 将所有错误分类的词放在一起,然后观察到一种模式:每个词都出现了同样的故障。机器的存储芯片被破坏了。

「在 D.E.C. 工作的时候,我经常从我的实验室走两个街区去他的实验室,」Jeff 说道,「路上有家冰淇淋店。」

Jeff 现在每周花四天时间管理谷歌大脑。他指导着三千人的工作。他到处旅行发表演讲,每周召开一次有关一款新计算机芯片(张量处理单元/TPU,专为神经网络设计)的例会,并且还会帮助开发 AutoML,这是一个使用神经网络来设计其它神经网络的系统。他每周只有一次能与 Sanjay 一起写代码。

他们脚下的小径通往山顶,那里高耸、宽阔,没有树木,可以领略全景。视野中有淡淡的薄雾。

「所以我正在尝试弄清楚它到底有多慢。」Sanjay 说道。

0 和 1 之下

Sanjay 谨慎地说道,「不,我……」

Silverstein 几乎没有注意到 Sanjay Ghemawat,这位安静的 33 岁 MIT 毕业生眉毛浓密,一头黑发,但鬓角处已经斑白。Sanjay 几个月前加入这家公司(12 月)。他追随 Jeff Dean 加入谷歌,他们之前同在 Digital Equipment Corporation。Jeff Dean 比 Sanjay 早十个月离开 D.E.C.。他们关系很好,喜欢一起写代码。在作战室里,Jeff 把椅子挪到 Sanjay 的桌子处,Sanjay 使用键盘工作,Jeff 就在一旁纠正错误,就像制片人通过耳机对新闻主播耳语一样。

「我记得有人说这是一次非常平坦的远足。」Sanjay 说。

Jeff Dean的激荡人生:我和Sanjay在同一台电脑上写代码

「额,我是说有多少 KB 的文本。」

他们走出丛林,走进一片干燥裸露的区域。一只土耳其秃鹰从头顶飞过。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

最新评论

查看所有评论

发表评论

查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码: