oppo手机使用翻墙
要知道,现在的扩散模型基本都超过了10亿参数,想要快速生成一张图片,要么基于云计算,要么就是要本地硬件够强大了。
由此,谷歌的研究员们带来了这篇新成果,名字就叫Speed is all you need:通过GPU优化加速大规模扩散模型在设备上的推理速度。
该方法是针对Stable Diffusion来做的优化,但同时也能适应其他扩散模型。面向的任务是从文本生成图像。
组归一化是在整个UNet体系结构中实现,这种归一化的工作原理是将特征映射的通道划分为更小的组,并对每个组独立归一,使组归一化较少依赖于批大小,并且能适应更大范围的批处理大小和网络架构。
研究人员以GPU着色器(shader)的形式设计了一个独特的核,能在没有任何中间张量的情况下,在单个GPU命令中执行所有内核。
通过一个专用着色器来整合这些数值计算以及伴随的分割和乘法操作,使得这些计算能放在一个简单的draw call里。
为了避免在大矩阵A上执行整个softmax计算,该研究设计了一个GPU着色器来计算L和S向量以减少计算,最终得到一个大小为N×2的张量。然后将softmax计算和矩阵V的矩阵乘法融合。
需要强调的是从A到L、S的计算映射的并行是有限的,因为结果张量中的元素比输入张量A中的元素数量要少得多。
为了增加并行、进一步降低延迟,该研究将A中的元素组成block,将归约操作(reduction operations)切分为多个部分进行。
这是去年火起来的IO感知精确注意力算法,具体有两种加速技术:按块递增计算即平铺、并在后向传递中重新计算注意力,将所有注意力操作融合到CUDA内核中。
不过FlashAttention内核的缓存器密集度非常高(register-intensive),所以该团队是有选择性地使用这一优化方法。
Stable Diffusion的主干非常依赖3×3卷积层,尤其是在图像解码器方面,这里90%的层都是由3×3卷积层构成的。
在三星S23 Ultra上端到端从文本生成一张512×512像素的图片oppo手机使用翻墙,迭代20次,耗时在12秒以内。