NVIDIA 与 Hugging Face 联合宣布,NeMo Automodel 已经接入 Diffusers 库:开发者可以直接对 Hub 上任何 Diffusers 格式、采用 flow matching 训练目标的图像和视频扩散模型做分布式微调——全量微调或 LoRA 都行,不用把权重转成专门的训练格式,也不用为每个新模型重写脚本。目前打通的模型包括 FLUX.1-dev、FLUX.2-dev、Wan 2.1/2.2、HunyuanVideo 1.5 和 Qwen-Image 六个系列,代码以 Apache 2.0 协议开源。

这次合作真正解决的问题不是"训练贵不贵",而是"从单卡跑通一个 LoRA,到几十张卡跑全量微调"这条路要不要推倒重写。对企业训练团队来说,省下的是工程适配的时间;对独立开发者,能不能用上,还是取决于手里有没有那几张 H100。

检查点不用来回转了

过去用 Diffusers 自带的训练脚本练大模型,常见流程是先把 Hub 上的预训练权重转成训练框架能吃的格式,练完再转回来才能塞进 pipeline 推理、传回 Hub 分享。每来一个新模型,往往还得单独写一套训练脚本。

NeMo Automodel 换了个思路:直接调用 Diffusers 的模型类(比如 WanTransformer3DModel)和 pipeline(WanPipeline)加载权重,训练产出的 checkpoint 能直接塞回 DiffusionPipeline 做推理或回传 Hub,量化、编译、LoRA 适配器这些下游工具都不用改。官方给出的示范是用 78 张 Rider-Waite 塔罗牌图片,触发词 trtcrd,对 FLUX.1-dev 做全量微调——200 步之后,画风稳定切到复古卡牌调性,且没有触发词时基本不影响原本的写实输出。

训练到推理:一条线打通 Hub 模型 Diffusers 格式 无需转换 NeMo Automodel FSDP2 / 张量并行 上下文 / 流水线并行 配置项,不改代码 DiffusionPipeline 推理 / 回传 Hub 下游工具照常用
省的是工程时间,不是显卡预算。

工程扩展性是真价值,算力门槛没变

NeMo Automodel 的卖点是"一套程序,任意规模":从单卡 LoRA 到多机全量微调,切换 FSDP2、张量并行、上下文并行、流水线并行只是改一行 YAML 配置,不用碰模型代码。这对 FLUX.1-dev(12B)、HunyuanVideo 1.5(13B)这种大模型的多卡训练确实是刚需——用 Diffusers 内置脚本手撸这套并行逻辑,工作量完全不是一个量级。

官方给出的吞吐数据来自单节点 8 张 H100 80GB,图像数据集是缓存好的 256 张 naruto 图片,视频数据集是 112 条片段,测试全程关闭了检查点写入:

8×H100 单节点吞吐(images/s) FLUX.1-dev 全量 35.5 FLUX.1-dev LoRA 53.7 Qwen-Image 全量 41.2 Qwen-Image LoRA 46.6 数据集:naruto-blip-captions,缓存latent,关闭checkpoint写入
  • 风险.这组数字是理想环境下测出来的——数据全部预编码缓存、checkpoint 写入被关掉,实际生产训练里加上真实数据加载和定期存档,速度会明显更慢,不能当独立 benchmark 直接外推到消费级显卡或异构集群。

谁能真的用上,谁还得再等等

这套方案目前只支持 flow-matching 类扩散模型,其他训练目标的扩散模型接不进来。新模型接入 NeMo Automodel,仍需要单独写一个数据预处理处理器和一个模型适配器,只是比整套自定义训练脚本轻很多。多节点编排现在靠 SLURM,Kubernetes 编排和纯 Python 版 API 官方说"即将推出",眼下配置方式只有 YAML 一条路。

对企业训练团队,这次集成实打实省下了模型适配和检查点转换的重复劳动,尤其是想在 FLUX、Wan、HunyuanVideo 之间来回切换训练目标的团队。对没有多卡集群的小团队和独立开发者,NeMo Automodel 的并行能力基本用不上——该做单卡 LoRA 还是先掂量一下,是不是真需要全量微调这条更贵的路。

支持边界 已支持:6大模型家族 + FSDP2/张量/上下文/流水线并行 部分支持:多节点靠 SLURM,Kubernetes 编排在路上 暂不支持:非 flow-matching 模型、纯 Python API