我们一直在进行一个 Agent Cloud 系列调查,涵盖各大顶级推理/计算/云服务商,从 Databricks 到 Daytona 再到 Railway,甚至更早的 E2B,但我们很高兴以回归 Modal 来为这个系列收官——Modal 刚刚完成了一笔高达 3.55 亿美元的巨额 C 轮融资。
云是为开发者而建的。但 Agent 正在改变这一点。
旧的基础设施栈是为人类设计的——人类可以阅读文档、推敲 YAML、看懂仪表盘,从而在出现故障时弄清楚自己需要什么。虽然这对开发者来说很痛苦,但仍然可行,因为他们可以在脑海中补全缺失的上下文。
然而,Agent 没有这种奢侈。在这个 Agent 新时代,一切都必须更加紧密。

Agents need good developer experience too - Modal Blog
它们需要一个地方来编写代码、运行代码、检查输出、更改环境、调试故障并再次尝试。带有完整必要上下文的快速迭代和反馈循环,是 Agent 正常运行的关键。此外,沙箱正是这一转变的鲜明体现,因为 Agent 可以轻松启动隔离环境。这种可编程的基础设施甚至延伸到了研究领域:
两年前,我们是最早报道 Modal 的媒体之一,采访了 CEO Erik Bernhardsson,Alessio 还为我们设计出了有史以来我们最喜欢的 LS 缩略图:
Truly Serverless Infra for AI Engineers - with Erik Bernhardsson of Modal
Building the ultimate Self Provisioning Runtime for AI Engineers, why Oracle Cloud is underrated, state of GPU parallelism, and why you should staff up with IOI Gold Medallist engineers
www.latent.space

