订阅登录算力的形态——Chris Lattner 谈 Modular
Modular/Mojo 的创始人重返节目,讨论 CUDA 垄断、用 AMD 匹配 NVIDIA 性能,以及打造一家由“精英极客”组成的公司。
Alessio Fanelli
2025年6月13日
2211
分享在 YouTube 上观看,在 Apple Podcast、Spotify 上收听,或将我们的 RSS 订阅源添加到你常用的播放器!
Chris Lattner 上次做客播客时,我们将那一期命名为“走最难的路”。他们没有简单地搭建一个推理平台然后贴出 GPU 呼呼运转的图表,而是深入编译器层面,从头开始重建整个技术栈。
Modular 被构建成“同心圆”结构,正如 Chris 所说。你可以下沉到所需的层级;更底层的一切都是你无需触碰的可选管道。我们在上一期节目中已经深入介绍了 Mojo 的设计,如需回顾请查阅那一期。其核心独特之处在于一点:Mojo 以熟悉的 Python 语法暴露了每一条加速器指令(tensor core、TMA 等),因此你可以:一次编写,重新定向到 H100、MI300 或未来的 Blackwell。比 CPython 快 10–100 倍;通常在相同算法下击败 Rust。可作为零绑定的扩展语言使用:import my_fast_fn.mojo 并从普通 Python 中调用。这消除了对任何 Triton/CUDA kernel 和 C++“胶水”代码的需求。同样的方法也被应用于 MAX 推理平台:
MAX 的基础镜像约为 1 GB,因为它剥离了 Python 分发路径。支持约 500 个模型,提供预构建容器,内含所有必要的优化,如 Flash-Attention、paged KV、DeepSeek 风格的 MLA 等。最重要的是,他们提供每日构建(nightly builds),以真正让开源社区参与进来。本周,他们与 AMD 发布了一项重大公告,显示在一些更受欢迎的开源模型上,他们基本达到了与 H200 运行 vLLM 相当的 MI325 性能。这是在打破 NVIDIA 主导地位方面迈出的巨大一步(你也可以收听我们 geohot 的那期节目,了解更多关于 AMD 面临的挑战)。
Chris 还在他的“Democratizing AI Compute”系列博客中进行了密集输出,这既是一门关于 CUDA 所解决问题的精通课程,也是对 Modular 方法最连贯的推介:https://www.modular.com/democratizing-ai-compute
Chris 已经用 LLVM 取代了 GCC,用 Swift 取代了 Objective-C;接下来 Mojo 会取代 CUDA 吗?我们在完整节目中讨论了实现这一目标所需的条件。敬请收听!
[00:00:12] Modular 概览与算力的形态
[00:06:55] 从 CPU 优化到 GPU 支持
[00:11:14] MAX:Modular 的推理框架
[00:18:25] MAX 架构:从 Mojo 到集群级推理
[00:29:16] 开源贡献与社区参与
[00:32:25] Modular 与 VLLM 和 SGLang 的差异
[00:41:37] Modular 的商业模式与变现策略
[00:53:17] DeepSeek 的影响与底层 GPU 编程
[01:00:00] 推理时计算与推理模型
[01:02:31] 领导 Modular 的个人反思
[01:08:27] 创始人的日常作息与时间管理
[01:13:24] 使用 AI 编程工具与跟进最新研究
[01:14:47] 个人项目与工作生活平衡
[01:17:05] 招聘、开源与社区互动
Alessio [00:00:05]:大家好,欢迎收听 Latent Space 播客。我是 Alessio,Decibel 的合伙人与 CTO,今天与我搭档主持的是 Swyx,SmolAI 的创始人。
Swyx [00:00:12]:我们非常高兴能在演播室再次迎来 Mojo / Modular 的 Chris Lattner。欢迎回来。
Chris:是的,我非常高兴能来到这里。如你们所知,我是你们两位以及这档播客的忠实粉丝,也非常关注行业里正在发生的许多事情。谢谢你们邀请我。
Swyx:谢谢你让我们参与你的旅程。我想,尽管你的时间极其宝贵,你仍然花了很多时间写作,向全世界普及知识。我刚看了你和 GPU mode 那帮人做的那个长达两个半小时的研讨会,非常精彩。我们身上还穿着你们的周边。我们稍后会聊到你是如何像一台人类生产力机器一样做了这么多事情的,我觉得这有很多值得学习的地方,就个人层面而言。但我想很多人来听这期节目主要是为了了解 Modular 的现状。我们也会把它称为“算力的形态”,这大概会成为本期播客的标题。
Chris:是的,这非常令人兴奋。我是说,这个行业里硬件、软件各方面都在发生很多事情,创新无处不在。大多数人可以回顾我们做的第一期节目来了解情况,当时我们介绍了 Modular。我想大家想知道的是,从那以后你们好像把它 open source 了,期间有很多更新。过去这一年左右,你会重点强调哪些更新?是的。所以如果拉远视角来看,Modular 是什么?是的,我们是一家刚成立三年多的公司。三年零三个月。所以我们已经走了相当远的路。对很多人来说,前三年是一段非常神秘的时期,因为我不想让人们真正使用我们的东西。为什么会这样?为什么你要做一件不想让别人用的东西?嗯,因为我们在把一切弄清楚。所以我解释说,我们当时非常处于研究阶段。我们在试图解决一个非常困难的问题:如何释放 heterogeneous compute 的潜力?如何让 GPU programming 变得简单得多?如何通过大幅简化并消除复杂性,来实现横跨 AI stack 的全栈创新?这些都是核心问题。我有很多假设,对吧?但如果构建一个替代性的 AI stack,性能却不如现有的,那就没什么用,因为人们总会拿它和 state of the art 比较。到了那个阶段,你会说,好吧,那就把它拆解成一个普通的工程问题。这不再是 R&D,而是一个工程问题。你会说,好的,太棒了。我们来重构这些 API,废弃这个功能,哦对了,加上 H100 支持,加上 function calling 和 token sampling,以及所有你需要的不同功能。你可以用项目管理的方式来推进,对吧?所以每六周,我们就会发布一个新版本。我们添加了所有的 function calling 功能。现在你拥有了 agentic workflows。我们支持 500 个模型。我们有 H100 支持。我们即将推出对 AMD MI300 和 325 的支持。这对整个行业来说将是一件大事。而且随着在 Blackwell 上也完成这些,所有这些功能现在都集成到了产品里。所以当这一切发生后,突然之间大家就会说,哦,好吧,我明白了。但这对我们来说是一个根本不同的阶段,因为它能用了,对吧?一旦它能用了,你就能看到端到端的完整流程。很多人可以在脑子里把各个部分拼凑起来。不再只是在我的脑子里,也不再只是少数其他理解每个独立模块如何运作的人。现在,所有人都能看到它了。所以随着我们现在转型,突然之间就像是,好吧,我们把它 open source 吧。嗯,现在我们希望更多人参与。现在我们可以做这些事情了。实际上,我们办了一场 hackathon。我们邀请了 100 个人来参观,和我们共度一天。我们从零开始学习 GPU programming。所以,你知道,我们构建了一个非常先进的 inference 框架。你知道,hackathon 的获胜团队是一个四人团队。他们此前一天都没用过 Mojo,也没做过 GPU programming。他们搭建了一个训练系统。他们写了一个 Adam Optimizer、一堆 training kernels,构建了一个简单的 backprop 系统,并且他们实际展示了你可以用我们为 inference 搭建的所有东西来训练模型,因为它非常易于 hack,也因为 AI 编程工具很棒,但这正是当你准备好规模化时所能释放的能力。如果我们在六个月或十二个月前做这件事,那会很混乱,对吧?因为所有东西都会崩溃,会有很多 bug,而且说实话,今天它仍然是一个早期状态的系统。仍然有一些 bug,但现在它有用了。它能解决真实世界的问题。所以这就是区别。这就是我们作为一个团队所经历的演变。
Alessio [00:06:55]:我记得我们第一次请你来的时候,你其实关注的是 CPU。你们在 CPU 上工作了多久?然后从 CPU 转向 GPU 的跨越有多大?
Chris [00:07:06]: 所以,如果要我解释 modular 的话,我会说如果你回顾那前三年的研发历程,大致而言,第一年是为了证明编译理念。也就是去写非常、非常抽象的编译器底层内容,然后证明我们能在 Intel 芯片上让矩阵乘法跑得比 Intel MKL 还快,让它可配置,支持多种数据类型,在一个非常具体的问题上完成验证,而且是靠直接手写 MLIR 编译器表示来实现的,那过程真的很痛苦。但我们证明了这项技术,也达成了某个技术里程碑。第二年则是说,好吧,我相信这个基本方法是可行的,但说实话,易用性太糟糕了。手写内部编译器的东西体验极差。而且我们距离一个 AI 框架还差得远。于是第二年我们并行推进了两条路。一是 Mojo,也就是编程语言语法,属于 Python 家族,让它更易上手,方便编写 kernel,实现性能优化等等。二是构建一个面向 CPU 的 AI 框架,正如你所说,要能击败 OpenVINO 这类方案在 Intel CPU 上的表现。第二年结束时,我们心想:呼,总算完成了一件了不起的事,但话说回来,GPU 也很酷。于是我们又定了两个目标:第一,证明我们能做 GPU;第二,不要只做一个所谓的 CUDA 替代品,要证明我们真能做出有用的东西。让我们挑战 LLM serving。没什么大不了的,对吧?于是又是同样的思路:去证明我们能做成一件事,然后用一个非常困难的基准来验证它。这就是带我们进入第三年的历程。没错。每个阶段都极其困难,充满了有趣的技术挑战。而你面对的最大问题,大概是会不断有人告诉你这不可能。但你只需要有一点固执,相信自己,努力工作,始终专注于里程碑。当他们说不可能时,他们是指真的不可能,还是只是非常非常难?嗯,按常识来说,CUDA 已经有近 20 年历史了,NVIDIA 有几百甚至几千人在上面工作,全世界写 CUDA 代码已经很多年了,非常非常难。所以很多人——我的意思是,很多人认为一家创业公司在这个领域根本做不了任何事。是的,这几乎就是共识。所有这些钱都砸进去了,这么多不同的系统,全都失败了。凭什么你们的东西能成功,而其他聪明人做的都失败了?对吧。所以传统观念认为改变是不可能的。但我们身处 AI 领域,变化无时无刻不在发生。你要做的是规划出成功标准,搞清楚什么因素能让改变真正奏效。回顾我的职业生涯,做 LLVM 的时候,所有 GCC 的人都说这不可能。他们说 LLVM 会失败,因为 GCC 有 20 年历史,有几百人在开发它,还有什么 spec 基准测试。因为当时是保密的,外面没人跟我说不可能,这稍微有点不同,但 Apple 内部所有知道这事的人都说,不不不,Objective-C 挺好的,我们应该改进 Objective-C。世界不需要新编程语言,新编程语言永远不会被采用。是的。对吧。而且按常识,新编程语言不会成功,这就是传统观念。MLIR 也特别有意思。MLIR 是另一个编译器项目。我们做了这个东西,带到 LLVM 社区,说嘿,我们开源了,LLVM 愿意接受吗?我认识一些 LLVM 的人,对吧?这是我的博士项目,而 LLVM 社区里那些核心大佬已经为 LLVM 工作了大概 15 年。他们说,不不不,LLVM 够好了,我们不需要新东西。机器学习没那么重要。所以显然我已经发展出了一些应对这类挑战的能力。但归根结底,现实是人类不喜欢改变。而当你真正带来改变时,它需要时间来渗透到生态系统中,让人们去消化。这就是为什么我们会谈到 hackathon。你得教人们认识新事物。所以花时间做这件事真的很重要。博客系列这些东西都属于这种教育推广的一部分,因为这些东西其实没有一件是不可能的。只是需要非常辛苦的工作,需要一个精英团队,需要有好的愿景和指引等等。但人们觉得这是不可能的,这也是可以理解的传统观念。
Alessio [00:11:14]: 而且做 serving 基本上就是这个思路。我不需要跟你吹嘘这有多好,我直接用我们的平台来 serve 模型,然后你就能看到它快了多少。那你显然就会采纳它。是的。
Chris [00:11:27]: 嗯,现在你可以下载 MAX,它免费开放。你可以免费把它扩展到数千个 GPU。我跟你说几个很酷的点。它目前还不如 VLLM 完善,因为还缺一些功能,而且目前只支持 NVIDIA 和 AMD 的硬件。但顺便说一句,它的容器只有大约 1GB。哇。对吧。为什么只有 1GB?因为它是一个全新的技术栈。它不需要……你可以用 CUDA,也可以运行任意的 PyTorch 模型。如果是那样的话,行,你会引入一些依赖。但如果你在运行常见的 LLM 和人们真正关心的 Gen AI 模型,猜猜怎么着?它是一个完全原生的栈。效率极高。关键路径上没有 Python,也没有 eager mode op dispatch 这些东西,因为你没有那么多依赖,所以你的服务器启动非常快。如果你在乎 horizontal auto scaling,这其实很酷。如果你在乎可靠性,也很酷。里面没有堆砌的那些奇奇怪怪的东西。如果你想做点稍微定制化的东西,猜猜怎么着?你对一切都有完全的控制权,而且全是开源的。所以你可以去 hack 它。这个东西比 VLM 更开源,因为 VLM 依赖一大堆来自 NVIDIA 的疯狂二进制 CUDA kernel,那些都是不透明的黑盒。对吧。所以这是一个非常不同的世界。我不想让大家一夜之间就抛弃 VLM,因为我觉得它是个很棒的工程。对吧。但我认为这里有一些有趣的东西,而且对某些人来说,它之所以有趣是有特定原因的。
Alessio [00:12:47]: 你能不能给大家介绍一下 MAX 的各个组成部分?因为我觉得上次我们来的时候,这些东西都还不存在。
Chris [00:12:52]:没错。距离上次见面已经过去很久了,无论是按 AI 领域的时间还是 Modular 的时间来算。我们技术栈的底层可以看作是一组同心圆,最内层是一门编程语言,叫做 Mojo。Chris,你为什么非要再建一门编程语言?答案是,现有的语言没有一个能真正解决这个问题。那问题是什么?问题在于,现在所有的计算都是加速计算。你有 GPU、TPU、各种各样的芯片,还有 CPU,因此我们需要一门能够跨这些硬件扩展的编程语言。如果你去调研一下,目前最接近的也就是 C++。像 OpenCL、SYCL 这些东西,还有 HPC 社区涌现出来的无数方案,都试图跨不同硬件做扩展。让我第一个出来说吧,我现在可以非常坦然地讲:C++ 很烂。这是我应得的发言权,因为我写过太多 C++ 了。而且我还可以断言,搞 AI 的人通常都不喜欢 C++。他们喜欢什么?喜欢 Python。所以我们决定说,好吧,即便在 C++ 这个领域里,也没有一个真正好的统一方案,能去调用 tensor core 这类东西。于是我们说,好吧,我再次——Chris 又开始不讲道理了——我想要一个能释放硬件全部潜力的东西,不是某一家厂商的某一款芯片,而是任何芯片的全部潜力。它必须能支撑下一代非常先进的编译器,还有图编译器之类的东西,而且它得是可移植的,要在不同厂商之间可移植,并且实现代码的可移植性。是的,事实证明 H100 和 AMD 的芯片其实差异很大,确实如此,但它们之间仍有很多可以复用的部分,所以你能拥有的通用代码越多越好。另一方面是可用性,我们想要一个人们真正能用、真正能学会的东西,所以光是语法像 Python 是不够的,你要有性能、有控制力,还要有对硬件全部的掌控力。Mojo 就是这样诞生的。到今天,Mojo 主要对两类场景非常有用。随着时间推移 Mojo 还会成长,但我现在建议你在乎性能的地方用它,比如在 GPU 上运行的东西,或者真正高性能的场景,像在 web 服务器里做 continuous batching,或者需要做复杂哈希的地方。如果你在乎性能,Mojo 就是个好选择。还有另一个很酷的点我们马上会讲到,敬请期待——它是扩展 Python 的最佳方式。如果你有一大段 Python 代码,你在乎性能,想把性能敏感的部分从 Python 里抽出来,我们让迁移到 Mojo 变得超级简单。Mojo 不只是比 Python 快一点,它比 Rust 还快,它比 Python 快上万倍。而且它属于 Python 家族,所以你可以直接把一些 for 循环抽离出来,换成 Mojo,就能立刻获得性能提升。然后你可以就地继续优化代码,你可以把它 offload 到 GPU 上,这些事都能做,而且整个打包过程超级简单。这是一种让 Python 代码飞速运行的优雅方式。
Swyx:我确认一下,你说你们即将发布这个功能?
Chris:技术上它已经在我们 nightlies 版本里了,只是还没正式对外宣布。不是吗?好的。顺便说一句,我们经常这么干,因为我们非常以开发者为中心。所以如果你加入我们的 Discord 或 Discourse,Nightlies 很棒,它就像是最棒的东西。是的。所以我们有大量东西其实还没宣布,但在社区里已经众所周知了。好的。我还以为这已经发布了。是啊,是啊。
Alessio [00:16:12]:你说“抽离”,是指你们有一个 Python binding 来运行 Mojo?就像 C bindings 那样?具体是怎么实现的?
Chris [00:16:19]:最酷的地方在于,它是 binding-free 的。想想看,今天——不好意思,我又激动了,我都忘了我们墙外的世界有多悲惨。我们要解决的问题是:如果你有一大段 Python 代码——很多人都有——你写啊写啊写啊写,性能就成了问题。怎么办?你有几种选择。你可以说,我要把整个应用用 Rust 之类的重写一遍,对吧?有人这么做。另一种做法是,你说好吧,我要用 Pybind 或 Nanobind 或者某种 Rust 工具,把模块里性能关键的部分重写一遍。然后你就得写 binding 逻辑、处理 build system 的繁杂琐事,还要应对各种复杂性——这边是 Rust 代码,那边是 Python 代码。顺便一提,你现在还得招既会 Rust 又会 Python 的人,对吧。这会让团队割裂。Rust 人才非常难招,我喜欢他们,但人太少了。所以我们在做的是,好吧,让我们保持语言基本一致。Mojo 并没有 Python 的全部特性,值得注意的是,Mojo 没有 class,但它有 function。你可以使用任意的 Python 对象,你能获得这种 binding-free 的体验,而且非常相似。所以你可以把它看作是一个超级快、但稍微受限一点的 Python,现在它在整个生态里是内聚的。所以我觉得这不仅仅对 AI 生态有用,它对整个 Python 领域来说都是件很酷的事。而且你还能用上 GPU,你可以说,好吧,我可以拿你的代码让它真正跑得快,因为 CPU 本身也有很多厉害的特性,比如它们自己的 tensor core、SIMD 之类的东西。然后你可以把它放到 GPU 上,再放到 8 个 GPU 上,可以一直扩展。这是 Rust 做不到的事,对吧。你没法把 Rust 放到 GPU 上跑,真的,对吧。诸如此类。这也是我们正在带给世界的新一波技术的一部分。另外,不好意思,我对我们已经发布和即将发布的东西总是很兴奋,但今年秋天会更有意思。好吧。敬请期待。可能会有 AMD 和 NVIDIA 以外的更多硬件。不错。
Swyx [00:18:25]:以上就是 Mojo。是的。第一个同心圆。没错。克里斯 [00:18:28]: 谢谢你帮我拉回正题。所以最核心的一层是编程语言,对吧?它是让代码跑得快的好方法。再往外一层,你会说,好吧,什么最酷?AI。我说服你了吗?所以如果你进入 AI 的世界,就开始思考模型。而除了模型之外,现在还有 Gen AI。于是就有了 pipeline 之类的东西,对吧?整个 pipeline 涉及 KV cache 编排和 stateful batching。我是说,你们才是专家,agentic 之类的所有这些东西。再往外一层,是一个非常简单的、专注于 Gen AI inference 的框架,我们叫它 Max。Max 有一个 serving 组件。是叫 Max Engine 吗?对。对。好吧。其实有不同部分,我们就叫它 Max。子品牌搞得太复杂了。这也是我们品牌研发的一部分——HBO 也有同样的问题。对,没错。而且,谁给 LLVM 取的名?那到底是什么意思?对吧?所以——说实话,它很短,能在 Google 上搜到。不算最差的。对。然后 VLLM 冒出来,把它搞乱了。对。对。可不是。所以 Max,这么理解吧,它不是 PyTorch。这不是它的定位,但它真正专注于 inference。它真正专注于性能、控制和延迟。如果你想写点什么,让 Python 脱离 model logic 的循环,它在控制方面真的很强。因此它与 Mojo 直接衔接,设计目标就是与 Mojo 直接协作。在很多 LLM 应用里,你们都知道,有很多高度定制化的 GPU kernel。于是有很多疯狂的 attention 变体,比如刚出来的 DeepSeek 那些东西,这类东西一直在变。其中很多都是 custom kernel。但外面还有一个 graph 层。一直以来的工作方式是,内部有 CUDA 或 Tritonlang 之类的东西,外部则是 Python。我们接受了这种模式,没坏就别修。所以我们在 model 层直接用 Python。于是我们有一个 API,非常简单。它不是那种花里胡哨的设计,但感觉有点像一个非常简化的 PyTorch。你可以说,给我一个 attention block,给我这些东西,把这些 op 配置好,但它直接与 Mojo 集成。所以现在你获得了完整的集成。以一种其他方式无法做到的方式,因为其他框架都无法洞察你正在运行的代码。所以这意味着你能获得 automatic kernel fusion 之类的东西。那是什么?那是一种很厉害的编译器技术,让你可以说,好,你写一版 flash attention,然后很酷。我们可以自动把你想用的其他 activation function 融合进去,你不必写所有这些 kernel 的排列组合,而这只意味着你效率更高。意味着你获得更好的性能。我是说,就像很多东西一样。它只是降低了系统的复杂度。所以你不应该知道有个厉害的编译器存在。人人都应该讨厌编译器。人们唯一应该知道编译器的时候,是它出问题的时候,对吧?所以它感觉像是一种非常友好、非常顺手且高效的方式,用来构建自定义模型、定制现有模型等等。所以在 Max 里,我们有五六百个非常常见的 model family 都已经实现了,你可以在 build.modular.com 上看到。我们有一大堆模型。你可以浏览它们。你可以拿到源代码,拿来玩,做各种事。这对关心 serving、研究以及这类事情的人来说真的很棒。再往外一层,你会说,好吧,你有一种非常厉害的、在单节点上做 serving 的方式。这相当有用也相当重要,但你知道吗,大规模部署才真的酷。所以我们再往外一层,就是 cluster 层。那就是,好,酷。我有一个 Kubernetes cluster。我有一个平台团队。他们签了三年的合同,300 块 GPU。现在我有产品团队。我想把 workload 丢到这个共享的计算资源池里,而那些背着寻呼机的人希望产品团队守规矩,所以他们想追踪实际发生的情况。这就是向外扩展的 cluster 层,然后每个节点上都有非常厉害的 prefix caching。然后你有 intelligent routing,还有一大堆 disaggregated pre-fill 之类的,每一层都有一堆很酷的技术。但最酷的是,它们都是协同设计的。对。因为内部是 heterogeneous,你可以说,嘿,我有一些 AMD,有一些 Nvidia。嘿,我把模型丢上去,让它在最好的架构上跑。这其实简化了很多管理问题。所以我们已经内化为 AI 固有属性的很多复杂性,实际上只是这些系统被拼凑在一起所造成的后果。所以对我来说,你知道,我现在的首要目标是消除复杂性,既包括我们自己的 stack,因为我们确实还有一些技术债在还,也包括 AI 整体,而 AI 整体背负的技术债远远超出了它应承受的程度。
Swyx: 好吧,是啊。我是说,除了你之外,大多数人能理解和优化自己所负责的那部分 stack 的能力都是有限的。我很好奇,你对 VLLM 与 SGLang 的纷争,以及 Berkeley 出来的那些东西,有没有什么看法或内部见解。
Chris:是的,我并不了解内情,完全是局外人的视角。我没有内部消息。嗯,作为旁观者——我不直接参与这两个社区中的任何一个——当然,我可以只当粉丝,不用实际参与,但据我所知,他们之间有些过节。所以我不清楚其中的政治纷争和戏剧性冲突,但 SG Lang 在我这个外人看来是一个非常专注的团队,有明确的目标和想要证明的东西。他们正非常努力地朝着一组明确的目标推进,很像 Modular 团队。所以我觉得二者有些志同道合。VLM 则更像是一个庞大的社区,利益相关者众多,事情繁杂,有点混乱。但他们想成为那种默认的推理平台,成为所有人跑分的基准。而且据我所知,它确实在碾压 TRT LLM 和其他一些更老的系统。所以我觉得跑分指标对他们大概是有利的。因此我无法评判他们的野心,但从结构上看,它们是非常不同的路径。一种是说,我们要在少数几件真正重要的事情上做到极好——这也是我们的做法。另一种是说,我们对很多事情都说好,于是我们会做很多东西,其中有些能成,有些不成。关于 VLM,我经常听到的一个抱怨是:如果你打开他们的网页,他们会说,我们支持所有这些硬件,Google TPU、Inferentia、AMD、Nvidia,当然还有 CPU 等等,等等等等。他们列出了一大堆支持的东西。但随后你跟着网上某个随机网页的 Demo 去做,说“这是用 VLM 做某事的方法”,如果你在非 NVIDIA 的硬件上运行,它就会失败。那么 VLM 这样的东西价值何在?价值在于你想在它的基础上做构建。一般来说,你不应该纠结于它的内部实现。如果一样东西号称能用,你拿起来却发现用不了,还得自己去调试,这就有点背离初衷了。所以对我来说,我再次强调,我知道这有多难。我知道根本原因在于,他们试图在一大堆并非自己发明、而且老实说运转得并不太好的底层东西之上做构建。硬件很难,而面向硬件的软件如今更难,所以我们理解为什么会这样。但是,那种“看,我们什么都能做”的做法,最终实际能用的功能却像一张稀疏矩阵,这与保守的做法非常不同——保守的做法是说,好吧,我们只做少数几件事,但做得非常好,你可以信赖它。所以我说不上哪种更好。我对两者都很欣赏,它们都有很棒的想法。而且存在竞争对整个行业都有好处。确实如此。它们现在处于这个行业演变过程中所谓的“基准测试战争”阶段。没错。但我也听到,从企业端来看,它们都很出色,企业客户不想追这些闹剧。所以如今,少一点混乱,多一点“我能与这团队合作”,实际上非常有价值。你需要最先进的技术,需要性能等等,但能找到一个执行出色、愿意合作、可以与你共事的团队,同样极其重要。
Swyx:我们的产品线已经介绍全了吗?你提到了 Max。是的。我意识到一件事让我印象深刻:你把公司命名为 Modular,而且所有这些东西都设计得非常模块化。我在想,这样做有没有牺牲,还是说万事万物都模块化就是正确的做法?就没有权衡吗?
Chris:如果允许我暴露一下年龄的话,我对模块化设计的执念要追溯到当年创建 LLVM 的时候。当时有 GCC。我再说一遍,我很爱 GCC,作为 C 和 C++ 编译器等等,我非常尊重它,但它是一个单体巨物。它来自老派的 Unix 时代——就像编译器是 Unix 管道那样,所有东西都是全局变量,C 语言代码。它是用 KNRC 写的,如果你还知道那是什么的话。所以它来自一个完全不同的软件时代。而 LLVM 出来说:学校里教给大家的不就是,你有前端、优化器和代码生成器吗?那咱们就把它们清晰地拆分开。当时人们告诉我:首先,不可能取代 GCC,因为它太根深蒂固了,等等等等。其次,你不可能拥有干净的设计,因为看看 GCC 怎么做的,它很成功。因此,没有那种设计,你就不可能获得性能、不可能好好支持硬件,诸如此类。在一个无限完美的宇宙里,他们也许是对的,但我们并不生活在那样的宇宙里。相反,我们生活在一个有团队的宇宙里——有人非常擅长写解析器,有人非常擅长写优化器,有人非常擅长为 x86 写代码生成器,等等。这些是非常不同的技能组合。而且就像我们在 AI 领域看到的那样,需求一直在变。如果你今天写了一个单体系统,代码写得很死、全是 Hack,那两年后它可能就过时了。这就是为什么我们在 AI 领域看到很多非常酷、非常有前景的系统,它们崛起和增长得非常快,然后却衰落了。因为它们几乎是一次性的框架。这个概念其实来自……语言即框架。每个系统最终都不一样。但我非常坚信的一点是:在 AI 领域,我们希望进步变得更快,而不是更慢。这可能有争议,因为已经够快了,对吧?但如果我们能进一步加速,就能给生活带来更多产品价值、更大影响力,以及 AI 带来的所有好处。顺便说一句,我是个最大化主义者。但随之而来的现实是,一切都会改变和崩坏。所以如果你有模块化,有干净的架构,你就能演进、能改变设计。它不会过度特化于某个具体用例。挑战在于,你必须把基准线和指标设对。这就是为什么我说要与业内最顶尖的去比较。所以对我来说,至少在我看来,建一个东西只有业内最好水平的 80%,但有其他好处,这并不能让人满足。我希望在我们关心的领域里做到最好。
Alessio:那在使用 prefix caching、pay-per-use 这些功能,以及 Paged attention 方面呢?你们如何决定哪些方面要自主创新,versus 哪些方面已经有团队做到了最好,你们就直接拿来用?是的。
Chris [00:29:28]: 我向来毫不避讳地借鉴任何地方出现的好点子。说到底,一切都是 remix,对吧?所以不管是谁,不管是 Nvidia、SGLang 还是 VLM,只要有人有好想法,我们就把它整合进来。但关键是要让这些能力可组合、正交、灵活且富有表现力。对我来说,我关注的不仅仅是人们已经做过并整合好的成果。比如,我并不只是把东西塞进 VLM,而是关注 arXiv 上那源源不断发表的论文,对吧?我持续跟踪这个领域,推理研究现在非常活跃。以前基本上只有训练研究,对吧?而这些新成果大多从未进入那些标准框架,对吧?原因在于,任何新东西你都得写大量手写的 CUDA kernel 和一堆杂七杂八的代码。哪怕我只是想加一种新的 D type,也得把所有东西改一遍,因为什么都不具备可组合性。嗯。所以,这正是如果你能把软件架构中某些环节做对——诚然,这要求你发明一门新的编程语言——所能带来的好处。这个问题确实有几个难点,但酷的是,一旦做对,你的速度会快得多。我给你举个例子。这完全是公开的,因为我们不仅开源了产品本身,还开源了全部的版本控制历史。所以你可以回溯时间线,顺便说一句,Chris 喜欢开源软件。让我来向你证明这一点。我不喜欢别人太早来插手我的东西,但我喜欢开源软件。所以你可以去看看我们是怎么完成对 H100 的支持的,怎么在几周内从零手写了 Flash Attention,怎么构建了所有这些。比如我们打败了所有人都在用的 TreeDAO 参考实现,对吧?完全用 Mojo 写的。再说一遍,我们所有的 GPU kernel 都是用 Mojo 写的。你可以看到团队构建它的完整历史,而且只花了几周时间,对吧?我们完成了对 H100 的支持,那是一种全新的 GPU 架构。如果你了解的话,它有非常先进的异步功能和 Tensor Memory Accelerator 之类的特性,还有他们加的各种花哨玩意儿,这些对性能至关重要。而且我们的目标是达到并超越 QDNN、TRTLM 这些东西。所以这不是什么能走捷径快速成功的事。你必须把所有事情都做对,让所有环节对齐。因为任何一个小地方错了都会削弱性能。而我们做到这些,我想花了不到两个月。全部公开在 GitHub 上,对吧?这种速度简直不可思议。我觉得发明 Flash Attention 花了九到十二个月,再花六个月才被 VLM 接纳。而后者只是集成工作,对吧?所以你现在说的是,从零开始以可组合的方式构建所有这些东西,能跨架构扩展并具备这些优势。这完全是另一个层次。总之,我们的东西在很多方面仍然处于早期。所以我们还缺少一些功能。但如果你对我们做的事情感兴趣,完全可以跟踪我们的 changelogs。你可以 nightly 跟踪,我们会发布所有酷的东西,所有 kernel 都是公开的。所以你可以看到并参与贡献。如果你感兴趣,你也可以这么做。
Alessio [00:32:19]: 嗯。你有没有什么希望大家在 Modular 之外承接、而你们不打算自己纳入的项目?
Chris [00:32:25]:当然。我们是个小团队,虽然已有一百多人,但相对于我们要解决的问题规模,相对于我们的雄心壮志,我们在整个 AI 行业里依然微不足道,对吧?正因如此,比如,我们原本并不太在乎 Turing 的支持。Turing 是一种较老的 GPU 架构。于是社区里有人说,好,那我来支持这种新的 GPU 架构。他们就贡献了 Turing 支持。现在你可以免费在 Max 和 Colab 上使用了。这很棒。还有很多算子。我们非常聚焦于 AI 和 Gen AI 这类方向。顺便说一下,我们的东西并不限于 AI。有人写了 ray tracers,有人做飞行安全,还有各种各样奇特的应用。飞行模拟?在我们的黑客松上,有人做了一个演示,大概是分析语音转录,就是那种黑匣子类型的通信流量,然后预测飞行员什么时候犯了错,飞机会出大问题,并且能以很高的置信度做出预测。就像你的车一样,你开着开着,如果不减速它就会开始嘀嘀响,类似于 lane assist。对对对,就是那种东西。但是给 FAA 用的。哇。就是这类应用,对吧?而我对这个领域一无所知,完全不是我的专长,相信我。这就是一种力量的体现:我们行业里有太多人,感觉几乎聪明到没有上限,他们在大多数方面都比我聪明得多。你给他们工具,为他们赋能,再加上 AI 编程工具之类的东西,帮助他们跨越鸿沟。我觉得我们将会看到多得多的产品。这才是真正激励我的地方,对吧?这也是我们上次聊到的地方。多年前有一件事让我非常沮丧,也促使我创立了 Modular,那就是我看到了那些万亿美元级别的公司能做什么。你看那些最大的实验室,所有聪明的人从上到下垂直搭建了整套东西,他们能做出惊人的产品、研究和其他工作,而这是任何五人团队或初创公司都负担不起的。这里我们甚至还没提到算力,我们只是在说人才。嗯,原因在于所有的复杂性。比如,这在 Google 行得通,是因为你可以——打个比方——走到走廊那头,拍拍某个人的肩膀说,嘿,你的东西用不了,怎么让它跑起来?我偏离 happy path 了,怎么让这个新东西工作?对方会说,我帮你 hack 一下。对吧?但这种方式无法规模化。我们需要的是能正确 compose、简单、可理解、能跨边界协作的东西。而且,AI 很大程度上是一项团队运动,对吧?我们希望更多人能参与、成长和学习。如果做到这一点,我觉得就能获得更多的产品创新,而不是那种“巨大的 AI 能解决一切问题”的单一方案,而是更细粒度、purpose-built、与产品深度集成的 AI。对。我想有一种描述你们正在做的事的说法:你们有句话是说,你们想让 AI 加速,这有点反直觉,因为 AI 已经很快了,而且人们已经感到不安。但我觉得你们更多是加速了 distribution。我对“democratizing”这个词感情复杂,但这确实是你们在做的事。嗯,在 2017 年,“AI 民主化”曾经是一件很酷的事。我知道,现在不酷了。是啊,我知道。但曾经很酷。而它的含义,或者说它后来变成的含义,是模型训练的民主化。对吧?这很有意思。作为过来人,2017 年的 AI 更多是关于研究的,因为没人既知道产品应用是什么,又知道怎么训练模型。诸如此类。然后 PyTorch 这类东西出现了。我觉得 PyTorch 在模型训练民主化上功不可没,对吧?几乎每一个计算机科学毕业生都在学它。这意义重大,但没有人把 inference 民主化。Inference 始终是一门 black art,对吧?所以我们才有了 VLM、SGLang 这类东西,因为它们是一个 black box,你可以直接在上面搭建东西,不用懂那些吓人的底层原理。这是因为我们还没有教会整个行业怎么做这些东西。这需要时间。但我不觉得这是个根本性问题,只是因为我们还没有一个像 PyTorch 之于训练那样的 inference 框架。所以当我们开始把这些东西变得更简单、拆解开来,好的想法就能更广泛地传播。我想再深入探讨一些技术细节。不过先岔开一下,VLM 是一个由学术界主导的开放源代码项目,等等。我觉得很多其他 inference 团队,因为本质上每个团队都是一家初创公司,像 Fireworks、Together 那些公司,你们的商业模式和他们非常不同。我想花点时间聊聊这个。很乐意聊。你们是有意为之,嗯,你们相信开源,但不止于此,你们只是选择不从那些常见的托管云服务中赚钱,而其他人都在这么做。对。这背后有理念层面的原因,也有差异化的原因,有很多原因。对。所以也许提醒一下大家你们是怎么做的,他们怎么付钱给你们,能得到什么,以及你们为什么选择这条路。所以,我们是在 hard mode 下做这件事。我们花了很长时间才做出产品。我们不是一上来就搞几个 kernel,做个 alpha 版本,然后去买一批 GPU 储备再转售。这条路很多公司已经走了,而且他们很擅长。这不是我擅长的方向。我也不会去给你们建数据中心,有那么多人比我强得多。好吧。所以祝他们好运。我希望他们——literally Crusoe 走在 Stargate 园区里——我希望那些人用 Max。我挺擅长的。那是 Crusoe。对。我比较擅长软件这块。所以算力的事你们来。而且,跳出初创公司圈子,很多人在 GPU 和云的问题上都很挣扎。GPU 和云从根本上就和 CPU 与云不是一回事。很多人走过来会说,不都是云吗?但让我说服你,事实并非如此。首先,CPU 和云。为什么那很美好?因为所有 workload 都是 stateless 的,都可以 horizontally auto scale。CPU 相对便宜,所以你有 elasticity。这很酷。加载也很快。对。不像那种动辄几个 G 的权重。对。那么问题来了,哪家公司能看清两年半以后的事?没人。没人。对吧?所以 CPU 云非常有价值,因为你不需要做那么长远的容量规划。对吧?现在你快进到 GPU。好,现在你得出三年承诺。三年。对吧?你得对一块硬件承诺三年,而 Jensen 一年之内就会让它过时。对吧?于是你买了这个东西,做了巨大承诺。然后呢?你得超额承诺,因为你不知道自己真正的需求是什么,你也还没准备好。此外,所有技术都超级复杂、吓人。而且 GPU workload 是 stateful 的。所以你们聊的那些花哨的 agentic 东西,你们都知道。是有状态的。于是你就没法 horizontally auto scale,也拿不到 stateless 的 elasticity。于是你就面临一个巨大的管理难题。因此,我们认为我们所能做的,也是可以帮助大家的是:好,那就让你们掌控自己的算力。很多人使用不同的系统,其中有一些非常简单的系统。但通过智能路由,你可以获得约五倍的性能和 TCO 收益。这对平台团队来说其实非常重要。他们不想被迫处理这些事务。他们希望拥有硬件可选性,能选用 AMD。他们想要这种能力和技术。所以我们很乐意与这些人合作。我简单的解释方式是:市面上有很多端点公司,数量众多。你不能把他们混为一谈,他们显然各有优缺点和权衡取舍。但一般来说,端点公司的价值主张是:听着,AI、AI 软件、应用和工作负载,现在全是一团糟。太复杂了。别为此伤脑筋。我把 AI 从你手上接过来,你就不用操心了。我们会替你处理所有复杂性。一切都会变简单。只要接入我们的端点就行。而我们的做法则是:好吧,你知道吗?现在就是一团糟。没错,百分之百。很糟糕,可能比你想象的还要糟。到了明天,情况还会更糟,因为一切都在不断变化。我们会把它变简单。我们会赋予你能力。我们会为你的企业和团队赋予超能力。因为我接触到的每一位 CEO,不仅希望把 AI 融入产品,还希望自己的团队能在 AI 方面提升技能。所以我们不会把 AI 从企业手中拿走。我们赋予企业掌控 AI 的能力。我们把能力交还给他们的团队,让他们既能轻松上手。因为很多人确实想运行标准的商品化模型,而且你肯定也希望有些东西能作为基本要求直接可用。但当他们表示:嘿,我其实想微调模型,可我又不想把专有数据交给其他初创公司,哪怕是一些大型初创公司。你知道是哪些。那是我的专有 IP。然后还有人说:嘿,我有很出色的数据模型。我确实有数据科学家。我确实有几块 GPU。我要训练自己的模型。很好,这已经被民主化了。现在我该怎么部署?对吧?那么,你又要回到去 hack VLM 内部机制的状态。而 PyTorch 其实并不是为 KV cache 优化以及所有现代 transformer 特性这类需求设计的。所以一旦你想把它做好,就会突然掉进复杂性悬崖。所以我们会说:好吧,没错,这确实是复杂性的又一步。但你可以掌控它,可以扩展它。而我们可以在这方面帮助你。所以这是这个领域中一种不同的取舍。但我得承认,在上市时间、收入增长等方面,那些公司走得更快。这是因为他们不需要为了做到这一点而构建一整套 CUDA 的替代方案。
Alessio [00:41:37]: 不错。至于收费模式,人们是把它当作一个平台来购买的。它不跟 token、推理量之类的东西挂钩。
Chris [00:41:45]: 我们有两块业务在并行推进。Max 框架和 Mojo 语言,在 NVIDIA 和 CPU 上任意规模都免费使用。尽情用,随意发挥。欢迎给我们提交 patch。完全免费。为什么这么说?因为 CUDA 本来就是免费的,NVIDIA 在这个领域已经占据主导地位。我们希望这项技术能广泛传播。免费使用。如果你能给我们提交 patch 当然很好,但即便不提交也没关系,对吧?我们只要求你允许我们在网页上使用你们的 logo。所以给我们发封邮件,说"嘿,我们在用你们的东西,而且我们在一万张 GPU 上跑起来了",那就太棒了。但这就是唯一的要求。如果你想要集群管理、企业支持这类服务,那就可以按 GPU 付费,联系我们的销售团队。然后我们可以谈合作,直接跟你们对接。这就是我们的收费划分。另外,我想说一件事。我很希望能看到——当然现在还为时尚早——我很希望看到 PyTorch 采纳 Max,希望 VLM 采纳 Max,希望 SGLang 采纳 Max。我们自己也有一个小型的 serving 方案,但你们去看看,它非常简单。如果能成,那就太棒了。再说一次,我们现在处于确实希望人们真正使用我们产品的阶段。历史上我们的模式是"不,我们的东西是封闭的,离远点"。但我们现在正在转型。所以接下来你们会看到更多这方面的消息。没错。我不知道怎么才能让这件事发生,但我觉得,当 Mistral、Meta、DeepSeq 和 Quen 都采纳你、原生集成你的时候,你就赢了,对吧?这怎么发生?我不想说那么远。但我倒觉得也没那么远。我们可能很快会有一个行业领先、最先进的模型率先在 Max 上发布。我会持续关注,但也请告诉我们。不过这事还没发生,所以先当它不会发生。我觉得到那时候才是真正的转折点。因为到时候所有人都会想,"行吧,对他们来说够好了,对我们来说也够好了",对吧?然后整个行业都会跟进。没错。但再说一次,我玩的是长期游戏,对吧?而且我深知,我做的东西,人们需要时间消化。所以我们需要做的、我希望我们做的、我要求团队做的,就是持续不断地把产品做得越来越好。技术采纳是有 S 曲线的。所以我觉得很好的是,有一小批非常疯狂的早期采用者,在二月份就开始用我们的东西了。那时候还没开源,从理性上说完全说不通。东西几乎还跑不起来。但那很了不起,我非常感谢那些人。然后当然,我们开源了,开始教人们使用,于是采纳曲线大幅上升。免费开放,去用吧。然后就像你说的,很快会有更多验证出来。每一步都是曲线上的一个拐点。但这同时也让我们有能力修复 bug、改进产品、增加功能、推出新能力。
Swyx: 推出这个产品,跟做软件相比,感觉如何?
Chris: 哦,好吧,让我重新理解一下你的问题。既然你过去做过一些有趣的事情,你学到了什么?以及你不会再做什么?这实际上比我刚才问的问题更好。因为 Swift 的经历局限性太强了,几乎可以说是这样。Swift 的特点——我假设大多数人不知道这些。Swift 的特点是,我 2010 年把它作为一个业余项目启动的。花了一年半的时间,一个人在夜晚和周末 hack。后来终于告诉了 Apple 管理层。他们大吃一惊。比如,"为什么我们需要这东西?Objective-C 够用了,你为什么还需要这个?"后来获批让几个人参与进来。你当时在 Apple 是研究员还是实习生?不,我当时领导着开发者工具团队。我记得你当时在做什么,对。对,我领导着一个很大的团队。这么说吧,这不是我的本职工作。总之,2010 年启动,Apple 在 2014 年公开发布。到 2014 年发布时,全世界只有大约 250 人知道它。其中大部分都在我的团队里。大概两百多号人是我团队的。然后就是高管、市场部、Tim Cook 等等。知道 Swift 的就这些人。所以我们是在秘密状态下把它做出来的。literally 就是签 NDA。在 Apple 内部。要知道这件事就得签保密协议。发布的时候,有一项要求是必须能用 Swift 向 App Store 提交应用。这是上面给我的要求。所以我想,"酷,听起来不错"。于是我们就发布了,说它是 1.0。所以你是在发布一个 1.0,全新的编程语言。以前没人见过。没有内部用户。就只有一个 demo app。那真是一场噩梦。没错。所以对社区来说也是噩梦。因为,虽然幸运的是很多人很兴奋,想要采用它,而且很多人也确实立刻就用了。但它没有经过实战检验。bug 一大堆。我们应该把它作为 0.5 发布的,对吧?所以又花了一年时间才变得相当不错。然后两年之后,在我看来才变得相当好。另外,Apple 的软件工程师全都不知道这件事。所以他们也非常震惊。他们说,"等等,你为什么要替换 Objective-C?我加入 Apple 就是因为我喜欢 Objective-C。你为什么不问问我对这门新编程语言的意见?"对吧?所以就有那种氛围。哦,当时公司有规定他们必须从此用 Swift 写代码吗?没有。但即便如此,他们还是觉得,"等等,这跟我当初加入的公司不一样了"。诸如此类。所以那件事带来了大量的混乱、闹剧和无聊的政治。好了,快进到 Mojo。吸取教训。第一,不要搞火爆发布。所以我们在很久以前,在产品甚至还不成熟时,就发布了 Mojo。我们把它叫做 0.1。这算不算是广告里的诚实?对吧?这就是 0.1。请不要使用。但如果你感兴趣,我们很乐意听取你的反馈。对吧?所以就是温和启动,去吧。第二个很大的不同是,Swift 那时候我们只有一个 demo app。所以你有一个我觉得非常厉害的团队在开发一门语言,团队做过很多可靠的东西,但他们是在为 iOS 开发者开发一门语言。而且编译器是用 C++ 写的。对吧?所以,没错,他们对用户有同理心,但在发布时,内部并没有太多理解和学习。而 Mojo 呢,你猜怎么着?Modular 是 Mojo 的第一个客户。我们代码库里 Mojo 代码比其他任何语言都多。对吧?这很棒。而且它是开源的。我们开源了大约 65 万行 Mojo 代码。对吧?这是很大的体量。所以我们自己先吃苦头,我们根据自己的需求来推动功能和改进。我们也非常感激社区。现在有很多贡献进来。有人刚刚优化了我的 string,把我那个次优的 string 实现里的一些东西去掉了。那真是太棒了。但用这种方式来推动,能确保它是真实的、接地气的、基于实际用例的。我们尽量不夸大其词。即便你刚才问我它有什么用的时候,我也没说它能替代 Python。我说它是一门"让人代码跑得更快"的语言。也许有一天它会成为 Python 的一个相当可信的替代方案。但现在,它擅长的是某一类特定的用例。如果你对这些用例感兴趣,比如让 GPU 全力运转,那 Mojo 棒极了。但如果你想找一个能从头到尾替代 Rust 的东西,给我们六个月时间。没错。没错。
Swyx:我说真的,你简直是一股不可阻挡的力量。我觉得苹果在 AI 方面的动向充满了谜团,而我认为消费者正在因此受损。说到底,最终用户一直在等待,但就是等不来。
Chris:很遗憾,我知道的一切都已经严重过时了。他们经历了重组、扩张,文化也变了。这是一家非常成功的公司,所以我觉得他们可能还沉浸在成功的体感里,难以适应行业的变化。这是很多大公司的通病。因此我没法细说具体原因。说到 Google,显然他们是最早的玩家之一。我们在聊什么?他们发明了 transformer。还有很多别的东西。TensorFlow,还记得吗?是的,没错,影响巨大。对,NTPs。我认为是 Google 推动了 AI 的开源。他们其实本不必把 TensorFlow 开源。是的,那是一个了不起的决定。完全归功于 Jeff Dean 和许多参与其中的人。因为他们说,你知道对 Google 来说真正最重要的是什么吗?是让 AI 发展得更快。怎么做?我们把 TensorFlow 开源,而不是把它做成某种专有的内部工具。他们之前有一个叫 Disbelief 的系统。所以那是一个关键节点,为后来 PyTorch 开源、研究开放以及这一切奠定了基础。因为他们确立的价值观是「AI 要跑得更快」。transformer 论文的发表,Google 做出了那么多贡献,我觉得他们得到的认可还不够。是啊。为什么 AI 开源对 Google 来说比由 Google 独占更好?这个嘛,我没法告诉你这个赌注是否奏效,但我可以说这确实是一场赌注。不过从我如今的外部视角来看——因为我离开 Google 已经五年多了,时间飞逝——当你拥有一支优秀的研究团队,还有像 Swyx 这样的人能去把这些技术整合进产品时,这个赌注是说得通的。Google 拥有数十亿用户,有所有的产品服务、各种应用,还有极高密度的人才。而且我认为 Google 最近的发布,就在 Google I/O 之后之类的。对,我们都在现场。是的,感觉 Google 真的在干活了,我觉得。相当令人印象深刻。有一段时间他们一直在应对组织内部的戏剧性事件,Google Brain 与 DeepMind 之争之类的事。我没法说他们具体做了什么,但看起来他们现在是一个更加统一的团队了,执行力很强,能把研究落地到产品里。所以对我来说,这感觉像是一个不一样的 Google。是的,完全如此。以前 Google 什么都有两套,你根本不知道用哪个。「Killed by Google」,一年内全废弃了。所以是的,我觉得他们不管怎么着是收到风声了。对,还有一点让我对他们超级佩服,这是我给 Google 当迷弟了,对吧?当然。刚骂完这些万亿美元公司之后。但他们宣布的东西是真的在交付。是的。AI 领域里太多都是……这又是在影射苹果了。我不是特指苹果,这在 AI 里太常见了。Modular 过去也这么干过。这就是为什么我在那次很深的技术演讲里——我给你发过 GPU mode 演讲的链接——第二张幻灯片就是警告:你们真的可以用这个。这不是 vaporware。这里的一切你都可以复现,这些说法你可以下载验证,这是真的,这是源代码链接。我当时还纳闷你为什么这么强调这一点。我心里想,是谁伤害了你?我知道。我的意思是,声明太多了,没人知道什么是真的了。我知道。对吧?而且说真的,有些产品演示简直就是……某辆电动半挂车其实是自己溜下坡的,而不是靠自身动力在行驶。没人知道什么是真的。
Alessio [00:52:18]:我知道他们开始干活了。有一个 WhatsApp 群,我们平时工作日会在 Google 的球场上踢球。大概六个月前,群里有管理员发消息说:嘿,中午来踢球的人不够了,怎么回事?我觉得就是从那时候起大家开始……这就是你的 Google 风向标。又开始干活了。对,就是这样。
Chris [00:52:35]:我是说,Sergey Brin 去了 I/O。他确实……他又开始干活了,这太棒了。是的,所以我对此非常敬佩。我的价值观与那些交付产品的人是高度一致的。是的,因为这样才能真正影响世界。
Alessio [00:52:47]:我们再深入聊聊开源。最近比较火的开源项目显然就是 DeepSeek 了。而且我觉得特别是在你看来,你知道的,他们在 GPU 的 BTX 层上做优化,那比 CUDA 还要底层、还要封闭。是的。我好奇的是,一方面它的影响 obviously 是巨大的,但另一方面,它对于人们究竟应该在多大程度上尝试摆脱这些专有技术有多大影响?因为据我所知,下一代芯片出来之后,现在的代码就全没用了。
Chris [00:53:17]:嗯,这事不太为人所知,但 Blackwell 和 Hopper 并不兼容。对,比如 Hopper 的 kernel 并不能直接在 Blackwell 上运行。对。所以你的问题是,这对行业意味着什么?
Alessio [00:53:27]:就是,为什么这事这么重要?为什么 DeepSeek 这个例子如此重要——他们必须去破解所有这些专有技术才能让东西跑起来。对。
Chris [00:53:37]: 那我就分享我的亲身经历。是的。因为 DeepSeek 是在十二月发布的,当时我,还有你可能也注意到了,对吧?但大约一个月后,全世界才如梦初醒,NVIDIA 股价大跌,诸如此类的事情纷纷发生,对吧?所以,我来解释一下到底发生了什么。好的。DeepSeek 团队所做的研究真的非常出色。他们推进了 MLA,也就是一种注意力机制,还推动了低精度训练。他们在很多方面都取得了进展。他们逆向工程了一些当时并不广为人知的 PTX 指令。对吧?是的。所以很多人就觉得,而且这是一支中国团队,对吧?这威胁到了美国的主导地位,诸如此类。所以我觉得真正令人兴奋的地方在于,他们推动了研究前沿,完成了这些了不起的成就。他们向世界证明了这是可行的,并且将其开放、发表出来,实际上还教会了全世界,因为我不知道他们为什么选择这么做,但这是因为他们相信开放和 AI 的前进。对吧?是的,是的,是的,是的。所以我觉得另一点让我震惊的是,全世界的反应比事件本身更让我震惊。或者别的什么。我也不知道。是的。因为,首先,有中美之间的戏剧性事件,而地缘政治并不是我的强项。所以我理解这一点,然后就把这部分放到一边。对吧?但另一点我觉得非常有趣的是,人们说,哇,好吧,只有 DeepSeek 能够下沉到 PTX 层面,但这其实是标准做法。所有顶尖团队都是这么做的,以 Modular 为例。是的。我们只在那个层面工作,因为我们摒弃了整个 CUDA,对吧?所以我们替换了整个技术栈。因此我们只做这个。但很多关注性能的团队实际上也会下沉到那个层面,去使用 PTX、TensorCore、Instruction Foo 这类东西,而这些并没有很好的文档。你得自己去摸索,去看 cutlass 的代码。NVIDIA 并没有像他们应该做的那样让这件事变得容易。我想知道为什么。嗯,我觉得这是因为他们在 Blackwell 上要做出破坏性改变,所以他们不想让人们真正使用它,于是他们有自己的考量,对吧?但祝他们好运吧。世界上聪明人多的是。所以我觉得这很有意思,因为此前人们对技术栈这一层是如何运作的并没有太多认知。对我来说,我觉得这是一个很好的警钟,让人们意识到,哇,如果你在这个层面工作——这个我已经深耕了几十年的层面——你就掌握了对算力的控制权。你能够理解并解决问题。你能够以其他人做不到的方式推动研究向前发展。而那些万亿美元级别的公司就是这么做的。这不仅仅是 DeepSeek。但我认为 DeepSeek 是一个巨大的警钟,它让人们注意到了技术栈的这一层,因为这不仅仅是像在 PyTorch 或 VLM 上面堆叠层,而是做了那种扎实的工作。我觉得这太不可思议了。不过,它的挑战所在,以及 DeepSeek 的做法和所有人做这类工作的共同挑战在于,它完全只针对某一种 GPU。问题不只在于你在 PTX 层面工作,而在于你写的代码基本上只能在那一种 GPU 上运行,这意味着当 Blackwell 出来时,你得全部扔掉重写,对吧?但这里有个公开的秘密。VLM 就是这样。去看看 VLM。他们有不同的内核给 AVLM。他们现在正努力跟上 Blackwell。所以,自从 Gen AI 以来,这些系统的最前沿状态是,在此之前,有一些很厉害的 AI 编译器,比如 XLA 之类的,在 TPU AI 领域提供了一定的可扩展性。但在 Gen AI 时代,每次新硬件出来,所有东西都要重写。而这就是 Mojo 要解决的问题,对吧?这也是我们再次强调的,我们无法把新硬件的边际增量成本降到零,但我们可以大幅降低它。所以我认为现在对我们来说是一个非常激动人心的时刻,我们已经展示了这一点,以及它对未来的意义。我还很好奇他们的招聘或内部培训,他们居然能组建一个小团队,用和你们一样的方式做这些事。我觉得他们有一个相当庞大的团队。我当然没有内部消息,但这不是一个五人团队,而是几百人。哦,好吧,是的。所以……是的,你知道,不是一千人,对吧?这很了不起,尤其考虑到,想必存在语言障碍,但即便忽略这一点,仅仅是在一家公司里汇聚如此高的人才密度,也绝不是一件小事。是的,我同意这一点。创建公司很难。我不清楚他们是如何建立 DeepSeek 的,但我只能说,感谢 DeepSeek 发表了他们的工作。是的。因为他们本不必这么做。而且我认为这暂时让很多人措手不及。对吧?这让某些群体有点难堪,我觉得很多人停下来想,哎呀,糟了,我该怎么办?但我认为,这件事把 AI 的进展往前拉了大约六个月。是的。他们做的不仅仅是 GPU 层面的东西。他们还有一个文件系统。哦,是的。如果你看过……是的,太不可思议了。你觉得……显然那不是 Modular 的核心业务,但你觉得有没有可能,让其他人把这个拿过去继续发展?过去几年我一直非常痴迷于推理问题,所以我不知道训练问题的最佳解决方案是什么。Google 内部有一个很棒的……确实。对吧?那么世界其他地方呢?是的。老实说,我不是回答这个问题的最佳人选,因为我有自己的执念。是的。那么,说到推理,reasoning model 和 inference time compute,这是个大话题。有什么会改变吗?还是什么都不会变?因为这只是更多的推理而已。这要看相对于什么而言会发生变化,对吧?所以三年前我们创办 Modular 的时候,我们当时做了一个看起来非常奇怪的押注,那就是专注推理而不是训练。是的。再说一次,那时候我已经习惯了。人们会说,你是不是有病?每个人都知道训练才是关键,训练、训练、训练,人们建那些庞大的集群,所有支出都在训练上,等等等等。我说,好吧,我理解你们为什么这么看,但我在 Google 亲身经历过。Google 大概比业界其他公司领先五年。最大规模的推理,是的。是的。训练的规模取决于你的研究团队大小。推理的规模取决于你的客户群大小。对吧?而这两者之间发生的事情,就是研究落地到生产环境。所以差距就在于研究如何进入生产。一旦你做到了这一点,规模就会疯狂增长。所以我并没有预料到 Gen AI。我没有预料到 inference time compute。诸如此类。但那个对生产用例的押注,因为它的规模随着 AI 应用的数量而增长,而不仅仅取决于当红的研究团队,对吧?这非常重要。只是过去几年我没怎么关注这块。那时候这很有争议。所以我觉得现在全世界都转变了观念,我觉得大家都明白了,对吧?但这确实是基于亲身经历。所以当你面对这些新技术时,对吧?另一件有争议的事,回到 CPU 的话题,就是你为什么从 CPU 开始?当时的答案是预处理、后处理、完整的系统集成、网络,你需要 CPU 来给 GPU 喂数据,这些都是非常基础的东西。但现在你谈到 KV cache。你的驱逐策略是跑在 CPU 上的。像 Radix hashing 算法、块哈希这类事情,主要都发生在 CPU 上。这对性能而言至关重要,因为如果这些步骤存在延迟,你的 GPU 就无法保持充分利用,对吧?再说一次,这就回到了重写和 Rust 这些事上。所有 agentic 相关的东西,我之前没预料到,但我并不惊讶,而且我认为我们还会看到更多。因此,紧密集成、跨边界优化,这些都是我所坚信的。我认为这就是推动世界进步的方式。真是令人惊叹,我认识的几乎所有优秀程序员总是专注于瓶颈在哪里,而这总会引导你得出正确答案。只要你能清醒地看待这一点。也不知道为什么,看到这种情况发生感觉很好。另外还有一个话题我要跟你提一下,因为你没有提到,但其他人在讨论:实际上,现在由于对 train of thought 和 reasoning models 的需求,inference 已经成为 training 的一部分了。
Chris [01:01:07]:因为你需要做推理。RL 一直都是这样做的。对 RL 来说,是的。所以这实际上对你们正在做的事情是一个加分项。是的,绝对如此。因为是同一套代码。所以我大规模使用 RL 系统的经验,像是 DeepMind 风格的 AlphaGo 这类项目,虽然已经过去几年了,但搭建那些系统的复杂程度令人难以置信。因为你现在面对的是集群级编排,要在所有这些 agent 之间做批处理。而且,现有的系统都不是为这种场景设计的,对吧?如果你想训练模型,有 PyTorch,但没有任何系统是为做这种事而搭建的。所以,再说一次,我不能代表所有地方的 RL 系统,但它们最后往往就像用胶带和铁丝临时拼凑出来的,非常疯狂。这很了不起。再说一遍,一个了解全栈的专家团队能取得什么样的成就,这确实令人惊叹,但这件事本不该这么难。所以我们不仅不专注于解决那个难题,目前也还不专注于解决这个问题本身。也许以后会。我们已经有基础模块了。我们已经有基础模块了。再说一次,我们目前也不专注于解决训练的问题。也许以后会。我对下一步该怎么走有一些思路,但我想确保我们脚踏实地,从头到尾把问题解决彻底。我们要让人们满意。人们会自发地谈论我们的产品。不只是我在谈论我们的产品。所以我们现在正处于这样一个阶段:你很快会听到人们谈论我们的产品。我觉得已经有人在谈了,但以后会更多。我很感谢你来到播客上多聊聊这些。接下来我们想聊一些个人方面的话题。
Alessio [01:02:31]:所以我觉得这是一个很棒的 Modular 故事。现在想聊聊个人层面,有几件事。你第一次来我们节目的时候,我记得是 2023 年 9 月。那时公司成立大概有一年半了。现在则是有三年零一个季度了。作为公司的领导者,管理不断壮大的团队,承担很多非技术性的职责,你个人有哪些心得?给我们讲讲吧。
Chris [01:02:58]:对我来说,我做过很多东西。我以前从零搭建过大团队,但都是在成熟的大公司里。我也曾在初创公司工作过,但那是别人的初创公司。所以这是我第一次自己创办公司,然后组建起一支有规模的团队,做出一个需要多年打磨的产品。因此,我以前学到的很多经验都非常宝贵,让我能够做成一些事情。但这也非常不一样。其中一个很大的不同在于,它非常私人化。我以前也经历过团队成员流失,很多次。我不得不开除过人,也有人辞职去了 Apple、Google 之类的公司。但那些经历从未像在 Modular 这样让我感到私人层面的触动。从理性上讲,我的大脑知道,如果有人离开,那是合理的。他们的人生发生了变化。我不想妨碍他们的家庭或其他什么。我是说,我理智上明白这一点。但另一方面,这还是有点让人难受的。所以我觉得自己在处理这类事情上越来越好了。另一点是,当你在大公司里把一个团队从零扩展到 100 人时,你拥有完整的基础设施。而且基础设施是成熟的,对吧?所以即使你扩展到了 100 人,跟 Apple、Google 这样的公司相比,你仍然很小。相对于整体规模来说,你仍然很小。所以他们已经有了完整的招聘流程、其他各种支持,以及法务、财务等所有这些东西。他们有管理者培训。所有这些东西都已经在运转了。但在初创公司里,你有时会陷入一团糟的局面,比如,好吧,我需要做重组之类的事。所以这也是很好的学习过程。我们在这方面扩展得还不错。另一件事回到人们告诉你这不可能做到。实际上,这可能是最重要的一点:我已经习惯了被人说事情不可能做到。而且我非常固执,我有一套方法。所以通往成功的路径是存在的。如果你想听,我可以解释。但我习惯了第一年那种感觉,完全是一个秘密攻关阶段,我们要证明某件事。我习惯了。好的,cool。现在我们开始对外讲述,但产品还不够好。人们会说你们做的东西都很烂。我也习惯了。就像,好吧,你会进入这样一个窗口期:所有东西都快成形了,大家在拼命努力,非常艰难,有很多看起来不可能完成的事情。团队已经颇具规模,但各个环节还没对齐。所以去年秋天我们经历了一些那样的时刻,人们觉得,天哪,也许这永远行不通。你会感到一种焦虑。我认为我之前没意识到的是,经历那个阶段其实也会影响到其他人的思维方式。因为他们没经历过,他们会说,相信我,我们会成功的。可具体是什么时候呢?你会遇到这些超级理性的工程师,他们想把一切都弄明白,他们对自己那部分技术栈非常精通,但他们对其他部门、其他部门、其他部门还没有建立起那种信任,而所有部门都需要对齐。所以那段日子确实因此有过一些难熬的早晨,但话说回来,当你走出 R&D 阶段,进入执行阶段,情况就像是,工程师非常擅长把一个不完美但端到端能跑通的东西,变得越来越好,越来越好,越来越好。所以现在的 Modular 给人的感觉,和之前任何一个阶段都有着根本性的不同。
Alessio [01:06:04]:你的日常是什么样的?是会议很多,还是很少?
Chris [01:06:08]: 是的,你说的这些正是我的真实生活。嗯,我正常的工作日是,大约七点十五起床,我和妻子一起把孩子送出门,她大概八点开车送他们去学校。我通常会遛狗半小时到四十五分钟,在山坡上上下下做剧烈运动,心率会升高,这很好。同时听听播客,比如你的节目。正因如此,我才有时间去关注别人正在做的那些令人兴奋又酷的事情。九点左右开始工作,一直干到下午六七点的样子。大部分时间都在开会。这是我处理当天各种问题的时段。下班回家,和孩子们一起吃晚餐。我坚持和家人一起吃饭,陪他们直到睡觉时间,然后再拼命干两三个小时,直到睡着,而且常年如此。第二个工作日。是啊。周末很棒,因为我有很多时间可以工作,虽然不是一整天,因为我也得陪孩子做些事情,但我有大量时间,而且没有会议。这太棒了,那才是真正能把事情做完的时候。完全正确。我认为关键在于你要锁定一些战略复盘时间,因为人们常说,有时候你在业务里埋头干活,有时候你要跳出业务、从更高层面审视,暂时抽离出来。对创始人来说,这种情况通常是开董事会的时候。但我好奇的是,有没有什么对你特别有意义的方式?你有教练吗?或者有类似的支持吗?有。我想有两类人,或者两类吧,我非常感激。一个是我的联合创始人 Tim。对,Tim 和我一起创办了这家公司。我们每周五都会一起散步、交流,就像是 zoom out,尽量不让谈话变得战术化。确保我们可以互相抛出一些疯狂的想法。信不信由你,我有很多疯狂的想法,他也有。但接着我们会把自己拉回执行层面,继续推进。另一个是……对。是我妻子和核心管理团队的组合。我妻子是一个可以倾诉的对象,而核心管理团队则负责把我拉回现实。我有时会有些疯狂,想要解决整个行业层面的问题。核心管理团队会把我拉回来:好的,下个季度,我们要确保有计划,要确保沟通到位,要确定真正的优先事项。整个团队最多只能有三个优先事项,不能是五十个之类的,否则它们就不是优先事项了。没错。不可能所有事都是最高优先级,否则就没有优先级了,对吧。还有类似这样的事。然后我妻子让我保持理智,她……我也说不好。
Alessio [01:08:27]: 她是很棒的人生教练。你在实际工作中会让妻子参与多少?
Chris [01:08:33]: 就是,她了解吗,你知道,她有自己的事业。我妻子运营着 LVM foundation。所以她有很多事情要忙,再加上孩子和其他所有事情。
Alessio [01:08:41]: 她就像是说,我不想再听你讲这些 Cardinals 的事了。
Chris [01:08:43]: 不过她很擅长帮我。我智商大于情商,与人相处不是天赋,而是后天习得的技能。所以我认为……我经常遇到这种情况,心想这到底是怎么回事?然后就会有人说,Chris,这很明显,他们嘴上说这个,但实际意思是那个。我就会想,哦,我从没这么想过。
Alessio: 你提到了编程 agent。你们内部用什么?你喜欢什么?
Chris: 截至这次录制,我个人用 Cursor,它非常棒,是我用过最好的工具,而且我不会花很多时间折腾别的东西。但 Cursor……我写很多 C++ 和 Mojo 代码,用 AI 编程工具写 Mojo 代码的关键是确保上下文窗口里有大量代码。Cursor 和这些工具的索引能力很强。
Alessio: 我在想你们把 Mojo 代码开源了。
Chris: 确实很不错。这也是我们这么做的原因之一。对,这是众多原因之一。所以我们在黑客马拉松上看到,人们可以用 Mojo 从零到精通,因为你只需索引整个庞大的代码库,效果惊人。而且当 AI 帮你处理很多机械性工作时,学习一门新语言其实很容易。而且它看起来像 Python,你能读懂,这大大加快了上手速度。
Alessio: 对。
Chris: 对。所以要说新语言的采用,AI……我告诉你,AI 很酷。我会直接去问问大实验室里负责数据集的人他们需要什么。对,然后就像,我已经让他们全部拿去用了。直接把代码拿去,请帮他们标注好。是 Apache 2 许可证,尽管拿去。对,对。我们在添加 markdown 文件,有一个 cloud.md。所以我们在做一些基础工作,公司内部有人也在尝试 cloud code 之类的东西。我没有亲自用过,但对我来说,我发现它主要……非常有用,但主要是在样板代码方面。所以它不是为了发明新算法之类的东西。这可能是因为我不是在写 React 组件。
Alessio: 对。
Chris: 那些实验室在大力宣传他们正在针对写 CUDA kernel 训练或评测模型。我在想,当你换用不同模型时,你是否注意到明显的性能提升。我想你可能不会评测它们。我还没研究过那个具体用例。但人们经常问我:嘿,Chris,既然 AI 会写所有代码,你为什么还要做一门新语言?同样,如果你看到很多人说“我们来生成一个 CUDA kernel”,你就会开始发问,或者至少我经常这样想:代码的目的是什么?我对此的反思,我目前的想法——显然可能会变,因为我们都在学习。我退一步想,代码其实不是为了告诉计算机该做什么,而是让人类能够理解代码在做什么。所以如果有一天我们有了 AGI 或 ASI 之类的东西,也许代码可以完全黑箱化,我真的不需要知道,但我们还没到那一步。我不知道那什么时候会发生,但与此同时,我希望能够看看代码实际在做什么。我生活在一个受约束的世界里。我需要知道,我的产品有这么多功能,如果我再加一个功能会怎样?它会触及我的延迟预算吗?会在内存上崩溃吗?成本会太高吗?我需要能够对此进行推理。所以对我来说,我看很多这些编程工具,你知道,即使它们规模扩大到超越现在的水平,但在可预见的未来,它们就像是往你的代码库或团队里再招一名工程师。从根本上说,编程和软件工程是一项团队运动。你有产品经理,有工程师,有很多角色。如果你把代码工程全部自动化了,理论上也许只剩下产品经理和市场营销,但你仍然希望对代码在做什么进行推理。所以在这个……对,可解释性的论点。所以在这个世界里,真正最重要的是什么?最重要的是你能表达硬件能做的一切,因为你不想存在某种能力、某种成本或某种无法突破的边界——Mojo 做到了这一点。第二,你想要可读的、你真正能理解的代码,对吧?你不想要汇编语言之类的东西,你想要高级、表达力强、容易理解的东西。所以我认为这是 Mojo 真正独特的地方。然后我觉得 AI 编程工具对采用来说是直接的价值增益,因为我已经看到那些从没接触过这些东西的人能做出什么,太不可思议了。你把一个聪明、懂业务场景的人放在这些工具面前,他们已经能做出惊人的事了。所以我觉得这非常赋能。再说回来,我想看到人类被新技术赋能,能够提升技能、能够学习。你今天还不是 GPU 程序员,但希望明天会有十倍的人在为 GPU 编程。我觉得那会让世界更美好。而且我认为我们不会回到 CPU 的时代,GPU 只会越来越重要。如果我们能帮人们做到这一点,那就太好了。
Alessio [01:13:24]: 你提到了一些关于推理的研究和 arXiv 上的论文。你是怎么跟进 arXiv 的?
Chris [01:13:31]: 对,我们内部用 Slack。所以我们有一个论文频道。我想每天大概有三到十篇论文发过来。我们有很多聪明人在做这件事。我也会关注 Reddit 社区之类的东西。我是老派人,还在用 RSS。所以如果你有 RSS feed,我关注你就容易多了。
Alessio: 用什么阅读器?
Chris: 我用 Feedly。
Alessio: Feedly。
Chris: 对。而且 arXiv 可以关注特定群组,所以我关注了好几个不同的群组,这是另一个方法。
Alessio: 有没有哪篇值得一提的论文,或者你特别关注的作者,他们一发文你就会说“这篇我一定要读”?
Chris: 我没法给你一个深思熟虑的答案。就在今天早上,一位微软的研究人员发了一篇论文,名字我一时忘了,但刚发的。是关于自动生成 flash attention 和做 blocker 什么的,名字里带个 block,挺有意思的。总之,现在有太多事情在发生。
Alessio [01:14:33]: 所以能看到你关注什么本身就挺有意思的。最后也是大家最关心的问题:你上次提到给孩子做的乐高机器人桌搭完了吗?以及你有什么正在做的新项目吗?
Chris [01:14:47]: 我完全忘了那件事。我们还在用那张乐高机器人桌。那是一块很大的4x8英尺胶合板,边缘围了一圈 two by threes。不过这么大一块胶合板挺难操作的,所以它可以拆成三个可分解的模块化部分。这样就非常方便了。孩子们的编程和乐高水平都越来越高了。嗯,天呐,我最近在做什么项目来着?我刚在工坊里带孩子们用带锯做剑。你拿一块木头,有一台带锯,把它交给孩子,然后说,别把手指切掉了。结果证明这还能让他们进步。我 obviously 是在开玩笑。他们其实受到了很多监督,但带锯实际上是一种非常安全的工具。原因在于,带锯——可能很多人从没见过,你可以去 Google 一下——有两个轮子,刀片绕在轮子上,还有一个台面。带锯很酷的一点是,你可以把靠近刀片的开口调得很小,刚好只够那块木头通过,而且台面会把木头往下压住。正因为台面会把木头压住,出现所谓 kickback 的风险就很低,还有很多其他类似的风险也很低。所以你可以直接跟孩子说,看,你的手指,离刀片远点。不会像有些工具那样突然弹动,或者如果你用了错误的手法,会让自己陷入大麻烦。如果你把防护罩完全放下,手臂之类的东西也伸不进去。
Alessio [01:16:11]: 不过,你把整个车库都改成木工坊了吗?
Chris [01:16:14]: 对,我是那种把车停在外面的人。所以这又要感谢我妻子容忍我这些古怪行为。我是说,我喜欢造东西,对吧?所以从根本上说,如果说是什么让我有动力,那就是我对发现的乐趣,对吧?无论是打造一支优秀的团队,还是做一张新桌子,比如餐桌之类的东西。你可以看我的网站,我不是个好的网页设计师,上面放了一些木工项目,但我喜欢开发软件,喜欢构建和解决随之而来的问题。我不太擅长做 rope mechanical 类的东西。所以也许我能做好一把椅子,但让我做八把椅子围着餐桌摆,那会把我逼疯的。发现和学习的乐趣就在于,你可以造一台造椅子的机器。对吧,听起来很棒。你花十年时间造机器,然后三周内就能把它们批量生产出来。是啊。
Alessio [01:17:02]: 嗯,是啊,太棒了。有什么号召大家做的事吗?
Chris [01:17:05]: 比如,我们在招人吗?对,我们在招少数极客精英。所以如果你关注 GPU programming、AI models、inference、Kubernetes 和 cloud scale 之类的东西,欢迎来了解我们。我们预计在今年晚些时候大幅扩张。另外,我们有大量开源代码。如果你听说过 Mojo,但一年前看过它,告诉你,现在一切都完全不一样了。所以如果你对这些东西感兴趣,如果你想学习 GPU,我们有大量内容可以教你 GPU programming、GPU puzzles 等等。现在人们开始采用 Mojo,并投入大量 elite GPU……今天刚发布的内容,还有很多人也在拿我们的东西往外分享。我觉得这是一个非常激动人心的时刻,因为我认为应该有更多人使用它。我觉得这是一个非常激动人心的时刻,因为我认为应该有更多人使用它。我觉得这是一个非常激动人心的时刻,因为我认为应该有更多人去写 GPU programming。我认为这对整个行业来说是一个巨大的机会。当然,如果你是企业,在扩展 AI 方面遇到了困难,可以联系我们,我们能帮上忙。
Alessio: 太棒了。非常感谢你来参加这期节目。你一如既往地给人启发。
Chris: 是啊,谢谢你邀请我。
Nathan Lambert [Jun 16, 2025]: 很棒的一期节目。看到一位超级资深的工程师尝试在 AI 领域做新东西,感觉很酷。