Categories
程式開發

不存在真正的機器學習平台?那科技公司們在忙什麼?


過去幾年,各大科技廠商開放了各種各樣的“平台”,比如大數據平台、機器學習平台等,用於滿足數據科學與機器學習需求,這些平台爭相奪取數據科學家、機器學習項目經理以及其他AI 項目管理與規劃者的關注以及錢包。本文作者 Ron Schmelzer 是 AI 研究諮詢公司 Cognilytica 的執行合夥人兼首席分析師,在他看來,很多機器學習平台並不符合規範,卻可以不斷佔據市場份額。那麼,機器學習平台應該具備哪些條件?存在合格的機器學習平台嗎?

不存在真正的機器學習平台?那科技公司們在忙什麼? 1

這些平台究竟是什麼?

對於各大科技公司努力做機器學習平台的行為,我很能理解,畢竟作為主要的技術供應商,如果沒在 AI 領域弄出點動靜,可能很快就被市場遺忘了。但是,這些平台究竟是什麼?為什麼會出現這麼激烈的市場競爭狀態?

要回答這個問題,關鍵在於意識到機器學習和數據科學項目,同以往典型應用程序或硬件開發項目之間的區別。過去,硬件與軟件開發工作的重點在於系統或者應用程序功能。相反,數據科學與機器學習項目更強調數據管理,持續不斷地從數據中學習知識,並對數據模型進行迭代演進。從以數據為中心的角度來看,傳統的開發流程與平台在這類新場景中根本無法正常起效。所以,我們需要新的平台。

數據科學平台是什麼?

數據科學家們的任務是從海量數據中整理出有用信息,並將業務與運營信息轉化為數據與數學語言。數據科學家需要掌握統計學、概率、數學以及算法相關知識,藉此從大量信息中收集有用的洞察見解。數據科學家還負責創建數據假設、運行數據測試與分析,而後將結果轉換為組織內能夠輕鬆查看與理解的形式。

因此,一套純數據科學平台應當滿足以下要求:協助構建數據模型、確定最適合當前信息的假設、測試假設、促進數據科學家團隊之間的協作,並隨信息的不斷變化推動數據模型的管理與開發。

此外,數據科學家的工作重點並不在以代碼為中心的集成開發環境(IDE)中。相反,Notebook 才是他們的天地。 Notebook 概念最初由 Mathematica 及 Matlab 等以數學為中心的學術型平台提出,目前在 Python、R 以及 SAS 社區當中非常流行。所謂 Notebook,其本質在於記錄數據研究結果,並允許用戶面向不同源數據加以運行,從而簡化結果的可重複性。良好的 Notebook 應充當一種共享式協作環境,數據科學家小組可以在這裡協同工作,並利用不斷發展的數據集進行模型迭代。儘管,Notebook 不能算是代碼開發的理想環境,但卻能夠為數據的協作、探索以及可視化提供強有力的支持。事實上,如果擁有足夠的訪問權限對接清潔數據,那麼數據科學家們將毫不猶豫地利用 Notebooke 快速瀏覽大型數據集。

但是,如果無法訪問大量清潔數據,數據科學家的工作則會陷入困境。很明顯,數據的提取、清理與移動並不是數據科學家的職責所在,這些工作應該由數據工程師負責完成。數據工程師面對的主要挑戰就是從各類系統中提取結構化與非結構化格式的數據,而且這些數據往往並不“清潔”——存在缺少字段、數據類型不匹配以及其他與數據形式相關的種種問題。

從這個角度來看,數據工程師實際上屬於負責設計、構建以及安排數據的工程人員。優秀的數據科學平台還應幫助數據科學家輕鬆根據需求的增長動用計算能力。平台無需將數據集複製至本地計算機上即可開始工作,確保數據科學家始終以最簡單便捷的方式訪問算力與數據集。為了實現這一目標,數據科學平台當然也需要提供必要的數據工程功能。總結來講,一套實用的數據科學平台應當具備一系列數據科學與數據工程功能元素。

機器學習平台是什麼?

誰能真正簡化機器學習模型的創建、訓練與迭代,誰就能在這場競賽中勝出。

事實上,機器學習平台和數據科學平台之間存在交集,例如都會採用數據科學技術與機器學習算法,並將其應用於大型數據集以開發機器學習模型。數據科學家每天使用的工具,與關注機器學習的科學家以及工程師們使用的工具也頗為相似。但是,相似並不代表相同,畢竟機器學習科學家與工程師的實際需求,與常規數據科學家與工程師還是存在一定差異的。

