萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰

柳浩 著

  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-1
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-2
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-3
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-4
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-5
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-6
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-7
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-8
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-9
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-10
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-11
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-12
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-13
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-14
  • 萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-15
萬顆 GPU 的訓練 - 分散式機器學習 — 系統工程與實戰-preview-1

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

相關主題

商品描述

  1. 分散式機器學習機礎,包括資料、模型、管線的並行
  2. 集合通訊的重要性、參數伺服器PS-Lite
  3. PyTorch DataParallePyTorch DDP的基礎及動態邏輯
  4. Uber Horovod的原理及實作
  5. GPipePyTorch的管線並行及PipeDream基礎架構及實作
  6. Megatron原理及實作、PyTorch的模型並行原理實作
  7. 分散式運算的最佳化器
  8. TensorFlow的分散式環境,靜態架構、動態邏輯
  9. 分散式架構的策略基礎、MirroredStrategyParameterServerStrategy

 

本書書以PyTorch為主體講解,從系統和實踐的角度對分散式機器學習進行整理。

包括了第1篇分散式基礎,介紹了分散式機器學習的基本概念、基礎設施,以及機器學習並行化的技術、框架和軟體系統,然後對集合通訊和參數伺服器PS-Lite進行了介紹。

2篇介紹資料並行,將計算負載切分到多張卡上,實作為PyTorchHorovod

3篇介紹模型並行,主要說明了張量模型並行及管線模弄並行,讓模型可以放入多節點上。

4NVIDIA Megatron進行分析,講解如何進行層內分割模型並行,然後學習PyTorch如何支援模型並行。

5篇則是將全書的內容用TensorFlow實作,讓已經熟悉TensorFlow的使用者不必重新學習新的框架。

作者簡介

柳浩

網名「羅西的思考」,浙江大學碩士。

曾就職於多家世界500強企業,主導過多個大型項目,現就職於某新能源車企。

技術棧廣博,有豐富的各種大型軟體開發和系統架構經驗,對機器學習框架、微服務框架、大數據引擎、NoSQL、訊息佇列、分散式追蹤系統、可觀測系統、可靠性設計、移動開發方案和源代碼有著深刻的理解和認識。

目錄大綱

1 分散式基礎

1 分散式機器學習

1.1 機器學習概念

1.2 機器學習的特點

1.3 分散式訓練的必要性

1.4 分散式機器學習研究領域

1.5 從模型角度看如何並行

1.6 從訓練併發角度看如何並行

1.7 分散式機器學習程式設計介面

1.8 PyTorch分散式

1.9 總結

 

2 集合通訊

2.1 通訊模式

2.2 點對點通訊

2.3 集合通訊

2.4 MPI_AllReduce

2.5 Ring All-Reduce

 

3 參數伺服器之PS-Lite

3.1 參數伺服器

3.2 基礎模組Postoffice

3.3 通訊模組Van

3.4 代理人Customer

3.5 應用節點實現

 

2 資料並行

4 PyTorch DataParallel

4.1 整體說明

4.2 範例

4.3 定義

4.4 前向傳播

4.5 計算損失

4.6 反向傳播

4.7 總結

 

5 PyTorch DDP的基礎架構

5.1 DDP總述

5.2 設計理念

5.3 基礎概念

5.4 架構和初始化

 

6 PyTorch DDP的動態邏輯

6.1 Reducer類別

6.2 前向/反向傳播

 

7 Horovod

7.1 從使用者角度切入

7.2 horovodrun

7.3 網路基礎和Driver

7.4 DistributedOptimizer

7.5 融合框架

7.6 背景執行緒架構

 

3 管線並行

8 GPipe

8.1 管線基本實現

8.2 梯度累積

8.3 Checkpointing

 

9 PyTorch管線並行

9.1 如何劃分模型

9.2 切分資料和Runtime系統

9.3 前向計算

9.4 計算依賴

9.5 平行計算

 

10 PipeDream之基礎架構

10.1 整體想法

10.2 profile階段

10.3 計算分區階段

10.4 轉換模型階段

 

11 PipeDream之動態邏輯

11.1 Runtime引擎

11.2 通訊模組

11.3 1F1B策略

 

4 模型並行

12 Megatron

12.1 設計想法

12.2 模型並行實現

12.3 如何設置各種並行

12.4 Pipedream的管線刷新

 

13 PyTorch如何實現模型並行

13.1 PyTorch模型並行

13.2 分散式自動求導之設計

13.3 RPC基礎

13.4 上下文相關

13.5 如何切入引擎

13.6 自動求導引擎

 

14 分散式最佳化器

14.1 原生最佳化器

14.2 DP的最佳化器

14.3 DDP的最佳化器

14.4 Horovod的最佳化器

14.5 模型並行的分散式問題

14.6 PyTorch分散式最佳化器

14.7 PipeDream分散式最佳化器

 

5 TensorFlow分散式

15 分散式運行環境之靜態架構

15.1 整體架構

15.2 Server

15.3 Master的靜態邏輯

15.4 Worker的靜態邏輯

 

16 分散式運行環境之動態邏輯

16.1 Session機制

16.2 Master動態邏輯

16.3 Worker動態邏輯

16.4 通訊機制

 

17 分散式策略基礎

17.1 使用TensorFlow進行分散式訓練

17.2 DistributedStrategy基礎

17.3 分散式變數

 

18 MirroredStrategy

18.1 MirroredStrategy集合通訊

18.2 MirroredStrategy分發計算

 

19 ParameterServerStrategy

19.1 ParameterServerStrategyV1

19.2 ParameterServerStrategyV2

19.3 ClusterCoordinator