高效深度學習:模型壓縮與設計

汪玉,寧雪妃

  • 出版商: 電子工業
  • 出版日期: 2024-07-01
  • 售價: $714
  • 貴賓價: 9.5$678
  • 語言: 簡體中文
  • 頁數: 264
  • ISBN: 712148059X
  • ISBN-13: 9787121480591
  • 相關分類: DeepLearning
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

本書系統地介紹了高效模型壓縮和模型設計的方法,在編寫上兼顧理論和實踐。本書主體部分詳細介紹了模型壓縮的方法論,包括高效模塊設計、模型剪枝、模型量化、模型二值化、神經網絡架構搜索、知識蒸餾幾大部分。另外,簡要介紹了定製化硬件加速器的設計及大語言模型的加速和壓縮。

目錄大綱

第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