h3-rtxpro6000-setup.md 6.95 KB

新机器:RTX PRO 6000 装 H3(调研阶段,还没跑通)

背景:新租了一台 AutoDL 容器(connect.westd.seetacloud.com:17473),单卡 RTX PRO 6000 Blackwell 96GB,跟 2080Ti 那套完全不共享环境。这篇记 2026-08-20 的调研结论和待办, 真正装完跑通后按顶层 CLAUDE.md 的目录约定建 h3-rtxpro6000/ workload 目录 + CHANGELOG 一节。

机器情况

项 值
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(扩容需在 AutoDL 网页控制台点重启才生效,容器内 reboot 没用——PID1 是裸 bash 不是 init,见下)
系统 Ubuntu 22.04,容器化(/.dockerenv 存在),预装 miniconda3 + torch 2.12.1+cu130
网络 ModelScope 直连(no_proxy 已含 modelscope.com),HuggingFace/GitHub 需 source /etc/network_turbo(AutoDL 学术加速,仅限这两个域名+相关 CDN,见 https://www.autodl.com/docs/network_turbo/ )

环境搭建方式(按用户要求)

不用 conda 装依赖,改用 uv(比 pip 快几十倍,包解析方式不同):

source /root/miniconda3/etc/profile.d/conda.sh && conda activate base   # 只为了拿到 uv 这个二进制
pip install -q uv                                                        # /etc/pip.conf 已配好 aliyun 源
mkdir -p /root/autodl-tmp/minimax-h3 && 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          # 走 aliyun 镜像,几十秒装完 2.13.0+cu130

阿里云源本身就镜像了 PyPI 官方的 cu130 捆绑 wheel,不需要单独配 pytorch.org 的 index。

精度选型(这是本次调研的主要产出)

用户原话:"主要是 DiffSynth-Studio + NF4 safetensors 这个模型的质量不行,我担心是模型量化不行导致的"。

排除项:不要用 GGUF(Abiray/MiniMax-H3-GGUF 等)

HF 上搜到的 GGUF 版本下载量最高,但 model card 没有说明配哪个推理引擎。H3 是 DiT 扩散模型 不是标准 LLM,GGUF 在这类模型上依赖专门的 loader(比如 ComfyUI-GGUF 自定义节点), 需要有人专门写过 H3 这个架构的支持。我们已验证能跑通的是 DiffSynth-Studio,它不支持 GGUF 加载。 换 GGUF=换整条推理栈,风险和收益不对等,放弃。

各精度组合实测文件大小(HF API 直查,非猜测)

组件 NF4(2080Ti 在用) int8-convrot(本次选定) fp8 剪枝 bf16 原精度
DiT (FL2VA) 16.0 GB 20.97 GB 20.96 GB(剪枝版) 66.28 GB
文本编码器 (Qwen3-VL 32B) 14.3 GB 27.14 GB — 51.51 GB
video_vae 1.5 GB 5.21 GB (fp16) 同左 同左
audio_vae 0.26 GB 0.61 GB (fp32) 同左 同左
合计 33.3 GB 53.93 GB ~47GB(DiT剪枝+bf16文本编码器需另算) 123.6 GB

bf16 全精度超过 100GB 数据盘,且两个大件同时常驻显存需 117GB>96GB 显存,暂不选。

关键发现:DiffSynth-Studio 官方文档明确支持 Comfy-Org 的 int8/fp8 权重

不是只支持自家 NF4。文档原话:"The int8-quantized weights released by Comfy-Org are supported as well, via the comfy-kitchen backend, which requires pip install "diffsynth[quant]""。 官方示例代码(examples/minimax_h3/model_inference/MiniMax-H3-Int8-ConvRot-FL2VA.py):

vram_config = {
    "offload_dtype": torch.bfloat16, "offload_device": "cpu",
    "onload_dtype": torch.bfloat16, "onload_device": "cpu",
    "preparing_dtype": torch.bfloat16, "preparing_device": "cuda",
    "computation_dtype": torch.bfloat16, "computation_device": "cuda",
}
pipe = MiniMaxH3Pipeline.from_pretrained(
    torch_dtype=torch.bfloat16, device="cuda",
    model_configs=[
        ModelConfig(model_id="Comfy-Org/MiniMax-H3", origin_file_pattern="diffusion_models/minimax_h3_fl2va_int8_convrot.safetensors", **vram_config),
        ModelConfig(model_id="Comfy-Org/MiniMax-H3", origin_file_pattern="text_encoders/qwen3vl_32b_minimax_h3_int8_convrot.safetensors", **vram_config),
        ModelConfig(model_id="MiniMax/MiniMax-H3", origin_file_pattern="FL2VA/video_vae/source/model.safetensors", **vram_config),
        ModelConfig(model_id="MiniMax/MiniMax-H3", origin_file_pattern="FL2VA/audio_vae/model.safetensors", **vram_config),
    ],
    processor_config=ModelConfig(model_id="MiniMax/MiniMax-H3", origin_file_pattern="FL2VA/processor/"),
    vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 2,   # 单卡独占,直接按总显存留 2G
)

Comfy-Org/MiniMax-H3 和 MiniMax/MiniMax-H3 在 ModelScope 上都有镜像(表格链接确认), 预计能直连下载,不用挂 network_turbo。

用户已选定:DiT + 文本编码器都用 int8-convrot(~54GB),不用 fp8/bf16 混合方案。 理由:比 NF4 的 4-bit 精度高一倍,比全 bf16 省一半+盘,100GB 数据盘和 96GB 显存都留有余量。

与 2080Ti 版本的关键差异(Blackwell sm_120 vs Turing sm_75)

  • 官方示例直接用 bf16,不是 2080Ti 那套 fp32/fp16 折腾。2080Ti 的 t2va.py 里那堆 _force_fp32_linear / _patch_dit_residual_fp32 patch 都是 Turing 无 bf16 attention kernel 逼出来的补丁,这张卡上不需要,直接抄官方示例的 bf16 配置即可。
  • 不需要 CPU offload:2080Ti 4×22G 靠 offload_device="cpu" 来回倒腾权重;这张卡 96GB 单卡独占,54GB 权重能常驻显存,理论上更快(具体要不要照抄官方 vram_config 里的 cpu offload 字段留到实测时再定,反正显存够大不会是瓶颈)。
  • t2va.py 里 assert prop.major == 7 这行到这张卡上会直接炸,不能照搬脚本,得照官方 int8-convrot 示例重写。

相关:quality-tuning-plan.md 里没提过量化精度

同目录 quality-tuning-plan.md 是 2080Ti 那边的画质排查清单, 列了分辨率/Turbo步数/CFG/negative prompt 四个方向,没有把 NF4 量化本身列为嫌疑对象。 这次新机器的 int8-convrot 选型算是补了这一项;如果换精度后画质明显变好,说明 2080Ti 那份 清单该加一条「量化精度」;如果没变化,说明那份清单列的四个方向才是真正的瓶颈,量化本身不是。

还没做的事

  1. uv pip install "diffsynth[quant]" + clone DiffSynth-Studio 源码
  2. 确认 Comfy-Org/MiniMax-H3 / MiniMax/MiniMax-H3 在 ModelScope 直连能下(还没实测,只是表格链接看到有镜像)
  3. 照官方 int8-convrot 示例写这张卡专用的 t2va.py(去掉 2080Ti 的 fp32 patch 和 sm_75 assert)
  4. 下载 ~54GB 权重,实测出片,跟 2080Ti 上的验收样本对比画质