当时,Modal 还只是一家刚完成 1700 万美元 A 轮融资的小公司。
如今,Modal 刚完成 3.55 亿美元的 C 轮融资,是实时构建 Agent 云未来最清晰的例证之一:一个超越传统 Web 应用假设、转向 AI 实际产生的工作负载的云平台,例如弹性推理、沙箱、GPU 突发、后训练、后台 Agent,以及 Agent 自身可以操作的基础设施。
在本期节目中,Modal CTO Akshat Bubna 与 swyx 和 Vibhu 一起,深入剖析为什么 AI 应用不符合传统云假设、为什么 Kubernetes 从来就不是为突发的计算密集型工作负载而设计的,以及为什么 Modal 如今正从开发者体验转向 Agent 体验。
我们深入探讨了 Modal 的 AI 基础设施栈:无服务器函数、基于装饰器的基础设施、面向自定义模型的弹性推理、GPU 快照、DeFlash、投机解码、Auto Endpoints、沙箱、持久化存储、网络化容器、私有 IPv6、RDMA、多节点训练,以及 Modal 跨 17 家云服务商的容量池。Akshat 还解释了为什么 RL rollout 可能需要 10 万个沙箱、为什么生产环境中的 Agent 需要严格的护栏、为什么可观测性可能比阅读代码更重要,以及为什么 AI 让基础设施重新变得令人兴奋。
我们讨论了:
- 为什么 Kubernetes 不是为突发性 AI 工作负载而构建的
- Modal 如何从更好的运行时起步,进而成为一家 AI 云公司
- 为什么 Modal 在 ChatGPT 出现之前就加入了 GPU
- 从开发者体验向 Agent 体验的转变
- 当 Agent 在编写代码时,可观测性为何重要
- 面向音频、视频、机器人和计算生物学等自定义模型的弹性推理
- GPU 快照、冷启动,以及为什么推理工作负载如此突发
- 为什么 RL rollout 可能需要 100,000 个沙箱
- DeFlash、投机解码与前沿级推理性能
- Auto Endpoints 与让优化推理更易部署
- Modal 在 vLLM、SGLang 和裸 GPU 租用之外带来的价值
- Modal 的 17 云容量池与超级云战略
- 网络化沙箱、sidecar、私有 IPv6 与 RDMA
- 面向后训练与研究工作负载的无服务器多节点训练
- 自动研究、模型引导的参数扫描,以及启动 GPU 实验的 Agent
- 算力战略、容量规划与批量层级
- 为什么生产级 AI Agent 需要专用沙箱和硬性护栏
- Modal 对托管 Agent、CI、Gitpod/Ona、Python、TypeScript 和 Modal Bench 的看法
Akshat Bubna
Modal
时间戳
00:00:00 引言
00:00:39 Modal 的起源以及为什么 Kubernetes 不够用
00:04:32 开发者体验 → Agent 体验
00:06:21 Modal 的 AI 云基础组件
00:09:14 沙箱、Agent 循环与 proto-Cognition
00:12:12 弹性推理、GPU 快照与 100,000 个沙箱
00:15:24 DeFlash、投机解码与 Auto Endpoints
00:19:59 超越裸 GPU 的生产级推理
00:22:00 后台 Agent、Ramp Inspect 与 Agent 生命周期
00:24:08 Modal 的 17 云超级云战略
00:26:40 网络化沙箱、私有 IPv6 与 RDMA
00:32:48 多节点训练、后训练与自动研究
00:37:36 算力战略、容量规划与批量层级
00:40:55 开源模型、实时 AI 与生产级 Agent 基础设施
00:43:06 硬性护栏、托管 Agent 与专用沙箱
00:46:06 为什么 AI 让基础设施重新变得令人兴奋
00:48:30 模型 API、差异化产品与 Agentic 视频
00:51:50 CI、编码 Agent 基础设施、SDK 与 Modal Bench
00:57:28 结语
访谈实录
引言:Modal、C 轮融资与艺术派对
Swyx [00:00:00]: 我们今天请到了 Modal 的 CTO Akshat,还有 Vibhu。恭喜你们完成 C 轮融资。
Akshat [00:00:10]: 谢谢。
Swyx [00:00:11]: 你们昨天的派对太棒了。
Akshat [00:00:15]: 是啊。
Swyx [00:00:15]: 从照片和周边商品来看真是精彩。
Akshat [00:00:17]: 我们布置了很多艺术装置,非常有意思,把我们的产品放在基座上,和罗丹的作品并排展示。
Swyx [00:00:25]: 非常棒。非常棒。你们刚创立的时候还不是一家 GPU 推理公司。也许在你心里早有这个方向。带我们回到起源故事吧。
Modal 的起源:超越 Kubernetes 的新运行时
Akshat [00:00:39]: 我最早是通过一位投资人认识 Eric 的,他是 CEO。当时 Eric 已经在思考构建一种新的运行时,他的思路源于:为什么工作流编排产品这么难用?因为你必须在 Kubernetes 上运行它们。Kubernetes 难以管理,它不是为突发负载和自定义镜像设计的,
Swyx [00:01:03]: 是的
Akshat [00:01:03]: 它的开发者体验非常糟糕。
Swyx [00:01:05]: 让我插一句
Akshat [00:01:06]: 是的
Swyx [00:01:07]: 给新听众介绍一下,我们两年前采访过 Eric,Spotify 之类的更多故事都在那一期里。
Swyx [00:01:14]: 我是通过 Data Council 认识 Eric 的,因为他在那里做了关于你们那个 serverless 容器技术栈的演讲,那是我第一次有“好吧,我得认真对待 Modal 了”的感觉。
Akshat [00:01:26]: 是的。
Swyx [00:01:26]: 但当时还是很不清晰,比如,我仅仅是做数据管道就需要这一切吗?
Akshat [00:01:33]: 是的。我们最初的想法是,如果我们构建一个更好的运行时,它本身就是一种非常有用的原语。很多事情都可以通过 serverless 函数来解决,比如你可以做 ETL,可以做任务队列,可以做各种突发式的处理,而事实证明每家公司都有这类需求。但同时我们也把它看作一种原语,可以在它之上构建一整套非常垂直化的产品。也许数据工程会是第一个,但我们当时想的是推理。那时候更多是经典推理,比如计算机视觉之类的东西,跑 XGBoost 什么的。不过我们在 ChatGPT 问世前一年就给产品加上了 GPU。
从 Serverless 容器到 GPU 工作负载
Swyx [00:02:19]: 不错。
Akshat [00:02:19]: 我们只是没觉得这会有那么大影响。
Swyx [00:02:22]: 是啊,就是加个 A100 而已。
Vibhu [00:02:23]: 那有没有什么早期的关键问题,真正促使你们去构建它?
Akshat [00:02:28]: 有。主要就是,市面上现有的工具都不是为出色的开发者体验而构建的,而且还有一个总体趋势,我们看到很多工作负载都非常……真希望有个更好的词来形容——计算密集型。也就是说,它们需要更多的资源,所以需要频繁地扩容和缩容,而 Kubernetes 是为缓慢扩缩容设计的,更适合 Web 服务器这类用例。另外,这些工作负载运行的环境也有更多的专业化需求。比如有时需要加速器,有时需要不同类型的镜像,这是我们在很多公司都看到的一致现象。那会是下一步。
软件定义基础设施与基于装饰器的开发者体验
Swyx [00:03:13]: 是的。是的。说得真好。我不知道这在早期故事里占了多大分量,但我在 Temporal 时写过一篇关于基础设施的文章,软件定义基础设施之类的。
Akshat [00:03:22]: 是的,自我配置
Swyx [00:03:23]: 自我配置。
Akshat [00:03:24]: 是的。
Swyx [00:03:24]: 是啊。我连自己写的文章都记不清了。
Swyx [00:03:26]: 然后你们把我放上了落地页。
Akshat [00:03:28]: 是的。我们真的很喜欢这个词,所以就把它“偷”来了。
Swyx [00:03:32]: 因为你当时的洞察是,一切都可以直接放在与代码同处的装饰器里,对吧?
Akshat [00:03:37]: 是的。
Swyx [00:03:37]: 这是最初
Akshat [00:03:39]: 是
Swyx [00:03:39]: 故事的重要组成部分,还是只是一个 DX 层?
Akshat [00:03:41]: 这一点非常重要,因为我们真的不希望人们花那么多时间去写 YAML,而且看起来你确实可以把所做事情的表面积大幅压缩,放进代码里,这样你就可以像操作其他代码一样去操作它,构建更有表现力、更动态的东西。所以,是的,这一直是非常重要的一部分。
Swyx [00:04:04]: 那么反对意见就是:这是一个 DSL。
Akshat [00:04:07]: 是的。
Swyx [00:04:07]: 你们是闭源的。我被锁定在 Modal 里了。
Akshat [00:04:11]: 是的。我们其实从来没有收到过这方面的反对意见,因为 Modal 的好处在于你可以带上任何你已有的代码,当然,DSL 只是在配置层面,用于配置你使用什么硬件、如何扩容,但代码仍然归你所有。
Akshat [00:04:27]: 而这一直是我们故事中很重要的一部分,即使我们现在做推理也是如此。
Swyx [00:04:32]: 是的。
Vibhu [00:04:32]: 你觉得今天还有多少东西是不变的?比如如果你今天要构建一个东西,开发者体验很重要,但我感觉很多东西已经变了,只要接上一个 Agent,用 Claude Code、用 Codex 来实现一个工具。有很多非常 Agent 原生的原语,和你自己动手做是不一样的,对吧?
开发者体验 → Agent 体验
Akshat [00:04:54]: 我们已经把 SDK 团队的思路从开发者体验转向了 Agent 体验,我们认为适用于 DX 的那些好处同样适用于 AX,也就是说,为什么要让 Agent 去阅读成百上千个 Kubernetes 文件、去写甚至没有类型定义的 YAML,而它其实只需要在装饰器里改几处,就能获得这种自配置的运行时,实时看到自己的改动生效?是的,从我们接触的客户来看,他们发现 Agent 使用 Modal 比在其他基础设施上操作要快得多。
Swyx [00:05:34]: 是的,因为就像你说的,你又一次把基础设施需求与运行它的代码放在了一起。
Akshat [00:05:38]: 是的。
Swyx [00:05:38]: 那么现在的反面论点是:已经没有人看代码了,所以这一切都没有意义了。
Akshat [00:05:44]: 是的,人们确实不看代码了。但我们仍然认为有一件事非常重要,那就是可观测性。
Swyx [00:05:51]: 是的。
Akshat [00:05:51]: 比如你的仪表盘做得有多好?当然,我们把很多东西推到了 CLI 里,让 Agent 可以自己进行调查,但你仍然需要人类去解读正在发生的事情,做出判断等等。我觉得这一点现在可能比看代码本身更重要。
Swyx [00:06:11]: 是的,因为你可以把代码当作黑盒,观察它输出的可观察行为,然后直接提示它做修改。
Modal 的用途:AI 云基础组件
Akshat [00:06:21]: 是的。
Swyx [00:06:22]: 所以我认为需要一定的克制才能不去做专门化,而是说“我想发布一个新的基础组件”,然后保持通用性。
Swyx [00:06:31]: 人们会问你:“你们是做什么的?”你会说:“我不知道。我们能做这个,也能做那个。”
Vibhu [00:06:36]: 嗯,我很好奇,如果我们问你,哪怕从比较高的层面来说,Modal 到底是做什么的?你们做的事情很多,沙盒、GPU,什么都有。你会怎么回答?
Akshat [00:06:46]: Modal 是一个云平台,我们从零开始为 AI 应用构建了基础组件。目前它涵盖推理、训练、批处理和沙盒工作负载。
Akshat [00:07:00]: 但我们正在构建更多的东西。
Swyx [00:07:02]: 我注意到你没有说 Web 服务器,所以那种常驻的大规模 Kubernetes 类型的场景,仍然有其他玩家的空间。
Akshat [00:07:09]: 是的,完全正确。我们并不想和 Render 这类公司竞争,因为我们认为我们的差异化在于那些需要专用计算、需要频繁扩缩容的工作负载。是的,它们的形态就是不一样。
与前沿初创公司并肩工作
Vibhu [00:07:26]: 我觉得你们是在和初创公司一起构建很多东西,对吧?他们创新得很多,即使在你们最新的博客文章里也是这样。比如在 C 轮融资公告里提到的那些客户,Cognition、技术型的那些、Ramps 什么的,他们都在和你们一起创新,对吧?而 AWS 并不会直接这样做。
Akshat [00:07:45]: 是的,完全正确。我觉得这又是经典模式。我们是一个小团队,可以行动得非常快。我们的工程师直接和客户一起工作,一起摸索出解决方案。是的。
Swyx [00:07:54]: 我在 Cognition 的第一周,走进去就看到有人穿着 Modal 的 T 恤。我说:“你怎么在这儿?”他说:“是啊,我就是……我被派驻在 Cog 里面了。”
Akshat [00:08:05]: 是的,我想那是 Peyton。是我们把他派过去的。
Swyx [00:08:07]: 是的。
Akshat [00:08:07]: 因为不然的话,沟通延迟太高了。
Swyx [00:08:12]: 是的,分布式节点,你必须——你必须部署一个,把它放在一起。
Vibhu [00:08:16]: 是的。
Swyx [00:08:16]: 所以我有直接的亲身经历,对吧?我三年前做了 smol developer。它的灵感来自 Claude 1。我记得你在某个时间点之前给我开通了账号,我当时想:“哦,我需要一些突发性的算力。我就试试 Modal 吧。”体验相当愉快。 apparently,我还出现在了董事会会议的分析数据里。
smol developer、沙盒与 Cognition 的雏形
Akshat [00:08:39]: 是啊,你在 Hacker News 上爆火了,然后,
Swyx [00:08:41]: 是啊
Akshat [00:08:41]: 我们流量暴涨。我……我觉得你当时用 smol developer 的方式是用 Modal functions 来跑东西,那……那是个很好的用例。不过,是啊。
Swyx [00:08:53]: 是啊。那——对我来说,那就是原始认知(proto-cognition)。
Akshat [00:08:55]: 对。
Swyx [00:08:56]: 要是我当时坚持做下去就好了。
Swyx [00:08:58]: 就像,那就像是,你——你说过画技术树吧?
Akshat [00:09:00]: 绝对的
Swyx [00:09:00]: 你当时就是那种,“嗯,这大概率会发生。”
Akshat [00:09:02]: 是啊。就像,他当时已经非常接近了。你其实就是在重新造我们的轮子
Swyx [00:09:04]: 我只是没意识到。
Akshat [00:09:05]: 不过有趣的是,与此同时,我们当时在和很多需要类似沙箱功能的客户交谈。
Swyx [00:09:14]: 是啊。
Akshat [00:09:14]: 那是二三年的时候。
Swyx [00:09:15]: 是啊。
Akshat [00:09:16]: 所以我们做了
Swyx [00:09:17]: 你在那之后不久就发布了一个新 API。
Akshat [00:09:18]: 是啊。
Swyx [00:09:19]: 对。
Akshat [00:09:19]: 比如,我们在二三年五月就做了沙箱,那时候还没人知道这会成为一个方向。我们发布的第一个示例是,我们拿 smol developer
Swyx [00:09:28]: smol developer
Akshat [00:09:28]: 放进一个循环里,让 Agent 能自我迭代。
Swyx [00:09:33]: 循环现在很火啊。
Vibhu [00:09:34]: 就是那个 looper。
Akshat [00:09:34]: 是啊。
Vibhu [00:09:35]: 循环。那是什么时候,二三年?
Akshat [00:09:38]: 是啊。
Vibhu [00:09:39]: 小检查一下。
Akshat [00:09:39]: 是啊。
Swyx [00:09:39]: 是二三年。所以那个……给听众们说一下,问题在于模型根本不是为这些场景设计的,对吧?
Swyx [00:09:46]: 就像,你只是在尝试……它们没有经过后训练来理解循环、自我纠错,工具调用倒是有,但也不算太好。
Akshat [00:09:55]: 是啊。
Akshat [00:09:55]: 我不记得你那次有没有用工具调用,不过模型大概十次迭代之后就会发散,产不出什么有意义的东西。
Swyx [00:10:03]: 是啊。不过,那……好吧,就像现在跟三年前的自己对话,答案是
Vibhu [00:10:08]: 它们当然会变好
Swyx [00:10:09]: 收集所有失败案例,建评测基准,然后收集所有……示例,搭建 RL 环境
Akshat [00:10:15]: 对
Swyx [00:10:15]: 然后以一百亿美元左右卖给 Meta。
Swyx [00:10:17]: 然后再训练一个模型,以六百亿美元卖给 Elon。这就是
Akshat [00:10:23]: 是啊,当然
Swyx [00:10:23]: 印钞机。就像,关键在于硬件。
Akshat [00:10:28]: 很难有那种发自内心的信念,相信这些东西会变得那么好。
Swyx [00:10:33]: 事后来看,这他妈太明显了。
Akshat [00:10:36]: 有道理。
Swyx [00:10:37]: 比如说,我们那时候还在做什么?我不知道。总之,是的。所以这就是你沙箱之旅的起点,对吧?我感觉它直到去年才火起来。
Akshat [00:10:49]: 是的。
Swyx [00:10:50]: 所以中间有几年比较沉寂。
Akshat [00:10:52]: 没错,是的。我们……
Vibhu [00:10:53]: 我觉得这是一个被严重低估的产品价值。比如我和 Modal 的经历,Charles 在加入 Modal 之前,在一次黑客马拉松上遇到了这个人,他非常坚持我们要运行某个小模型,不托管在任何地方,然后他说:“有这么一家很酷的公司,叫 Modal。他们会启动一个 GPU 沙箱,我们可以直接扔上去。他们接受 Hugging Face 链接。”光是这一点就有巨大的价值,对吧?比如即时托管,随时启动、随时关闭。它会保持冷启动状态,但我们几天后运行演示时,它又能恢复上线。回想起来,这些功能直到今天依然是我们所需要的。
Akshat [00:11:27]: 是的,今天依然需要。工作负载的形态已经发生了很大变化,我们为拥有超大规模生产环境的客户运行服务,在那里问题不再是从零扩展到一,而是如何真正弹性地,比如在某个区域内非常快速地从一千块 GPU 扩展到一千五百块。本质上是同一类形态的问题。
弹性推理、GPU 自动扩缩容与自定义模型
Vibhu [00:11:50]: 好的。那么你看看,比如说 Cursor Composer,对吧?
Akshat [00:11:53]: 是的。
Vibhu [00:11:53]: 他们说“我们每隔几个小时就对一个模型做一次 RL”。你们有一整套 RL 推理训练场之类的设施。
Vibhu [00:12:01]: 当你看到这样的工作负载时,你们在进行训练任务,需要每小时对数千块 GPU 进行扩容和缩容,对吧?这就是我们确实需要它的例子,对吧?
Akshat [00:12:12]: 是的。那么,我先退一步,谈谈如今人们是如何使用 Modal 的。因为我们最大的用例是弹性推理。而我们最初找到产品市场契合点的,是自定义模型的推理。所以我们避开了 LLM 领域,我们为 Suno 这样的音频公司、Runway 这样的视频公司、机器人公司以及计算生物学公司提供服务,这些公司在别处训练自己的模型,而 Modal 则是部署和扩缩容的最佳黑盒,可以根据流量模式的变化扩展到所需的任意数量的 GPU。我们发现他们所有人的流量模式都非常难以预测——不对,是可预测的。它是昼夜节律型的。有些日子,公司会发布产品,需要多得多的算力。而且他们部署的不只是一个模型。这些公司会在不同区域部署大量不同的模型,所以自动扩缩容的问题变得更加困难,因为你必须在特定区域内进行扩展,而这些周期是错开的。所以在不同的时间,你在不同的区域进行扩容。
Akshat [00:13:20]: 所以这就是我们的……
Vibhu [00:13:22]: 而那……
Akshat [00:13:22]: 是的
Vibhu [00:13:22]: 这本身就是一个巨大的类别。有一堆推理服务提供商,比如 Fireworks 以服务的形式提供这类功能,还有 Base10 等等。至少目前,这已经为语言模型开辟出了自己的一片细分市场。
Akshat [00:13:36]: 是的。我们专精的方向是自动伸缩(autoscaling)这一块。
Vibhu [00:13:41]: 嗯。
Akshat [00:13:41]: 因为我们发现,并非所有其他厂商都能真正做到自动伸缩。我们在技术层面走得更深,比如我们把 GPU 快照功能整合进了产品里,这样我们可以捕获 GPU 的状态,比如你的 torch.compile 模型,给它做个快照,下一次冷启动就会快得多。回到你的问题,这就是为什么推理需要很强的突发性。但人们也会做很多按需训练,比如 RL 相关的工作,正如你所说,rollout 是突发性的。人们还做很多批处理任务。所以我们看到,很多公司在正式训练之前,需要数千块 GPU 来跑编码之类的任务。我认为这些场景的突发性要强得多。我同意 Agent 并不是那么突发。沙箱是突发性的,除非你在做 RL。RL 简直就是……
RL、批处理任务和 10 万个沙箱
Vibhu [00:14:28]: 或者是电商
Akshat [00:14:28]: 突发性极强。
Vibhu [00:14:29]: 是啊。
Akshat [00:14:30]: 对。比如你在做 rollout 的时候,有时需要 10 万个沙箱。
Vibhu [00:14:37]: 嗯。我很好奇你们有没有看到持续学习(continual learning)的早期火花。有一些人,比如我们的朋友 ngram,最近宣布了这件事。
Akshat [00:14:45]: 是的。
Vibhu [00:14:45]: 他们正在尝试做训练。这看起来也是一种不同的工作负载,对吧?如果你是全天候不间断地做训练,GPU 在不同人之间的使用方式会有一种非常奇特的动态,但这似乎是你们能派上用场的场景。
Akshat [00:15:00]: 正如你所说,我们很幸运能与多家处于前沿的客户合作,拿我们的一些客户来说,他们正在利用我们提供的基础能力,并尝试以非常有趣的方式使用它们,比如持续学习。随着这些东西越来越好,如果更多人需要,其中一些功能也可能成为我们产品的一部分。但我们只是在观望。
Vibhu [00:15:23]: 嗯。
Akshat [00:15:23]: 看它最终会如何发展。
Vibhu [00:15:24]: 在沙箱之后,你们有没有增加过某个基础能力,成为这个故事的下一步?
LLM 推理、DeFlash 与投机解码
Akshat [00:15:32]: 我想我们在 LLM 推理方面走得更深了。
Vibhu [00:15:35]: 嗯。
Akshat [00:15:35]: 因为我们意识到,我们在自动扩缩容方面的某些优势,尤其是在不同区域等方面,是其他地方所不具备的。而我们的短板在于,我们没有在模型层本身下功夫。可以说我们是一个黑盒。然后我们意识到,只要拥有在这方面非常出色的人才,我们就能达到前沿水平的模型性能。而且我们一直在开源大量工作成果,比如最近我们分享了关于 DeFlash 的工作,这是一个基于块的投机器,我们已经将其全部开源。所以,通过使用开源的 DeFlash,你可以获得与某家专有供应商相同的性能。接下来我们在这方面思考的是
Vibhu [00:16:23]: 我记得这个是
Akshat [00:16:24]: 对
Vibhu [00:16:24]: 一篇很有意思的博客文章,对吧?我记得你在里面提出了一个观点。不算观点,就是关于投机解码到底有多有效。
Akshat [00:16:33]: 是的。
Vibhu [00:16:33]: 关于这个,你有什么想指出来让大家了解的吗?
Akshat [00:16:39]: 好的,当然。先简单概括一下,最好先解释一下什么是投机解码。
Vibhu [00:16:44]: 好。
Akshat [00:16:44]: 我来,好的。
Vibhu [00:16:45]: 我想,比如
Akshat [00:16:46]: 好
Vibhu [00:16:46]: 我们之前讲过 Eagle 之类的
Akshat [00:16:47]: 对
Vibhu [00:16:47]: 还有 Hydra 那些东西,但那都是两年前的事了。
Akshat [00:16:51]: 是啊。
Vibhu [00:16:51]: 再讲一遍也没坏处,对吧?
Akshat [00:16:52]: 对。投机解码是指用一个较小的模型,称为草稿模型,先于大模型预测 token,然后由大模型对所有预测出的 token 进行验证。它更快的原因是,如果你一次只预测一个 token,你会受限于内存带宽。但如果你能批量验证草稿模型的输出,就能更高效地利用算力,速度也更快。而且只要你的草稿模型能产出大量可被接受的 token,也就是所谓的接受长度,你就能获得相当于原模型速度数倍的加速。这正是我们在这里强调的。人们总是大谈我们把内核优化得更快之类,但改进内核只能带来几个百分点的提升,而提高接受长度,实际上是乘数级的提升。
Vibhu [00:17:47]: 比如两到四倍。
Akshat [00:17:48]: 对,没错。
Vibhu [00:17:48]: 而且质量上没有明显损失。
Akshat [00:17:50]: 对。我想可能——你是在运行第二个模型,对吧?所以在算力上可能会更贵一些,
Vibhu [00:17:57]: 我说的是质量性能
Akshat [00:17:58]: 应该贵不了多少
Vibhu [00:17:58]: 不过对。我想
Akshat [00:17:59]: 所以质量性能上没有任何下降
Vibhu [00:18:01]: 对
Akshat [00:18:01]: 因为你总是……你永远不会接受一个比大模型
Vibhu [00:18:04]: 严格来说更好
Akshat [00:18:05]: 是的
Vibhu [00:18:05]: 或者说是一样的。
Akshat [00:18:06]: 没错。
Vibhu [00:18:07]: 对。是的。
Akshat [00:18:08]: 所以我们一直在大量开发 DeFlash,这是一个基于块的投机器。它不是一次预测一个 token,而是一次预测一个块。我们一直在开源这方面的工作。我们在这里的下一步是帮助人们训练投机器和自定义模型。这在传统上是非常依赖前沿部署工程、依赖部署工程师驱动的事情,比如你要和客户合作,帮助他们做到这一点。而我们的愿景是——这也是我们推出 Auto Endpoints 的原因——我们想让前沿级别的性能对每个人都可用。所以,我们在公告中提到过,我们预告过。我们接下来要推出的是,当你运行一个 auto endpoint 时,我们会镜像流量
Auto Endpoints 与前沿级别性能
Vibhu [00:18:54]: 你想解释一下什么是 auto endpoints 吗?
Akshat [00:18:57]: 好的。
Vibhu [00:18:57]: 我很乐意,好的。
Akshat [00:18:58]: 好的。所以,这大概要回到你说的 Modal 是你可以改代码,但有时候人们不想改代码,他们想直接用一个能用的 endpoint,并且拥有 Modal 所有的出色性能和可扩展性。所以我们让这件事变得更容易了,可以通过我们的 UI、通过 CLI 创建一个 endpoint,它内置了我们谈到的所有优化,比如 DeFlash 那些东西,而且完全透明。我们会给你代码,你可以自己去运行,如果你愿意,还可以切换到完整的 Modal 体验。我们发现随着人们变得越来越熟练,他们确实会想调整模型、想微调一些东西。你仍然可以做所有这些。它不是一个黑盒。是的,正如我们在帖子后面预告的,下一步是,如何在这一切之外给你更多价值,让你的草稿模型随着你的数据分布演进,同样不需要和任何人沟通,就是这样。
Vibhu [00:19:59]: 我想直接弄清楚这一点:你有 GPU,有一个兼容的 endpoint,你部署开源模型。如果有人自己做这件事,你们提供的 Delta 是什么?你们在高效推理方面做了很多出色的开源工作。比如说,我拿同样的模型,5.2 FP8,拿现成的推理引擎,vLLM、SGLang,配置类似容量、类似成本的算力。接入这样一个东西,除了扩展性方面的好处之外,还能带来什么 Delta?
超越裸 GPU 的生产级推理
Akshat [00:20:34]: 这很有意思,因为我们采取的方式是将我们的贡献开源并回馈上游。我们与 SGLang 团队密切合作。我们希望团队想出的改进能出现在开源中,供他人使用,甚至在 Modal 之外也能使用。对我们来说,好处是我们拥有一支具备深厚专业知识的团队——如果你缺少某个功能,我们的团队可以帮你先把性能做出来。另外,就这些端点而言,正如你所说,我们比任何人都更具弹性,你可以实现真正的缩容到零,拥有真正的突发负载处理能力。而在实践中,这对用户来说比单纯找到 GPU 并在上面运行 Modal 代码重要得多。
Vibhu [00:21:20]: 是的。而且我要说,这并不是那么简单。就像我说的,说起来容易做起来难,对吧?
Akshat [00:21:26]: 是的。
Vibhu [00:21:27]: 我认为对普通人来说,用不同的方案来快速判断仍然很难。你可以组合的方式相当多,而这些权衡从表面上看并不明显。
Akshat [00:21:40]: 是的。还不止如此。我认为,运行生产级推理本身就是个难题。
Vibhu [00:21:49]: 是的。
Akshat [00:21:49]: 即使把自动伸缩排除在外,
Vibhu [00:21:50]: 是的。
Akshat [00:21:51]: 还要控制尾延迟之类的东西,确保每个请求至少被送达一次等等。
模型与 Agent 生命周期
Vibhu [00:22:00]: 这里有很多可以创新的空间。我觉得很有意思的是,你们开始逐渐侵入——随着你们成为一个完整的云平台,你们开始侵入别人的地盘了。
Vibhu [00:22:09]: 你们不会做什么?
Akshat [00:22:13]: 嗯,我们想跟随用户的脚步,确保他们得到一个所有组件都能良好协同的平台。所以现在我们专注于模型生命周期和 Agent 生命周期。也就是从数据准备到训练再到推理,另外,如果我想部署一个后台 Agent,还有沙箱、持久化存储以及一大堆其他的东西。
Vibhu [00:22:38]: 我们采访过 Cole,他做了 OpenInspect。是的。
Akshat [00:22:42]: 是的。
Vibhu [00:22:42]: RealInspect 也是跑在 Modal 上的。
Akshat [00:22:44]: 是的。所以 Ramp Inspect 是一个非常成功的后台 Agent 的绝佳例子,因为他们能够利用快照和快速伸缩这些原语,做出一个感觉非常灵敏、运行良好的东西。
Ramp Inspect 与后台 Agent
Vibhu [00:23:02]: 是的。那就是 Ramp 的新任 CTO。
Akshat [00:23:05]: 是的,Rahul。
Vibhu [00:23:08]: 那次访谈真的很有趣。好,我觉得,总体上都非常看好。我的一个反思也是,我最初并没有。所以当我认识你们的时候
推理的转折点:CPU、GPU 与协同部署
Vibhu [00:23:19]: 你们以前在 GPU 领域参与得不算多,现在却全力投入推理。今年 Jensen 在 GTC 的主题演讲中,我抓住的一个要点是,我们所说的推理拐点,对吧?比如说在 AI 工作负载或机器学习工作负载中,以前 GPU 和 CPU 的比例大概是 8 比 1,现在更接近 1 比 1,这很有意思。因为 Agent 被阻塞或调用大量依赖 CPU 的任务,真正的瓶颈因素在 GPU 和 CPU 之间来回摆动,比以前频繁得多——以前是全程 GPU,偶尔用一下 CPU。
Akshat [00:24:01]: 是的。
Vibhu [00:24:02]: GPU、CPU。现在就是不停地来回切换,你得把所有资源都安排好。
十七朵云与超级云战略
Akshat [00:24:08]: 是的。这也是我们觉得 Modal 有吸引力的地方之一,我们构建了一个横跨 17 家云服务商的容量池,所以我们非常擅长在世界各地运行各种类型的云容量。
Swyx [00:24:24]: 你们没有自己的数据中心?
Akshat [00:24:25]: 我们没有自己的数据中心。我们只是运行在大量新晋云服务商之上。
Swyx [00:24:29]: 是啊。
Akshat [00:24:30]: 还有 Metal 服务商。
Swyx [00:24:30]: 是的,问号。
Swyx [00:24:31]: 是的。你在算这笔账,然后想:“什么时候才是切换点?”
Akshat [00:24:36]: 是的,这是个好问题。部分原因在于,我们认为我们的差异化在软件层,保持轻资产、专注于软件能让我们行动非常快。到目前为止效果不错,因为有那么多其他公司在建数据中心,我们能够与他们高效合作,再次专注于让我们与众不同的东西。
Swyx [00:24:55]: 是的。
Swyx [00:24:56]: 17 家能让你接入一些本地服务商,比如——
Akshat [00:25:00]: 那个——
Swyx [00:25:01]: 哪一家最有趣?
Akshat [00:25:02]: 新晋云服务商比你想象的要多得多,它们的可靠性程度各不相同。这也是我们投入大量时间做的事情,就是在其之上构建我们自己的可靠性层。所以如果 GPU 掉线或出了什么问题,用户的工作负载不会受到影响,这让我们能使用比——
Swyx [00:25:30]: 是啊。
Akshat [00:25:30]: 你作为用户所能使用的多得多的容量。
Swyx [00:25:32]: 这很有用,因为现在大家都知道你们处于哪一层,你们的目标就是成为所有云之上的超级云。
Akshat [00:25:41]: 是的,这就是我们的想法。所以当你提到托管(colocation)时,那是另一件有趣的事,我们发现的一种情况是,当人们想要特定位置的 CPU 或 GPU 时会来找我们,比如他们想要——
Swyx [00:25:57]: 哦,他们把它固定在类似——
Akshat [00:25:58]: 是的。
Swyx [00:25:58]: 欧盟?
Akshat [00:25:59]: 没错。或者欧盟、美国。
Swyx [00:26:01]: 对。数据韧性
Akshat [00:26:02]: 澳大利亚
Swyx [00:26:02]: 是数据本地化问题,还是性能,还是别的什么?
Akshat [00:26:04]: 要么是数据本地化,要么是延迟,对。
Swyx [00:26:07]: 嗯。
Akshat [00:26:07]: 比如,你想要你的。他们在运行沙箱和模型,希望它们紧挨着
Swyx [00:26:10]: 对,那就简单了
Akshat [00:26:11]: 是的
Swyx [00:26:12]: 就是……这些因素在所有场景里都很重要。所以,你无意中——我不确定是不是无意——构建了让 Agent 表达自身的完美原语。而且很有意思的是,几乎每一项新进展都只是涉及更多文件系统,只是涉及更多 CPU。
Akshat [00:26:30]: 是的。
Swyx [00:26:31]: 就是你已经拥有的那些东西。我不太清楚有没有什么有意思的网络用途,但你们在网络方面也做了不少不错的工作。
网络、Sidecar、私有 IPv6 与沙箱
Akshat [00:26:40]: 对,完全正确。我们就是在计算、存储和网络这一层之上构建东西,满足人们的需求。
Swyx [00:26:49]: 嗯
Akshat [00:26:50]: 我们看到一些有意思的网络需求正在出现。一个是人们想要联网的沙箱。所以我们有
Swyx [00:26:57]: 类似 Docker 集群那种东西?
Akshat [00:26:59]: 对。
Swyx [00:26:59]: 抱歉,是 Docker Swarm。哦,该死。那个叫什么来着?
Akshat [00:27:02]: Compose。
Swyx [00:27:03]: Compose 那种东西。
Akshat [00:27:04]: 对。所以如果你想要 Docker Compose,我们的沙箱现在支持一种叫 sidecar 的东西。一个沙箱就是一组容器的 pod,你可以在一个沙箱里运行多个容器。这也很有用,因为回到网络的话题,人们对沙箱的出站网络控制有很多需求。
Swyx [00:27:23]: 嗯。
Akshat [00:27:23]: 比如,他们可能想运行一个中间代理,用于记录 RL 相关的日志,或者控制到某个域名的出站流量、注入凭证等等。所以我们自己构建了很多这类功能。
Swyx [00:27:38]: 嗯。
Akshat [00:27:39]: 另外有时候人们还想要跨多个节点的沙箱之间互相通信,这是我们正在看到的新趋势。出于其他原因我们已经支持了这个功能,我们拭目以待它是否会稳定下来。
Swyx [00:27:52]: 就是,直接开一个 socket。这就像 mTLS 那样。
Akshat [00:27:56]: 我们确实支持这个,你可以在沙箱内部暴露一个隧道。
Swyx [00:28:01]: 嗯。
Akshat [00:28:01]: 然后你可以把它暴露到公共互联网上,或者可以在上面加一层 HTTP 认证。但我们有一个叫 I6PN 的东西,我们还没聊过,它是一个使用 IPv6 地址的覆盖网络。启用后,同一工作区内的 Modal 容器可以通过这个私有 IPv6 地址互相寻址,而其他任何人都无法访问。
Akshat [00:28:28]: 所以它就像是容器之间的私有网络。我们构建它是因为我们的分布式训练产品需要这个基础能力。所以我们还有另一个功能,你可以给函数加一个装饰器,就能得到一个 GPU 集群,并且它们带有 RDMA 网络。这样你就可以运行真正无服务器的分布式训练任务。我们就是为此做了这个覆盖网络。但后来我们发现人们出于其他原因在使用它,我很好奇,人们会用它来做什么。
Swyx [00:28:59]: 构建基础能力,让人们自己去发掘用途,对吧?
Akshat [00:29:01]: 是的,没错。
Swyx [00:29:02]: 你发布了一个挺有意思的
Akshat [00:29:03]: 他们会去读文档页面。让我用它来
Swyx [00:29:06]: 是啊
Akshat [00:29:06]: 做一些我们从未打算让它支持的事情。这甚至根本不在我们的文档页面上。人们不知怎么发现了它,然后就在用了。
RDMA、内存搬运与分布式训练
Swyx [00:29:12]: 哦。
Swyx [00:29:14]: 你用 RDMA 对比 TCP 的方式来描述它,讲得非常清楚,只是在大规模强化学习场景下传输速度的变化,是的,你已经把它内置了。我敢肯定有人发现了它。在你把它做成正式功能之前,他们就已经发现它效率高得多,对吧?
Akshat [00:29:32]: 是的。不过不吹毛求疵的话,我想说这个覆盖网络是 TCP 覆盖网络。
Akshat [00:29:39]: 我们之所以需要它,是因为在在其之上建立 RDMA 网络之前,你需要用它来做 RDMA 的密钥交换。但后来人们发现了 TCP 这部分。
Swyx [00:29:48]: 我能说吗,这对我来说真是一个巨大的顿悟时刻,因为
Akshat [00:29:51]: 是啊
Swyx [00:29:51]: 我为世界博览会评审了 2200 份投稿。
Akshat [00:29:56]: 是啊。
Swyx [00:29:57]: 然后我收到了 John Osterhout 的这份投稿
Akshat [00:29:58]: 哦
Swyx [00:29:59]: 我不知道……你知道 John Osterhout 这个名字吗?
Akshat [00:30:01]: 这名字听起来耳熟。
Swyx [00:30:02]: 他发表过……他是一位知名教授,出版过很多有意思的软件设计书籍,而他选择提交的演讲主题是推理中的 RDMA。我心想,你不会想到这位搞操作系统的人会关心 RDMA。
Akshat [00:30:20]: 我,这对我来说说得通,因为,
Swyx [00:30:24]: 这就是云,对吧?是啊
Akshat [00:30:25]: 就是说,你如何移动 KV cache、移动得有多高效,在 RL 中把权重从训练 GPU 移到推理 GPU 有多高效——这里面有很多自由度,这是一个系统问题
Swyx [00:30:41]: 是的
Akshat [00:30:41]: 移动内存
Swyx [00:30:42]: 是啊
Akshat [00:30:43]: 调度。
Swyx [00:30:44]: 这说明我对网络这块的理解有多原始。
Swyx [00:30:46]: 这是不是也属于 WireGuard 的领域?
Akshat [00:30:50]: 不完全是。
Swyx [00:30:51]: 是相邻的领域?
Swyx [00:30:53]: 解释一下一切吧。
Akshat [00:30:54]: 好的。
Swyx [00:30:56]: 我们怎么在 GPU 之间移动内存?
Akshat [00:30:58]: 呃,抱歉。对,那是内存。抱歉,我说的更多是——也许我说的是五分钟前的话题——关于你搭建的私有 IPv6 寻址。
Swyx [00:31:09]: 是的。
Akshat [00:31:09]: 那是不是就像一个 VPN?
Swyx [00:31:10]: 对,它就像一个 VPN,是的,WireGuard 是……对,你说得对。它是——
Akshat [00:31:16]: 对。对,你已经转到新话题了
Swyx [00:31:17]: 类似的
Akshat [00:31:18]: 好的
Swyx [00:31:19]: 在同一个领域里,WireGuard 是加密的,而这个——
Akshat [00:31:23]: 而你不需要加密。
Swyx [00:31:23]: 是的。
Akshat [00:31:24]: 对。
Swyx [00:31:24]: 这个不加密。这是主要区别。这是 TCP,我们有 eBPF 程序,会根据你是否被允许来拒绝或放行这个 TCP 连接。
Akshat [00:31:35]: 以前需要一个完整的 sidecar,但现在你直接在 Linux 内核里用 eBPF。
Swyx [00:31:39]: 是的。
Akshat [00:31:40]: 对。不知道这是不是对我那个分布式训练怀疑论话题的自然延伸——就是,人们花很多钱买连接 GPU 的线缆,即便这样也不够快,瓶颈就在这里:你的网络够不够快?
Swyx [00:31:59]: 是的。我猜你说的是完全分布式训练,比如 Dialog 之类的,就是跨数据中心的那种
Akshat [00:32:06]: 那算是,是的。
Swyx [00:32:07]: 那是极端情况。
Akshat [00:32:08]: 对。
Swyx [00:32:08]: 你说的是中间的情况,然后其他人会在他们真正的数据中心里用 Mellanox 线缆之类的。
Akshat [00:32:14]: 当你在 Modal 上跑多节点训练时,RDMA——我想 Mellanox,或者说 InfiniBand,都被归为 RDMA——它是一种绕过 TCP 网络协议栈、在节点之间更快传输数据的方式。我们内部网络大概是每秒 3 太比特
Swyx [00:32:40]: 好的
Akshat [00:32:40]: 这是所需的标准配置。
Swyx [00:32:42]: 好的,所以我误解了
Akshat [00:32:43]: 50
Swyx [00:32:43]: 你说的是协议栈的哪一部分
Akshat [00:32:44]: 50 G 以上
Swyx [00:32:45]: 是啊
Akshat [00:32:45]: 如果你走
Swyx [00:32:45]: 对
Akshat [00:32:45]: 如果你去
Swyx [00:32:45]: 是
Akshat [00:32:46]: RDMA。
Swyx [00:32:46]: 好的。
Swyx [00:32:48]: 嗯,非常了不起的工作。
多节点训练、后训练与自动化研究
Swyx [00:32:52]: 所以实际上你们是在把模型的理念延伸到训练集群上,对吧。
Akshat [00:32:59]: 是的。而且我们并不是在做大规模训练。我们构建多节点训练,是因为我们看到很多规模较小的后训练需求。比如,人们会对中等规模的基金模型进行后训练,以便在推理时获得更高的质量。这类场景非常适合用这个。
Swyx [00:33:21]: 嗯,这也是我的印象,很多实验室就是这样在后训练中探索各种分支,最后再把找到的东西合并回去。
Akshat [00:33:31]: 是的。我们看到的另一个多节点训练用例是,即使你有一个大集群,你的研究人员仍然在做小规模运行。
Swyx [00:33:38]: 对。
Akshat [00:33:39]: 在这方面拥有弹性。
Akshat [00:34:12]: We, like, our internal both training and inference teams use this the general shape of this quite a bit. like we have this one internal repo called auto inference, which essentially we’ve automated our own forward-deployed engineering efforts using, this harness, which is, the agent will just spin up a sweep of different things. It’ll even run like, NVIDIA inside profiler and it’ll like tweak configs and it’ll arrive the right thing. it’ll change your GPUs both from H200 to B200, and works really well.
Swyx [00:33:40]: 对,没错。
Akshat [00:33:40]: 重要得多。
Swyx [00:33:41]: 嗯,这就像是当前自动化研究的限制因素,也就是说你需要给模型分配一些 GPU,它才能完整地运行。
Akshat [00:33:51]: 我们有一篇关于自动化资源和模型的博客文章。
Swyx [00:33:55]: 嗯。
Akshat [00:33:56]: 对,事实证明它是相当不错的底层基础。
Swyx [00:33:59]: 我的印象是,自动化研究包含很多东西,比如——
Swyx [00:35:23]: Okay. Let’s spend a bit more time on auto research. This is a big focus for for this year. Where does this go? like, have people explored enough? Like, there’s all these beautiful charts of like improve and then level off a bit and then you find the next thing. Is this one abstraction up from normal training? Is that how we think about it, or do you think about it differently? Like model level training versus high, like driven hyperparameter search.
Akshat [00:34:01]: 是。
Swyx [00:34:01]: 凡是 Andrej 提出的概念都是。现在它还处于科学展览阶段,对吧?我不知道有多少人在做这个。
Akshat [00:34:08]: 我们正在做高尔夫。
Swyx [00:34:08]: 嗯。 Akshat [00:34:09]: 我也是这么想的。
Swyx [00:34:11]: 嗯,你应该最清楚。
Akshat [00:34:12]: 我们内部无论是训练团队还是推理团队,都相当频繁地使用这种通用模式。比如我们有一个内部仓库叫 auto inference,我们用它把自己的前沿部署工程工作自动化了。这个框架会让 Agent 自动启动一轮不同方案的扫描,它甚至会运行 NVIDIA 的 profiler,调整配置,最终找到正确的方案。它还能把你的 GPU 从 H200 换成 B200,效果非常好。
Swyx [00:34:47]: 不错。
Akshat [00:34:47]: 是的。
Swyx [00:34:48]: 顺便说一句,我很欣赏你们的前沿部署工程技术含量高到需要做这些事情。
Swyx [00:34:52]: 这和其他人的前沿部署工程很不一样。
Akshat [00:34:54]: 是的。我们的前沿部署工程团队,基本上就是应用推理研究员或应用训练研究员。
Swyx [00:35:02]: 有人告诉我,他们既要能动手构建,也要能做销售。他们需要做销售吗?还是说他们只是售后类型的工作?
Akshat [00:35:09]: 是的,能够与客户交流并有效地与他们互动
Swyx [00:35:13]: 是啊
Akshat [00:35:13]: 非常重要。
Swyx [00:35:14]: 他们想要的是同样的东西。
Akshat [00:35:15]: 是的。
Swyx [00:35:15]: ?
Akshat [00:35:15]: 但这其实不算真正的销售工作。我们会给他们搭配——我们也有更偏向销售方面的解决方案架构师。
Swyx [00:35:23]: 好的。我们多花点时间聊聊 auto research。这是今年的一个重点方向。它会走向哪里?比如,人们探索得够多了吗?就像那些漂亮的曲线图,先提升然后趋于平缓,然后你找到下一个突破点。它是比普通训练高一个抽象层级的东西吗?我们应该这样理解它,还是你有不同的看法?比如模型级别的训练,对比那种由 LLM 驱动的超参数搜索。
Auto Inference and Modal Bench
Akshat [00:35:51]: 是的,就像,
Swyx [00:35:51]: 有人,有些人把它叫做神经架构搜索之类的,对吧?比如。
Akshat [00:35:54]: 是的,——就我所见,人们用它做的事情完全不在架构层面。基本上就是调整参数,但它是一种由模型直觉引导的超参数搜索,所以比其他任何搜索方式都高效得多。
Swyx [00:36:12]: 是啊,这只是你想把算力花在哪里的问题?
Akshat [00:36:16]: 对。
Swyx [00:36:16]: 因为是啊,你可以往这上面砸无限的钱,然后不知怎么地就能搞出莎士比亚来?
Akshat [00:36:22]: 是的,无限猴子。
Swyx [00:36:24]: 是啊,所以这对模型来说非常好。而且我认为同样重要的是,Agent 可以启动其他 Agent,可以启动它们的基础设施。这对你非常有好处。我们的 LLM 生成模型代码的能力怎么样?现有 LLM 的优势在于它们已经在数据之中了。
Akshat [00:36:42]: 是的。它们出奇地好。我想在 Cloud 4 之前还不行,而现在它们开箱即用就能搞定这些东西。不过我们正在考虑发布一个 Modal Bench,针对那些更难的
Swyx [00:36:55]: 是啊
Akshat [00:36:55]: 事情,那些 LLM 目前还做不到的事情,也许
Swyx [00:36:59]: 能举个例子吗?
Akshat [00:37:01]: 我觉得那些——有时候 Agent 在没有正确指导和技能的情况下会难以处理的是,如何使用我们其余的可观测性功能。比如如何……某个东西出错了,如何查看日志然后更新正确的东西?就是对此进行推理。但它们是能够现学现用的,比如
Swyx [00:37:23]: 是啊。你只要给它加个技能就行?
Compute Strategy and Capacity Planning
Akshat [00:37:26]: 是的。所以我们现在有一个 Modal 技能。这也是我们构建 Modal Bench 的原因,就是为了找出这类问题,然后在我们的工具中加以解决。
Swyx [00:37:35]: 调优一个技能。是啊。
Akshat [00:37:36]: 是的。
Swyx [00:37:36]: 不,挺好的。你们有没有遇到什么短缺?我们经常谈 GPU 短缺,但也有 CPU、内存。
Swyx [00:42:44]: Like the new level now is whatever Claude Code does, which is dangerously scope permissions or like allow list by command or like whatever, right? And sometimes they’re like, “Well, okay, we have like this adaptive thinking mode where like, just trust me, bro. I will make the calls for you.” Is that it? like mediated permissions.
Swyx [00:37:44]: 是的。
Akshat [00:37:45]: 我们增长很快,这意味着我们必须在
Swyx [00:37:53]: 规划
Akshat [00:37:54]: 主动的容量规划方面做得好得多。
Swyx [00:37:55]: 是啊。
Akshat [00:37:55]: 所以我们
Swyx [00:37:57]: 顺便说一句,这简直是 MBA 的梦想
Akshat [00:38:00]: 是的
Swyx [00:38:00]: 就是做这类规划。我记得上次我和你聊过一些相关的话题。
Akshat [00:38:03]: 对。我们有一支非常能干的团队,这个岗位叫做“算力策略”。所以,如果有听众对此感兴趣或者想从事这方面的工作
Swyx [00:38:13]: 算力策略?
Akshat [00:38:13]: 对。
Swyx [00:38:14]: 我觉得
Akshat [00:44:19]: Yeah, we’re, very excited to partner with Anthropic and some of the other foundation labs, will not name who we’re also working with. the way we see it is the manage agent thing is a great place to start if you’re starting out building an agent and, But then when you get to, building something more production grade, like you’re a company that’s like Ramp that’s building their own, Ramp also runs their accounting agent on us, so their external-facing agent. You need a lot more control over, your compute primitive on things like, what sort - how do you persist different files that the agent has access to, and how do you snapshot and restore? How do you control the networking? maybe you want GPUs. When you get to that point, you kinda want, a specialized sandbox provider, that gives you those things, and that’s the role that we are trying to play.
Akshat [00:38:14]: 我感觉
Swyx [00:38:15]: 我觉得普通人会把它叫 FP&A 之类的吧。
Akshat [00:38:18]: 嗯,它不完全是 FP&A。这里面有很多有意思的财务问题,比如一年期和三年期预留之间怎么搭配?我们如何预测自己的容量?尤其是我们的容量在不同 GPU 类型和不同区域之间是高度可互换的,所以你必须对很多东西建模。而且你还必须对供应链将如何演变有自己的判断,然后据此下注,
Swyx [00:38:49]: 是啊
Akshat [00:38:49]: 基于这些判断做决策。
Swyx [00:38:50]: Tokenomics(代币经济学)。 Akshat [00:38:50]: 是的。
Swyx [00:38:51]: 这可能不是一个很严谨的观点,但我一直在想还有哪些行业遇到过这类问题。我在想,我们不可能是第一个面对这类问题的行业。
Akshat [00:38:59]: 是啊。
Swyx [00:39:00]: 还有哪些行业经历过这个?我想到航空公司和燃油,他们要对冲燃油成本,我记得西南航空很长一段时间因为押对了燃油,成本比别人低得多,所以
Akshat [00:39:12]: 哦
Swyx [00:39:12]: 相比其他公司一直保持超低成本。
Akshat [00:39:14]: 是啊,我还没往这方面想过。
Vibhu [00:39:16]: 我们现在也正处在一个有趣的时期?
Akshat [00:39:18]: 是的。对我们来说,算力业务整体上很大程度上就是要把容量管理做得非常好。这是你获得优秀单位经济效益的方式。但长期来看,这也是你为客户解锁更多价值的方式。比如我们现在正在打造的一个功能是,如果客户不在乎延迟,就可以拿到便宜得多的价格,结果会在比如 24 小时内返回,本质上就是一个批量层级。
批量层级与延迟不敏感的工作负载
Swyx [00:39:47]: 是啊。
Akshat [00:39:47]: 这些是我们手里的杠杆,因为我们掌控整个技术栈和调度等等,可以给用户提供足够的
Swyx [00:39:53]: 是的。我觉得它们没那么受欢迎。比如那些,像 Frontier Labs 提供的那些 API,它们本应更受欢迎才对。
Akshat [00:40:00]: 我们看到对这类东西的需求并不是来自 LLM,不过有时候人们想跑评测,
Swyx [00:40:08]: 好的
Akshat [00:40:08]: 还有合成数据准备,在那类场景下它确实说得通。
Swyx [00:40:10]: 好的。
Akshat [00:40:11]: 但需求主要来自很多 LLM 公司,比如做计算生物的人,他们必须跑非常大的批处理任务,而且不在乎什么时候拿到结果。
Swyx [00:40:22]: 是的。而且他们有一个合理的预期。这其实也像是“能否按时完成”这个停止问题的近亲。
Akshat [00:40:30]: 是的。你可以给它设定边界。
Swyx [00:40:33]: 是的。
Akshat [00:40:33]: 比如你可以给用户
Swyx [00:40:34]: 是的
Akshat [00:40:34]: 提供 SLA。
Swyx [00:40:35]: 是的。我觉得有意思的是模型的下一个阶段。
Swyx [00:40:38]: 比如,既然你们已经站稳脚跟,成为这些领先公司中知名的算力厂商,人们对你们有什么期待?你们办过推理发布周,我们也聊过一些发布内容。还有什么呢?人们还应该知道些什么? Modal 接下来要构建什么
Akshat [00:40:55]: 我们正在构建能让用户的生活轻松得多的基础组件。比如,在 LLM 推理方面,会有成千上万更多的公司对自己的模型进行后训练,并部署开源模型做推理。所以我们一直在思考,针对这个场景最佳的产品形态是什么。这涉及从我们的 training gym,到能提供前沿级别性能的端点等方方面面。不过我还没和任何人聊过,在其他垂直领域情况看起来有些不同。比如,我们也看到很多实时的音视频需求,这就是为什么我们在做区域路由加故障回退之类的东西,让用户能拿到离终端用户尽可能近的 GPU,从而在视频流等场景下获得低延迟。然后在 AI Agent 这边,
Akshat [00:41:52]: 我们仍在与客户紧密合作,因为他们需要的东西变化太快了。我认为,除了沙箱和持久化文件系统之外,随着人们构建生产级 Agent,他们还会从这个 Agent 技术栈中需要很多其他东西。所以是的,我们正在思考那些能融入其中的其他东西。
Swyx [00:42:13]: 我想问问那些其他东西是什么。
Akshat [00:42:15]: 嗯,我可能现在就该分享一下。
Swyx [00:42:17]: 我觉得——我觉得,好吧,我确实经常思考云的核心组成部分,你们也确实会谈到计算、存储、网络。
Akshat [00:42:25]: 是的。
Swyx [00:42:25]: 因为到目前为止对我来说还好。到目前为止,对于。前几代云端来说,还好。那 Agent 有什么质的不同,以至于你需要某种新的权限级别?就像很多人,好吧,我就这样不停地往你身上吐 token,直到 hopefully 激发出点什么。
Swyx [00:51:23]: Run FFmpeg. But like
Akshat [00:42:43]: 是的。
Swyx [00:42:44]: 比如现在的新级别就是 Claude Code 做的那种,就是危险地限定权限范围,或者按命令设白名单之类的,对吧?有时候他们会说:“好吧,我们有这种自适应思考模式,就是,相信我,兄弟,我会替你做这些调用。”是这样吗?就是中介化的权限。
硬性护栏 vs. LLM 中介化权限
Vibhu [00:43:03]: 现在你给它一个目标让它循环运转。
Akshat [00:43:06]: 是的,我,我对 LLM 中介化的权限持怀疑态度,尤其是沙箱级别的东西,因为你确实需要硬性边界。
Swyx [00:43:16]: 是的。
Swyx [00:51:50]: In recent news and just-just see if you have anything interesting. Gitpod, very like-- somewhat like, different market. They’re in like the CI/CD market, but technically very impressive. I don’t know if you’ve like taken a real look at them.
Akshat [00:43:16]: 否则,有人可能会把东西泄露出去。
Swyx [00:43:20]: 但是像
Akshat [00:43:20]: 是
Swyx [00:43:20]: 也许这是老派的思维。也许我们是恐龙。
Swyx [00:43:23]: 也许 AI OS 或者 LLM OS 的内核真的是一个该死的 LLM。
Swyx [00:43:30]: 这会让你感到不舒服。
Akshat [00:43:31]: 是的,我,我被
Swyx [00:43:32]: 但这就是信任 LLM 的含义。想象一个球形奶牛式的完美 LLM。
Akshat [00:43:36]: 对。
Swyx [00:43:37]: 就是这样。
Akshat [00:43:39]: 也许吧。
Swyx [00:43:41]: 我想测试一下边界,对吧?
Akshat [00:43:42]: 是的。
Swyx [00:43:42]: 比如,我并不相信这一点,但我想看看我在哪里错了,因为那是共识。
Akshat [00:43:49]: 是的。我认为当你想要的时候,你总是需要硬性护栏。而且你可以把这些和更软性的护栏搭配起来,对吧?那会有很多中介化的东西。
托管 Agent 与专用沙箱
Swyx [00:44:00]: 那里。我还想以你对 Modal 之外生态系统的几点评论来收尾。托管 Agent。每家都有一个。Gemini、OpenAI、Claude,对你很有用,但这也是他们开始蚕食你领域的方式。
Akshat [00:44:17]: 是的。
Swyx [00:44:17]: 怎么回事?
Akshat [00:44:19]: 是的,我们非常高兴能与 Anthropic 以及其他一些基础模型实验室合作,至于我们还在和谁合作就不点名了。我们的看法是,托管 Agent 这类东西是入门构建 Agent 的绝佳起点,但当你要做更接近生产级别的东西时——比如像 Ramp 这样的公司在构建自己的产品,Ramp 的对外会计 Agent 也是跑在我们平台上的——你就需要对计算原语有更多的控制,比如:如何持久化 Agent 可以访问的各种文件?如何做快照和恢复?如何控制网络?也许你还需要 GPU。到了那个阶段,你就需要一个专门提供这些能力的沙箱提供商,而这正是我们想要扮演的角色。
Swyx [00:45:15]: 是的。
Akshat [00:45:16]: 我们对 harness 本身没有特别的立场,无论是云端托管的 Agent 接入 Model Sandbox,还是把 harness 跑在 Model Sandbox 里,都可以。我们拭目以待大家最终会收敛到哪种方式。
Swyx [00:45:26]: 是的。你对那些元 harness 有什么看法吗?还是说它们只是这些东西之上又加了一层?
Akshat [00:45:31]: 你是说像 OpenPipe 那样的?
Swyx [00:45:33]: OpenPipe 是一个。我记得 Vercel 也出过一个,名字我一时想不起来了。Fredshot 有一个。然后最近的是 Databricks,他们出了 Omnigen。这些都是元 harness,有点类似伪 Agent 云的东西。
Akshat [00:45:50]: 我个人还没玩过它们。
Swyx [00:45:53]: 是的。
Akshat [00:45:53]: 用它们构建 Agent。
Swyx [00:45:54]: 只要多消耗基础设施,一切都看好 Modal。
Akshat [00:45:57]: 这就是我们专注于基础设施层的原因。那是我们相对擅长的领域,而且也是一个很难解决的问题。
Swyx [00:46:06]: 是的。我想就这一点总体反思一下——不知道 Modal 还有没有其他话题,但作为一个基础设施从业者来总体反思,虽然没你那么深入,但也在这个领域里——这是基础设施最令人兴奋的时期。之前有一段时间很无聊,你根本没法让人对数据基础设施产生兴趣。比如 Eric 上 Data Console 演示,大家看完视频就说“看,我能起多少个沙箱”,但没人在乎。
为什么基础设施重新变得令人兴奋
Akshat [00:46:39]: 是的。
Swyx [00:46:40]: 而现在所有人都在乎了。
Akshat [00:46:42]: 没错。这确实是一个非常激动人心的时期,我想很大程度上是因为这一切所需的规模量实在太大了。
Swyx [00:46:50]: 我觉得,你们的很多举措或者说很多产品方向,事后回看都很合理,呃