![]() ![]() |
高效的機器學習團隊 ![]() 本書的主要內容有:為機器學習系統(tǒng)編寫自動化測試,容器化開發(fā)環(huán)境,并重構有問題的代碼庫。運用MLOps和CI/CD實踐,加速實驗周期并提升機器學習解決方案的可靠性。運用精益交付和產品實踐,提高構建符合用戶需求的正確產品的成功率。確定適合的團隊結構及團隊內外的協(xié)作方式,以促進快速工作流、減少認知負擔,并在組織內推廣機器學習實踐。 編輯推薦 前言晚上9 點25 分,當丹娜登錄電腦繼續(xù)修復一個錯誤時,電腦屏幕上柔和的光芒刺進了她黯淡的雙眼,紅色的管道和無數打開的標簽頁充斥著她的屏幕。她吃過晚飯,做完了日,嵤,但心不在焉。事實上,她的心思不在這里。這是緊張的一天,既要進行長時間的培訓,又要與支持團隊就客戶詢問模型為何拒絕貸款申請的問題進行來回溝通。盡管對數據和模型架構進行了各種調整,但模型的性能始終無法提高,她一直在深入調試。偶爾的堆棧跟蹤只會讓事情變得更糟。她很疲憊,本地機器上一堆未提交的代碼修改讓她的認知負擔更重了。但她必須堅持下去,她的團隊已經比最初的發(fā)布日期晚了四個月,高管們的不耐煩已經顯露無遺。更糟的是,她擔心自己的工作不保。在最新一輪的成本削減措施中,她所在的公司每十名員工中就有一人被解雇,其中還有幾個她認識的人。她團隊中的每個人都是善意的、有能力的,但他們每天都被乏味的測試、焦慮的生產部署以及難以辨認和易碎的代碼所困擾。經過幾個月的辛勤工作,他們都心力交瘁。他們已經盡了最大努力,但感覺就像在建造一棟沒有地基的房子,一切都支離破碎。由于工具、技術、教程和機器學習從業(yè)者社區(qū)的生態(tài)系統(tǒng)不斷發(fā)展壯大,許多人在開始機器學習(ML)之旅時勢頭強勁,并很快獲得了信心。然而,當我們走出教程筆記本和Kaggle 競賽的受控環(huán)境,進入到實際問題、雜亂數據、互聯(lián)系統(tǒng)和目標各異的人群的空間時,我們中的許多人不可避免地要在實踐中努力發(fā)掘ML 的潛力。當我們剝開數據科學是最性感的工作的華麗外衣時,我們常常會看到ML從業(yè)人員深陷繁重的手工勞動、復雜而脆弱的數據處理和分析中,以及在生產中永遠看不到曙光的Sisyphean ML 實驗所帶來的挫敗感。2019 年有87% 的數據科學項目從未投入生產(https://oreil.ly/xy9Xi)。根據Algorithmia 發(fā)布的《2021 年企業(yè)人工智能/ML 趨勢》(https://oreil.ly/HP6Qh),即使在已經成功將ML 模型部署到生產中的公司中,也有64% 的調查對象表示部署一個新模型需要一個多月的時間,比2020 年的56% 有所增加。Algorithmia 還發(fā)現(xiàn),38% 的受訪企業(yè)在模型部署上花費了數據科學家50% 以上的時間。這些障礙阻礙了人工智能從業(yè)人員應用其在人工智能方面的專業(yè)知識,為客戶和企業(yè)實現(xiàn)人工智能的價值和承諾,在某些情況下甚至是阻礙了他們的工作。但好在情況并非如此。在過去的幾年里,我們有幸參與了各種數據和ML 項目,并與來自多個行業(yè)的ML 從業(yè)人員進行了合作。正如我們在上文所述,雖然存在障礙和痛苦,但也有更好的途徑、做法和工作系統(tǒng),可以讓ML 從業(yè)人員可靠地將支持ML 的產品交付到客戶手中。這就是本書的主旨所在。我們將從自己的經驗中提煉出一套持久的原則和實踐,這些原則和實踐始終幫助我們在現(xiàn)實世界中有效地交付ML 解決方案。這些實踐之所以有效,是因為它們基于構建ML 系統(tǒng)的整體方法。它們超越了ML 的范疇,在各個子系統(tǒng)(如產品、工程、數據、交付流程、團隊拓撲結構)中創(chuàng)建了重要的反饋回路,使團隊能夠快速安全地失敗、快速實驗并可靠地交付。本書適合人群無論你認為你可以,還是你認為你不能,你都是對的。 亨利·福特無論你是學術界、企業(yè)、初創(chuàng)公司、大型企業(yè)還是咨詢公司的ML 實踐者,本書中的原則和實踐都能幫助你和你的團隊更有效地交付ML 解決方案。本書詳細介紹了ML 交付技術的跨職能性質,與此相一致的是,我們解決了從事ML的團隊中多種角色所關心的問題和愿望:數據科學家和ML 工程師在過去幾年中,數據科學家的工作范圍發(fā)生了變化。我們不再單純關注建模技術和數據分析,而是看到人們(或隱或顯地)期望一個人需要具備全棧數據科學家的能力(https://oreil.ly/jV7EP):數據整理、ML 工程、MLOps 和商業(yè)案例制定等。本書闡述了數據科學家和ML 工程師在現(xiàn)實世界中設計和交付ML 解決方案所需的能力。過去,我們曾向數據科學家、ML 工程師、博士生、軟件工程師、質量分析師和產品經理介紹過本書中的原理、實踐和上機練習,并一直收到積極的反饋。與我們合作過的業(yè)內人工智能從業(yè)人員都表示,自動化測試和重構等實踐改善了反饋周期、流程和可靠性,讓他們受益匪淺。我們的收獲是,ML社區(qū)渴望學習這些技能和實踐,而這正是我們擴大知識共享規(guī)模的嘗試。軟件工程師、基礎設施和平臺工程師、架構師當我們就本書所涉及的主題舉辦研討會時,經常會遇到在ML 領域工作的軟件工程師、基礎架構和平臺工程師以及架構師。雖然軟件世界的能力(如基礎設施即代碼、部署自動化、自動測試)對于在現(xiàn)實世界中設計和交付ML 解決方案是必要的,但它們也是不夠的。要構建可靠的ML 解決方案,我們需要拓寬軟件視角,研究其他原則和實踐,如ML 模型測試、雙軌交付、持續(xù)發(fā)現(xiàn)和ML 治理,以應對ML 所特有的挑戰(zhàn)。產品經理、交付經理、工程經理如果我們認為只需要數據科學家和ML 工程師就能打造ML 產品,那么我們就會失敗。相反,我們的經驗告訴我們,如果團隊是跨職能的,并具備必要的ML、數據、工程、產品和交付能力,那么團隊的效率就會最高。在本書中,我們將詳細闡述如何應用精益交付實踐和系統(tǒng)思維來創(chuàng)建結構,幫助團隊關注客戶的聲音、縮短反饋環(huán)路、快速可靠地進行實驗,并不斷迭代以構建正確的東西。正如W. Edwards Deming(https://oreil.ly/eUxHc)曾經說過的,一個糟糕的系統(tǒng)每次都會打敗一個優(yōu)秀的人。因此,我們分享的原則和實踐將幫助團隊創(chuàng)建優(yōu)化信息流、減少浪費(如交接、依賴性)和提高價值的結構。如果我們的工作做得正確,本書將邀請你仔細審視ML 和團隊中一直以來的工作方式,反思這些方式對你的工作有多大幫助,并考慮更好的替代方案。閱讀本書時,請保持開放的心態(tài),對于以工程為重點的章節(jié),請使用開放的代碼編輯器。正如Peter M.Senge(https://oreil.ly/9HEwI)在他的《第五項修煉》(The Fifth Discipline,Doubleday 出版社)一書中所說:獲取信息與真正的學習只有很微妙的關系。如果說我剛剛讀了一本關于自行車騎行的好書,現(xiàn)在我已經學會了,那是毫無意義的。我們希望你能在自己的團隊中嘗試這些做法,并親身體驗它們在實際項目中帶來的價值。以持續(xù)改進的心態(tài),而不是完美主義的心態(tài)來對待本書。沒有一個項目是完美的,沒有任何挑戰(zhàn)。復雜性和挑戰(zhàn)總是存在的(我們知道,健康的挑戰(zhàn)是成長的必要條件),但本書中的實踐將幫助你最大限度地減少意外的復雜性,這樣你就可以專注于你的ML 解決方案的基本復雜性,并負責任地交付價值。本書的編排方式第1 章交付ML 解決方案的挑戰(zhàn)和更好的途徑是全書的精華所在。我們探討了ML 項目失敗的高層次和低層次原因。然后,我們通過在產品、交付、機器學習、工程和數據這五個關鍵領域采用精益交付實踐,為交付有價值的ML解決方案鋪設了一條更可靠的道路。在其余章節(jié)中,我們將介紹有效的ML團隊和ML實踐者的實踐。在第一部分產品和交付中,我們將詳細介紹交付ML 解決方案所需的其他子系統(tǒng)中的實踐,如產品思維和精益交付。在第二部分工程中,我們將介紹有助于ML 從業(yè)人員實施和交付解決方案的實踐(例如,自動測試、重構、有效使用代碼編輯器、持續(xù)交付和MLOps)。在第三部分團隊中,我們將探討影響ML 團隊效率的動態(tài)因素,如信任、共同進步、多樣性,以及有助于建立高效團隊的工程效率技術。我們還探討了組織在將ML 實踐擴展到一個或兩個團隊之外時所面臨的共同挑戰(zhàn),并分享了團隊拓撲結構、互動模式和領導力方面的技術,以幫助團隊克服這些擴展挑戰(zhàn)。第一部分:產品和交付第2 章,機器學習團隊的產品和交付實踐我們討論產品發(fā)現(xiàn)技術,這些技術可以幫助我們發(fā)現(xiàn)機會,快速測試市場和技術假設,并找到可行的解決方案。從最有價值的問題和可行的解決方案入手,我們就能在交付過程中取得成功。我們還通過交付實踐,幫助我們確定工作的形狀、規(guī)模和順序,以創(chuàng)造穩(wěn)定的價值流。我們探討了某些ML 問題的實驗性和高不確定性所帶來的獨特挑戰(zhàn),并討論了雙軌交付模式等技術,這些技術可以幫助我們在更短的周期內更快地學習。最后,我們介紹了衡量ML項目關鍵方面的技術,并分享了識別和管理項目風險的技術。第二部分:工程學第3 章和第4 章,有效的依賴管理在本章中,我們將介紹創(chuàng)建一致、可重現(xiàn)、安全且類似于生產的運行時環(huán)境的原則和實踐,并提供了一個可讓你親自動手編寫代碼的示例。當我們開始運行并交付解決方案時,你將看到本章中的實踐將如何使你和你的隊友檢出即可使用,毫不費力地創(chuàng)建一致的環(huán)境,而不是陷入依賴地獄。第5 章和第6 章,ML 系統(tǒng)的自動測試這些章節(jié)為你提供了測試你的ML 解決方案組件(軟件測試、模型測試或數據測試)的標準。我們將展示自動化測試如何幫助我們縮短反饋周期,減少人工測試的煩瑣工作,或者更糟糕的是,修復人工測試中漏掉的生產缺陷。我們描述了軟件測試范式對ML 模型的限制,以及ML 適應度函數和行為測試如何幫助我們擴展ML 模型的自動化測試。我們還將介紹全面測試大型語言模型(LLM)和LLM 應用程序的技術。第7 章,通過簡單技巧為你的代碼編輯器增效我們將向你展示如何配置代碼編輯器(PyCharm 或VS Code),以幫助你更有效地編寫代碼。在通過幾個步驟配置好集成開發(fā)環(huán)境后,我們將介紹一系列鍵盤快捷鍵,它們可以幫助你自動重構、自動檢測和修復問題,以及瀏覽代碼庫而不會迷失在雜草中等。第8 章, 重構與技術債務管理在本章中,我們將借鑒軟件設計的智慧,幫助我們設計可讀、可測試、可維護和可演進的代碼。本著邊做邊學的精神,你將看到我們如何利用有問題的、雜亂的和易碎的筆記本,并應用重構技術迭代改進我們的代碼庫,使其達到模塊化、可測試和可讀的狀態(tài)。你還將學習到一些技術,這些技術可以幫助你和你的團隊將技術債務顯性化,并采取行動將其保持在健康的水平。第9 章,面向ML 的MLOps 和機器學習的持續(xù)交付(CD4ML)我們將從廣闊的視角闡述MLOps 和CI/CD(持續(xù)集成和持續(xù)交付)的真正含義。劇透:這不僅僅是自動化模型部署和定義CI 管道。我們?yōu)镃I/CD 在ML 項目中的獨特形式描繪了一幅藍圖,并介紹了如何設置藍圖中的每個組件,以創(chuàng)建可靠的ML 解決方案,并將你的團隊成員從重復和無差別的勞動中解放出來,使他們能夠專注于其他更高價值的問題。我們還將了解CD4ML 如何充當風險控制機制,幫助團隊堅持ML 治理和負責任人工智能的標準。第三部分:團隊第10 章,打造高效機器學習團隊的基石在本章中,我們將跳出機制的束縛,去理解在高效團隊中實現(xiàn)良好實踐的人際因素。我們將介紹有助于創(chuàng)建安全、以人為本和以成長為導向的團隊的原則和實踐。我們將探討團隊中的信任、溝通、共同目標、有目的的進步和多樣性等話題。我們將分享一些需要注意的反模式,以及一些你可以用來培養(yǎng)協(xié)作文化、有效交付和學習的策略。第11 章,有效的機器學習組織本章介紹了人工智能團隊的各種形態(tài),并探討了組織在將其人工智能實踐擴展到多個團隊時所面臨的共同挑戰(zhàn)。我們借鑒并調整了《團隊拓撲》(IT Revolution Press)一書中討論的策略,概述了獨特的結構、原則和實踐,幫助團隊在工作流程與集中的專業(yè)知識、協(xié)作和自主之間找到平衡。我們評估了這些結構的優(yōu)勢和局限性,并為其發(fā)展提供指導,以滿足組織的需求。最后,我們討論了有意識的領導力及其支持性實踐在塑造敏捷、反應迅速的ML 組織中的作用。其他想法在結束前言之前,我們想談四件事。第一,我們要承認,ML 不僅僅是監(jiān)督學習和LLM。我們還可以使用其他優(yōu)化技術 [ 如強化學習(https://oreil.ly/7PjY6)、運籌學(https://oreil.ly/ZezrC)、仿真(https://oreil.ly/UVhfB)] 來解決數據密集型(甚至是數據貧乏型)問題。此外,ML 并非靈丹妙藥,有些問題不用ML 也能解決。盡管我們在全書的代碼示例中選擇了一個監(jiān)督學習問題(貸款違約預測)作為錨定示例,但其原理和實踐的實用性并不局限于監(jiān)督學習。例如,關于自動測試、依賴管理和代碼編輯器生產力的章節(jié)甚至對強化學習也很有用。第2 章中概述的產品和交付實踐對任何產品或問題空間的探索和交付階段都很有用。第二,隨著生成式人工智能和LLM 進入公眾視野和許多組織的產品路線圖,我們和我們的同事有機會與組織合作,共同構思、塑造和交付可利用以下功能的產品生成式人工智能。雖然LLM 已使我們引導或約束模型實現(xiàn)其預期功能的方式發(fā)生了范式轉變,但精益產品交付和工程的基本原理并沒有改變。事實上,本書中的基本工具和技術已經幫助我們盡早測試假設、快速迭代和可靠交付,從而即使在處理生成式人工智能和LLM 中固有的復雜問題時,也能保持敏捷性和可靠性。第三,關于文化的作用:機器學習的有效性和本書中的實踐不是也不可能是一個人的努力。這就是我們將本書命名為《高效的機器學習團隊》的原因。例如,你不可能是唯一編寫測試的人。在我們合作過的組織中,如果(團隊、部門甚至組織內部)在這些精益和敏捷實踐方面達成了文化上的一致,那么個人就會變得最有效率。這并不意味著你需要與整個組織一起煮沸海洋;只是單打獨斗是不夠的。正如史蒂夫- 喬布斯曾經說過的那樣:偉大的事業(yè)從來不是一個人的功勞。它們是由一個團隊完成的。第四,本書不是關于生產力(如何盡可能多地發(fā)布功能、故事或代碼),也不是關于效率(如何以最快的速度發(fā)布功能、故事或代碼)。相反,它關注的是有效性,如何快速、可靠、負責任地構建正確的產品。本書講述的是如何通過移動和有效的移動方式找到平衡。本書中的原則和實踐一直在幫助我們成功地提供ML 解決方案,我們相信它們也能幫助你做到這一點。排版約定本書采用以下排版約定。斜體(Italic)表示新術語、URL、電子郵件地址、文件名和文件擴展名。等寬字體(Constant width)表示程序清單,在段落內表示程序元素,例如變量、函數名稱、數據庫、數據類型、環(huán)境變量、語句和關鍵字。粗體等寬字體(Constant width bold)表示應由用戶原封不動輸入的命令或其他文本。使用代碼示例補充材料(代碼示例、練習等)可在以下網址下載:? https://github.com/davified/loan-default-prediction? https://github.com/davified/ide-productivity? https://github.com/davified/refactoring-exercise如果你在使用代碼示例時遇到技術問題或困難,請發(fā)送電子郵件至support@oreilly.com。本書旨在幫助你完成工作。一般來說,如果本書提供了示例代碼,你可以在你的程序和文檔中使用。除非你要復制代碼的重要部分,否則不需要聯(lián)系我們獲得許可。例如,編寫一個使用了本書多段代碼的程序并不需要獲得許可。銷售或分發(fā)OReilly 書籍中的示例需要獲得許可。通過引用本書和示例代碼回答問題不需要許可。將本書中的大量示例代碼納入你的產品文檔需要獲得許可。我們感謝但一般不要求署名。署名通常包括標題、作者、出版商和ISBN。例如:Effective Machine Learning Teams by David Tan, Ada Leung, and David Colls (OReilly). Copyright 2024 David Tan Rui Guan, Ada Leung Wing Man, and David Colls, 978-1-098-14463-0。如果你認為對代碼示例的使用超出了合理使用或上述許可范圍,請隨時通過permissions@oreilly.com 聯(lián)系我們。OReilly 在線學習平臺(OReilly Online Learning)近40 年來,OReilly Media 致力于提供技術和商業(yè)培訓、知識和卓越見解,來幫助眾多公司取得成功。公司獨有的專家和改革創(chuàng)新者網絡通過OReilly 書籍、文章以及在線學習平臺,分享他們的專業(yè)知識和實踐經驗。OReilly 在線學習平臺按照您的需要提供實時培訓課程、深入學習渠道、交互式編程環(huán)境以及來自OReilly 和其他200 多家出版商的大量書籍與視頻資料。更多信息,請訪問網站:https://www.oreilly.com/。聯(lián)系我們任何有關本書的意見或疑問,請按照以下地址聯(lián)系出版社。美國:OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國:北京市西城區(qū)西直門南大街2 號成銘大廈C 座807 室(100035)奧萊利技術咨詢(北京)有限公司我們?yōu)楸緯_設了一個網頁,列出了勘誤、示例和其他信息。你可以訪問該網頁:https://oreil.ly/effective-ml-teams。有關我們的書籍和課程的新聞和信息,請訪問https://oreilly.com。我們的LinkedIn:https://linkedin.com/company/oreilly-media。我們的YouTube:https://youtube.com/oreillymedia。致謝當我們開始寫這本書時,我們的初衷是分享在構建ML 系統(tǒng)過程中幫助過我們的要點實踐。但我們最終得到的是一本全面的指南,我們堅信它將提升ML 團隊的共同標準,并改變團隊塑造和交付ML產品的方式。如果沒有那些以身作則、言行一致、影響并塑造了我們的方法的人,這本書是不可能完成的。我們要感謝在OReilly 的那些出色的同事們,他們幫助這本書成為現(xiàn)實:Nicole Butterfield,Melissa Potter,Gregory Hyman,Kristen Brown,Nicole Taché,Judith McConville,David Futato,Karen Montgomery,Kate Dullea,以及其他在幕后不斷改進這本書的編輯、設計師和工作人員。從本書的構思到出版,他們始終在努力完善這本書。特別感謝我們的技術審閱者,他們花費時間和精力認真閱讀了300 多頁的內容,并提供了深思熟慮和坦誠的反饋:Hannes Hapke,Harmeet Kaur Sokhi,Mat Kelcey,Vishwesh Ravi Shrimali。來自David Tan感謝Nhung 在我寫這本書的深夜里給予我的耐心和支持。沒有你的支持,我不可能完成這本書。我看到了什么,Jacob 和Jonas,一棵樹!永遠保持好奇心。特別要感謝Jeffrey Lau,你的指導沒有白費。感謝Thoughtworks 過去和現(xiàn)在的同事們,他們教會了我很多關于提問之美的知識,并告訴我可以踏上新的道路。我想一一列舉你們的名字,但名單太長了。你們知道自己是誰, 衷心感謝你們的坦誠、善良和出色。特別感謝Sue Visic、Dave Colls 和Peter Barnes 在本書寫作過程中給予的鼓勵和支持。Neal Ford 當我向你請教一些關于寫書的后勤問題時,你不遺余力地與我分享了你的寫作過程、如何檢驗想法,并向我介紹了Stephen King 和Annie Dillard 的寫作理念。你沒必要這么做,但你做到了。謝謝你,讓我受益匪淺。在此,我衷心感謝我的合作者Ada 和Dave。你們提升了這本書的質量和廣度,超出了我的想象,我很高興看到這本指南能通過我們的集體經驗幫助ML 團隊和從業(yè)人員。來自Ada Leung我要感謝我的伙伴、朋友和家人。你們知道自己是誰。你們無盡的鼓勵和對我與他人合著一本書的欽佩(是啊,我知道,對吧。┳屛乙庾R到,與聰明絕頂、令人印象深刻的技術專家為伍是多么酷的一件事。我還要感謝我一路走來遇到的Thoughtworks 同事,他們在遠方給了我很多啟發(fā),我也有幸得到了他們的指導,他們對知識共享的熱情和慷慨為我樹立了很高的榜樣。沒有比烏班圖哲學更貼切的詞來形容這個社區(qū)了:因為我們是,所以我是。最后,致我的合作作者大衛(wèi)和戴夫:感謝你們在整個旅程中給予我的堅定支持。通過分享我們的想法和發(fā)現(xiàn)我們集體知識的廣度和重疊,我意識到我是多么珍視團隊合作和友情。這是一種真正的快樂和榮幸。來自David Colls我要感謝我的家人,感謝他們在周末、電影之夜和籃球賽場上,忍受我這個丈夫和父親連續(xù)幾個月撰寫、評論和研究內容。我要感謝世界各地的許多Thoughtworks 同事,他們先我們一步著書立說,對技術提出了變革性的觀點,激發(fā)了我們的決心,并向我們展示了好的一面。就近而言,我要感謝十多年來與我共事的所有澳大利亞思想工作者,他們拓寬了我的視野,豐富了我的專業(yè)和為人。我要特別感謝Thoughtworks 澳大利亞公司數據與人工智能部門的所有成員,我有幸與他們合作,共同創(chuàng)造了新的東西,這本書里有你們每個人的影子。我還要感謝我們的客戶,感謝他們對我們的信任,讓我們?yōu)樗麄冏畲蟮臋C遇和挑戰(zhàn)開發(fā)新的方法。最后,我要感謝我的合著者David 和Ada,感謝他們的專業(yè)知識和洞察力、對我的想法的反饋,以及在本書中提煉和分享我們知識的結構化方法。與你們合作非常愉快。 David Tan是一名首席機器學習工程師,曾與多家組織合作,交付數據和機器學習系統(tǒng)及產品。 Ada Leung是Thoughtworks的資深業(yè)務分析師和產品負責人,擁有跨技術、商業(yè)和政府服務的交付與咨詢經驗。 David Colls是一位技術領導者,擁有豐富的經驗,幫助軟件、數據和機器學習團隊實現(xiàn)卓越成果。 目錄前言 1第1 章 在交付機器學習解決方案中的挑戰(zhàn)與優(yōu)化路徑 151.1 ML:承諾與失望 .161.1.1 繼續(xù)看好ML .161.1.2 為什么ML 項目會失敗 171.2 有更好的方法嗎?系統(tǒng)思維和精益如何提供幫助 .241.2.1 你無法通過MLOps解決你的問題 .251.2.2 看到整體:以系統(tǒng)思維透視有效的ML 交付 261.2.3 有效交付ML 所需的五項修煉 .281.3 結論 .49第一部分 產品和交付第2 章 機器學習團隊的產品和交付實踐 552.1 ML 產品發(fā)現(xiàn) 592.1.1 發(fā)現(xiàn)產品商機 612.1.2 確定產品機會的畫布.622.1.3 快速設計、交付和測試解決方案的技術 .692.2 啟動:讓團隊走向成功 .742.2.1 啟動:它是什么,我們怎么做 .752.2.2 如何計劃和運行啟動.762.2.3 用戶故事:MVP 的構建模塊 812.3 產品交付882.3.1 交付活動的節(jié)奏 892.3.2 衡量產品和交付 932.4 結論 .98第二部分 工程學第3 章 有效的依賴管理:原則和工具 1033.1 如果我們的代碼在任何地方、任何時候都能正常工作,會怎樣 1043.1.1 更好的方法 退房走人 1063.1.2 有效管理依賴性的原則 .1073.1.3 依賴性管理工具 1103.2 Docker 和Batect 速成課程 1183.2.1 容器是什么 . 1193.2.2 使用batect 減少Docker 中移動部件的數量 1233.3 結論 131第4 章 實踐中的有效依賴管理 . 1334.1 背景:機器學習開發(fā)工作流 .1334.1.1 確定要容器化的內容1344.1.2 動手練習:通過容器化實現(xiàn)可復現(xiàn)的開發(fā)環(huán)境1374.2 安全的依賴管理 .1494.2.1 移除不必要的依賴項1504.2.2 自動化安全漏洞檢查1524.3 總結 157第5 章 自動化測試:快速移動而不破壞 1595.1 自動化測試:快速可靠迭代的基礎1615.1.1 從為什么開始:測試自動化的好處 1625.1.2 如果自動化測試如此重要,為什么我們不去做呢 1665.2 ML 系統(tǒng)全面測試策略的構建模塊 1695.2.1 識別測試組件 .1695.2.2 優(yōu)秀測試的特點及避免的陷阱 1755.2.3 如何:測試的結構 1805.3 軟件測試.1825.3.1 單元測試 1825.3.2 訓練冒煙測試 .1855.3.3 API 測試 1875.3.4 后部署測試 .1915.4 結論 193第6 章 自動化測試:ML 模型測試 1956.1 模型測試.1956.1.1 模型測試的必要性 1966.1.2 測試ML 模型的挑戰(zhàn)1976.1.3 ML 模型的適應度函數 1996.1.4 模型指標測試(全局和分層) 2016.1.5 行為測試 2056.1.6 測試大型語言模型:為什么和如何 2086.2 重要的模型測試補充實踐 .2136.2.1 錯誤分析和可視化 2146.2.2 從生產環(huán)境中學習,通過關閉數據收集循環(huán) 2166.2.3 開閉測試設計 .2196.2.4 探索性測試 .2206.2.5 改進模型的方法 2216.2.6 設計以最小化失敗成本 .2226.2.7 生產中的監(jiān)控 .2246.2.8 整合所有內容 .2256.3 下一步:應用你所學到的知識 2286.3.1 逐步改進 2286.3.2 展示價值 2296.4 結論 230第7 章 通過簡單技巧為你的代碼編輯器增效 2317.1 了解IDE 的好處(以及其令人驚訝的簡單性) 2337.1.1 為什么我們應該關心IDE 2337.1.2 如果IDE 如此重要,為什么我還沒有學過它們 2357.2 計劃:通過兩個階段提高生產力 2367.2.1 階段1:配置你的IDE 2377.2.2 階段2:主角 鍵盤快捷鍵 2457.2.3 做到了 2577.3 結論 262第8 章 重構與技術債務管理 2638.1 技術債務:我們齒輪中的沙子 2648.1.1 通過測試、設計和重構達到健康的技術債務水平 2668.1.2 重構基礎 2698.2 如何重構筆記本(或有問題的代碼庫) 2718.2.1 計劃你的重構之旅:路線圖 2718.2.2 旅程:上路 .2778.2.3 回顧我們的成就 2898.3 實際世界中的技術債務管理 .2948.3.1 技術債務管理技術 2948.3.2 從積極的角度看待技術債務:系統(tǒng)健康評分 2978.4 總結:讓優(yōu)秀變得簡單 301第9 章 面向ML 的MLOps 和機器學習的持續(xù)交付(CD4ML) . 3039.1 MLOps:優(yōu)勢與缺失的拼圖 3059.1.1 MLOps 101 3069.1.2 嗅覺信號:我們錯過了什么的提示 3129.2 機器學習的持續(xù)交付 3169.2.1 CD4ML 的好處 .3169.2.2 持續(xù)交付原則速成課程 .3179.2.3 構建CD4ML 的基礎:創(chuàng)建一個生產就緒的ML 系統(tǒng) .3209.3 CD4ML 如何支持機器學習治理和負責任的人工智能 3319.4 總結 335第三部分 團隊第10 章 打造高效機器學習團隊的基石 . 33910.1 機器學習團隊面臨的常見挑戰(zhàn) .34110.2 高效團隊的內部構建模塊34510.2.1 信任:作為基礎的構建模塊 34610.2.2 溝通 35410.2.3 多樣性成員35810.2.4 有目的的共享進步 36110.2.5 內部策略以建立有效團隊 .36410.3 改善工程效率以提升工作流 36610.3.1 反饋循環(huán) 36710.3.2 認知負荷 36910.3.3 流狀態(tài) .36910.4 結論 373第11 章 有效的機器學習組織 37511.1 ML 組織面臨的常見挑戰(zhàn) .37811.2 有效的組織作為團隊的團隊 37911.2.1 價值驅動的投資組合管理的角色 38011.2.2 團隊拓撲模型 38211.2.3 機器學習團隊的團隊拓撲 .38611.2.4 組織策略以建立高效團隊 .39911.3 有意領導 40111.3.1 為有效團隊創(chuàng)建結構和系統(tǒng) .40211.3.2 參與利益相關者并協(xié)調組織資源 40311.3.3 培養(yǎng)心理安全 40311.3.4 推動持續(xù)改進 40411.3.5 將失敗視為學習機會 40511.3.6 構建我們希望擁有的文化 .40511.3.7 鼓勵團隊在工作中玩耍 40511.4 結論 407
你還可能感興趣
我要評論
|