Python機器學習工程實戰(第2版)/人工智慧與大數據系列
內容大鋼
本書是一本面向機器學習實務的專業指南,通過系統化的工程學視角幫助讀者將機器學習理論轉化為實際應用。全書共九章。內容從基礎知識到模型標準化、部署模式、擴展規模及深度學習應用,層層深入,逐步構建機器學習工程的完整知識體系。書中特彆強調如何在Python中高效編碼與設計,如何在大規模數據集上開發,以及當下熱門的大型語言模型(LLM)構建與運營方法。本書不僅傳播技術,更傳遞了工程學的嚴謹與實踐精神,旨在培養能夠解決複雜技術問題並引領數據科學發展的專業人才。無論是初學者,還是行業從業者,本書對讀者來說都是一次深入機器學習工程的寶貴探索。
作者介紹
(美)彼得·麥克馬洪|責編:劉志紅|譯者:殷海英//劉志紅//黃繼敏
目錄
第1章 機器學習工程簡介
技術要求
定義數據學科的分類
數據科學家
機器學習工程師
機器學習運維工程師
數據工程師
作為一個高效的團隊進行協作
在現實世界中的機器學習工程
什麼是機器學習解決方案?
為什麼使用Python?
機器學習系統的高層設計
示例1:批量異常檢測服務
示例2:預測API
示例3:分類流程
本章小結
第2章 機器學習開發流程
技術要求
配置我們的工具
設置AWS賬戶
從概念到解決方案的四個步驟
將這與CRISP-DM進行比較
發現
使用用戶故事
運行
開發
部署
了解你的部署選項
理解DevOps和MLOps
使用GitHub Actions構建第一個CI/CD示例
持續模型性能測試
持續模型訓練
本章小結
第3章 從模型到模型工廠
技術要求
定義模型工廠
掌握學習的方法
定義目標
減小損失
準備數據
為機器學習設計特徵工程
設計分類特徵工程
設計數值特徵工程
設計訓練系統
訓練-系統設計選項
訓練-運行模式
訓練-持久化
模型重訓練
檢測數據漂移
檢測概念漂移
設置限制
診斷漂移
修正數據漂移
其他監控工具
自動訓練
自動化的層次結構
優化超參數
AutoML
持久化你的模型
構建模型工廠與管道
Scikit-learn管道
Spark ML管道
本章小結
第4章 打包封裝
技術要求
編寫優秀的Python代碼
回顧基礎知識
訣竅與技巧
堅持標準
編寫高質量的PySpark代碼
選擇風格
面向對象編程
函數式編程
打包你的代碼
為什麼要打包?
選擇打包的用例
設計你的包
構建你自己的包
使用Makefile管理你的環境
使用Poetry進行打包
測試、日誌記錄、安全性和錯誤處理
測試
保護你的解決方案
分析自己的代碼以發現安全問題
分析依賴項以發現安全問題
記錄日誌
錯誤處理
不要重複發明輪子
本章小結
第5章 部署模式和工具
技術要求
設計系統
基於原則構建
探索一些標準的機器學習模式
在數據湖中暢遊
微服務
基於事件的設計
批處理
容器化
在AWS上托管你自己的微服務
推送到ECR
在ECS上托管
使用Airflow構建通用管道
Airflow
構建高級機器學習管道
使用ZenML
使用Kubeflow
選擇你的部署策略
本章小結
第6章 擴展規模
技術要求
使用Spark進行擴展
Spark技巧和竅門
雲上的Spark
啟動無伺服器基礎設施
使用Kubernetes實現大規模容器化
使用Ray進行擴展
開始使用Ray進行機器學習
設計大規模系統
本章小結
第7章 深度學習、生成人工智慧和LLMOps
深入探討深度學習
使用PyTorch
將深度學習擴展並投入生產實踐
微調和遷移學習
使用LLM
理解LLM
通過API使用LLM
使用LLM進行編碼
利用LLM構建未來
LLM驗證
PromptOps
本章小結
第8章 構建ML微服務
技術要求
解預測問題
設計我們的預測服務
選擇工具
規模化訓練
使用FastAPI提供模型服務
響應和請求模式
在微服務中管理模型
將所有內容整合在一起
容器化並部署到Kubernetes
將應用程序容器化
使用Kubernetes進行擴展
部署策略
本章小結
第9章 構建一個提取、轉換、機器學慣用例
技術要求
理解批處理問題
設計ETML解決方案
工具選擇
介面和存儲
模型的擴展
ETML管道的調度
執行構建<