Tutel

让 MoE 大模型训练更快更省显存,支持 FP8/FP4 低精度。

Tutel 是微软开源的高性能混合专家(MoE)训练与推理优化库,核心目标是解决大规模 MoE 模型在分布式环境下通信开销大、显存占用高、计算效率低的问题。它通过深度定制的并行策略(专家并行、数据并行、流水并行组合)、通信压缩与计算-通信重叠技术,显著提升 MoE 层的前向与反向吞吐。项目支持 FP8、NVFP4、MXFP4 等低精度格式,并针对 GptOss、DeepSeek、Kimi-K2、Qwen3 等主流 MoE 架构做了适配优化。Tutel 以 C 语言实现核心算子,提供 PyTorch 接口,方便研究者直接替换现有 MoE 层。对于需要训练千亿级 MoE 大模型的团队,Tutel 能降低对高速互联网络的依赖,在同等硬件下获得更高训练效率,是 MoE 系统优化领域较有代表性的开源方案。

开源 free 模型训练
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1018
维护状态 活跃
是否开源
定价模式 free

项目数据

分类模型训练
开发团队microsoft
所属国家
官网地址
定价模式free
价格说明开源免费,无在线服务
访问状态
是否开源
开源协议MIT
主要语言C
技术栈/模型deepseek,llm,mixture-of-experts,moe,pytorch
GitHub 星标★ 1018
30天Star增速
HF 下载量
上线时间2021-08-06 00:00:00
最近更新2026-09-15 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-16
浏览次数0

使用教程

难度:进阶 约 15 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 3 环境(README 命令均使用 python3)
  • pip 包管理工具
  • git(源码编译方式需要克隆仓库)
  • 本地 C 编译工具链(源码编译需编译 C 扩展)
  • 可用的 GPU 环境(README 提到 A100/A800/H100/MI300 等)

安装与启动步骤

  1. 1卸载旧版 Tutel

    两条安装路径前 README 都要求先卸载已装的 tutel,避免新旧版本冲突。

    python3 -m pip uninstall tutel -y
  2. 2在线安装 Tutel

    从 GitHub main 分支直接 pip 安装,关闭构建隔离以便走本地编译流程。

    python3 -m pip install -v -U --no-build-isolation git+https://github.com/microsoft/tutel@main
  3. 3克隆源码仓库

    选择源码编译方式时,先把 main 分支代码克隆到本地。

    git clone https://github.com/microsoft/tutel --branch main
  4. 4源码编译安装

    克隆后按 README 给出的路径执行 setup.py,安装到当前用户目录(--user)。

    python3 ./tutel/setup.py install --user
  5. 5配置 MOELayer

    按 README 的 MOELayer 参数说明传入 gate_type、model_dim、experts 等构建 MoE 层。

关键配置

配置项必填说明示例
gate_type门控配置字典或字典列表,含 type、k、capacity_factor 等。{'type': 'top', 'k': 2, 'capacity_factor': -1.5}
model_dimMoE 输入张量的通道数。1024
experts内置专家网络的字典配置,type 取值如 ffn。{'type': 'ffn', 'num_experts_per_device': 1, 'hidden_size_pe
parallel_typeMoE 计算的并行方式,可取 auto/data/model。auto
a2a_ffn_overlap_degree控制 all_to_all 与计算重叠深度,默认 1 表示不重叠。2
pad_samples是否将新输入数据自动填充到历史最大数据量。True

如何确认成功

pip 安装过程无报错,Python 环境中可正常导入 tutel 并按上述参数实例化 MOELayer 即为成功。

常见问题

Q:在线安装和源码编译该选哪种?

A:只想直接用选 Option-1 在线安装;需要改源码或本地调试选 Option-2 源码编译。

Q:为什么安装前要先卸载 tutel?

A:README 的两条安装路径前都写了 pip uninstall tutel -y,用于清理旧版本、避免版本冲突。

Q:gate_type 里的 k 可以是负数吗?

A:可以。k 为负如 -2 时,表示一块 GPU 只持有 1/(-k) 份专家参数。

Q:capacity_factor 的取值怎么理解?

A:正数表示固定倍率 X,0 表示 max(needed_volumes),负数表示 min(-X, max(needed_volumes))。

Q:怎么关闭专家的 bias 参数?

A:在 experts 配置中把 has_fc1_bias 或 has_fc2_bias 设为 False,默认值为 True。

注意事项

  • README 未给出 CUDA/驱动版本与显存要求,需自行确认硬件环境匹配。
  • 源码编译安装使用 --user,只会安装到当前用户目录。
  • 低精度推理支持 NVFP4/MXFP4/BlockwiseFP8,需 A100/A800/H100/MI300 等硬件。
  • k 为负、capacity_factor 为负等参数行为来自 README 参数说明,使用前请确认符合你的并行策略。

核心亮点

  • 针对 DeepSeek、Kimi-K2、Qwen3 等主流 MoE 架构做了专门适配,可直接替换现有 MoE 层,迁移成本低
  • 支持 FP8、NVFP4、MXFP4 多种低精度格式,在保持精度的同时显著降低显存占用和通信量
  • 通过专家并行与计算-通信重叠优化,减少对高速互联网络的依赖,在普通集群上也能获得较高吞吐

不足之处

  • 以 C 语言实现核心算子,二次开发和调试门槛较高,对不熟悉底层优化的团队不够友好
  • 社区规模和文档完善度相对有限,遇到问题可参考的案例和讨论较少

适用场景

  • 训练千亿参数级 MoE 大模型,需要降低显存和通信开销
  • 在非顶级网络环境下部署 MoE 推理服务,追求低精度加速
  • 研究 MoE 并行策略与低精度量化,需要可复现的优化基线

替代项目

DeepSpeed-MoE、Megatron-LM、Fairseq

项目介绍

Tutel 是一个模型训练领域的开源项目,官方简介:Tutel MoE: Optimized Mixture-of-Experts Library, Support GptOss/DeepSeek/Kimi-K2/Qwen3 using FP8/NVFP4/MXFP4。项目使用 C 开发,在 GitHub 上获得 1018 星标。

上一篇:SpecForge

下一篇:Automodel

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 61327 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1279 2026-08-13