Ultrafast machine learning on FPGAs via Kolmogorov-Arnold Networks - infra 架构解读
原文:https://aarushgupta.io/posts/kan-fpga/ 解读视角:大模型基础建设架构设计 日期:2026-06-10
TL;DR
KANELÉ 通过将 Kolmogorov-Arnold Network(KAN)的可学习单变量激活函数直接映射到 FPGA 查找表(LUT),实现了纳秒级推理延迟,比同类 KAN-FPGA 实现快 2700 倍。KAN 的激活函数具备两个关键硬件友好属性:B-spline 局部性(每次前向仅激活少数基函数)和有界性(激活值与梯度在可预测范围内),前者使梯度更新天然稀疏,后者使定点量化训练稳定——这两点在 GPU 上难以利用,在 FPGA 上却成为核心优势。该工作首次在 FPGA 上实现了亚微秒级端到端在线学习(前向 + 反向 + 参数更新全部在 FPGA 上),彻底消除了 CPU/GPU 往返延迟瓶颈,为实时控制场景(量子控制、核聚变等)提供了全新推理基础设施范式。
背景与动机
工程问题的精确定位
GPU 在吞吐量上占优,但存在两个结构性瓶颈:
- 调度开销:GPU 动态指令调度、内存访问延迟无法低于微秒级,Sub-microsecond 场景天花板明显。
- 固定推理模型:传统 FPGA 加速方案将模型部署后即固化,模型无法在运行时适应非平稳信号(如动态物理系统)。
量子控制、核聚变等场景的状态演变频率高达 GHz 级,需要模型在小于 1 微秒内完成"感知-决策-学习"全闭环,这是 GPU 架构的绝对盲区。
为何选择 KAN 而非 MLP
从工程角度看,MLP 在 FPGA 部署时存在根本性矛盾:
- 矩阵乘法本质是多变量函数,映射到 LUT 时 LUT 条目数随输入维度指数增长
- 非线性激活函数固定,无法利用 LUT 的函数存储优势
- 中间值幅度随层数累积扩大,定点量化范围难以预设
KAN 的激活函数是可学习的单变量函数(而非权重矩阵),恰好契合 LUT 存储单变量映射的原语能力。
核心架构解析
架构分层:推理态 vs. 学习态
KANELÉ 在同一 FPGA 上维护两种截然不同的电路状态:
推理态(静态部署):
- 训练后的激活函数
φ_{q,p}(x)整体量化写入 LUT - 每个 LUT 对应一条网络边,存储完整的输入-输出映射
- 前向传播 = LUT 查表 + 加法树,无乘法,延迟确定性极强
学习态(在线训练):
- LUT 存储 B-spline 基函数
{B_i(x)}(固定),系数c_{q,p,i}存在可读写内存中 - 前向传播 = LUT 查 B-spline 值 + 与系数向量点积
- 反向传播 = 另一组 LUT 存储 B-spline 导数值 + 复用前向中间结果
- 梯度更新 = 专用并行电路直接修改系数内存,无调度开销
这种"推理态与学习态双模式"架构是本工作的核心工程创新,直接对应大模型基建中 serving 与 fine-tuning 的分离关注点。
关键计算原语
推理态 (Inference Mode):
Input x → LUT lookup φ(x) → Adder Tree → Layer Output
学习态 (Online Learning Mode):
Input x → Interval Index i + Offset x_o
→ LUT lookup {B_1(x_o), ..., B_{S+1}(x_o)}
→ Dot product with coefficients c[i]
→ Adder Tree → Layer Output
→ LUT lookup {B'_1, ..., B'_{S+1}} (derivatives)
→ Backprop → Direct coefficient memory update
量化感知训练(QAT)的设计选择
训练阶段使用 AMD Brevitas 进行 QAT,关键点:
- 量化器置于网络输入和每层输出,使训练分布与推理分布一致
- 输入量化器包含可学习的 scale 和 bias(处理非对称分布)
- Batch Normalization 统计量在推理时折叠进仿射变换常数,消除 BN 的运行时开销
- 梯度通过 Straight-Through Estimator(STE)回传,绕过量化不可微问题
关键工程决策
决策 1:完整激活函数 vs. B-spline 基函数的存储选择
这是推理态与学习态之间最核心的 tradeoff:
- 推理态存整体激活:推理效率最高(单次 LUT 查表),但模型参数固定,无法在线更新
- 学习态存基函数:支持在线更新(只需更新系数),但前向需要额外点积运算
这个选择揭示了一个工程原则:不同生命周期阶段的同一模型应使用不同的存储表示。类比 LLM 推理基建:KV Cache 格式与训练时的 activation checkpoint 格式就是两种不同表示,服务于不同目标。
决策 2:LUT 剪枝的结构性优势
传统 LUT-NN(如 LogicNets)使用顺序索引结构,每个 LUT 的输出耦合到下一个 LUT 的输入——剪枝任何一个节点都会破坏整个链式结构,因此剪枝极其困难。
KAN 的加和结构(y_q = Σ φ_{q,p}(x_p))使每个 LUT 对最终输出的贡献独立,移除任何一个 φ_{q,p} 只减少一次加法和一个 LUT,不影响其他路径。这将剪枝从"架构级破坏性操作"变为"逐边细粒度优化"。
剪枝策略采用指数预热调度(exponential warmup),在 epoch t_start 后启动,目标 epoch t_target 时达到完整剪枝阈值——这与大模型训练中的学习率预热逻辑完全同构。
决策 3:B-spline 有界性解决定点量化稳定性
MLP 中量化不稳定的根源:矩阵乘法输出幅度随输入幅度线性扩大,难以预设量化范围。
B-spline 满足 Σ B_i(x) = 1(单位分解性),因此 KAN 激活输出 f(x) = Σ c_i B_i(x) 必然落在 [min(c_i), max(c_i)]。系数范围由训练控制,激活值范围就此被锁定——这意味着无需动态调整量化范围,定点位宽可以精确分配。
梯度也满足类似的有界性,使反向传播的数值稳定性在固定位宽下可以保证。
决策 4:消除 CPU/GPU 往返的硬件闭环
传统 FPGA + CPU 架构的在线学习流程:
FPGA(推理) → PCIe → CPU/GPU(梯度计算) → PCIe → FPGA(权重更新)
PCIe 传输单次往返约 1-10μs,已超过目标延迟预算。
KANELÉ 的方案:
FPGA(推理 + 梯度计算 + 权重更新,全在 FPGA 数字逻辑上)
消除数据搬运,全链路在 FPGA 片上完成,延迟降至纳秒级。
工程模式提炼
| 模式名称 | 适用场景 | 核心机制 | 可复用性 |
|---|---|---|---|
| 函数原语 LUT 化 | 固定域单变量函数推理加速 | 将连续函数量化为离散映射存入查找表,推理变为索引操作 | 高:任何固定域激活函数均可适用,如 ReLU、GELU 的 LUT 近似 |
| 加和独立性剪枝 | 基于加法分解的网络稀疏化 | 利用输出对每个分支贡献独立的性质,按 L1 范数逐边移除冗余连接 | 高:MOE(Mixture of Experts)中 Expert 重要性评估,注意力头剪枝均可借鉴 |
| 双模式表示切换 | 训练-推理分离的混合系统 | 训练时存基函数+可更新系数;推理时存完整激活函数;阶段切换仅需重写内存 | 中:LLM serving 中的 KV Cache 预计算 vs. 动态生成的分离思路类似 |
| 范数有界量化设计 | 定点量化神经网络训练 | 利用 B-spline 单位分解性将激活值范围锁定在系数范围内,消除量化范围动态搜索 | 高:对任何采用标准化基函数的网络层均可应用 |
| 梯度更新内置硬件 | Sub-μs 在线学习 | 将梯度计算和权重更新逻辑实现为专用数字电路,消除 CPU 介入 | 中:适用于参数规模受限的边缘推理场景,大模型规模参数量超出 FPGA 容量 |
| 剪枝指数预热调度 | 结构化剪枝训练稳定化 | 剪枝阈值从 0 按指数增长至目标值,避免训练初期过度稀疏干扰收敛 | 高:与学习率 warmup 同构,可直接应用于任何渐进式正则化训练 |
| 层间延迟流水线 | 多层网络的吞吐优化 | 各层电路串接,利用 FPGA 寄存器实现层间流水,峰值吞吐取决于最慢层 | 高:对任何深层 FPGA 加速器均适用,与 CPU 流水线设计原理相同 |
对大模型基建的启示
1. 推理基础设施:LUT 化激活函数
当前 LLM 推理中,GeLU、SwiGLU 等激活函数通过浮点运算实现,存在精度和速度的权衡。KANELÉ 的方案提示:对于部署在 FPGA/ASIC 上的专用推理芯片,将激活函数完全 LUT 化是系统性加速路径——条件是激活函数定义在有界域上,KAN 的设计满足这一前提,而标准 MLP 的激活函数通常需要额外 clipping 或归一化。
2. 服务架构:硬件计算闭环消除往返延迟
KV Cache 生成在 GPU 上运行,但在某些场景中(如 speculative decoding 的 verifier、routing 层),计算极轻量却对延迟敏感。KANELÉ 的全片上闭环思路提示:将小型轻量网络下沉到 FPGA/SmartNIC,消除 PCIe 往返,可显著降低某些环节的 P99 延迟。
3. 稀疏性设计:从加和独立性中学习剪枝
大模型的 Expert 路由(MoE)在概念上与 KAN 的加和激活高度同构——每个 Expert 对最终输出独立贡献。KANELÉ 的 L1 范数剪枝策略(基于输入域采样估计激活重要性)可直接迁移为 Expert 级别的重要性评估和静态剪枝方案,特别适用于 MoE 模型的硬件部署优化。
4. 量化工程:有界性约束作为量化设计先验
LLM 量化(如 GPTQ、AWQ)的核心困难之一是激活分布的 outlier 问题,需要动态范围调整或 smooth quant 等额外机制。KAN 通过结构性约束消除了 outlier 的可能性——这提示在设计新型网络架构时,将激活有界性作为一阶约束,可以系统性地降低量化工程的复杂度。
5. 边缘部署:在线学习作为差异化能力
边缘侧 LLM 推理的一个未解问题是个性化与持续学习:云端微调后部署的模型无法感知端侧环境变化。KANELÉ 证明了在资源极度受限的设备上实现实时在线学习的可行性,这对端侧 LLM 的个性化微调硬件架构有直接参考价值——尤其是当模型规模缩减到可在 FPGA/NPU 上容纳时。
反常识点
- KAN 曾被认定为 FPGA 上不可行:此前唯一的 FPGA 实现论文直接结论是"KAN 在 FPGA 上代价过高,不实用",KANELÉ 通过重构映射方式(存激活函数而非存 B-spline 基函数)将结论完全逆转,实现 2700 倍加速。
- FPGA 比 GPU 更适合某类学习场景:通常认为训练/在线学习是 GPU 的专属领域,但对于亚微秒级在线学习,GPU 的调度开销本身已是不可逾越的延迟下限,FPGA 定制电路反而是唯一可行路径。
- 更多参数不需要更多资源:通过增大 B-spline 网格大小 G(提升模型表达能力),资源消耗近乎不变,因为 G 只影响系数存储容量而不增加组合逻辑(S+1 个活跃基函数数量与 G 无关)。
- 剪枝是 KAN 的内生能力而非外加技巧:MLP 的剪枝需要重新设计矩阵结构,KAN 的剪枝是自然的——移除加和中的任何一项不破坏其余项,这是架构本身的代数性质。
- 定点量化稳定性来自数学约束而非调参:KAN 的量化稳定性不依赖 loss scaling、gradient clipping 等启发式方法,而是由 B-spline 单位分解性在数学上保证,这类"硬约束优于软约束"的思路在大模型训练中值得更多关注。
参考资源
- 原文:https://aarushgupta.io/posts/kan-fpga/
- KANELÉ 论文(FPGA 2026 Best Paper):https://dx.doi.org/10.1145/3748173.3779202
- 在线学习论文(ICML 2026):https://arxiv.org/abs/2602.02056
- KANELÉ 开源代码:https://github.com/Duchstf/KANELE
- 论文预印版:https://arxiv.org/html/2512.12850v1