Ultrafast machine learning on FPGAs via Kolmogorov-Arnold Networks - infra 架构解读

HackerNews入库于 2026/6/10|

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 在吞吐量上占优,但存在两个结构性瓶颈:

  1. 调度开销:GPU 动态指令调度、内存访问延迟无法低于微秒级,Sub-microsecond 场景天花板明显。
  2. 固定推理模型:传统 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 单位分解性在数学上保证,这类"硬约束优于软约束"的思路在大模型训练中值得更多关注。

参考资源