While transformers have been at the core of most recent advancements in sequence generative models, their computational cost remains quadratic in sequence length. Several subquadratic architectures have been proposed to address this computational issue. Some of them, including long convolution sequence models (LCSMs), such as Hyena, address this issue at training time but remain quadratic during inference. We propose a method for speeding up LCSMs' exact inference to quasilinear $O(L\log^2L)$ time, identify the key properties that make this possible, and propose a general framework that exploits these. Our approach, inspired by previous work on relaxed polynomial interpolation, is based on a tiling which helps decrease memory movement and share computation. It has the added benefit of allowing for almost complete parallelization across layers of the position-mixing part of the architecture. Empirically, we provide a proof of concept implementation for Hyena, which gets up to $7.8\times$ end-to-end improvement over standard inference by improving $110\times$ within the position-mixing part.
Flash Inference: Near Linear Time Inference for Long Convolution Sequence Models and Beyond 论文ID : 2410.12982标题 : Flash Inference: Near Linear Time Inference for Long Convolution Sequence Models and Beyond作者 : Costin-Andrei Oncescu, Sanket Purandare, Stratos Idreos, Sham Kakade (Harvard University)分类 : cs.LG, cs.AI发表时间 : arXiv预印本,2024年10月提交,2025年11月更新(v2)论文链接 : https://arxiv.org/abs/2410.12982 本文针对长卷积序列模型(LCSMs)在推理阶段的二次时间复杂度问题,提出了Flash Inference框架,将精确推理的时间复杂度降低到准线性 O ( L log 2 L ) O(L\log^2L) O ( L log 2 L ) 。该方法受松弛多项式插值(relaxed polynomial interpolation)启发,基于分块(tiling)策略减少内存移动并共享计算。在Hyena架构上的实验表明,端到端推理获得了7.8倍加速,位置混合部分获得了110倍加速。
虽然Transformer在序列生成模型中取得了巨大成功,但其计算成本在序列长度上呈二次增长(O ( L 2 ) O(L^2) O ( L 2 ) ),这在训练和推理阶段都成为瓶颈。为解决这一问题,研究者提出了多种亚二次架构,包括状态空间模型(SSMs)和长卷积序列模型(LCSMs,如Hyena)。
训练效率已解决 :LCSMs通过FFT可以在训练时达到 O ( L log L ) O(L\log L) O ( L log L ) 的复杂度推理效率未解决 :在自回归推理时,由于输入序列是逐步生成的,无法直接使用FFT,导致复杂度退化为 O ( L 2 ) O(L^2) O ( L 2 ) 长上下文需求 :随着大语言模型处理越来越长的上下文,推理效率问题变得更加突出近似方法(Massaroli et al. 2024) :将卷积滤波器投影到低维LTI SSM,但这只是近似,且需要昂贵的蒸馏预计算,不支持数据依赖滤波器递归视角 :对于低维SSM可能高效,但对高维SSM(维度接近序列长度)仍然效率低下结构利用方法 :需要滤波器具有特定结构(如低秩LTI SSM),限制了模型表达能力本文旨在提供一个精确 且通用 的推理加速框架,不依赖于滤波器的特定结构,同时支持数据依赖滤波器。
首个准线性精确推理算法 :提出LCSMs的 O ( L log 2 L ) O(L\log^2 L) O ( L log 2 L ) 时间复杂度精确推理算法,相比之前的近似方法实现了精确模拟通用框架识别 :识别了使快速推理成为可能的关键架构属性(贡献基础、查询无关),提出了适用于更广泛架构类的Flash Inference框架跨层并行化 :利用分块策略实现位置混合部分几乎完全的跨层并行计算内存优化 :通过分块方法显著减少数据移动,从 Ω ( L 2 ) \Omega(L^2) Ω ( L 2 ) 降低到 O ( L log L ) O(L\log L) O ( L log L ) ,对数据独立滤波器可节省2倍激活存储实证验证 :在Hyena架构上实现端到端7.8倍加速,卷积部分110倍加速自回归序列生成 :给定提示序列 x 1 , … , x p x_1, \ldots, x_p x 1 , … , x p ,模型需要逐个生成后续token。在每个位置 i i i ,模型通过所有层计算激活 a i [ 1 , M ] a^{[1,M]}_i a i [ 1 , M ] ,最后从 a i M a^M_i a i M 采样生成 x i + 1 x_{i+1} x i + 1 。
核心计算瓶颈 :对于每层 ℓ \ell ℓ 和每个维度,需要计算:
z t = ∑ i = 1 t y i ⋅ ρ t − i z_t = \sum_{i=1}^{t} y_i \cdot \rho_{t-i} z t = ∑ i = 1 t y i ⋅ ρ t − i
其中 y y y 是输入序列,ρ \rho ρ 是长度为 L L L 的卷积滤波器。朴素实现需要 Ω ( L 2 ) \Omega(L^2) Ω ( L 2 ) 时间。
模型由 M M M 层组成,每层包含:
位置混合模块 (mixer):mixer ℓ : R L × D → R L × D \text{mixer}^\ell: \mathbb{R}^{L\times D} \to \mathbb{R}^{L\times D} mixer ℓ : R L × D → R L × D ,使不同位置的嵌入交互特征混合模块 (block):block ℓ : R D → R D \text{block}^\ell: \mathbb{R}^D \to \mathbb{R}^D block ℓ : R D → R D ,包括MLP、层归一化等激活计算:
a ℓ ( x ) i = block ℓ ( mixer ℓ ( a ℓ − 1 ( x ) ) i ) a^\ell(x)_i = \text{block}^\ell(\text{mixer}^\ell(a^{\ell-1}(x))_i) a ℓ ( x ) i = block ℓ ( mixer ℓ ( a ℓ − 1 ( x ) ) i )
对于LCSMs,mixer通过卷积实现:
mixer ℓ ( y ) t = ∑ i = 1 t y i ⊙ ρ t − i ℓ \text{mixer}^\ell(y)_t = \sum_{i=1}^{t} y_i \odot \rho^\ell_{t-i} mixer ℓ ( y ) t = ∑ i = 1 t y i ⊙ ρ t − i ℓ
其中 ⊙ \odot ⊙ 是Hadamard积,ρ ℓ ∈ R L × D \rho^\ell \in \mathbb{R}^{L\times D} ρ ℓ ∈ R L × D 是滤波器(通常由低维参数 θ \theta θ 生成:ρ = f ( θ ) \rho = f(\theta) ρ = f ( θ ) )。
Lazy(懒惰)方法 :
仅在需要时计算 z t = ∑ i = 1 t y i ⋅ ρ t − i z_t = \sum_{i=1}^{t} y_i \cdot \rho_{t-i} z t = ∑ i = 1 t y i ⋅ ρ t − i 每个位置需要 O ( t ) O(t) O ( t ) 操作,总复杂度 O ( L 2 ) O(L^2) O ( L 2 ) Eager(急切)方法 :
当 y t y_t y t 可用时,立即计算其对所有未来位置的贡献 第 t t t 次迭代需要 O ( L − t ) O(L-t) O ( L − t ) 操作,总复杂度仍为 O ( L 2 ) O(L^2) O ( L 2 ) Relaxed(松弛)方法 (本文提出):
将贡献空间分块,使用FFT高效计算块内贡献 关键创新:平衡的矩形分块而非细长条状 定义 τ ( y , [ l , r ] , ρ , [ l ′ , r ′ ] ) \tau(y, [l,r], \rho, [l',r']) τ ( y , [ l , r ] , ρ , [ l ′ , r ′ ]) 为 y [ l , r ] y_{[l,r]} y [ l , r ] 对 z [ l ′ , r ′ ] z_{[l',r']} z [ l ′ , r ′ ] 的聚合贡献:
τ ( y , [ l , r ] , ρ , [ l ′ , r ′ ] ) t = ∑ i = l r y i ⋅ ρ t − i , ∀ l ′ ≤ t ≤ r ′ \tau(y, [l,r], \rho, [l',r'])_t = \sum_{i=l}^{r} y_i \cdot \rho_{t-i}, \quad \forall l' \leq t \leq r' τ ( y , [ l , r ] , ρ , [ l ′ , r ′ ] ) t = ∑ i = l r y i ⋅ ρ t − i , ∀ l ′ ≤ t ≤ r ′
Lemma 1 :存在基于FFT的算法,在 O ( ( L 1 + L 2 ) log ( L 1 + L 2 ) ) O((L_1+L_2)\log(L_1+L_2)) O (( L 1 + L 2 ) log ( L 1 + L 2 )) 时间内计算 τ \tau τ ,其中 L 1 = r − l + 1 L_1 = r-l+1 L 1 = r − l + 1 ,L 2 = r ′ − l ′ + 1 L_2 = r'-l'+1 L 2 = r ′ − l ′ + 1 。
for i = 1 to L-1:
U ← 最大的能整除i的2的幂
z_i += y_i * ρ_0 # 红色单元:直接依赖
z[i+1:i+U] += τ(y, [i-U+1, i], ρ, [i+1, i+U]) # 灰色块:急切计算
return z_i
unlock y_{i+1}
关键特性 :
在第 i i i 次迭代,计算边长为 U U U 的灰色块(U U U 是整除 i i i 的最大2的幂) 红色单元处理当前位置的直接依赖 灰色块提前计算部分未来贡献 复杂度分析(Proposition 1) :
对长度为 2 q 2^q 2 q 的块,有 2 P − 1 − q 2^{P-1-q} 2 P − 1 − q 次调用(L = 2 P L=2^P L = 2 P ) 总时间:∑ q = 0 P − 1 2 P − 1 − q ⋅ O ( 2 q log 2 q ) = O ( L log 2 L ) \sum_{q=0}^{P-1} 2^{P-1-q} \cdot O(2^q \log 2^q) = O(L\log^2 L) ∑ q = 0 P − 1 2 P − 1 − q ⋅ O ( 2 q log 2 q ) = O ( L log 2 L ) 内存:O ( L ) O(L) O ( L ) (峰值由最大块决定) 将Algorithm 1扩展到多层多维:
for i = 1 to L-1:
U ← 最大的能整除i的2的幂
for ℓ = 1 to M: # 遍历层
b^ℓ_i += a^{ℓ-1}_i ⊙ ρ^ℓ_0 # 红色单元
a^ℓ_i = block^ℓ(b^ℓ_i)
b^ℓ[i+1:i+U] += τ(a^{ℓ-1}, [i-U+1, i], ρ^ℓ, [i+1, i+U]) # 灰色块
a^0_{i+1} = sampler(a^M_i)
复杂度(Proposition 2) :
Mixer部分:O ( M D L log 2 L ) O(MDL\log^2 L) O ( M D L log 2 L ) Block部分:L M LM L M 次调用(通常 O ( M L D 2 ) O(MLD^2) O ( M L D 2 ) ) 激活存储:O ( M L D ) O(MLD) O ( M L D ) 灰色块计算可以跨所有层并行执行:
for i = 1 to L-1:
for ℓ = 1 to M:
处理红色单元(必须顺序)
parallel for ℓ = 1 to M:
处理灰色块(可并行)
优势 :
小块(87.5%的块大小≤4)通常受内存延迟限制,并行化可饱和内存带宽 大块使用FFT实现,计算密集,并行化提升吞吐量 数据移动 :从 Ω ( L 2 ) \Omega(L^2) Ω ( L 2 ) 降至 O ( L log L ) O(L\log L) O ( L log L ) (平均每次迭代访问 log L \log L log L 个位置)激活复用 :在位置 i i i 用 a i ℓ a^\ell_i a i ℓ 的空间存储 b i ℓ b^\ell_i b i ℓ (之后不再需要 b i ℓ b^\ell_i b i ℓ )FFT预计算 :对 log L \log L log L 个不同块大小预计算滤波器的DFT,节省1.5倍计算标准FFT卷积需要4U长度的FFT(输出长度3U-1) 本文只需2U长度的循环卷积(感兴趣的输出范围 [ U , 2 U − 1 ] [U, 2U-1] [ U , 2 U − 1 ] 不受循环影响) 通过修改分块策略(Algorithm 5),支持 ρ \rho ρ 依赖于数据的情况,代价是2倍计算量。
P.1 贡献基础(Contribution-based) :
Mixer通过聚合贡献工作:
mixer ( y ) i = read ( agg ( cont ( y , 1 , i ) , … , cont ( y , i , i ) ) ) \text{mixer}(y)_i = \text{read}(\text{agg}(\text{cont}(y,1,i), \ldots, \text{cont}(y,i,i))) mixer ( y ) i = read ( agg ( cont ( y , 1 , i ) , … , cont ( y , i , i )))
其中:
cont : R D × N × N → X \text{cont}: \mathbb{R}^D \times \mathbb{N} \times \mathbb{N} \to \mathcal{X} cont : R D × N × N → X :贡献函数agg : X ∗ → X \text{agg}: \mathcal{X}^* \to \mathcal{X} agg : X ∗ → X :结合律聚合函数read : X → R D \text{read}: \mathcal{X} \to \mathbb{R}^D read : X → R D :读取函数示例 :
LCSMs :X = R D \mathcal{X}=\mathbb{R}^D X = R D ,agg = ∑ \text{agg}=\sum agg = ∑ ,cont ( y , i , j ) = y i ⊙ ρ j − i \text{cont}(y,i,j)=y_i\odot\rho_{j-i} cont ( y , i , j ) = y i ⊙ ρ j − i Self-attention :X = R D × R \mathcal{X}=\mathbb{R}^D\times\mathbb{R} X = R D × R ,cont ( y , i , j ) = ( v i ⋅ e ⟨ k i , q j ⟩ , e ⟨ k i , q j ⟩ ) \text{cont}(y,i,j)=(v_i\cdot e^{\langle k_i,q_j\rangle}, e^{\langle k_i,q_j\rangle}) cont ( y , i , j ) = ( v i ⋅ e ⟨ k i , q j ⟩ , e ⟨ k i , q j ⟩ ) ,read ( v , w ) = v / w \text{read}(v,w)=v/w read ( v , w ) = v / w P.2 查询无关(Query-independent) :
cont ( y , i , j ) \text{cont}(y,i,j) cont ( y , i , j ) 不依赖于 y [ i + 1 , L ] y_{[i+1,L]} y [ i + 1 , L ] (LCSMs满足,Transformer不满足)
假设存在算法 A \mathcal{A} A 能在 T ( L 1 , L 2 ) T(L_1, L_2) T ( L 1 , L 2 ) 时间内计算块贡献:
A ( y , [ l , r ] , [ l ′ , r ′ ] ) = agg ( cont ( y , l , p ) , … , cont ( y , r , p ) ) \mathcal{A}(y, [l,r], [l',r']) = \text{agg}(\text{cont}(y,l,p), \ldots, \text{cont}(y,r,p)) A ( y , [ l , r ] , [ l ′ , r ′ ]) = agg ( cont ( y , l , p ) , … , cont ( y , r , p ))
Theorem 2 :在P.1和P.2下,每层执行:
L − 1 L-1 L − 1 次 A \mathcal{A} A 调用(2 P − 1 − q 2^{P-1-q} 2 P − 1 − q 次长度 2 q 2^q 2 q 的调用)总时间:∑ q = 0 P − 1 2 P − 1 − q T ( 2 q , 2 q ) \sum_{q=0}^{P-1} 2^{P-1-q} T(2^q, 2^q) ∑ q = 0 P − 1 2 P − 1 − q T ( 2 q , 2 q ) 跨层并行:灰色块无数据依赖,可并行 两种实验设置 :
Hyena架构 :真实的LCSM模型合成设置 :简化的LCSM(blocks为MLP+GELU,sampler添加噪声)超参数扫描 :
批大小 B ∈ { 1 , 2 , 4 , 8 } B \in \{1,2,4,8\} B ∈ { 1 , 2 , 4 , 8 } 层数 M ∈ { 18 , 36 } M \in \{18, 36\} M ∈ { 18 , 36 } 嵌入维度 D ∈ { 256 , 768 , 864 } D \in \{256, 768, 864\} D ∈ { 256 , 768 , 864 } 序列长度 L L L :最大能容纳内存的2的幂(2 15 2^{15} 2 15 到 2 18 2^{18} 2 18 ) 硬件 :NVIDIA H100和A100 GPU
预热与平均 :2次预热,4次运行取平均
Baseline :
Lazy :朴素逐位置计算Eager :提前计算所有未来贡献Lazy NP / Eager NP :非并行版本(不使用跨层并行)本文方法的 τ \tau τ 实现 (7种,4种在Pareto前沿):
Conv1D :PyTorch默认1D卷积核(需显式填充)Flash Conv1D :FlashFFTConv的融合核FFT :PyTorch原生FFT卷积(DFT→逐点乘→IDFT)FlashFFT :FlashFFTConv的融合FFT核Hybrid :根据块大小动态选择最优实现端到端时间 :生成全部 L L L 个token的总时间Mixer累积时间 :仅位置混合部分的时间每token时间 :单个token的平均生成时间加速比 :相对于Lazy(并行版本)的倍数提升工程优化 :
CUDA Graphs :将单token生成的所有核调度记录为图,后续重放以减少CPU开销(提升10-20%)FFT预计算 :为 log 2 ( L ) − 1 \log_2(L)-1 log 2 ( L ) − 1 个块大小预计算卷积核的DFTFlashFFT预配置 :为不同块大小预初始化配置以最大化硬件性能右填充 :使用右填充而非左填充,减少一半计算时间循环卷积 :利用循环卷积性质将FFT长度减半Mixer部分加速 (相对于Lazy):
最高110× :B = 1 , M = 18 , D = 864 , L = 2 17 B=1, M=18, D=864, L=2^{17} B = 1 , M = 18 , D = 864 , L = 2 17 平均64-110× :不同配置下持续显著加速Eager/Lazy基线 :仅0.54×(实际更慢,因为未优化)端到端加速 (表2):
最高7.8× :B = 8 , M = 18 , D = 864 , L = 2 15 B=8, M=18, D=864, L=2^{15} B = 8 , M = 18 , D = 864 , L = 2 15 平均3-8× :端到端提升受非mixer部分(MLP等)限制时间分解 (图2a):mixer从主导地位降至次要部分每token响应时间 (图2c):
低方差 :93.75%的token使用块大小≤8,时间稳定偶发尖峰 :大块计算时出现(但频率低)Mixer加速 :
Hybrid :80-124×单一实现 :Flash Conv1D(5.5-6.5×),FlashFFT(31-56×),FFT(74-119×)Conv1D (二次复杂度):仍有5-6×加速(验证了分块带来的算术强度提升)端到端加速 :
Hybrid :3.8-11.6×CUDA Graphs效果 :无CUDA Graphs时端到端仅1.6×,使用后达到8×Pareto最优曲线 (图3a):
不同块大小下,不同 τ \tau τ 实现最优 小块 (U≤4):Flash Conv1D最优(内存延迟限制)中块 (4<U≤64):FlashFFT最优大块 (U>64):FFT最优(计算密集)Lazy NP vs Lazy :0.76-0.91×(并行化提升10-30%)Eager NP vs Eager :0.49-0.53×(并行化提升近2倍)本文方法 :小块占主导,并行化效果显著Hybrid 始终最优或接近最优FFT 在多数情况下接近Hybrid(差距<20%)Flash Conv1D 虽为 O ( L 2 ) O(L^2) O ( L 2 ) ,但仍比Lazy/Eager快5倍(内存友好)非卷积部分 :在所有方法中保持一致(CUDA Graphs确保)卷积部分 :Hybrid显著优于所有baseline累积mixer时间曲线 (图2b,图3b):
Lazy/Eager :线性增长(斜率恒定)本文方法 :对数增长(斜率递减)交叉点 :约在100-1000 token处,之后优势显著理论与实践一致 :O ( L log 2 L ) O(L\log^2 L) O ( L log 2 L ) 复杂度在实验中体现为显著加速内存带宽重要性 :Flash Conv1D虽为二次复杂度,但通过优化内存访问仍获得5倍加速动态选择必要性 :无单一 τ \tau τ 实现在所有块大小下最优,Hybrid策略关键CPU开销不可忽视 :CUDA Graphs将端到端加速从1.6×提升至8×并行化收益 :小块占主导(87.5%),跨层并行化效果显著SSMs :Mamba(选择性SSM),S4(结构化SSM)LCSMs :Hyena, H3, CKConv, FlexConv其他 :Mega(移动平均门控注意力)递归视角 :利用SSM的递归形式,时间 O ( L D ′ ) O(LD') O ( L D ′ ) (D ′ D' D ′ 为状态维度)近似方法 :
Massaroli et al. 2024:蒸馏为低维LTI SSM(近似,不支持数据依赖) 本文:精确,支持数据依赖 结构利用 :
扩张卷积(Paine et al. 2016):线性时间,需特定结构 本文:无结构假设 Agarwal et al. 2024 (FutureFill):类似算法,侧重线性动力系统本文优势 :支持数据依赖滤波器,系统级优化更完善van der Hoeven 1997 :松弛多项式插值理论基础FlashFFTConv :高效FFT卷积实现理论贡献 :首次为LCSMs提供 O ( L log 2 L ) O(L\log^2 L) O ( L log 2 L ) 精确推理算法通用框架 :识别关键属性(贡献基础、查询无关),适用于更广泛架构实证验证 :Hyena上端到端7.8×加速,mixer部分110×加速系统优化 :跨层并行、内存优化、动态实现选择等工程贡献数据依赖滤波器 :虽理论支持,但需2倍计算量,实验未充分验证内存需求 :仍需存储全部激活 O ( M L D ) O(MLD) O ( M L D ) (vs 递归视角的 O ( M D ′ ) O(MD') O ( M D ′ ) )适用范围 :
不适用于Transformer(不满足查询无关) 对极低维SSM(D ′ ≪ log 2 L D' \ll \log^2 L D ′ ≪ log 2 L ),递归视角可能更优 提示阶段 :长提示时,预填充(prefill)仍主导时间,本文优化的自回归生成相对收益有限硬件依赖 :加速效果依赖GPU内存带宽特性架构设计 :设计满足Flash Inference要求且高质量的新架构因果数据依赖滤波器 :如何使滤波器数据依赖同时保持因果性(Arora et al., Karami & Ghodsi已显示潜力)混合方法 :结合递归视角(小状态维度)和卷积视角(大状态维度)更多架构 :扩展到其他满足框架属性的模型(如某些注意力变体)分布式推理 :多GPU/多节点场景下的优化复杂度分析完整 :从Lemma 1到Theorem 2,证明链条清晰通用框架抽象 :P.1和P.2属性抽象恰当,既包含LCSMs又排除不适用情况(如Transformer)数学工具选择 :松弛多项式插值理论应用巧妙分块策略 :平衡的矩形分块(vs 细长条)是关键洞察跨层并行 :识别灰色块无依赖,突破传统层序执行限制动态实现选择 :Hybrid策略体现对硬件特性的深刻理解多维度评估 :端到端、mixer、每token时间参数扫描全面 :21种配置组合(B, M, D, L)消融实验详尽 :7种 τ \tau τ 实现,并行vs非并行,CUDA Graphs效果两种设置 :真实Hyena + 合成(排除无关因素)系统级优化 :CUDA Graphs、FFT预计算、循环卷积等实用技巧开源潜力 :算法描述详细,易于复现内存分析 :Appendix D/E对内存使用的细致讨论可视化优秀 :图1的分块示意图直观符号一致 :全文符号系统清晰附录完善 :扩展讨论、证明、额外实验组织良好无真实模型训练 :使用随机初始化权重,未验证对模型质量的影响缺少端到端对比 :未与Mamba等其他高效架构对比提示阶段分析不足 :长提示场景下的实际收益未充分探讨数据依赖滤波器未实测 :Algorithm 5仅理论讨论,无实验验证内存开销 :O ( M L D ) O(MLD) O ( M L D ) 激活存储在长序列/多层时仍可能成为瓶颈峰值内存 :最大块需额外 O ( L D ) O(LD) O ( L D ) 空间(虽可通过顺序处理缓解)适用性受限 :
不适用于Transformer(主流架构) LCSMs本身质量可能不如Transformer 需架构满足特定属性 常数因子 :O ( L log 2 L ) O(L\log^2 L) O ( L log 2 L ) 中的常数可能较大(实验显示小块时FFT不是最优)最优性 :未证明 log 2 L \log^2 L log 2 L 是否为下界内存复杂度权衡 :未深入分析时间-内存Pareto前沿与近似方法 :未实验对比Massaroli et al.的质量-速度权衡与递归视角 :何时递归视角更优的定量分析不足(仅定性讨论 D ′ ∈ O ( log 2 L ) D' \in O(\log^2 L) D ′ ∈ O ( log 2 L ) )与结构利用 :未对比扩张卷积等特定结构方法开创性 :首次为LCSMs提供准线性精确推理理论深度 :连接松弛多项式插值与序列模型推理框架价值 :通用属性识别可指导未来架构设计立即可用 :Hyena等现有模型可直接应用工程启发 :系统优化技巧(CUDA Graphs等)可迁移局限性 :LCSMs在实际应用中不如Transformer普及,限制直接影响算法清晰 :伪代码详细,易于实现实验细节 :超参数、硬件配置明确开源潜力 :虽未提及代码发布,但描述足够复现硬件依赖 :需高端GPU(H100/A100)验证全部结果长序列生成 :L > 10 4 L > 10^4 L > 1 0 4 ,复杂度优势明显自回归主导 :生成token数远多于提示长度LCSM架构 :已训练的Hyena等模型高端硬件 :GPU内存带宽高,支持并行化短序列 :L < 1000 L < 1000 L < 1000 ,常数开销可能抵消优势长提示短生成 :预填充主导,自回归优化收益有限Transformer模型 :不满足查询无关属性极低维SSM :D ′ ≪ log 2 L D' \ll \log^2 L D ′ ≪ log 2 L ,递归视角更优混合架构 :Transformer + LCSM层(部分层应用本文方法)近似变体 :结合本文精确方法与低秩近似其他模态 :音频、视频生成(卷积更常见)van der Hoeven, J. (1997) . Lazy multiplication of formal power series. ISSAC. 理论基础 Poli, M. et al. (2023) . Hyena hierarchy: Towards larger convolutional language models. 主要应用对象 Massaroli, S. et al. (2024) . Laughing hyena distillery: Extracting compact recurrences from convolutions. NeurIPS. 近似方法对比 Gu, A. & Dao, T. (2023) . Mamba: Linear-time sequence modeling with selective state spaces. SSM相关工作 Fu, D. Y. et al. (2023) . FlashFFTConv: Efficient convolutions for long sequences with tensor cores. 实现基础 Agarwal, N. et al. (2024) . FutureFill: Fast generation from convolutional sequence models. 并行工作 总体评价 :这是一篇理论与实践结合紧密的优秀论文。理论上,它为LCSMs推理提供了首个准线性精确算法并抽象出通用框架;实践上,通过系统级优化实现了显著加速。主要局限在于LCSMs本身在实际应用中不如Transformer普及,以及数据依赖滤波器的实验验证不足。该工作为序列模型推理优化提供了新的视角,特别是对未来架构设计具有指导意义。推荐给关注模型效率、序列建模和系统优化的研究者。