機器學習流水線實戰

機器學習流水線實戰

《機器學習流水線實戰》是2021年人民郵電出版社出版的圖書。

基本介紹

  • 中文名:機器學習流水線實戰
  • 作者:[美]漢納斯·馬克斯·哈普克,[美]凱瑟琳·納爾遜
  • 出版社:人民郵電出版社
  • ISBN:9787115573216
內容簡介,圖書目錄,作者簡介,

內容簡介

本書介紹如何構建完整的機器學習流水線,從而在生產環境中準備數據以及訓練、驗證、部署和管理機器學習模型。你將了解機器學習流水線的每個環節,以及如何利用TensorFlow Extended(TFX)構建機器學習流水線。模型的生命周期是一個閉環,其中包括數據讀取、數據校驗、數據預處理、模型訓練、模型分析、模型驗證、模型部署、模型反饋等環節。你將學習如何利用Beam、Airflow、Kubeflow、TensorFlow Serving等工具將每一個環節的工作自動化。學完本書,你將不再止步於訓練單個模型,而是能夠從更高的角度將模型產品化,從而為公司創造更大的價值。

圖書目錄

本書讚譽 xiii
序 xv
前言 xvii
第 1 章 入門 1
1.1 為什麼要用機器學習流水線 1
1.2 什麼時候考慮使用機器學習流水線 2
1.3 機器學習流水線步驟概述 3
1.3.1 數據讀取和版本控制 4
1.*.* 數據校驗 4
1.3.3 數據預處理 4
1.3.4 模型訓練和模型調優 5
1.3.5 模型分析 5
1.3.6 模型版本控制 5
1.3.7 模型部署 6
1.3.8 反饋循環 6
1.3.9 數據隱私 6
1.4 流水線編排 7
1.4.1 為什麼使用流水線編排工具 7
1.4.2 有向無環圖 7
1.5 示例項目 8
1.5.1 項目結構 9
1.5.2 機器學習模型 9
1.5.3 示例項目的目標 10
1.6 小結 10
第 2 章 TensorFlow Extended入門 11
2.1 什麼是TFX 12
2.2 安裝TFX 13
2.3 TFX組件概述 14
2.4 什麼是機器學習元數據 15
2.5 互動式流水線 16
2.6 TFX的替代品 17
2.7 Apache Beam簡介 18
2.7.1 安裝 18
2.7.2 基本數據流水線 19
2.7.3 執行流水線 22
2.8 小結 22
第 3 章 數據讀取 23
3.1 數據讀取的概念 23
3.1.1 讀取本地數據檔案 24
3.1.2 讀取遠程數據檔案 29
3.1.3 直接從資料庫中讀取數據 29
*.* 數據準備 31
*.*.1 拆分數據集 31
*.*.2 跨越數據集 33
*.*.3 對數據集*行版本控制 34
3.3 數據讀取策略 34
3.3.1 結構化數據 35
3.*.* 自然語言處理中的文本數據 35
3.3.3 用於計算機視覺問題的圖像數據 35
3.4 小結 36
第 4 章 數據校驗 37
4.1 為什麼要*行數據校驗 38
4.2 TFDV 39
4.2.1 安裝 39
4.2.2 根據數據生成統計信息 40
4.2.3 從數據生成模式 41
4.3 識別數據中的問題 42
4.3.1 比較數據集 43
4.*.* 更新模式 44
4.3.3 數據偏斜和漂移 45
4.3.4 存在偏差的數據集 46
4.3.5 在TFDV中切分數據 47
4.4 使用GCP處理大型數據集 49
4.5 將TFDV集成到機器學習流水線中 51
4.6 小結 53
第 5 章 數據預處理 54
5.1 為什麼要*行數據預處理 55
5.1.1 在整個數據集的上下文中預處理數據 55
5.1.2 擴展預處理步驟 55
5.1.3 避免訓練?C服務偏斜 55
5.1.4 將預處理步驟和機器學習模型作為一個工件*行部署 56
5.1.5 檢查流水線中的預處理結果 56
5.2 使用TFT做數據預處理 57
5.2.1 安裝 58
5.2.2 預處理策略 58
5.2.3 實踐 60
5.2.4 TFT函式 60
5.2.5 TFT的獨立執行 63
5.2.6 將TFT集成到機器學習流水線中 64
5.3 小結 67
第 6 章 模型訓練 68
6.1 定義示例項目的模型 69
6.2 TFX Trainer組件 72
6.2.1 run_fn( )函式 72
6.2.2 運行Trainer組件 76
6.2.3 其他關於Trainer組件的注意事項 77
6.3 在互動式流水線中使用TensorBoard 78
6.4 分布策略 80
6.5 模型調整 82
6.5.1 超參數調整的策略 82
6.5.2 TFX流水線中的超參數調整 83
6.6 小結 83
第 7 章 模型分析和模型驗證 84
7.1 如何分析模型 85
7.1.1 分類指標 85
7.1.2 回歸指標 87
7.2 TensorFlow模型分析 88
7.2.1 用TFMA分析單個模型 88
7.2.2 用TFMA分析多個模型 91
7.3 模型公平性分析 93
7.3.1 用TFMA劃分模型預測 94
7.*.* 用公平性指標檢查決策閾值 96
7.3.3 詳解假設分析工具 98
7.4 模型可解釋性 102
7.4.1 使用WIT生成模型解釋 103
7.4.2 其他模型解釋方法 105
7.5 用TFX*行分析和驗證 106
7.5.1 ResolverNode 106
7.5.2 Evaluator組件 107
7.5.3 用Evaluator組件*行驗證 107
7.5.4 TFX Pusher組件 108
7.6 小結 109
第 8 章 用TensorFlow Serving部署模型 110
8.1 簡單的模型伺服器 111
8.2 基於Python API部署模型的缺點 112
8.2.1 缺少代碼隔離 112
8.2.2 缺少模型版本控制 112
8.2.3 低效的模型推算 112
8.3 TensorFlow Serving 113
8.4 TensorFlow Serving架構概述 113
8.5 為TensorFlow Serving導出模型 113
8.6 模型簽名 115
8.7 查看導出的模型 117
8.7.1 查看模型 118
8.7.2 測試模型 119
8.8 設定TensorFlow Serving 120
8.8.1 Docker安裝 120
8.8.2 原生Ubuntu安裝 120
8.8.3 從源碼編譯TensorFlow Serving 121
8.9 配置TensorFlow伺服器 121
8.9.1 單一模型配置 121
8.9.2 多模型配置 124
8.10 REST與gRPC 126
8.10.1 REST 126
8.10.2 gRPC 126
8.11 用模型伺服器預測 126
8.11.1 用REST獲得模型預測 126
8.11.2 通過gRPC使用TensorFlow Serving 128
8.12 用TensorFlow Serving*行模型A/B測試 131
8.13 從模型伺服器獲取模型元數據 132
8.13.1 使用REST請求模型元數據 132
8.1*.* 使用gRPC請求模型元數據 133
8.14 批量推算請求 134
8.15 配置批量預測 135
8.16 其他TensorFlow Serving最佳化方法 136
8.17 TensorFlow Serving的替代品 137
8.17.1 BentoML 137
8.17.2 Seldon 138
8.17.3 GraphPipe 138
8.17.4 Simple TensorFlow Serving 138
8.17.5 MLflow 138
8.17.6 Ray Serve 139
8.18 在雲端部署 139
8.18.1 用例 139
8.18.2 在GCP上*行示例部署 139
8.19 使用TFX流水線*行模型部署 144
8.20 小結 145
第 9 章 使用TensorFlow Serving*行*階模型部署 146
9.1 解耦部署環節 146
9.1.1 工作流概述 147
9.1.2 最佳化遠程模型載入 149
9.2 為部署模型*行最佳化 149
9.2.1 量化 149
9.2.2 剪枝 150
9.2.3 蒸餾 151
9.3 在TensorFlow Serving中使用TensorRT 151
9.4 TFLite 152
9.4.1 用TFLite最佳化模型的步驟 152
9.4.2 使用TensorFlow Serving實例部署TFLite模型 153
9.5 監測TensorFlow Serving實例 154
9.5.1 設定Prometheus 154
9.5.2 TensorFlow Serving配置 156
9.6 使用TensorFlow Serving和Kubernetes*行簡單的擴容 157
9.7 小結 159
第 10 章 TensorFlow Extended的高級功能 160
10.1 流水線的高級功能 160
10.1.1 同時訓練多個模型 161
10.1.2 導出TFLite模型 162
10.1.3 熱啟動模型訓練 164
10.2 人工審核 165
10.2.1 創建Slack組件 166
10.2.2 如何使用Slack組件 166
10.3 TFX自定義組件 167
10.3.1 自定義組件的套用場景 168
10.*.* 從零創建自定義組件 168
10.3.3 復用現有組件 176
10.4 小結 179
第 11 章 流水線第 一部分:Apache Beam和Apache Airflow 180
11.1 選擇哪種編排工具 181
11.1.1 Apache Beam 181
11.1.2 Apache Airflow 181
11.1.3 Kubeflow Pipelines 181
11.1.4 AI Platform上的Kubeflow Pipelines 182
11.2 將互動式TFX流水線轉換為生產流水線 182
11.3 Beam和Airflow的簡單互動式流水線轉換 184
11.4 Apache Beam簡介 185
11.5 使用Apache Beam編排TFX流水線 185
11.6 Apache Airflow簡介 187
11.6.1 安裝和初始設定 187
11.6.2 基本Airflow示例 188
11.7 使用Apache Airflow編排TFX流水線 191
11.7.1 流水線設定 192
11.7.2 運行流水線 193
11.8 小結 194
第 12 章 流水線第二部分:Kubeflow Pipelines 195
12.1 Kubeflow Pipelines概述 196
12.1.1 安裝和初始設定 198
12.1.2 訪問已安裝的Kubeflow Pipelines 199
12.2 使用Kubeflow Pipelines編排TFX流水線 200
12.2.1 流水線設定 202
12.2.2 運行流水線 206
12.2.3 Kubeflow Pipelines的有用功能 211
12.3 基於Google Cloud AI Platform的流水線 215
12.3.1 流水線設定 215
12.*.* TFX流水線設定 218
12.3.3 運行流水線 221
12.4 小結 222
第 13 章 反饋循環 223
13.1 顯式反饋和隱式反饋 224
13.1.1 數據飛輪 224
13.1.2 現實世界中的反饋循環 225
1*.* 收集反饋的設計模式 227
1*.*.1 用戶根據預測採取了某些措施 227
1*.*.2 用戶對預測的質量*行評分 228
1*.*.3 用戶糾正預測 228
1*.*.4 眾包打標 228
1*.*.5 專家打標 229
1*.*.6 自動產生反饋 229
13.3 如何跟蹤反饋循環 229
13.3.1 跟蹤顯式反饋 230
13.*.* 跟蹤隱式反饋 230
13.4 小結 231
第 14 章 機器學習的數據隱私 232
14.1 數據隱私問題 232
14.1.1 為什麼關心數據隱私 232
14.1.2 簡單的加強隱私保護的方法 233
14.1.3 哪些數據需要保密 233
14.2 差分隱私 234
14.2.1 局部差分隱私和全局差分隱私 235
14.2.2 epsilon、delta和隱私預算 235
14.2.3 機器學習的差分隱私 236
14.3 TensorFlow Privacy 236
14.3.1 使用差分隱私最佳化器*行訓練 237
14.*.* 計算epsilon 238
14.4 聯邦學習 239
14.5 加密機器學習 241
14.5.1 加密模型訓練 241
14.5.2 將訓練好的模型轉換為加密的預測服務 242
14.6 其他數據保密方法 243
14.7 小結 243
第 15 章 流水線的未來和下一步 244
15.1 模型實驗跟蹤 244
15.2 關於模型發布管理的思考 245
15.3 未來的流水線能力 246
15.4 TFX與其他機器學習框架 246
15.5 測試機器學習模型 247
15.6 用於機器學習的CI/CD系統 247
15.7 機器學習工程社區 247
15.8 小結 247
附錄A 機器學習基礎架構簡介 249
附錄B 在Google Cloud上設定Kubernetes集群 262
附錄C 操作Kubeflow Pipelines的技巧 268
關於作者 276
關於封面 276

作者簡介

漢內斯·哈普克(Hannes Hapke),數據科學家,善於解決各行各業的機器學習問題,與他人合著有《自然語言處理實戰》。 凱瑟琳·納爾遜(Catherine Nelson),數據科學家,牛津大學碩士,長期為企業提供機器學習解決方案。 【譯者介紹】 孔曉泉,谷歌認證機器學習專業人士,TensorFlow Addons的Codeowner之一,上海TensorFlow User Group核心組織者,多年來一直在世界500強公司帶領團隊構建機器學習套用和平台。另外,他還作為技術審稿人參與了TensorFlow文檔的本地化工作。 鄭煒,明尼蘇達大學雙子城分校機械工程碩士,伊利諾伊大學香檳分校機械工程學士,谷歌認證機器學習專業人士,ABB電氣事業部中國技術中心算法項目經理、算法工程師,參與算法開發和算法工作流搭建等工作。 江駿,螞蟻集團技專業人士(花名“有練”)、谷歌認證機器學習專業人士、螞蟻雲原生機器學習平台技術負責人,專注於AI基礎架構和訓練框架最佳化。

相關詞條

熱門詞條

聯絡我們