- 構建可靠的機器學習系統
- (美)凱茜·陳 (愛爾蘭)尼爾·理查德·墨菲 (美)克蘭蒂·帕里薩 (美)D.斯卡利 (美)托德·安德伍德
- 1616字
- 2025-06-26 18:00:39
1.2 循環中的教訓
現在應該清楚機器學習以數據開始和結束。如果不了解所擁有的數據和可以從中提取的信息,就不可能成功將機器學習可靠地集成到任何業務領域或應用程序中。為了使這些工作發揮作用,我們必須馴服數據。
還應該清楚的是,在任何給定環境中實施機器學習都沒有固定的順序。通常從數據開始是有意義的,但從數據開始,你將需要訪問每個功能層級,甚至可能會訪問它們多次。要解決的問題會告知我們需要的數據?;A設施服務會告訴我們可以構建的模型。訓練環境會限制我們將使用的數據類型以及數據量。隱私與道德的原則也會在上述方面進行限制。模型構建過程需要一個針對整個循環的全視圖,也需要整個組織本身的全視圖。在機器學習領域,將不同的關注點隔離開并單獨討論是不可行、也沒有用的。
所有這一切的背后都是組織復雜度以及與機器學習相關的風險承受能力的問題。并非所有組織都準備好在這些技術上進行大規模投資,并將其關鍵業務功能置于未經驗證的算法上,這些組織也不應該這樣做!即使對于具有大量機器學習經驗并能夠評估模型質量和價值的組織,大多數新的機器學習思想也應該先試用,因為大多數新的機器學習思想都無法在實際中生效。在許多方面,機器學習工程最好是作為一個持續進行的實驗來實施,部署增量更改和優化,并在產品管理的幫助下通過評估更改和優化成功與否來確認哪些要保留。不可能像今天許多軟件工程所做的,將機器學習視為確定性開發過程。然而,即使考慮到當今世界的基線混亂,你也可以通過把每一次機器學習實驗當作第一次實驗來顯著提高機器學習實驗最終成功的機會[8]。
由于實施是循環的,因此完全可以按任意順序閱讀本書。選擇一個最接近你現在最關心的內容的章節,并從那里開始。然后,找出最迫切的問題并轉到下一章。所有章節都與其他章節有廣泛的交叉引用。
如果你按順序閱讀,那也很好,你將從數據開始。對將公平性和道德問題納入基礎設施每個部分的方式感到好奇的人可以直接跳到第6章。
當讀完本書時,你會了解從何處開始將機器學習整合到組織的服務中。你還將擁有包含如何改變才能使整個流程成功的路線圖。
[1] ETL(Extract,Transform,Load)是表示這種數據處理的一種常見抽象。維基百科的“提取、轉換、加載”頁面(https://oreil.ly/XqcQs)有一個合理的概述。
[2] 我們使用哪些成熟的庫和系統主要取決于應用程序。如今,TensorFlow、JAX和PyTorch都被廣泛用于深度學習,但如果你的應用程序使用另一個不同的學習方式(例如,常見的XGBoost),那么還有很多其他系統。選擇一個模型架構基本上超出了本書的討論范圍,盡管在第3章和第7章中有小部分內容涉及。
[3] 參考閱讀Andrej Karpathy 2019年的優秀博客文章“A Recipe for Training Neural Networks”(http://karpathy.github.io/2019/04/25/recipe)以了解更多信息。
[4] 如果你熟悉電子商務中A/B測試的概念,那么這里也適合驗證這種測試能否作為集成測試的一部分正確運行。這里的一個很好的用例是可以區分存在與不存在機器學習建議時用戶的行為。
[5] 最簡單的方式是只生成一個隨機數,并從中選擇1%來獲得模型。但這意味著,即使在同一網絡會話中,同一用戶也會有時獲得模型生成的推薦,有時則無法獲得。這對于我們弄清楚模型是否有效沒有太大幫助,并可能嚴重損害用戶體驗。因此,對于We b應用程序,我們可能會選擇所有登錄用戶的1%或所有cookie的1%來獲得模型生成的結果。但在這種情況下,我們將很難判斷模型生成的結果對用戶的影響,并且在當前用戶與新用戶的選擇上可能存在偏差。我們會希望同一用戶有時得到模型生成的結果,有時得不到,或者我們可能希望某些用戶總是得到模型生成的結果,但其他用戶只在特定的會話或時間里得到。重點是,如何隨機訪問機器學習結果是一個有點復雜的統計問題。
[6] 完整起見,確實有一種安全的方法可以部署新的數據格式。具體來說,在系統開始寫入新格式之前,完成支持讀取新格式的部署。顯然,在這個案例中并沒有這樣做。
[7] 也不要忘記數據漂移:與2020年的模型相比,2019年的模型對世界大部分地區口罩的重要性和意義的看法截然不同。
[8] 在這種情況下,Martin Casado和Matt Bornstein的“Taming the Tail:Adventures in Improving AI Economics”(https://oreil.ly/474mq)是一篇值得參考的文章。
- 移動平臺深度神經網絡實戰:原理、架構與優化
- 神經網絡與機器人科研項目申請與實踐
- 2019年華北五?。ㄊ?、自治區)大學生機器人大賽:人工智能與機器人創意設計賽論文集
- 機器學習實戰:基于Scikit-Learn、Keras和TensorFlow(原書第3版)
- 從零構建大模型
- 從機器學習到深度學習:基于scikit-learn與TensorFlow的高效開發實戰
- 碼農的零門檻AI課:基于fastai與PyTorch的深度學習
- 人工智能原理與應用教程
- 人工智能極簡編程入門:基于Python
- 與機器人共舞
- 深度學習視頻理解
- 人工智能哲學
- 機器人SLAM導航:核心技術與實戰
- Manus極簡入門:從0到1快速打造你的AI智能體
- AI源碼解讀:卷積神經網絡(CNN)深度學習案例:Python版