專題題目: Optimizing deep-learning inference program using TVM compiler.

411410073 資工三 洪子傑

411410005 資工三 莊翔鈞

研究筆記: BYOC (Bring Your Own Codegen)

研究動機

隨著深度學習技術的快速發展,AI模型的應用場景越來越多樣。因此跨平台部署成為一項重大的挑戰。此外,現代深度學習模型需要能夠在多種硬體平台(如 CPU、GPU 以及嵌入式設備)上高效運行。

然而,不同硬體之間架構差異巨大,手動針對每個平台做優化不僅耗時,還容易發生錯誤,極大限制了AI模型的可擴展性。而且許多模型在使用並沒有充分發揮硬體的性能。例如:未有效利用 GPU 的並行計算能力或硬體加速器的特性,導致影響應用的實時性和效能。

面對日新月異,不斷變化的硬體架構,開發者迫切需要自動化工具來生成針對硬體優化的程式碼,從而擺脫繁瑣的手工調整過程。而TVM 編譯器作為一種高效的深度學習編譯工具,專門實現跨平台優化與自動化,非常具有未來發展的潛力,因此我們決定朝這個領域做深入的研究。

嘗試的方法

(1) 基本優化步驟

  1. 圖優化(Graph Optimization):

    使用 TVM 的內建功能進行內存分配優化(Memory Allocation)及冗餘操作移除。

  2. 目標硬體優化(Hardware Target Optimization):

    根據目標硬體平台(如 NVIDIA GPU 或 ARM CPU)設置最佳的計算規則和內核優化。

  3. 自動調優(Auto-Tuning):

    利用 Auto-TVM 對程式碼進行搜索優化,選擇性能最佳的配置。

(2) BYOC: Bring Your Own Codegen

(3) 量化(Quantization)技術

預期困難