原文:Ultrafast machine learning on FPGAs via Kolmogorov-Arnold Networks 來源:Aarush Gupta 個人部落格 日期:2026-06-07


城武導讀

我們習慣的「即時」是毫秒級。瀏覽器 render 一幀:16ms。伺服器回應一個 API:50ms。但有些物理系統——量子控制、核融合電漿、高頻交易——需要的是亞微秒級的推論和訓練。GPU 和 CPU 在這個尺度上完全無能為力。

Aarush Gupta 的碩士論文(一篇拿了 FPGA 2026 最佳論文,一篇進了 ICML 2026)提出了一個解法:把 Kolmogorov-Arnold Networks(KAN)刻進 FPGA,讓神經網路直接變成數位電路。結果是推論快 2700 倍,而且可以在晶片上即時學習——整個 forward + backward pass 不到一微秒。

這不是 LLM 新聞,但它觸及了一個根本問題:當 AI 需要控制的東西快到人類的神經傳導速度都追不上時,你把模型放在哪裡?


原文深度翻譯

Aarush Gupta(MIT)的部落格文章,解釋其碩士論文的兩篇主要成果。以下逐節翻譯。


一、為什麼要把機器學習放進 FPGA?

GPU 非常擅長平行處理大量運算,適合訓練大模型。但 GPU 無法滿足亞微秒級延遲的需求——它需要做排程、動態記憶體存取、指令優化,這些開銷在微秒尺度下是致命的。

FPGA(現場可程式化邏輯閘陣列)是一種可重構的數位邏輯裝置。你可以把神經網路直接實作成一組數位電路,而不是被 CPU 逐條執行的指令。這讓推論可以達到奈秒級。

FPGA 的基本構件是 LUT(查找表)、正反器、以及其他邏輯原語。關鍵在於:你可以針對特定演算法設計硬體,而不是讓通用硬體去跑軟體。


二、背景知識

定點數量化。 實數被編碼成位元串。例如 8 位元中有 4 位元小數部分,涵蓋範圍 [-8, 7.9375],步長 0.0625。量化誤差是關鍵考量。

LUT 神經網路。 傳統做法是把連續函數透過梯度下降訓練,然後量化成二元函數存在 LUT 裡。但多變量 LUT 會指數級膨脹——如果有 d 個輸入,每個用 b 位元,就需要 2^(d×b) 個項目。解法是把大 LUT 拆成多個小 LUT,配合算術運算。

Kolmogorov-Arnold Networks。 這是最關鍵的背景。傳統 MLP 在邊上是固定權重、在節點上是固定激活函數。KAN 把這個設計反過來:邊上是可學習的單變量激活函數 φ(x),節點只做加法。這些激活函數用 B-spline 表示:φ(x) = Σ ci Bi(x),其中 Bi 是基底函數,ci 是可學習的係數。

B-spline 有三個關鍵特性:平滑、局部(每個基底函數只在有限區間內非零)、定義在有限域上(如 [-1, 1])。這些特性在後面的硬體設計中會變得非常重要。


三、論文一:KAN 作為可訓練的 LUT 神經網路(推論)

核心洞見:每個 KAN 的激活函數都是單變量、定義在有限域上的。這對 LUT 表示來說是完美的——不像多變量 LUT 方案會指數級膨脹,KAN 天生避免了這個問題。而且 KAN 可以輕鬆剪枝:把總和中接近零的激活函數直接移除。

實作方式:在 PyTorch 中訓練 KAN,然後把固定下來的模型部署到 FPGA 上。每個預訓練的激活函數 φ 被存成一個完整的 LUT。節點用加法樹把多個 LUT 輸出加起來。多層網路就串聯這些電路。

結果:在延遲和資源使用上都達到甚至超過了現有最佳 FPGA 加速器,比之前的 KAN-FPGA 實作快 2700 倍。


四、論文二:在 FPGA 上即時學習(線上訓練)

推論快還不夠。在量子控制、核融合等領域,被建模的系統本身以高頻率演化。模型必須在幾分之一微秒內適應變化,同時還要維持超高速推論。把資料送到 CPU/GPU 做更新就已經超過 1 微秒了——所以一切必須在 FPGA 上完成。

作法是把 B-spline 基底函數 {Bi} 存在 LUT 裡(而不是存激活函數本身),因為訓練時改變的是係數 c,不是基底。

兩個關鍵數學特性讓這件事變得可行:

第一,局部基底函數。輸入範圍被分成 G 個格點。對於 B-spline 的階數 S,每個區間只有 S+1 個基底函數非零(遠小於 G+S)。硬體邏輯只跟 S+1 有關,跟 G 無關——你可以增加 G 來提高表達力,但不需要增加邏輯閘。

