硅谷芯片大神 2 万字专访:自称“特斯拉最懒的人”
- 芯东西
2021-06-24 22:20
在芯片界,你很难再找到像 Jim Keller(谐音:金坷垃)这样的传奇人物,仅仅手握本科学历,却在过去 20 年间搅动了大半个硅谷的芯片风云。
他是计算机产业的超级巨星,从 DEC 起步,辗转于 DEC、AMD、博通、苹果、特斯拉、英特尔等顶尖企业之间,屡屡研发出里程碑式的芯片。如今,这位“硅谷游侠”正在摸索职业生涯的下一个锚点 —— 作为一家 AI 芯片创企的 CTO 兼总裁。
近日,在外媒 AnandTech 的 Ian Cutress(伊恩・库特雷斯)与 Jim Keller 的一场深入对话中,你会看到这位技术大牛成长的轨迹,从初出茅庐时的青涩莽撞,到转型管理岗位时的手忙脚乱,再到如今,在兼顾工作与生活方面游刃有余。
褪去从业经历带来的光环,他有许多接地气的一面。他自称是“特斯拉最懒的人”,拒绝“996”,一天至少要睡够 7 小时,会为人际关系感到烦恼,喜欢睡觉、吃饭和看书,吐槽工作占据的时间比想花在它上面的时间多得多。
他也曾年少轻狂,刚入职第一家公司就与 CTO 争辩 1 小时,还嫌对方的一部分想法是“愚蠢的”;他曾经不知道怎么合作,认为必须自己亲自上手每一件事,“像疯子一样工作”。
面对既有的成就,Jim Keller 十分坦然地自我称赞:“就交付具有持久价值的产品而言,我的成功是相当高的。”但他并未自恃天才,认为自己“没那么聪明”,是靠毅力与坚韧才走到今天。
他反对被称作“Zen 之父”,说自己只算得上“叔叔之一”。从特斯拉离职至今已有 3 年,他提到现在与马斯克联系不多,“最近没有和他说过话”。另外,他也提到喜欢跟英特尔前任 CEO 司睿博一起工作,并希望英特尔新 CEO 基辛格一切顺利。
当然,在这次长达 2 万字的深度专访中,你还将读到这位芯片专家如何对曾经在 AMD、苹果、英特尔的从业经历如数家珍,并奉献了许多充满洞察力的、经过深思熟虑的思考与见解。
从工程师转型到管理者,从带队几十人到领导 1 万人,他在经过大量阅读和实践经验积累后,摸索出一套行之有效的团队组建与职场管理方法论,并将抽象分层的思路应用到生活之中。
除此之外,他畅谈了许多关于芯片架构设计本身的想法,包括对 RISC-V 与 Arm、x86 竞争的思考,以及对人工智能(AI)芯片未来的预判。
他还在交流过程中做了图书推荐,如果你想读管理类的书籍,《从优秀到卓越》(Good to Great)不是个好选择,倒不如读卡尔・荣格(Carl Jung)的书。
芯东西在不违背原意的前提下,对此次 Jim Keller 接受 AnandTech 深度专访的内容加以完整编译。
原文链接:
https://www.anandtech.com/show/16762/an-anandtech-interview-with-jim-keller-laziest-person-at-tesla
01.“我是 Zen 的叔叔之一”
问题 1:您曾为 AMD 的 Zen 和 SkyBridge 平台工作,如今 AMD 的 Zen 产品线正在获得更多市场份额,您也将开始做更好的事。不过在那个项目中,关于您在 AMD 的确切角色众说纷纭。
有人认为,您在确定 Zen 以及后面 Zen2、Zen3 高级微架构的设计方面功不可没。还有人认为,您把人安排好,在高层签字,然后专注于 Arm 版本的 SkyBridge、K12。可以告知您在那里承担的角色吗?您对 Zen 和 K12 的深入程度如何?或者您参与了像 Infinity Fabric 这样的项目吗?
Jim Keller:是的,这是个复杂的项目。我加入 AMD 时,他们有 Bulldozer(推土机)和 Jaguar(美洲豹),它们都有些独特之处,但在市场上并不成功。其路线图不激进,落后于英特尔,但落后不是件好事,你最好追赶,而不是落后。
所以我接过这个角色,作为 CPU 团队的总裁,我认为当我加入时有 500 人。在接下来的三年里,SoC 团队、Fabric 团队和一些 IP 团队加入了我的团队。我想当我离开时,被告知已有 2400 人。
我是一名有员工的副总裁,有直接向我报告的高级董事和高级研究员,我的员工有 15 人。因此我几乎不写 RTL!
也就是说,我们做了很多事情。我是一位计算机架构师,不是真正的经理。我想这是我当时拥有的最大管理角色。在那之前,我一直是一家初创公司的副总裁,但那是 50 人,我们都相处得很好 —— 对我来说,这是一个完全不同的游戏。
我知道,我们必须做出的技术改变将包括让人们与它一致。我不想成为一名设计师,一边与副总裁争论为什么有人能做或不能做这项工作,或者为什么这是正确或错误的决定。
我跟 Mark Papermaster(现任 AMD 首席技术官兼执行副总裁)聊过,告诉他我的理论,他说:“好吧,我们会试试看”,效果很好。
有了这个,我就有了直接的权力。但人们不会真的去做他们被要求的事情,而会做自己受到激励去做的事情。所以你必须制定一个计划,其中一部分,是找出合适的人来做不同的事情。
有时有些人真的很优秀,但人们非常投入于他们上次做的事情,或者他们相信事情无法改变,我的观点是事情很糟,几乎所有事情都必须改变。
所以我默认了。并不是我们没有找到很多好用的东西,但你必须证明旧东西是好的,而不是证明新东西是好的,因此我们改变了这种心态。
在架构学上,我非常清楚我想要做什么以及为什么。我在公司内部找到了一些人,比如 Mike Clark(迈克・克拉克)、Leslie Barnes(莱斯利・巴恩斯)、Jay Fleischman(杰伊・弗莱施曼)等。有相当一部分非常优秀的人,当我们描述自己想做什么,他们会说“是的,我们想那样做”。
我在架构上有一些投入,经常有决策和分析,人们有不同的意见,所以我相当亲力亲为。但我没有做框图或写 RTL。我们正在进行多个项目,有 Zen,有 Arm 的表亲、后续项目,还有一些新的 SoC 方法。
不过我们所做的不仅仅是 CPU 设计,我们做了方法学设计、IP 重构、非常大的组织变革。我自上而下地处理了这些东西,这很有意义。
问题 2:有些人认为你为“Zen 之父”,你认为你接受这个称谓吗?还是应该归给别人?
Jim Keller:也许是其中一个叔叔。Zen 团队中有许多很棒的人,有一个分布在世界各地的团队,SoC 团队部分在奥斯汀、部分在印度,浮点缓存在科罗拉多州完成,核心执行前端在奥斯汀,Arm 前端在森尼维尔,我们有很好的技术领导者。
有一段时间,我一直在与 Suzanne Plummer(苏珊娜・普卢默)、Steve Hale(史蒂夫・黑尔)以及科罗拉多(Colorado)团队进行日常沟通,他们在某种程度上构建了 Zen 核心的前端。
他们都超棒。Mike Clark(迈克・克拉克)是一位出色的架构师,我们有很多乐趣和成果。成功取决于很多人,失败取决于一个人。这是个成功。
然后一些团队开始进步。我们把挖掘机架构移给波士顿团队,他们接手完成设计和实物工作,Harry Fair(哈里・费尔)和他的团队在这方面做得很好。
我们做了一些相当紧张的组织变革。我认为这其中有很多的同志情谊。所以我不会自称是“(Zen 的)父亲”,我是作为发起者和主要推动者被引入的,但我一部分是架构师,一部分是转型的领导者。那很有趣。
问题 3:您在 AMD 做的所有事情,现在都完成了吗?还是仍有些路线图之类的东西要出来?从你帮助传播的理念来看,你是怎么想的?
Jim Keller:当你建造一台新电脑,而 Zen 是一台新电脑时,工作已经在进行了。你基本上构建了一个路线图,我在想我们五年来要做什么,一个接着一个芯片。我们在苹果打造第一个大核心时也这样做,(在设计中)构建了大骨架。
当你想让计算机更快时,有两种方法可以做到:让基本结构变大,或者调整功能。Zen 有一个大结构。然后,接下来几代人有明显的事情要做。他们一直在坚持做这件事。在某个时候,他们将不得不进行另一次大的重写和改变。我不知道他们是否已经开始这样做了。
过去几年,我们为架构性能改进的计划相当大,他们似乎在执行这项工作方面做得很好。但我已经离开那里一段时间了 —— 四五年了。
问题 4:是的,我想他们说 Zen3,上一个刚出来的是改写的。所以我想有些人会认为,那仍是在您的指导下?
Jim Keller:是的,很难说。即使当我们做 Zen 时,我们也是从零开始做设计的 —— 在顶部做一个干净的设计。但当他们打造它时,有一大堆来自推土机(Bulldozer)和 Jaguar(美洲豹)的 RTL,它们非常好用,只需被修改并嵌入到新的 Zen 结构中。所以硬件人员很擅长使用好的代码。
因此,当他们说他们做了一个大改时,他们可能拿了一些片段,并在顶部进行重构,但当他们构建代码时,如果 20%~80% 的代码是相同的,或者轻微修改,这并不奇怪,很正常。
关键是采用正确的结构,然后根据需要重用代码,而不是采用一些复杂的代码并试图调整它以达到某个目的。所以如果他们重写了,可能会修正了结构。
02. 在英特尔管理 10000 人
问题 5:我不确定您是否还在接受保密协议,您在英特尔的工作像是一个全新的开始吗?可以详细谈谈您在那里做了什么吗?
Jim Keller:显然我不能说太多。我曾担任(英特尔)硅工程集团高级副总裁,团队有 1 万人。他们做了很多不同的事情,这太神奇了。从设计到原型,从调试和生产,总共大约有 60 到 70 个 SoC。这是一个相当多样化的团体,我的员工都是副总裁和高级研究员,这是一个很大的组织。
我原以为我会去那里,因为那里有很多新技术要去做。我大部分时间都在与团队一起研究组织和方法的转换,比如新的 CAD 工具、新的方法、构建芯片的新方法。
在我加入之前的几年,他们开始了所谓的构建芯片的 SoC IP 想法,而不是 0 历史整体视角。老实说,这并不顺利,因为他们采用了整体芯片,采用了出色的客户端和服务器部件,然后简单地将其拆解。你不能只是把它拆解,而必须真正重构这些部分和一些方法论。
我们发现许多内部人员对此感到非常兴奋,我还花了很多时间在 IP 质量、IP 密度、库、特征描述、制程技术上。你能想到的,我都在。我的日子过得有点疯狂,有时我一天会有 14 种不同的意义。只是点击、点击、点击,很多事都在发生。
问题 6:这些会议,您是怎么完成的?
Jim Keller:我什么都没做!我被告知是高级副总裁,负责评估、制定方向、做出判断,或者尝试一些组织变革或人员变革,过一段时间就能积累起来。要知道,实现目标的关键,是知道你要去哪,然后建立一个知道如何做到这一点的组织,这需要做很多工作。所以我没写多少代码,但发了很多短信。
问题 7:现在英特尔有了一位专注于工程的新 CEO 帕特・基辛格(Pat Gelsinger)。如果机会合适,您会考虑回去吗?
Jim Keller:我不知道。我现在有一份非常有趣的工作,在一个爆炸性增长的市场中。所以我祝他一切顺利。我认为这对于帕特来说作为 CEO 是一个不错的选择,我希望这是一个好选择,我们会拭目以待。他确实非常关心英特尔,他过去也取得了真正的成功,肯定会给公司带来更多的技术关注点。但我喜欢和司睿博(Bob Swan)一起工作,所以我们拭目以待。
03. 跳进跳出特斯拉英特尔,玩得很开心
问题 8:您当前在一家名为 Tenstorrent 的公司,和老朋友 Ljubisa Bajic(Tenstorrent 首席执行官)一起。纵观整个职业生涯,您基本上都在从一家公司跳到另一个公司。您总是在寻找另一个项目、另一个机会、另一个角度。恕我直言,Tenstorrent 会成为您永远的家吗?
Jim Keller:首先,我在 Digital(DEC)工作了 15 年,对吧?!现在是一种不同的工作,我在中档组,用 ECL 制造冰箱大小的计算机。我曾是 DEC Alpha 团队的一员,我们打造了微处理器,很小的东西,但在当时我们认为它们很大,300 平方毫米、50 瓦,这令每个人都大吃一惊。
我在那儿待了一段时间,然后在互联网高峰期去了 AMD,我们在几年内做了很多事情,启动了 Opteron(皓龙处理器)、HyperTransport、2P 服务器,这是一个旋风般的地方。但我被互联网的热情吸引了,我去了 SiByte,它被博通收购了,我在那里总共待了 4 年,交付了几代产品。
当时我在 P.A. Semi 工作,我们交付了一个很棒的产品,但出于某种原因,他们并不想出售该产品,或者他们想要将其卖给苹果。随后苹果买下了 P.A. Semi,我就在那个团队工作,所以你知道我在 P.A. Semi 和苹果之间徘徊,那已经 7 年了,所以我并不觉得跳得太多。
之后我跳槽到 AMD,我想,这是一段很有趣的时间。再后来,我去了特斯拉,在那里,我们交付了 Hardware 3.0 (特斯拉自动驾驶芯片)。这是一种现象。从静止起步到 18 个月内驾驶一辆汽车,我认为这是前所未有的,而且那个产品发货真的很成功。他们去年建了 100 万套。特斯拉和英特尔是另一种旋风,所以你可以说我跳进去又跳出来,确实玩得很开心。
是的,我去过一段时间。我喜欢这样想,我大部分时间,都用在完成我想要完成的事情。就交付具有持久价值的产品而言,我的成功是相当高的。我不是那个在生产中调整事情的人,这要么是一张干净的纸,要么是一场彻头彻尾的灾难。
这似乎是我最擅长的事情。了解自己真好 —— 我不是运营经理。Tenstorrent 更像是一张干净的纸。AI 领域正在爆发。这家公司本身已经成立多年了,但我们正在打造新一代部件,然后推向上市,开始销售。我是 CTO 兼总裁,在公司中拥有大量股权,无论是基于财务还是对那里的朋友的承诺,我都打算在这里待一段时间。
问题 9:您之前说过,超越了矩阵,你最终会得到巨大的图结构,特别是对于 AI 和 ML,关于 Tenstorrent 的全部要点,它是一个图形编译器和图计算引擎,而不仅仅是一个简单的矩阵乘法?
Jim Keller:有少量晶体管时,你可以做标量数学运算,比如 A=B+CxD。现在我们有了更多的晶体管,你可以说“我能做一个这些晶体管的向量”,就像一步做一个方程。
得到更多的晶体管后,我们可以做矩阵乘法。当获得更多晶体管,你想进行这些大运算并分解它们,因为如果你的矩阵乘数太大,仅仅通过单元的能量就是一种能源浪费。
你会发现你想构建这个最优大小的块,它不会太小,就像 GPU 中的一个线程,但它也不会太大,就像用一个矩阵乘数覆盖整个芯片一样。
从能耗的角度来看,这是一个非常愚蠢的想法。你将获得这个中型大小处理器阵列,其中中型处理器像是 4TOPS。这对我来说仍然很有趣,因为我记得那是个非常大的数字。
一旦你把它分解,现在你必须把大运算映射到处理器阵列,AI 看起来像一个非常大运算的图。它仍然是一个图,然后将大运算分解成较小的图。现在你必须将它放在一个有很多处理器的芯片上,并让数据流绕在它周围。
这是一种与运行向量或矩阵程序非常不同的计算方式。我们有时称之为标量向量矩阵。Raja 过去称它为空间计算(spatial compute),这可能是一个更好的词。
问题 10:除了 Tensix 核心,Tenstorrent 还在为下一代的核心中添加向量引擎?这是怎么一回事?
Jim Keller:还记得通用 CPU 上有向量引擎吗?事实证明,当你运行 AI 程序时,你想有一些通用计算。在图中,有时你想根据 AI 操作的结果运行 C 语言程序,因此将计算紧密耦合是很好的。通过将其保存在同一芯片上,延迟非常低,来回消耗的能量也很合理。
所以,是的,我们正在为此制定一个有趣的路线图。这是一个很小的计算机架构研究领域,比如,加速计算和通用计算的正确组合是什么?人们如何使用它?如何以一种程序员可以实际使用的方式来构建它?这就是我们正研究的技巧。
04. 处理更复杂的事情,必须借助工具和组织
问题 11:纵观您的职业生涯,您在高性能计算和低功耗高效计算之间徘徊。现在,您正处于 AI 加速的世界。有过无聊的时候吗?
Jim Keller:不,这真的很奇怪!它变了,变了很多,但在某种程度上,它完全没有改变。底部的计算机,它们只是将 1 和 0 加在一起。这很简单。011011100,没那么复杂。
但我曾研究过 VAX 8800,用每个芯片有大约 200 个“或门”的栅极阵列构建它。如今在 Tenstorrent,我们的小计算机,我们称之为 Tensix 核心,每个核心每秒有 4 万亿次操作,一个芯片里有 100 个这样的处理器。因此架构模块已经从 200 个门转移到 4TOPS。这有点疯狂。
这些工具比以前好得多。你现在能做的是,除非抽象级别改变,工具改变,否则你无法构建更复杂的事情。这方面发生了很多变化。
当我还是个孩子时,我曾经认为我必须自己做每件事,我像个疯子一样工作,一直编码。现在我知道如何与人合作,如何与组织合作,如何倾听,诸如此类的人际交往技能。人际交往能力上,我可能会有一个相当不平衡的记分卡!我确实有一些。
问题 12:您认为现在的工程师需要更多的人际技能吗?因为每件事都很复杂,都有单独的抽象层,如果想兼顾它们,必须有相应的基础知识。
Jim Keller:现在这是基本的事实,人们没有变得更聪明。因此,人们不能继续处理越来越多的事情 —— 这太蠢了。你必须建立工具和组织,来支持人们做复杂事情的能力。
VAX 8800 团队有 150 人。但在苹果建造第一个或第二个处理器的团队,第一个大型定制核心,只有 150 人。现在 CAD 工具好到令人难以置信,我们使用 1000 多个计算机进行模拟,此外,我们还有工具可以布局布线 200 万个门,而不是 200 个门。
因此,有些事情发生了根本性变化,但一位工程师一天内可能会交谈的人数根本没有改变。如果你有一个工程师每天和超过五个人交谈,他们会失去理智。所以,有些东西是真的恒定的。
05.CPU 指令集:Arm/x86 VS RISC-V
问题 13:我想了解一下您对 CPU 指令集的看法。具体的问题是,我们应该如何处理基本的限制?如何转向更好的?以及在 Arm、x86 与 RISC-V 方面,您如何入局?我记得有一次,您说大多数计算发生在几十个操作代码上,对吗?
Jim Keller:(关于指令集的争论)是一个非常悲伤的故事。它甚至不是几十个(操作代码)——80% 的核心执行仅仅是 6 条指令 —— 加载、存储、加法、减法、比较和分支。这些几乎就涵盖了所有。如果你用 Perl 或其他方式写作,也许调回和返回,要比比较和分支更重要。但指令集的影响很小,你可能会因为丢失指令而损失 10% 或 20% 的(性能)。
有段时间,我们认为可变长指令真的很难解码,但我们一直在想办法解决这一点。你基本上预测了表格中所有指令的位置,一旦你有了好的预测器,你就可以很好地预测这些东西。
因此,当你打造小型计算机时,固定长度的指令看起来很不错,但如果你正在打造一台非常大的计算机,来预测或确定所有指令的位置,它就不占优势。所以这没有那么重要。
当 RISC 刚出现时,x86 有一半是微代码。如果你看看 die,一半或 1/3 的芯片是 ROM。RISC 人员可能会说 RISC 芯片上没有 ROM,所以我们得到了更高的性能。但现在 ROM 这么小,你发现不了。实际上,加法器这么小,你几乎找不到它?目前限制计算机性能的是可预测性,其中两大限制是指令/分支可预测性和数据局部性。
现在新的预测器真的很擅长这个。它们很大,两个预测器比加法器大得多。这就是你 CPU 与 GPU(或 AI 引擎)之间争论的地方。GPU 的人会说:“看,没有分支预测器,因为我们做每件事都是并行的。”芯片有更多的加法器和减法器,如果这是你的问题,这是正确的。但他们在运行 C 语言程序时很垃圾。
GPU 是为在像素上运行着色程序而构建的,如果您有 800 万个像素,而大型 GPU 现在有 6000 个线程,您可以覆盖所有像素,每个线程每帧运行 1000 个程序。
但这有点像一群蚂蚁带着沙粒,而大型 AI 计算机有很大的矩阵乘数,它们喜欢用更少的线程来做更多的数学运算,因为问题本身就很大。而着色器问题是,问题本身很小,因为像素太多了。
有三种不同类型的计算机:CPU、GPU 和 AI。NVIDIA 正在做“中间人”的事情,他们用 GPU 运行 AI,并试图增强它。其中一些显然效果很好,有些显然相当复杂。
有趣的是,这种情况经常发生,当通用 CPU 看到 GPU 的向量性能时,它添加了向量单元。有时这很好,因为你只有一点向量计算要做,但如果你有很多事,GPU 可能是更好的解决方案。
问题 14:回到指令集架构(ISA)问题,很多人问您对 Arm 和 x86 有什么看法?哪款有遗留问题,哪款有性能?您在乎吗?
Jim Keller:我有点在乎。事情是这样的。当 x86 刚问世时,它超级简单纯净,当时有多个 8 位架构:x86、6800、6502。我可能以前就编程过所有这些程序。奇怪的是,x86 是开放版本。他们授权给 7 家不同的公司,这给了人们机会,而英特尔出人意料地授权了它。然后是 16 位和 32 位,后来他们增加了虚拟内存、虚拟化、安全性,继而是 64 位和更多功能。当你添加东西时,你还要保留旧的内容,以确保兼容性。
当 Arm 刚出现时,它是一台纯净的 32 位计算机。与 x86 相比,它看起来更简单、更易构建。然后他们添加了 16 位模式和 IT(如果是的话)指令,这太糟糕了。然后(他们添加了)一个奇怪的浮点向量扩展集,覆盖寄存器文件,再之后是 64 位,这部分清理了它。在安全和引导方面有一些特殊的东西,所以它只会变得更加复杂。
现在 RISC-V 出现了,它是耀眼的 Arm 新表亲。因为没有“垃圾”。它是一个开放式指令集架构,人们在大学里打造它,他们没有时间和兴趣去像其他架构那样添加太多的“垃圾”。所以相对来说,仅仅因为它的血统和年龄,它才处于复杂生命周期的早期。
这是一套相当不错的指令集,他们做得很好。所以如果我今天想非常快地构建一台计算机,并且希望它运行地更快,那么 RISC-V 是最容易选择的。它是最简单的一个,拥有所有正确的功能,并且没有太多的垃圾。
问题 15:所以现代指令集太臃肿了,尤其是有旧的遗留问题、历史包袱?
Jim Keller:已迭代和添加的指令太臃肿了。总是这样。当你不断添加内容时,工程师们会遇到困难。你可以有一个非常好的设计,有 10 个功能,然后你再添加一些功能。这些功能都使它更好,也使它更加复杂。
随着时间推移,添加的每个新功能都变得更难,因为该功能和其他所有内容的交互都变得很糟。
营销人员和老客户会说“不要删除任何东西”,但与此同时,他们都在尝试新的东西,其功能只有老内容的 70%,但它做得更好,因为它没有所有这些问题。
我谈到了收益递减曲线,收益递减的原因有很多,其中之一是事物相互作用的复杂性。原本更简单、做得更少的东西会更快,它们会让这些速度慢下来。这种情况已经发生过很多次了,这是复杂性理论的结果,我认为是“人类的邪恶”。
问题 16:您有没有见过这样的情况:x86 崩了,而某些东西被重新发明?或者它只是有些遗留问题,像 RISC-V 这样的新事物会蹦出来填补空缺?
Jim Keller:x86-64 相当干净,但显然它必须背负所有的旧包袱。他们弃用了许多旧的 16 位模式。很多东西都消失了,有时如果你很小心,你可以说“我需要支持这个 legacy,但它不一定是性能,我可以把它与其他 legacy 隔离开来”。你要么模仿它,要么支持它。
我们曾打造计算机,有前端、获取、调度、执行、负载存储、L2 缓存。如果你观察它们之间的界限,你会看到 100 根线在做一些随机的事情,这些事情确切地取决于时钟的哪个周期或阶段。
现在,这些接口看起来不像指令边界,如果我从这里发送到那里会有一个协议。里面的计算机看起来不像一堆东西连在一起,而看起来像 8 台计算机连在一起做不同的事情。有一台获取机、一台调度机、一台执行机和一台浮点计算机,如果你这样,你可以不碰其他任何东西就改变浮点。
这与其说是指令集的东西,更像是“构建它时你的设计原则是什么”,然后你是怎么做到的。
如果你遇到问题,你可以说“如果我能在这两个盒子之间有这五根线,我就可以解决这个问题。”但每次你这样做,每次你违反抽象层,你都会给未来的 Jim Keller 制造一个问题。
我这样做过很多次,如果你能正确地解出来,它仍然是干净的,但如果你稍微破坏一下,那么随着时间的推移,它会杀死你。
06. 抽象分层能解决更复杂的问题
问题 17:在很多演讲中,您谈到抽象分层的概念,不仅涉及工程的很多方面,也涉及到生活。这个概念是指您可以独立地升级不同的层,而不会影响上下层,并提供新的平台来构建。在您生命中的哪个阶段,这种精神发生了变化?您的生活中发生了什么,让它成为您个性的普遍元素?
Jim Keller:我个性中的普遍元素?这很有趣!我知道我经常重复它,也许我想说服自己。比如,当我们构建 EV6 时,德克・迈耶(Dirk Meyer,AMD K7 研发主导者)是另一位架构师。我们还有其他几个很厉害的人。我们把设计分成几部分,写了一个非常简单的性能模型,但当我们构建这个东西时,对于一个坏掉的机器来说,这是一个相对短的通道,因为我们在预测方面还有点弱。事物之间有很多相互作用,这是我们一个困难的设计。
我们还使用 Digital 当时的定制设计方法构建了它。我们有 22 种不同的触发器(flip-flop),人们会 roll 他们自己的触发器。我们经常用晶体管建造大型结构。我记得有人问我库里有什么元素,我说,两者都是!N 型和 P 型,对吗?然后去了 AMD,K7 是用一个单元库构建的。
现在,那里的工程师非常擅长布局单元库,能获得良好的性能。他们只有两个 flip-flop,1 个大的和 1 个小的,他们有一个纯净的单元库。他们在晶体管和设计器之间有一个抽象层。那时候还没有真正好的布局布线工具,这是一种更好的方式。
然后,在 EV6(后来被称为 S2K 总线)上构建的接口上,我们听取了 AMD 的意见。我们最初有很多复杂的交易来做 snoops、加载、存储、读取、写入等各种事。我的一个朋友在数字研究实验室工作,有一天我向他解释了这是如何运作的,他听了我的话后,只是摇了摇头。
他说:“Jim,你不该这样做的。”他解释了虚拟通道是如何运作的,以及如何拥有独立的抽象信息通道。在开始对命令编码之前,你需要正确处理这一点。那场教研会的结果是 HyperTransport。它有很多 S2K 协议,是以更抽象的方式构建的。
因此我想说,从 Digital 到 AMD 的转变,让我们有了关于如何构建高性能计算的想法,但方法是集成的,所以从晶体管到架构不能是同一个人。
在 AMD,有迈克・克拉克(Mike Clark)、架构师、微架构师和 RTL 人员编写 Verilog,他们字面上被翻译为 gate 库、gate 人员,这更像是一种分层方法。
K7 是一个相当快的处理器,我们第一次在 K8 上摇摆,我们有点倒退了。当时我最喜欢的电路合作伙伴,他和我可以谈论大型设计,我们把它看作晶体管,但这是一种复杂的计算机制造方式。
从那以后,我更相信抽象分层是正确的。你不会超越人类的能力 —— 这是最大的问题。如果你想构建更大、更复杂的东西,你最好解决抽象分层问题,因为人们没有变得更聪明。如果你在上面放了 100 多人,它会减速,而不是加速,所以你必须解决这个问题。
问题 18:如果有 100 多人,需要分成两个抽象层?
Jim Keller:没错。这是有原因的,就像人类很擅长追踪。你的核心朋友圈就像 10-20 个人,像一个亲密的家庭,然后根据组织方式,有 50 到 100 人,你可以记录。但除此之外,你把 100 人之外的每个人,都视作半个陌生人。所以你必须有一些不同的合约来说明你如何做到这一点。
就像我们做 Zen 的时候,有 200 人,一半团队在前端,一半团队在后端。它们之间的接口是已经定义好的,不需要彼此谈论合约背后的细节。
这是很重要的。现在他们相处得很好,一起工作,但他们不必经常在边界上来回走动。
07. 关于摩尔定律,以及 X 射线光刻技术
问题 19:您曾说过不担心摩尔定律,不担心在工艺节点方面的演变,它最终会被人在某个地方解决。您对摩尔定律的态度是冷漠的吗?
Jim Keller:我非常积极主动。这根本不是冷漠。我知道很多细节。人们混淆了一些事情,比如英特尔的 10nm 延期,有人说摩尔定律已经死了,台积电的发展路线图却根本没有动摇。
部分原因是台积电的路线图与 EUV 机器的可用性保持一致。所以当他们从 16nm 到 10nm 再到 7nm 时,他们做了台积电非常擅长的事情 —— 做了这半步(half steps)。
因此,他们做了没用 EUV 的 7nm、用 EUV 的 7nm、不带 EUV 的 5nm、带 EUV 的升级版 5nm,他们做了些调整。然后使用 EUV 机器,有一段时间以来,人们不确定他们是否会工作。但现在阿斯麦(ASML)的市值超过了英特尔。
还有一件有趣的事情,我意识到,在创新的轨迹上,我们倾向于将台积电、三星和英特尔视为制程领导者。但许多领先地位实际上在 ASML 等设备制造商和材料方面。如果你看看谁在制造创新的东西,以及 EUV 全球销售,这个数字就像台积电到 2023 年将购买 150 台 EUV 机器之类的东西。
这些数字是惊人的,因为即使在几年前,也没有多少人确定 EUV 会起作用。现在 X 射线光刻技术即将出现,你可以说这是不可能的,但该死的,一切都是不可能的!
精细的印刷品,理查德・费曼(Richard Feynman)就是这么说的,他有点聪明。他说“底部有很多空间”,我个人可以数,如果你看看晶体管上有多少个原子,有很多。如果你看看你实际上需要多少晶体管才能做一个结,没有太多的量子效应,只有 10 个。所以还有空间。
还有一件有趣的事情 —— 当每个人都相信技术正在以这种速度发展,而整个世界都朝着这个速度前进时,就有了一个信念体系。
但技术不是一回事。有些人知道如何构建晶体管,比如制程设计师在英特尔、台积电或三星所做的。他们使用可以做特征的设备,但随后这些特征实际上相互作用,然后会有一个很有趣的权衡,比如如何沉积和蚀刻,它应该有多高、多宽,在什么空间里。他们是使用工具的工匠,工具必须超级锋利,工匠必须非常有知识。这是一出很复杂的戏。
在某种程度上,因为机器本身很复杂,你有这个小的复杂组合,机器制造商正在做不同的部件,但他们并不总是完美地协调,或者他们通过设计流程的机器集成人员进行协调,这很复杂,它让事情慢下来。但这并不是因为物理基础 —— 我们在物理基础方面正在取得良好进展。
问题 20:您在 Scaled ML 大会演讲中,在幻灯片上印着一个 Comic Sans 字体的 X,说随着时间推移,由于物理定律,EUV 还有几个步骤要走。high-NA EUV 几年后即将推出,但现在您提到了 X 射线。有什么时间表吗?
Jim Keller:通常当一项技术出现时,他们会用它来做一件事。当 EUV 首次用于 DRAM 时,它实际上是一步,也许是两步。我想起来了,可能 2023 或 2024 年?并不是很远。这意味着他们已经启动并运行了,人们正在使用它。
更疯狂的是,当它们从可见光变成极紫外光时,波长大约减少了 10 倍?因此,当他们有疯狂的多图案和干扰之类的东西时,你可以看到那些 DUV 的图案,当谈到 EUV 时,他们可以直接印刷。但实际上(当你缩小时)他们可以在 EUV 上使用相同的技巧。所以 EUV 将是多图案的,我想是在 3nm。然后你可以用它做很多技巧。
所以,物理真的很有趣。然后是物理、光学等,材料的纯度,这非常重要,还有温度控制,这些事不会来回移动太多。你看到的每一个地方都是有趣的物理问题,所以有很多事情要做。有成千上万的人在研究它,并有足够的创新空间。
08. 把老团队带到新东家未必是好事
问题 21:我们注意到,当您从一个公司跳槽到另一个公司时,您所做的一件事是组建一个团队。由于团队是由其他人组建的,我们看到有些人将他们在前几家公司组建团队中的工程师带到下一家公司。您对组建团队有什么见解吗?在您所在的公司是否有什么不同的方法?
Jim Keller:你必须意识到的第一件事是,你是在组建团队,还是在寻找团队?威尼斯有一个很棒的博物馆,大卫博物馆,博物馆前面有一些巨大的大理石块。我不知道他们是如何移动的。大理石块已经放在那里,米开朗基罗可以看到这个美丽的雕塑,问题在于去除多余的大理石。
因此,如果你进入拥有 1000 名员工的公司,我向你保证,那里有一支好团队。你不必雇佣任何人。我在 AMD 时几乎不雇人。我们四处调动人员,重新部署了人员,那里有很多优秀的人才。
当我去特斯拉时,我们必须从零开始组建团队,因为特斯拉没有人在做芯片。我雇了一些我认识的人,后来又雇了一些我以前不认识的人,这是其中一件有趣的事情。
我见过领导者从一个公司到另一个公司,带着 20 个人,然后开始试图复制他们以前拥有的东西。这是一个坏主意,因为尽管 20 个人足以复制(你的)现状,但它会疏远(在新团队中的)你想要的东西。
当你组建一个新团队时,理想情况下,你会得到你真正喜欢的人,或者你刚认识他们,或者你和他们一起工作,但你需要在方法和思维上有所不同,因为每个人都有一个局部的最低要求。所以新团队有机会一起创造一些新的东西。
其中一些原因是,如果你有 10 个真正非常好的团队,然后你从每个团队中抽出一个人组建一个新团队,那可能更好,因为他们会重新选择哪个是最好的想法。
每个团队都有优点和缺点,因此你必须考虑,你是在建立团队还是在寻找团队,你想要创造的动力是什么,它给人们提供了产生新想法的空间。
或者,如果有些人坚持一个想法,他们会与新人合作,会开始做这件不可思议的事情,你会认为他们很棒,即使他们以前没那么好,那么发生了什么?他们带着一些不太好的想法,遇到了一个挑战他们或环境迫使他们的人,突然间他们就做得很好了。我见过很多次这种情况。
Digital(DEC)的肯・奥尔森(Ken Olson)说,没有糟糕的员工,只有不合适的员工。
当我年轻的时候,我认为这很蠢。但随着我与更多人合作,我见过这种情况发生很多次,我甚至解雇过一些后续取得真正成功的人。这一切都是因为他们没有把工作做好,被情绪困住了,他们觉得自己在做一些没用的事情。
将他们搬到另一个地方的行为使他们自由了。(不用说)我没有得到一句感谢。
问题 22:这之中有多大程度归结于公司文化呢?当您为合适的职位寻找人或招聘新员工时,您是否尝试得到一些与公司利益相悖的东西?您这里有什么策略吗?还是您只是在找一个有火花的人?
Jim Keller:如果你想要创造一些真正具有创新性的内容,那么你的想法很可能与传统背道而驰。如果你的项目进展顺利,引入激励者会让所有人放慢脚步,因为你已经做得很好了。
你必须在环境中观察。有些人真的很好,他们非常灵活地适应并推动这个项目,但在下一个项目中,你可以看到他们已经建立自己的网络和团队,在下一个项目中,他们准备做一个支点,每个人都愿意工作。信任是件有趣的事情,不是吗?
你知道,如果有人走上前来,说跳下这座桥,但你会没事的,你可能会认为这是说胡话。但如果你已经和他们一起经历了很多事情,他们说“看,相信我,然后跳下去 —— 你会没事的;这会很糟糕,但会没事的”,你会做的,对吧?
相互信任的团队,比那些必须处理合同、谈判和政治的团队效率高得多。
所以这可能是一回事。如果你正在建立或寻找一个团队,你开始看到人们从事政治活动,这意味着为了自己的利益操纵环境,他们必须离开。除非你是老板!那你就必须看看他们能不能做到,有些人非常政治化,但他们真的认为自己的政治力量来自于实现目标。但在一个政治性的组织中,人们会随意造成很多压力。
问题 23:您是否建议早期或中期的工程师应该定期从一个项目跳到另一个项目,这样他们就不会陷入困境?这听起来是一件常见的事情。
Jim Keller:当你做新事情并为那些比你懂得多的人工作时,你学得最快。因此,如果你的职业生涯刚刚开始,而且你学到的东西不多,或者你为之工作的人没有激励你,那么是的,你可能应该改变。
有些职业中,我曾见过一些人因为获得经验而换了三次工作,结果却一无所获。他们最好还是待在原处,真正深入研究一些事情。所以你知道,这两种想法之间存在创造性张力。
09. 第一份工作就怼过 CTO,读了 2 本书
问题 24:我想问您和您的导师在您早期职业生涯中的情况。您在领导能力、知识或技能方面敬仰谁?您有崇拜的人吗?
Jim Keller:哦,是的,很多人,从我父母开始。我真的很幸运。我父亲是一名工程师,我母亲非常聪明。奇怪的是,当我长大后,我有点像她,在睿智的思考方面。但我有阅读困难症,无法阅读。我父亲是一名工程师,所以我从小就认为我像他,但实际上,我在智力方面更像我妈妈。他们都是聪明人。他们都是 50 后,我妈妈养家糊口,她直到晚年才开始她的治疗师生涯。不过他们都是很有趣的人。
当我第一次在 Digital 工作时,我为一个叫鲍勃・斯图尔特(Bob Stewart)的人工作,他是一位伟大的计算机架构师。他做了 PDP-11/44、PDP-11/70、VAX 780、VAX 8800 和 CI 互连。有人说,他参与过的每个项目都赚了 10 亿美元,那时候这可是个大数目。
所以我为他工作,他很棒,不过那里还有其他六位非常伟大的计算机架构师。我当时在 DEC,DEC 有 DEC 研究实验室,我遇到了巴特勒・兰普森(Butler Lampson)、查克・萨克(Chuck Thacker)和尼尔・威廉(Neil Wilhelm)等人。当我还是个孩子时,南希・克罗嫩贝格(Nancy Kronenberg)是我的导师之一,她是 VMS 操作系统的主要人物之一。这是一种幸运。
所以我崇拜他们吗?嗯,他们都令人望而生畏,又没那么令人害怕,因为我当时没太意识到他们是谁,我对当时的事情有点忘了。
比如,我在 Digital 的第一周,我们接受了名为 Valid 的绘图系统的培训,这是在 Matrox 图形时代之前的东西。有个人走了进来,问了一些问题,告诉我们关于分层设计的事情。
我向他解释了为什么这一部分是好主意,一部分是愚蠢的,我们就此进行了一个小时的辩论,然后他离开了。
有人说那是戈登・贝尔(Gordon Bell,被称作 DEC 的技术灵魂)。
我问:“那是谁?他是 Digital 的首席技术官?真的吗?好吧,他刚才说的一半话都错了 —— 我希望我能把他理顺过来。”
但你知道,我认为这只是血清素激活或其他什么。我觉得这更像是我的心理问题,而不是功能问题!
问题 25:你是说你已经成熟了吗?
Jim Keller:一点也不!
问题 26:这就是乐趣所在吗?
Jim Keller:我是说,有很多东西。当我年轻时,我在演讲时会紧张,我意识到我必须更好地了解周围的人。但你知道,我并不总是被说服。
(当时)我宁愿他们只是做正确的事情或什么的,所以有很多东西已经改变了。现在,我对人们的想法和他们为什么想很感兴趣,我对此有很多经验。每隔一段时间,您就可以真正帮助调节某人,或让团队更好地工作。
我一点也不介意做公开演讲,只觉得从紧张中获得的能量很有趣。我还记得在英特尔的某个会议上走上舞台,大约 2000 人,我本应该非常紧张,但相反,我感到非常兴奋。所以有些事情改变了,但那部分是意识的,部分是练习。
我仍然对计算机设计之类的东西感到兴奋。这真的很有趣。改变世界,太棒了。
问题 27:听起来你花了很多时间研究人类的经验。如果你了解人们的想法和操作方式,这与对戈登・贝尔花一个小时说话是不同的。
Jim Keller:这很有趣。我喜欢读书。你可以从书本中学到很多东西。顺便说一句,如果你知道书是怎么回事的话,那么书很有意思。
有的人活了 20 年,满怀热情地写下他们最好的想法(有很多这样的书),然后你去亚马逊上找到最好的想法。这超级有趣,就像一本书中真正浓缩的体验,写好了,你可以选择更好的书,谁知道呢?我已经读了很多书很久了。
很难说,“读这 4 本书,它会改变你的生活”。有时(1 本)书就能改变你的生活。但读 1000 本书会改变你的生活,这是肯定的。太多人类的经验是有用的。
谁知道莎士比亚对工程管理真的有用,对吧?这些故事都是什么呢 —— 强权政治、狡猾的家伙、做所有工作的爪牙、偶尔拯救一天的英雄?这一切是如何发生的?你总是处在 500 年前的位置,但它适用于美国企业界的每一天。所以如果你不认识莎士比亚或马基雅维利,你什么都不知道。
问题 28:我记得您说过,在您担任第一个重要的管理职位之前,您读了 20 本关于管理技巧的书,最终您如何意识到您比其他人多读了 19 本书。
Jim Keller:是的,差不多。我联系了 Venkat(Venkatesh)Rao,他以博客 Ribbonfarm 和其他一些事情而出名。我真的很喜欢他在博客上关于组织的想法,他在底部写着点击这里为他买一杯咖啡,或者得到一个咨询,所以我给他发了一封电子邮件。我们因此开始闲聊。
在我加入 AMD 之前,我们聊了很久。他说我应该读这些书,我读了,我以为每个从事大管理工作的人都这样做了,但没有人这样做。
你知道那很搞笑,好像 19 本很丰厚。我比大多数管理者多读了 20 本管理类书籍,或者他们读了一些肤浅的东西,比如《从优秀到卓越》(Good to Great),里面有些好故事,但在管理方面没那么深刻。如果你想了解管理,读卡尔・荣格(Carl Jung)要好过读《从优秀到卓越》。
问题 29:你喜欢读小说还是非小说类作品?
Jim Keller:小时候,我读过各种非小说类书籍。后来我父母开了一个读书俱乐部。直到上四年级,我才真正学会阅读,但在七或八年级左右,我已经读过家里所有的书。有约翰・厄普代克(John Updike),约翰・巴特(John Barth)是我小时候最喜欢的作家之一。所以有很多故事。
还有多丽丝・莱辛(Doris Lessing),多丽丝・莱辛写了一系列科幻小说,这些书也是心理调查,我读后简直不敢相信。每隔一段时间,这些事情就会让你大吃一惊。显然它发生在正确的时间。
现在我读了各种各样的东西。我喜欢历史、人类学和心理学,喜欢神秘主义,有很多不同的东西。过去 10 年里,我可能读的小说越来越少。不过当我年轻的时候,我读的可能大多是小说。
问题 30:在这次采访之前,我从观众那里得到了一些关于您在接受莱克斯・弗里德曼(Lex Fridman)采访时所做的评论。您说您每周读两本书。您也非常擅长引用关键工程师和未来学家的话。我相信,当您开始读新书时,如果您开始在推特上分享您阅读的书籍,你会得到很多粉丝。一种被动的 Jim Keller 读书俱乐部!
Jim Keller:我想说我每周读两本书。现在我读了很多,但大多是博客和各种疯狂的东西。我不知道,就像做莱克斯(莱克斯的播客)超级有趣,但我不知道我是否有足够的注意力在社交媒体上来做这样的事情。我每次都会忘掉好几周。
问题 31:您如何确保自己在阅读时全神贯注,而不会将注意力分散到其他可能会担心的问题上?
Jim Keller:我并不在乎这些。我认识一些读书的人,他们真的很担心他们是否会记住这些书。他们一直花在强调和分析上。我读书是为了兴趣,我真正记得的是,人们必须写 250 页的书,因为这是出版商的规则。不管你的想法有 50 页还是 500 页的想法,你都可以很快地得出结论。
我读过一些只有 50 页的好书,你也可以阅读 50 页,你会想,“哇,真的很棒!”,但接下来的 50 页都是一样的。然后你意识到,它只是补充地更充实,那时我希望他们出版一本更短的书。
但事实就是如此。但是如果想法有趣,那很好。我定期冥想,思考我正在思考的东西,这有时与我正在阅读的内容有关。如果它很有趣,它就会被纳入。但你的大脑是一种奇怪的东西,你实际上无法接触到你读过的所有想法和事物,你的个性似乎通过它得到了充分的信息,我相信这个过程。
因此,如果我记不起(书中)某人的名字,我并不担心,因为他们的想法可能已经改变了,我是谁,我不记得它来自哪本书。我不在乎那些东西。
问题 32:只要您在某种程度上被动地吸收它?
Jim Keller:是的,有被动和主动的结合。我跟莱克斯说过,很多时候,当我处理问题时,我会为梦想做准备。这真的很有用。这是一件相当直截了当的事情。在你入睡之前,你会想起你真正在做什么,在想什么。然后是我的个人经历,有时候我真的在那方面努力,有时候那只是我真正需要思考的一个问题,我会梦到其他的东西。我会醒得很好,不管怎样,这真的很有趣。
10.“我是特斯拉最懒的人”
问题 34:关于时间的话题,我们将讨论个人健康、学习、冥想和家庭,以及您如何专业地执行。您是那种每晚只需要睡 4 个小时的人吗?
Jim Keller:不,我需要 7 小时。有一天,我算出我理想的一天应该有 34 个小时。因为我喜欢锻炼、花时间和孩子在一起,喜欢睡觉和吃饭,你知道我喜欢工作。我也爱看书,所以我不知道。
工作很奇怪,因为它占据的时间,比你想花在它上面的时间多得多。但我也非常喜欢工作,所以把它压下去是一个挑战。
问题 35:当有截止期限时,首先应该做什么?您曾在公司工作过,在那里,产品上市时间一直是您工作的一个关键因素。
Jim Keller:过去六年,对我来说,重要的事情是,一旦我有太多事情要做,我就会找到一个比我更想做这件事的人。我主要处理未解决的问题。
你知道,我是特斯拉最懒的人。特斯拉有一种每天工作 12 个小时的文化,让你看起来像在工作,而我工作,朝 9 晚 7,这就是很多小时。但我也会在午餐时间去跑步和锻炼。他们有一间举重室。鹿溪就在大机械车间旁边,我会去那里锻炼一个小时,吃点东西。
在 AMD 和英特尔,他们是非常大的组织,我有非常好的员工。因此,我发现自己花了太多时间在演讲上或者在做一些特定的事情上。我会找到一些想做的人,把它交给他们,然后我去度假。
问题 36:您对做这种媒体采访有什么感觉,您知道,更多的是营销和公司讨论?这些不一定与实际挑战极限有关,而只是说说而已。
Jim Keller:这不仅仅是说说而已。我做了一些非常有趣的事情,所以我喜欢谈谈它。当我在英特尔工作时,我意识到这是影响英特尔工程师的方式之一。就像每个人都认为摩尔定律已死一样,而我想:“天哪,这是摩尔定律公司!”
如果(作为一名工程师)你的主要事情是(摩尔定律已死),那就真的是个拖累,因为我认为它没死。所以我和不同的人交谈,他们放大我说的话并为之进行讨论,然后转身而去。
我实际上通过对外交谈,接触到了更多英特尔内部的人。所以这对我有用,因为我的任务是制造更快的计算机。这就是我喜欢做的。
因此,当我与人们交谈时,他们总是提出各种各样的东西,比如我们的工作是如何影响人们的。
像你这样的人,会认真思考,然后互相交谈。我再和你交流,你问了很多问题,这有点刺激,很有趣。如果你能非常清楚地解释一些事情,你可能知道它。很多时候,你认为你知道它,然后你去解释它,但你却四处碰壁。
我做了一些很难做的公开演讲,比如演讲看起来很简单,但要进入简单的部分,你必须拿出你的想法,重新组织它们,然后扔掉哪些废话。这是一件很有用的事情。
问题 37:是费曼还是萨根说过:“如果你在大学一年级不能解释这个概念,那么你并不是真正地理解了它”?
Jim Keller:是的,这听起来很像费曼。他做得很好,就像他的物理系列讲座一样,非常有趣。费曼的问题在于,他对数学有如此出色的直觉,他的简单想法往往没那么简单!就像他可以用 5 个“简单”步骤计算一些轨道几何形状一样,他对它的简单程度感到非常兴奋。但我想他是房间里唯一一个认为这很简单的人。
问题 38:我猜他有在自己脑海中想象并操纵事物的能力。我记得你曾经说过,当涉及到电路级设计时,你可以这样做。
Jim Keller:是的。如果我有一种超能力,我觉得我可以想象计算机是如何运行的。当我做性能建模之类的工作时,我可以在脑海中看到整个事情,我只是把代码写下来。这是一个非常有用的技能,但你知道,我可能有一部分是天生的,一部分是发展而来,部分源于我成年后诊断出阅读困难症。
问题 39:我正要问先天和后天因素有多少?
Jim Keller:很难。有趣的是,对于超级聪明的人来说,事情往往对他们来说很容易,他们不用努力工作,就能走很长的路。所以我没那么聪明。毅力,以及他们所说的坚韧,是非常有用的,尤其是在计算机设计方面。当很多事情需要很多调整时,你必须相信自己能做到。但很多时候,有很多微妙的迭代要做,实践真的很管用。
所以,是的,每个人都是一个组合。如果你没有任何天赋,那就很难有所成就。但有时真正有天赋的人并不会学习如何工作,他们只能做一些显而易见的事情,而不是那些在混乱中坚持不懈的事情。
问题 40:认识自己的天赋也很重要,尤其是当你不知道自己拥有它的时候?
Jim Keller:是的,但另一方面,你可能有足够的天赋,但你只是没有努力工作,有些人过早放弃。你得做一些你真正感兴趣的事情。
当人们在挣扎时,比如他们想成为一名工程师或营销或这个或那个,(问问自己)你喜欢什么?对于想成为工程师,但父母或某人希望他成为一名经理的人来说,尤其如此。你会过着艰难的生活,因为你不是在追逐你的梦想,而是在追逐别人的梦想。你为别人的梦想感到兴奋的几率很低。因此,如果你不兴奋,你就不会投入精力,或者学习。这最终是一个艰难的循环。
11. 推动每个人都成为最好的人
问题 41:您在多大程度上花时间指导他人,无论是在公司内部,还是在指导外部以前的同事或学生?您是否曾设想过自己做一些更严肃的事情,比如“Jim Keller 半导体设计学院”?
Jim Keller:不。所以这很有趣,因为我大部分时间都是受任务驱动的。比如,“我们要做 Zen!”或“我们将造自动驾驶芯片!”,还有一些人为我工作。当他们开始为我工作时,我就开始了解他们是谁,他们中的一些人很好,另一些人则有大问题,需要以这样或那样的方式处理。
所以我会告诉他们我想要什么,有时我会给他们一些针对性的建议。有时候我会做一些事情,你可以看出来有些人真的很擅长跟随学习。后来人们告诉我,我在指导他们,但我在想我以为我很厉害?这是一次有趣的经历。
有不少人说我以某种方式影响了他们的生活,但对于其中一些人,我关注了他们的健康或饮食,因为我认为他们看起来缺乏活力。你可以做出很大的改进。顺便说一下,这值得一做。要么是那这样,要么他们做错了事,他们只是对此并不兴奋。(那时)你可以看出他们应该做其他事情。
因此,他们要么必须弄清楚为什么自己不兴奋,要么变得兴奋,很多人开始对自己或其他人的地位或其他事情大惊小怪。
拥有地位的最好方法是做一些伟大的事情,然后每个人都认为你很棒。通过试图攀爬来获得地位是可怕的,因为每个人都认为你是一个攀登者,有时他们没有能力或技能在那里做出正确的选择。它主要来自任务驱动。
我确实关心别人,至少我试着去,然后我看到结果。我是说,完成一个复杂的大项目真的很令人高兴。你知道你开始的时候在哪里,接着你知道它完成的时候在哪里,人们在成功的事情上工作时,他们会把领导和团队合作作为其中的一部分。这真的很好,但并不总是会发生。我很难做到”指导他人 ",因为我的任务是什么?比如,有人来找你,说“我想变得更好”。好吧,什么更好?如果这就像想更好地拉小提琴一样,那好吧,我不擅长。
当我说“嘿,我们将要造世界上最快的自动驾驶芯片”时,每个人都需要在这方面做得更好。事实证明,他们 3/4 的问题,实际上是个人问题,而不是技术问题。
因此,要获得自动驾驶芯片,您必须去调试所有这些东西,还有各种各样的个人问题 —— 健康问题、父母童年问题、伴侣问题、工作场所问题和职业停滞问题。名单太长了,我们都很认真对待。事实证明,每个人都认为自己的问题很重要,对吧?
你可能认为他们的问题不重要,但我告诉你,他们确实重要,他们有一个清单。随便问一个人,你最关心的 5 个问题是什么。他们可能会告诉你,或者更奇怪的是,他们给你 5 个错的,因为那也发生了。
问题 42:但他们给了您,他们认为您想听的 5 个,而不是实际的那 5 个吗?
Jim Keller:是的。人们也有禁区,所以他们最大的问题可能是他们不想谈论的事情。但是,如果你帮助他们解决这个问题,那么项目会进行得更好,然后在某个时候,他们会感激你。然后他们会说你是一名导师,你会想,我不知道。
问题 43:您提到您的项目成功了,人们会为他们的产品感到自豪。您有职业生涯中、项目或荣誉的“最自豪的时刻”吗?有什么具体的时刻吗?
Jim Keller:我有,而且有很多。我和英特尔的贝基・卢普(Becky Loop)合作过,我们在调试一些高质量的东西。结果发现有一大堆东西,我们反复讨论如何分析它,如何展示它,我对数据和正在发生的事情感到沮丧。有一天,她想出了这张图,它非常完美。我真的很为她兴奋,因为她已经找到了真相。我们实际上看到了一条可以修复的视线等。但这种事情经常发生。
问题 44:顿悟?
Jim Keller:是的。有时和一群人一起工作,进入其中就像一团糟,但后来情况会好转。特斯拉自动驾驶芯片的事情很疯狂,Zen 的成功是惊人的。每个人都认为 AMD 团队无法很好地完成任务,而我对与每个人都认为已经过时的团队一起构建一台真正伟大的计算机很感兴趣。就像没有人认为 AMD 有一个伟大的 CPU 设计团队。但是你知道,那些创立 Zen 的人,他们在 AMD 有 25 到 30 年的工作历史。这是疯狂的。
问题 45:是说迈克・克拉克(Mike Clark)和莱斯利・巴恩斯(Leslie Barnes),他们已经在那里工作了 25 到 30 年?
Jim Keller:Steve Hale,Suzanne Plummer。
问题 46:终身工作者?
Jim Keller:是的,他们是那种终身工作者,他们在那里做过许多伟大的项目,有良好的记录。但我们做了什么不同的事情?我们设定了一些非常明确的目标,然后进行重组以达到目标。
我们对公司人才状况进行了一些非常彻底的分析,有几个人真的被淘汰了,因为他们对永远做不出正确的事情而感到沮丧。你知道我听了他们的话,天啊,我喜欢听人的话。
我们开了个非常有趣的会议,这是我一生中最好的经历之一。Suzanne 打电话给我,说 Zen 团队成员不相信他们能做到。
我说:“太好了 —— 我会开车去机场,我在加州,明天早上 8 点在那里见。”
确保你有一个有很多白板的大房间。就像 30 个愤怒的人准备告诉我所有不起作用的原因,我把所有原因写在白板上,我们花了两天时间解决了问题。
这很疯狂,因为一开始我在抵御组团,但后来人们开始加入。只要有可能,我就想,当有人会说“我知道我们如何解决这个问题”时,我会把笔给他,他们会站起来在黑板上解释,效果非常好。事实是,他们所做的事情很诚实,这很棒。
这些都是我们不知道如何解决的所有问题,因此我们把它们摆在桌面上。他们没有给你两个理由,但保留了 10 个,然后说“你解决这两个问题”。
根本没有那种狗屁的事。他们都是有实际问题的严肃的人,他们经历过一些项目,人们说他们可以解决这些问题,但他们不能。所以他们可能在找我,但好像我不是个臭屁的人。我不是个胡说八道的人,我告诉他们,有些我们能做到,有些我不知道。不过我记得,迈克・克拉克在那里,他说我们可以解决所有这些问题。
你知道,当我们的东西相当好的时候,我走出房间,人们感觉很好,两天后问题又都出现了。你要多久去说服别人一次?但这就是他们熬过难关的原因。这不仅仅是我从场外威吓他们,还有团队中的很多人、很多成员都表示,他们愿意为此投入精力,这太棒了。
问题 47:在您的职业生涯中,有没有什么人被您认为是一个沉默的英雄,他们所做的工作没有获得足够的赞誉?
Jim Keller:大多数工程师。这么多,真是让人难以置信。你知道,工程师并不真正被理解。与硅谷每小时赚 800 美元的律师相比,工程师们往往希望独自工作,做事。有很多人都是很棒的人。我和那些说“这是我的第八代内存控制器”之类的话的人谈过,他们非常自豪,因为它工作正常,没有 bug,RTL 干净,提交也很完美。像那样的工程师到处都是,我真的很喜欢那种情况。
问题 48:但他们不自我推销,或者公司不自我推销?
Jim Keller:工程师更内向,认真负责。内向的人往往不是自我推销的人。
问题 49:您是不是有点像我,随着您的成长,您学会了如何变得更外向?
Jim Keller:嗯,我决定要做更大的项目,为了做到这一点,你不得不假装自己是一个外向的人,你必须提升自己,因为有一大群决策者不做这样的工作来找出谁是最好的架构师。他们将挑选每个人都认为是最好的架构师,或者声音最大,或者最有能力。
所以在某种程度上,如果你想在“首席工程师”之上取得成功,你必须理解如何在相应的环境中工作。有些人天生就非常擅长这一点,所以他们在组织中没有太多的天赋的组织,有时不需要努力工作,就能获得很高的职位。
然后你要处理的团队,主管或以上的人,他们的技能与大多数工程师不同。所以如果你想成为其中一员,即使你是一名工程师,你也必须学会它是如何运行的。其实没那么复杂。读莎士比亚,一些书,马基雅维利,你可以从中学到很多。
12. 安全、道德伦理和群体信仰
问题 50:未来计算的一方面是安全性,我们已经经历了侧信道漏洞。这是一些潜在的蠕虫,攻击我们用来制造快速计算机的技巧。当您在设计芯片的时候,您会在多大程度上考虑安全方面的问题?您发现自己是主动的还是被动的?
Jim Keller:市场支配需求。关于安全性的有趣之处在于,只有当有人关心它时,它才需要是安全的。多年来,操作系统中的安全性就是虚拟内存 —— 对于特定进程,其虚拟内存无法查看另一个进程的虚拟内存。但操作系统中它隐藏的代码非常复杂,以至于你可以欺骗操作系统来做一些事情。所以基本上你从正确的软件开始安全,但是一旦你不能证明软件是正确的,他们就开始在那里设置额外的硬件障碍。
现在我们正在构建一个操作系统看不到用户数据的计算机,反之亦然。我们试图将这些额外的界限放进去,但每次这样做,你都会让它变得更复杂一点。
您可以欺骗操作系统来做一些事情。所以基本上你从正确的软件开始安全,但是一旦你不能证明软件是正确的,他们就开始在那里设置额外的硬件障碍。
在某种程度上,全球范围内的安全性主要是通过模糊实现的安全,对吗?没有人特别关心你,因为你只是 70 亿人中的一员。就像有人能破解你的 iPhone 一样,但他们大多不在乎。这是一场有趣的军备竞赛,但这绝对是渐进的。他们发现了侧信道攻击,而且它们并不难修复。
但还会有一些其他事情,你知道,我不是安全专家。构建安全特性的开销大多较低。困难的部分是思考和决定做什么。
每隔一段时间,就会有人说“这是安全的,因为软件会做……”之类的话,我总是在想,“是的,只要等 10 分钟,软件就会变得更复杂,这将在其中引入一个缺口”。所以里面需要有真正的硬件边界。
有很多电脑是安全的,因为它们不与任何东西通信。就像有很多地方,电脑通常在硬防火墙后面,或字面上与任何东西断开连接。所以只有物理攻击才起作用,他们有物理守卫。这很有趣,但在我看来,它不是很高级,我主要关注正在发生的事情,然后我们就会做正确的事情。但我对软件的安全性没有信心,因为它总是会发展到它有点违反自己前提的地步。这种情况已经发生了很多次了。
问题 51:您在特斯拉工作过,专门为特斯拉设计过产品。您也曾在销售多种用途产品的公司工作。除了这种客户工作负载分析之外,您是否考虑过您正在构建的产品将用于何种用途的无数可能性?您考虑它其背后的伦理问题吗?还是您只是在那里解决造芯的问题?
Jim Keller:通用计算的有趣之处在于它可以用于任何事情。所以,如果纯好处比纯坏处好,道德就会更多。在大多数情况下,我认为纯好处于可能的坏处要好。但人们确实对此非常担忧。人工智能的伦理方面有很大的变化,老实说,人工智能的能力到目前为止已经超越了人们在这方面的思考。我不知道该怎么想。
当前的系统可以做的是已经把我们剥得一干二净,它知道我们在想什么,我们想要什么,以及我们正在做什么。接下来的问题是,有多少人有这个理由来构建一个低成本的人工智能和可编程的人工智能。我们正与相当多的人工智能软件初创公司进行交流,它们希望人工智能硬件和计算能掌握在更多人手中,因为这样就会有一些相互对峙的局面,而不是一个赢家获得一切。
但现代科技界一直是赢家通吃。有几十家大公司彼此之间有着竞争关系。这有点复杂。我想了一些,但是我没有什么可以说的,而且你知道到目前为止的好处是积极的。让技术掌握在更多人手中,而不是集中少数人手中,似乎更好,我们将拭目以待。
问题 52:你为许多大人物工作过。比如埃隆・马斯克、史蒂夫・乔布斯等等。看起来,你和埃隆的联系还很密切。你去年与莱克斯一起参加了 Neuralink 演示,这并非没有被注意到。你和埃隆现在是什么关系,是他邀请你的吗?
Jim Keller:我是受到 Neuralink 团队成员的邀请。我想说埃隆,我现在和他联系不多。我喜欢那里的开发团队,所以我去和他们交谈。很有趣。
问题 53:这么说你没有和埃隆保持联系?
Jim Keller:没有,我最近没有和他说过话。
问题 54:当时您在特斯拉工作时,这在很大程度上是一个专业的关系,而不是私人关系?
Jim Keller:是的。
问题 55:我想问的是,埃隆是加密货币的坚定信仰者。他经常讨论与计算和资源需求有关的问题,因为这些东西没有内在价值。您对加密货币有什么看法吗?
Jim Keller:不多。不完全是。我的意思是,人类真的很奇怪,他们可以把价值放在像黄金、金钱或加密货币之类的东西上,你知道这是一个共同的信仰契约。据我所知,它基于什么并不重要。我的意思是,加密人员喜欢的是,它似乎超出了某个中央政府的控制。无论这是真的还是假的,我说不准。我不知道会有什么影响。
但作为一个人,你知道,群体信仰真的很有趣,因为当你建造东西时,如果你没有一个有意义的群体信仰,那么你就不会做成任何事情。
群体信仰非常强大,它们影响着货币、政治、公司、技术、哲学和自我实现。所以这是一个超级有趣的话题,但是对于加密货币的细节,我不太在意,除了作为某种关于群体信仰的心理现象的表现,这其实很有趣。但这似乎更像是一种症状,或者说是一个随机的例子。
13.AI 能设计出芯片吗?
问题 56:就处理器设计而言,目前使用 EDA 工具,可以实现一定程度的自动化。人工智能和机器学习的进步正在扩展到处理器设计,您是否曾设想过 AI 模型可以设计出一个有目的的、数百万设备或芯片,而人类工程师无法理解的时代?您认为这会发生在我们的有生之年吗?
Jim Keller:是的,而且发展得很快。因此,高端 AMD、英特尔或苹果芯片的复杂性已经几乎是任何人都无法理解的。然而,如果你今天深入研究细节,你最多可以阅读 RTL 或查看单元库,然后说,“我知道他们做什么”。但如果你深入研究过一个经过训练的神经网络中,问为什么这个权重是 0.015843?没有人知道。
问题 57:这不是更多的数据,而非设计吗?
Jim Keller:嗯,有人告诉我这个。传统上,科学家会做一系列观察,然后说:“嘿,当我扔下石头时,它会像这样加速。”他们计算它的加速度,然后曲线拟合,他们意识到“天哪,有这个方程”。
物理学家多年来提出了所有这些方程,然后当他们提出相对论时,他们不得不弯曲空间和量子力学,他们必须引入概率。但仍然有一些可以理解的方程式。
现在有一种现象,机器学习的东西可以学习和预测。物理是某个方程输入、方程输出,或函数输出。但如果那里有一个黑盒子,其中人工智能网络作为输入,一个人工智能输出的黑盒子,你看这个盒子,你不知道它是什么意思,没有方程。所以现在你可以说神经元的设计显而易见的,小处理器,四万亿次运算的计算机,但是权重的设计不是很明显。这就是问题所在。
现在,让我们去用人工智能计算机来构建人工智能计算器,如果你去查看人工智能计算器呢?你不知道为什么它会得到一个值,你也不知道它的权重。你不懂它们下面的数学和电路。这是可能的。所以现在你有两个层次的东西你不明白。但你想要什么结果?你可能仍然按照人类的经验来设计的。
计算机设计师过去用晶体管设计东西,现在我们用高级语言设计东西。所以这些人工智能将成为未来的基石。但很奇怪,有些科学领域的功能是无法理解的。过去有解释物理,比如 1500 年前的亚里士多德,他对很多事情都是错误的。然后是方程式物理,比如牛顿、哥白尼等。
斯蒂芬・沃尔夫勒姆(Stephen Wolfram)说,现在将有程序物理。很少有程序可以用一个方程来编写。定理很复杂,他说,为什么物理不是这样的?在计算世界中,现在蛋白质折叠已经由人工智能编程,它没有可理解的方程或表述,那么为什么物理学不能做同样的事情呢?
问题 58:会是那些抽象层,甚至到晶体管。最终,每一层都将被 AI 取代,被一些难以理解的黑盒子所取代。
Jim Keller:组装晶体管的东西,会制造出我们甚至不理解为设备的东西。就像人们已经盯着大脑看了多少年,他们仍然无法确切地告诉你为什么大脑会做任何事情。
问题 59:是 20 瓦的脂肪和盐?
Jim Keller:是的,他们看到化学物质来回移动,电信号来回移动,他们发现了更多的东西,但这相当复杂。
问题 60:我想问您关于超越硅的问题。我们已经研究硅 50 多年了,硅范式一直在不断优化。您是否想过,如果我们在有生之年达到理论极限,硅之外会发生什么?或者任何东西都能实现,因为没有 50 年的追赶优化时间?
Jim Keller:哦,是的。计算机是从算盘开始的,然后是机械继电器,再之后是真空管、晶体管和集成电路。现在,我们制造晶体管的方式就像第 12 代晶体管。他们太棒了,还有更多事情要做。光学研究人员一直在取得进展,因为他们可以通过多晶硅引导光,并做一些非常有趣的转换。但那是 10 年、20 年以后的事了。他们似乎正取得进展。
这就像生物学经济学。制造一个复杂分子比制造一个晶体管便宜 1 亿倍。经济是惊人的。一旦你有了可以复制蛋白质的东西,我知道有一家以生产蛋白质为生的公司,我们做过数学运算,每个分子的资本实际上比我们在晶体管上花费的少 1 亿倍。所以当你打印晶体管时,这很有趣,因为它们以非常复杂的方式组织和连接在一起。
但我们的身体是自我组织的,它们把蛋白质准确地带到了需要的地方。这有点神奇。正如费曼所说,在底部,有很大的空间,发展关于化学物质是如何产生和组织的,以及它们是如何被说服以某种方式发展的。
我和一些考虑做量子计算初创公司的人聊过,他们用激光来让原子安静下来,并将其放在 3D 网格中。超级酷。我认为我们只是触及了可能性的皮毛。物理学是如此复杂和难以预料,谁知道我们要用它来构建什么。所以我考虑了一下,我们可能需要一种人工智能计算方式来组织原子,来让我们进入下一个阶段。但可能性是如此不可思议,简直是疯狂。是的,我也这么想。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。