音乐声响起,随后说道:“好,让我们开始吧。嗨,我叫阿卜杜勒(Abdul),来自 Modular 公司。今天我要谈谈什么是 Modula,以及它为您带来的价值。”
正如您可能所知,目前对算力的需求极其紧迫,且短期内看不到缓解的迹象。许多资源已被预订至未来几年。但作为结果,硬件领域出现了一种爆发式增长,我们称之为“寒武纪大爆炸”。英伟达提供了数代 GPU,英特尔、ARM、苹果等厂商的产品也悉数登场。它们各自覆盖了一些细分领域。
但问题在于,您必须思考如何为所有这些系统编写程序。如果审视当前的软件生态,它同样是一团糟。这是因为许多硬件选择从底层向上渗透至整个技术栈中。
这是一张展示 VLM 如何同时支持英伟达和 AMD 的图表。如果加入额外的硬件,这张图会变得更加复杂难懂。如今,人们实际上不仅使用 VLM 进行部署,还广泛使用 SGlang、TRTLLM、LlamaCPP 等工具。
在 Modular,我们认为这简直是一团混乱。因此,我们决定从头开始重新架构整个技术栈,并构建一个统一的层级来整合所有硬件,使一切都能在我们的栈上运行。
为了实现这一目标,您必须回归第一性原理,构建一个完整的软件栈,并始终将可移植性、性能和可编程性纳入考量。在最底层,我们开发了 Mojo 这一异构编程语言,它既面向人工智能领域,也适用于通用编程。
它的风格具有 Python 特色。因此,如今熟悉 Python 的人基本上已经掌握了 Mojo 的 90%。我们构建了这门语言,它旨在同时支持 CPU、GPU 以及我们的所有加速器。
在此基础上,我们利用 Mojo 构建了 Max——我们的推理引擎。它为您提供针对多种模态(如图像、视频、语音以及文本)的 AI 推理服务。我们在底层构建了所有基于 Mojo 的内核。
最后,当今的 AI 推理是分布式的。因此,您实际上还需要一个云解决方案:您需要选择将模型部署在哪种硬件上,如何将不同的用户请求路由到不同的机器上。
您还需要执行 KV 缓存卸载以及分布式推理和去中心化推理,以便以用户期望的速度和成本来服务模型。
综上所述,我们构建了一个完全可编程的 Modular 平台。它是硬件抽象化的,性能卓越(Soda Perf),并且可以同时在本地部署以及在我们的云平台上运行。
如果您拥有云端设置,实际上您可以下载 Modular Cloud 并在那里部署它。现在让我逐一深入探讨技术栈的每个部分。首先是 Mojo,正如我之前提到的,Mojo 是一种具有 Python 风格的系统编程语言。
它类似于 C++、Rust 或 CUDA C++。关键在于,它能够实现在不同加速器上的可编程性。它速度极快,在性能方面实际上能与 CUDA 相媲美。您可以将其视为使用类 Python 编程语言来编写 CPU 和 GPU 程序的最佳方式。
在思考 Mojo 时,您可以将其分为三个不同的象限:可用性、性能和可移植性。ROCm、KOD 和 CUDA 提供了巨大的性能,但牺牲了可用性和可编程性。如今许多人都使用代理来编程这些系统。
OpenCL 在几年前曾很流行,它提供了极佳的可移植性,但在性能和可用性上有所牺牲。Triton 处于一个良好的甜蜜点,提供了约 70% 的性能,同时兼顾了可移植性和可用性。
而 Mojo 正试图填补这一甜蜜点的空白,实现两全其美。它提供了抽象层,允许您编写可移植且易于使用的内核,同时提供底层访问权限以获取最大性能。
我们实际上开源了几乎所有的内核,因此您可以测试这些内容并在自己的机器上进行基准测试。我们在英伟达、AMD 和其他硬件上拥有最先进的内核。
为了说明什么是“最先进”,这意味着我们的矩阵乘法比 cuBLAS、hipBLAS 等现有库都要快。在某些情况下,不仅快了 1%,甚至快了 2%。我们拥有最快的注意力机制内核,比 Flash Attention 以及 AI it 等更快。
大约一个月前我们宣布了一件事:Mojo 1.0,即我们的 API 稳定化。我们将在未来几个月内发布 Mojo 1.0。同时,我们也将在未来几个月内开源 Mojo。
在 Mojo 之上是 Max。Max 试图解决 PyTorch 早期做出的一些假设问题。PyTorch 已有约十年历史,它并非为当今的生成式 AI(GenAI)推理而设计。
因此,出现了 VLM 和 SGlang 等工具来填补这一空白,提供 KV 缓存、分页管理等功能。但这使得整个 PyTorch 生态系统变得复杂化。许多人并不直接使用原生 PyTorch,而是转向这些上层工具层。
因此,我们思考了一种新方法,称之为 Max 框架。它从头开始构建,采用了最佳技术和最先进的图编译器以及即时模式执行(eager mode execution)。
它在设备间具有可移植性,能够理解您的 Mojo 程序以进行新颖的融合操作,并为您提供在常规 PyTorch 中无法实现的最高性能和部署能力。
与其他技术栈相比,这是一个单一的技术栈,允许您在同一个连贯的系统中服务、开发模型以及优化一切。在 Max 内部,我们支持成千上万的模型,实际上是数千种架构——从 Gemma、Mistral 到 MiniMax-3 再到 GLM。
您能想到的任何模型实际上都在 Max 中得到支持,并且它拥有与当今标准相同的接口。因此,我们还提供开放 AI 端点供您在栈内使用。
如果您熟悉 PyTorch 编程,右侧或左侧的图示不会与您的心理模型有巨大差异。您可以按预期构建模型,导入模块。开发模型的编程语言是 Python。因此非常熟悉……
……以及各位,你们可以在构建的过程中组合各种功能。我们还支持即时执行(eager execution),以便进行调试。现在,人们必须意识到的一点是,现代大型语言模型(LLM)通常在不同的 GPU 上运行,在许多情况下甚至跨多个节点。因此,Max API 提供了一种方式,让你们能够从 API 内部编程多 GPU 系统以及多节点系统。这样模型就能原生支持跨不同 GPU 和不同节点的运行,而且这也可以是异构的。所以没什么能阻止你说“预填充(prefill)在硬件 X 上,解码(decode)在硬件 Y 上”。
最后,在所有这些之上层叠的是 Modular Cloud。正如我提到的,今天的 AI 推理是分布式的,它在许多不同的机器上运行,并且具有异构性。因此我们提供了 Modular Cloud,它是一个性能原生的平台——我们可以把它看作是一个“玻璃盒”,因为你们可以在端点内,在 Max、Mojo 以及两者之间的所有地方,实际调整对所有可用的变量。它既提供端点部署,也支持自带云(BYOC)部署。
我们还有一个 Modular Cloud Lab,允许你们实验所有这些不同的参数,并选择针对该模型或基于您的工作负载的最佳性能前沿点。至于用户界面(UI),如果您熟悉任何云提供商,那应该相当熟悉。您只需访问网站,点击选择要运行的模型,获取 API 密钥,然后将其插入您的 HTTP 请求中即可运行。
您可以拥有专用端点,我们也可以为您托管自定义模型。在许多情况下,人们已经微调了模型或带有自己定制推测解码器的模型,我们也能为您做到这一点。那么,为什么大家关心这一切呢?这涉及很多技术细节,对吧?人们为什么要关心?
这是因为你们实际上可以通过这个系统完成更多的事情。例如,您可以降低成本;由于可以使用不同的硬件,您能获得更大的灵活性,而不必受制于单一的硬件供应商。您还可以获得可移植性,使用多种不同的模型等等。那么性能表现如何呢?我们对许多情况进行了基准测试,并与最先进的组合进行了对比——比如 VLM 或 SGLang(在多种情况下)。这些基准测试也是经过独立验证的。
以 Kimi K2.5 为例,与 VLM 相比,我们的首字延迟(TTFT)快了 5.5 倍。我们还能获得 1.5 倍的吞吐量提升,即在 B200 GPU 上每分钟的令牌生成速度比 VLM 快 1.5 倍。关于 Flux 2,我鼓励各位去幕后的展位参观那里有一个很好的 Flux 2 演示。与使用 diffusers编译的 transformers相比,我们要快约 7 倍。
再次强调,Max 在同一个框架内支持不同的模态。因此您不必使用某种软件的“全功能变体”或类似的东西。我们支持视频生成、音频生成、图像生成以及文本生成。我们还支持在 AMD 硬件上的应用,从而获得总体拥有成本(TCO)方面的优势。我们在 MI350 系统上比等效方案快 4 倍。(注:原文为MI355,通常指AMD Instinct MI300系列或后续型号,此处依原文翻译为MI355系统)。
实际上,有些比较并不完全公平。因为有人可能会说 7 倍比 4 倍大得多,但这种比较并不容易直接进行。你必须考虑每块 GPU 的成本因素,而 AMD 通常比英伟达的等效产品便宜约 30%。我们与 Artificial Analysis 合作,他们一直在独立验证我们的结果。这是我们要截至今天的结果:在 Flux 2 Dev 模型上,我们比下一个竞争对手快约 3 倍。
这并没有使用蒸馏或量化等技巧,这只是纯粹的速度提升,因为我们能够从底层利用硬件优势,确保从模型中获得最大的性能收益。你们今天就可以去 Artificial Analysis 查看并验证这些结果。那么这对大家意味着什么呢?这意味着您可以开启那些因推理速度慢而原本无法实现的应用程序。
这实际上是一个现场演示,只是有人在输入提示词,但生成结果是准确的。在许多情况下,您可以在亚秒级(例如 0.3 秒)内生成图像。大家也可以去展位,那里有一个很棒的演示:您给出一个提示词,然后它读取视频流并将其渲染出来。另一个数据点是 Gemma 4。Gemma 4 是一个最近推出的模型,大约一个月或一个半月前发布。
同样地,我们比其他任何竞争对手都快得多。在许多情况下,其中一些比较对象甚至是硬件公司。例如 SambaNova 是一家硬件加速器厂商,我们比它快约 6 倍。总体而言,我们要比其他方案快得多。顺便说一下,在所有这些案例中,我们才刚刚开始。随着时间的推移,还会有更多的优化措施落地。因此,我们将持续改进这些性能指标。
我们有很多地方可以让大家参与进来。您可以加入我们的开源社区,因为我们要大量代码是开源的。我们已开源了超过 70 万行的内核代码,并完全开源了我们所有的模型定义以及 Max Serve。我们还有 AI Skills(AI 技能),如果您不熟悉 Mojo 或 Max,可以使用这些工具将您熟悉的语言代码移植到 Mojo 或 Max 中。
您也可以加入我们,我们正在招聘。展位上有宣传册,列出了各种职位的空缺。正如您可能知道的,我们从底层内核工程师到高层的 Kubernetes 专家等各个层级都在招聘中。你们实际上可以尝试所有这些功能,这不仅仅是演示或幻灯片噱头(demoare or slideware)。
如果想尝试所有这些功能,你们现在就可以通过 pip 安装 Modular。我欢迎大家验证这些结果。好了,以上就是我的分享。如果大家有问题,我很乐意回答。在接下来的几个小时里,我也会在展位上与大家交流。