不只做推理:Modal 如何跨界多节点训练与智能体云

Akshat Bubna · Modal CTO · 2026-07-17
听中文精华AI 合成朗读00:00
为什么你要让一个智能体去阅读数百个 Kubernetes 文件并编写甚至没有类型的 YAML,而它基本上可以在一个装饰器中做几个更改,然后获得这种能够自我配置的运行时,实时看到它的更改在运行中生效。
— Akshat Bubna

关联

一个云平台不建自己的数据中心,而是横跨 17 家云厂商拼出一个容量池,甚至能在上面跑多节点训练——这在 AI 算力焦虑时代听起来有点反直觉。说这话的人是 Akshat,Modal 的 CTO,他们最近刚完成 C 轮融资。

这一集里,他和两位主持人聊了三件事:Modal 最初为什么要造一个不用写 YAML(一种配置文件)的运行时,以及这个老思路为什么在今天的智能体时代反而更吃香;他们是怎么把 GPU 快照(一种保存运行状态的技术)、投机解码(让小模型先猜、大模型来验,加速推理)和跨云容量调度做到极致的;以及当语言模型越来越强,这个基础设施平台为什么不担心被抢饭碗,反而要把仪表盘全搬进命令行去迎合智能体。

说起 Modal 的起点,其实跟大模型毫无关系。Akshat 回忆,他和 CEO Erik 是通过一位投资者认识的。

当时 Erik 在琢磨一个很基础的问题:为什么工作流编排产品这么难用?答案是它们都得跑在 Kubernetes(一种管理容器的系统)上,而 Kubernetes 是为缓慢扩展的 Web 服务器设计的。

他们看到的大量工作负载却不是这样:计算量大、需要频繁地突发扩缩。所以他们最初想造的是一种更好的运行时,可以跑数据处理和任务队列。他们在 ChatGPT 出来前一年就给产品加了 GPU,但当时只是觉得这是个加法,没料到后来的爆发。

有意思的是,Modal 早期的一个核心设计——把基础设施配置全塞进代码装饰器里,不写 YAML——在今天的智能体时代迎来了第二春。主持人 swyx 指出,现在的负面论点是人都不看代码了。

Akshat 对此有个很直接的反驳:为什么你要让一个智能体去读几百个 Kubernetes 文件,去写没有类型检查的 YAML,而它本来只需在装饰器里改几行就能看到一个自我配置的运行时实时生效? 他们内部甚至把 SDK 团队的职责从「开发者体验」(DX)改成了「智能体体验」(AX)。

不过他也强调,代码可以不看,但「可观测性」(系统内部的监控仪表盘)现在比以往更重要,因为人还得去解释系统在干什么、做判断。 为此,他们把很多功能推到了命令行界面(CLI)里,让智能体能自己查问题。

正因为这种面向计算的底层设计,Modal 现在最大的用例是「弹性推理」。Akshat 解释,他们最早避开大语言模型,服务的是做音频的 Suno、做视频的 Runway,以及机器人和计算生物公司。

这些公司自己训模型,但他们的流量模式极度不可预测,有时是昼夜波动的,有时赶上产品发布流量直接飙升。 它们往往在多地部署多种模型,这让跨区域的自动扩展变得极难。

为了应对这种突发性,Modal 引入了 GPU 快照技术:它可以把 GPU 上的状态(比如编译好的模型)直接冻结,下一次调用时跳过漫长的启动过程。 主持人 Vibhu 指出,像 Cursor Composer 这样的应用,每隔几小时就要在模型上跑强化学习,这种动辄在几千个 GPU 上频繁增减的任务,正是 Modal 擅长的。

在推理加速这条硬核路线上,Modal 最近重点推的是开源的 DeFlash——一个基于块的推测器。Akshat 用大白话科普了投机解码:传统是大模型一步步生成词,投机解码是让一个小模型(草稿模型)在大模型前面先预测一批词,大模型负责验证。

只要小模型猜得准,大模型就能批量验证,算力利用更高效。这里有个反直觉的洞见:大家常谈优化底层内核,但内核改进往往只有几个百分点的提升;而想办法增加「接受长度」(小模型猜对被采纳的长度),能带来 2 到 4 倍的乘法级提速,且质量完全不降,因为大模型永远不会接受错的词。 在此基础上,他们推出了 Auto Endpoints:一个开箱即用、内置全部优化的端点产品,但代码全透明给你,随时可以弹出改写,而不是黑盒。

随着算力需求暴涨,Modal 怎么搞 GPU 成了焦点。Akshat 透露他们没有自己的数据中心,而是横跨 17 家云提供商搭建了一个超级云的容量池。

