

汪玉 寧雪妃 著
新書推薦
🌟今日福利
|關於本書|
本書系統地介紹了高效模型壓縮和模型設計的方法,在編寫上兼顧理論和實踐。本書主體部分詳細介紹了模型壓縮的方法論,包括高效模組設計、模型剪枝、模型量化、模型二值化、神經網路架構搜尋、知識蒸餾幾大部分。另外,簡要介紹了定製化硬體加速器的設計及大語言模型的加速和壓縮。
|關於作者|
汪玉,清華大學電子工程系長聘教授、系主任,IEEE Fellow,國家自然科學基金傑出青年基金獲得者,清華大學資訊科學技術學院副院長,清華大學天津電子資訊研究院院長。長期從事智慧晶片、高能效電路與系統的研究,曾獲得4次國際學術會議最佳論文獎及12次最佳論文提名。曾獲CCF科學技術獎技術發明一等獎、國際設計自動化會議40歲以下創新者獎、CCF青竹獎等榮譽。2016年,知識成果轉化入股深鑑科技,打造了世界一流的深度學習計算平臺;2018年,深鑑科技被業內龍頭企業賽靈思(現AMD)收購。2023年,推動成立無問芯穹,形成面向大模型的軟硬體聯合最佳化平臺,在國內外10餘種晶片上實現了業界領先的大模型推理效能。
寧雪妃,清華大學電子工程系助理研究員。主要研究方向為高效深度學習。支撐深鑑科技、無問芯穹的早期模型壓縮和部署工具鏈工作;參與10餘項高效深度學習相關專案;在機器學習、計算機視覺、設計自動化領域發表學術論文40餘篇,其中包含在NeurIPS、ICLR、ICML、CVPR、ICCV、ECCV、AAAI、TPAMI上發表的學術論文共20篇;帶領團隊在NeurIPS18和CVPR20會議上獲得國際比賽獎項。
限時折扣,點選購書 ▼
在大語言模型問世之前,尤其是在ChatGPT出現之前,人們幾乎沒有認真討論過“人工智慧是否具備自我意識”這個話題。
這些熱門產品的廣闊應用前景令人振奮,吸引了大量資源投入AI的演算法研究、資料清洗、算力等方面的基礎建設中。
這些爆款應用是由大資料訓練的大模型支撐的。
舉例來說,近年來,大語言模型的訓練資料和模型的體量迅速增長,從2017年釋出的有1.65 億引數量的Transformer,到2020年釋出的有1750億引數量的GPT-3,再到2022年釋出的ChatGPT應用背後的模型也至少有數百億引數量。
這樣的訓練資料和模型體量的增長帶來了模型能力的提升,讓大模型“湧現”出指令跟隨、上下文學習等能力,展示出“通用”的生成能力。
有目共睹的是,生成式任務的智慧演算法模型擴大,對算力的需求急劇增加。
在這個背景下,高效深度學習領域顯得尤為關鍵,得到了廣泛關注。


實際應用場景關心的硬體效能指標主要包括延時(Latency)、吞吐率(Throughput)、功率(Power)、能耗(Energy)和儲存(Storage)。
對這些指標的要求反映出使用者體驗、場景限制、成本控制多方面的需求。例如:
-
延時和吞吐率影響了可用性和即時性;
-
熱設計功耗(ThermalDesign Power,TDP,即最大負荷的能量釋放)決定硬體冷卻系統所需具備的散熱能力水平;
-
能耗和儲存均直接影響系統成本,等等。
為最佳化這些指標,研究者和工程師探索了多條路徑,縱跨不同設計層次,包括演算法設計、軟體設計、硬體設計。
在硬體層次,根據演算法特性定製化地設計硬體架構,其中可能涉及採用新型器件,代表性工作包括基於FPGA和ASIC的專用硬體架構設計、基於存算器件的專用硬體架構設計。
具體來說,這些工作根據神經網路的演算法特性(例如,運算元型別、資料的複用模式等)或新器件特性(例如,模擬域計算或儲存的能力、器件的非理想特性等)設計專門的計算單元、資料流、指令等,從而用更低的能耗完成同樣的計算,即達到更高能效(Energy Efficiency)。
在軟體層次,開發者需要針對神經網路模型和硬體平臺的特性實現計算運算元或系統軟體,並開發編譯最佳化工具等,例如,編譯最佳化工具可將神經網路計算流圖進行最佳化、切分、對映,從而將其部署到硬體平臺,典型工作包括機器學習編譯框架TVM等。
在演算法層次,輕量化演算法設計針對軟硬體系統特性調整演算法,透過調整神經網路的模型結構、資料表示等降低其計算開銷(Computation Cost)、訪存開銷(Memory Access Cost)和儲存開銷(Memory Overhead)。計算開銷、訪存開銷和儲存開銷的降低最終會體現在延時、吞吐率、功率、能耗、儲存容量等指標上。
《高效深度學習:模型壓縮與設計(全綵)》一書主體部分圍繞“輕量化演算法設計”這一思路展開,即透過從頭設計或透過壓縮已有模型得到更高效的輕量化模型。

