夜雨聆风学习资料网

ARTICLE · 1089076

跑 AI 视频,先别急着换显卡:一台 M1 Max 的四组实测

跑 AI 视频,先别急着换显卡:一台 M1 Max 的四组实测
9 月 25 号晚上十点多,我把第一条视频扔进了 ComfyUI 的队列。
然后就去睡了。
第二天零点零三分,片子出来了。
2.33 秒。
我盯着屏幕上那两秒多的画面,心里其实挺平静的——因为它跑了 75 分 42 秒。
这台机器是三年前的 MacBook Pro,M1 Max 芯片,64G 内存。
跑的东西叫 MiniMax H3,一个能直接出带声音视频的模型。
模型一共 41 个 G,五个文件。
说实话,刚开始我以为这就是"苹果芯片不适合跑 AI"的又一个证据。
后来才发现,我想错了。
我到底跑了什么
先把条件交代清楚,免得看起来像在吹。
同一份工作流,同一个随机种子,同一段提示词。我只动两个东西:
① 分辨率:608p 还是 768p
② 步数:20 步基础模型,还是 6 步配加速模型
这里说的"加速模型"就是 turbo LoRA,一种给大模型挂上去的小补丁,能让它少走几步就出画面。
四组配置跑下来是这样:
E1:608p · 20 步 · 不加速 → 75.7 分钟 · 322 KB
E2:608p · 6 步 · 加速 → 25.8 分钟 · 638 KB
E3:768p · 20 步 · 不加速 → 137.7 分钟 · 414 KB
E4:768p · 6 步 · 加速 → 82.9 分钟 · 847 KB
四组的产物规格完全一样:56 帧,24 帧率,2.33 秒,自带一条 AAC 音轨。
也就是说,我拿"时间"和"文件体积"这两个数字就能把它们排个序。
发现一:少走 14 步,画面反而更清楚
E1 和 E2 是同一个分辨率。
E1 跑 20 步,75.7 分钟。
E2 只跑 6 步,加加速模型,25.8 分钟。
快了 2.94 倍,省下大约 50 分钟。
看到这你可能觉得,那画质肯定要掉。
我当时也这么想。
结果文件体积是 638 KB 对 322 KB,将近两倍。
同分辨率、同帧数、同编码参数,体积大意味着什么?
意味着纹理细节更多,压缩痕迹更少。
我不太信,就把两条片子抽帧摆一起看。
上排是 20 步,下排是 6 步加加速。
灯罩的纹理、花束的层次、茶具的反光、窗帘的褶皱,下排都更清楚。
768p 那两组对比更明显:E4 比 E3 少花 55 分钟,体积反而是 2.04 倍。
这里有个反直觉的地方。
加速模型的原理是让单步变慢——在 768p 下,E4 的单步耗时是 E3 的 2.09 倍。
真正的提速,完全来自步数从 20 降到 6。
所以"少步数加加速模型"这套组合,不是拿画质换时间。
它是换了一条更省事的路子。
省时间,画面还更好。
发现二:慢的原因不是芯片弱
这条是我觉得最值钱的。
我去翻了 ComfyUI 的运行日志,里面有一行:
Native ops:  , emulated ops: mxfp8, convrot_w4a4,
float8_e4m3fn, float8_e5m2, asym_w4a8_int8,
nvfp4, int8_tensorwise
前面那个 Native ops: 后面是空的。
后面跟了七种压缩格式的名字。
意思是:这七种量化格式,在这台 M1 Max 上一个都没有硬件加速。
每走一次矩阵乘,都得先做一次软件反量化。
211 秒一步,就是这么来的。
顺便解释一下,nvfp4 是这批格式里最激进的一种,用 4 位来存权重。
不是 M1 Max 算力不行。
是它根本没有对应这些格式的指令。
我又去翻了 ComfyUI 的源码,找到它判定"原生支持"的条件:
① nvfp4 需要 NVIDIA,而且计算能力要 ≥ 10,也就是 50 系 Blackwell 起步
② mxfp8 还要再叠一个 torch ≥ 2.10 的条件
③ int8 那几个,需要 NVIDIA,而且不能是苹果的 MPS 后端
苹果的判定直接返回假,永远拿不到。
那 NVIDIA 那边呢?
40 系及以下,在 nvfp4 上同样要走软件模拟。
换句话说,这个模型最大的那份量化红利,只有 50 系能吃到。
如果你正准备为了跑 AI 视频换显卡,这条值得先看清楚。
发现三:分辨率不是免费的,构图还会跟着变
我把 608p 提到 768p,像素量涨了 1.61 倍。
单步耗时涨了 1.88 倍。
多出来的那 0.27,是注意力开销——画面一大,它涨得比像素还快。
落到时间上,就是从 75.7 分钟变成 137.7 分钟。
多花 62 分钟,换 1.61 倍的像素。
还有一个我原本没想到的事。
E1 和 E3 用的是完全相同的随机种子和提示词,我只是把分辨率调高了。
结果构图变了。
E3 的画面明显更"近",人物和沙发都更大,能看到的房间范围更小。
这是因为画面尺寸一变,同一个种子在潜空间里的映射方式就跟着变了。
实践上的意思是:想靠提高分辨率"把同一个画面变清楚",做不到。
需要特定构图,就得在目标分辨率下重新抽卡。
画质上的实话
既然说到这,不足的地方我也讲清楚。
608p 下,整体偏软。
面部和织物的细节不够,有一点涂抹感。
手部结构也不够清晰,指节是含混的——这是视频生成的老毛病了。
不过有一点比我预期好。
六帧抽出来看,人物身份、服装颜色、场景布局从头到尾是一致的。
没有跳脸,没有肢体粘连,也没有画面撕裂。
作为"跑通验证",这条完全达标。
作为能直接发的素材,608p 的细节不够,得上 768p。
真正做成一条能发出去的短片
上面那些都是对照实验,产物只有 2.33 秒。
我想做的其实是一条能发出去的短片。
素材是一张真人照片,一个女生在直播间里的截图。
目标:让她跳起来,跳够十几秒。
这个过程我翻车了一次,成功了三段。
第一个坑,也是最贵的那个:帧数不能省。
我为了省时间,把帧数从 124 降到了 22。
为什么是 124?
因为模型节点的说明里写着,训练范围大约是 124 到 362 帧。
22 帧远在下限之外。
结果片子跑到第 2 到第 4 帧,人就变成了另一个人。
衣服也换了——原图的米白细肩带上衣,变成了背心加袖套,配白色短裙。
场景也换了,变成一个有环形灯的现代房间。
0.92 秒的片子,整条作废。
我原本想着省 58 分钟。
实际付出的代价,是把整条重跑一遍。
说实话,这个坑花得值。
它让我明白这类模型有一条硬边界,边界之外不是"质量差一点",是"完全不是你要的东西"。
改回 124 帧之后,从头到尾都是同一个人。
第二个坑:参考图里没有的信息,必须写死。
我给的是上半身截图。
下半身,图里没有。
那模型怎么办?它只能自己编。
第一次编出来的就是那条白短裙。
解法很直接:把缺的部分明确写出来,让它照着画,别自由发挥。
我在提示词里加了这么一段:
【服装 · 必须全程一致】
上身:米白色细肩带紧身上衣(与输入图片完全一致)
下身:米白色高腰阔腿长裤
脚部:白色平底运动鞋
不得更换任何一件衣物,不得把长裤变成裙子或短裤。
后面出来的就是米白阔腿裤配白鞋,跟要求对上了。
第三个坑:不要一上来就要全身。
单张参考图里,人物占画面越大,身份就越稳。
面部特写最稳,全身最不稳——因为下半身得靠模型补。
我改成了"先近后远":前一段先保持中近景把身份定住,后面几段再慢慢拉远。
比一上来就全身好得多。
第四个坑:提示词别写太长。
我第一版的提示词 2340 个字,写了 9 段完整编舞、17 个章节。
模型在动作转折的地方,直接重新生成了一个人。
后来砍到 760 字左右,只描述一个连续动作。
身份就稳了。
5 秒钟装不下 9 个镜头。
每多一个转折,就多一次把脸丢掉的机会。
怎么把 5 秒变成 17 秒
单段最长 5.17 秒,124 帧,不够发。
我的做法是续接:用上一段的最后一帧,当作下一段的第一帧。
v2 是 124 帧、5.17 秒,首帧用参考图。
v3 是 73 帧、3.04 秒,首帧用 v2 的末帧。
v4 是 90 帧、3.75 秒,首帧用 v3 的末帧。
一段接一段,最后拼成 17 秒。
这个方法为什么可靠?我算了一下拼接处的像素差,平均 2.94 / 255。
基本等于无缝。
原因是图生视频的第一帧是直接拉伸到画布的,输入帧本身已经是目标分辨率,所以输出几乎等于输入。
而且它风险小。
每段三五秒单独验证,出问题只损失一段,不用重跑整条。
我预测错了两次
这部分我犹豫要不要写。
但数据是我自己跑的,错了就是错了,记下来比藏起来有用。
第一次:我预测 768p 的单步耗时会是 608p 的 1.5 到 1.7 倍。
实测 1.88 倍。
我把注意力开销估低了。
第二次:我把 608p 上测出来的加速模型系数 0.961,直接套到 768p 上,预测 E4 端到端大约 44 分钟。
实测 82.9 分钟,低了 1.88 倍。
毛病是一样的:在一个条件下测出的系数,不能搬到另一个条件下用。
这条教训很朴素,但我确实犯了两次。
还有一个我没搞明白的事
有一次图生视频的任务,单步耗时 11,850 秒。
正常值是 211 秒。
56 倍。
按这个速度跑满 20 步,要 65 个小时。
我当时已经跑了 7.5 小时,手动停了。
我排除了几个可能:
① 不是画面尺寸问题。我读了源码,算过张量尺寸,跟正常任务完全一样。
② 不是卡死。CPU 时间一直在涨,步数从 1/20 走到了 2/20。
③ 不是内存不够。后面几个任务在内存余量 25% 到 59% 之间都很正常。
根因没找到。
我只能说"没复现"——后来换了一张图配 2340 字提示词,单步 146 秒,完全正常。
怀疑方向是超长提示词配九宫格图,那次提示词有 4081 字,多模态序列可能太长了。
但没验证,所以不算结论。
现在的做法是:图生视频先用 2 步小规模试跑。
确认单步耗时的量级正常,再放开跑。
不试就直接上 20 步,一次就是几十个小时。
所以到底该怎么配
把结论收一下。
如果机器不用换,先把配置换掉:
① 快速抽卡、试提示词:608p + 6 步 + 加速模型,约 26 分钟
② 出成片:768p + 6 步 + 加速模型,约 83 分钟
③ 不推荐:20 步基础模型,多花 55 分钟,画质还更差
如果要买卡:
① 显存别低于 24G。扩散模型 19.53G 加文本编码器 14.61G,加起来 34.5G。8G 和 16G 的卡装不下,必然走分块加载,速度会被拖垮。
② 想要量化加速,看 50 系。nvfp4 的原生门槛是计算能力 ≥ 10,40 系及以下都要走软件模拟。
③ 苹果这边,别指望换代解决速度问题。除非它补齐了这些矩阵乘算子,否则还是"装得下,算得慢"。
说句实在话
这两天我一共跑了四组对照,加一次翻车,加三段续接。
最有用的一条,不是"该买什么卡"。
是我先去翻了日志里那行 Native ops:。
它直接告诉我,慢在哪里,换什么才有用。
如果那天我没翻日志,可能现在已经下单一块新显卡了。
先把方法调对,再谈硬件。

相关学习资料