FFSplit:一种用于优化语言模型推理精度和效率权衡的分割前馈网络
内容提要
该文综述Transformer前馈网络(FFN)的稀疏化与高效化研究:S-FFN中Avg-K块选择优于MoE;MoEfication以10%–30%参数保持性能;快速前馈(FFF)打破层大小与推理成本的线性关系;共享FFN、EfficientBERT、PartialFormer等减少参数与计算;分析发现FFN早期稀疏、含死神经元和标记检测器,部分神经元具位置性,并存在从残差流删除信息的机制;剪枝加迁移学习可压缩超70%参数且不损准确率。
延伸解读
FFN稀疏化:从MoE到Avg-K的简化
文章指出,S-FFN中采用Avg-K块选择方法(通过均值聚合隐藏状态选择块)比现有MoE架构在语言建模预训练中实现更低困惑度。这提示FFN稀疏化设计未必需要复杂的路由机制,更简单的选择策略可能更有效。同时,MoEfication仅用10%–30%的FFN参数即可保持性能,说明FFN存在大量冗余,稀疏激活是提升推理效率的可行路径。
FFF打破层大小与推理成本的线性关系
快速前馈(FFF)通过引入对数时间的前馈网络替代方案,打破了层大小与推理成本之间的线性关系。实验显示,FFF在推理成本的指数分数上表现出与FFN相当的性能,且比专家混合网络更快达到目标性能。将FFF推到极限,甚至能在仅5.8%性能下降的情况下执行单神经元推理。这为Transformer中FFN的高效化提供了新思路,尤其适合对推理延迟敏感的场景。
FFN内部机制:稀疏性、死神经元与信息删除
对OPT家族模型的分析发现,网络早期部分稀疏,许多神经元从未在多样数据集上激活(死神经元),且活跃神经元常作为标记和n-gram检测器。值得注意的是,FFN更新不仅促进下一标记候选项,还明确删除触发当前输入的信息,这是首个从残差流中专门删除信息的机制示例。随着规模增长,模型更稀疏,死神经元和标记检测器更多;部分神经元具有位置性,较小模型有位置范围指示器,较大模型则更隐式。
剪枝与迁移学习:压缩超70%参数不损准确率
通过剪枝和迁移学习,文章提出一种新颖的FFN构建方法,能在不损失准确率的情况下压缩参数数量超过70%。精心选择剪枝参数后,大多数精炼模型性能甚至优于原始模型。这表明FFN存在大量可压缩的冗余,合理剪枝不仅能减小模型体积,还可能提升泛化能力,为高效模型设计和使用提供了实用方向。
Q&A
FFSplit 提出的 Avg-K 块选择方法相比 MoE 有什么优势?
在语言建模预训练中,Avg-K 通过均值聚合隐藏状态来选择块,比现有的 MoE 架构实现了更低的困惑度。
MoEfication 方法如何减少 FFN 参数并保持性能?
MoEfication 将模型的前馈网络分解为多个功能分区,并建立专家路由器决定每个输入使用哪个专家。实验表明,该方法仅使用 10% 至 30% 的 FFN 参数就能保持原始性能,同时提高推理 FLOPS 效率。
快速前馈(FFF)架构如何打破层大小与推理成本的线性关系?
FFF 通过引入对数时间的前馈网络替代方案,打破了层大小与推理成本之间的线性关系。在推理成本的指数分数上,FFF 表现出与标准前馈网络相当的性能,并且比专家混合网络更快地提供性能,甚至可以在 transformers 中取代它们。
分析 FFN 神经元激活时发现了哪些稀疏性和功能特性?
研究发现:网络的早期部分是稀疏的,代表许多离散特征;很多神经元从未在大量多样数据集上被激活(死神经元);许多活跃神经元专门用于离散特征,作为标记和 n-gram 检测器;FFN 更新不仅促进下一个标记候选项,还明确专注于删除触发它们标记的信息(从残差流中删除信息的机制);随着规模增长,模型更稀疏,具有更多死神经元和标记检测器;一些神经元是位置性的,其激活取决于位置而非文本内容。
如何通过剪枝和迁移学习压缩 FFN 参数而不损失准确率?
通过剪枝和迁移学习,提出了一种新颖的前馈神经网络构建方法,能在不损失准确率的情况下压缩参数数量超过 70%。通过精心选择剪枝参数,大多数精炼模型的性能甚至优于原始模型。
共享 FFN 架构如何减少参数并提升性能?
通过删除解码器层的 FFN 并在编码器中共享单个 FFN,大幅减少参数数量,只有轻微准确率下降。最终通过增加共享 FFN 的隐藏维度将架构恢复到原始尺寸,从而在准确率和延迟方面取得显著提升。