十年來,我們一直在談論數(shù)據(jù)科學和數(shù)據(jù)科學家。雖然在怎么才叫“數(shù)據(jù)科學家”的問題上始終存在著爭議,但如今已有很多大學、網(wǎng)校和訓練營都在提供數(shù)據(jù)科學課程:碩士學位、資格證書等等,凡是你能想到的都有。當我們只有統(tǒng)計學的時候,這個世界顯得更加簡單,但簡單并不總是科學的。而除了世界對數(shù)據(jù)科學家的需求程度以外,數(shù)據(jù)科學課程如此多種多樣,其實也說明不了什么。
隨著數(shù)據(jù)科學領域的發(fā)展,出現(xiàn)了很多難以區(qū)分的專業(yè)。公司用“數(shù)據(jù)科學家”和“數(shù)據(jù)科學團隊”來描述各種各樣的角色,包括:
進行專門分析與報告(包括商業(yè)智能和商業(yè)分析)的人
負責統(tǒng)計分析和建模(很多情況下會涉及到正式的實驗和測試)的人
這當中并沒有提及DJ·帕提爾(DJ Patil)和杰夫·哈默巴赫(Jeff Hammerbacher)在發(fā)明“數(shù)據(jù)科學家”這個稱謂時所想到的人——依據(jù)數(shù)據(jù)打造產(chǎn)品的人。
他們所想的這種數(shù)據(jù)科學家倒是跟機器學習建模師最為接近,只不過他們的工作是打造產(chǎn)品——一切以產(chǎn)品為中心,而不是秉持著研究人員的身份。他們的工作通常涉及到數(shù)據(jù)產(chǎn)品的很大一部分。無論具體的職務為何,數(shù)據(jù)科學家的角色絕非單純的統(tǒng)計學家。他們往往擁有理科博士學位,在處理大量數(shù)據(jù)方面擁有豐富的實踐經(jīng)驗。他們基本上都是優(yōu)秀的程序員,絕非只是精通R或其他某種統(tǒng)計軟件包。他們懂得數(shù)據(jù)獲取、數(shù)據(jù)清洗、原型開發(fā)、原型投產(chǎn)、產(chǎn)品設計、搭建和管理數(shù)據(jù)設施等等。在實踐中,他們是典型的硅谷“獨角獸”:稀有,非常難招到。
重點并不是我們設立了邊界明確的專業(yè)。在一個欣欣向榮的領域里,總會存在著十分廣袤的灰色地帶。真正讓“數(shù)據(jù)科學”發(fā)揮出了強大威力的,是在人們意識到,數(shù)據(jù)不僅止于精算統(tǒng)計、商業(yè)智能和數(shù)據(jù)倉庫的時候。將數(shù)據(jù)人和其他部門(軟件開發(fā)、營銷、管理、人力資源)隔離開來的筒倉被打破后,數(shù)據(jù)科學才真正彰顯出了自己的獨特之處。這門學科的中心思想,便是數(shù)據(jù)適用于萬事萬物。數(shù)據(jù)科學家的使命就是收集和利用所有的數(shù)據(jù)。所有部門都會牽涉其中。
當我們找不著獨角獸的時候,就把他們的能力分解成不同的專業(yè),而數(shù)據(jù)科學在開始盛行起來后,也遭遇了這一出。突然之間,我們就有了數(shù)據(jù)工程師。數(shù)據(jù)工程師并非以數(shù)學家或統(tǒng)計學家為主要身份,但他們都懂數(shù)學和統(tǒng)計學;他們的主要身份也不是軟件開發(fā)人員,但他們也懂軟件。數(shù)據(jù)工程師負責數(shù)據(jù)堆棧的操作和維護。他們能讓筆記本電腦上運行的原型在生產(chǎn)中可靠運行。他們負責弄清楚如何搭建和維護Hadoop或Spark集群,還有整個生態(tài)系統(tǒng)中的很多其他工具:數(shù)據(jù)庫(比如Hbase、Cassandra),流數(shù)據(jù)平臺(Kafka、SparkStreaming、Apache Flink),還有更多的活動部件[princeray1] 。他們知道如何在云端操作,充分利用Amazon Web Services、MicrosoftAzure和Google Compute Engine的性能。
如今,我們已經(jīng)進入了“數(shù)據(jù)科學”的第二個十年,機器學習已大行其道,于是“數(shù)據(jù)工程師”的定義也變得更加明確。2015年,谷歌發(fā)表了一篇后來得到廣泛引用的論文,里面凸顯了一項事實:除了分析模型以外,現(xiàn)實世界中的機器學習系統(tǒng)還有很多其他構(gòu)成要素。企業(yè)開始注重打造數(shù)據(jù)產(chǎn)品,并將他們一直以來所采用的技術(shù)運用到生產(chǎn)中。在任何應用中,嚴格屬于“機器學習”的部分其實都不算大:總需要有人去維護服務器設施,監(jiān)控數(shù)據(jù)收集管道,確保計算資源充足什么的。于是,開始有越來越多的企業(yè)建立機器學習工程師隊伍。這其實算不上一個新的專業(yè)領域,隨著機器學習(尤其是深度學習)在數(shù)據(jù)科學圈子里變得炙手可熱,數(shù)據(jù)工程師必然會有進一步的發(fā)展空間。但是機器學習工程師和數(shù)據(jù)工程師之間的區(qū)別到底是什么呢?
從某種程度上來說,機器學習工程師所做的正是一直以來軟件工程師(和優(yōu)秀數(shù)據(jù)工程師)的工作。以下是機器學習工程師的幾個重要特征:
·他們擁有比常見的數(shù)據(jù)科學家更厲害的軟件工程技能。機器學習工程師能夠和維護產(chǎn)品系統(tǒng)的工程師協(xié)同工作(有時就在同一個團隊)。他們懂得軟件開發(fā)方法、敏捷實踐和現(xiàn)代軟件開發(fā)人員使用的全套工具,從Eclipse和IntelliJ這樣的集成開發(fā)環(huán)境,到持續(xù)部署流水線的各個環(huán)節(jié),他們樣樣精通。
由于他們的焦點放在能讓數(shù)據(jù)產(chǎn)品順利投產(chǎn)上,他們會進行全面思考,甚至將日志記錄、AB測試設施等環(huán)節(jié)也一并考慮進來。
他們對在生產(chǎn)活動中監(jiān)控數(shù)據(jù)產(chǎn)品所特有的問題有著最新的認識。監(jiān)控應用程序的辦法有很多,但機器學習讓這個任務的要求上升到了一個新的層面。數(shù)據(jù)管道和模型都有可能過時,需要重新訓練,也可能遭到對手采用并不適用于傳統(tǒng)網(wǎng)絡應用的方式大肆攻擊。機器學習系統(tǒng)會不會因為提供輸入的數(shù)據(jù)管道被黑而失真?會,所以機器學習工程師必須知道可如何探測到這些攻擊。
深度學習的興起催生出一種與其相關(guān)但更加專門化的崗位——深度學習工程師。我們還看到了“數(shù)據(jù)運維團隊”的出現(xiàn),但在如何定義這類團隊的問題上,(截至目前)人們似乎仍未達成共識。
機器學習工程師的工作涉及到軟件架構(gòu)和設計。他們懂得AB測試這樣的實務操作,但更重要的是,他們不只是“懂得”AB測試——他們還知道如何進行生產(chǎn)系統(tǒng)的AB測試。他們也懂得日志、安全這一類的問題,而且知道如何讓日志數(shù)據(jù)在數(shù)據(jù)工程師那里派上用場。所有這一切沒有什么新鮮東西:這只是崗位的深化,而不是改變。
機器學習和“數(shù)據(jù)科學”又有什么不同?顯然,數(shù)據(jù)科學的涵蓋面更廣,但深度學習的工作方式卻存在著一些格外不同的地方。人們總是容易把數(shù)據(jù)科學家想象成挖掘數(shù)據(jù)的人——研究不同的方法和模型,從中找出一個切實可行的。圖基(Tukey)的探索性數(shù)據(jù)分析等經(jīng)典方法為很多數(shù)據(jù)科學家迄今為止的工作定下了基調(diào):挖掘分析大量數(shù)據(jù),找到其中隱藏的價值。
深度學習顯著改變了這種模式。你不再親自處理數(shù)據(jù)。你知道你想要什么樣的結(jié)果,但你讓軟件去發(fā)現(xiàn)它。你想要打造一臺能夠打敗圍棋冠軍、正確標記照片或者實現(xiàn)語言翻譯的機器。在機器學習的范疇中,這些目標不會通過細致的挖掘來達成。在很多情況下,要挖掘的數(shù)據(jù)量實在太大,維度也太多。(圍棋的維度有多少?語言的維度呢?)機器學習能做到的,就是自己建立模型——自己進行數(shù)據(jù)挖掘和調(diào)整。
于是,數(shù)據(jù)科學家并沒有做多少挖掘的工作。他們的目標并非找到數(shù)據(jù)的意義。他們認為價值本來就在那里。他們真正的目標是打造能夠分析數(shù)據(jù)和生成結(jié)果的機器——創(chuàng)建出一張可以被調(diào)教到能使用輸入數(shù)據(jù)生成可靠結(jié)果的神經(jīng)網(wǎng)絡。統(tǒng)計學不再那么重要。事實上,機器學習的大神器是“大眾化”,讓機器學習系統(tǒng)可由主題專家而不是人工智能博士打造。我們想讓圍棋選手打造出下一代的AlphaGo,而不是研究人員。我們想讓說西班牙語的人打造出能把其他語言自動翻譯成西班牙語的引擎。
這種變化也對機器學習工程師產(chǎn)生了相應的影響。在機器學習的范疇里,模型不是靜態(tài)的。隨著時間的推移,模型可能會逐漸失效。必須有人來監(jiān)控系統(tǒng),在必要時對其重新訓練。這項工作對于當初打造該系統(tǒng)的開發(fā)人員來說,可能很是無趣,但當中的技術(shù)性卻很強。而且,這也需要對監(jiān)控工具有充分了解,因為這些監(jiān)控工具在設計時并不會考慮到數(shù)據(jù)應用的問題。
所有的軟件開發(fā)人員和IT從業(yè)人員都應該對安全性這個問題有所了解。據(jù)我們所知,尚未出現(xiàn)過專門針對機器學習系統(tǒng)的嚴重攻擊。但機器學習系統(tǒng)將成日漸成為誘人的攻擊目標。機器學習會帶來怎樣的新型漏洞?有沒有可能在訓練系統(tǒng)用的數(shù)據(jù)中“下毒”,或者強迫系統(tǒng)在錯誤的時候接受重新訓練?由于機器學習系統(tǒng)會自我訓練,我們需要想到,全新漏洞類型的出現(xiàn)必不可免。
隨著工具的改進,我們將看到更多的數(shù)據(jù)科學家有能力轉(zhuǎn)型到生產(chǎn)系統(tǒng)領域。云環(huán)境和軟件即服務(SaaS)讓數(shù)據(jù)科學家能夠更簡單地部署數(shù)據(jù)科學原型,將其投入生產(chǎn),而諸如Clipper、Ground(美國加州大學伯克利分校RISE實驗室的新項目)這樣的開源工具也正開始涌現(xiàn)。但我們?nèi)詫⑿枰獢?shù)據(jù)工程師和機器學習工程師——那些通曉數(shù)據(jù)科學和機器學習知識,知道如何在生產(chǎn)中部署和運行系統(tǒng),能夠為機器學習產(chǎn)品提供支持的工程師。他們才是最終極的“人性因素”。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7030瀏覽量
89038 -
工程師
+關(guān)注
關(guān)注
59文章
1570瀏覽量
68520 -
機器學習
+關(guān)注
關(guān)注
66文章
8418瀏覽量
132646
發(fā)布評論請先 登錄
相關(guān)推薦
評論