ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

ltx-2.5-mlx-q8 速度优化:Pruna 剪枝 VAE 解码器如何让视频解码提速 2 倍(compact24 档实测)

ltx-2.5-mlx-q8 速度优化:Pruna 剪枝 VAE 解码器如何让视频解码提速 2 倍(compact24 档实测)

ltx-2.5-mlx-q8 速度优化:Pruna 剪枝 VAE 解码器如何让视频解码提速 2 倍(compact24 档实测)

在 Apple Silicon 上跑 LTX-2.5 视频生成,VAE 解码往往是最耗时的环节。ltx-2.5-mlx-q8 仓库内置了一份Pruna 剪枝 VAE 解码器(vae_decoder_pruna.safetensors),可近乎无感替换原装解码器。本文带你弄懂它是什么、实测收益有多大、以及如何在 compact24 档下最快启用。

先认识 ltx-2.5-mlx-q8:Apple 芯片上的 LTX-2.5 全套组件

这是一个面向 MLX 运行时的 LTX-2.5(文本生成视频 + 音频)完整组件树,与基础版相比唯一的区别是 Gemma-4 文本编码器被量化为 int8(13.6 GB 对比 23.8 GB),其余文件逐字节一致。仓库内主要文件如下:

文件作用大小(LFS 记录)
gemma4-12b-ltx-v1/int8 量化文本编码器(3 分片)约 13.6 GB
connector.safetensors文本特征连接器(8 层 Transformer)约 6.3 GB
vae_decoder.safetensors标准视频 VAE 解码器814,349,515 B
vae_decoder_pruna.safetensorsPruna 剪枝解码器(本文主角)690,025,680 B
vae_encoder.safetensors视频 VAE 编码器约 638 MB
vae_diffusion_decoder.safetensors、audio_vae.safetensors、vocoder.safetensors潜扩散解码器 / 音频 VAE / 声码器—
spatial_upscaler_x2_v1_1.safetensors、temporal_upscaler_x2_v1_0.safetensors2 倍空间 / 时间上采样器—

💡 注意:本仓库不含量化 DiT。DiT 是独立的量化维度,int8 编码器与 bf16 / int8 DiT 可以自由组合,详见 README.md 的 “Why it exists” 一节。

为什么 VAE 解码是提速的关键

LTX-2.5 的出片流程可以概括为:文本编码器 → DiT(潜空间去噪)→ VAE 解码器(把潜变量还原成像素帧)。前两步有流式加载等手段可优化,而解码阶段是实打实把全部空间/时间维度展开成像素的“重活”——帧数、分辨率越高,解码占比越大。换句话说,谁能让解码变快、变省内存,谁就拿到了整条流水线的最大红利。

Pruna 剪枝 VAE 解码器:它和原装到底差在哪

vae_decoder_pruna.safetensors来自 PrunaAI 发布的PrunaVAED:一个经过剪枝 + 蒸馏微调的 LTX-2 视频 VAE 解码器,可作为原装解码器的“即插即用”替代品。仓库于 2026-07-31 将其从 diffusers 布局转换为本仓库使用的ltx-core扁平解码器格式,转换只做键名映射 + PyTorch→MLX 卷积转置,不改动任何张量数值。

几个值得留意的工程细节(均来自 README.md 说明):

  • 不是单纯的“砍通道”:其中两个块携带原装解码器没有的通道适配器 ResBlock(conv_in512→384 与 384→256,附带仿射norm3)。MLX 解码器会从权重自动推导每个层宽、并在检测到适配器时自动启用,因此无需改代码。
  • 潜空间完全不动:编码器、潜变量格式、逐通道统计量都保持原装——也就是说,上游生成流程一行代码都不用改,只换解码端。
  • 一份文件通吃两代:视频 VAE 在 LTX-2.3 与 LTX-2.5 之间逐字节相同,所以该文件同时服务两个版本。
  • 完整性可校验:文件 690,025,680 字节,SHA-256 为891ec5f0680acea9acbdd651c9756a26c5d3298480224356cf5ea86071846f79。

对比原装 vae_decoder.safetensors(814,349,515 B),剪枝版体积直接少了约 15%——而收益远不止参数变少这么简单。

compact24 档实测:解码约 2× 提速,峰值内存 21.1 GB → 14.5 GB

官方在24 GB M5 Pro上、compact24档位(测试单号 AB-R-0561,ltx-2-mlx-swift)给出了两组关键数据:

场景指标原装解码器Pruna 剪枝解码器
compact24 档自身包络每条 clip 墙钟耗时基线−15.9%(峰值不变)
解码构成瓶颈的 704×512×121峰值内存21.1 GB(超预算,触发换页)14.5 GB(预算内)

📌一句话理解:在“解码绑死总耗时”的高分辨率场景,剪枝解码器不仅把解码速度提升到约2 倍,还把峰值激活显存从 21.1 GB 压到 14.5 GB——直接让一次原本超预算、需要 swap 的运行回到预算之内。对于 24 GB 机型的用户,这是“跑得动 / 跑得顺”的差别。

配合仓库本身的 int8 文本编码器(整程峰值 14.6 / 15.4 GB),小内存机器上的“双杠杆”组合也就完整了:编码器降基线内存 + Pruna 解码器降解码峰值,README 特别强调两者必须同时生效,缺一不可。

如何启用:一个环境变量即可切换解码器

Swift 移植版提供了两种选择方式,任选其一:

  • 环境变量:LTX_VAE_DECODER=pruna
  • 配置项:LTX2Configuration.vaeDecoderPath指向剪枝解码器文件

而且在 compact24、balanced32 等低档位中,Swift 移植版已把 Pruna 解码器设为默认解码器——也就是说,按官方低档配置出片时,你其实已经在享受这份提速了。模型文件本身建议通过 Hugging Face 工具链(如hf命令行)拉取后放入工作目录,解码器路径与 vae_encoder.safetensors 同级。

兼容性与许可须知

  • 许可:PrunaVAED 以 LTX-2 许可证发布,本仓库中的转换副本按 LICENSE.md 的 LTX-2 Community License 一并分发,README 对应章节即为修改声明(协议 §3.3);镜像与格式转换不改变、不放宽任何条款。
  • 质量预期:解码结果是“近乎相同但非逐位一致”的视频,属于同等有效的另一种输出;官方通过盲测 A/B 判定可接受。
  • 模型整体受 LTX-2 社区许可约束(含营收门槛条款),商用前请先阅读 LICENSE.md 与 ltx-acceptable-use-policy-snapshot-2026-08-12.pdf。

总结

  • Pruna 剪枝 VAE 解码器是 ltx-2.5-mlx-q8 里最“立竿见影”的提速件:解码约2×提速、解码激活峰值显著下降。
  • compact24 档实测:墙钟−15.9%;704×512×121 解码瓶颈场景峰值内存21.1 → 14.5 GB,超预算变预算内。
  • 启用零门槛:LTX_VAE_DECODER=pruna或直接走LTX2Configuration.vaeDecoderPath;低档位默认即启用。
  • 潜空间格式与编码器保持不变,上游流程零改动,且 LTX-2.3 / 2.5 通用。

如果你的 Mac 是 24 GB 档且经常出 512×288 以上的高分辨率视频,这个剪枝解码器基本是“必开”的默认项。🎬

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进