MinimaxH3 本地跑了一周,把能压的都压完了
Mac 跑 H3 的帖子这两天不少,我也啃了一周,把踩的坑和数据摊开,给同路人省点时间。
测试条件:
M5 Max 64G · 10 秒竖版 544×960 · 含原生音频
同一台机器、同一个种子、背靠背连跑
原版 15 步 —— 31.3 分钟
加跳步缓存 —— 16.6 分钟
加涡轮 LoRA 8 步 —— 14.9 分钟
加涡轮 LoRA 4 步 —— 10.5 分钟 ← 日常档
从 31 到 10.5,是四件事。
① 图生视频在移植版里本来是坏的
上游只验证过文生,照片当首帧一跑就崩。两个真 bug:视觉层卷积权重没转成 MLX 排布;视觉 token 散射时和文本行对不齐。都是几行能修的,修完首帧完美还原照片。
② 64G 塞不下 33B 主模型加 32B 编码器
一起加载要 73G,直接爆。解法是分阶段:先只加载编码器,编码完释放,再加载主模型。峰值降到编码期 52G、出图期 30G。这招和机器大小无关,48G 甚至 36G 照样能用。
③ 跳步缓存是我自己移植的,MLX 原本没有
思路来自 TeaCache:相邻两步变化小到不值得重算,就复用上一步。15 步那档实际只算 8 次,省 47%,抽帧看不出差别。
但保护比阈值更重要:首 3 步末 2 步绝对不能跳,连跳要设上限,我试过连跳 3 直接出重影。
反直觉的是 4 步档开了也不会跳——首尾保护把 4 步全覆盖了,所以 10.5 分钟已经是地板。
④ 最大的意外:加速 LoRA 千万别焊进模型
一开始我合并进 6bit 权重跑了好几天。改成运行时挂载后,同一个 LoRA、同样强度,画面完全不一样。
6bit 只有 64 个台阶,LoRA 的增量和量化步长是同一个数量级,合并时大半被四舍五入吃掉——之前用的一直是半个 LoRA。
改完之后:4 步档直接救活(合并版的 4 步是一片噪声,我还以为是 LoRA 的锅),每个版本从 28G 变 744MB,强度变成一个滑杆随时拖。
现在首帧、首尾帧、参考图、文生都能跑,全部带同步立体声一次生成。
脚本、修复代码、完整实测数据都开源了, 内存档位写了 128G/64G/48G/36G/24G 各该怎么配。地址在评论区。
AI视频生成 MiniMaxH3 本地部署minimax
```
