Keskeiset käsitteet
本文提出了一種名為 LUTMUL 的演算法硬體協同設計方法,該方法利用 FPGA 中大量的查找表 (LUT) 資源來執行高效的乘法運算,從而突破傳統基於 DSP 的 FPGA 加速器性能瓶頸,實現更高效的神經網路推理。
Tiivistelmä
文獻資訊
- 標題:LUTMUL: Exceed Conventional FPGA Roofline Limit by LUT-based Efficient Multiplication for Neural Network Inference
- 作者:Yanyue Xie, Zhengang Li, Dana Diaconu, Suranga Handagala, Miriam Leeser, and Xue Lin
- 會議:30th Asia and South Pacific Design Automation Conference (ASPDAC ’25)
- 時間:January 20–23, 2025
- 地點:Tokyo, Japan
研究目標
本研究旨在解決基於 FPGA 的神經網路加速器在處理乘法運算時,過度依賴數字信號處理 (DSP) 模組而導致性能受限的問題。
方法
- 提出 LUTMUL,一種利用查找表 (LUT) 進行高效乘法的演算法硬體協同設計方法。
- 設計了一種可重構的數據流架構,最大限度地利用 LUT 資源並減少記憶體訪問時間。
- 採用量化感知訓練,將神經網路權重和激活值量化為 4 位元,以適應 LUT 的儲存和運算能力。
主要發現
- LUTMUL 方法在資源效率方面優於傳統的 LUT 乘法器,平均只需 2 個 LUT 即可完成一次 4 位元乘法運算。
- 基於 LUTMUL 的 FPGA 設計在使用相同資源的情況下,其性能有可能超過傳統基於 DSP 的 FPGA 加速器。
- 在 Alveo U280 FPGA 上進行的實驗結果表明,LUTMUL 方法在 ImageNet 數據集上實現了 70.95% 的 Top-1 準確率和每秒 1627 張圖像的吞吐量,優於其他基於 FPGA 的 MobileNet 加速器。
主要結論
LUTMUL 方法為 FPGA 加速神經網路推理提供了一種高效且可行的解決方案,通過利用大量可用的 LUT 資源,可以突破傳統基於 DSP 的設計瓶頸,實現更高的性能和能源效率。
研究意義
本研究對於推動基於 FPGA 的深度學習加速器發展具有重要意義,尤其是在資源受限的邊緣計算場景中,LUTMUL 方法可以充分發揮 FPGA 的靈活性和可重構性,為部署高性能、低功耗的深度學習應用提供新的思路。
局限性和未來研究方向
- 本研究主要針對卷積神經網路進行了評估,未來可以進一步探索 LUTMUL 方法在其他類型神經網路上的應用。
- 未來可以研究如何進一步優化 LUTMUL 的數據流架構,以降低 adder logic 的資源佔用,並提高整體性能和能源效率。
Tilastot
與 GPU 相比,FPGA 的時脈頻率、計算核心數量和記憶體頻寬都較低,這導致 FPGA 的推理速度通常不如 GPU。
FPGA 中的 LUT 資源通常比 DSP 多 100 倍。
使用 4 位元量化權重和激活值可以在保持模型準確率的同時,顯著減少 LUT 的使用量。
LUTMUL 方法平均只需 2 個 LUT 即可完成一次 4 位元乘法運算,而傳統的 LUT 乘法器則需要 13-28 個 LUT。
在 Alveo U280 FPGA 上,LUTMUL 方法實現了 70.95% 的 Top-1 準確率和每秒 1627 張圖像的吞吐量。