官术网_书友最值得收藏!

前言

為什么寫這本書

我們都把大部分職業生涯花在了自動化上。當我們第一次見面時,Alfredo不懂Python,Noah建議每周自動化一項任務。自動化是MLOps、DevOps和本書自始至終的核心要點。你應該把本書中的所有例子和觀點放在未來自動化的背景下。

如果讓Noah總結一下他在2000年到2020年是如何度過的,那就是自動化他能自動化的任何事情,從電影剪輯到軟件安裝,再到機器學習管道。作為灣區初創公司的工程經理和首席技術官,他從零開始創建了許多數據科學團隊。因此,他在AI/ML革命的早期階段就看到了將機器學習投入生產的許多核心問題。

在過去的幾年里,Noah一直是杜克大學、西北大學和加州大學戴維斯分校的兼職教授,主要講授云計算、數據科學和機器學習工程課程。這些教學和工作經驗使他對實際部署機器學習解決方案所涉及的問題有獨特的看法。

Alfredo曾是一名系統管理員,擁有豐富的運維背景,對自動化也有極大的熱情。如果沒有一鍵式自動化,就不可能構建彈性基礎設施。當災難情況發生時,沒有什么比重新運行腳本或管道就可以重新創建崩潰的內容更令人欣慰的了。

受COVID-19的影響,我們倆都在思考一個問題:“我們為什么不將更多模型投入生產?”Noah在他為《福布斯》撰寫的一篇文章中談到了其中的一些問題。這篇文章總結的前提是數據科學出了問題,因為組織沒有看到投資回報。

后來在O'Reilly的Foo Camp上,Noah主持了一個主題為“為什么我們不能在生產中將機器學習速度提高10倍?”(Why can we not be 10X faster at ML in production?)的會議。我們與許多人進行了精彩的討論,包括Tim O'Reilly、Mike Loukides、Roger Magoulas等。討論的結果是:“是的,我們可以快10倍。”因此,感謝Tim和Mike引發了如此有趣的討論,并讓這本書得以出版。

機器學習感覺很像過去幾十年中出現的許多其他技術。這些技術從開始到獲得結果往往需要數年。史蒂夫·喬布斯曾提出NeXT讓構建軟件的速度提高10倍的愿景(他確實做到了)。你可以在YouTube上找到那個采訪。那么,目前機器學習存在哪些問題呢?

? 關注于“代碼”和技術細節而不是業務問題

? 缺乏自動化

? HiPPO(最高薪人士的意見,Highest Paid Person’s Opinions)

? 不是云原生

? 缺乏解決可解決問題的緊迫性

引用Noah在討論中所提出的:“我完全反對精英主義。編程是一項人人都有的權利。認為只有一部分人才能從事這項工作的想法是錯誤的?!睓C器學習也一樣,技術不能只掌握在選定的一群人手中,這一點也非常重要。借助MLOps和AutoML,這些技術可以進入公眾的手中。通過讓這項技術得到普及,我們可以用機器學習和人工智能做得更好?!罢鎸崱钡腁I/ML從業者將模型投入生產,在“真實”的未來,醫生、律師、機械師和教師等人將借助AI/ML來完成工作。

本書是如何組織的

這本書的各章內容獨立,讀者可以根據自己的需求選擇閱讀。每章末尾都有練習題和討論題,可以幫助讀者加深對內容的理解,并激發批判性思維。

這些討論題和練習題也非常適合數據科學、計算機科學或MBA課程的教學使用,同時非常適合有上進心的自學者。最后一章介紹的幾個案例研究有助于大家像MLOps專家一樣構建工作組合。

本書的最后還有幾個附錄,其中收集了用于實現MLOps的一些寶貴資源。

章節

前幾章介紹DevOps和MLOps的理論與實踐,包括如何創建持續集成和持續交付等,還涵蓋一個關鍵主題——Kaizen,即對所有事物進行持續改進的想法。

