機器學習平臺架構實戰 The Machine Learning Solutions Architect Handbook: Create machine learning platforms to run solutions in an enterprise setting

[美]戴維·平 著 郭興霞 譯

  • 機器學習平臺架構實戰-preview-1
  • 機器學習平臺架構實戰-preview-2
  • 機器學習平臺架構實戰-preview-3
機器學習平臺架構實戰-preview-1

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

商品描述

《機器學習平臺架構實戰》詳細闡述了與機器學習平臺架構相關的基本解決方案,主要包括機器學習和機器學習解決方案架構,機器學習的業務用例,機器學習算法,機器學習的數據管理,開源機器學習庫,Kubernetes容器編排基礎設施管理,開源機器學習平臺,使用AWS機器學習服務構建數據科學環境,使用AWS機器學習服務構建企業機器學習架構,高級機器學習工程,機器學習治理、偏差、可解釋性和隱私,使用人工智能服務和機器學習平臺構建機器學習解決方案等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。

目錄大綱

第1篇  使用機器學習解決方案架構解決業務挑戰

第1章  機器學習和機器學習解決方案架構 3

1.1  人工智能和機器學習的定義 4

1.2  監督機器學習 4

1.3  無監督機器學習 6

1.4  強化學習 8

1.5  機器學習與傳統軟件 9

1.6  機器學習生命周期 11

1.6.1  業務理解和機器學習問題框架 13

1.6.2  數據理解和數據準備 13

1.6.3  模型訓練和評估 14

1.6.4  模型部署 14

1.6.5  模型監控 14

1.6.6  業務指標跟蹤 15

1.7  機器學習的挑戰 15

1.8  機器學習解決方案架構 16

1.8.1  業務理解和機器學習轉型 17

1.8.2  機器學習技術的識別和驗證 18

1.8.3  系統架構設計與實現 18

1.8.4  機器學習平臺工作流自動化 19

1.8.5  安全性和合規性 19

1.9  小測試 20

1.10  小結 21

第2章  機器學習的業務用例 23

2.1  金融服務中的機器學慣用例 23

2.1.1  資本市場前臺 24

2.1.2  資本市場後台運營 28

2.1.3  風險管理和欺詐檢測 31

2.2  媒體和娛樂領域的機器學慣用例 38

2.2.1  內容開發和製作 39

2.2.2  內容管理和發現 39

2.2.3  內容分發和客戶參與 40

2.3  醫療保健和生命科學領域的機器學慣用例 41

2.3.1  醫學影像分析 42

2.3.2  藥物發現 43

2.3.3  醫療數據管理 44

2.4  製造業中的機器學慣用例 45

2.4.1  工程和產品設計 46

2.4.2  製造運營—產品質量和產量 47

2.4.3  製造運營—機器維護 47

2.5  零售業中的機器學慣用例 48

2.5.1  產品搜索和發現 48

2.5.2  目標市場營銷 49

2.5.3  情緒分析 50

2.5.4  產品需求預測 50

2.6  機器學慣用例識別練習 51

2.7  小結 52

第2篇  機器學習的科學、工具和基礎設施平臺

第3章  機器學習算法 55

3.1  技術要求 55

3.2  機器學習的原理 56

3.3  機器學習算法概述 58

3.3.1  選擇機器學習算法時的註意事項 58

3.3.2  機器學習算法類型 59

3.4  分類和回歸問題的算法 59

3.4.1  線性回歸算法 59

3.4.2  邏輯回歸算法 60

3.4.3  決策樹算法 60

3.4.4  隨機森林算法 62

3.4.5  梯度提升機和XGBoost算法 64

3.4.6  K最近鄰算法 65

3.4.7  多層感知器網絡 65

3.4.8  聚類算法 68

3.4.9  K-means算法 68

3.5  時間序列分析算法 68

3.5.1  ARIMA算法 69

3.5.2  DeepAR算法 70

3.6  推薦算法 70

3.6.1  協同過濾算法 71

3.6.2  多臂老虎機/上下文老虎機算法 71

3.7  電腦視覺問題的算法 72

3.7.1  捲積神經網絡 72

3.7.2  殘差網絡 73

3.8  自然語言處理問題的算法 74

3.8.1  Word2Vec 76

3.8.2  循環神經網絡和長期短期記憶 77

3.8.3  BERT 78

3.8.4  GPT 82

3.8.5  潛在狄利克雷分配算法 82

3.8.6  生成模型 84

3.8.7  生成對抗網絡 84

3.9  動手練習 85

3.9.1  問題陳述 85

3.9.2  數據集描述 86

3.9.3  設置Jupyter Notebook環境 86

3.9.4  運行練習 88

3.10  小結 93

第4章  機器學習的數據管理 95

4.1  技術要求 95

4.2  機器學習的數據管理註意事項 96

4.3  機器學習的數據管理架構 98

4.4  數據存儲和管理 100

4.4.1  數據湖 100

4.4.2  AWS Lake Formation 101

4.5  數據提取 102

4.5.1  決定數據提取工具時的註意事項 102

4.5.2  Kinesis Firehose 103

4.5.3  AWS Glue 104

