【译】What do machine learning practitioners actually do?
這篇文章是系列文章的第1部分。 第2部分是對AutoML和神經(jīng)架構(gòu)搜索的固有介紹, 第3部分特別關(guān)注Google的AutoML。
關(guān)于機器學習人才稀缺 (見這里 , 這里和這里 )以及聲稱他們的產(chǎn)品自動化機器學習并完全消除對ML專業(yè)知識的需求的公司的承諾經(jīng)常成為媒體的頭條新聞(見這里 , 這里和這里 ) )。 在TensorFlow DevSummit的主題演講中,Google的AI Jeff負責人估計, 有數(shù)千萬組織擁有可用于機器學習的電子數(shù)據(jù),但缺乏必要的專業(yè)知識和技能 。 我密切關(guān)注這些問題,因為我 在fast.ai的 工作重點是讓更多人使用機器學習并使其更易于使用。
在考慮如何使機器學習的一些工作自動化,以及如何使具有更多背景的人更容易獲得它時,首先需要問的是,機器學習從業(yè)者做了什么? 解決機器學習專業(yè)知識不足的任何解決方案都需要回答這個問題:是否我們知道要教什么技能,要建立什么工具,或者自動化什么過程。
機器學習從業(yè)者做什么? (來源:#WOCinTech Chat)
這篇文章是3部分系列中的第一篇。 它將解決機器學習從業(yè)者所做的事情,第2部分解釋了AutoML和神經(jīng)架構(gòu)搜索(幾位知名人士建議將是減少數(shù)據(jù)科學家需求的關(guān)鍵),第3部分將介紹Google大肆炒作的AutoML產(chǎn)品尤其是。
構(gòu)建數(shù)據(jù)產(chǎn)品是復雜的工作
雖然許多學術(shù)機器學習源幾乎專注于預測建模,但這只是機器學習從業(yè)者在野外做的一件事。 適當?shù)貥?gòu)建業(yè)務(wù)問題,收集和清理數(shù)據(jù),構(gòu)建模型,實施結(jié)果,然后監(jiān)控變更的過程以多種方式相互關(guān)聯(lián),這往往使得很難僅僅通過單個部分進行孤立(至少不是意識到其他部分需要的東西)。 正如Jeremy Howard等人。 在設(shè)計出色的數(shù)據(jù)產(chǎn)品時寫道, 偉大的預測建模是解決方案的重要組成部分,但它不再獨立; 隨著產(chǎn)品變得越來越復雜,它就會消失在管道中。
構(gòu)建數(shù)據(jù)產(chǎn)品是復雜的工作(來源:Wikimedia Commons)
Google,D. Sculley等人的團隊撰寫了經(jīng)典的機器學習:技術(shù)債務(wù)的高利率信用卡,關(guān)于在實踐中使用機器學習時經(jīng)常創(chuàng)建的代碼復雜性和技術(shù)債務(wù)。 作者確定了許多系統(tǒng)級別的交互,風險和反模式,包括:
- 膠水代碼 :為了將數(shù)據(jù)輸入和輸出通用軟件包而編寫的大量支持代碼
- 管道叢林 :以ML友好格式準備數(shù)據(jù)的系統(tǒng)可能成為刮擦,連接和采樣步驟的叢林,通常帶有中間文件輸出
- 重新使用輸入信號的方式會導致其他不相交系統(tǒng)的意外緊耦合
- 外部世界的變化可能使模型或輸入信號以非預期的方式改變行為的風險,這些可能難以監(jiān)控
作者寫道, 真實世界“機器學習”工作的一個重要部分是致力于解決這種形式的問題...值得注意的是,膠水代碼和管道叢林是整合問題的癥狀,可能是過度分離的研究的根本原因“和”工程“角色 ......學術(shù)界可能會驚訝地發(fā)現(xiàn),許多機器學習系統(tǒng)中只有很小一部分代碼實際上在進行”機器學習“ 。 (強調(diào)我的)
當機器學習項目失敗時
在上一篇文章中 ,我發(fā)現(xiàn)了一些故障模式,其中機器學習項目在工作場所無效:
- 數(shù)據(jù)科學團隊構(gòu)建了非??岬臇|西,永遠不會被使用。 對于他們正在進行的工作,組織的其余部分沒有任何支持,而且一些數(shù)據(jù)科學家對實際生產(chǎn)的內(nèi)容并不十分了解。
- 有一個積壓數(shù)據(jù)科學家生產(chǎn)模型的速度比工程支持生產(chǎn)模型要快得多。
- 數(shù)據(jù)基礎(chǔ)設(shè)施工程師與數(shù)據(jù)科學家分開。 管道沒有數(shù)據(jù)科學家現(xiàn)在要求的數(shù)據(jù),數(shù)據(jù)科學家也在利用基礎(chǔ)設(shè)施工程師收集的數(shù)據(jù)源。
- 該公司已明確決定功能/產(chǎn)品X.他們需要數(shù)據(jù)科學家來收集支持此決策的一些數(shù)據(jù)。 數(shù)據(jù)科學家感覺PM正在忽略與決策相矛盾的數(shù)據(jù); PM認為數(shù)據(jù)科學家忽視了其他業(yè)務(wù)邏輯。
- 數(shù)據(jù)科學團隊采訪了具有令人印象深刻的數(shù)學建模和工程技 一旦被聘用,候選人就會嵌入到需要簡單業(yè)務(wù)分析的垂直產(chǎn)品團隊中。 數(shù)據(jù)科學家很無聊,沒有利用他們的技能。
我將這些視為原始帖子中的組織失敗,但它們也可以被描述為各種參與者過分關(guān)注構(gòu)成完整數(shù)據(jù)產(chǎn)品的復雜系統(tǒng)的一部分。 這些是數(shù)據(jù)產(chǎn)品管道的不同部分之間的通信失敗和目標對齊。
那么,機器學習從業(yè)者會做些什么呢?
如上所述,構(gòu)建機器學習產(chǎn)品是一項多方面且復雜的任務(wù)。 以下是機器學習從業(yè)者在此過程中可能需要做的一些事情:
理解上下文 :
- 確定可以從機器學習中受益的業(yè)務(wù)領(lǐng)域
- 與其他利益相關(guān)者溝通有關(guān)機器學習是什么和不具備的能力(通常存在許多誤解)
- 了解業(yè)務(wù)戰(zhàn)略,風險和目標,確保每個人都在同一頁面上
- 確定組織擁有哪種數(shù)據(jù)
- 適當?shù)貥?gòu)建和范圍任務(wù)
- 理解操作約束(例如,在推理時間實際可用的數(shù)據(jù))
- 主動識別道德風險,包括騷擾者,巨魔,專制政府如何濫用您的工作,或進行宣傳/虛假宣傳活動(并計劃如何降低這些風險)
- 識別潛在的偏見和潛在的負反饋循環(huán)
數(shù)據(jù) :
- 制定計劃以收集更多不同的數(shù)據(jù)(如果需要,如果可能的話)
- 將來自許多不同來源的數(shù)據(jù)拼接在一起:這些數(shù)據(jù)通常以不同的格式或不一致的慣例收集
- 處理丟失或損壞的數(shù)據(jù)
- 可視化數(shù)據(jù)
- 創(chuàng)建適當?shù)呐嘤?#xff0c;驗證和測試集
建模 :
- 選擇使用哪種型號
- 將模型資源需求納入約束(例如,完成的模型是否需要在邊緣設(shè)備上運行,在低內(nèi)存或高延遲環(huán)境中運行等)
- 選擇超參數(shù)(例如,在深度學習的情況下,這包括選擇架構(gòu),損失函數(shù)和優(yōu)化器)
- 訓練模型(并調(diào)試為什么不訓練)。 這可能涉及:
- 調(diào)整超量計(例如學習率)
- 輸出中間結(jié)果,以查看損失,訓練錯誤和驗證錯誤如何隨時間變化
- 檢查模型錯誤的數(shù)據(jù)以查找模式
- 識別潛在的錯誤或數(shù)據(jù)問題
- 意識到您需要改變清理和預處理數(shù)據(jù)的方式
- 意識到您需要更多或不同的數(shù)據(jù)擴充
- 意識到你需要更多或不同的數(shù)據(jù)
- 嘗試不同的模型
- 確定您是否適應(yīng)不足或過度
生產(chǎn) :
- 使用您的模型作為端點創(chuàng)建API或Web應(yīng)用程序以進行生產(chǎn)
- 將模型導出為所需的格式
- 計劃您的模型需要使用更新的數(shù)據(jù)進行再培訓的頻率(例如,您可能會每晚或每周重新培訓)
監(jiān)控 :
- 跟蹤模型隨時間的表現(xiàn)
- 監(jiān)控輸入數(shù)據(jù),以確定它是否隨著時間的推移而變化,從而使模型無效
- 將您的結(jié)果傳達給組織的其他成員
- 制定計劃,監(jiān)督和應(yīng)對錯誤或意外后果
當然,并非每個機器學習從業(yè)者都需要完成上述所有步驟,但此過程的組件將成為許多機器學習應(yīng)用程序的一部分。 即使您只是處理這些步驟的一部分,熟悉其余過程也有助于確保您不會忽視會妨礙項目成功的注意事項!
機器學習中最困難的兩個部分
對于我和我認識的許多其他人,我要強調(diào)機器學習(特別是深度學習)中最耗時和最令人沮喪的兩個方面:
清潔數(shù)據(jù)真的是ML的一部分嗎? 是。
處理數(shù)據(jù)格式化,不一致和錯誤通常是一個混亂和繁瑣的過程。 人們有時會將機器學習描述為與數(shù)據(jù)科學分開,就像機器學習一樣,您可以從完美清理的格式化數(shù)據(jù)集開始。 但是,根據(jù)我的經(jīng)驗,清理數(shù)據(jù)集和訓練模型的過程通常是交織在一起的:我經(jīng)常在模型訓練中發(fā)現(xiàn)導致我返回并改變輸入數(shù)據(jù)的預處理的問題。
處理雜亂和不一致的數(shù)據(jù)是必要的
訓練深度學習模型是脆弱和挑剔(目前)
讓模特去訓練的困難阻礙了許多初學者,他們常常感到沮喪。 甚至專家經(jīng)常抱怨培訓過程有多么令人沮喪和變幻無常 。 斯坦福大學的一位人工智能研究員告訴我 , 我教過深度學習課程,并讓所有學生都做自己的項目。 真是太難了。 學生們無法讓他們的模型進行訓練,我們就像“嗯,這是深刻的學習”。 擁有十多年經(jīng)驗并獲得NIPS 2017年度時間獎的人工智能研究員Ali Rahimi在他的NIPS獎頒獎演講中抱怨培訓的脆弱性。 你們當中有多少人從零開始設(shè)計了一個深層網(wǎng),從頭開始構(gòu)建它,建筑物和所有,當它不起作用時,你對自己感覺不好? 拉希米向人工智能研究人員詢問,許多人舉手。 拉希米繼續(xù)說, 大概每3個月發(fā)生一次。
甚至AI專家有時也難以培訓新模型這一事實意味著該過程尚未以可將其納入通用產(chǎn)品的方式實現(xiàn)自動化。 深度學習的一些最大進步將通過發(fā)現(xiàn)更強大的訓練方法來實現(xiàn) 。 我們已經(jīng)看到了一些像輟學, 超融合和轉(zhuǎn)移學習這樣的進步,所有這些都使訓練變得更容易。 通過轉(zhuǎn)移學習的力量(將在第3部分中討論),當為足夠狹窄的問題域定義時,培訓可以是一個健壯的過程; 但是,我們?nèi)匀挥修k法讓訓練更加健壯。
對于學術(shù)研究人員
即使您正在進行理論機器學習研究,理解處理實際問題的機器學習從業(yè)者所經(jīng)歷的過程也是有用的,因為這可能會提供關(guān)于最相關(guān)或最具影響力的研究領(lǐng)域的見解。
正如Googler工程師D. Sculley等人。 寫道 , 技術(shù)債務(wù)是工程師和研究人員需要注意的問題。 以大幅提高系統(tǒng)復雜性為代價提供微小精度優(yōu)勢的研究解決方案很少是明智的做法 ......降低技術(shù)債務(wù)并不總是像證明新定理那樣令人興奮,但它是持續(xù)強勁創(chuàng)新的關(guān)鍵部分。 為復雜的機器學習系統(tǒng)開發(fā)全面,優(yōu)雅的解決方案是非常有益的工作。 (強調(diào)我的)
AutoML
現(xiàn)在我們已經(jīng)概述了機器學習從業(yè)者在其工作中所做的一些任務(wù),我們已經(jīng)準備好評估自動完成這項工作的嘗試。 顧名思義, AutoML是一個專注于自動化機器學習的領(lǐng)域,而AutoML的子領(lǐng)域稱為神經(jīng)架構(gòu)搜索 ,目前正受到大量關(guān)注。 在第2部分中,我將解釋AutoML和神經(jīng)架構(gòu)搜索是什么,在第3部分中,特別關(guān)注Google的AutoML。
?
http://www.fast.ai/2018/07/12/auto-ml-1/
總結(jié)
以上是生活随笔為你收集整理的【译】What do machine learning practitioners actually do?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Guide To Using The G
- 下一篇: 【译】An Opinionated In