做外贸的人如何上国外网站,怎么做自己的淘宝客推广网站,余杭区高端网站建设,室内设计网站大全免费现有Transformer模型的速度通常受到内存低效操作的限制#xff0c;尤其是MHSA#xff08;多头自注意力#xff09;中的张量整形和逐元素函数。 设计了一种具有三明治布局的新构建块#xff0c;即在高效FFN#xff08;前馈#xff09;层之间使用单个内存绑定的MHSA#x…现有Transformer模型的速度通常受到内存低效操作的限制尤其是MHSA多头自注意力中的张量整形和逐元素函数。 设计了一种具有三明治布局的新构建块即在高效FFN前馈层之间使用单个内存绑定的MHSA从而提高内存效率同时增强通道通信。 注意力图在头部之间具有高度相似性导致计算冗余。
为了解决这个问题提出了一个级联的组注意力模块为注意力头提供完整特征的不同分割。 Transformer模型的速度通常受内存限制。内存访问延迟阻碍了GPU/CPU中计算能力的充分利用从而对Transformer的运行速度产生严重的负面影响。
内存效率最低的操作是多头自注意力MHSA中频繁的张量整形和逐元素函数。通过适当调整MHSA和FFN前馈网络层之间的比例可以在不影响性能的情况下显著减少内存访问时间。 通过向每个头提供不同的特征来显式分解每个头的计算来缓解冗余问题。 为了提高参数效率我们使用结构化剪枝来识别最重要的网络组件并总结模型加速参数重新分配的经验指导。 结构化剪枝是在神经网络已经训练好的情况下按照一定的剪枝策略来修剪掉一部分神经元或连接从而减少模型的大小保持模型的精度形成一个新的更加简单的模型。 结构化剪枝能够直接减少卷积核的参数量和运算量减少网络运行时的内存占用不需要特征运算库即可实现运算加速。 EfficientViT
MBConv模块使用深度可分离卷积即每个输入通道只与一个卷积核进行卷积然后再将结果相加从而减少了参数数量。Lighted Multi-scale Self-attention (轻量级多尺度自注意力) DWConv指的是深度卷积GConv指的是组卷积。 深度卷积是组卷积的极端情况即分组数g等于输入通道数cin也等于输出通道数cout 组卷积常用在轻量型高效网络中因为它用少量的参数量和运算量就能生成大量的feature map而大量的feature map意味着能够编码更多的信息。 组卷积指的是什么
组卷积是将输入特征图分成多个组然后在每个组内进行卷积操作最后将每个组的输出特征图拼接起来作为最终的输出特征图 假设输入特征图的通道数为C组数为G每组的通道数为C/G那么组卷积的操作可以表示为
将输入特征图分成G组每组包含C/G个通道。对每个组进行卷积操作得到每组的输出特征图。将G个组的输出特征图拼接起来得到最终的输出特征图。 设计一个具有三明治布局的新块来构建模型 三明治布局块在FFN层之间应用单个内存绑定的MHSA层 并应用更多的FFN层来允许不同通道之间的通信从而提高内存效率 内存绑定的MHSA多头自注意力层通过优化数据结构和计算流程减少了内存使用提高了计算效率。这种优化可能包括更有效的张量整形操作、减少不必要的数据复制、以及使用更紧凑的数据表示等
级联群体注意力CGA
与先前对所有头使用相同特征的自注意力相比CGA为每个头提供不同的输入分割并将输出特征级联到各个头。
该模块不仅减少了多头注意力中的计算冗余而且还通过增加网络深度来提高模型容量。我们通过扩大关键网络组件例如值投影的通道宽度来重新分配参数同时缩小重要性较低的组件例如FFN中的隐藏维度
使用Vision Transformers加快速度
内存效率
内存访问开销是影响模型速度的关键因素。Transformer中的许多运算符例如频繁的整形、逐元素加法和归一化都是内存效率低下的需要跨不同内存单元进行耗时的访问。
我们通过减少内存效率低下的层来节省内存访问成本。内存效率低下的操作主要位于MHSA多头注意力而不是FFN层。然而大多数现有的ViT使用相同数量的两层无法达到最佳效率。
事实证明适当降低MHSA层利用率可以在提高模型性能的同时提高内存效率。