4.5.4  AWS Lambda 105

4.6  數據目錄 105

4.6.1  採用數據目錄技術的關鍵考慮因素 105

4.6.2  AWS Glue目錄 106

4.7  數據處理 106

4.7.1  數據處理技術的關鍵要求 106

4.7.2  AWS Glue ETL 107

4.7.3  Amazon Elastic Map Reduce 107

4.7.4  AWS Lambda數據處理 107

4.8  數據版本控制 107

4.8.1  S3分區 108

4.8.2  專用數據版本工具 108

4.9  機器學習特徵存儲 108

4.10  供客戶使用的數據服務 109

4.10.1  通過API使用 109

4.10.2  通過數據復制使用 109

4.11  數據管道 109

4.11.1  AWS Glue工作流 110

4.11.2  AWS步驟函數 110

4.12  身份驗證和授權 110

4.13  數據治理 111

4.14  動手練習—機器學習的數據管理 113

4.14.1  使用Lake Formation創建數據湖 114

4.14.2  創建數據提取管道 115

4.14.3  創建Glue目錄 116

4.14.4  在數據湖中發現和查詢數據 118

4.14.5  創建Amazon Glue ETL作業以處理機器學習數據 119

4.14.6  使用Glue工作流構建數據管道 123

4.15  小結 124

第5章  開源機器學習庫 125

5.1  技術要求 125

5.2  開源機器學習庫的核心功能 126

5.3  瞭解scikit-learn機器學習庫 126

5.3.1  安裝scikit-learn 127

5.3.2  scikit-learn的核心組件 127

5.4  瞭解Apache Spark機器學習機器學習庫 129

5.4.1  安裝Spark ML 131

5.4.2  Spark機器學習庫的核心組件 131

5.5  瞭解TensorFlow深度學習庫 134

5.5.1  安裝TensorFlow 136

5.5.2  TensorFlow的核心組件 136

5.6  動手練習—訓練TensorFlow模型 138

5.7  瞭解PyTorch 深度學習庫 141

5.7.1  安裝PyTorch 141

5.7.2  PyTorch的核心組件 142

5.8  動手練習—構建和訓練PyTorch模型 143

5.9  小結 146

第6章  Kubernetes容器編排基礎設施管理 147

6.1  技術要求 147

6.2  容器介紹 147

6.3  Kubernetes概述和核心概念 149

6.4  Kubernetes網絡 156

6.4.1  Kubernetes網絡通信流程 156

6.4.2  從集群外部訪問Pod或服務的選項 158

6.4.3  服務網格 161

6.5  Kubernetes安全和訪問控制 163

6.5.1  網絡安全 163

6.5.2  API的身份驗證和授權 164

6.5.3  在Kubernetes上運行機器學習工作負載 168

6.6  動手練習—在AWS上構建Kubernetes基礎設施 169

6.6.1  問題陳述 169

6.6.2  操作指導 169

6.7  小結 175

第3篇  企業機器學習平臺的技術架構設計和監管註意事項

第7章  開源機器學習平臺 179

7.1  技術要求 179

7.2  機器學習平臺的核心組件 179

7.3  用於構建機器學習平臺的開源技術 180

7.3.1  將Kubeflow用於數據科學環境 181

7.3.2  搭建模型訓練環境 184

7.3.3  使用模型註冊表註冊模型 186

7.3.4  MLflow模型註冊表 186

7.3.5  使用模型服務框架 188

7.3.6  Gunicorn和Flask推理引擎 188

7.3.7  TensorFlow Serving框架 189

7.3.8  TorchServe服務框架 191

7.3.9  KFServing框架 192

7.3.10  Seldon Core 194

7.3.11  自動化機器學習管道工作流程 197

7.3.12  Apache Airflow 197

7.3.13  Kubeflow Pipelines 199

7.4  動手練習—使用開源技術構建數據科學架構 201

7.4.1  第1部分—安裝Kubeflow 201

7.4.2  第2部分—跟蹤實驗和管理模型 206

7.4.3  第3部分—使用機器學習管道實現自動化 213

7.4.4  授予命名空間服務賬戶訪問Istio服務的權限 214

7.4.5  創建自動化管道 215

7.5  小結 225

第8章  使用AWS機器學習服務構建數據科學環境 227

8.1  技術要求 227

8.2  使用SageMaker的數據科學環境架構 228

8.2.1  SageMaker Studio 229

8.2.2  SageMaker Processing 230

8.2.3  SageMaker Training服務 232

8.2.4  SageMaker Tuning 233

8.2.5  SageMaker Experiments 234

8.2.6  SageMaker Hosting 234

8.3  動手練習—使用AWS服務構建數據科學環境 235

8.3.1  問題陳述 235

8.3.2  數據集 235

8.3.3  操作步驟說明 235

8.3.4  設置SageMaker Studio 235

8.3.5  設置CodeCommit 237

8.3.6  在Jupyter Notebook中訓練BERT模型 238

8.3.7  使用SageMaker Training服務訓練BERT模型 244

8.3.8  部署模型 247

8.3.9  將源代碼保存到CodeCommit存儲庫 249

8.4  小結 249

