機(jī)器學(xué)習(xí)系統(tǒng) 設(shè)計(jì)和實(shí)現(xiàn)
鏈接:https://pan.baidu.com/s/1ZDm1smkfOHHzPTeq8ytGog?pwd=iq9r?
提取碼:iq9r

本書分為三大部分。基礎(chǔ)篇覆蓋機(jī)器學(xué)習(xí)框架使用者所需要了解的核心系統(tǒng)知識(shí)和相關(guān)編程案例;進(jìn)階篇覆蓋了機(jī)器學(xué)習(xí)框架開發(fā)著所需要理解的核心知識(shí)和相關(guān)實(shí)踐案例;拓展篇詳細(xì)討論了多種類的機(jī)器學(xué)習(xí)系統(tǒng),從而為廣大機(jī)器學(xué)習(xí)從業(yè)者提供解密底層系統(tǒng)所需的基礎(chǔ)知識(shí)。
●基礎(chǔ)篇
第1章導(dǎo)論003
1.1機(jī)器學(xué)習(xí)應(yīng)用003
1.2機(jī)器學(xué)習(xí)框架的設(shè)計(jì)目標(biāo)004
1.3機(jī)器學(xué)習(xí)框架的基本組成原理005
1.4機(jī)器學(xué)習(xí)系統(tǒng)生態(tài)006
1.5本書結(jié)構(gòu)和讀者對(duì)象007
第2章編程模型009
2.1機(jī)器學(xué)習(xí)系統(tǒng)編程模型的演進(jìn)009
2.2機(jī)器學(xué)習(xí)工作流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訓(xùn)練及保存模型015
2.2.6測(cè)試和驗(yàn)證016
2.3定義深度神經(jīng)網(wǎng)絡(luò)017
2.3.1以層為核心定義神經(jīng)網(wǎng)絡(luò)017
2.3.2神經(jīng)網(wǎng)絡(luò)層的實(shí)現(xiàn)原理021
2.3.3自定義神經(jīng)網(wǎng)絡(luò)層022
2.3.4自定義神經(jīng)網(wǎng)絡(luò)模型023
2.4C/C++編程接口024
2.4.1在Python中調(diào)用C/C++函數(shù)的原理025
2.4.2添加C++編寫的自定義算子025
2.5機(jī)器學(xué)習(xí)框架的編程范式030
2.5.1機(jī)器學(xué)習(xí)框架編程需求030
2.5.2機(jī)器學(xué)習(xí)框架編程范式現(xiàn)狀030
2.5.3函數(shù)式編程案例031
2.6總結(jié)032
2.7拓展閱讀032
第3章計(jì)算圖033
3.1設(shè)計(jì)背景和作用033
3.2計(jì)算圖的基本構(gòu)成034
3.2.1張量和算子035
3.2.2計(jì)算依賴037
3.2.3控制流038
3.2.4基于鏈?zhǔn)椒▌t計(jì)算梯度041
3.3計(jì)算圖的生成043
3.3.1靜態(tài)生成043
3.3.2動(dòng)態(tài)生成046
3.3.3動(dòng)態(tài)圖和靜態(tài)圖生成的比較048
3.3.4動(dòng)態(tài)圖與靜態(tài)圖的轉(zhuǎn)換和融合049
3.4計(jì)算圖的調(diào)度051
3.4.1算子調(diào)度執(zhí)行051
3.4.2串行與并行052
3.4.3數(shù)據(jù)載入同步與異步機(jī)制053
3.5總結(jié)054
3.6拓展閱讀055
進(jìn)階篇
第4章AI編譯器和前端技術(shù)059
4.1AI編譯器設(shè)計(jì)原理059
4.2AI編譯器前端技術(shù)概述061
4.3中間表示062
4.3.1中間表示的基本概念062
4.3.2中間表示的種類063
4.3.3機(jī)器學(xué)習(xí)框架的中間表示065
4.4自動(dòng)微分072
4.4.1自動(dòng)微分的基本概念072
4.4.2前向與反向自動(dòng)微分074
4.4.3自動(dòng)微分的實(shí)現(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)化方法介紹及實(shí)現(xiàn)083
4.7總結(jié)085
第5章AI編譯器后端和運(yùn)行時(shí)086
5.1概述086
5.2計(jì)算圖優(yōu)化088
5.2.1通用硬件優(yōu)化088
5.2.2特定硬件優(yōu)化090
5.3算子選擇091
5.3.1算子選擇的基礎(chǔ)概念091
5.3.2算子選擇的過程095
5.4內(nèi)存分配095
5.4.1Device內(nèi)存概念096
5.4.2內(nèi)存分配096
5.4.3內(nèi)存復(fù)用098
5.4.4常見的內(nèi)存分配優(yōu)化手段099
5.5計(jì)算調(diào)度與執(zhí)行101
5.5.1單算子調(diào)度101
5.5.2計(jì)算圖調(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算子表達(dá)能力116
5.6.6相關(guān)編譯優(yōu)化技術(shù)117
5.7總結(jié)117
5.8拓展閱讀118
第6章硬件加速器119
6.1概述119
6.1.1硬件加速器設(shè)計(jì)的意義119
6.1.2硬件加速器設(shè)計(jì)的思路119
6.2硬件加速器基本組成原理120
6.2.1硬件加速器的架構(gòu)120
6.2.2硬件加速器的存儲(chǔ)單元121
6.2.3硬件加速器的計(jì)算單元122
6.2.4DSA芯片架構(gòu)124
6.3加速器基本編程原理125
6.3.1硬件加速器的可編程性125
6.3.2硬件加速器的多樣化編程方法128
6.4加速器實(shí)踐132
6.4.1環(huán)境132
6.4.2廣義矩陣乘法的樸素實(shí)現(xiàn)133
6.4.3提高計(jì)算強(qiáng)度135
6.4.4使用共享內(nèi)存緩存復(fù)用數(shù)據(jù)138
6.4.5減少寄存器使用139
6.4.6隱藏共享內(nèi)存讀取延遲140
6.4.7隱藏全局內(nèi)存讀取延遲141
6.4.8與cuBLAS對(duì)比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易用性設(shè)計(jì)147
7.2.1編程抽象與接口147
7.2.2自定義算子支持151
7.3高效性設(shè)計(jì)153
7.3.1數(shù)據(jù)讀取的高效性154
7.3.2數(shù)據(jù)計(jì)算的高效性157
7.4保序性設(shè)計(jì)162
7.5單機(jī)數(shù)據(jù)處理性能的擴(kuò)展163
7.5.1基于異構(gòu)計(jì)算的數(shù)據(jù)預(yù)處理163
7.5.2基于分布式的數(shù)據(jù)預(yù)處理165
7.6總結(jié)166
第8章模型部署168
8.1概述168
8.2訓(xùn)練模型到推理模型的轉(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知識(shí)蒸餾178
8.4模型推理179
8.4.1前處理與后處理179
8.4.2并行計(jì)算180
8.4.3算子優(yōu)化181
8.5模型的安全保護(hù)186
8.5.1概述186
8.5.2模型混淆186
8.6總結(jié)188
8.7拓展閱讀189
第9章分布式訓(xùn)練190
9.1設(shè)計(jì)概述190
9.1.1設(shè)計(jì)動(dòng)機(jī)190
9.1.2系統(tǒng)架構(gòu)191
9.1.3用戶益處192
9.2實(shí)現(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機(jī)器學(xué)習(xí)集群架構(gòu)198
9.5集合通信200
9.5.1常見集合通信算子200
9.5.2基于AllReduce的梯度平均算法203
9.5.3集合通信算法性能分析205
9.5.4利用集合通信優(yōu)化模型訓(xùn)練的實(shí)踐206
9.5.5集合通信在數(shù)據(jù)并行的實(shí)踐207
9.5.6集合通信在混合并行的實(shí)踐208
9.6參數(shù)服務(wù)器210
9.6.1系統(tǒng)架構(gòu)210
9.6.2異步訓(xùn)練211
9.6.3數(shù)據(jù)副本212
9.7總結(jié)212
9.8拓展閱讀213
拓展篇
第10章聯(lián)邦學(xué)習(xí)系統(tǒng)217
10.1概述217
10.1.1定義217
10.1.2應(yīng)用場(chǎng)景217
10.1.3部署場(chǎng)景218
10.1.4常用框架218
10.2橫向聯(lián)邦學(xué)習(xí)219
10.2.1云云場(chǎng)景中的橫向聯(lián)邦219
10.2.2端云場(chǎng)景中的橫向聯(lián)邦220
10.3縱向聯(lián)邦學(xué)習(xí)222
10.3.1縱向聯(lián)邦架構(gòu)222
10.3.2樣本對(duì)齊223
10.3.3聯(lián)合訓(xù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)場(chǎng)景下的聯(lián)邦學(xué)習(xí)229
10.5.2通信效率提升230
10.5.3聯(lián)邦生態(tài)230
10.6總結(jié)231
第11章推薦系統(tǒng)232
11.1系統(tǒng)基本組成232
11.1.1消息隊(duì)列233
11.1.2特征存儲(chǔ)233
11.1.3稠密神經(jīng)網(wǎng)絡(luò)234
11.1.4嵌入表234
11.1.5訓(xùn)練服務(wù)器235
11.1.6參數(shù)服務(wù)器235
11.1.7推理服務(wù)器236
11.2多階段推薦系統(tǒng)236
11.2.1推薦流水線概述236
11.2.2召回237
11.2.3排序239
11.3模型更新241
11.3.1持續(xù)更新模型的需求241
11.3.2離線更新242
11.4案例分析:支持在線模型更新的大型推薦系統(tǒng)243
11.4.1系統(tǒng)設(shè)計(jì)挑戰(zhàn)244
11.4.2系統(tǒng)架構(gòu)245
11.4.3點(diǎn)對(duì)點(diǎn)模型更新傳播算法246
11.4.4模型更新調(diào)度器247
11.4.5模型狀態(tài)管理器248
11.4.6小結(jié)249
11.5總結(jié)249
11.6擴(kuò)展閱讀250
第12章強(qiáng)化學(xué)習(xí)系統(tǒng)251
12.1強(qiáng)化學(xué)習(xí)介紹251
12.2單節(jié)點(diǎn)強(qiáng)化學(xué)習(xí)系統(tǒng)252
12.3分布式強(qiáng)化學(xué)習(xí)系統(tǒng)255
12.4多智能體強(qiáng)化學(xué)習(xí)257
12.5多智能體強(qiáng)化學(xué)習(xí)系統(tǒng)260
12.6總結(jié)264
第13章可解釋AI系統(tǒng)265
13.1背景265
13.2可解釋AI定義266
13.3可解釋AI算法現(xiàn)狀介紹267
13.3.1數(shù)據(jù)驅(qū)動(dòng)的解釋267
13.3.2知識(shí)感知的解釋270
13.4常見可解釋AI系統(tǒng)272
13.5案例分析:MindSporeXAI273
13.5.1為圖片分類場(chǎng)景提供解釋273
13.5.2為表格數(shù)據(jù)場(chǎng)景提供解釋275
13.5.3白盒模型276
13.6未來研究方向277
13.7總結(jié)277
第14章機(jī)器人系統(tǒng)278
14.1機(jī)器人系統(tǒng)概述278
14.1.1感知系統(tǒng)279
14.1.2規(guī)劃系統(tǒng)280
14.1.3控制系統(tǒng)281
14.1.4機(jī)器人安全282
14.2機(jī)器人操作系統(tǒng)283
14.2.1ROS2節(jié)點(diǎn)285
14.2.2ROS2主題285
14.2.3ROS2服務(wù)286
14.2.4ROS2參數(shù)286
14.2.5ROS2動(dòng)作286
14.3案例分析:使用機(jī)器人操作系統(tǒng)287
14.3.1創(chuàng)建節(jié)點(diǎn)290
14.3.2讀取參數(shù)296
14.3.3服務(wù)端-客戶端服務(wù)模式298
14.3.4客戶端301
14.3.5動(dòng)作模式303
14.3.6動(dòng)作客戶端305
14.4總結(jié)308
參考文獻(xiàn)309
近年來,機(jī)器學(xué)習(xí)技術(shù)廣泛用于各行各業(yè),誕生了眾多突破性成果。其中,機(jī)器學(xué)習(xí)框架和相關(guān)系統(tǒng)作為機(jī)器學(xué)習(xí)技術(shù)的核心基礎(chǔ),受到眾多科研人員和開發(fā)者的密切關(guān)注。本書由淺入深,通俗易懂地講解機(jī)器學(xué)習(xí)框架設(shè)計(jì)和實(shí)現(xiàn)過程中所涉及的核心知識(shí)。
本書分為三大部分。基礎(chǔ)篇覆蓋了使用者所需要了解的機(jī)器學(xué)習(xí)框架核心系統(tǒng)知識(shí)和相關(guān)編程案例。進(jìn)階篇覆蓋了開發(fā)者所需要理解的機(jī)器學(xué)習(xí)框架核心知識(shí)和相關(guān)實(shí)踐案例。拓展篇詳細(xì)討論了多種類型的機(jī)器學(xué)習(xí)系統(tǒng),從而為廣大機(jī)器學(xué)習(xí)從業(yè)者提供解密底層系統(tǒng)所需的基礎(chǔ)知識(shí)。