【LLM】从零开始学大语言模型 | SSM篇 | 3 | S4 Model 简洁
S4 Model 简洁:一个 SSM Block 内部到底在做什么 上一篇文章介绍了 SSM 的数学基础和典型 Block 结构。本文将聚焦于 S4(Structured State Space Sequence Model)这个 SSM 家族中第一个真正取得工程成功的模型,逐个拆解 S4 Block 中每个组件的任务、输入、输出和设计目的。 本文的讲解方式类似讲解 Transformer Block:先讲整体架构,再逐个组件说明"它是什么、它做什么、它为什么存在",不涉及数学优化和工程优化的细节。 一、S4 的整体定位 S4 于 2021 年提出,是第一个在长序列建模任务上全面超越 Transformer 的 SSM 模型。它在 Long Range Arena(LRA)基准上取得了全面领先的成绩——按原始 LRA 六项任务的算术平均来看,S4 约为 81.84%,而当时的 Transformer 变体约为 45%。 数据注记:有的总结材料里会把 S4 在 LRA 上的平均准确率写成约 86.1%。这个数字和上文按六项明细算出的 81.84% 并不完全吻合,可能来源于不同的报告版本、是否包含特定任务变体、加权平均还是算术平均等差异。读者如果在写作或复习时引用这一数据,建议优先以逐任务明细为准,并注意区分“某一版本汇总的平均值”和“从明细算出的算术平均”。 S4 的核心贡献不在于改变了 SSM 的基本方程,而在于解决了两个实际问题: 如何初始化矩阵 $\mathbf{A}$: 通过 HiPPO 理论推导出理论上最优的 $\mathbf{A}$ 矩阵,使 SSM 从一开始就具备长程记忆能力。 如何高效计算: 通过 DPLR(对角加低秩)结构和 Z 变换,将卷积核计算的复杂度从 $O(LN^2)$ 压缩到 $O((L+N)\log(L+N))$。 但这些优化细节将在后续的优化篇中讲解。本文先专注于 S4 Block 的架构本身。 ...