## **1. 目標 (Objective)** 本論文的主要目標是: - **設計並實作 DFX,一個基於多 FPGA (Multi-FPGA) 的低延遲加速器**,用於提升 Transformer 模型(特別是 GPT-2)的推理效能,特別是 **文字生成 (Text Generation) 任務**。 - **解決 GPU 在序列生成 (generation stage) 階段的效能瓶頸**,因為傳統 GPU 在處理 Transformer 的總結 (summarization stage) 階段效率高,但在生成階段表現不佳。 - **透過模型並行 (Model Parallelism) 和優化資料流 (Optimized Dataflow)**,提升計算效率,使 **推理過程能夠端到端 (End-to-End) 在 FPGA 上執行**,減少與 CPU 之間的數據交換延遲。 - **優化 FPGA 的硬體使用效率**,包括: - **自訂指令集架構 (ISA)**,提高 GPT-2 運算效能。 - **高頻寬記憶體 (HBM) 最佳化**,提升資料傳輸速率。 - **模型並行與高效能網路通訊技術**,確保多 FPGA 間的負載均衡。 - **比較 DFX 與傳統 GPU 方案 (NVIDIA V100) 的效能與成本效益**,驗證其加速效果,並展示其在雲端數據中心的可行性。 --- ## **2. 問題定義 (Problem Definition)** 本論文關注的核心問題是 **現有 GPU 在 Transformer 文字生成任務中的效能瓶頸**,主要表現在: 1. **GPU 主要針對大規模並行計算優化,對於序列生成的處理效率較低** - 在 Transformer-based 文字生成中,計算分為兩個階段: - **總結階段 (Summarization Stage)**:一次處理整個輸入序列,並生成第一個輸出 token。 - **生成階段 (Generation Stage)**:每次輸出 **一個 token**,並將其作為新的輸入進行迭代處理,直到達到目標輸出長度。 - GPU 在總結階段表現良好,但在生成階段,由於其 **高度序列化 (Sequential Processing) 的特性**,導致 GPU 計算單元利用率下降,嚴重影響推理速度。 2. **現有 Transformer 加速器多數只針對「注意力機制 (Attention Mechanism)」優化** - 許多 Transformer 加速方案(如 SpAtten, GOBO, EdgeBERT, ELSA)僅專注於 **優化自注意力機制 (Self-Attention)**,但 **忽略了 GPT-2 的完整推理流程**,導致: - 仍需 CPU 或其他計算單元完成其他部分的計算,造成額外的數據傳輸開銷。 - 缺乏完整的端到端 (End-to-End) 加速方案,難以直接應用於雲端數據中心。 3. **現有架構缺乏有效的 FPGA 加速方案** - **傳統 GPU 面臨以下問題**: - **生成階段效率低**,隨著輸出 token 長度增加,延遲顯著上升(每增加一個 token,GPU 生成時間平均增加 75.45ms)。 - **記憶體頻寬受限**,在處理大規模 NLP 模型時,GPU 需要大量 HBM 記憶體資源,但在序列生成階段卻無法充分利用其並行計算能力。 - **目前的 FPGA 方案無法完全支援 Transformer**: - 現有的 FPGA 加速架構主要針對 CNN 或 RNN,缺乏針對 GPT-2 的特殊設計。 - 需要 **支援端到端 GPT-2 運算的 FPGA 架構**,包括 **Token Embedding、Self-Attention、Feed-Forward、Layer Normalization、Residual Connections** 等完整的 Transformer 模型運算。 因此,該論文的核心問題是: - **如何設計一個能夠同時提升 Transformer 模型在總結與生成階段效能的硬體架構?** - **如何在 FPGA 上高效實作 Transformer 文字生成,克服 GPU 在序列處理上的瓶頸?** - **如何透過多 FPGA 系統,充分利用模型並行技術,最大化計算資源的利用率?** --- ## **3. 限制條件 (Constraints)** 雖然 DFX 透過 FPGA 設計大幅提升了 Transformer 的推理效能,但仍然受到以下限制條件影響: ### **(1) 記憶體頻寬與硬體資源的限制** - FPGA 內建 HBM 記憶體,但總容量僅 **8GB (U280 FPGA)**,相較於 GPU **32GB HBM2** 記憶體,可能在極大規模 Transformer 模型(如 GPT-3)上受到限制。 - **FPGA 的計算資源有限**: - DFX 需要 **精確調度矩陣運算與資料流**,避免 FPGA 計算資源閒置。 - 需要針對 **不同 GPT-2 模型大小 (345M, 774M, 1.5B 參數)** 進行不同的模型並行策略,以確保最佳效能。 ### **(2) 多 FPGA 系統的通訊延遲** - DFX 採用 **環狀網絡 (Ring Network) 進行 FPGA 之間的通訊**,儘管減少了通訊開銷,但仍需進行頻繁的資料同步,影響某些操作的延遲。 - **FPGA 之間的數據同步 (Data Synchronization) 仍然是一個挑戰**: - 每層 Decoder 計算需要進行 **4 次 FPGA 之間的數據交換**。 - 若 FPGA 數量增加,則數據同步可能成為瓶頸,影響系統可擴展性。 ### **(3) 應用場景與適用性** - DFX 專門設計用於 **文字生成 (Text Generation)**,適用於: - **聊天機器人 (Chatbots)** - **文章生成 (Essay Generation)** - **自動回應系統 (Automated Responses)** - 但對於 **其他 NLP 任務 (如文本分類、翻譯)**,DFX 的硬體架構可能 **無法直接適用**,需要重新優化。 ### **(4) FPGA 的開發成本與靈活性** - FPGA 需要專門的 **硬體設計 (HDL 設計)**,相較於 GPU 需要更多的開發時間與人力成本。 - 雖然 FPGA **可以重編程**,但對於 Transformer 模型的頻繁更新(如 GPT-3、GPT-4),仍需額外的硬體優化。 --- ## **總結** | 類別 | 內容 | |------|------| | **目標 (Objective)** | 設計並實作一個基於多 FPGA 的 DFX 加速器,專門用於 GPT-2 的端到端推理,提升 Transformer 文字生成的效能與能效。 | | **問題定義 (Problem Definition)** | GPU 在 Transformer 生成階段的計算效率低,現有加速器無法完全支持 Transformer 端到端運算,缺乏高效的 FPGA 方案來克服序列處理瓶頸。 | | **限制條件 (Constraints)** | 1. FPGA 記憶體頻寬與計算資源有限。 2. 多 FPGA 之間的數據同步影響延遲。 3. 主要適用於 GPT-2 文字生成,不適用於所有 NLP 任務。 4. FPGA 設計開發成本較高,需針對新模型重新優化。 |