- Kubeflow學習指南:生產級機器學習系統實現
- (美)Trevor Grant等
- 3595字
- 2022-02-08 17:52:32
前言
本書的讀者對象是構建機器學習系統或模型,并希望將之應用到生產中的數據工程師和數據科學家。如果你曾經訓練過優秀的模型,想要知道如何將模型部署到生產中或在將模型部署到生產后如何保持更新,那么本書就是為你準備的。我們希望本書能給你提供工具來替換Untitled_5.ipynb并在生產環境中可靠地工作。
本書不打算從頭開始介紹機器學習。如果你剛開始機器學習之旅,可以參考下面列出的資源。
學習資源
我們的目標是教你如何以可重復的方式進行機器學習,以及如何自動訓練和部署模型。這里的一個重要問題是,該目標包括廣泛的主題,并且你可能不完全熟悉所有的主題。
由于無法深入研究每一個主題,我們為你提供了一個簡短的清單,列出了部分我們最喜歡的入門資料。
·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 Aguiar
·Machine Learning with Python Cookbook by Chris Albon(O’Reilly)
·“Machine Learning Flashcards”(https://machinelearningflashcards.com)by Chris Albon
學習Kubeflow繞不開容器和Kubernetes,容器和Kubernetes是一個廣泛的、快速發展的實踐領域。如果你想加深對它們的了解,我們推薦閱讀以下書籍:
·Cloud Native Infrastructure by Justin Garrison and Kris Nova(O’Reilly)
·Kubernetes:Up and Running by Brendan Burns et al.(O’Reilly)
從業人員的責任
本書可幫助你將機器學習模型投入生產,并用于解決實際問題。采用機器學習解決現實世界的問題固然很好,但你需要考慮其可能造成的影響。
首先,要確保模型足夠準確,在Kubeflow中有很好的工具來實現這一點,詳見2.2節。即使是最好的工具也不能讓你免于所有的錯誤——例如,在同一數據集上進行超參調優,并報告最終的交叉驗證結果。
即使是具有顯著預測能力的模型也會產生意外的影響和偏見,其在常規的訓練評估階段可能并不會表現出來。無意的偏見可能很難發現,但這里有許多相關的反面案例(例如,基于Amazon機器學習的招聘引擎的結果有強烈的偏見,該結果導致只雇用男性(https://oreil.ly/VekPG)),這向我們展示了其潛在的深刻影響。未在早期解決這些問題可能會導致你前期的整個工作付之東流,IBM停止使用面部識別程序(https://oreil.ly/WKUXl)的決定也證明了這一點,在執法部門的面部識別程序中存在明顯的種族偏見之后,整個行業也出現了類似的停頓。
即使是看似不偏不倚的數據,如原始購買記錄,也可能會出現強烈的偏見,從而導致不正確的建議,甚至更糟。數據集是公開的、廣泛可用的,但這并不意味著它是無偏見的。眾所周知的詞嵌入(https://oreil.ly/1dmOV)已經被證明有許多類型的偏見,包括性別歧視和反移民等。當查看一個新的數據集時,尋找數據中存在偏見的例子并試圖盡可能地減少它們是至關重要的。對于最流行的公共數據集,研究中經常會討論相關的各種技術,你可以用這些技術來作為指導。
雖然本書中沒有解決偏見的工具,但我們鼓勵你對系統中潛在的偏見進行批判性思考,并在投入生產之前探索解決方案。如果你不知道從哪里開始,可以查看Katharine Jarmul出色的演講(https://oreil.ly/fiVYL)。IBM在其AI Fairness 360開源工具包(http://aif360.mybluemix.net)中收集了一系列工具和例子,也可以為探索提供參考。減少模型中的偏見的關鍵步驟是擁有一個多元化的團隊,以求盡早發現潛在的問題。正如Jeff Dean(https://oreil.ly/PJNsF)所說:“人工智能充滿了希望,并具有革新現代社會眾多領域的潛力。為了釋放其真正的潛力,我們的領域需要歡迎所有人。從今天的情況來看,肯定還不是這樣。我們的領域有一個問題,那就是缺乏包容性?!?/p>
需要注意的是,消除偏見或驗證結果的準確度并不是一勞永逸的,模型的性能會隨著時間的推移而降低,偏見也會被引入——即使你沒有修改任何事物。
排版約定
本書中使用以下排版約定:
斜體(Italic)
表示新的術語、URL、電子郵件地址、文件名和文件擴展名。
等寬字體(Constant width)
用于程序清單,以及段落中的程序元素,例如變量名、函數名、數據庫、數據類型、環境變量、語句以及關鍵字。
等寬粗體(Constant width bold)
表示應由用戶直接輸入的命令或其他文本。
等寬斜體(Constant width italic)
表示應由用戶提供的值或由上下文確定的值替換的文本。
該圖示表示提示或建議。
該圖示表示一般性說明。
該圖示表示警告或注意。
示例代碼
可以從https://oreil.ly/Kubeflow_for_ML下載補充材料(示例代碼、練習、勘誤等)。
你可能還會發現在其他許可下有用的示例代碼。Kubeflow項目有一個示例倉庫(https://oreil.ly/yslNT),在寫本書時,它采用Apache 2許可。Canonical還有MicroK8s用戶可能特別感興趣的一系列資源(https://oreil.ly/TOt_E)。
這里的代碼是為了幫助你更好地理解本書的內容。通常,可以在程序或文檔中使用本書中的代碼,而不需要聯系O’Reilly獲得許可,除非需要大段地復制代碼。例如,使用本書中所提供的幾個代碼片段來編寫一個程序不需要得到我們的許可,但銷售或發布O’Reilly的示例代碼則需要獲得許可。引用本書的示例代碼來回答問題也不需要許可,將本書中的很大一部分示例代碼放到自己的產品文檔中則需要獲得許可。
非常歡迎讀者使用本書中的代碼,希望(但不強制)注明出處。注明出處的形式包含書名、作者、出版社和ISBN,例如:
Kubeflow for Machine Learning,作者Holden Karau,Trevor Grant,Boris Lublinsky,Richard Liu和Ilan Filonenko,由O’Reilly出版,書號978-1-492-05012-4。
如果讀者覺得對示例代碼的使用超出了上面所給出的許可范圍,歡迎通過permission@oreilly.com聯系我們。
O’Reilly在線學習平臺(O’Reilly Online Learning)
40多年來,O’Reilly Media致力于提供技術和商業培訓、知識和卓越見解,來幫助眾多公司取得成功。
我們擁有獨一無二的專家和革新者組成的龐大網絡,他們通過圖書、文章、會議和我們的在線學習平臺分享他們的知識和經驗。O’Reilly的在線學習平臺允許你按需訪問現場培訓課程、深入的學習路徑、交互式編程環境,以及O’Reilly和200多家其他出版商提供的大量文本和視頻資源。有關的更多信息,請訪問http://oreilly.com。
如何聯系作者
如有反饋,請發郵件至intro-to-ml-kubeflow@googlegroups.com。關于Kubeflow相關的任何交流,請在線關注我們。
Trevor
·Twitter(https://twitter.com/rawkintrevo)
·Blog(https://rawkintrevo.org)
·GitHub(https://github.com/rawkintrevo)
·Myspace(https://myspace.com/rawkintrevo)
Holden
·Twitter(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)
Boris
·LinkedIn(https://www.linkedin.com/in/boris-lublinsky-b6a4a/)
·GitHub(https://github.com/blublinsky)
Richard
·GitHub(https://github.com/richardsliu)
Ilan
·LinkedIn(https://www.linkedin.com/in/ifilonenko)
·GitHub(https://github.com/ifilonenko)
如何聯系我們
對于本書,如果有任何意見或疑問,請按照以下地址聯系本書出版商。
美國:
O’Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中國:
北京市西城區西直門南大街2號成銘大廈C座807室(100035)
奧萊利技術咨詢(北京)有限公司
要詢問技術問題或對本書提出建議,請發送電子郵件至bookquestions@oreilly.com。
本書配套網站https://oreil.ly/Kubeflow_for_Machine_Learning上列出了勘誤表、示例以及其他信息。
關于書籍、課程、會議和新聞的更多信息,請訪問我們的網站http://oreilly.com。
我們在Facebook上的地址:http://facebook.com/oreilly
我們在Twitter上的地址:http://twitter.com/oreillymedia
我們在YouTube上的地址:http://www.youtube.com/oreillymedia
致謝
感謝O’Reilly Media的每一個人,特別是我們的編輯Amelia Blevins和Deborah Baker;也感謝Kubeflow社區的每一個人,他們使本書得以出版。感謝Clive Cox和Alejandro Saucedo(來自Seldon(https://www.seldon.io))對第8章做出了杰出的貢獻,否則本書將會缺少關鍵部分。感謝Google Cloud Platform(GCP)提供的資源使本書的例子能夠在GCP上正常工作。最感謝的是審校者,沒有他們,本書就不會以現在的形式出版,包括Taka Shinagawa、Pete MacKinnon、Kevin Haas、Chris Albon和Hannes Hapke等。感謝所有早期的讀者和審校者的貢獻。
Holden
感謝朋友Kris Nóva幫忙調試了首個Kubeflow PR,也感謝整個Kubeflow社區的熱情幫助。感謝妻子Carolyn DeSimone、小狗Timbit DeSimone-Karau(見圖P-1)以及毛絨玩具為她提供了寫作所需的所有支持。感謝舊金山綜合醫院和加州大學舊金山分校的醫生,感謝他們為她治好了手,讓她可以完成本書的寫作,也感謝每一個來醫院和療養院看望她的人。特別感謝編輯Ann Spencer(讓她享受了寫作的樂趣)。最后,感謝朋友Els van Vessem,感謝他們在她遭遇事故后的康復過程中給予支持,特別是為她講故事以及提醒她堅持寫作。

圖P-1:小狗Timbit
Ilan
在此感謝Bloomberg的所有同事,感謝他們花時間審校本書、指導和鼓勵他寫書以及他們的開源貢獻,包括但不限于:Kimberly Stoddard、Dan Sun、Keith Laban、Steven Bower和Sudarshan Kadambi。感謝家人Galia、Yuriy和Stan對他無條件的愛和支持。
Richard
在此感謝谷歌Kubeflow團隊,包括但不限于:Jeremy Lewi、Abhishek Gupta、Thea Lamkin、Zhenghui Wang、Kunming Qu、Gabriel Wen、Michelle Casbon和Sarah Maddox。感謝貓咪Tina(見圖P-2)的支持和理解。

圖P-2:貓咪Tina
Boris
感謝Lightbend公司的同事(特別是Karl Wehden),感謝他們對寫作本書的支持、建議和對本書早期版本的校對。感謝妻子Marina對他長時間工作的包容和生活中對他的照料。
Trevor
感謝辦公室伙伴Apache和Meowska(見圖P-3)提醒他小憩的重要性。感謝去年協助Kubeflow演講的所有人(尤其是聽過早期版本的人,特別是聽過早期版本且現在還在讀本書的人——他們是最棒的)。感謝媽媽、姐姐、弟弟這些年對他的各種容忍。

圖P-3:Apache和Meowska
抱怨
作者們覺得面對API更改實在是太難了,這讓本書的寫作變得令人沮喪。如果你曾經為API的變化而苦惱,要知道,你并不孤單,幾乎每個人都會感到煩躁。
Holden還要抱怨Timbit DeSimone-Karau在她工作的時候在院子里拉屎。我們對開車撞了Holden的人表示不滿,因為這拖慢了本書的出版速度。
Trevor對他的女朋友有些抱怨,在整個項目中,女朋友一直逼他(越來越堅持)向她求婚,而他一直在“努力”——他說會在本書出版時向她求婚。
- DL/T 5390-2014 發電廠和變電站照明設計技術規定
- GB/T51167-2016海底光纜工程驗收規范(英文版)
- GB 51289-2018 煤炭工業露天礦邊坡工程設計標準
- GB/T51075-2015選礦機械設備工程安裝規范(英文版)
- 電動汽車工程手冊(第六卷):智能網聯
- GB50542-2009石油化工廠區管線綜合技術規范(英文版)
- 強夯地基技術規程
- 石油化工廠際管道工程技術標準
- GB 51208-2016 人工制氣廠站設計規范
- DL/T 5501-2015 凍土地區架空輸電線路基礎設計技術規程
- 鋼鐵渣處理與綜合利用技術標準
- GB 50295-2016 水泥工廠設計規范
- GB50474-2008隔熱耐磨襯里技術規范(英文版)
- GB 50488-2018 腈綸工廠設計標準
- GB 50613-2010(英文版)城市配電網規劃設計規范