1. 程式人生 > >機器學習從業人員到底做什麼?

機器學習從業人員到底做什麼?

這篇文章是系列文章的第1部分,第2部分將闡述AutoML和神經架構搜尋、第3部分將特別地介紹Google的AutoML。

關於機器學習人才的稀缺和公司聲稱他們的產品能夠自動化機器學習而且能完全消除對ML專業知識需求的承諾經常登上媒體的新聞頭條。在TensorFlow DevSummit的主題演講中,Google的AI總指揮Jeff Dean估計,有數千萬擁有可用於機器學習的資料而缺乏必要的專業知識和技能的組織。因為我在fast.ai主要專注於讓更多的人去使用機器學習並且讓它更容易使用,所以我密切關注剛才所提的機器學習人才稀缺等問題。

在考慮如何使機器學習的一些工作自動化以及讓具有更廣泛背景的人更容易使用這項技術,首先有必要問的是:機器學習行業從業者到底在做什麼?任何用來解決機器學習專業知識稀缺的方案都需要回答這個問題:我們是否知道去教什麼技能、去建立什麼工具或者去自動化什麼工序。

6b0d104b733b74c60ce521d5017f695d7481214e

從事機器學習行業的人做什麼?

構建資料產品是一項複雜的工作

雖然許多關於機器學習的學術來源幾乎都是預測建模,但這只是從事機器學習在正常情況下做的其中一件事。適當地分析商業問題,收集和清理資料,構建模型,實施結果,然後監控變化的過程在很多方式中是相互關聯的,這往往很難僅僅通過單個部分進行孤立(至少不知道其他部分需要什麼)。正如Jeremy Howard等人在《設計出色的資料產品》上寫道:偉大的預測建模是解決方案的重要組成部分,但它不再獨立;隨著產品變得越來越複雜,它就會消失在管道中。

c59ba0194238db0ac39a86fcfae34eb13f989811

構建資料產品是一項複雜的工作

來自Google,D. Sculley等的一個團隊撰寫了經典的機器學習案例:《技術債務的高利率信用卡》,這是關於在實踐中使用機器學習時時常產生的程式碼複雜性和技術債務。作者發現了許多系統級別的互動、風險和反模式,包括:

1.膠水程式碼:為了將資料輸入和輸出通用軟體包而編寫的大量支援程式碼;

2.管道叢林(pipeline jungles):以ML友好格式準備資料的系統可能成為刮擦,連線和取樣步驟的叢林,通常帶有中間檔案輸出;

3.重新使用輸入訊號的方式會導致其他不相交系統的意外緊耦合;

4.外部環境的變化可能使模型或輸入訊號的行為意外發生改變的風險,這些可能難以監控。

作者寫道:現實世界的“機器學習”工作中一個重要部分是致力於解決這種形式的問題...值得注意的是,膠水程式碼和管道叢林是整合問題的症狀,可能是過度分離的“研究”和“工程”角色的根本原因 ...學術界可能會驚訝地發現,許多機器學習系統中只有很小一部分程式碼實際上在進行“機器學習”。

當機器學習專案失敗時

在其中一次機器學習專案中,我發現了在工作空間失效的故障模式:

1.資料科學團隊構建了一個非常酷的東西卻永遠不會被使用。關於他們正在進行的工作,組織的其餘部門沒有任何支援,而且一些資料科學家對將什麼投入生產並不十分清楚。

2.資料科學家積壓生產模型的速度比工程支援生產模型要快得多。

3.資料架構工程師由資料科學家分離出來。管道中現在沒有資料科學家所要求的資料,資料科學家也在利用資料架構工程師所收集的資料來源。

4.該公司已經明確決定生產功能/產品X.他們需要資料科學家來收集支援此決策的一些資料。資料科學家感覺PM正在忽略與決策相矛盾的資料; PM認為資料科學家正在忽視其他商業邏輯。

5. 資料科學家大材小用:資料科學團隊採訪了一位令人印象深刻的數學建模和工程技巧的職位申請者,一旦被聘用,求職者就會加入到需要簡單業務分析的垂直產品團隊中。

在之前,我將這些視為組織失敗,但它們也可以被描述為各種從業者過分關注構成完整資料產品的複雜系統的一部分。這些是資料產品管道的不同部分之間的溝通和目標對齊的失敗。

那麼,從事機器學習行業的人做什麼?

如上所述,構建機器學習產品是一項多方面且複雜的任務。以下是機器學習從業者在此過程中可能需要做的一些事情:

理解上下文:

1.確定可以從機器學習中受益的商業領域;

2.與其他利益相關者溝通有關機器學習是什麼和自己不具備的能力(通常存在許多誤解);

3.瞭解商業戰略,風險和目標,確保每個人都在同一平臺上;

4.確定組織擁有哪種資料;

5.適當地構建和審視任務;

6.理解操作約束(例如,在推理的時候選出實際可用的資料);

7.主動識別道德風險,包括騷擾者或進行宣傳/虛假宣傳活動(並計劃如何降低這些風險);

8.識別潛在的偏見和潛在的負反饋迴圈。

資料:

1.制定計劃收集更多不同的資料;

2.將來自許多不同來源的資料整理在一起:這些資料通常以不同的格式或不一致的慣例收集;