書中詳細介紹了模型壓縮的方法論,包括高效模組設計、模型剪枝、模型量化、模型二值化、神經網路架構搜尋、知識蒸餾幾大部分。
另外,本書簡要介紹了定製化硬體加速器的設計及大語言模型的加速和壓縮。

向上滑動閱覽
第1部分 基礎
1 緒論 2
1.1 神經網路技術的發展 2
1.2 神經網路的高效化需求 3
1.3 神經網路的高效化路徑 4
1.4 本書主要內容 6
2 基礎知識 7
2.1 最佳化問題 7
2.1.1 最佳化問題的定義和分類 7
2.1.2 最佳化方法的分類 9
2.2 卷積神經網路模型 10
2.2.1 基礎模組 10
2.2.2 代表性模型介紹 13
2.3 視覺Transformer模型 15
2.3.1 基礎模組 16
2.3.2 模型分類與總結 18
第2部分 高效模型壓縮方法論
3 高效模組設計 20
3.1 概述 20
3.2 代表性模型介紹 21
3.2.1 SqueezeNet 21
3.2.2 MobileNet系列 22
3.2.3 ShuffleNet系列 24
3.2.4 GhostNet 26
3.2.5 ConvNeXt 27
3.2.6 VoVNet系列 28
3.2.7 RepVGG 29
3.3 高效模組的5個設計維度 30
3.4 本章小結 31
4 模型剪枝 32
4.1 模型剪枝的定義和分類 32
4.2 模型敏感度分析方法 34
4.2.1 層內和層間敏感度分析 34
4.2.2 層內敏感度分析指標 35
4.3 結構化剪枝方法 37
4.3.1 基於權重正則的結構化剪枝方法 37
4.3.2 基於搜尋的結構化剪枝方法 39
4.3.3 給定資源限制的條件下的結構化剪枝方法 44
4.4 近似低秩分解方法 47
4.5 非結構化剪枝方法 48
4.6 半結構化剪枝方法 51
4.7 針對啟用值的剪枝方法 53
4.8 剪枝方法的經驗性選擇 55
4.8.1 剪枝流程的選擇 55
4.8.2 剪枝稀疏模式的選擇 56
4.8.3 關於任務效能的經驗 56
4.9 Group Lasso 結構化剪枝的實踐案例 57
4.10 本章小結 60
5 模型量化 61
5.1 模型量化的定義和分類 61
5.2 模型量化過程和量化推理過程 64
5.3 量化格式和操作 65
5.3.1 均勻量化格式 66
5.3.2 非均勻量化格式 68
5.3.3 三種量化操作 71
5.4 量化引數 73
5.4.1 縮放係數 73
5.4.2 零點位置 74
5.4.3 量化位寬 74
5.5 訓練後量化75
5.5.1 訓練後量化的流程 75
5.5.2 重引數化 76
5.5.3 縮放係數的選取方法 80
5.5.4 量化值調整 83
5.6 量化感知訓練 87
5.6.1 基礎與流程 87
5.6.2 調整模型架構的方法 90
5.6.3 量化器設計的技巧 92
5.6.4 常用的訓練技巧 97
5.7 混合位寬量化 97
5.7.1 基於敏感度指標的混合位寬量化 97
5.7.2 基於搜尋的混合位寬量化 99
5.8 量化方法的經驗性選擇 100
5.8.1 量化流程的選擇 100
5.8.2 資料表示的設計和決定 100
5.8.3 運算元的選擇與處理和計算圖的調整 102
5.8.4 關於任務效能的經驗 104
5.9 拓展:低位元推理硬體實現 104
5.9.1 定點計算的硬體效率 104
5.9.2 浮點計算轉定點計算的原理 105
5.9.3 非均勻量化格式的計算 111
5.9.4 典型的計算單元和加速器架構 112
5.10 拓展:低位元訓練簡介 115
5.10.1 應用背景 115
5.10.2 挑戰分析 116
5.10.3 相關工作 116
5.11 本章小結 117
6 模型二值化 118
6.1 模型二值化的定義和分類 118
6.2 模型二值化的基礎:以XNOR-Net為例 120
6.3 二值化方式 122
6.3.1 樸素二值化方式 123
6.3.2 間接二值化方式 127
6.4 訓練技巧 131
6.4.1 修改損失函式 132
6.4.2 降低梯度估計誤差 133
6.4.3 多階段的訓練方法 135
6.4.4 訓練經驗 136
6.5 架構設計 137
6.5.1 模型架構的調整 138
6.5.2 模型架構搜尋 141
6.5.3 整合方法與動態模型 142
6.6 模型二值化在其他任務與架構中的應用 142
6.7 本章小結 144
7 神經網路架構搜尋146
7.1 神經網路架構搜尋的定義和分類 146
7.2 搜尋空間 149
7.2.1 人工設計搜尋空間 150
7.2.2 自動設計搜尋空間 154
7.2.3 總結 156
7.3 搜尋策略 157
7.3.1 基於強化學習的搜尋策略 157
7.3.2 基於進化演算法的搜尋策略 159
7.3.3 隨機搜尋策略 160
7.3.4 基於架構效能預測器的搜尋策略 160
7.3.5 總結 164
7.4 評估策略 165
7.4.1 獨立訓練策略 166
7.4.2 基於權重共享的單次評估策略 167
7.4.3 基於權重生成的單次評估策略 172
7.4.4 零次評估策略 172
7.5 可微分神經網路架構搜尋 175
7.5.1 連續鬆弛方法 175
7.5.2 最佳化方法 176
7.5.3 搜尋坍縮問題 177
7.5.4 更高效的可微分搜尋演算法 179
7.6 考慮硬體效率的神經網路架構搜尋 180
7.6.1 考慮硬體效率的搜尋空間設計 181
7.6.2 硬體效率指標的加速評估方法 182
7.6.3 考慮多種硬體效率目標的搜尋策略 184
7.6.4 面向多種硬體裝置及約束的神經網路架構搜尋方法 186
7.7 本章小結 188
8 知識蒸餾 190
8.1 知識蒸餾的定義和分類 190
8.2 知識型別和知識分量:“學什麼” 192
8.2.1 基於響應的知識 192
8.2.2 基於特徵的知識 194
8.2.3 基於關係的知識 197
8.3 知識來源:“向誰學” 199
8.3.1 離線蒸餾 199
8.3.2 互學習 199
8.3.3 自蒸餾 200
8.4 本章小結 201
第3部分 拓展和前沿
9 相關領域:高效靈活的AI推理硬體和系統 203
9.1 概述 203
9.2 硬體加速器設計和軟硬體協同最佳化 204
9.2.1 從CPU到硬體加速器 204
9.2.2 AI加速器中的軟硬體協同最佳化 206
9.2.3 Roofline分析模型 207
9.2.4 基於指令集的AI加速器 210
9.3 神經網路計算資源虛擬化 211
9.3.1 虛擬化的概念 211
9.3.2 AI加速器的時分複用與空分複用虛擬化 212
9.3.3 相關工作簡介 214
9.4 本章小結 215
10 前沿應用:大語言模型的加速和壓縮 218
10.1 大語言模型的發展 218
10.2 大語言模型的架構和推理過程 219
10.3 大語言模型的高效性分析 220
10.3.1 效率瓶頸 220
10.3.2 最佳化路徑 221
10.4 典型的大語言模型的壓縮方法:量化 223
10.5 本章小結 226
後記 227
參考文獻 229

