qvgen给视频生成的低比特量化提供了一条很实用的路

这可真是个让人头疼的事儿,视频生成领域的模型是越做越大,效果是越来越好,可是训练和推理的成本也是蹭蹭往上涨。为了让大家伙儿能用得起,大家都在想方设法搞量化,特别是想把模型的比特数给降下来,省显存、省算力。可谁成想,现实太骨感,一旦降到3比特或者4比特,那种叫QAT的训练就变得特别难,稳定性一塌糊涂,生出来的视频质量惨不忍睹,甚至根本用不了。 好在香港科技大学、北航还有商汤这些地方的研究者们联合搞出了一个叫QVGen的新招数,专门给视频生成的扩散模型量身定做。这招一用下来,在3比特和4比特的低比特数下,生成质量直接拉回了可用水平,特别是4比特的效果甚至都快赶上全精度了。这结果在ICLR大会上那是相当亮眼,论文的接收分也说明了它确实有两把刷子。 那这QVGen到底是怎么做到的呢?其实它也没硬搬图像那套老办法。研究者发现视频扩散模型的梯度范数特别大,这就导致优化过程很不稳,低比特训练根本收敛不了。QVGen于是加了个辅助模块Φ,在训练阶段把梯度范数压一压,好让训练稳当点。这时候大家可能会想,加个模块是不是会让推理变慢?但实际上这个模块就是用来帮大忙的,训练完了就拿掉它。训练的时候用了个叫rank-decay的策略,把那些影响不大的成分给衰减掉。等到真正推理的时候,这东西就几乎没什么额外负担了。 这么一搞,QVGen在3比特和4比特的设置下质量提得很明显。不管模型有多大,效果还是能接近全精度。而且它还能省下不少显存空间,要么让同样的模型跑在更小的硬件上,要么让同样的硬件处理更高的分辨率或者更大的batch大小。它用的是标准的均匀量化思路,跟现有的推理内核对接也很方便,还能和别的加速方法一起用,跑得更快。 有人可能会怕这个辅助模块Φ会让训练开销大增。不过研究数据说话:GPU用的时间和显存峰值几乎没变,反倒是在生成质量上拉开了差距。说到底,QVGen给视频生成的低比特量化提供了一条很实用的路。它先稳住训练这块心病,再轻松搞定推理需求,不仅显存省了不少,也给想把视频生成技术用得更广泛的人指明了方向。