天天看點

一日千星的「機器學習系統設計指南」,這個英偉達小姐姐的項目火了

今年 8 月份,畢業于斯坦福、現就職于英偉達人工智能應用團隊的一位小姐姐在推特上列出了 十大優質的免費機器學習課程資源 ,并将它們串成了一條高效的學習路線。該課程資源現已獲得 8000 多贊。近日,她又為讀者帶來了新的福利,這次是深度學習系統的設計教程。

将機器學習模型變為可以提供服務和 AI 能力的系統是近來備受關注的話題。Chip Huyen 此次公開的深度學習系統設計教程是一篇 8000 字的長文,得到了廣泛的關注。目前其推特已有 5000 贊,而 GitHub 項目也在一天内獲得了 1000 多星。

一日千星的「機器學習系統設計指南」,這個英偉達小姐姐的項目火了

從理論到實踐,八千字教程解讀 ML 系統設計

該教程共包含四個部分:引言、機器學習系統的設計、案例教學和習題。其中,案例教學和習題部分分别包含 10 個生産環境經典案例和 27 個面試中可能遇到的問題。

全書主要以方法論為主,重點在于提供相應的指導原則,幫助讀者思考建構系統的必要步驟。

一日千星的「機器學習系統設計指南」,這個英偉達小姐姐的項目火了

引言

在第一部分,作者介紹了機器學習研究和生産的主要差別。這些差別展現在兩個方面:性能需求和計算需求。

在性能需求方面,對于機器學習研究者而言,SOTA 就是一切。他們會不惜使用各種複雜的技術及其組合來追求百分之一的性能提升,但這種提升在生産環境中可能并不适用,而且會因為過于複雜而消耗更多計算資源。

在計算需求方面,由于目前流行的大模型需要昂貴的計算資源,是以如果想把這些模型應用到生産環境中,還需要社群去探索模型壓縮、預訓練等技術,使得模型更小、更快。生産領域的開發者應該時刻牢記以生産為目标進行機器學習系統的設計。

機器學習系統設計四部曲

第二部分是這本書的核心内容,即如何設計一個機器學習系統。作者将這一設計過程分為四步:項目設定、資料 pipeline、模組化(選擇、訓練和調試模型)和服務(測試、部署和維護模型)。

一日千星的「機器學習系統設計指南」,這個英偉達小姐姐的項目火了

作者提出的深度學習系統建構流程。

項目設定即對項目進行評估、設計的環節。這一環節的目标在于定義深度學習所需要解決的實際問題(産品的意義)、性能限制、項目限制、評估方法和個性化等。隻有定義清楚項目的目标和實作方法,才能夠確定建構的系統能夠滿足要求,解決實際問題。

資料是深度學習最不可或缺的部分,盡管研究領域的大部分模型都有着充足、平衡且幹淨的資料集,但是生産條件下則不一定。是以,系統設計中也需要考慮到資料的問題,包括如何獲得可靠、充足、大量的資料,同時需要面對隐私保護、資料安全、資料存儲和資料平衡方面的問題,并提供可行的解決方案。

在模組化過程中,需要經過模型選型、訓練、調試和評估幾個環節。其中,在模型選擇時需要考慮找到最合适的基準,如随機基準、人類基準或啟發式基準。采用的模型則應當從簡單到複雜,訓練的過程也應當是從少量的資料開始,如果行得通就擴大模型規模,增加投入的資料批的大小,并進行調參工作。如果模型的推理性能不佳,則需要考慮是否是資料問題、錯誤的假設和模型/資料拟合,超參選擇錯誤等。

在服務階段,設計者需要考慮模型怎樣根據接收到的輸入提供合适的結果,使用者怎樣收到這些結果,怎樣能夠讓他們的回報更好地改進現有的模型。同時,模型也不是一成不變的,它需要不斷地訓練。從現有資料進行訓練使其變得更精準與給模型增加一個新标簽進行訓練是不同的。前者隻需要在現有模型上進行訓練,而後者則需要從頭開始訓練。

10 個經典案例

為了避免理論上的「紙上談兵」,在全書的第三部分,作者提供了 10 個案例教學,用于幫助讀者了解理論,學習實踐。

閱讀這些案例可以學到如何在生産環境中克服種種部署要求和限制。Airbnb、Lyft、Uber、Netflix 等很多公司都開設了部落格來介紹自己使用機器學習改進産品或生産流程的經驗。需要面試的小夥伴可以經常浏覽這些部落格。本教程介紹了其中的一些精華案例,包括:

1. 利用機器學習預測 Airbnb 上的房屋價值。

2. 利用機器學習提高 Netflix 上的資料流品質。

3.

缤客網 150 個成功的機器學習模型: 從中學到的 6 個經驗教訓

 。

4. 從零到 400 萬女性使用者的時尚 APP——Chicisimo。

5. 用機器學習驅動 Airbnb 搜尋體驗。

6. Lyft 公司的反欺詐機器學習系統。

7. Instacart 外送服務中的路徑優化。

8. Uber 的大資料平台:具有分鐘級延遲的 100+Petabytes。

9. 利用計算機視覺和深度學習來建立現代化的 OCR 管道。

10. 利用 Uber 推出的 Michelangelo 機器學習平台來擴充機器學習。

27 個練習題

最後,還有 27 個練習題可供上手嘗試。習題的答案将在《Machine Learning Interviews》一書中給出。

想貢獻答案的同學可以戳:

https://github.com/chiphuyen/machine-learning-systems-design/tree/master/answers
一日千星的「機器學習系統設計指南」,這個英偉達小姐姐的項目火了
一日千星的「機器學習系統設計指南」,這個英偉達小姐姐的項目火了

此外,作者提醒大家注意,這裡的問題有些是模棱兩可的。如果在面試中遇到這些問題,你需要引導面試官把問題描述清楚、縮小範圍。

作者簡介

Chip Huyen 是一位來自越南的作家和計算機科學家,現居于美國矽谷,就職于英偉達人工智能應用團隊。

一日千星的「機器學習系統設計指南」,這個英偉達小姐姐的項目火了

Chip Huyen

她大學和碩士均就讀于斯坦福大學計算機科學專業,曾開設和講授課程《TensorFlow for Deep Learning Research》。

她還曾協助推出越南第二受歡迎的網絡浏覽器 Coc Coc,每月活躍使用者數量達 2000 萬以上。

她目前正在進行的一些項目包括 SOTAWHAT(查詢和總結 SOTA 人工智能研究成果)、OpenSeq2Seq(利用語音識别、Text2Speech 和 NLP 進行高效實驗的工具包)以及 Free Hugs Vietnam(為越南青少年提供軟技能的非盈利項目)等。

繼續閱讀