AI基础设施为何必须为Agent体验进化——Modal CTO Akshat Bubna
Why AI Infrastructure must evolve for Agent Experience — Akshat Bubna, Modal CTO
Modal CTO Akshat 与 Vibhu 回顾公司从构建 serverless runtime 起步,到专注 GPU 推理与 agent 体验的历程。Modal 最初为数据工程与突发计算设计,在 ChatGPT 发布前已加入 GPU 支持。其平台通过装饰器将基础设施需求与代码绑定,避免 YAML 编写,支持弹性推理、沙盒与多节点训练。公司已覆盖 17 家云服务商,开源 DFlash 推测解码技术,并推出 Auto Endpoints 以简化模型部署。客户包括 Suno、Runway、Cognition 等,主要面向需要快速扩缩容的 AI 工作负载。
今天我们请到了 Modo 的 CTO Akshat,还有 Vibhu。恭喜你们完成 C 轮融资。谢谢。昨天的派对太棒了。
是啊。
那些照片和周边都很有意思。
我们搞了不少艺术装置,看到我们的产品跟罗丹的作品一起摆在展台上,还挺好玩的。
真不错,真不错。你们刚起步的时候,还不是一家 GPU 推理公司。我是说,也许你们心里有这个想法。跟我们讲讲最初的故事吧。
我其实是通过一位投资人第一次见到 CEO Eric 的。当时 Eric 已经在思考构建一种新的 runtime,他之所以有这个想法,是因为他在想:为什么工作流编排产品这么难用?因为必须在 Kubernetes 上运行。Kubernetes 很难管理,它不是为突发性负载和自定义镜像设计的,开发者体验也很糟糕。
我给新听众补充一下,我们两年前采访过 Eric,里面还有更多关于 Spotify 之类的故事。我其实是在 Data Council 上认识 Eric 的,因为他做了关于你们那个 serverless 容器栈的演讲,那是我第一次觉得:好吧,我得认真对待模型了。但当时还是很模糊,比如:我的数据管道真的需要这些吗?
是啊,我们最初的想法是,如果我们构建一个更好的 runtime,它本身就是一个非常有用的基础组件。Serverless 函数能解决很多问题,比如做 ETL、任务队列、各种突发性处理,事实证明每家公司都有这类需求。但我们也把它看作一个基础组件,可以在上面构建一整套垂直化的产品。所以数据工程可能是第一个方向,但我们也在考虑推理。当时更多是传统的推理,比如计算机视觉、运行 XGBoost 之类的。不过我们在 ChatGPT 发布前一年就把 GPU 加进了产品。
不错。
我们当时没觉得这会是什么大事。
是啊,就像加个 A100 一样。有没有什么早期的关键问题,真正激发了你们去构建这个东西?
主要就是,当时现有的工具没有一个是为出色的开发者体验而设计的。而且我们看到的很多工作负载都有一个趋势——我希望有个更好的词——就是计算密集。它们需要更多资源,所以你得频繁地上下伸缩,而 Kubernetes 是为慢速伸缩和 Web 服务器场景设计的。另外,这些工作负载运行的环境也越来越专业化,有时需要加速器,有时需要不同类型的镜像。这是我们在很多公司都看到的一致现象,这应该就是下一步的方向。
对对对,不错。我不知道这在早期故事里占多大比重,但我在 Temporal 的时候写过一篇关于基础设施、软件定义基础设施之类的文章。
对,就是那个自供给工作负载。
对对对,我自己都记不清那篇文章了。然后你把我放到了你们的首页上。
是啊,我们真的很喜欢那个术语,所以就借用了。
因为你们洞察到,一切都可以用装饰器放在代码旁边,对吧?这在最初的故事里占很大比重,还是只是一个开发者体验层?
那非常重要,因为我们真的不想让人花那么多时间写 YAML。你可以把要做的事情浓缩到代码里,这样就能像操作其他代码一样操作它,构建更富表达力和动态性的东西。所以那一直是很重要的一部分。
那反对意见就是:这是个 DSL。
对。
它是闭源的,我被锁定在 Modal 里了。
我们其实没怎么收到过这种反对意见,因为 Modal 的好处是你可以带上任何已有的代码。当然,DSL 是用来配置你用的是什么硬件、怎么伸缩的,但代码还是你的。这在我们故事里一直很重要。即使现在我们做推理也是如此。
对。
你觉得今天有多少东西还保持不变?比如,如果今天你要构建一个东西,开发者体验显然很重要,但我觉得很多已经变了——直接连上一个 agent,用 Cloud Code,让 Codex 实现工具。现在有很多 agent 原生(agent-native)的基础组件,跟我自己动手做是不一样的,对吧?
我们实际上已经调整了 SDK 团队,让他们思考 agent 体验(agent experience),而不是开发者体验。我们认为适用于开发者体验的那些好处,同样也适用于 agent 体验。为什么让 agent 去读几百个 Kubernetes 文件,写连类型都没有的 YAML?它只需要在装饰器里改几处,就能获得这种自供给 runtime,实时看到改动生效。从我们接触的客户来看,他们发现 Modal 对 agent 来说比在别的底层上操作快得多。
对,因为你们把基础设施需求跟运行它的代码放在一起。那现在的反面论调是:没人再看代码了,所以这没意义了。
是啊,人们确实不看代码了。但我们发现有一件事仍然非常重要,就是可观测性。你的仪表盘好不好用?当然,我们把很多信息推到了 CLI 上,让 agent 自己去调查,但你还是需要人类去解读发生了什么,做判断之类的。我觉得这现在可能比看代码本身更重要。
没错,因为你可以把代码当作黑箱,然后观察它输出的可观测行为,再通过 prompt 去改。所以我觉得,不专门化、而是推出一个新的基础组件并保持通用,这需要一定的克制。别人问你:你们是做什么的?你只能说:我不知道,我们能做这个,也能做那个。
我很好奇,如果我们要问你 Modal 到底是什么,你们做的事情很多——沙箱、GPU、什么都有——你怎么回答?
Modal 是一个云平台,我们从零开始为 AI 应用构建了基础组件。目前它主要覆盖推理、训练、批处理和沙箱工作负载。但我们还在构建更多东西。
我注意到你没提 Web 服务器。所以那种始终在线的大规模 Kubernetes 场景还是有它的位置。
对,绝对有。我们没想跟 Render 这类公司竞争,因为我们的差异化在于那些需要专用计算、需要频繁上下伸缩的工作负载。它们的形态不一样。
我觉得你们很多工作都是跟初创公司一起做的,对吧?他们创新很多,哪怕在你们最近的博客文章里,比如 C 轮融资中提到的那些客户——Cognition、Decagon、Ramp 等等——他们都在跟你们一起创新。这不是 AWS 直接会做的事情。
对,没错。我觉得这又是经典案例。我们团队小,行动快。工程师直接跟客户合作,边做边摸索。
所以我在Cognition的第一周,走进去,看到有人穿着Modal的T恤。我说,你在这儿干嘛?他说,是啊,我就是被派驻到Cog的。
对,那是Peyton。我们派他过去,因为沟通延迟太高了。
是啊,分布式节点嘛,你得放一个节点过去,做同址部署。所以我有直接的亲身经历。三年前我在做Small Developer,灵感来自Cloud One。我记得你当时好像刚让我注册,我就想,我需要一些突发计算资源,就试了试Modal。体验还挺愉快的。后来我好像还出现在你们的董事会上,我喜欢那些分析数据。
对,你在Hacker News上火了,我们流量暴增。我觉得你用Small Developer的方式就是通过Modal函数来跑东西,那确实是个好用例。
是啊,对我来说那就是Cognition的雏形。要是我当时坚持做下去,就像把技术树画出来,你就会觉得,嗯,这大概会发生。
对,他差一点就成功了。
我当时没意识到。
但有趣的是,同一时间我们在跟一群需要沙盒功能的客户聊。那是2023年。
对对对。
所以我们建了——
之后马上推出了一个新API。
对。
是的。
我们在2023年5月就建了沙盒,那时候还没人知道这东西会火。我们发布的第一个例子就是把Small Developer放进一个循环里,让agent能自我迭代。循环现在很难搞,循环很难。
循环是在,这是什么时候,2023年?
对,小雏形。大概是2023年中。
显然,对听众来说,问题是模型当时根本不适合这些场景。它们没有经过后训练来理解循环、自我修正,工具调用虽然有了,但也不太好用。
对,我不记得这个例子里有没有用工具调用,但模型在10次迭代后就会发散,产不出有意义的东西。
是啊。但要是现在跟三年前的自己说,答案就是:收集所有失败案例,建benchmark,再收集所有成功例子,搭RL环境,以100亿美元卖给Meta,再训练一个模型,以600亿美元卖给Elon。这就是——
对,印钞机。
其实关键还是做难的事。
要有那种内在的信念,相信这些东西会变得这么好,确实很难。
现在回头看,简直太明显了。
说得对。
我们当时还在干嘛?我也不知道。总之,那就是你沙盒之旅的开端吧?我觉得它直到去年才真正火起来。中间有几年挺安静的。
没错。
我们的产品价值被严重低估了。我接触Modal的经历是,Charles在加入Modal之前,在一个黑客松上遇到一个人,他坚持要跑一个小模型,但没地方托管。他说,有家叫Modal的公司很酷,能快速启动一个GPU沙盒,把模型扔进去。他们接受Hugging Face链接,直接就能用。即时托管,启动、关闭都很快。它会保持冷启动状态,但几天后跑demo时又能恢复。现在回头看,这些功能今天依然是我们需要的。
对,今天仍然需要。显然,工作负载形态变化很大。我们为大规模生产环境的客户跑东西,重点不是从0扩展到1,而是如何在一个区域内从1000个GPU快速弹性扩展到1500个。问题本质是一样的。
好,那看看Cursor Composer吧。他们每隔几小时就对模型做一次RL。你们有整套的RL推理训练环境。当你看这类工作负载时,基本就是每小时的训练任务,需要快速扩展和缩减数千个GPU,对吧?这就是我们确实需要它的例子。
嗯,实际上我想退一步,聊聊人们现在怎么用Modal。我们最大的用例其实是弹性推理。我们最早找到产品市场契合点的是自定义模型的推理。所以我们当时避开了LLM领域,服务的是像Suno(音频)、Runway(视频)、机器人、计算生物学这类公司,它们在其他地方训练模型,但Modal是最好的黑盒,用于部署和根据流量模式弹性扩展到任意数量的GPU。我们发现它们都有非常不可预测的流量模式,比如昼夜波动,有些日子公司发布新产品,需求会暴增。而且它们部署的不只是一个模型,而是很多不同模型在不同区域。所以自动扩展问题变得更难,因为你得在特定区域内扩展,而这些周期是错开的。不同时间需要在不同区域扩展。
所以这就是我们的领域。这本身就是一个大类别。有不少推理提供商在做这个。Fireworks把它作为一项服务提供,Base10也在语言模型领域找到了自己的 niche,至少目前是这样。
对,我们真正专精的是自动扩展这方面,因为我们发现并非所有提供商都能做到自动扩展。我们在技术层面做得更深,把GPU快照功能集成到了产品里。这样我们可以捕获GPU状态,比如你的Torch编译器模型,做快照,下次冷启动会快得多。所以回到你的问题,这就是为什么推理需要大量突发能力,但人们也会做很多按需训练。比如RL任务,你的rollout是突发性的,就像你说的。人们还会做很多批处理任务。很多公司在正式训练之前,需要数千个GPU来跑编码之类的工作。我觉得这些任务比agent更突发。agent没那么突发,沙盒也是,除非你在做RL。RL主要是突发性的。
对。
对。做rollout时,有时需要10万个沙盒。
对。
我很好奇,你有没有看到持续学习的早期迹象?比如我们的朋友在Ngram最近宣布了类似的东西,他们在尝试做训练。那似乎也是一种不同的工作负载,对吧?如果你24/7做训练,GPU在不同人之间的使用动态会非常奇怪。
但这听起来像是你们会做的事情。正如你所说,我们很幸运能与许多前沿客户合作。Ngram 是我们的客户之一,他们正在利用我们提供的基础组件,尝试以非常有趣的方式使用它们,比如持续学习。随着技术不断进步,如果更多人需要这些功能,其中一部分也可能成为我们产品的一部分。但我们还在观望事态如何发展。
在沙盒之后,你们添加的下一个基础组件是什么?
我想我们在 LLM 推理方面深入了很多,因为我们意识到我们在自动扩缩(auto scaling)方面的一些优势,尤其是在不同区域等场景下,是其他地方不具备的。而我们之前的短板在于,我们没有直接处理模型本身,它就像一个黑箱。后来我们意识到,通过拥有优秀的人才来研究这一切,我们实际上可以达到前沿水平的模型性能。而且我们最近开源了很多工作,比如我们分享了 DFlash 的工作,这是一种基于块的推测器(block-based speculator),我们已经全部开源了。所以通过使用开源的 DFlash,你可以获得与使用专有提供商相同的性能。接下来我们在考虑的是——
我觉得这篇博客文章也很有意思,对吧?你在里面提出了一个观点,或者说不是观点,而是说明了推测解码(speculative decoding)到底有多有效。你有什么想指出的,关于人们应该了解的内容吗?
当然。简单总结一下,首先得解释清楚什么是推测解码。
对,我也这么想。我们之前聊过 EGO、Hydra 这些东西,但那大概是两年前的事了。
再解释一遍也无妨,对吧?推测解码就是,你有一个较小的模型,称为草稿模型(draft model),它比大模型提前预测 token,然后大模型来验证所有这些预测的 token。它之所以更快,是因为如果你一次只预测一个 token,你会受到内存带宽的限制。但如果你能批量验证草稿模型的输出,那么计算效率会高得多,速度也更快。只要你的草稿模型能产生大量可被接受的 token(这被称为接受长度),你就能获得原始模型速度的数倍提升。这就是我们在这里强调的。很多人都在说我们让 kernel 更快了之类的,但优化 kernel 通常只能带来几个百分点的提升。而增加步长(step length)则能带来 2 到 4 倍的乘法级加速。没错,就是这样。
而且对性能没有太大影响。对,我想可能是这样。
我的意思是,你实际上在运行第二个模型,对吧?所以可能在计算上更昂贵,但我指的是质量性能。
但我觉得——
质量性能不会有下降,因为你永远不会接受一个过长的 token。
应该会更好,或者至少持平。
没错。所以我们一直在研究 DFlash,这是一种基于块的推测器。它不是一次预测一个 token,而是一次预测一个块。我们也在开源这方面的工作。接下来我们要做的,是帮助人们训练推测器和定制模型。传统上,这非常依赖 FDE(现场部署工程师),需要与客户合作并帮助他们完成。我们的愿景是——这也是我们推出 Auto Endpoints 的原因——我们希望让每个人都能获得前沿水平的性能。我们在公告中稍微透露了一下。接下来我们要推出的功能是:当你运行一个 AutoEndpoint 时,我们会进行流量镜像……你想解释一下什么是 AutoEndpoints 吗?好的。简单来说,这又回到了 Modal 的理念:你可以直接接触代码,但有时人们其实不想碰代码,他们只想用一个开箱即用、具备 Modal 所有优秀性能和可扩展性的端点。所以我们让这件事变得更简单了:通过 UI 或 CLI 创建一个端点,它已经内置了我们之前提到的所有优化,比如 DFlash 之类的东西。而且完全透明,我们会把代码给你,你可以自己运行。如果你愿意,还可以完全融入 Modal 的完整体验中——我们看到,随着用户越来越专业,他们确实想调整模型、进行微调。这些你仍然可以做到。它不是黑箱。另外,正如我们在文章后面透露的,下一步是:我们如何在此基础上为你提供更多价值,比如让你的草稿模型随着数据分布的变化而自动演进,而无需与任何人沟通?
我想直接理解一下。显然,你们有 GPU,有一个兼容的端点,可以服务 OpenModel。如果有人自己来做这件事,你们提供的增量价值是什么?你们做了很多开源工作,在高效推理方面贡献很大。这跟比如我拿同一个模型(GLM 5.2 FP8),用现成的推理引擎(VLM、SCALANG),用类似容量和成本的算力,有什么区别?除了扩缩方面的优势,接入这样的服务能带来什么增量?
这挺有意思的,因为我们采取的方式是开源我们的贡献并向上游提交。我们与 SG Lang 团队密切合作。我们实际上希望我们团队提出的改进能够出现在开源版本中,供其他人使用,即使不在 Modal 上。对我们的好处是,我们有一个拥有深厚专业知识的团队,如果你遇到某些问题,我们的团队可以优先帮你获得那样的性能。另外,使用这些端点,我们的弹性比任何人都强,就像你说的,你可以真正缩到零,真正应对突发流量。在实践中,这对人们来说比单纯找 GPU 并在上面跑模型代码重要得多。
是的,我得说,这其实没那么简单——就像我说的,说起来容易做起来难。对,我觉得对普通人来说,要快速验证不同的组合还是挺难的,因为你可以做的组合太多了。
这些权衡在表面上并不明显。对,不仅仅是这个。我认为运行生产级推理本身就是一个很难的基础设施问题。即使不考虑自动扩缩,还要控制尾延迟(tail latency),确保每个请求至少被投递一次等等。
在这方面你可以做很多创新。我觉得很有意思的是,你们开始涉足——随着你们成为一个完整的云平台,你们开始进入别人的地盘了。嗯哼。你们不会做什么?
我们想跟随用户的脚步,确保他们能获得一个所有组件都协同工作的平台。所以目前我们专注于模型生命周期和 agent 生命周期,也就是从数据准备到训练再到推理。此外,如果我想部署一个后台 agent,比如沙盒、持久化存储,以及其他很多东西。
我们和做 OpenInspect 的 Cole 聊过。当然,RealInspect 也跑在 Modal 上。
是的,RampInspect 就是一个很好的后台 agent 例子,它之所以成功,是因为能够利用快照和快速扩缩容这类基础能力,让整个系统响应迅速、运行流畅。
没错,这就是 RAMP 的新任 CTO 了。Rahul,真的很有意思。我觉得大家都非常乐观。我还有一个反思是,我最初并没有——因为显然我认识你们的时候,你们在 GPU 这块涉足不深,而现在你们完全专注于推理。今年 GTC 上 Jensen 的主题演讲中,我特别关注的一个点就是我们所说的推理拐点,对吧?比如在 AI 工作负载或机器学习工作负载中,以前大概是 8:1 的 GPU 对 CPU 比例,现在更像是 1:1,这很有意思——因为 agent 基本上大量阻塞或调用到 CPU 密集型任务上,实际的瓶颈在 GPU 和 CPU 之间来回切换的频率比以前高得多。以前是全 GPU,偶尔用 CPU。现在是 GPU 和 CPU 持续交替,你必须把所有东西都放在一起。
是的。这其实也是我们看到的 Modal 的一个吸引人之处——我们构建了一个覆盖 17 家云服务商的计算资源池。所以我们非常擅长在全球各种云资源上运行。
你们没有自己的数据中心?
我们没有自己的数据中心。我们只是运行在很多 NeoCloud 和裸金属服务商之上。
问号?对,对,你算了一下,然后想,临界点在哪里,你会说——
嗯,这是个好问题。部分原因是,我们把自己的差异化优势放在软件层,轻资产运营并专注于软件能让我们快速前进。到目前为止效果不错,因为有很多人在建数据中心,我们可以和他们有效合作,再次专注于让我们与众不同的东西。
对,17 家有时候会让你接触到本地服务商。最有趣的是哪家?
实际上 Neo Cloud 比你想象的要多得多,它们的可靠性水平各不相同。所以我们投入了大量时间在之上构建自己的可靠性层。如果 GPU 掉线或发生什么情况,用户工作负载不会受到影响。这实际上让我们能利用比用户自己多得多的资源。
这很有用,因为现在大家都知道你在哪一层,你基本上是在优化成为所有云的超级云。对,就是这个想法。
所以我想当你提到共置时,另一个有趣的事情是,我们看到有人来找我们,当他们想要非常特定位置的 CPU 或 GPU 时,比如他们想要——
哦,固定在欧盟?
没错,或者欧盟、美国、澳大利亚。
是数据本地化还是性能原因?
要么是数据本地化,要么是延迟。比如他们想在 Modal 中运行沙箱,希望它们彼此紧邻。
对,那很容易。这在所有这些事情中都很重要。所以你们有点意外地——我不知道是不是意外——构建了 agent 表达自己的完美基础能力。然后几乎很有趣的是,每一个额外的开发都只是涉及更多的文件系统、更多的 CPU,都是你们已经拥有的东西。我不太清楚有没有什么有趣的网络使用场景,但你们在网络方面也做了不错的工作。
是的,完全正确。我们基本上就是把计算、存储和网络拿过来,在那层上构建人们需要的东西。我们看到一些有趣的网络需求正在出现。一个是人们实际上想要联网的沙箱。所以我们有——
像 Docker 集群那种?抱歉,Docker Swarm。靠,叫什么来着?Compose。类似 Compose 的东西。
对,实际上如果你想要 Docker Compose,我们的沙箱现在支持一种叫 sidecar 的东西。所以一个沙箱实际上是一个容器 pod,你可以在一个沙箱里运行多个容器。这也很有用,因为回到网络问题,人们想要对沙箱的出站网络有更多控制。比如他们可能想运行一个中间人代理来记录 RL 的日志,或者控制出站到某个域的方式,注入凭证。所以我们不得不自己构建了很多这类东西。但有时人们还希望跨多个节点的沙箱能互相通信,这是我们看到的一个新兴需求。我们出于不同的原因已经支持了这一点。嗯,我们看看它会不会稳定下来。
就像开放 socket?这直接就是 mTLS 吧。
我们确实支持,你可以在沙箱内暴露一个隧道。然后你可以把它暴露给公共互联网,或者在上面加一个 HTTP 认证层。但我们还有一个叫 I6PN 的东西,我们还没聊过,这是一个使用 IPv6 地址的覆盖网络。所以如果 Modal 容器在同一个工作空间内,启用这个功能后,它们可以用这个私有 IPv6 地址互相寻址,其他人不行。这有点像容器的私有网络。我们构建它是因为我们的分布式训练产品需要这个基础能力。所以我们还有另一个功能,你可以给函数加一个装饰器,就能得到一个 GPU 集群,它们有 RDMA 网络。这样你就可以运行一个真正无服务器的分布式训练任务。我们为此做了覆盖网络。但后来我们看到人们出于其他原因在使用它,我很好奇人们会用它做什么。
构建基础能力,然后让人们自己去探索,对吧?
没错。放出一个挺有意思的——
他们读了文档,然后想,让我用它来做点我们从未打算做的事。
这甚至不在我们的文档页面上。人们不知怎么找到了它,然后就在用。哈。
我是说,你描述 RDMA 和 TCP 的方式,非常清晰,但光是 RL 在规模上的传输速度变化,嗯,你已经有这个功能了。我敢肯定有人在你们正式推出之前就发现它效率更高了,对吧?
是的。不过严格来说,覆盖网络实际上是 TCP 覆盖网络。我们之所以需要它,是因为在之上建立 RDMA 网络之前,需要用 TCP 来做 RDMA 的密钥交换。但后来人们发现了 TCP 部分。
我跟你说,这对我来说是一个顿悟时刻。因为我审阅了 2200 份世界博览会的投稿。然后我收到了 John Osterholt 的投稿。你认识 John Osterhage 吗?名字听起来耳熟。他发表过——他是一位知名教授,出版了很多有趣的软件设计书籍。这是他选择提交的演讲。主题是 RDMA 和推理。我当时想,你不会想到这位操作系统领域的专家会关心 RDMA。
我觉得这很合理,因为——这就是云,对吧?是的。就像你移动 KV 缓存的方式,以及你能多高效地完成它,在强化学习中把权重从训练 GPU 转移到推理 GPU 的效率,这里面有很多自由度,本质上就是一个关于移动内存和调度的系统问题。
这说明我对网络相关知识的理解有多初级。这算是 WireGuard 的领域吗?
不太一样。算是相关领域?那就解释一下吧。当然,当然。
我们怎么在 GPU 之间移动内存?
抱歉。对,是内存。抱歉,我刚才说的更多是,可能五分钟前我提到你搭建的私有 IPv6 地址。那基本上就是一个 VPN。
是的,有点像 VPN。对,WireGuard 是,嗯,你说得对。它确实是,嗯,你已经转到同一领域的类似话题了。WireGuard 是加密的,而这个不需要加密。
对,它不加密。
嗯,这是主要区别。这是 TCP,我们有 eBPF 程序,会根据你是否被允许连接来拒绝或允许 TCP 连接。
以前需要完整的 sidecar,但现在 Linux 内核里有了 eBPF。是的。我不知道这是不是个自然的后续话题,我对分布式训练的怀疑是,人们花很多钱买线缆来连接 GPU,但即使这样也不够快,那才是瓶颈。你的网络够快吗?
嗯,我猜你说的是完全分布式训练,比如 Dailoco 那种跨数据中心的。
对,那是极端情况。你算是中间状态,而其他人会在他们实际的数据中心里用 Mellanox 线缆。
当你在 Modal 上运行多节点训练时,RDMA,嗯,我觉得 Mellanox 或者 InfiniBand,也是一种 RDMA,但基本上它是一种绕过 TCP 网络栈、在节点之间更快传输数据的方式。我们内部网络大概是每秒 3 太比特,这是所需的标准。好的。
所以我误解了你工作的栈是哪一层。
TCP 上 50 Gbps,RDMA 上 3.2 Tbps。好的。
嗯,非常令人印象深刻的工作。所以你们实际上是把 Modal 的理念扩展到了训练集群。是的。
对。我们显然不是冲着大规模预训练去的。我们构建多节点训练的目标是,我们看到很多小规模的后训练场景,比如人们在对中等规模的 Qwen 模型做后训练,以提高推理质量。这非常适合那种场景。
对,这也是我对很多实验室如何在后训练中探索分支、最终合并发现的印象。
是的,我们看到的另一个多节点训练用例是,即使你有一个大集群,你的研究人员仍然在做小规模运行,而弹性在那里更重要。
对,这实际上是当前自动研究(auto research)的瓶颈。基本上你需要给模型分配一些 GPU。
我们有一篇关于自动研究的博客文章,Modal 实际上很适合做这个。
所以我的印象是自动研究涵盖很多内容,就像 Andrej 提出的概念。现在还是科学展览阶段,对吧?
实际上,我不知道有多少人真的在做这个。我也这么想。你会知道的。内部,训练和推理团队都经常用到这种通用模式。比如我们有一个内部仓库叫 AutoInference,基本上我们用这个框架自动化了 FDE 工作,代理会启动一系列不同的扫描。它甚至会运行 NVIDIA 的 Inside Profiler,调整配置,然后找到最优方案。它会更换你的 GPU,从 H200 换到 B200,效果确实很好。不错。
顺便说一句,我很欣赏你们的 FDE 如此技术化,以至于需要做这些事。这和别人的 FDE 很不一样。对,对。
我们的 FDE 团队本质上就是应用推理研究员或应用训练研究员。
有人告诉我,他们既要能构建,也要能销售。——他们需要销售吗,还是说他们只是擅长,属于售后那种?确实如此。
能够与客户有效沟通和互动很重要。他们都想要同样的东西。对,但这不完全是销售性质的事。我们会给他们搭配解决方案架构师,后者更偏向售前。
好,我们再花点时间聊聊自动研究。这是我今年重点关注的方向。它会走向哪里?你知道,人们已经探索得够多了。有各种漂亮的图表显示改进、改进,然后趋于平稳,接着你找到下一个突破点。这基本上算是比普通训练高一个抽象层次吗?我们是这么理解的吗,还是你有不同看法?模型级训练对比 AI 驱动的超参数搜索。有人称之为神经架构搜索之类的,对吧?
嗯。好吧,我看到人们用它做的事情完全不在架构层面。基本上就是调整参数,但这是由某种模型直觉引导的超参数扫描。所以它比其他任何扫描方式都高效得多。
对,问题只在于你想把算力花在哪里,因为你可以无限投钱进去,然后总能搞出点东西来。无限猴子定理。嗯,对模型来说很好。而且我认为代理能够启动其他代理、搭建自己的基础设施也很重要。对你们非常有利。LLM 生成 Modal 代码的能力有多强?你知道,现有预训练 LLM 的好处是你就在数据里。
对,它们实际上出奇地好。我觉得在 Cloud 4 之前,它们不行。但现在它们能直接一次性生成。我们正在考虑发布一个 Modal 基准测试,针对 LLM 还做不到的更难的任务。比如什么例子?我认为有时候代理在没有正确指导和技能的情况下,会难以使用我们其他的可观测性工具。比如,某个东西失败了,你怎么查看日志然后更新正确的内容?这需要一些推理。但它们能一次性完成,比如——
对,你只需要给它加个技能。
对,所以我们现在有一个模型技能,实际上这也是我们构建这个模型基准测试的原因之一。就是为了发现这类问题,然后在我们——对,你调整技能。
对。不,不,我是说,这很好。你们面临资源短缺吗?我们经常谈 GPU 短缺,但还有 CPU、内存。
对。我们增长很快,这意味着我们必须更主动地做好容量规划。对。所以我们有——
顺便说一句,这简直是 MBA 的梦想工作,就是规划这些东西。我记得上次我们聊过这个。对。
嗯,我们有一个非常能干的团队,职位叫计算策略。所以如果有人正在听,或者想从事这方面的工作。
算力策略?对对。普通人管它叫财务规划与分析之类的。
嗯,其实不止,这不只是财务规划与分析。这里面有很多有趣的财务问题,比如一年期和三年期预留的混合比例怎么定?我们如何预测自己的容量?尤其是我们的容量在不同GPU型号和不同区域之间具有很强的可替代性,基本上你得做大量建模,还得对供应链的演变有自己的判断,然后基于此下注。
Token经济学。这可能不算一个真正的观点,但我一直在想其他行业——我总在想,我们肯定不是第一个遇到这类问题的。还有哪些行业有过类似情况?我想到了航空公司,他们要对冲燃油成本。西南航空因为做了一次很成功的燃油对冲,长期成本比其他公司低很多。嗯,我之前没想过这个。
我们现在也处在一个有趣的时期——
是的,对我们来说,整个算力业务很大程度上也关乎出色的容量管理。这是实现良好单位经济性的关键,而且长期来看,也是为客户创造更多价值的方式。比如,我们正在开发的一个功能是,如果客户不关心延迟,他们可以获得更便宜的价格,结果在24小时内返回,本质上就是一个批处理层级。这些是我们能掌控的杠杆,因为我们控制着整个堆栈和调度等,可以给用户提供足够的——
对,我觉得这些功能不太受欢迎,像那些前沿实验室都有这类API,但它们的使用率远不及应有的水平。
我们看到这类需求其实并非来自大语言模型,尽管有时人们想在那里跑评估或做合成数据准备,这说得通。但更多来自非大语言模型公司,比如做计算生物学的,他们跑的是大型批处理任务,不关心什么时候拿到结果。
对。而且这也类似于"停止问题"——这个任务能按时完成吗?
可以设定边界。你可以给用户提供预估时间。是的。
我觉得有意思的是Modal的下一阶段。既然你已经站稳脚跟,成为这些领先公司中知名的算力玩家,人们对你有什么期待?你办过推理发布周,我们也聊过一些发布内容。还有什么?人们还应该知道什么?
我们在构建能让用户生活更轻松的基元。比如,LM推理方面,成千上万的公司会进行后训练并部署开源模型做推理。所以我们正在思考最佳的产品形态。这涉及从我们的训练平台到能提供前沿性能的端点。同样,无需与人沟通,其他垂直领域的情况会有所不同。比如,我们也看到很多实时音视频需求,这就是为什么我们在开发带故障转移的区域路由。这样GPU可以尽可能靠近用户,实现视频流等低延迟。在agent方面,我们仍在与客户紧密合作,因为他们的需求变化太快。除了沙盒和持久化文件系统,人们在构建生产级agent时还需要很多其他东西。所以我们正在考虑这些其他组件。
我想问这些"其他东西"是什么。
嗯,我现在可能应该分享一下。
我觉得,我经常思考云的核心组件,你提到了计算、存储、网络。嗯。到目前为止,对我来说没问题。前几代云都还好。但agent有什么本质不同,需要新的权限层级?很多人——我就随便说说,希望能激发点灵感。现在的新层级就像Claude Code那样,通过命令危险地跳过权限或允许列表。有时候他们会说,好吧,我们有自适应思考模式,你相信我,我来做决定。是这样吗?基本上就是LLM中介的权限。你把它和一个目标循环起来,让它自己跑。
对。
我对于在沙盒层面使用LLM中介的权限持怀疑态度,因为你确实需要硬边界。否则,显然有人可以窃取数据。
但这可能是老派思维。也许我们是恐龙。也许AI操作系统或LLM操作系统的内核就是个LLM。这让你不舒服。对,我也不舒服。但这就是信任LLM的本质。想象一个完美的球形奶牛LLM。让它跑。也许吧。我想测试边界。显然我不相信这个,但我想看看我错在哪里,因为这是非共识。
是的,我认为你总是需要硬护栏,同时可以搭配软护栏。那将是完全无中介的。
我想以你对Modal之外生态的评论来结尾。托管agent,人人都有。Gemini、OpenAI Cloud,对你很有用,但这也是他们开始进入你领域的方式。怎么回事?
是的,我们很高兴与Anthropic以及其他一些基础实验室合作,不会透露我们还在和谁合作。我们认为,托管agent是开始构建agent的好起点。但当你构建更生产级的东西时,比如像Ramp这样的公司,他们也在我们这里运行自己的会计agent。对于面向外部的agent,你需要对计算基元有更多控制,比如如何处理agent能访问的不同文件,如何快照和恢复,如何控制网络。也许你需要GPU。到了那个阶段,你会想要一个专门的沙盒提供商来提供这些。这就是我们试图扮演的角色。我们对于框架本身没有偏好,不管它是在云托管agent中运行并连接到Modal沙盒,还是直接在Modal沙盒中运行框架。我们会看人们最终会如何选择。
对。你对元框架有什么看法?它们只是这些东西之上的另一层。
你是指OpenPy和——
OpenPy是一个。我记得Vercel也有一个,名字我忘了。Fritz Schott也有一个。最近的是Databricks的Omnigen。这些都是某种元框架,有点像伪agent云之类的东西。
我个人没怎么玩过它们。用它们构建过agent。
我的意思是,只要消耗更多基础设施,对Modal都是利好。
这就是我们专注于基础设施层的原因。这是我们的相对优势所在,也是——
这是个很难解决的问题。是啊,我作为基础设施领域的人,不是像你那么深入,但总的来说,这是基础设施领域最激动人心的时期。之前其实挺无聊的,很难让人对数据基础设施提起兴趣。比如Eric在Data Council上演讲,大家看视频,就像"看我启动了多少个沙盒",根本没人关心。现在大家都关心了。确实如此。
这确实是个激动人心的时期。我认为很大程度上是因为这些东西需要的规模太大了。
我觉得你的很多举措和产品方向,事后看来都很有道理,这是最好的情况。但我自己未必能想到这些。我们需要预测。
我觉得有很多东西你根本看不到,对吧?比如你有批处理、语音、多模态,但还有什么?我们接下来还会有什么?你觉得趋势会往哪走?
总的来说,很明显正在发生巨大的转变。有一件事对人们来说不那么明显,因为LLM推理被讨论得太多,而且我们也和很多做药物发现和计算生物学的公司合作,比如China Discovery World。那里可能会发生大事。我们还和很多机器人公司合作,他们实际上在积极部署机器人,并且取得了不错的成果。
有离线模型吗?有没有本地部署、离线之类的版本?没有,我们通常只做云端。好吧。但你说的意思是,因为你专注于原语,而且这些原语很好,所以你在所有这些领域都找到了用例。这实际上可能让你在一定程度上摆脱了对LLM的依赖。确实如此。
我们的目标不仅仅是服务LLM和FaaS市场。
你们网站上有很多东西,音频、一键通话。
是的,我们在播客里都聊过。
确实有很多。有Q-Tai TTS定制,哦,Chatterbox。还有定制化的Whisper。
这个界面让我想起了一个倒下的竞争对手,Replicate。你对它发生了什么有什么复盘吗?
我们一直避免的一件事就是提供模型API,因为我认为提供模型API——其中一部分最终服务于一个非常业余的市场,粘性很低。而我们一直想为那些构建产品的公司服务,它们需要比单纯API更灵活的方案。
你可以为模型构建一个API,这很明显,但你说的意思是,你可以把它包装成一个功能更完整的后端来运行。
是的,实际上我们所有的示例都不是"启动这个模型,给你一个API token,用吧"。它们实际上都是代码。所以重点是,这只是一个示例,一个入门代码。但你可以随意调整。如果你是一家构建产品的公司,比如计算生物学之类的。
我想为听众梳理一下,什么时候它不再只是"你只是一个API调用,你只是一个API的包装器",而变成你所说的产品?那个层次是什么?显然代码行数更多,但除此之外,人们添加了什么实质内容,使它有资格成为更高级的东西?
我认为存在一定的选择效应,很多想深入这个层次的公司可能正在构建更具差异化的东西。举个例子,在LM推理方面,最初我们和那些构建自己后训练框架的公司合作,或者RAMP早期在训练自己的tokenizer,并替换Llama中的tokenizer等等。我不是说那一定成功。更好的例子是Suno,因为Suno不用Modal做训练。
就是上过我们播客的Mikey。
但他们用Modal做所有推理,因为他们有完全自定义的模型架构,这意味着他们必须在代码层面调整那些不是API的东西。这也很有意思。
就像我们最近请到的xAI Groq团队的Ethan,他预测视频生成的下一阶段不是更好的视频模型,而是更好的模型或agent来编排视频模型。
哦,一个能使用工具和编写代码的语言模型骨干。
是的,我可以用Groq生成6秒或10秒的视频,但我想要6分钟的视频,而且我不会通过常规视频生成来实现。
这很有意思。实际上,我们有GPU沙盒,最近看到一些公司在做视频操作的agent——
给它FFmpeg,让它做任何事。运行FFmpeg,但这还不够。你需要给它Adobe。
是的,我之前没把它和视频制作联系起来。在我脑子里,这些东西更偏向编辑方向。
我经常思考这个问题。显然。
所以——Luma Agent就是视频制作的一个版本,但你知道,它是一次性的。
我想听听你对最近一些新闻的快速看法,看看你有没有什么有趣的见解。Gitpod,有点像,你知道,不同的市场。他们属于CI/CD市场,但技术上非常令人印象深刻。我不知道你有没有真正研究过他们。
是的,我们团队的人和Gitpod团队聊过,他们技术上非常强。实际上,Modal对CI市场也非常看好,因为随着更多agent、编码agent的出现,它们会运行更多的CI,而那里的原语可以做得更好。
我觉得有很多CI是浪费的。那么,改进agent的CI最关键的点是什么?
嗯,CI中有很多时间浪费在准备工件、依赖项之类的事情上。构建系统当然有帮助。但如果你有像内存快照和恢复这样的原语,能不能更高效地运行CI?哦,好吧。
有意思。这其实是另一种按需计算。
没错。它需要同样的平台。
所以,对于不了解的人,Gitpod改名为ONA了。这整件事是这样的。我其实在Cognition那边半开玩笑地拉过警报,我说你们应该认真对待这些人,因为他们的基础设施非常好。然后他们加入了OpenAI,很可能我们会看到ONA团队推出的Codex Cloud,我觉得这会非常非常强大。像这样的团队,能够设置网络和安全边界,让每个agent拥有自己的云,这基本上就是你在做的事情。我只是想试着找出类比或差异,如果你研究过他们的话,哲学上的区别是什么?
我感觉他们可能没在正确的时间进入正确的市场,因为我们其实也有点运气成分——比如那些用例正好爆发了,需要更像沙盒形态的东西。我的直觉是,嗯,就是这样。
沙盒确实有用,比如 CRCD 就是沙盒化。没错,区别在于构建时沙盒(build-time sandboxes)和运行时沙盒(runtime sandboxes),而事实证明运行时沙盒更好。
对,区别在于运行时沙盒有不同的配置面,比如如何配置镜像、如何附加持久化存储等。确实很有意思。
还有其他人,比如 Astro、OpenAI,以及 Python 工具生态圈的人。你仍然看好基于 Python 构建吗?另外最近 Modular 被 Qualcomm 收购了。你有什么看法?
嗯,我们最初把 Python 作为第一个 SDK 语言,因为那是人们做数据和机器学习用的语言。现在他们也有了 Go 和 TypeScript 的 SDK。我们的运行时完全与语言无关,是用 Rust 写的,但绝不绑定 Python。在推理和训练方面,人们仍然非常依赖 Python。有趣的是,在 agent 相关的东西上,人们用我们的 TypeScript SDK 更多,因为他们实际上不需要做任何涉及机器学习的事情。我认为我们短期内不需要超越这个范围,因为 Python 和 TypeScript 仍然占主导地位。
世界上最后两种语言。
没错。就这些了。嗯,还有英语和提示词(prompting)。
英语和提示词。我偶尔会和那些试图构建新语言的人聊天。他们甚至说,比如 OpenAI 的董事长 Bret Taylor 就认为我们需要一种用于大语言模型的新语言。但至今没人搞出来。我一直在观察。Python 和 TypeScript 有大量数据支持,但它们作为语言本身也非常不完美。最后我想说,Modal 曾经在开发者体验上下了大赌注,而你们把团队转向了 agent 体验。现在是不是光靠更好的 agent 体验就能建立整个公司、独角兽甚至多个独角兽?还需要别的吗?
这是我们身份的重要部分。不仅仅是战术层面的问题,比如 agent 如何使用 CLI,还包括启动新东西有多容易?比如你想快速上线一个新服务并投入生产,迭代时间是多少?实际上,这对人们来说很重要,我认为它会继续重要下去。
人们构建东西的速度越来越快,如果你能给他们快速完成且没有额外负担的方法,那么对我来说,争论点在于:开发者体验和 agent 体验之间,你是否做了根本不同的处理?你似乎认为它们很相似,就像余弦一样。
我其实还写过一篇关于这个的博客文章。
余弦相似度大概 0.9 左右。
对,基本上对我们来说,主要变化是,正如我所说,我们构建了 Modal Bench 这个基准测试,用来观察 agent 的不足之处,然后直接在产品中增加相应的功能面。如果它们需要某个东西,也许那东西就该是一个 CLI。
它们会幻觉出自己的功能。没错。
有时候这很有道理。如果它们需要某个东西,那就是产品反馈,直接给它们。然后,实际上,我们以前只在 UI 里有日志和指标,现在也把这些都移到了 CLI 里。这样就能以那种形式访问了。就这么简单。
太棒了。非常感谢。是的,谢谢。这真是一次很好的更新,我能理解你们为什么能取得这么大的成功。确实专注,而且执行得也很好。谢谢。不过我们还有很长的路要走。好的,谢谢。
好的。