h3-motioncontrol · 常驻 vs 流式 实测

起因是代码注释里一句「权重常驻比 group-offload 快约 5 倍」。实测把它证伪了,而且顺带发现改动前的生产模式才是最慢的那个。

2026-08-19 · Minimax_5090 · RTX 5090 31.36 GiB · pruned-000600-r8 + fp8 + compile + sage · 4 步 · 124 帧(5.17s) · 4 卡满载并发 · 热态(去掉编译预热后每进程 2 条取平均)

注释声称的差距
server.py:67,2026-08-14 记录
实测差距 · 768p
+0.5%
流式 105.5s vs 真常驻 105.0s
实测差距 · 480p
+6.4%
流式 41.5s vs 真常驻 39.0s
流式相比改动前生产
快 23–25%
改动前是三相,不是常驻

三种模式,同一负载

唯一变量是权重放置。三种模式的量化、编译、attention 后端、H3_MEMOPT=1--denoise-evict-vae--vae-fp16 全部相同。

三相(改动前的生产形态) 真常驻(fl2va 迭代出来的) 流式 group offload(当前生产)

768×1376(16:9)· 单条端到端

三相
137.6s
真常驻
105.0s
流式
105.5s
0 ————————————————————————— 137.6s

480×832 · 单条端到端

三相
55.1s
真常驻
39.0s
流式
41.5s
0 ————————————————————————— 55.1s
分辨率模式端到端去噪每步(稳态)峰值显存vs 三相
768×1376
16:9
三相137.6s20.9s26.8 GiB
真常驻105.0s21.0s29.8 GiB−23.7%
流式105.5s21.3s10.9 GiB−23.3%
480×832 三相55.1s5.07s22.2 GiB
真常驻39.0s5.07s27.8 GiB−29.2%
流式41.5s5.73s8.9 GiB−24.7%

为什么「5 倍」不成立

三种模式的去噪每步时间几乎相同(768p 20.9 / 21.0 / 21.3s;480p 5.07 / 5.07 / 5.73s)。差别根本不在算力,全在 job 级的搬运开销:

那 5 倍是哪来的?最可能是 bf16 时代量的:不量化时权重 62 GiB,要搬的量是现在的 3.2 倍,而每步算力不变 —— 那种情况下 480p 出现数倍差距是合理的。fp8 之后这个成本基本消失了。

顺带纠正:改动前的生产不是「常驻」

h3mc 生产此前跑的命令行里没有 --offload,走的是代码里的另一条分支 —— 三相换相,不是常驻。真正的常驻模式(--resident,权重进卡就不动)是 fl2va 上迭代出来的,这次才回移到 h3mc。

if args.offload:      enable_group_offload(...)        # 流式,逐块+重叠预取
elif args.resident:   transformer.to("cuda") 永久驻留   # ← 本次才补上
else:                 每 job 整块 20 GiB 搬上搬下        # ← 改动前生产走这条

所以切到流式之后 768p 5s 从 137.6s → 105.5s、480p 5s 从 55.1s → 41.5s,不但没变慢,还快了约四分之一。我此前说「短片变慢了」是错的。

768p 15s 容量(同一批工作的另一半)

流式省下的那 19 GiB,换来的就是这个:768p 从只能 5s 变成能做 15s。以下均为 362 帧 = 15.083s,单进程实测。

几何比例打包序列峰值显存结果
768×1312≈9:16213,104 行23.1 GiB通过
768×137616:9218,240 行23.5 GiB通过
1792×76821:9 · 参考降 480p202,511 行23.9 GiB通过
1792×76821:9 · 参考不降290,144 行OOM

规则据此定为:16:9 及更方的比例用 768p 参考;超过 16:9 时把视频参考降到 480 短边(输出分辨率不动)。依据是视频参考占了打包序列的约 88%,而参考画布跟着目标长边走 —— 撑爆显存的是它,不是输出。

cond — 驱动视频
768×1312 · 366 帧 · 15.25s
角色参考图
ref — 人物身份
690×1152,按 768 短边归一
生产 API 端到端 15s
768×1312 · 362 帧 · 537s · 峰值 23.4 GiB
16:9 · 15s
768×1376 · 峰值 23.5 GiB
21:9 · 15s(参考降 480p)
1792×768 · 峰值 23.9 GiB
竖版 · 15s
768×1312 · 峰值 23.1 GiB

从 fl2va 回移了什么

还没做完的:--quantized-ckpt(fp8 .pt 直载,worker 冷启动 ready 41s→19s)。它只影响启动、不影响单条速度,所以没有阻塞这次测试。

口径