注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡人工智能機器學習系統(tǒng):設計和實現(xiàn)

機器學習系統(tǒng):設計和實現(xiàn)

機器學習系統(tǒng):設計和實現(xiàn)

定 價:¥79.00

作 者: 麥絡,董豪
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

ISBN: 9787302630074 出版時間: 2023-05-01 包裝: 平裝
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書系統(tǒng)地介紹了機器學習系統(tǒng)的設計原則和實踐經(jīng)驗,側(cè)重于介紹機器學習的原理、神經(jīng)網(wǎng)絡和優(yōu)化器、自動差分算法、機器學習系統(tǒng)編程模型、控制流和數(shù)據(jù)流,異構(gòu)硬件加速器的原理和編程、數(shù)據(jù)流圖編譯器前端、數(shù)據(jù)流圖編譯器后端、數(shù)據(jù)準備和增強、模型部署相關技術、分布式訓練、彈性訓練、聯(lián)合訓練和評估平臺、調(diào)試和優(yōu)化工具、數(shù)據(jù)隱私和安全等。在講授的過程中,本書將根據(jù)MindSpore的自身特點,在各個章節(jié)突出討論MindSpore的優(yōu)勢點,從而將MindSpore并列為與TensorFlow,PyTorch的三大框架。

作者簡介

  麥絡 愛丁堡大學信息學院助理教授,博士生導師。2018年于帝國理工學院獲得博士學位,谷歌博士獎學金獲得者。主要研究方向為分布式系統(tǒng)、機器學習和數(shù)據(jù)管理,當前研究工作專注于構(gòu)建大規(guī)模、自適應和可信的機器學習系統(tǒng),受到谷歌、微軟、華為、騰訊和阿里巴巴等多家知名科技公司的資助。在計算機頂級會議OSDI、NSDI、USENIX ATC、CoNEXT、VLDB、ECCV和NeurIPS發(fā)表多篇論文。獲得CoNEXT會議最佳論文入圍獎,ACM Multimedia 2017最佳開源論文獎。 董豪 北京大學計算機學院助理教授,博士生導師,2019年于帝國理工獲得博士學位。主要研究方向為計算機視覺、機器人和具身智能,當前研究工作圍繞智能機器人的自主決策與泛化交互。擔任CVPR 2023領域主席、AAAI 2023高級程序委員、中國科技核心期刊Machine Intelligence Research副編委等,在NeurIPS、ICLR、ICCV、ECCV、IROS等頂級國際會議和期刊發(fā)表30余篇論文,Deep Reinforcement Learning:Fundamentals, Research and Applications作者。獲得ACM MM最佳開源軟件獎,新一代人工智能產(chǎn)業(yè)技術創(chuàng)新戰(zhàn)略聯(lián)盟 OpenI 啟智社區(qū)優(yōu)秀開源項目、Springer Nature中國作者高影響力研究精選等。

圖書目錄

基礎篇

第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


本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號