【Transformer 与注意力机制】26|前馈网络:那个看似平平无奇的两层 MLP,其实是「记忆」所在
💡
原文中文,约29300字,阅读约需70分钟。
📝
内容提要
本文探讨了Transformer中的前馈网络(FFN),强调其在模型中的重要性。FFN占据了大约三分之二的参数量,是模型存储知识的主要部分。文章分析了FFN的结构、设计选择及其与注意力机制的关系,指出FFN负责每个token的内部计算,而注意力处理token间的通信。现代模型普遍采用SwiGLU替代ReLU,以提高性能。FFN的逐位置计算特性使其在推理时具有并行处理的优势,但也带来了量化时的挑战。整体来看,FFN在Transformer中扮演着核心角色。
🎯
关键要点
- 前馈网络(FFN)占Transformer模型参数量的三分之二,是模型存储知识的主要部分。
- FFN的结构是两层MLP,第一层将维度从d升到4d,经过ReLU激活后再压回d。
- FFN负责每个token的内部计算,而注意力机制处理token间的通信。
- 现代模型普遍采用SwiGLU替代ReLU,以提高性能,SwiGLU的d_ff设为8d/3。
- FFN的逐位置计算特性使其在推理时具有并行处理的优势,但在量化时面临挑战。
- FFN的设计选择包括两层结构和4倍扩张比,这些选择有实证依据。
- FFN被视为键值记忆,能够存储模型学到的事实和模式。
- FFN的计算可以无成本地并行,适合在GPU上高效运行。
- FFN在推理阶段是带宽瓶颈,无法缓存历史计算结果。
- FFN的激活值分布呈现厚尾特性,导致量化时处理困难。
❓
延伸问答
前馈网络(FFN)在Transformer模型中占据什么样的地位?
FFN占Transformer模型参数量的三分之二,是模型存储知识的主要部分。
FFN的结构是怎样的?
FFN由两层MLP组成,第一层将维度从d升到4d,经过ReLU激活后再压回d。
FFN与注意力机制的主要区别是什么?
FFN负责每个token的内部计算,而注意力机制处理token间的通信。
现代模型为何普遍采用SwiGLU替代ReLU?
SwiGLU提高了性能,能够更好地处理激活值分布的问题。
FFN在推理阶段的计算特性是什么?
FFN的逐位置计算特性使其在推理时具有并行处理的优势,但在量化时面临挑战。
FFN的激活值分布有什么特点?
FFN的激活值分布呈现厚尾特性,导致量化时处理困难。
🏷️
标签
➡️