跳轉到

深入理解 AI Infra:量化分析與系統設計

資料搬移塑造了 AI Infra 的架構。 從一次模型執行開始,理解晶片、網路、推理與訓練系統如何改變資料的複用、放置和等待。

下載全書 PDF · EPUB · 前言 · GitHub 倉庫

繁體中文版由社群貢獻者 @edward821220 翻譯整理,可能落後於簡體中文原版;數字、公式與引用以原版為準。

這本書寫什麼

《深入理解 AI Infra》是 GitHub 上獲得 45k+ Star 的《深入理解 AI Agent:設計原理與工程實踐》的姊妹篇。

寫完《深入理解 AI Agent》後,在與讀者交流的過程中,我越來越感到:要開發好基於模型的應用,還需要理解它賴以執行的基礎設施。大多數軟體工程師不必親自開發作業系統、編譯器和晶片,卻仍要學習作業系統、編譯原理和計算機體系結構,因為申請記憶體、讀取檔案、呼叫函式,背後都有資源與時間代價。基於模型開發應用也是如此。延遲相差幾倍,產品體驗就可能完全不同;成本相差一個數量級,能夠支撐的商業模式也隨之改變。

更深層的變化是程式設計抽象的上移:從作業系統到模型上下文。傳統的作業系統、編譯器和硬體要為事先未知的各種程式提供通用能力,系統最佳化總要在可程式設計性與效能之間取捨。如今 LLM 成了最重要的應用,從運算元執行到分散式排程,都可以針對特定的模型和加速器架構最佳化;模型設計也開始反過來適應硬體。從某種意義上說,模型成了 LLM 時代的作業系統,AI Infra 成了 LLM 時代的計算機體系結構

貫穿全書的方法是從約束推導設計:先明確任務與品質要求,列出計算、儲存、通訊和依賴關係,對照硬體的容量、頻寬和算力做數量級估算。這類估算人容易出錯,AI 也一樣:只算權重讀取而忘了 KV 快取,按峰值算力推算速度而不查頻寬能否供給,把工作平分給多張卡卻遺漏卡間通訊,漏掉任何一項,結論都可能偏離幾倍甚至幾個數量級。從 FPGA 加速 Bing 搜尋排序、昇騰 AKG 運算元生成到 UB 萬卡互聯,反覆出現的是同一條線索:資料搬移。本書因此反覆追問五個問題:搬什麼、搬多少、搬幾次、經過哪裡、誰必須等它。

更多寫作背景見前言。目前書稿仍是初稿,正在持續修訂。

十二章導讀

從一次模型執行的資源帳開始,依次走過模型架構與負載、加速器與運算元、超節點與網路、推理與訓練系統,最後回到排程與端邊雲的部署選擇。

主題 主要問題
1 初識 AI Infra 一次生成需要多少視訊記憶體、計算和資料讀寫?
2 模型架構 注意力、歷史狀態與專家結構如何改變系統需求?
3 推理與訓練負載 任務階段、到達模式和狀態壽命如何影響資源需求?
4 加速器架構 如何在計算、儲存、頻寬、功耗與成本之間取捨?
5 運算元與執行時 融合、複用、併發和排程如何減少執行開銷?
6 超節點 多裝置協作如何平衡容量、吞吐和同步代價?
7 資料中心網路 網路頻寬、通訊方式和擁塞怎樣影響計算效率?
8 推理最佳化 批處理、KV 管理、解除安裝與推測解碼何時有效?
9 分散式推理 如何放置計算和狀態,並處理擴縮容與恢復?
10 訓練系統 怎樣安排視訊記憶體、通訊和重算,讓訓練更高效?
11 資源排程與執行環境 模型服務和工具環境如何共享資源,減少等待?
12 端邊雲協同 任務放在本地、邊緣還是雲端,怎樣兼顧效果、延遲和成本?

怎麼讀

按左側目錄從前言和第一章順序讀下來最省力,前面章節建立的模型、硬體和負載設定,後面各章會反覆用到。也可以用搜尋直接查詢某個模型、運算元或系統機制。每章提供節目錄、公式、配圖、腳註,以及上一章和下一章導航。

書中有大量公式、表格與交叉引用,完整排版以 PDF 版為準。

配套材料

書中的數字大多可以復算,計算工具、實驗記錄與配圖指令碼都在 GitHub 倉庫裡:

本網站由倉庫中的 Markdown 自動建置;繁體中文正文位於 book-zh-tw/,由 manuscripts/ 下的簡體原稿轉換而來。