MiniMax-H3 视频生成部署(RTX PRO 6000 Blackwell,单卡 96GB)
新租的 AutoDL 容器,跟 192.168.110.67(2080Ti 那台)完全独立,不共享任何环境/显存/磁盘。
起这台的直接原因:怀疑 2080Ti 上用的 NF4(4-bit)量化是画质问题的根源,这张卡显存/磁盘都
宽松,换成更高精度的量化(int8-convrot)做对照。
状态(2026-08-21 00:23):环境装好,模型下完,首次冒烟测试成功(50步全量出片, 有限性/纯色检查通过)。画质待人工确认——脚本能测出"全黑/NaN"这类硬故障,测不出 "好不好看",这一步必须人看视频。样片:
t2va_20260821-002322.mp4(生成时留在服务器outputs/下,同时已下载到发起这次会话的本地机器)。
接入
ssh -p 17473 root@connect.westd.seetacloud.com # 密码 aka3QXmPlg/V
容器化实例(/.dockerenv 存在,PID1 是裸 bash 不是 init)。数据盘扩容/机器重启必须走
AutoDL 网页控制台,容器内 reboot/shutdown 没用——PID1 接不住信号,扩容不生效
(实测过:容器内重启后 df 还是旧容量,网页控制台重启后才变)。
硬件
| 项 | 值 |
|---|---|
| GPU | RTX PRO 6000 Blackwell,96GB(nvidia-smi 显示 97887MiB),compute cap 12.0(sm_120) |
| 驱动/CUDA | 595.58.03 / CUDA 13.2 |
| CPU/内存 | 208 核 / 1TB |
| 系统盘 | 30GB,容器重置就没了,别往这儿装东西 |
| 数据盘 | /root/autodl-tmp,已从免费 50GB 扩到 100GB(当前用量约 75GB) |
| 网络 | ModelScope 直连(no_proxy 已含 modelscope.com);HuggingFace/GitHub 需 source /etc/network_turbo(仅限学术用途,AutoDL 自己也说"不承诺稳定性") |
ModelScope 直连是这台机器上最快的下载源,实测比 hf-mirror.com(0.5MB/s)、
network_turbo 代理到 HF 官方(0.3MB/s)都快。单连接 1.5–4MB/s、aria2c 16 连接能到
5–11MB/s(多连接不是线性提升——测过两个文件各开 8 连接同时下,合计吞吐反而比一个
文件开 16 连接更低,说明限速在 ModelScope 端是整体限速,不是单连接限速)。下大文件一律
aria2c -x16 -s16 + setsid nohup 脱离 SSH 会话。
环境(uv,不用 conda 装依赖)
source /root/miniconda3/etc/profile.d/conda.sh && conda activate base # 只为了拿到 uv 二进制
pip install -q uv # /etc/pip.conf 已配好 aliyun 源
cd /root/autodl-tmp/minimax-h3
export UV_INDEX_URL=http://mirrors.aliyun.com/pypi/simple
uv venv --python 3.12 .venv && source .venv/bin/activate
uv pip install torch torchaudio # torch 预装镜像自带 2.13.0+cu130,torchaudio 要单独装
uv pip install -e './DiffSynth-Studio[audio,quant]' # 见下面"装环境的坑",两个 extras 都要
阿里云源直接镜像了 PyPI 官方的 cu130 捆绑 wheel,不需要单独配 pytorch.org 的 index。
尝试过让 uv 连 Python 解释器本身都自己管(uv python install 3.12,不借 conda 的
python3.12),但 uv 的 Python 发行版从 GitHub Releases 下,走 network_turbo 代理两次
都卡死没装成——不是关键路径,放弃了,venv 底层解释器目前还是 conda 那个 3.12.3,
不影响包管理走 uv 独立安装这个核心诉求。
精度选型:int8-convrot,不是 NF4
完整的调研过程、GGUF 为什么被排除、各精度组合的真实文件大小对比表,见
docs/todo/h3-rtxpro6000-setup.md。这里只记结论:
- DiffSynth-Studio 官方支持 Comfy-Org 发布的 int8/fp8 量化权重(不止自家 NF4),
通过
comfy-kitchen后端,需要pip install "diffsynth[quant]"。 - 用的是
Comfy-Org/MiniMax-H3的非剪枝int8_convrot(DiT 34GB + 文本编码器 27GB), VAE 走MiniMax/MiniMax-H3官方 bf16 版(video_vae 9.8GB + audio_vae 0.6GB), 合计约 71GB。 - 不需要 NF4/bitsandbytes:int8-convrot 是完全不同的量化路径(comfy-kitchen), 比 NF4 的 4-bit 精度高一倍。
- 全程 bf16,不是 fp32/fp16。2080Ti 那套
_force_fp32_linear/_patch_dit_residual_fp32补丁是 Turing 无 bf16 attention kernel 逼出来的(fp16 65504 上限装不下 50 层残差累积), Blackwell 原生支持 bf16 attention + fp32 等量的动态范围,这些补丁不需要,直接照抄 DiffSynth 官方 int8-convrot 示例代码即可。 - 不需要 CPU offload:单卡 96GB,71GB 权重常驻显存还有富余,冒烟测试峰值显存只有 33.9G。
目录与路径
| 用途 | 路径 |
|---|---|
| 根目录 | /root/autodl-tmp/minimax-h3/ |
| venv | /root/autodl-tmp/minimax-h3/.venv/ |
| DiffSynth 源码 | /root/autodl-tmp/minimax-h3/DiffSynth-Studio/ |
| 模型权重 | /root/autodl-tmp/minimax-h3/models/(<model_id>/<origin_file_pattern> 平铺,DiffSynth 自己管,.incomplete 后缀标记未下完) |
| 日志 | /root/autodl-tmp/minimax-h3/logs/ |
| 输出视频 | /root/autodl-tmp/minimax-h3/outputs/ |
| 推理脚本 | /root/autodl-tmp/minimax-h3/t2va-rtxpro6000.py(顶层平铺,不在 scripts/ 下——本地副本在 h3-rtxpro6000/scripts/,跟 2080Ti 那套 run.sh 顶层/本地 scripts/ 路径不一致是同一种情况) |
启动命令
cd /root/autodl-tmp/minimax-h3 && source .venv/bin/activate
python t2va-rtxpro6000.py --seed 0 # 默认 832x480x124f,50步全量,不开turbo
python t2va-rtxpro6000.py --turbo # 4步Turbo LoRA,未在int8-convrot权重上验证过LoRA能不能正常挂载
python t2va-rtxpro6000.py --prompt "$(cat prompt.txt)" # prompt 含引号时从文件读,避开多层 shell 转义
首次冒烟测试(2026-08-21 00:23)
配置:832×480×124f,50 步全量(不开 Turbo),int8-convrot,seed=0。
| 项目 | 实测 |
|---|---|
| 权重加载 | 83s |
| 生成耗时 | 183s(3.7s/步) |
| 峰值显存 | 33.9G |
| 视频 | h264 832×480 · 24fps · 124 帧(无截断) |
| 音频 | aac 32kHz 立体声 · mean -35.6dB · max -17.9dB(非静音) |
| 脚本内建检查 | 通过(无 [FAIL],退出码 0) |
对比 2080Ti:fp32 50 步是 107.3s/步,这张卡 3.7s/步,快 ~29×(Blackwell 原生 bf16 tensor core/attention kernel + 不用 CPU offload 的综合结果)。
装环境踩的坑
diffsynth[quant]不够,还要[audio]:av/torchaudio/torchcodec/librosa是单独一个audioextras 分组(见DiffSynth-Studio/pyproject.toml),跟quant(bitsandbytes/comfy-kitchen/torchao)分开。只装[quant]会在运行时连续炸ModuleNotFoundError: torchaudio然后ModuleNotFoundError: av。正确装法:uv pip install -e './DiffSynth-Studio[audio,quant]'。- SSH 命令套
expect时,方括号会被 Tcl 当命令替换语法:pip install "pkg[extra]"这类命令直接塞进expect -c '...spawn ssh ... "..."'会报invalid command name "extra", 多层转义极易出错。稳定做法:把要跑的命令写成本地.sh文件,scp上去再ssh ... "bash script.sh"执行,彻底绕开这层转义。 - AutoDL 扩容数据盘要走网页控制台重启,容器内
reboot无效:/.dockerenv存在、 PID1 是裸 bash,容器内跑reboot/shutdown接不住信号,df容量不会变。
还没做的事
- 人工看画质——这是唯一悬而未决的验证。如果 int8-convrot 确实比 NF4 画质好,
docs/todo/h3-rtxpro6000-setup.md该挪到docs/done/;如果没有明显差异,说明docs/todo/quality-tuning-plan.md里列的分辨率/CFG/negative prompt 才是真正瓶颈, 量化精度不是。 - Turbo LoRA 在 int8-convrot 权重上是否能正常挂载,还没测过。
- 还没封 HTTP API / console(2080Ti 那套
api.py/h3-console要不要迁过来,看画质 验证结果再决定值不值得投入)。