Tutel

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 模型训练 🍴 复刻 111 🐛 待处理 55 👀 关注 18
GitHub ↗
GitHub 星标 ★ 1029
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,无在线服务

项目预览

Tutel 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类模型训练
开发团队microsoft
定价模式🏷️完全免费
价格说明开源免费,无在线服务
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言C
技术栈/模型deepseek,llm,mixture-of-experts,moe,pytorch
GitHub 星标★ 1029
上线时间2021-08-06 00:00:00
代码更新2026-10-21
仓库体积1.5 MB
本站数据更新2026-11-03
维护状态较活跃
收录时间2026-09-16
浏览次数2

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-16 · 当前星标 ★ 1029

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 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_dim是MoE 输入张量的通道数。1024
experts是内置专家网络的字典配置,type 取值如 ffn。{'type': 'ffn', 'num_experts_per_device': 1, 'hidden_size_pe
parallel_type否MoE 计算的并行方式,可取 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

上一篇:SpecForge

下一篇:Automodel

同类项目推荐

denoising_diffusion 开源

用PyTorch Lightning复现DDPM,快速跑通扩散模型训练与生成

Unofficial Implementation of "Denoising Diffusion Probabilistic Models" in PyTorch(L···

★ 91 2026-08-09
diffusion-pipe 开源

多卡流水线并行,低显存也能训大扩散模型

A pipeline parallel training script for diffusion models.

★ 2030 2026-10-12
NeoHorse 开源

让模型自己出题、自己训练、自己变强

NeoHorse-1: Towards Recursive Self-Improvement via Agentic Post-Training with Routin···

★ 1692 2026-09-22
examples 开源

看示例,快速上手 Neptune 实验管理

Examples of how to use Neptune for different use cases and with various MLOps tools

★ 86 2026-08-09
verl-agent 开源

用强化学习训练更聪明的 AI 智能体,支持 GIGPO 算法

verl-agent is an extension of veRL, designed for training LLM/VLM agents via RL. ver···

★ 2424 2026-08-09
miles 开源

企业级 RL 后训练框架,让大模型和多模态模型快速做强化微调

Miles is an enterprise-facing reinforcement learning framework for LLM and VLM post-···

★ 3262 2026-10-07
whisper-vits-japanese 开源

只有音频也能训练日语VITS,Whisper自动生成文本标注

Vits Japanese with Whisper as data processor (you can train your VITS even you only ···

★ 161 2026-08-09
dashAI 开源

可视化训练评估部署,一条龙搞定 AI 模型

dashAI: an interactive platform for training, evaluating and deploying AI models

★ 485 2026-10-17
OpenSeq2Seq 开源

用配置文件快速搭建语音识别、翻译和语音合成模型,支持多卡混合精度训练。

Toolkit for efficient experimentation with Speech Recognition, Text2Speech and NLP

★ 1560 2026-08-09