Exo Labs 最近展示咗一個極具創意嘅混合架構:將 NVIDIA DGX Spark (Compute 強) 同 Apple Mac Studio (Memory Bandwidth 強) 結合,透過 Exo 1.0 實現 4 倍 嘅 LLM 推理加速!這證明了異構計算 (Heterogeneous Computing) 喺 AI 推理上嘅巨大潛力。
TL;DR
- 🚀 速度提升:混合架構比單獨用 Mac Studio 快 2.8x - 4x
- 🧠 核心原理:Prefill (Compute-bound) 交俾 DGX Spark,Decode (Memory-bound) 交俾 Mac Studio
- 🔄 技術突破:透過 Layer-by-layer KV Streaming,將網絡傳輸延遲隱藏喺計算時間內
- 🛠️ Exo 1.0:自動化整個過程,自動發現設備、規劃分工、優化管線
目錄
基礎知識:影響 LLM 效能嘅兩個關鍵
簡單比喻:閱讀 vs 寫作 (Reading vs Writing)
想像你參加緊一個考試:
- Prefill (閱讀題目) = 讀入
- 你一眼睇晒成條題目:「請用 50 字解釋量子力學。」
- 你的大腦同時處理所有字,理解佢哋嘅關係。
- 這就是 Prefill:LLM 一次過「吞」晒你嘅 Prompt。這步驟涉及大量並行矩陣運算,係最消耗 GPU 算力 (CUDA Cores) 嘅部分。
- KV Cache (大腦記憶) = 筆記
- 讀完題目後,你唔會每寫一個字都重新讀一次題目。
- 你會將題目嘅重點(Key & Value)記喺腦海或者草稿紙上。
- 這就是 KV Cache:LLM 將理解完嘅 Prompt 存成中間數據,方便之後隨時用,唔使由頭計過。
- Decode (逐字作答) = 輸出
- 你開始寫答案,每次只寫一個字:「量」...「子」...「力」...「學」...
- 每寫一個字,你都要回顧之前寫咗乜,同埋對照腦海中嘅題目記憶 (KV Cache)。
- 這就是 Decode:LLM 逐個 Token 生成回應。這過程比起算力,更依賴記憶體頻寬 (VRAM Bandwidth),因為要不斷從記憶體搬運數據。
常見誤解:Decode 唔係只需「翻譯」做文字
好多人以為 Decode 只係將 Token ID 變返做文字 (Detokenization),所以唔使 GPU。這是不對的!
- Detokenization (翻譯):的確唔使 GPU,CPU 做就得。
- Decode (生成):係指計算下一個 Token 是什麼。這一步仍然需要運行整個神經網絡 (Matrix Multiplication)。
為什麼 Decode 還是用 Mac Studio?
- 雖然 Decode 要算力,但等待數據 (Memory Latency) 的時間比計算數據 (Compute) 的時間長得多。
- 想像一個廚師 (GPU) 切洋蔥只需 1 秒,但去雪櫃攞洋蔥要 10 秒。
- DGX (Prefill):一次過切 100 個洋蔥 (Prefill),廚師手快最重要。
- Mac (Decode):每次只切 1 個洋蔥,切完又要去雪櫃攞下一個。這時雪櫃門開得快 (Memory Bandwidth) 比廚師手快更重要。
點解 Decode 要逐個字出?唔可以一次過出晒?
這是一個非常好的問題!這涉及到 LLM 的核心原理:Autoregressive (自回歸)。
- 因果關係:LLM 生成每一個字時,都必須基於前面所有字。
- 例子:「我今日早餐食咗...」
- 下一個字可能是「麵包」、「通粉」或「空氣」。
- 在模型決定選「麵包」之前,它根本不知道再下一個字應該接什麼(例如接「好食」定「好硬」)。
- 未知 vs 已知:
- Prefill (Prompt):是用戶輸入的,內容是已知的,所以可以並行處理(Parallel Processing),一次過算晒。
- Decode (Output):是模型生成的,內容是未知的。必須生成了第 1 個字,才能算第 2 個字;生成了第 2 個,才能算第 3 個。
這就是為什麼 Decode 必須是 Serial (串行) 的,無法並行加速,所以只能拼命提高單次存取記憶體的速度 (Memory Bandwidth)。
技術細節與瓶頸
要理解點解 Exo 咁做,首先要知 LLM 推理嘅兩個階段同佢哋嘅瓶頸:

