AI 算力危机与硬件“寒武纪大爆发”的困境

当前人工智能领域正面临严重的算力短缺危机,且短期内看不到缓解迹象。由于需求激增,大量计算资源已被预订至未来数年,这直接导致了硬件市场的“寒武纪大爆发”(Cambrian explosion)。Nvidia、Intel、ARM 和 Apple 等厂商纷纷推出各自世代的产品,虽然每种硬件都有其特定的利基市场(niches),但这种多样性带来了巨大的软件适配挑战。正如演讲者所言:“问题是,你该如何为所有这些系统编写程序?”

目前的软件生态因此变得混乱不堪。硬件选择的多样性向上渗透至整个技术栈,使得支持多种硬件(如 Nvidia 和 AMD)的架构变得极其复杂。开发者不得不依赖 VLM、SG lang、TRTLM 和 Llama CPP 等多种工具来部署模型,导致软件栈呈现出一团糟(mess)的状态。这种由底层硬件向上蔓延的复杂性,迫使 Modular 重新思考架构设计。

Mojo:兼顾性能、可移植性与易用性的编程范式

为了解决上述问题,Modular 从第一性原理出发,构建了一个全新的软件栈。其基石是 Mojo——一种面向 AI 及通用编程的异构编程语言,具有 Pythonic(类 Python)风格。对于熟悉 Python 的用户来说,掌握 Mojo 仅需了解约 90% 的内容。Mojo 旨在统一 CPU、GPU 及各类加速器的编程接口,兼具 C++/Rust/CUDA C++ 的系统级能力与 Python 的易用性。

在评估编程语言时,存在三个关键维度:可用性(Usability)、性能(Performance)和可移植性(Portability)。传统工具如 ROCm、KOD 和 CUDA 提供了极致性能,但牺牲了可用性和可移植性;OpenCL 曾以高可移植性著称,却输在性能和易用性上;Triton 则处于中间地带,提供约 70% 的性能同时兼顾后两者。Mojo 的目标是填补这一空白,成为“两全其美”的最佳选择:它既提供编写可移植、易用内核的抽象层,又保留获取极致性能的底层访问权限。

状态级内核优化与 Max 推理引擎的架构革新

在 Mojo 之上,Modular 构建了 Max AI 推理引擎。Mojo 内核在性能上已达到行业顶尖水平,演讲者强调:“我们的矩阵乘法比 cuBLAS、hipBLAS 等现有方案更快,在某些情况下甚至快出 2%。” 此外,Modular 拥有目前最快的注意力机制(attention)内核,性能超越 Flash Attention。这些高性能内核已开源供社区测试。

Max 框架旨在解决 PyTorch(诞生约十年前)在生成式 AI 推理方面的先天不足。由于原始设计未考虑现代 GenAI 需求,社区被迫引入 VLM、SG lang 等工具来补充 KV cache 管理和分页分配等功能,导致生态复杂化。Max 从底层利用最先进的图编译器和即时执行(eager mode)模式,原生支持 Mojo 程序的新型融合技术。

“PyTorch is about 10 years old. It was not really designed for the genai inference of today.”

Max 提供了一个统一的栈,允许用户在单一系统中完成模型的部署、开发与优化。它支持数千种模型架构(从 Gemma 到 MiniMax),并兼容标准的 OpenAI API 接口。对于熟悉 PyTorch 的开发者而言,Max 的开发体验与现有心智模型没有巨大差异,用户依然可以使用 Python 编写代码并导入模块。

分布式云原生部署与全栈抽象价值

现代 AI 推理本质上是分布式的,需要复杂的云端解决方案来管理硬件选择、请求路由、KV cache 卸载以及分布式推理策略,以满足用户对速度和成本的双重期望。Modular 平台通过硬件抽象层(Hardware Abstraction),将上述所有复杂性封装在统一的软件栈中。

该平台具备完全可编程性、硬件无关性和高性能特征,支持本地部署(On-prem)与云端部署。用户可以直接下载 Modular Cloud 并在自有云环境中运行。通过这种端到端的整合,Modular 试图消除因硬件碎片化带来的软件维护负担,为开发者提供一个“从底层内核到上层分布式服务”的完整、统一且高性能的 AI 基础设施。

原生多卡与异构计算支持

现代大型语言模型(LLM)的运行往往跨越不同的 GPU 甚至多个节点,Max API 提供了原生支持多 GPU 和多系统编程的能力。开发者无需在应用层处理复杂的分布式逻辑,API 内部即可实现模型在不同硬件间的原生支持。这种架构不仅限于同构环境,还支持异构计算场景。例如,开发者可以灵活指定预填充(prefill)阶段在硬件 X 上运行,而解码(decode)阶段则在硬件 Y 上进行。这种细粒度的控制能力使得系统能够根据模型各阶段的特性匹配最合适的硬件资源,从而提升整体效率。

"Max APIs provide you with a way to program multi-GPU system as well as multi-node systems from within the API... This can also be heterogeneous."

这种设计打破了传统框架对单一硬件供应商的依赖,为构建高性能、可扩展的 AI 推理系统奠定了底层基础。通过原生支持分布式和异构环境,Modular 确保了模型能够在复杂的硬件拓扑中高效运行,而无需开发者手动干预数据分发和同步细节。

结论

Modular 通过 Mojo 语言和 Max 引擎,试图解决 AI 硬件碎片化导致的软件栈混乱问题。Mojo 在保持 Pythonic 易用性的同时,提供了媲美 C++/CUDA 的性能与可移植性。Max 引擎在矩阵乘法和注意力机制等核心算子上已验证其性能优势,部分场景下甚至超越 cuBLAS 和 Flash Attention。该平台原生支持多卡、异构计算及分布式部署,通过硬件抽象层简化了底层复杂性。

尽管 Max 在性能基准测试中表现优异,且开发体验与 PyTorch 兼容,但其核心价值在于提供统一的全栈解决方案以应对硬件多样性挑战。目前优势集中于高性能内核与简化分布式编程,适用于需要跨异构硬件高效部署 GenAI 模型的场景。然而,作为较新的生态体系,其在大规模生产环境中的长期稳定性及社区成熟度仍需更多实践验证。