一般來說,負責管理機器學習項目的人員不僅需要管理Notebook 與生態系統,打理與其他Notebook 的協作工作,同時還需要統籌各類機器學習專用算法、庫以及基礎設施,進而在龐大且不斷發展的數據集之上訓練這些算法。理想的機器學習平台能夠幫助機器學習工程師、數據科學家以及數據工程師了解哪種機器學習方法最為有效,如何調整超參數,在基於自有或云端的CPU、GPU 或TPU 集群上部署計算密集型機器學習訓練,並提供用於管理與監控有監督與無監督訓練模式所必需的生態系統。

很明顯,數據科學平台需要提供一套可協作、交互式的可視化系統,用於機器學習模型的開發與管理,但在機器學習平台方面,這樣的支持遠遠不夠。如上所述,機器學習系統正常運作的一大核心挑戰在於超參數的設置與調整。

從概念角度出發,機器學習模型需要從數據中學習各類參數。換言之,機器學習模型實際學到的就是數據參數,並藉此將新數據擬合至當前模型中。超參數是一種可配置的數據值,且無法在機器學習模型獲取實際數據前預先設置。這些超參數將直接影響到各類因素,例如復雜性以及學習速度等。不同的機器學習算法需要不同的超參數組合,同時應當注意剔除其中不必要的超參數部分。在這方面,機器學習平台有助於發現、設置並管理超參數,特別是非機器學習類數據科學平台所不具備的算法選擇與比較等功能。

應該具備什麼特質?

歸根結底,機器學習項目經理想要的只是能夠提升自身工作效率的工具。 但是,機器學習項目複雜多樣,而且各有不同需求。其中某些項目專注於會話系統,有一些強調識別或者預測分析功能,也有一些主要面向強化學習或者自主系統。

此外,這些模型的部署(或者運營)方式也有所區別。某些模型在雲端或自有服務器內,也有一些模型被部署在邊緣設備中,或者採用脫機批處理模式。數據科學家、數據工程師以及機器學習開發人員等群體在機器學習的應用、部署與需求等方面的差異,使得單一機器學習平台的概念幾乎不具備實際可行性,這最終帶來了“十八般武藝,樣樣稀鬆”的結果。

因此,目前市面上出現了四種不同平台:其一專注於數據科學家與模型構建者的需求;其二強調對大數據及數據工程的管理;其三面向模型“搭建”與模型交互系統;其四則用於模型生命週期管理,即“機器學習運營”。要想真正踐行機器學習平台做出的承諾,開發者需要在這四個方面痛下苦功。

不存在真正的機器學習平台?那科技公司們在忙什麼? 2

AI 的四種應用環境

誰能真正簡化機器學習模型的創建、訓練與迭代,誰就能在這場競賽中勝出。 在這類強大解決方案的幫助下,用戶能夠快速輕鬆地從笨拙的非智能係統,跨越至可利用機器學習功能,解決以往無法解決的難題。相比之下,那些無法適應機器學習功能需求的數據科學平台則將遭遇降級。同樣的,那些天然具備數據工程能力的大數據平台也將在市場上成為贏家。 未來的應用程序開發工具亦需要著力將機器學習模型視為生命週期中的主要組成部分。總結來講,機器學習運營才剛剛出現,且必將在未來幾年內成為行業中的又一大事件。

大家在爭些什麼?

毫無疑問,不同規模的各類技術供應商都將重點放在平台開發上,畢竟數據科學家與機器學習項目經理必須依賴這些平台來開發、運行、操作以及管理企業中正在使用的數據模型。

對於這些供應商而言,未來的機器學習平台如同過去以及當下已存在的操作系統、雲環境乃至移動開發平台一樣。只要能夠在數據科學和機器學習平台領域佔據市場份額,廠商就能夠在未來幾十年獲得豐厚的回報。

結果就是,在這場新興鬥爭中,每位參與者都希望盡可能攫取更可觀的市場份額。

所以,當供應商在宣傳中提到他們擁有人工智能或者機器學習平台時,我們不妨多問一句:“是哪一種平台?”,通過本文,相信大家已經意識到這世界上存在著不只一種機器學習平台,而且各自面向不同的實際需求。多一點思考,才能確保我們不會因身陷市場炒作而信錯廠商、選錯產品。

原文鏈接:

https://www.forbes.com/sites/cognitiveworld/2019/12/12/theres-no-such-thing-as-the-machine-learning-platform/#326f9b96a8dd