Loading...

文章背景图

Mochi 1:Genmo 开源的 100 亿参数文生视频模型|部署与使用全指南

2026-11-02
0
- 字
- 分钟
|

Mochi 1:Genmo 开源的 100 亿参数文生视频模型|部署与使用全指南

项目仓库: https://github.com/genmoai/mochi

许可证:Apache-2.0 · 维护方:Genmo · 语言:Python 3.11 · 框架:PyTorch · 形态:Gradio Web + CLI + Python API · 模型:10B AsymmDiT + AsymmVAE · 在线 Playground:genmo.ai/play


1 项目简介

Mochi 1 是 Genmo 发布的开源文生视频模型:100 亿参数扩散模型,基于自研的非对称扩散 Transformer(AsymmDiT)架构,配合 AsymmVAE 视频压缩。官方称其在运动保真度与提示词遵循度上接近闭源系统,且以 Apache-2.0 许可证开放权重。

1.1 核心信息一览

项目项 内容
项目名称 Mochi 1
仓库地址 github.com/genmoai/mochi
模型权重 huggingface.co/genmo/mochi-1-preview
直接下载 weights.zip
在线 Playground genmo.ai/play
许可证 Apache-2.0
参数量 10B(DiT)+ 362M(VAE)
形态 Gradio + CLI + Python API

1.2 适用场景

  • 研究/复现开源 SOTA 文生视频。
  • 在单 H100/A100 80GB 上跑 480p 视频生成。
  • 用 LoRA 在自己的视频数据上微调。

1.3 能力边界(官方口径)

  • 首发版本输出 480p;极端运动下可能出现轻微扭曲。
  • 模型优化写实风格,对动画/卡通效果一般。
  • 单 GPU 推理约需 60 GB 显存;ComfyUI 封装可在 20 GB 以下显存运行。

2 功能特性

  • 10B AsymmDiT:非对称架构,视觉流参数约为文本流 4 倍,降低推理显存。
  • AsymmVAE:8×8 空间 + 6× 时间压缩到 12 通道 latent。
  • T5-XXL:单 T5 文本编码器。
  • LoRA 微调:单 H100/A100 80GB 即可微调。
  • ComfyUI 原生支持(2024-11-05 起)。
  • CPU offload:--cpu_offload 降低显存峰值。

3 官方界面预览

在线 Playground:genmo.ai/play。

4 官方跳转链接汇总

类别 链接 说明
仓库 github.com/genmoai/mochi 源码
权重 huggingface.co/genmo/mochi-1-preview 模型下载
博客 genmo.ai/blog 技术说明
ComfyUI 封装 kijai/ComfyUI-MochiWrapper 社区封装

5 前置要求与服务器配置

5.1 软件前提

  • Python 3.11+。
  • uv 包管理器。
  • FFmpeg(把输出转成视频)。
  • 可选:flash-attn(--extra flash)。

5.2 硬件建议

方式 显存
本仓库单 GPU 约 60 GB(推荐 1×H100)
ComfyUI 封装 可压到 20 GB 以下
LoRA 微调 1×H100 / A100 80GB

6 方式一:uv 安装与推理

git clone https://github.com/genmoai/mochi
cd mochi
pip install uv
uv venv --python 3.11 .venv
source .venv/bin/activate
uv sync --locked

# 可选 flash-attn
uv sync --locked --extra flash --no-build-isolation

下载权重:

python3 ./scripts/download_weights.py weights/

启动 Gradio:

python3 ./demos/gradio_ui.py --model_dir weights/ --cpu_offload

CLI 直接生成:

python3 ./demos/cli.py --model_dir weights/ --cpu_offload

加载 LoRA:

python3 ./demos/gradio_ui.py --model_dir weights/ --cpu_offload \
  --lora_path path/to/my_mochi_lora.safetensors

7 方式二:Python API 调用

from genmo.mochi_preview.pipelines import (
    DecoderModelFactory, DitModelFactory, MochiSingleGPUPipeline,
    T5ModelFactory, linear_quadratic_schedule,
)

pipeline = MochiSingleGPUPipeline(
    text_encoder_factory=T5ModelFactory(),
    dit_factory=DitModelFactory(
        model_path="weights/dit.safetensors", model_dtype="bf16"
    ),
    decoder_factory=DecoderModelFactory(model_path="weights/decoder.safetensors"),
    cpu_offload=True,
    decode_type="tiled_spatial",
)

video = pipeline(
    height=480, width=848, num_frames=31, num_inference_steps=64,
    sigma_schedule=linear_quadratic_schedule(64, 0.025),
    cfg_schedule=[6.0] * 64, batch_cfg=False,
    prompt="your favorite prompt here ...",
    negative_prompt="", seed=12345,
)

8 关键参数

参数 默认 说明
--model_dir 无 权重目录
--cpu_offload 关闭 显存不足时开启
--lora_path 无 LoRA 权重路径
height / width 480×848 视频分辨率
num_frames 31 帧数
num_inference_steps 64 采样步数

9 常用运维命令

nvidia-smi
ls -lh weights/
ls -lh outputs/

10 常见故障排查

  • 显存不足:加 --cpu_offload;或用 ComfyUI 封装(<20GB)。
  • 依赖冲突:必须用 uv sync --locked,不要直接 pip install -r requirements.txt(不会应用 Pillow 覆盖)。
  • 想跑动画:官方说明对动画效果一般,建议 LoRA 微调。

11 风险与合规说明

  • Apache-2.0 许可,商用友好;但模型可能反映训练数据偏见,商业部署需自行加安全过滤。
  • 输出视频版权由使用者承担;不得用于 NSFW 或伪造内容。
  • 官方明确:商业服务上线前应自行补充安全协议。

本文基于官方 README 整理,仅供学习与部署参考;以仓库最新说明为准。

评论交流

文章目录