3.處理丟失或損壞的資料;

4.視覺化資料;

5.建立適當的訓練集,驗證集和測試集;

模型:

1.選擇使用哪種模型;

2.將模型資源需求納入約束(例如,完成的模型是否需要在邊緣裝置上執行,在低記憶體或高延遲環境中執行等);

3.選擇超引數(例如,在深度學習的情況下,這包括選擇架構、損失函式和優化器);

4.訓練模型(並除錯為什麼訓練不成功),這可能涉及:

   4.1調整超引數(例如學習率);

   4.2輸出中間結果,以檢視損失,訓練誤差和驗證誤差如何隨時間變化;

   4.3檢查模型錯誤的資料以查詢模式;

   4.4識別資料潛在的錯誤或問題;

   4.5思考你需要改變清理和預處理資料的方式;

   4.6意識到你需要更多或不同的資料增強;

   4.7意識到你需要更多或不同的資料;

   4.8嘗試不同的模型;

   4.9確定你的資料是否欠擬合或過擬合;

產品化:

1.使用你的模型作為端點建立API或Web應用程式以實現產品化;

2.將模型匯出為所需的格式;

3.計劃你的模型需要使用更新的資料進行重新訓練的頻率;

監控:

1.跟蹤模型隨時間的變化;

2.監控輸入資料,以確定它是否隨著時間的推移而變化,從而使模型無效;

3.將你的結果傳達給組織的其他成員;

4.制定監督和應對錯誤或意外後果的計劃。

當然,不是每個機器學習從業者都需要完成上述所有步驟,但此過程的元件將成為許多機器學習應用程式的一部分。即使你只是處理這些步驟的一部分,熟悉其餘過程也有助於確保你不會忽視會妨礙專案成功的注意事項!

機器學習中最難的兩個部分

對於我和我認識的許多其他人,我要強調機器學習(特別是深度學習)中最耗時和最令人沮喪的兩個方面:

1.處理資料格式化,不一致和錯誤通常是一個混亂和繁瑣的過程。

2.訓練深度學習模型是一個眾所周知的脆弱過程。

清理資料真的是ML的一部分嗎?是。

處理資料格式化,不一致和錯誤通常是一個混亂和繁瑣的過程。人們有時會將機器學習描述為從資料科學分離的過程,就像機器學習一樣,你可以從完美地清理資料,格式化資料集開始。但是,根據我的經驗,清理資料集和訓練模型的過程通常是交織在一起的:我經常在模型訓練中發現導致我返回並改變輸入資料的預處理的問題。

808f7e6b2d92533cf9cd3dd195675ba26b0f5365

有必要去處理雜亂和不一致的資料

訓練深度學習模型是脆弱且困難的

訓練模型的困難嚇退了許多常常感到沮喪的初學者。甚至專家經常抱怨模型訓練過程有多麼令人沮喪和變幻無常。斯坦福大學的一位人工智慧研究員告訴我,他教過深度學習課程,並讓所有學生都做自己的專案,真是太難了!學生們無法讓他們的模型進行訓練,我們通常都會說:“好,這是深度學習”。擁有十多年經驗並獲得NIPS 2017年度時間獎的人工智慧研究員Ali Rahimi在他的NIPS獎頒獎演講中抱怨模型訓練的脆弱性。有人向AI研究人員詢問:你們當中有多少人已經從零開始設計了一個深層網路,從設計開始,架構以及其他流程來構建它,當它無效時,你感到糟糕透了?許多人舉了手。對於我來說,大概每3個月發生一次。甚至AI專家有時也難以訓練新模型,這一事實意味著該過程至今不能將其納入通用產品的方式實現自動化。一些深度學習的最大進步將通過發現更強大的訓練方法來實現。我們已經看到了一些像dropout(dropout是指在深度學習網路的訓練過程中,對於神經網路單元,按照一定的概率將其暫時從網路中丟棄)、超融合和遷移學習這樣的進步,所有這些都使訓練變得更容易。通過遷移學習的力量,當為足夠狹窄的問題域定義時,模型訓練可以是一個健壯的過程。但是,我們仍然有辦法讓訓練更加健壯。

對於學術研究人員

即使你正在從事機器學習的理論研究,理解機器學習從業者在實際問題中所經歷的過程也是有用的,因為這可能會為你提供關於最相關或最具影響力的研究領域的見解。

正如Googler工程師D. Sculley等人寫道,技術債務是工程師和研究人員都需要注意的問題。為了提供微小精度優勢而以大幅提高系統複雜性為代價的研究解決方案很少是明智的做法......降低技術債務並不總是像證明新定理那樣令人興奮,但它是持續強勁創新的關鍵部分。為複雜的機器學習系統開發全面,優雅的解決方案是非常有益的工作。

AutoML

現在我們已經概述了機器學習從業者在其工作中所做的一些任務,我們已經準備好評估自動完成這項工作的嘗試。顧名思義,AutoML是一個專注於自動化機器學習的領域,作為AutoML的子領域的神經架構搜尋,目前正受到大量關注。

以上為譯文。

文章原標題《what do machine learning practitioners actually do?》,

作者:Rachel Thomas 譯者:虎說八道,審校:。

閱讀原文