机器学习周报三十九
文章目录摘要Abstract1.TurboDiffusion1.1 注意力改进1.2蒸馏模型1.3权重量化2 训练和推理2.1 训练阶段2.2 推理阶段3 Make It Count3.1数据集3.2损失函数总结摘要本周阅读了清华大学的论文《TurboDiffusion: Accelerating Video Diffusion Models by 100–200 Times》了解了扩散模型新的加速框架和恐怖的加速能力。AbstractThis week, I read the Tsinghua University paper ‘TurboDiffusion: Accelerating Video Diffusion Models by 100–200 Times’ and learned about a new acceleration framework for diffusion models and its astonishing speed-up capabilities.1.TurboDiffusion在视频生成领域扩散模型的推理延迟很高很高清华大学、生数科技和UC Berkeley联合发布了TurboDiffusion实现端到端的系统优化视频生成的速度提升了一百到二百倍质量却几乎没有损失。多重注意力机制加速结合低比特 SageAttention 与可训练的 Sparse-Linear Attention (SLA)大幅降低注意力计算开销。高效步数蒸馏采用最新的 rCM 蒸馏技术将采样步数从上百步压缩至 3-4 步。全链路量化方案引入 W8A8 (INT8) 权重与激活值量化优化线性层执行效率。极致工程优化基于 Triton 和 CUDA 重写 LayerNorm 等关键算子消除系统瓶颈。1.1 注意力改进(1) SageAttention (低比特加速)SageAttention 是一种针对 8-bit 量化设计的注意力加速算子。它在保证精度的前提下充分利用 Tensor Core 的算力。(2) Sparse-Linear Attention (SLA)SLA 通过引入稀疏性来打破平方复杂度的瓶颈。其核心思想是只计算部分关键权重的注意力。A t t e n t i o n ( Q , K , V ) S o f t m a x ( Q K T d × M ) V Attention(Q,K,V)Softmax(\frac{QK^T}{\sqrt d} \times M )VAttention(Q,K,V)Softmax(dQKT×M)VM MM是稀疏掩码矩阵由Top-K策略生成。× \times×代表逐元素生成。由于稀疏计算与低比特 Tensor Core 加速是正交的TurboDiffusion 将两者结合为 SageSLA实现了累加的性能提升。1.2蒸馏模型基于 rCM 的步数蒸馏为了减少推理步数TurboDiffusion 采用了 rCM (Score-regularized Continuous-time Consistency) 蒸馏技术。rCM 属于一致性模型Consistency Models的进阶版通过引入分数正则化使得学生模型在极少步数下如 3-4 步仍能保持极高的生成质量。1.3权重量化在扩散模型中有大量的线性层如nn.Linear(in_channel,d_model)这些操作的权重以及激活函数的激活值占据了大量的内存加载权重都花费了大量的时间也增加了显存所以采用W8A8粒度128 x 128的全量化方式128 x 128就是把权重矩阵切成128行x128列的小块每个小块肚子量化W8A8权重和激活值都用INT8的数据类型保存。2 训练和推理2.1 训练阶段稀疏适配将原预训练模型中的 Full Attention 替换为 SLA通过微调Fine-tuning让模型适应稀疏计算。并行蒸馏同时利用 rCM 技术将模型蒸馏为少步数模型。权重融合将 SLA 微调和 rCM 训练得到的权重更新合并形成最终的加速版模型。2.2 推理阶段算子替换SLA 升级为高性能的 SageSLA CUDA 实现。采样压缩设置步数为 3 或 4。动态量化在推理运行过程中对激活值进行实时 INT8 量化。在Wan2.1-T2V小参数量的模型下生成480p的视频只需要1.9s对14B的模型的加速效果达到了199倍而且只需要在单张5090就可以进行推理。3 Make It CountCVPR2025的论文《Make It Count: Text-to-Image Generation with an Accurate Number of Objects》论文针对的是生成模型生成的物体数量和提示词的不一致的问题他们提出了一种叫做CountGen的架构。文章的摘要尽管文本到图像的扩散模型取得了前所未有的成功但使用文本来控制描述对象的数量是非常困难的。这对于从技术文件、儿童读物到烹饪食谱的各种应用都很重要。生成对象正确的计数在本质上是具有挑战性的因为生成模型需要对对象的每个实例保持单独的身份感即使几个对象看起来相同或重叠然后在生成过程中隐式地执行全局计算。这种表象是否存在目前还不得而知。为了解决计数正确的生成问题我们首先在扩散模型中识别能够携带物体身份信息的特征。 然后使用它们在去噪过程中分离和统计对象的实例并检测过生成和欠生成。我们通过训练一个模型来修复后者该模型可以根据现有物体的布局来预测丢失物体的形状和位置并展示了它如何使用正确的物体计数来指导去噪。我们的方法CountGen并不依赖于外部来源来确定对象布局而是利用了来自扩散模型本身的先验创建了依赖提示和依赖种子的布局。在两个基准数据集上进行评估我们发现CountGen明显优于现有基线的计数精度。然后看到论文的第三章描述了他们的主要做法1输入提示词借助SDXL模型生成图片但是在生成过程中t500打断模型得到一个模糊的图像进行物体定位提取模糊的布局图。2训练一个ReLayout模型对原本的k个物体的布局图生成k1个无图的布局图迭代到正确的数量得到修正的布局图。3得到修正布局图回到扩散模型生成过程在文本提示的指导下继续生成得到正确物体数量的图片。3.1数据集模型训练需要k到k1的布局对的数据集作者发现提示词中除了指定物体的计数有变化其他的噪声之类的超参数都一致的情况下得到的生成图片布局类似就可以通过这个步骤生成布局数据集。3.2损失函数在掩码修正部分使用的是DCIE和Overlap掩码描述掩码之间的差异。L ( c , m ) − Σ i ω i ( m i l o g c i ( 1 − m i ) l o g ( 1 − c i ) ) L(c,m)-\Sigma_i \omega_i(m_ilog c_i (1-m_i)log(1-c_i))L(c,m)−Σiωi(milogci(1−mi)log(1−ci))论文定义了一个加权的二元交叉熵损失m是二值掩码m i 1 m_i1mi1代表像素i属于物体m i 0 m_i0mi0代表物体属于背景。c是从扩散模型提取的关于目标词的聚合交叉注意力分数c i c_ici越高代表像素i属于物体概率越大。损失函数奖励m为1交叉注意力分数c越高的地方惩罚m为0出现高c值的位置。总结本周联系之前的内容在扩散模型的速度问题和计数问题上进行学习。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2488130.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!