第三课:加速技术拆解

第二课的结论:480p→4K 最快也只有 ~3 FPS。本课拆解把"不可用"变成"可用"的四件武器——蒸馏、稀疏化、量化、工程优化——以及每件武器的加速比和代价。选型时你要组合它们。预计用时 10 分钟。

1. 蒸馏:多步 → 单步

扩散模型慢的根因是迭代去噪(StableSR 需 50 步、3.194 s/帧)。蒸馏用大模型(教师)教小模型(学生)一步到位:

工作做法效果
FlashVSR 三阶段蒸馏:完整 3D 注意力教师 → 稀疏因果注意力 → 单步学生 比此前单步扩散 VSR 快 12×,768×1408 达 17 FPS
RCOD 潜在分组 + 退化感知采样的单步蒸馏 0.09–0.28 s/帧,可训练参数仅 8–10M
TinySR 结构化剪枝压缩扩散模型 5.68× 加速,参数减少 83%

代价:蒸馏管道设计复杂;学生模型的生成质量略低于教师(fidelity-realism 权衡再次登场)。

2. 稀疏化:不算不该算的

第二课说过注意力是 O(N²)。稀疏化的洞察是:大部分计算本来就在浪费——

代价:需要准确识别"可跳过区域";误判区域会出现质量不均。

3. 量化与工程优化:最后一英里

技术代表效果代价
训练后量化(PTQ) HarmoQ(2-bit) 3.2× 加速,4× 显存节省 极端位宽下 PSNR 波动(HarmoQ 反超此前方法 0.46dB)
模型轻量化 Real-ESRGAN 优化版 推理时间缩短 58%(FLOPs 234G→98G) 需重新训练/微调
TensorRT 编译优化 Real-ESRGAN 优化版 T4 上 45ms → 18ms(2.5×) 工程投入;算子兼容性踩坑
批量处理 通用手段 吞吐提升约 40% 延迟换吞吐,实时场景不可用

4. 组合:加速比可以叠乘吗?

这是选型的关键判断。作用在不同层面的技术可以近似叠乘,作用在同一层面的会互相侵蚀

5. 动手练习

练习 1:Real-ESRGAN 4K 单帧推算 1.08 s。先做轻量化(时间 −58%,即 ×0.42),再做 TensorRT(×0.4,参考 T4 的 45→18ms)。估算组合后单帧耗时(秒)。
练习 2:FlashVSR 4K 推算 2.2 FPS。叠加 SkipSR 式 token 跳过(加速 60%,即耗时 ×0.4)后,估算 4K 帧率(FPS)。

6. 自测

Q1:扩散模型加速最根本的手段是?
蒸馏减少步数
扩大显存容量
提高输入分辨率
增加采样步数
Q2:SkipSR 加速的核心洞察是?
简单区域跳算
所有权重量化
全部帧批处理
减少训练轮数
Q3:哪组组合最可能实现加速比近似叠乘?
蒸馏加量化编译
量化加再量化法
蒸馏加再蒸馏法
剪枝加再剪枝法
Q4:HarmoQ 证明 2-bit 量化超分的代价是?
画质几乎无损
速度不升反降
显存占用翻倍
无法部署上线

7. 延伸

主读材料
FlashVSR 模型页与论文 —— 一课集齐三大技术(蒸馏 + 稀疏注意力 + 轻量解码器)的实战范本,重点看它的三阶段蒸馏管道图。
有疑问就问
我是你的老师。比如"蒸馏为什么不会大幅掉质量""量化为什能省显存"——随时问。