對於希望進入模型壓縮領域的初學者,本書歸納了高效深度學習領域的整體框架,並注重闡述和辨析重要的基本概念,希望可以幫助讀者快速獲得對該領域的整體認知和掌握重要概念。
對於有一定科研經驗、希望在相關科研方向進行探索的讀者,本書在多個層次提供了框架性總結,定位多個子領域之間、同一子領域內多個方法之間的關係,希望可以幫助讀者加強對知識的整合,利用框架更好地進行創新探索。
對於需要工具書輔助解決實際問題的讀者,本書不僅包含對實踐經驗的總結,也包含對每個細分技術及其應用的邏輯的詳細說明,希望可以幫助讀者釐清分析和解決問題的思路,並快速定位到相關文獻。
本書系統地解析了壓縮、設計與量化神經網路模型的技術,嚴謹地梳理了重要概念、邏輯與框架,理論結合實踐,深入淺出。
對初學者而言,本書是快速掌握該領域的理想教材;對研究者與從業者而言,本書是深化理解、拓寬視野、啟發創新的寶貴資源。無論求知或深耕,皆可借本書汲取知識、收穫啟迪,共探人工智慧前沿。
ACM Fellow,IEEE Fellow,AAAS Fellow
香港科技大學講席教授
阿里巴巴達摩院榮譽顧問
謝源
本書全面梳理了高效模型壓縮和模型設計的方法論,結構邏輯清晰,內容緊跟前沿。書中提供的系統性的方法論總結和前沿性的知識介紹能為該領域的科研工作者提供許多啟示。
AAAS Fellow,ACM Fellow,IEEE Fellow,NAI Fellow
杜克大學電氣與計算機工程系教授
陳怡然
本書全面地總結了模型壓縮方法論,同時分享了不少實踐經驗,這對模型壓縮方法在工業界的實際應用提供了重要參考,是值得學習的優秀教材。
華為演算法應用部部長
王雲鶴




PaperWeekly攜手博文視點送書啦!
在本文評論區
留言+點贊
我們將隨機抽取10位讀者
包郵送出這本模型壓縮重磅新書
屆時請留意後臺訊息

限時折扣,點選購書 ▼

關鍵詞
模型
方法
模型壓縮
資料
效能