这样做是因为各种新云(neocloud)的可靠性参差不齐,Modal 在上面加了一层自己的可靠性层,一旦某块 GPU 掉线,用户工作负载不受影响。 这背后的算力规划极其复杂,涉及一年期和三年期预留比例、不同 GPU 类型的互换性等,甚至被 swyx 类比为航空业对冲燃料成本。 这种控制力还带来了一个批量层:如果客户不在乎延迟,只要在 24 小时内出结果,就能拿到便宜得多的算力。

有了这套基础设施,Modal 自然延伸到了多节点训练和网络层。他们不支持跨数据中心的大规模预训练,但非常适合中等规模的后训练(post-training,即训练好基础模型后的微调阶段)。

网络方面,他们提供了 IPv6 的 overlay 网络(一种虚拟覆盖网络)、eBPF(一种内核级网络过滤技术)控制,甚至能跑 RDMA(一种绕过传统网络协议实现极低延迟的传输技术),达到每秒 3 万亿比特的内部传输速度。 让人意外的是,这套原本为内部分布式训练准备的网络原语,被用户自己翻文档翻出来,用在了强化学习上。

网络搞定后,沙箱(sandbox,一种隔离的代码运行环境)的玩法也升级了。除了能做快照快速恢复,沙箱现在支持 sidecar(一种伴随主容器运行的辅助容器),能运行中间人代理来记录日志或控制外部网络。

swyx 评价说,Modal 不小心造出了让智能体自由表达的基础组件——涉及更多文件系统和 CPU。Akshat 坚持在沙箱层面要有硬护栏(guardrails,指死的安全边界),防止数据外泄,对纯靠大模型来中介权限持怀疑态度。 这也是为什么像 Ramp 这种做内部会计智能体的公司,在转向生产级部署时,会需要 Modal 这种专门的沙箱提供商来精细控制持久化文件和网络,而不是停留在 Anthropic 的托管智能体层面。

值得一提的是,Modal 一直刻意回避做模型 API 服务。Akshat 认为提供模型 API 最终会沦为服务业余爱好者市场,粘性太低,他们想做的是服务那些有自定义架构、需要在代码层面深度调整的产品级公司。

他们也看到 AI 正在重塑更多领域:比如智能体操作视频剪辑工具(像 ffmpeg)、计算生物学和机器人部署。为此,Modal 的 SDK 已经从纯 Python 扩展到了 Go 和 TypeScript——因为很多玩智能体的人其实不做底层机器学习,更习惯用 TypeScript 写逻辑。

本集带走

最后收个尾,这一集值得带走的是这么几条。第一,好基础设施的判断标准变了:以前是为开发者省事,现在是为智能体省事——但核心诉求是一样的,即把繁杂的配置变成代码里几个直观的装饰器。

第二,在 AI 时代,规模化和弹性的极端需求被放大了,谁能横跨几十家云厂商搭出高可靠容量池,同时用快照技术抹平冷启动延迟,谁就握住了算力调度的命门。第三,不要迷信黑盒,无论前端封装得多好,底层的训练逻辑、推理代码和网络控制力依然需要全透明、可随时介入;专注底层硬核的优化(比如投机解码的乘法级提速),往往比单纯做模型封装更有壁垒。

全部金句 4 条

为什么你要让一个智能体去阅读数百个 Kubernetes 文件并编写甚至没有类型的 YAML,而它基本上可以在一个装饰器中做几个更改,然后获得这种能够自我配置的运行时,实时看到它的更改在运行中生效。
Why would you have an agent read through hundreds of Kubernetes files and write YAML that’s not even typed when it can basically make a couple of changes in a decorator and it gets this sort of self-provisioning runtime of being able to see its changes live in action.
—— Akshat Bubna · [05:06]

改进内核只给你几个百分点的提升,而增加接受长度实际上是 2 到 4 倍的乘法性减少。
Improving kernel only give you like few percentage points improvement and increasing except lengths literally is multiplicative decrease in two to four x
—— Akshat Bubna · [17:38]

我们在 2023 年 5 月构建了沙箱,在任何人甚至知道这将成为一件事之前。
we built sandboxes in May of 2023 before anyone was even knew this was going to be a thing.
—— Akshat Bubna · [09:19]

这是我们一直有所回避的一件事,就是为模型提供 API。
This is one thing we’ve kind of stayed away from is providing an API for models
—— Akshat Bubna · [48:34]

接着看

顺着「智能体」挖下去

换个口味