1. Prefill 階段 (Time-to-First-Token, TTFT)
- 動作:處理你輸入嘅 Prompt,生成第一個 Token。
- 特徵:需要同時處理所有輸入 Tokens,計算量隨長度平方增長 ()。
- 算術強度 (Arithmetic Intensity):高 (Matrix-Matrix Multiplications)。
- 瓶頸:Compute-bound (算力受限)。
- 最佳硬件:高 TFLOPs 嘅 GPU (如 NVIDIA)。
2. Decode 階段 (Tokens Per Second, TPS)
- 動作:逐個生成後續 Tokens (Auto-regressive loop)。
- 特徵:每生成一個 Token 都要讀取整個 KV Cache。
- 算術強度:低 (Vector-Matrix Multiplications)。
- 瓶頸:Memory-bound (記憶體頻寬受限)。
- 最佳硬件:高 Memory Bandwidth 嘅設備 (如 Mac Studio, HBM)。
點解要 DGX Spark + Mac Studio?
Exo 發現這兩款硬件剛好係互補:
| 規格 | NVIDIA DGX Spark | Mac Studio (M3 Ultra) |
|---|---|---|
| :--- | :--- | :--- |
| 強項 | 算力 (~100 TFLOPs) | 頻寬 (819 GB/s) |
| 弱項 | 頻寬 (273 GB/s) | 算力 (~26 TFLOPs) |
| 適合階段 | Prefill (快 4 倍) | Decode (快 3 倍) |
與其二選一,Exo 決定兩個一齊用:DGX 做 Prefill,Mac 做 Decode。
技術核心:Layer-by-layer KV Streaming
最直觀嘅做法係「DGX 做完 Prefill -> 傳整個 KV Cache -> Mac 做 Decode」。但 KV Cache 好大,網絡傳輸會變成新瓶頸。
Exo 採用咗 Pipeline 技術,將「計算」同「傳輸」重疊 (Overlap):
- DGX 計算第 1 層 (Layer 1) 嘅 KV。
- 當 DGX 開始計算第 2 層時,同時將第 1 層嘅 KV 經網絡傳俾 Mac。
- 如此類推,當 DGX 算完最後一層時,大部分 KV 已經傳送完畢,Mac 可以即刻開始 Decode。
深度技術:幾時先做到 "Zero-Overhead"?
要完全隱藏網絡延遲,必須滿足一個條件:
「計算一層嘅時間 ()」 > 「傳輸一層 KV 嘅時間 ()」
數學推導
- 計算時間 (其中 係算力, 係序列長度)
- 傳輸時間 (其中 係網絡頻寬, 係 quantization)
這意味著 Prompt 長度 () 必須足夠長,計算時間先會超過傳輸時間。
實際門檻 (Thresholds)
對於 DGX Spark (100 TFLOPs) 連接 Mac Studio (10GbE):
- Llama-3 70B (GQA, K=16):Prompt 需要 > 5,000 tokens
- Llama-3 8B (GQA, K=8):Prompt 需要 > 10,000 tokens
- Llama-2 7B (MHA, K=2):Prompt 需要 > 40,000 tokens
結論:這個架構特別適合 Long Context (長文本) 應用!
實測結果:Llama-3.1 8B
測試環境:Prompt 8,192 tokens (長 Context),生成 32 tokens。
| 配置 | Prefill 時間 | Generation 時間 | 總時間 | 加速比 |
|---|---|---|---|---|
| :--- | :--- | :--- | :--- | :--- |
| DGX Spark 單獨 | 1.47s | 2.87s | 4.34s | 1.9x |
| Mac Studio 單獨 | 5.57s | 0.85s | 6.42s | 1.0x (Baseline) |
| DGX + Mac Studio | 1.47s | 0.85s | 2.32s | 2.8x |
結果分析:
- Prefill 用咗 DGX 嘅速度 (1.47s vs 5.57s) -> 3.8x 加速
- Generation 用咗 Mac 嘅速度 (0.85s vs 2.87s) -> 3.4x 加速
- 最終達成 2.8 倍 整體加速!
Exo 1.0:自動化異構推理
最勁嘅係你唔需要人手寫 code 去做呢啲複雜調度。Exo 1.0 係一個自動化框架:
- Discover:自動搵出網絡內所有裝置 (Mac, NVIDIA GPU, Consumer PCs)。
- Profile:測試每部機嘅算力 (TFLOPs)、記憶體頻寬 (GB/s)、網絡速度。
- Plan:
- 邊部機做 Prefill?邊部做 Decode?
- 需唔需要 Pipeline?
- 幾時開始 Stream KV?
- 如何適應網絡波動?
這意味著你可以將手上唔同嘅硬件 (Gaming PC + Mac + Server) 組合埋一齊,變成一個強大嘅推理 Cluster,打破單機限制。
結語
Exo 展示咗 AI 推理嘅未來未必係單一強大嘅 GPU,而係 Heterogeneous Cluster (異構集群)。
- 用 Compute-heavy 硬件 (NVIDIA) 攻克 Prefill。
- 用 Bandwidth-heavy 硬件 (Apple Silicon) 攻克 Decode。
對於我哋呢啲有 Mac Studio 又有 GPU Server 嘅人嚟講,Exo 絕對係神器,令閒置算力變成超級電腦!
參考資源:Exo Labs Blog