<ul class="dashed" data-apple-notes-indent-amount="0"><li><span style="font-family: '.PingFangUITextSC-Regular'">文章标题:</span>Timestep Embedding Tells: It’s Time to Cache for Video Diffusion Model</li><li><span style="font-family: '.PingFangSC-Regular'">文章地址:</span><a href="https://arxiv.org/abs/2411.19108">https://arxiv.org/abs/2411.19108</a> </li><li>CVPR 2025</li></ul> <img src="https://imagedelivery.net/phxEHgsq3j8gSnfNAJVJSQ/node3_78c23b0a-d265-4238-9abf-1322b7447e5d/public" style="background-color:initial;max-width:min(100%,2230px);max-height:min(940px);;background-image:url(https://imagedelivery.net/phxEHgsq3j8gSnfNAJVJSQ/node3_78c23b0a-d265-4238-9abf-1322b7447e5d/public);height:auto;width:100%;object-fit:cover;background-size:cover;display:block;" width="2230" height="940"><ul class="dashed" data-apple-notes-indent-amount="0"><li></li></ul> 以cache来实现推理加速往往需要判断当前步数的相邻的模型输出的差异大不大,因此需要计算模型的输出,并不能加速推理,而先前方法为了解决该问题,提出了统一的缓存方式,即固定某些步数。作者提到这样固定的方式无法做到灵活缓存,降低了加速效率。因此作者提出TeaCache,使用模型的输入来指示是否cache,具体来说,该方法将timestep embedding修改后的噪声输入来进行指示,因为作者发现该指示在扩散过程中与模型输出具有较强的对应关系,如下图: <img src="https://imagedelivery.net/phxEHgsq3j8gSnfNAJVJSQ/node3_55acd5a6-e6da-4b96-a892-915904b2d336/public" style="background-color:initial;max-width:min(100%,2286px);max-height:min(744px);;background-image:url(https://imagedelivery.net/phxEHgsq3j8gSnfNAJVJSQ/node3_55acd5a6-e6da-4b96-a892-915904b2d336/public);height:auto;width:100%;object-fit:cover;background-size:cover;display:block;" width="2286" height="744"> 因此,可以在输入端判断是否需要cache,完成动态推理加速。另外,作者提到,指示与模型输出本身具有scaling bias,因此提出多项式拟合,用指示来估计模型输出,从而进一步估计减少误差。 <ul class="dashed" data-apple-notes-indent-amount="0"><li>开源:<a href="https://github.com/ali-vilab/TeaCache">https://github.com/ali-vilab/TeaCache</a> </li></ul>