關于云計算的內容有三章,涵蓋AWS、Azure和GCP。Alfredo作為微軟的開發人員支持者,是Azure平臺上MLOps的理想知識來源。同樣,Noah花了數年時間讓學生接受云計算培訓,并與谷歌、AWS和Azure的教育部門合作。這三章是熟悉基于云的MLOps的絕佳材料。

其他幾章涵蓋MLOps的關鍵技術領域,包括AutoML、容器、邊緣計算和模型可移植性。這些主題包括許多前沿新興技術。

在最后一章中,Noah給出他在一家社交媒體初創公司工作時的真實案例研究,并介紹他們在執行MLOps時面臨的挑戰。

附錄

附錄是在完成Python for DevOps(O'Reilly)和本書期間出現的論文、想法和有價值的項目的集合。使用它們可以幫助你對未來做出判斷。

練習題

在本書的練習題中,我們充分利用GitHub和YouTube演示。與“一圖勝千言”的說法一致,簡歷上一個指向可復現GitHub項目的YouTube鏈接可能抵得上10000字描述,并有助于得到更好的工作機會。

在閱讀本書和練習時,請考慮以下批判性思維框架。

獨立思考和討論

根據Jonathan Haber在Critical Thinking(MIT出版社基礎知識系列)和批判性思維非營利性基金會(https://oreil.ly/FXoTU)中的說法,討論問題是批判性思維的基本組成部分。由于社交媒體中錯誤信息和淺薄內容的泛濫,世界迫切需要批判性思維。掌握以下技能會讓你與眾不同。

理智的謙虛:承認自己知識的局限。

理智的勇氣:即使面對社會壓力,也能為自己的信念辯護。

理智的換位思維:能設身處地地為他人著想。

理智的自主性:能樹立自我意識,形成獨立判斷。

理智的誠實:能夠用相同的標準對待自己和他人。

理智的堅持:能夠提供支持自己立場的證據。

相信理性:相信有無可爭辯的事實并且相信理性是獲得知識的最佳解決方案。

公正:能夠真誠地努力公平對待所有觀點。

使用這些標準評估每一章中的討論題。

章首引語的由來

Noah

我于1998年底大學畢業,花了一年時間在美國和歐洲的小聯盟進行職業籃球訓練,同時擔任私人教練。我的后備計劃是在IT部門找到一份工作。我申請成為帕薩迪納加州理工學院的系統管理員,并且僥幸獲得了Mac IT專家職位。我認為成為一名低薪職業運動員的風險回報比太大,于是接受了這份工作。

說加州理工學院改變了我的生活一點都不為過。午餐時,我玩極限飛盤時聽說了Python編程語言,我學會了這門語言以便可以“融入”我的極限飛盤朋友圈,他們是加州理工學院的教職員工或學生。后來,我直接為加州理工學院的行政部門工作,并且是加州理工學院的私人Mac專家,為30多歲獲得諾貝爾獎的David Baltimore博士提供服務。我以許多意想不到的方式與許多名人互動,這增強了我的自信并擴大了我的人脈。

我還與許多后來在AI/ML領域取得了令人難以置信的成就的人有過很多阿甘式的邂逅。有一次,我與斯坦福大學人工智能負責人李飛飛博士和她的男朋友共進晚餐。她的男朋友花了一整個夏天和他爸爸一起寫視頻游戲給我留下了深刻的印象。我想:“誰會做那種事?”后來,我在著名物理學家David Goodstein博士的辦公桌下安裝了一個郵件服務器,因為他總是因郵箱存儲空間超過限制而向IT部門抱怨。這些經歷讓我對構建“影子基礎設施”有了興趣。因為我直接為行政部門工作,所以如果有充分的理由,我就可以藐視這些規則。

Joseph Bogen博士也是我偶然遇到的人之一,他是一位神經外科醫生,也是加州理工學院的客座教授。在我在加州理工學院遇到的所有人中,他對我的生活產生了最深遠的影響。有一天,我接到服務臺的電話,要求到他家幫他修理計算機,后來變成了每周到他家與他和他的妻子Glenda共進一次晚餐。從大約2000年到他去世的那一天,他一直是我的朋友和導師。

當時,我對人工智能非常感興趣,我記得加州理工學院的一位計算機科學教授告訴我這是一個沒有前途的領域,我不應該專注于它。盡管有這樣的建議,我還是制訂了一個計劃,到40歲時要能熟練地使用多種軟件編程語言,以及編寫人工智能程序。瞧,我的計劃成功了。

我可以明確地說,如果沒有遇到Joseph Bogen,我不會做我今天所做的事情。當他告訴我他進行了第一次大腦半球切除術,切除了半個大腦,以幫助一位患有嚴重癲癇癥的患者時,我大吃一驚。我們會花幾個小時談論意識的起源,20世紀70年代使用神經網絡確定誰將成為空軍飛行員,以及你的大腦是否包含“兩個你”——每個半球一個。最重要的是,Bogen讓我對自己的智力有了信心。在那之前,我一直很懷疑自己能做什么,但我們的對話讓我實現了思維的飛躍。作為一名教授,我思考他對我的生活產生了多大的影響,我希望將其傳遞給與我互動的其他學生,無論是作為他們的老師還是他們偶遇的人。你可以從Joseph Bogen博士的加州理工學院主頁(https://oreil.ly/QPIIi)和他的傳記(https://oreil.ly/EgZQO)的檔案中自行閱讀這些引語。

排版約定

本書中使用以下排版約定:

斜體(Italic

表示新的術語、URL、電子郵件地址、文件名和文件擴展名。

等寬字體(Constant width)

用于程序清單,以及段落中的程序元素,例如變量名、函數名、數據庫、數據類型、環境變量、語句以及關鍵字。

等寬粗體(Constant width bold

表示應由用戶直接輸入的命令或其他文本。

等寬斜體(Constant width italic

表示應由用戶提供的值或由上下文確定的值替換的文本。

該圖示表示提示或建議。

該圖示表示一般性說明。

該圖示表示警告或注意。

示例代碼

可以從https://github.com/paiml/practical-mlops-book下載補充材料(示例代碼、練習、勘誤等)。

這里的代碼是為了幫助你更好地理解本書的內容。通常,可以在程序或文檔中使用本書中的代碼,而不需要聯系O'Reilly獲得許可,除非需要大段地復制代碼。例如,使用本書中所提供的幾個代碼片段來編寫一個程序不需要得到我們的許可,但銷售或發布O'Reilly的示例代碼則需要獲得許可。引用本書的示例代碼來回答問題也不需要許可,將本書中的很大一部分示例代碼放到自己的產品文檔中則需要獲得許可。

非常歡迎讀者使用本書中的代碼,希望(但不強制)注明出處。注明出處時包含書名、作者、出版社和ISBN,例如:

Practical MLOps,作者Noah Gift和Alfredo Deza,由O'Reilly出版,書號978-1-098-10301-9

如果讀者覺得對示例代碼的使用超出了上面所給出的許可范圍,歡迎通過permission@oreilly.com聯系我們。

O'Reilly在線學習平臺(O'Reilly Online Learning)

40多年來,O'Reilly Media致力于提供技術和商業培訓、知識和卓越見解,來幫助眾多公司取得成功。

我們擁有獨一無二的專家和革新者組成的龐大網絡,他們通過圖書、文章、會議和我們的在線學習平臺分享他們的知識和經驗。O'Reilly的在線學習平臺允許你按需訪問現場培訓課程、深入的學習路徑、交互式編程環境,以及O'Reilly和200多家其他出版商提供的大量文本和視頻資源。有關的更多信息,請訪問http://oreilly.com。

如何聯系我們

對于本書,如果有任何意見或疑問,請按照以下地址聯系本書出版商。

美國:

O'Reilly Media,Inc.

1005 Gravenstein Highway North

Sebastopol,CA 95472

中國:

北京市西城區西直門南大街2號成銘大廈C座807室(100035)

奧萊利技術咨詢(北京)有限公司

要詢問技術問題或對本書提出建議,請發送電子郵件至errata@oreilly.com.cn。

本書配套網站https://oreil.ly/practical-mlops上列出了勘誤表、示例以及其他信息。

關于書籍、課程、會議和新聞的更多信息,請訪問我們的網站http://www.oreilly.com

我們在Facebook上的地址:http://facebook.com/oreilly

我們在Twitter上的地址:http://twitter.com/oreillymedia

我們在YouTube上的地址:http://youtube.com/oreillymedia

致謝

來自Noah

如前所述,如果沒有Mike Loukides邀請我參加Foo Camp并與Tim O'Reilly進行精彩的討論,本書就不會出版。接下來,我要感謝我的合著者Alfredo。在與Alfredo合作的兩年多時間里,我有幸寫了五本書,兩本由O'Reilly出版,三本自行出版,這主要歸功于他熱愛工作和完成工作的能力。對工作的熱忱也許是最好的天賦,而Alfredo就富有這種技能。

我們的編輯Melissa Potter做了大量工作,使內容成形,她編輯之前和之后幾乎是兩本不同的書。能與這樣一位才華橫溢的編輯合作,我感到很幸運。

我們的技術編輯,包括Steve Depp、Nivas Durairaj和Shubham Saboo,在為我們提供關于在何處進行調整以及何時調整的重要反饋方面發揮了至關重要的作用。許多改進尤其歸功于Steve的全面反饋。另外,我要感謝Julien Simon和Piero Molino用現實世界的MLOps想法改進了我們的書。

我要感謝我的家人Liam、Leah和Theodore,他們在疫情期間給了我空間,使我能在緊迫的期限內完成這本書。我也期待著閱讀他們將來寫的一些書。還要感謝我在西北大學、杜克大學、加州大學戴維斯分校和其他學校教過的所有學生,他們的許多問題和反饋都寫進了這本書。

最后,我要感謝Joseph Bogen博士,他是AI/ML和神經科學的早期先驅。如果我們沒有在加州理工學院相遇,那么我成為教授或這本書存在的可能性就為零。他對我的生活產生了非常大的影響。

來自Alfredo

我非常感謝我的家人Claudia、Efrain、Ignacio和Alana對我寫作的支持,他們的支持和耐心對于完成本書至關重要。再次感謝Noah,感謝所有與他合作的機會。這是另一個令人難以置信的旅程。我珍惜我們的友誼和我們的專業關系。

感謝Melissa Potter(毫無疑問是我合作過的最好的編輯)的出色工作。我們的技術編輯在發現問題和突出需要改進的地方做得很好,這是非常難得的。

也非常感謝Lee Stott在使用Azure方面提供的幫助。沒有他的幫助,關于Azure的內容就不會寫得那么好。感謝Francesca Lazzeri、Mike McCoy以及我就本書聯系過的微軟的所有其他人。他們都給了我很大的幫助。

主站蜘蛛池模板: 博湖县| 通河县| 洪泽县| 墨脱县| 延寿县| 厦门市| 县级市| 浦东新区| 金坛市| 镇雄县| 西畴县| 石柱| 阿城市| 繁昌县| 肥东县| 甘南县| 德州市| 芦溪县| 昌宁县| 阿鲁科尔沁旗| 汝南县| 涟水县| 岳池县| 稷山县| 凉城县| 琼海市| 共和县| 明溪县| 田阳县| 蕉岭县| 广水市| 景德镇市| 南召县| 洪湖市| 灵寿县| 丹巴县| 城市| 共和县| 楚雄市| 高要市| 梅州市|