我們已經(jīng)談?wù)摂?shù)據(jù)科學(xué)和數(shù)據(jù)科學(xué)家有10年了。雖然對(duì)“數(shù)據(jù)科學(xué)家”的含義總是存在一些爭議,但是我們看到了許多大學(xué)、在線學(xué)院和培訓(xùn)機(jī)構(gòu)都已經(jīng)提供數(shù)據(jù)科學(xué)的課程,并給予碩士學(xué)位、資格認(rèn)證等等你能想到的名字。當(dāng)我們只看統(tǒng)計(jì)數(shù)據(jù)時(shí),事情是比較簡單的。但簡單并不總意味著健康,如果僅僅只是看對(duì)于數(shù)據(jù)科學(xué)家的需求,數(shù)據(jù)科學(xué)項(xiàng)目的多樣性是不會(huì)展現(xiàn)出來的。
隨著數(shù)據(jù)科學(xué)領(lǐng)域的發(fā)展,出現(xiàn)了不少很差的專業(yè)分類。企業(yè)會(huì)使用“數(shù)據(jù)科學(xué)家”和“數(shù)據(jù)科學(xué)團(tuán)隊(duì)”來描述多種角色,包括:
- 進(jìn)行臨時(shí)性分析和報(bào)告(包括BI和業(yè)務(wù)分析)的人員
- 負(fù)責(zé)統(tǒng)計(jì)分析和建模的人。他們?cè)谠S多情況下會(huì)進(jìn)行正式的實(shí)驗(yàn)和測(cè)試
- 越來越多的使用Notebook開發(fā)原型的機(jī)器學(xué)習(xí)建模者
而這個(gè)列表里并不包括DJ Patil和Jeff Hammerbacher這樣思考和創(chuàng)造“數(shù)據(jù)科學(xué)家”這個(gè)詞的人:即從數(shù)據(jù)來構(gòu)建產(chǎn)品的人。這些數(shù)據(jù)科學(xué)家比較類似機(jī)器學(xué)習(xí)建模者,除了他們構(gòu)建的東西:他們是以產(chǎn)品為中心,而不是研究人員。它們通常工作于很多數(shù)據(jù)產(chǎn)品。無論是什么角色,數(shù)據(jù)科學(xué)家不僅僅是統(tǒng)計(jì)學(xué)家。他們通常擁有科學(xué)博士學(xué)位,并擁有處理大量數(shù)據(jù)的實(shí)踐經(jīng)驗(yàn)。他們幾乎總是很好的程序員,而不僅僅是R或其他一些統(tǒng)計(jì)軟件包的專家。他們了解數(shù)據(jù)采集、數(shù)據(jù)清理、原型設(shè)計(jì)、將原型轉(zhuǎn)化為生產(chǎn)系統(tǒng)、產(chǎn)品設(shè)計(jì)、建立和管理數(shù)據(jù)基礎(chǔ)架構(gòu)等。實(shí)際上,他們?cè)瓉硎枪韫取蔼?dú)角獸”的原型:罕見而且很難雇用。
重要的不是我們要有明確定義的專業(yè)。在蓬勃發(fā)展的領(lǐng)域,總是會(huì)有巨大的灰色地帶。使“數(shù)據(jù)科學(xué)”如此強(qiáng)大的核心是認(rèn)識(shí)到數(shù)據(jù)比精算統(tǒng)計(jì)、商業(yè)智能和數(shù)據(jù)倉庫更強(qiáng)大。打破將數(shù)據(jù)人員與機(jī)構(gòu)的其他部分(軟件開發(fā)、營銷、管理、人力資源等)分離的孤島是數(shù)據(jù)科學(xué)的獨(dú)特之處。其核心概念是數(shù)據(jù)適用于所有事情。數(shù)據(jù)科學(xué)家的首要任務(wù)是收集和使用所有數(shù)據(jù)。沒有什么部門可以例外。
當(dāng)找不到這些獨(dú)角獸時(shí),我們就把他們擁有的技能分解成了不同的專業(yè)。進(jìn)而,當(dāng)數(shù)據(jù)科學(xué)誕生后,這些技能人員開始出現(xiàn)。我們突然開始看到了數(shù)據(jù)工程師。數(shù)據(jù)工程師并不主要是數(shù)學(xué)家或統(tǒng)計(jì)學(xué)家,盡管他們對(duì)數(shù)學(xué)和統(tǒng)計(jì)學(xué)也不陌生。他們并不主要是軟件開發(fā)人員,盡管他們對(duì)軟件開發(fā)也不陌生。數(shù)據(jù)工程師負(fù)責(zé)數(shù)據(jù)技術(shù)棧的操作和維護(hù)。他們可以把在筆記本電腦上開發(fā)的原型導(dǎo)入在生產(chǎn)系統(tǒng)中,并可靠地運(yùn)行。他們負(fù)責(zé)了解如何構(gòu)建和維護(hù)Hadoop或Spark群集,以及數(shù)據(jù)生態(tài)系統(tǒng)的其他工具:數(shù)據(jù)庫(如HBase和Cassandra),流式計(jì)算數(shù)據(jù)平臺(tái)(Kafka、Spark Streaming、Apache Flink )和其他更多的部件。他們知道如何使用和運(yùn)維云基礎(chǔ)設(shè)施,能充分利用Amazon Web Services、Microsoft Azure和Google Compute Engine等云平臺(tái)。
現(xiàn)在我們已經(jīng)進(jìn)入了“數(shù)據(jù)科學(xué)”的第二個(gè)十年,并且機(jī)器學(xué)習(xí)現(xiàn)在已經(jīng)逐漸自成一體。我們看到了“數(shù)據(jù)工程師”的逐步演進(jìn)。2015年一篇來自Google被廣泛引用的文章強(qiáng)調(diào)了這樣一個(gè)事實(shí),即現(xiàn)實(shí)世界的機(jī)器學(xué)習(xí)系統(tǒng)除了分析模型之外還有很多的組成部分。企業(yè)開始專注于建立數(shù)據(jù)產(chǎn)品,并把她們采用的技術(shù)投入生產(chǎn)系統(tǒng)中。在任何應(yīng)用中,嚴(yán)格的“機(jī)器學(xué)習(xí)”的部分是相對(duì)較小的:(因?yàn)椋┬枰腥司S護(hù)服務(wù)器基礎(chǔ)設(shè)施,監(jiān)控?cái)?shù)據(jù)采集管道,確保有足夠的計(jì)算資源等。為此,我們開始聽到更多的企業(yè)組建機(jī)器學(xué)習(xí)工程師團(tuán)隊(duì)。但這并不是一個(gè)全新的專業(yè),因?yàn)闄C(jī)器學(xué)習(xí)(特別是深度學(xué)習(xí))在數(shù)據(jù)科學(xué)界快速的擴(kuò)散,數(shù)據(jù)工程師一定要向前看一步。但是如何區(qū)分一個(gè)機(jī)器學(xué)習(xí)工程師和數(shù)據(jù)工程師?
在一定程度上,機(jī)器學(xué)習(xí)工程師會(huì)做軟件工程師(和好的數(shù)據(jù)工程師)一直做的工作。以下是機(jī)器學(xué)習(xí)工程師的幾個(gè)重要特點(diǎn):

