---
# System prepended metadata

title: 'DFX: A Low-latency Multi-FPGA Appliance for Accelerating Transformer-based Text Generation'
tags: [Paper]

---


## **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 設計開發成本較高，需針對新模型重新優化。 |