第9章  使用AWS機器學習服務構建企業機器學習架構 251

9.1  技術要求 251

9.2  企業機器學習平臺的關鍵要求 252

9.3  企業機器學習架構模式概述 253

9.4  模型訓練環境 255

9.4.1  模型訓練引擎 256

9.4.2  自動化支持 257

9.4.3  模型訓練生命周期管理 259

9.5  模型托管環境深入研究 259

9.5.1  推理引擎 260

9.5.2  身份驗證和安全控制 263

9.5.3  監控和日誌記錄 264

9.6  為機器學習工作流採用機器學習運維架構 264

9.6.1  機器學習運維架構的組件 265

9.6.2  監控和記錄 269

9.6.3  模型訓練監控 269

9.6.4  模型端點監控 272

9.6.5  機器學習管道監控 276

9.6.6  服務配置管理 277

9.7  動手練習—在AWS上構建機器學習運維管道 281

9.7.1  為機器學習培訓管道創建CloudFormation模板 282

9.7.2  為CodePipeline訓練管道創建CloudFormation模板 285

9.7.3  通過事件啟動CodePipeline執行 286

9.7.4  為機器學習部署管道創建CloudFormation模板 287

9.8  小結 290

第10章  高級機器學習工程 291

10.1  技術要求 291

10.2  通過分佈式訓練方式訓練大規模模型 291

10.3  使用數據並行進行分佈式模型訓練 293

10.3.1  參數服務器概述 294

10.3.2  在框架中實現參數服務器 295

10.3.3  AllReduce概述 296

10.3.4  在框架中實現AllReduce和Ring AllReduce 297

10.4  使用模型並行進行分佈式模型訓練 298

10.4.1  樸素模型並行性概述 299

10.4.2  管道模型並行性概述 300

10.4.3  張量並行概述 302

10.4.4  實現模型並行訓練 303

10.4.5  Megatron-LM概述 303

10.4.6  DeepSpeed概述 305

10.4.7  SageMaker分佈式訓練庫概述 306

10.5  實現低延遲模型推理 307

10.5.1  模型推理的工作原理和可優化的機會 307

10.5.2  硬件加速 308

10.5.3  模型優化 310

10.5.4  圖和算子優化 312

10.5.5  模型編譯器 314

10.5.6  推理引擎優化 315

10.6  動手練習—使用PyTorch運行分佈式模型訓練 316

10.6.1  修改訓練腳本 316

10.6.2  修改train()函數 317

10.6.3  修改get_data_loader()函數 318

10.6.4  為多設備服務器結點添加多處理啟動支持 318

10.6.5  修改和運行啟動器notebook 318

10.7  小結 319

第11章  機器學習治理、偏差、可解釋性和隱私 321

11.1  技術要求 321

11.2  機器學習治理的定義和實施原因 322

11.2.1  圍繞模型風險管理的監管環境 322

11.2.2  機器學習模型風險的常見原因 323

11.3  瞭解機器學習治理框架 324

11.4  瞭解機器學習偏差和可解釋性 325

11.4.1  偏差檢測和減少 325

11.4.2  機器學習可解釋性技術 327

11.4.3  LIME 327

11.4.4  SHAP 328

11.5  設計用於治理的機器學習平臺 329

11.5.1  數據和模型文檔 330

11.5.2  模型清單 331

11.5.3  模型監控 332

11.5.4  變更管理控制 333

11.5.5  世系和可重復性 333

11.5.6  可觀察性和審計 333

11.5.7  安全和隱私保護 334

11.5.8  差分隱私 335

11.6  動手練習—檢測偏差、模型可解釋性和訓練隱私保護模型 338

11.6.1  方案概述 338

11.6.2  檢測訓練數據集中的偏差 339

11.6.3  解釋訓練模型的特徵重要性 342

11.6.4  訓練隱私保護模型 343

11.7  小結 345

第12章  使用人工智能服務和機器學習平臺構建機器學習解決方案 347

12.1  技術要求 347

12.2  人工智能服務的定義 348

12.3  AWS人工智能服務概述 348

12.3.1  Amazon Comprehend 349

12.3.2  Amazon Textract 351

12.3.3  Amazon Rekognition 352

12.3.4  Amazon Transcribe 354

12.3.5  Amazon Personalize 355

12.3.6  Amazon Lex 357

12.3.7  Amazon Kendra 358

12.3.8  針對機器學慣用例評估AWS人工智能服務 359

12.4  使用人工智能服務構建智能解決方案 360

12.4.1  自動化貸款文件驗證和數據提取 360

12.4.2  貸款文件分類工作流程 362

12.4.3  貸款數據處理流程 363

12.4.4  媒體處理和分析工作流程 363

12.4.5  電商產品推薦 365

12.4.6  通過智能搜索實現客戶自助服務自動化 367

12.5  為人工智能服務設計機器學習運維架構 368

12.5.1  人工智能服務和機器學習運維的AWS賬戶設置策略 369

12.5.2  跨環境的代碼推廣 371

12.5.3  監控人工智能服務的運營指標 371

12.6  動手練習—使用人工智能服務運行機器學習任務 372

12.7  小結 376