圖1 圖片由Ben Lorica提供
- 他們比典型的數(shù)據(jù)科學(xué)家有更強(qiáng)的軟件工程技能。機(jī)器學(xué)習(xí)工程師能夠與維護(hù)生產(chǎn)系統(tǒng)的工程師(有時(shí)就在同一個(gè)團(tuán)隊(duì)中)配合工作。他們了解軟件開發(fā)方法、敏捷實(shí)踐以及現(xiàn)代軟件開發(fā)人員使用的各種工具:從Eclipse和IntelliJ等IDE到持續(xù)部署管道的組件等。
- 由于他們的重點(diǎn)是使數(shù)據(jù)產(chǎn)品在生產(chǎn)環(huán)境中工作,所以他們會(huì)思考周翔,并權(quán)衡日志記錄或A / B測(cè)試基礎(chǔ)架構(gòu)等組件。
- 他們能夠針對(duì)監(jiān)控生產(chǎn)系統(tǒng)中的數(shù)據(jù)產(chǎn)品的具體問題快速反應(yīng)。有很多應(yīng)用程序監(jiān)控的資源,但是機(jī)器學(xué)習(xí)有進(jìn)一步的要求。數(shù)據(jù)管道和模型可能會(huì)過時(shí),需要重新訓(xùn)練?;蛘呖赡軙?huì)受到對(duì)手的某些方式的攻擊,這些方式對(duì)傳統(tǒng)的Web應(yīng)用程序來說可能是無意思的。機(jī)器學(xué)習(xí)系統(tǒng)是否可以通過破壞供給它的數(shù)據(jù)的管道來誤導(dǎo)?是可以的。而機(jī)器學(xué)習(xí)工程師將需要知道如何檢測(cè)到這些破壞。
- 深度學(xué)習(xí)的興起導(dǎo)致了一個(gè)相關(guān)但更專業(yè)的職位:深度學(xué)習(xí)工程師。我們也見到了“DataOps”,盡管對(duì)于這些術(shù)語意味著什么似乎沒有達(dá)成一致的意見(到目前為止)。
機(jī)器學(xué)習(xí)工程師參與軟件架構(gòu)和設(shè)計(jì),他們也了解A / B測(cè)試的做法。但更重要的是,他們不僅僅是“了解”A / B測(cè)試,他們還知道如何在生產(chǎn)系統(tǒng)上進(jìn)行A / B測(cè)試。他們了解日志和安全性等相關(guān)的問題;他們知道如何使日志數(shù)據(jù)對(duì)數(shù)據(jù)工程師有用。這里沒有什么是特別新的東西:這是角色的深化,而不是變化。
機(jī)器學(xué)習(xí)與“數(shù)據(jù)科學(xué)”有什么不同?數(shù)據(jù)科學(xué)顯然是更具包容性的術(shù)語。但是,深度學(xué)習(xí)的工作方式有很大的不同。想象數(shù)據(jù)科學(xué)家探索數(shù)據(jù)是很容易的:查看替代方法和不同的模型來找到一個(gè)有用的。像Tukey的《探索性數(shù)據(jù)分析》這樣的經(jīng)典書籍為大部分?jǐn)?shù)據(jù)科學(xué)家們所做的事情設(shè)定了基調(diào):探索和分析大量的數(shù)據(jù),以找到隱藏在其中的價(jià)值。
深度學(xué)習(xí)顯著地改變了這個(gè)模式。你并不直接和數(shù)據(jù)工作。你知道你想要的結(jié)果,但是你會(huì)讓程序發(fā)現(xiàn)它。你想構(gòu)建一個(gè)能打敗最好的圍棋冠軍的機(jī)器,或者正確地標(biāo)記照片,或是在語言之間進(jìn)行翻譯。在機(jī)器學(xué)習(xí)中,這些目標(biāo)是不能通過仔細(xì)的探索來實(shí)現(xiàn)的。在許多情況下,有太多數(shù)據(jù)可以在太多的意義上探索,并且維度非常多(圍棋的維度是什么?或是一種語言的維度是什么?)。機(jī)器學(xué)習(xí)的未來希望是它能自己構(gòu)建模型:它自己進(jìn)行數(shù)據(jù)挖掘和調(diào)優(yōu)。
因此,數(shù)據(jù)科學(xué)家也不會(huì)做太多的數(shù)據(jù)探索。他們的目標(biāo)不是在數(shù)據(jù)中找到意義:他們認(rèn)為這個(gè)意義已經(jīng)在那里了。相反,他們的目標(biāo)是構(gòu)建可以分析數(shù)據(jù)并產(chǎn)生結(jié)果的機(jī)器:創(chuàng)建一個(gè)可用的神經(jīng)網(wǎng)絡(luò),它可以通過調(diào)優(yōu)產(chǎn)生可靠的結(jié)果。他們也不太會(huì)重視統(tǒng)計(jì)結(jié)果了。事實(shí)上,機(jī)器學(xué)習(xí)的圣杯是“民主化”,即達(dá)到機(jī)器學(xué)習(xí)系統(tǒng)可以由某領(lǐng)域的專家而不是AI專業(yè)的博士來產(chǎn)生。我們希望圍棋玩家能夠構(gòu)建下一代AlphaGo,而不是研究者。我們想要由一名說西班牙語的人來構(gòu)建自動(dòng)翻譯成西班牙語的引擎。
這種變化對(duì)機(jī)器學(xué)習(xí)工程師有著相應(yīng)的影響。在機(jī)器學(xué)習(xí)中,模型不是靜態(tài)的。隨著時(shí)間的推移,模??型可能會(huì)過時(shí)。需要有人來監(jiān)控這個(gè)過程,從而在必要時(shí)重新訓(xùn)練模型。這對(duì)初始構(gòu)建系統(tǒng)的開發(fā)人員來說是沒有吸引力的工作,但它的技術(shù)性很強(qiáng)。此外,這也需要這個(gè)人能了解監(jiān)控工具,不過這些工具尚未在數(shù)據(jù)應(yīng)用程序中被考慮設(shè)計(jì)出來。
任何從業(yè)的軟件開發(fā)人員或IT人員都應(yīng)該了解安全性。據(jù)我們所知,還沒有針對(duì)機(jī)器學(xué)習(xí)系統(tǒng)的重大攻擊。但他們會(huì)成為越來越誘人的目標(biāo)。機(jī)器學(xué)習(xí)有哪些新類型的漏洞存在?是否有可能對(duì)訓(xùn)練數(shù)據(jù)“投毒”,或是強(qiáng)制系統(tǒng)在不應(yīng)該的時(shí)候重新訓(xùn)練模型?因?yàn)闄C(jī)器學(xué)習(xí)系統(tǒng)是自我訓(xùn)練的,我們應(yīng)該考慮到會(huì)出現(xiàn)全新類型的漏洞。
隨著工具變地越來越好,我們將會(huì)看到更多的數(shù)據(jù)科學(xué)家可以將結(jié)果轉(zhuǎn)變?yōu)樯a(chǎn)系統(tǒng)。云環(huán)境和SaaS工具使數(shù)據(jù)科學(xué)家更容易將其數(shù)據(jù)科學(xué)原型部署到生產(chǎn)系統(tǒng)中。相應(yīng)的開源工具,如Clipper和Ground(加州大學(xué)伯克利分校的RISE實(shí)驗(yàn)室的新項(xiàng)目),也開始出現(xiàn)。但是,我們?nèi)匀恍枰獢?shù)據(jù)工程師和機(jī)器學(xué)習(xí)工程師:他們有數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)方面知識(shí),了解如何在生產(chǎn)系統(tǒng)中部署和運(yùn)行數(shù)據(jù)產(chǎn)品,知道如何應(yīng)對(duì)機(jī)器學(xué)習(xí)產(chǎn)品面臨的挑戰(zhàn)。他們是終極的“機(jī)器學(xué)習(xí)循環(huán)中的人類”。
相關(guān)資源:
- 《什么是數(shù)據(jù)科學(xué)》?
- 《什么是實(shí)踐中真正在用的數(shù)據(jù)科學(xué)系統(tǒng)?》,Mikio Braun介紹如何將數(shù)據(jù)科學(xué)引入生產(chǎn)系統(tǒng)中
- “當(dāng)模型開始搗蛋:在生產(chǎn)系統(tǒng)中使用機(jī)器學(xué)習(xí)的難得的經(jīng)驗(yàn)教訓(xùn)”。即將到來的“Strata數(shù)據(jù)”紐約大會(huì)上的一個(gè)演講
- 《成為一名機(jī)器學(xué)習(xí)工程師》
- 《數(shù)據(jù)柔道——將數(shù)據(jù)轉(zhuǎn)換成產(chǎn)品的藝術(shù)》,DJ Patil著



