maxtext: 一个用于可扩展 LLM 预训练和后训练的高性能 JAX 参考实现
maxtext: 一个用于可扩展 LLM 预训练和后训练的高性能 JAX 参考实现
它解决了什么问题
MaxText 旨在为训练大语言模型 (LLMs) 提供高性能、可扩展的参考实现。它解决了在从单个主机到数万个芯片的硬件集群中,无需复杂的手动优化即可实现高模型 FLOPs 利用率 (MFU) 和吞吐量 (tokens/second) 的挑战。
工作原理
MaxText 使用纯 Python 和 JAX 编写,针对 Google Cloud TPUs 和 GPUs 进行优化。它利用了 JAX AI 技术栈,包括用于神经网络的 Flax,用于后训练的 Tunix,用于检查点的 Orbax,用于优化的 Optax,以及用于数据加载的 Grain。该库提供了一系列高性能模型架构(例如 Gemma, Llama, DeepSeek, 和 Qwen),并支持从头开始的预训练以及使用监督微调 (SFT) 和强化学习 (GRPO 和 GSPO) 等技术进行的可扩展后训练。
适用人群
它适用于正在构建宏大 LLM 项目的 AI 研究人员和生产工程师,他们需要一个可扩展的、“无需优化”的框架来实验模型设计、预训练大规模模型,或对现有的开源或专有模型进行后训练。
亮点
- 广泛的模型支持:包括 Gemma 4, Llama 4, DeepSeek V3, Qwen 3.5, 和 Kimi K2 等模型的参考实现。
- 高可扩展性:支持跨数万个芯片的预训练。
- 后训练框架:通过 Tunix 集成了对 SFT 和 RL (GRPO/GSPO) 的支持,并在 RL 工作流中使用 vLLM 进行采样。
- 硬件优化:专门针对 Google Cloud TPUs 和 GPUs 使用 XLA 编译器进行了优化。
- 多模态能力:支持 Gemma 3, Gemma 4, 和 Llama 4 VLMs 的多模态训练。
Sources
- undefinedAI-Hypercomputer/maxtext