Kubeflow學(xué)習(xí)指南:生產(chǎn)級(jí)機(jī)器學(xué)習(xí)系統(tǒng)實(shí)現(xiàn)
定 價(jià):¥99
中 教 價(jià):¥58.41 (5.90折)促銷(xiāo)
庫(kù) 存 數(shù): 1
叢 書(shū) 名:O'Reilly精品圖書(shū)系列
Kubeflow是基于K8S的機(jī)器學(xué)習(xí)工具包,是為數(shù)據(jù)科學(xué)家和數(shù)據(jù)工程師構(gòu)建生產(chǎn)級(jí)別的機(jī)器學(xué)習(xí)實(shí)現(xiàn)而設(shè)計(jì)的。本書(shū)采用循序漸進(jìn)的方式,從 Kubeflow 的安裝、使用和設(shè)計(jì)開(kāi)篇,隨后從模型訓(xùn)練的整個(gè)周期展開(kāi),涵蓋了數(shù)據(jù)探索、特征準(zhǔn)備、模型訓(xùn)練/調(diào)優(yōu)、模型服務(wù)、模型測(cè)試、模型監(jiān)測(cè)和模型版本管理等各個(gè)環(huán)節(jié),既有相關(guān)的理論知識(shí)也囊括了真實(shí)的使用案例,能夠讓讀者在學(xué)習(xí) Kubeflow 知識(shí)的同時(shí)全面了解機(jī)器學(xué)習(xí)的相關(guān)知識(shí),是入門(mén)和深入學(xué)習(xí)Kubeflow以及機(jī)器學(xué)習(xí)的良好指南。
本書(shū)的讀者對(duì)象是構(gòu)建機(jī)器學(xué)習(xí)系統(tǒng)或模型,并希望將之應(yīng)用到生產(chǎn)中的數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家。如果你曾經(jīng)訓(xùn)練過(guò)優(yōu)秀的模型,想要知道如何將模型部署到生產(chǎn)中或在將模型部署到生產(chǎn)后如何保持更新,那么本書(shū)就是為你準(zhǔn)備的。我們希望本書(shū)能給你提供工具來(lái)替換Untitled_5.ipynb并在生產(chǎn)環(huán)境中可靠地工作。本書(shū)不打算從頭開(kāi)始介紹機(jī)器學(xué)習(xí)。如果你剛開(kāi)始機(jī)器學(xué)習(xí)之旅,可以參考下面列出的資源。學(xué)習(xí)資源我們的目標(biāo)是教你如何以可重復(fù)的方式進(jìn)行機(jī)器學(xué)習(xí),以及如何自動(dòng)訓(xùn)練和部署模型。這里的一個(gè)重要問(wèn)題是,該目標(biāo)包括廣泛的主題,并且你可能不完全熟悉所有的主題。由于無(wú)法深入研究每一個(gè)主題,我們?yōu)槟闾峁┝艘粋(gè)簡(jiǎn)短的清單,列出了部分我們最喜歡的入門(mén)資料。Python for Data Analysis, 2nd Edition, by Wes McKinney (O’Reilly)Data Science from Scratch, 2nd Edition, by Joel Grus (O’Reilly)Introduction to Machine Learning with Python by Andreas C. Müller and Sarah Guido (O’Reilly)Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition, by Aurélien Géron (O’Reilly)Kubernetes: Up and Running by Brendan Burns et al. (O’Reilly)Learning Spark by Holden Karau et al. (O’Reilly)Feature Engineering for Machine Learning by Alice Zheng and Amanda Casari (O’Reilly)Building Machine Learning Pipelines by Hannes Hapke and Catherine Nelson (O’Reilly)Apache Mahout: Beyond MapReduce by Dmitriy Lyubimov and Andrew Palumbo (CreateSpace)R Cookbook, 2nd Edition, by J. D. Long and Paul Teetor (O’Reilly)Serving Machine Learning Models by Boris Lublinsky (O’Reilly)“Continuous Delivery for Machine Learning” (https://oreil.ly/y59_n) by Danilo Sato et al.Interpretable Machine Learning (https://oreil.ly/hBiw1) by Christoph Molnar (self-published)“A Gentle Introduction to Concept Drift in Machine Learning” (https://oreil.ly/KnJL0) by Jason Brownlee“Model Drift and Ensuring a Healthy Machine Learning Lifecycle” (https://oreil.ly/q9o6P) by A. Besir Kurtulmus“The Rise of the Model Servers” (https://oreil.ly/zvIyU) by Alex Vikati“An Overview of Model Explainability in Modern Machine Learning” (https://oreil.ly/lo36s) by Rui AguiarMachine Learning with Python Cookbook by Chris Albon (O’Reilly)“Machine Learning Flashcards” (https://machinelearningflashcards.com) by Chris Albon學(xué)習(xí)Kubeflow繞不開(kāi)容器和Kubernetes,容器和Kubernetes是一個(gè)廣泛的、快速發(fā)展的實(shí)踐領(lǐng)域。如果你想加深對(duì)它們的了解,我們推薦閱讀以下書(shū)籍:Cloud Native Infrastructure by Justin Garrison and Kris Nova (O’Reilly)Kubernetes: Up and Running by Brendan Burns et al. (O’Reilly)從業(yè)人員的責(zé)任本書(shū)可幫助你將機(jī)器學(xué)習(xí)模型投入生產(chǎn),并用于解決實(shí)際問(wèn)題。采用機(jī)器學(xué)習(xí)解決現(xiàn)實(shí)世界的問(wèn)題固然很好,但你需要考慮其可能造成的影響。首先,要確保模型足夠準(zhǔn)確,在Kubeflow中有很好的工具來(lái)實(shí)現(xiàn)這一點(diǎn),詳見(jiàn)2.2節(jié)。即使是最好的工具也不能讓你免于所有的錯(cuò)誤—例如,在同一數(shù)據(jù)集上進(jìn)行超參調(diào)優(yōu),并報(bào)告最終的交叉驗(yàn)證結(jié)果。即使是具有顯著預(yù)測(cè)能力的模型也會(huì)產(chǎn)生意外的影響和偏見(jiàn),其在常規(guī)的訓(xùn)練評(píng)估階段可能并不會(huì)表現(xiàn)出來(lái)。無(wú)意的偏見(jiàn)可能很難發(fā)現(xiàn),但這里有許多相關(guān)的反面案例(例如,基于Amazon機(jī)器學(xué)習(xí)的招聘引擎的結(jié)果有強(qiáng)烈的偏見(jiàn),該結(jié)果導(dǎo)致只雇用男性(https://oreil.ly/VekPG)),這向我們展示了其潛在的深刻影響。未在早期解決這些問(wèn)題可能會(huì)導(dǎo)致你前期的整個(gè)工作付之東流,IBM 停止使用面部識(shí)別程序(https://oreil.ly/WKUXl)的決定也證明了這一點(diǎn),在執(zhí)法部門(mén)的面部識(shí)別程序中存在明顯的種族偏見(jiàn)之后,整個(gè)行業(yè)也出現(xiàn)了類似的停頓。即使是看似不偏不倚的數(shù)據(jù),如原始購(gòu)買(mǎi)記錄,也可能會(huì)出現(xiàn)強(qiáng)烈的偏見(jiàn),從而導(dǎo)致不正確的建議,甚至更糟。數(shù)據(jù)集是公開(kāi)的、廣泛可用的,但這并不意味著它是無(wú)偏見(jiàn)的。眾所周知的詞嵌入(https://oreil.ly/1dmOV)已經(jīng)被證明有許多類型的偏見(jiàn),包括性別歧視和反移民等。當(dāng)查看一個(gè)新的數(shù)據(jù)集時(shí),尋找數(shù)據(jù)中存在偏見(jiàn)的例子并試圖盡可能地減少它們是至關(guān)重要的。對(duì)于最流行的公共數(shù)據(jù)集,研究中經(jīng)常會(huì)討論相關(guān)的各種技術(shù),你可以用這些技術(shù)來(lái)作為指導(dǎo)。雖然本書(shū)中沒(méi)有解決偏見(jiàn)的工具,但我們鼓勵(lì)你對(duì)系統(tǒng)中潛在的偏見(jiàn)進(jìn)行批判性思考,并在投入生產(chǎn)之前探索解決方案。如果你不知道從哪里開(kāi)始,可以查看Katharine Jarmul出色的演講(https://oreil.ly/fiVYL)。IBM在其AI Fairness 360開(kāi)源工具包(http://aif360.mybluemix.net)中收集了一系列工具和例子,也可以為探索提供參考。減少模型中的偏見(jiàn)的關(guān)鍵步驟是擁有一個(gè)多元化的團(tuán)隊(duì),以求盡早發(fā)現(xiàn)潛在的問(wèn)題。正如Jeff Dean(https://oreil.ly/PJNsF)所說(shuō):“人工智能充滿了希望,并具有革新現(xiàn)代社會(huì)眾多領(lǐng)域的潛力。為了釋放其真正的潛力,我們的領(lǐng)域需要?dú)g迎所有人。從今天的情況來(lái)看,肯定還不是這樣。我們的領(lǐng)域有一個(gè)問(wèn)題,那就是缺乏包容性。”需要注意的是,消除偏見(jiàn)或驗(yàn)證結(jié)果的準(zhǔn)確度并不是一勞永逸的,模型的性能會(huì)隨著時(shí)間的推移而降低,偏見(jiàn)也會(huì)被引入—即使你沒(méi)有修改任何事物。排版約定本書(shū)中使用以下排版約定:斜體(Italic) 表示新的術(shù)語(yǔ)、URL、電子郵件地址、文件名和文件擴(kuò)展名。等寬字體(Constant width) 用于程序清單,以及段落中的程序元素,例如變量名、函數(shù)名、數(shù)據(jù)庫(kù)、 數(shù)據(jù)類型、環(huán)境變量、語(yǔ)句以及關(guān)鍵字。等寬粗體(Constant width bold) 表示應(yīng)由用戶直接輸入的命令或其他文本。等寬斜體(Constant width italic) 表示應(yīng)由用戶提供的值或由上下文確定的值替換的文本。 該圖示表示提示或建議。 該圖示表示一般性說(shuō)明。 該圖示表示警告或注意。示例代碼可以從https://oreil.ly/Kubeflow_for_ML下載補(bǔ)充材料(示例代碼、練習(xí)、勘誤等)。你可能還會(huì)發(fā)現(xiàn)在其他許可下有用的示例代碼。Kubeflow項(xiàng)目有一個(gè)示例倉(cāng)庫(kù)(https://oreil.ly/yslNT),在寫(xiě)本書(shū)時(shí),它采用Apache 2許可。Canonical還有MicroK8s用戶可能特別感興趣的一系列資源(https://oreil.ly/TOt_E)。這里的代碼是為了幫助你更好地理解本書(shū)的內(nèi)容。通常,可以在程序或文檔中使用本書(shū)中的代碼,而不需要聯(lián)系O’Reilly獲得許可,除非需要大段地復(fù)制代碼。例如,使用本書(shū)中所提供的幾個(gè)代碼片段來(lái)編寫(xiě)一個(gè)程序不需要得到我們的許可,但銷(xiāo)售或發(fā)布O’Reilly的示例代碼則需要獲得許可。引用本書(shū)的示例代碼來(lái)回答問(wèn)題也不需要許可,將本書(shū)中的很大一部分示例代碼放到自己的產(chǎn)品文檔中則需要獲得許可。非常歡迎讀者使用本書(shū)中的代碼,希望(但不強(qiáng)制)注明出處。注明出處的形式包含書(shū)名、作者、出版社和ISBN,例如:Kubeflow for Machine Learning,作者Holden Karau, Trevor Grant, Boris Lublinsky, Richard Liu和Ilan Filonenko,由O’Reilly出版,書(shū)號(hào)978-1-492-05012-4。如果讀者覺(jué)得對(duì)示例代碼的使用超出了上面所給出的許可范圍,歡迎通過(guò)permission@oreilly.com聯(lián)系我們。O’Reilly在線學(xué)習(xí)平臺(tái)(O’Reilly Online Learning)40多年來(lái),O’Reilly Media致力于提供技術(shù)和商業(yè)培訓(xùn)、知識(shí)和卓越見(jiàn)解,來(lái)幫助眾多公司取得成功。我們擁有獨(dú)一無(wú)二的專家和革新者組成的龐大網(wǎng)絡(luò),他們通過(guò)圖書(shū)、文章、會(huì)議和我們的在線學(xué)習(xí)平臺(tái)分享他們的知識(shí)和經(jīng)驗(yàn)。O’Reilly的在線學(xué)習(xí)平臺(tái)允許你按需訪問(wèn)現(xiàn)場(chǎng)培訓(xùn)課程、深入的學(xué)習(xí)路徑、交互式編程環(huán)境,以及O’Reilly和200多家其他出版商提供的大量文本和視頻資源。有關(guān)的更多信息,請(qǐng)?jiān)L問(wèn)http://oreilly.com。如何聯(lián)系作者如有反饋,請(qǐng)發(fā)郵件至intro-to-ml-kubeflow@googlegroups.com。關(guān)于 Kubeflow 相關(guān)的任何交流,請(qǐng)?jiān)诰關(guān)注我們。TrevorTwitter (https://twitter.com/rawkintrevo)Blog (https://rawkintrevo.org)GitHub (https://github.com/rawkintrevo)Myspace (https://myspace.com/rawkintrevo)HoldenTwitter (http://twitter.com/holdenkarau)YouTube (https://www.youtube.com/user/holdenkarau)Twitch (https://www.twitch.tv/holdenkarau)LinkedIn (https://www.linkedin.com/in/holdenkarau)Blog (http://blog.holdenkarau.com)GitHub (https://github.com/holdenk)Facebook (https://www.facebook.com/hkarau)BorisLinkedIn (https://www.linkedin.com/in/boris-lublinsky-b6a4a/)GitHub (https://github.com/blublinsky)RichardGitHub (https://github.com/richardsliu)IlanLinkedIn (https://www.linkedin.com/in/ifilonenko)GitHub (https://github.com/ifilonenko)如何聯(lián)系我們對(duì)于本書(shū),如果有任何意見(jiàn)或疑問(wèn),請(qǐng)按照以下地址聯(lián)系本書(shū)出版商。美國(guó):O’Reilly Media,Inc.1005 Gravenstein Highway NorthSebastopol,CA 95472中國(guó):北京市西城區(qū)西直門(mén)南大街2號(hào)成銘大廈C座807室(100035)奧萊利技術(shù)咨詢(北京)有限公司要詢問(wèn)技術(shù)問(wèn)題或?qū)Ρ緯?shū)提出建議,請(qǐng)發(fā)送電子郵件至bookquestions@oreilly.com。本書(shū)配套網(wǎng)站https://oreil.ly/Kubeflow_for_Machine_Learning上列出了勘誤表、示例以及其他信息。關(guān)于書(shū)籍、課程、會(huì)議和新聞的更多信息,請(qǐng)?jiān)L問(wèn)我們的網(wǎng)站http://oreilly.com。我們?cè)贔acebook上的地址:http://facebook.com/oreilly我們?cè)赥witter上的地址:http://twitter.com/oreillymedia我們?cè)赮ouTube上的地址:http://
序言 1前言 3第1章 Kubeflow及其適用對(duì)象 131.1 模型開(kāi)發(fā)生命周期 131.2 Kubeflow 適合什么場(chǎng)景 141.3 為什么需要容器化 141.4 為什么需要 Kubernetes 151.5 Kubeflow的設(shè)計(jì)和核心組件 151.6 Kubeflow的替代方案 191.7 案例研究 211.8 總結(jié) 22第2章 你好,Kubeflow 242.1 搭建Kubeflow 242.2 訓(xùn)練和部署模型 302.3 超越本地部署 342.4 總結(jié) 34第3章 Kubeflow設(shè)計(jì):超越基礎(chǔ) 353.1 中央儀表盤(pán) 363.2 支持組件 433.3 總結(jié) 50第4章 Kubeflow Pipeline 514.1 Pipeline入門(mén) 514.2 Kubeflow Pipeline組件介紹 604.3 Pipeline高級(jí)主題 684.4 總結(jié) 72第5章 數(shù)據(jù)準(zhǔn)備和特征準(zhǔn)備 735.1 選擇正確的工具 745.2 本地?cái)?shù)據(jù)準(zhǔn)備和特征準(zhǔn)備 745.3 分布式工具 785.4 將其整合到一個(gè)Pipeline中 925.5 將整個(gè)notebook作為數(shù)據(jù)準(zhǔn)備Pipeline階段使用 945.6 總結(jié) 95第6章 制品和元數(shù)據(jù)存儲(chǔ) 966.1 Kubeflow ML Metadata 976.2 基于Kubeflow的MLflow元數(shù)據(jù)工具 1026.3 總結(jié) 110第7章 訓(xùn)練機(jī)器學(xué)習(xí)模型 1117.1 用TensorFlow構(gòu)建推薦器 1117.2 部署TensorFlow訓(xùn)練作業(yè) 1177.3 分布式訓(xùn)練 1207.4 使用scikit-learn訓(xùn)練模型 1257.5 總結(jié) 132第8章 模型推斷 1338.1 模型服務(wù) 1338.2 模型監(jiān)控 1368.3 模型更新 1378.4 推理要求概述 1388.5 Kubeflow中的模型推理 1388.6 TensorFlow Serving 1398.7 Seldon Core 1438.8 KFServing 1588.9 總結(jié) 174第9章 多工具使用案例 1759.1 CT掃描去噪示例 1759.2 共享Pipeline 1869.3 總結(jié) 186第10章 超參調(diào)優(yōu)和自動(dòng)化機(jī)器學(xué)習(xí) 18710.1 AutoML概述 18710.2 使用Kubeflow Katib進(jìn)行超參調(diào)優(yōu) 18810.3 Katib概念 18910.4 安裝Katib 19110.5 運(yùn)行第一個(gè)Katib實(shí)驗(yàn) 19210.6 調(diào)優(yōu)分布式訓(xùn)練作業(yè) 20010.7 神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索 20110.8 Katib的優(yōu)勢(shì) 20410.9 總結(jié) 205附錄A Argo執(zhí)行器配置和權(quán)衡 207附錄B 特定于云的工具和配置 208附錄C 在應(yīng)用程序中使用模型服務(wù) 210