第二,穩定的定點數訓練。B-spline 滿足 Σ Bi(x) = 1,這意味著激活函數的值被限制在 min(ci) 和 max(ci) 之間。梯度也受到類似約束。這個可預測的值域讓量化變得簡單,訓練保持穩定——不像 MLP 中矩陣乘法會導致值域爆炸。

前向傳播:計算輸入落在哪個區間、查找 S+1 個基底值、與區間係數做線性組合。反向傳播:使用預先計算好的 B-spline 導數 LUT,重複使用前向傳播的激活值。梯度乘上學習率後加到參數上——全部以專用平行電路實作。

結果:KAN 線上學習器可以擴展到五萬多個參數,前向加反向傳播不到一微秒——這對 FPGA 上基於梯度的學習來說是前所未有的。KAN 在放大 G 時幾乎不需要增加資源,且在函數逼近、量子位元讀出、非穩態控制任務上比 MLP 收斂得更好。


五、結論

KAN 的激活函數天生對應 FPGA LUT,可達奈秒級推論。B-spline 的局部性和有界性讓晶片上的梯度更新既穩定又稀疏。KAN 在 GPU 上難以利用的特性,在自訂硬體上應該被進一步探索。

兩篇論文:FPGA 2026 最佳論文(KANELÉ)、ICML 2026(線上學習)。


城武觀點

「不到一微秒」是一個物理邊界的跨越

我們通常用「快」來形容軟體優化——這個函式庫比那個快 30%,這個編譯器比那個快兩倍。但 FPGA 上的亞微秒推論不是「快一點」,是跨越了一條物理邊界。

電訊號在銅線上傳播的速度大約是光速的三分之二。一微秒內,訊號只能走約 200 公尺。當你的推論時間降到亞微秒級,意味著整個計算必須在訊號還來不及離開晶片的時間內完成。這不是工程優化,這是物理約束下的全新設計空間。

Gupta 的工作在這個空間裡做了一件很聰明的事:不是把現有的神經網路架構硬塞進 FPGA(那是削足適履),而是找到了一種天生適合硬體的數學結構(KAN),然後讓硬體長成那個形狀。

KAN 在 GPU 上普普通通,在 FPGA 上是第一名——這件事本身就是一個訊息

KAN 發表時,AI 社群的反應是「有趣但沒有比 MLP 明顯好多少」。在 GPU 上的 benchmark 確實如此。但 Gupta 的工作指出了一個被忽略的點:某些數學結構在特定硬體上會展現出在通用硬體上完全看不到的優勢。

B-spline 的局部性在 GPU 上沒什麼用——GPU 的平行架構不在乎你的基底函數是局部的還是全域的,它都用同一組 CUDA core 算。但在 FPGA 上,局部性直接轉化為更少的邏輯閘、更低的功耗、更簡單的佈線。

這提醒我們一件事:AI 硬體的路線之爭(GPU vs TPU vs FPGA vs ASIC)不應該只比誰的浮點運算次數多。應該比的是:哪種數學結構在哪種硬體上能達到物理極限的效率。而 KAN + FPGA 這個組合,在這條路上走得很遠。

硬體-演算法共同設計,才是真正的護城河

NVIDIA 的護城河是 CUDA——一個軟體生態系大到所有 AI 框架都優先支援它。但如果未來的 AI 工作負載不是在 GPU 上跑得最好的那種,這條護城河就有裂縫。

KAN + FPGA 的案例暗示了一種可能:未來的 AI 推理不只是「更大的 LLM」,還包括嵌入物理系統中的微型、亞微秒級的神經網路——控制量子位元、穩定核融合電漿、做高頻交易。這些場景不需要 1000 億參數,它們需要的是在一個時脈週期內完成推論和更新。

在這條賽道上,NVIDIA 沒有優勢。FPGA 廠商(Xilinx/AMD、Intel/Altera)有。誰能做出最好的硬體-演算法共同設計工具鏈,誰就能定義這個新市場。

尾聲

Gupta 的文章以一個簡單的句子結尾:KAN 在 GPU 上難以利用的特性,在自訂硬體上應該被進一步探索。

這句謙虛的話背後是一個更大的命題:AI 的下一個十年,不會只有 transformer。不同的物理約束會呼喚不同的數學結構,不同的數學結構會需要不同的硬體。KAN + FPGA 只是這個趨勢中的一個早期案例。

而任何說「AI 硬體就是 GPU」的人,都沒有在認真看物理。


原文發表於 2026 年 6 月 7 日。兩篇論文:FPGA 2026 最佳論文(KANELÉ,DOI: 10.1145/3748173.3779202)、ICML 2026(arXiv: 2602.02056)。