定 價:¥79.00
作 者: | 麥絡,董豪 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302630074 | 出版時間: | 2023-05-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
基礎篇
第1章 導論 003
1.1 機器學習應用 003
1.2 機器學習框架的設計目標 004
1.3 機器學習框架的基本組成原理 005
1.4 機器學習系統(tǒng)生態(tài) 006
1.5 本書結(jié)構(gòu)和讀者對象 007
第2章 編程模型 009
2.1 機器學習系統(tǒng)編程模型的演進 009
2.2 機器學習工作流 011
2.2.1 環(huán)境配置 011
2.2.2 數(shù)據(jù)處理 012
2.2.3 模型定義 013
2.2.4 損失函數(shù)和優(yōu)化器 014
2.2.5 訓練及保存模型 015
2.2.6 測試和驗證 016
2.3 定義深度神經(jīng)網(wǎng)絡 017
2.3.1 以層為核心定義神經(jīng)網(wǎng)絡 017
2.3.2 神經(jīng)網(wǎng)絡層的實現(xiàn)原理 021
2.3.3 自定義神經(jīng)網(wǎng)絡層 022
2.3.4 自定義神經(jīng)網(wǎng)絡模型 023
2.4 C/C++編程接口 024
2.4.1 在Python中調(diào)用C/C++函數(shù)的原理 025
2.4.2 添加C++編寫的自定義算子 025
2.5 機器學習框架的編程范式 030
2.5.1 機器學習框架編程需求 030
2.5.2 機器學習框架編程范式現(xiàn)狀 030
2.5.3 函數(shù)式編程案例 031
2.6 總結(jié) 032
2.7 拓展閱讀 032
第3章 計算圖 033
3.1 設計背景和作用 033
3.2 計算圖的基本構(gòu)成 034
3.2.1 張量和算子 035
3.2.2 計算依賴 037
3.2.3 控制流 038
3.2.4 基于鏈式法則計算梯度 041
3.3 計算圖的生成 043
3.3.1 靜態(tài)生成 043
3.3.2 動態(tài)生成 046
3.3.3 動態(tài)圖和靜態(tài)圖生成的比較 048
3.3.4 動態(tài)圖與靜態(tài)圖的轉(zhuǎn)換和融合 049
3.4 計算圖的調(diào)度 051
3.4.1 算子調(diào)度執(zhí)行 051
3.4.2 串行與并行 052
3.4.3 數(shù)據(jù)載入同步與異步機制 053
3.5 總結(jié) 054
3.6 拓展閱讀 055
進階篇
第4章 AI 編譯器和前端技術 059
4.1 AI編譯器設計原理 059
4.2 AI編譯器前端技術概述 061
4.3 中間表示 062
4.3.1 中間表示的基本概念 062
4.3.2 中間表示的種類 063
4.3.3 機器學習框架的中間表示 065
4.4 自動微分 072
4.4.1 自動微分的基本概念 072
4.4.2 前向與反向自動微分 074
4.4.3 自動微分的實現(xiàn) 077
4.5 類型系統(tǒng)和靜態(tài)分析 081
4.5.1 類型系統(tǒng)概述 081
4.5.2 靜態(tài)分析概述 082
4.6 常見前端編譯優(yōu)化方法 083
4.6.1 前端編譯優(yōu)化簡介 083
4.6.2 常見編譯優(yōu)化方法介紹及實現(xiàn) 083
4.7 總結(jié) 085
第5章 AI 編譯器后端和運行時 086
5.1 概述 086
5.2 計算圖優(yōu)化 088
5.2.1 通用硬件優(yōu)化 088
5.2.2 特定硬件優(yōu)化 090
5.3 算子選擇 091
5.3.1 算子選擇的基礎概念 091
5.3.2 算子選擇的過程 095
5.4 內(nèi)存分配 095
5.4.1 Device內(nèi)存概念 096
5.4.2 內(nèi)存分配 096
5.4.3 內(nèi)存復用 098
5.4.4 常見的內(nèi)存分配優(yōu)化手段 099
5.5 計算調(diào)度與執(zhí)行 101
5.5.1 單算子調(diào)度 101
5.5.2 計算圖調(diào)度 102
5.5.3 交互式執(zhí)行 106
5.5.4 下沉式執(zhí)行 110
5.6 算子編譯器 110
5.6.1 算子調(diào)度策略 111
5.6.2 子策略組合優(yōu)化 112
5.6.3 調(diào)度空間算法優(yōu)化 114
5.6.4 芯片指令集適配 115
5.6.5 算子表達能力 116
5.6.6 相關編譯優(yōu)化技術 117
5.7 總結(jié) 117
5.8 拓展閱讀 118
第6章 硬件加速器 119
6.1 概述 119
6.1.1 硬件加速器設計的意義 119
6.1.2 硬件加速器設計的思路 119
6.2 硬件加速器基本組成原理 120
6.2.1 硬件加速器的架構(gòu) 120
6.2.2 硬件加速器的存儲單元 121
6.2.3 硬件加速器的計算單元 122
6.2.4 DSA芯片架構(gòu) 124
6.3 加速器基本編程原理 125
6.3.1 硬件加速器的可編程性 125
6.3.2 硬件加速器的多樣化編程方法 128
6.4 加速器實踐 132
6.4.1 環(huán)境 132
6.4.2 廣義矩陣乘法的樸素實現(xiàn) 133
6.4.3 提高計算強度 135
6.4.4 使用共享內(nèi)存緩存復用數(shù)據(jù) 138
6.4.5 減少寄存器使用 139
6.4.6 隱藏共享內(nèi)存讀取延遲 140
6.4.7 隱藏全局內(nèi)存讀取延遲 141
6.4.8 與cuBLAS對比 142
6.4.9 小結(jié) 143
6.5 總結(jié) 143
6.6 拓展閱讀 144
第7章 數(shù)據(jù)處理 145
7.1 概述 146
7.1.1 易用性 146
7.1.2 高效性 147
7.1.3 保序性 147
7.2 易用性設計 147
7.2.1 編程抽象與接口 147
7.2.2 自定義算子支持 151
7.3 高效性設計 153
7.3.1 數(shù)據(jù)讀取的高效性 154
7.3.2 數(shù)據(jù)計算的高效性 157
7.4 保序性設計 162
7.5 單機數(shù)據(jù)處理性能的擴展 163
7.5.1 基于異構(gòu)計算的數(shù)據(jù)預處理 163
7.5.2 基于分布式的數(shù)據(jù)預處理 165
7.6 總結(jié) 166
第8章 模型部署 168
8.1 概述 168
8.2 訓練模型到推理模型的轉(zhuǎn)換及優(yōu)化 169
8.2.1 模型轉(zhuǎn)換 169
8.2.2 算子融合 170
8.2.3 算子替換 172
8.2.4 算子重排 173
8.3 模型壓縮 173
8.3.1 量化 174
8.3.2 模型稀疏 176
8.3.3 知識蒸餾 178
8.4 模型推理 179
8.4.1 前處理與后處理 179
8.4.2 并行計算 180
8.4.3 算子優(yōu)化 181
8.5 模型的安全保護 186
8.5.1 概述 186
8.5.2 模型混淆 186
8.6 總結(jié) 188
8.7 拓展閱讀 189
第9章 分布式訓練 190
9.1 設計概述 190
9.1.1 設計動機 190
9.1.2 系統(tǒng)架構(gòu) 191
9.1.3 用戶益處 192
9.2 實現(xiàn)方法 192
9.2.1 方法分類 192
9.2.2 數(shù)據(jù)并行 194
9.2.3 模型并行 194
9.2.4 混合并行 197
9.3 流水線并行 197
9.4 機器學習集群架構(gòu) 198
9.5 集合通信 200
9.5.1 常見集合通信算子 200
9.5.2 基于AllReduce的梯度平均算法 203
9.5.3 集合通信算法性能分析 205
9.5.4 利用集合通信優(yōu)化模型訓練的實踐 206
9.5.5 集合通信在數(shù)據(jù)并行的實踐 207
9.5.6 集合通信在混合并行的實踐 208
9.6 參數(shù)服務器 210
9.6.1 系統(tǒng)架構(gòu) 210
9.6.2 異步訓練 211
9.6.3 數(shù)據(jù)副本 212
9.7 總結(jié) 212
9.8 拓展閱讀 213
拓展篇
第10章 聯(lián)邦學習系統(tǒng) 217
10.1 概述 217
10.1.1 定義 217
10.1.2 應用場景 217
10.1.3 部署場景 218
10.1.4 常用框架 218
10.2 橫向聯(lián)邦學習 219
10.2.1 云云場景中的橫向聯(lián)邦 219
10.2.2 端云場景中的橫向聯(lián)邦 220
10.3 縱向聯(lián)邦學習 222
10.3.1 縱向聯(lián)邦架構(gòu) 222
10.3.2 樣本對齊 223
10.3.3 聯(lián)合訓練 224
10.4 隱私加密算法 225
10.4.1 基于LDP算法的安全聚合 226
10.4.2 基于MPC算法的安全聚合 226
10.4.3 基于LDP-SignDS算法的安全聚合 227
10.5 展望 229
10.5.1 異構(gòu)場景下的聯(lián)邦學習 229
10.5.2 通信效率提升 230
10.5.3 聯(lián)邦生態(tài) 230
10.6 總結(jié) 231