Sand.ai开源发布MagiCompiler:突破局部编译界限,定义训推性能上限

大模型开发者常面临一个两难选择:要速度,还是省显存?

通常情况下,想要跑得快,显存会爆;想省点显存,计算效率又会被频繁的同步和流水线气泡大幅拖垮。原生的 torch.compile 虽然好用,但在面对复杂的跨层优化和 FSDP 显存管理时,依然力不从心。

为了彻底解决这一痛点,Sand.ai 今天正式开源 MagiCompiler ------ 一款基于 torch.compile 深度优化的即插即用、训推一体编译框架。

MagiCompiler 彻底突破了传统局部编译的界限,实现了推理期整图捕获与训练期 FSDP-Aware 整层编译。

更重要的是,研发团队创新提出 Compiler as Manager 理念 ------ 将编译器从单纯的 "算子优化器" 进阶为全局管理器。它全面接管了计算调度与显存的生命周期,以系统级的底层解法,破解算力与显存墙难题。

核心技术

打破边界的全局调度

1. 打破编译边界:整图与整层编译

传统编译常因复杂的 Python 逻辑频繁触发 Graph Break。研发团队彻底改变了这一点:

  • 推理期:捕获完整的计算图,最大化 Transformer Block 内的算子融合空间。

  • 训练期:利用 FSDP 在前向 / 反向传播中 "单层权重全驻留" 的特性,将 Transformer Layer 作为编译单元。这使得编译器可以执行激进的跨算子融合,大幅减少 Kernel Launch 开销和 Global Memory 读写。

2. 内存魔术:启发式重计算(Heuristic Recompute)

在训练大模型时,开发者通常需要手动插入 torch.utils.checkpoint 来控制显存,既繁琐又难以最优。MagiCompiler 引入了智能感知图分割器:

  • 彻底告别手动打点:框架自动分析计算图,识别并优先保留 MatMul、Attention 等计算密集型算子的输出。

  • 极致抠显存:对于显存密集型算子,自动在反向传播时进行重计算,从根本上压缩显存峰值而不损失吞吐量。

3. 榨干带宽:JIT 极致 Offload 调度

针对显存瓶颈,研发团队实现了一套极其优雅的权衡调度引擎:

  • 性价比常驻:基于 Profiling 数据,将最划算的权重贪心地常驻在有限的 GPU 显存中。

  • JIT 最晚预取:调度器逆向推导精确的预取时间表,卡在计算前的 "最后一刻" 完成权重拉取,确保 GPU 不囤积多余权重,彻底消除流水线气泡。

MagiCompiler Overview

性能实测

真正免费的性能午餐

凭借底层的全局调度,MagiCompiler 交出了亮眼的答卷:

  • 训练端表现:在极短时间内,提供高吞吐的保底方案。无需耗时数周死磕 Kernel 或手工魔改底层逻辑,开箱即可解决 Baseline 的 CPU 调度与算子碎片化难题,直接带来 44.7% 提速与 6.2% 显存下降,且精度完全对齐。

MagiCompiler v.s. baseline

  • 推理端表现:在多模态视频生成场景下,MagiCompiler 展现了极其扎实的硬件泛化能力
  • H100:比最好更好

    在单机 NVIDIA H100 上,面对主流视频生成模型,MagiCompiler 比目前的领跑方案(如 LightX2V)还要快 9%~26%。

H100 性能测评

  • RTX 5090:显存受限,近乎实时

    即便在显存有限的 5090 上,通过 JIT Offload 调度,MagiCompiler 也让 daVinci-MagiHuman 这种超大模型跑出了近乎实时的速度。

5090 daVinci-MagiHuman 性能指标

极简体验

一行代码,即插即用

强悍的底层性能并不意味着复杂的接入成本。秉持对开发者友好的设计理念,MagiCompiler 只需两个装饰器即可完成接入。

  • 基础编译增强:

    无需修改模型源码,magi_compile 一键装饰 TransformerBlock:

  • 自定义算子注册:

    对于 FlashAttention 或 MoE 等定制化算子,轻松注册并无缝融入重计算策略:

此外,我们内置了强大的自省工具链:开启环境变量,所有隐式的编译产物(反编译字节码、Kernel 代码、Guard 条件等)均会被持久化为人类可读的 Python 文件与图表,让编译器 Debug 变得简单直观。

结语与未来展望

MagiCompiler 正在打破传统编译器的边界。它不仅让我们看到了 torch.compile 迈向全局调度的巨大潜力,更为大模型与多模态架构的规模化落地提供了基础设施。

目前,MagiCompiler 已全面开源。Sand.ai 将持续降低大模型底层的开发门槛,为 AI 社区持续做出贡献。

相关推荐
段一凡-华北理工大学4 小时前
工业智能体:从Codex/Claude到项目实战~系列文章05:从“AI助手“到“工业智能体“:能力跃迁与落地范式
人工智能·python·claude·codex·工业智能体·高炉炼铁智能化
岁月宁静5 小时前
什么是 Agent:从"会聊天"到"会做事"
人工智能·python
岁月宁静6 小时前
AI 应用开发工程师简历怎么写:HR 初筛、技术复筛、面试追问,三道关卡各看什么?
人工智能·python·面试
老金带你玩AI6 小时前
全球股市跌麻了:AI在进化,牛马在买单
人工智能
我qq不是451516528 小时前
WorkBuddy下载体验
人工智能·经验分享·ai·workbuddy
IT_陈寒9 小时前
Redis雪崩把我坑惨了,这是5年经验的教训
前端·人工智能·后端
心祭丫丫9 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
海螺_AIHCC9 小时前
LLM 返回的 JSON 十次坏三次,别急着骂模型——60 行容错解析器先兜住(附可运行代码)
人工智能
露天赏雪9 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel