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

前言

這不是一本關于機器學習如何工作的書,而是一本關于如何讓機器學習為你工作的書。

機器學習的工作方式令人著迷。圍繞和支持機器學習的數學、算法和統計見解本身就很有趣,而且當應用于正確的數據時,它們可以實現的效果簡直太神奇了。本書不是面向算法的,而是面向整個系統的。簡而言之,我們談論算法之外的一切。許多其他著作都非常詳細地介紹了機器學習的算法組件,但本書關注機器學習的整個生命周期。

這意味著我們將討論如下內容:正確和負責任地管理數據時所涉及的混亂、復雜且偶爾令人沮喪的工作;可靠的模型構建;確保平穩(且可逆)地部署至生產環境;更新時的安全性;對成本、績效、業務目標和組織結構的擔憂。我們試圖涵蓋能夠讓機器學習在組織中可靠運行的一切事項。

為什么寫這本書

機器學習和人工智能技術目前正在加速重塑計算和社會。在某種程度上,公眾炒作在某些方面還趕不上現實[1]。但我們的理智和經驗也足以讓我們理解許多現實世界的機器學習系統是多么不可靠且有問題。科技媒體報道太空飛行,而大多數組織仍然難以在自行車上保持直立,這些現在還處于早期階段。現在正是積極關注機器學習可以做什么以及你的組織如何從中受益的最佳時機。

不過,話雖如此,我們認識到許多組織擔心“錯過”機器學習以及它可以為組織做的一切。好消息是,不用驚慌,現在就可以開始以一種成功平衡義務和回報的方式理智、規范地使用機器學習。

本書可以幫助你駕馭機器學習的復雜性。我們相信,盡管該行業還不成熟,但專注于簡單化和標準化大有可為,且更容易上手。最終,將機器學習深度集成到業務中的組織將受益匪淺[2]——但這些組織需要對如何做到這一點有一定程度的了解。一個更簡單、標準化的基礎將比臨時實驗更好地促進這種能力的發展。

從SRE視角看機器學習

市面上已經存在大量的機器學習書籍,其中許多承諾以某種方式讓你的機器學習旅程變得更好,通常側重于讓它更容易、更快或更高效。然而,很少有人談論如何讓機器學習更可靠,這是一個經常被忽視或低估的方面[3]。這就是我們關注的重點,因為從這個角度看如何做好機器學習具有其他方式無法獲得的特定優勢。現實情況是,當前的開發最佳實踐并不能直接映射出端到端做好機器學習的挑戰。相反,通過SRE視角來看待這些問題——全面、可持續并考慮客戶體驗——是理解如何應對這些挑戰的更好框架。

你可以在Heather Adkins等人所著的Building Secure and Reliable Systems(O'Reilly,2020,https://oreil.ly/bpErx)一書中找到類似的論點。一個不可靠的系統可能常常被攻擊者利用來訪問系統——安全性和可靠性密切相關。同樣,機器學習系統以其令人驚訝的行為和間接而深刻的相互聯系,激發了一種更全面的方法來決定如何集成開發、部署、生產運營和長期維護。

簡而言之,我們相信,可靠的機器學習系統抓住了客戶、企業主和員工真正想要的本質。

目標讀者

本書是為所有想要將機器學習帶入現實世界并在組織中有所作為的人而寫的。因此,本書適用于數據科學家和機器學習工程師、軟件工程師和站點可靠性工程師,以及組織決策者,甚至非技術決策者:

數據科學家和機器學習工程師

我們將探討你所使用的數據、特征和模型架構如何改變模型的工作方式,以及從長遠來看它的可管理性如何,所有這些都著眼于模型速度。

構建機器學習基礎設施或將機器學習集成到現有產品中的軟件工程師

我們討論如何將機器學習集成到系統中,以及如何編寫機器學習的基礎設施。更好地理解機器學習生命周期的工作方式有助于開發功能、設計應用程序編程接口(A P I)和支持客戶。

站點可靠性工程師

我們將展示機器學習系統通常如何崩潰以及如何更好地構建(和管理)它們以避免故障模式。我們還將探討機器學習模型質量的影響,可靠性工程師不能完全忽略這一點。

希望將機器學習添加到現有產品或服務的組織領導者

我們將幫助你了解如何更好地將機器學習集成到現有的產品和服務中,以及所需的結構和組織模式。在做出與機器學習相關的決策時,采用明智的方法來評估風險和優勢非常重要。

每個理應關注開發和部署機器學習的道德、法律和隱私影響的人

我們將清楚地列出問題并指出你可以采取的解決方案的實際步驟,以免它們對你的用戶或組織造成損害。

本書是如何組織的

在詳細討論本書的內容之前,我們先說明本書的主題和組織結構。

方法

工程師需要采用特定的方法和技術來使機器學習系統運行良好。但是,這些方法中的每一種一旦在特定的組織中為特定的目的而實施,就會受到大量決策的影響。本書不可能涵蓋讀者通常面臨的所有實現選擇。我們將不再強調針對特定軟件的具體建議,并希望這種與日常生活的分離能讓我們更清楚地表達觀點,但對于這類書來說,保持平臺無關性本身就是有益的。

內容組織

盡管我們也會使用其他示例,但主要示例是一家假想的在線商店——一家網站名為yarnit.ai的紡織品供應商。本書詳細闡述了這個概念,以演示關于某個階段的選擇(例如,數據獲取或數據歸一化)如何對棧的其余部分、業務等產生影響。

這家商店的業務是單一的、相對簡單的(購買針織和鉤編產品,將它們放在網站上,然后向客戶推銷和銷售)。這顯然沒有捕捉到你在現實世界中看到的使用機器學習的行業的全部復雜性,例如,制造業、自動駕駛汽車、房地產營銷和醫療技術。但是,我們的示例提供了足夠的洞察(并管理了范圍),我們認為在這里處理的實現復雜性提供了適用于其他領域的經驗教訓。換句話說,我們認為,示例的局限性是值得的。

為了更深入地探討這個示例,我們考慮了這樣一種情況:零售商從各種各樣的供應商那里采購產品并通過網站將其銷售到全球。該業務旨在吸引和維持一個以合理利潤購買產品的客戶群,從而支付運營網站的成本并產生利潤。在某些方面,這是一個非常簡單的業務,但當我們嘗試添加機器學習時,復雜性幾乎會立即顯現出來。在較高的層面上,我們致力于提高銷售額、改善客戶體驗、降低成本、提高利潤率,以及提高整個業務的運營效率。

雖然最初將機器學習技術添加到業務運營中通常是由具體的目標(例如,提高效率)驅動的,但這并不是最終目標。機器學習有可能從根本上對業務產生積極或消極的影響,改變產品的創建和選擇方式、客戶的識別和服務方式,以及發現商業機會的方式。從長遠來看,成功部署這些技術并采用機器學習的企業將超越競爭對手。最近由麥肯錫對2000多名高管進行的一項調查(https://oreil.ly/FETOy)顯示,63%的高管擁有提高利潤的機器學習/人工智能項目,盡管組織通常對具體提高多少持謹慎態度。但在短期內,必須從具體的、易于理解的目標開始,比如“增加轉化率”——即增加銷售額。

yarnit.ai網站有許多數據源可以用來實現這些初步的具體改進,并有許多潛在的機器學習應用。首先,我們將考慮面向客戶的示例,如推薦(客戶可能喜歡的其他產品)和預測(例如,哪些產品最有可能賣給某些客戶)。然后,我們將轉向更多可用于優化整個業務流程的幕后應用程序。具體來說,我們將通過幾個例子來說明機器學習可以在哪些方面改進我們的運營,當然,不限于以下需求。

網站搜索結果

客戶在搜索查詢時應獲得最佳排名,向他們展示最符合某些要求并且他們最有興趣購買的產品。

發現與建議

客戶應該有機會考慮與他們正在查看或購買的產品相關的產品。我們可以找到那些很可能有用并因此被購買的產品。

動態定價

我們應該找出銷售速度不及預期的產品,并降低它們的價格來清庫存。同樣,如果非常受歡迎的產品快賣光了,那么我們可以提高它們的價格,以減緩銷售速度并賺更多的錢,同時補充庫存。

購物車遺棄

是什么促使客戶將商品添加到購物車卻不付款?我們能對此進行預測嗎?有沒有辦法讓我們學習如何通過提醒、適時折扣或其他功能進行干預,以提高結賬完成度?

庫存和訂購自動化

我們可能希望使用機器學習,根據對未來銷售額的預測和預計的交付延遲,來從供應商處訂購替換產品。

信任與安全

這是一個行業術語,用于檢測可能的欺詐行為——在本例中為嘗試購買——并在必要時增加驗證步驟。人工審查和啟發式方法無法擴展,因此向機器學習尋求幫助是有意義的。

利潤率提升

我們可以使用各種技術來嘗試提高銷售利潤——從在客戶購物時向他們推薦更多高利潤產品,到開展營銷活動來增加對高利潤產品的需求。

這些可能只是試用機器學習的幾個顯著方向,用以確定它所帶來的價值提升是否值得隨之增加的復雜度和成本。需要明確的是:機器學習并不總是成功的,即使它成功了,也并不總是值得大費周章。建立一個具有嚴格數據格式、重要工程和專業生產操作要求的復雜管道是一項昂貴的工作,需要為客戶和業務帶來顯著和明確的價值。維護費用也相當可觀。對于組織來說,所有這些努力可能都不值得。本書將幫助你理解它是否值得。

企業應該以開放的心態對待機器學習,要愿意試驗、衡量,并能在它們不成功時停止使用。這就是在對商店的網站基礎設施進行不能改變的變更之前,計劃評估成功的可能性至關重要的原因。

內容概覽

在本書的第1章和第2章中,機器學習(或生產中的機器學習)的初學者可以了解機器學習的全部相關問題。該部分涵蓋影響其余所有章節的關鍵主題,例如,數據管理、什么是機器學習模型、如何評估其質量、什么是特征(以及為什么你會關心特征),以及公平性和隱私。

接下來,我們將介紹機器學習模型及其生命周期。我們將解釋如何創建模型(通常稱為訓練)以及如何在生產中使用它們(通常稱為服務)。我們將概述相關內容的重要性,即理解模型在做什么,以及在模型開發時和模型在生產中運行時如何理解這一點。在這一部分的最后,我們將討論可持續機器學習的問題:根據不斷變化的現實情況持續更新的模型。

最后,我們將討論如何將機器學習引入組織,以及引入后組織會發生什么等復雜問題。我們首先具體說明了事故響應領域中機器學習的復雜性——我們希望每個負責生產的工程師都能了解這一點。我們將研究有關組織如何將機器學習集成到現有(和新興)產品中的一些關鍵問題,通常,這個過程最好事先經過深思熟慮。然后,我們將研究如何從組織層面實現機器學習:集中式、分布式以及介于兩者之間的各種方式,并隨后給出具體的指導方針和建議。最后,我們將提供一些世界各地組織中實現機器學習的真實案例。

做完這一切之后,你應該可以理解第一次使用機器學習時可能遇到的所有問題,甚至在你有經驗的情況下,你應該可以理解在組織內部改進它的工作方式時可能遇到的所有問題。

各章節的貢獻者說明

一般來說,無論是在概念、審查、初稿、編輯還是定稿階段,每一章都得到了所有作者的重要貢獻,因此默認情況下我們不區分各個章節的作者。然而,如果某一章有核心團隊成員之外的人做出重要貢獻,我們不僅會在此處說明,也會在該章注明:

第4章,由Robbie Sedgewick和Todd Underwood撰寫

第6章,由Aileen Nielsen撰寫

第9章,由Niall Murphy和Aparna Dhinakaran撰寫

第15章中的個人故事歸功于每位作者(Cheng Chen、Daniel Papasian、Todd Philips、Harsh Saini、Riqiang Wang和Ivan Zhou),并經過編輯以保持清晰和一致。

關于作者

本書作者都擁有數十年構建和運行各種機器學習系統的經驗。我們幫助生產過大型廣告定位系統;構建過大型搜索和發現系統;發表過生產中的機器學習方面的突破性研究成果;構建并運行過圍繞這些系統的關鍵數據提取、處理和存儲系統。我們一起目睹了這些系統的崩潰方式。但好消息是,我們學會了如何構建能夠從技術上和組織上應對機器學習系統遭遇的最常見故障模式的系統。

排版約定

本書使用以下排版約定:

斜體(Italic

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

等寬字體(Constant width

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

等寬粗體(Constant width bold

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

等寬斜體(Constant width italic

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

該圖示表示提示或建議。

該圖示表示一般性說明。

該圖示表示警告或注意。

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

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

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

如何聯系我們

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

美國:

O'Reilly Media,Inc.

1005 Gravenstein Highway North

Sebastopol,CA 95472

中國:

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

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

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

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

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

我們在LinkedIn上的地址:https://linkedin.com/company/oreilly-media

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

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

致謝

作者想借此機會感謝以下人員。

我們要共同感謝本書的以下貢獻者。Ely M. Spears為本書的許多章節提供了寶貴而詳細的技術和結構反饋,讓本書變得更好。Robbie Sedgewick提供了類似的反饋,并在我們覺得自己所寫的東西不會引起共鳴時給予鼓勵。James Blessing快速審閱了一些章節,他的有用反饋使本書的內容得以改進。我們還受益于Andrew Ferlitsch、Ben Hutchinson、Benjamin Sloss、Brian Spiering、Chenyu Zhao、Christina Greer、Christopher Heiser、Daniel H.Papasian、David J. Groom、Diego M.Oppenheimer、Goku Mohandas、Herve Quiroz、Jeremy Kubica、Julian Grady、Konstantinos(Gus)Katsiapis、Lynn He、Michael O'Reilly、Parker Barnes、Robert Crowe、Salem Haykal、Shreya Shankar、Tina H. Wong、Todd Phillips和Vinsensius B. Vega S. Naryanto的深思熟慮和細致評審。最后,還要感謝O'Reilly的團隊成員:John Devins、Mike Loukides、Angela Rufino、Ashley Stussy、Kristen Brown和Sharon Wilkey。

Cathy Chen

感謝我的合作伙伴Morgan,當我需要在周末或晚上籌備此書時,他一直給予我極大的支持。我抱怨To d d把我拉進了這個項目,但也感謝他不僅是這個項目的出色領導者,而且為我提供了一個很好的工作場所。感謝所有合著者和我們出色的志愿者團隊,他們審閱、編輯、評論并幫助我們改進了本書。

Niall Richard Murphy

謹以此書獻給在本書寫作期間逝世的人們。我想在這里懷念我的繼祖母Winifred和我的姨媽Esther Gray。我要感謝我的母親Kay Murphy,她是最好的母親,是黑暗時代中一道閃亮的道德之光,也感謝我的妻子Léan與我的孩子Oisín和Fiachra。自從我上次致謝以來,Oisín一直是全國U19國際象棋冠軍,而Fiachra的藝術作品被收錄在另一本書中,我為他們感到驕傲。最后,感謝Todd Underwood,因為他在同樣艱難的時期展現了始終如一的幽默領導。這本書的存在先應歸功于他。我從他身上學到了很多,并且發現我知道的比我想象的要多。

Kranti Parisa

我要感謝所有合著者和貢獻者的非凡承諾和耐心。特別感謝Todd Underwood,他是這本書背后的偉大靈感源泉和強大動力。我要感謝我的朋友Dave Rensin,是他給了我這個絕佳的機會,并激勵我與世界各地的人分享我的知識和構建大規模機器學習系統的經驗。最后,感謝我的父母,尤其是我的母親Nagarani,感謝我的妻子Pallavi、我的小公主Sree,以及我的朋友們一直以來的愛和支持。

D. Sculley

我要感謝我出色的合著者和許多同事,他們教會了我很多東西,并與我一起經歷了一路上所有的棘手問題。我的妻子Jessica和女兒Sofia一直是我所做的一切的靈感來源。

Todd Underwood

我把這本書獻給我的家人:Beth、ágatha、Beatrix和我已故的兄弟Adam。最后,感謝我的合著者,他們在這個項目似乎永遠無法完成的情況下堅持了下來。我希望我們在這里做了一些有價值的事情——一些有用的、讓我們感到自豪的事情。


[1] 參見Bernard Marr的“27 Incredible Examples of AI and Machine Learning in Practice”(https://oreil.ly/ITkPX),其中的例子可能會讓你大吃一驚。這篇福布斯文章發表于2018年,對于現在的機器學習來講已經是古老的歷史了,并且該行業在不斷擴展。與此同時,既有完全不合理的ML/AI炒作,也有比大多數人所了解的更真實、有效的行業應用。

[2] 請看Google Cloud報告“Business Impacts of Machine Learning”(https://oreil.ly/eWgDg),這段摘錄可能是最大的原因:“標準機器學習項目的投資回報率往往是實施第一年投資的2~5倍。”

[3] 換句話說,有很多關于如何構建機器學習模型的資料,而關于如何構建機器學習系統的資料卻很少。與系統相比,模型也可能在不同方面表現得不可靠。

主站蜘蛛池模板: 望江县| 静安区| 将乐县| 平南县| 延川县| 定州市| 钟祥市| 庆元县| 漾濞| 共和县| 普安县| 太谷县| 沙坪坝区| 射洪县| 柳林县| 闸北区| 富顺县| 赣榆县| 安丘市| 滁州市| 镇雄县| 永城市| 延吉市| 通渭县| 屏东县| 忻城县| 札达县| 和政县| 华容县| 榆社县| 南通市| 宜都市| 丽江市| 平陆县| 孝义市| 文登市| 平泉县| 阜平县| 财经| 金川县| 胶南市|