
簡介
人工智能在當前是一個有趣的行業,機器學習從業者現在在世人的眼中則是“酷孩子”。
但是,即使在這些“酷孩子”中,機器學習從業者群體之間也存在著明顯的區別。
更具體地說,這種區別是研究解決方案的人和設計解決方案的人之間的區別。
話雖如此,但是這一區別并沒有想象地那么明顯。
本文旨在揭示機器學習研究員和機器學習工程師之間的一些關鍵區別。
突出這兩種角色之間的差異,可以讓你獲得更好的學術和職業選擇所需要的信息。
在繼續進行之前,你需要注意的是,在本文中,我將使用“機器學習工程師和研究員”這個名稱作為以下角色的總稱:
-
計算機視覺工程師/研究員
-
自然語言處理工程師/研究員
-
數據科學家
七大主要差別
1.工作角色描述
機器學習工程師角色的主要工作包括在已實現的軟件/硬件解決方案中實現機器學習算法和模型。
機器學習研究者角色的主要職責是促進機器學習的特定或尖端學科領域的發展。
2.學術背景
機器學習研究員通常擁有博士學位。他們通常是具有很強的學術和研究背景的人。他們還擁有計算機科學相關學科的高級學位。
而大多數的機器學習工程師擁有碩士學位,他們中只有少數擁有博士學位。
為了了解機器學習工程師和研究員的學術背景,我在LinkedIn網站(https://www.linkedin.com/)上作了一番研究,我瀏覽了很多職位名稱為“機器學習研究員”、“機器學習科學家”或“機器學習工程師”的人的個人資料。
3.交付物/最終產品
機器學習工程師的可交付成果通常是一個機器學習模型的工程化解決方案,該模型能夠以自動化、高效或創造性的方式執行一組任務。
對于一個機器學習工程師來說,最終產品或可交付成果可以是一個軟件,其中的功能由機器學習方法提供支持。
而機器學習研究者的可交付成果通常是一篇寫得很好的研究論文,其中包括為在特定機器學習相關任務中,為實現性能/準確性的特定提升或改進而進行的實驗和調查研究的細節。
機器學習研究者的最終產品是對新發現、改進或分析的書面的研究成果,然后提交并被國際會議和科學期刊接受。
4.薪資
薪資可能是很多讀者最感興趣的關鍵區別。
機器學習從業人員的需求量很大,而為與機器學習相關的角色提供的薪水也反映了這一點。
例如,《紐約時報》在這篇文章中提到,頂尖人工智能研究人員的薪資已經超過了100萬美元。
顯然,在這個高要求的行業中,前0.01%的從業者獲得了極高的薪水。
下面讓我給出一些適用于大多數機器學習從業者的統計數據。
在英國,自2020年4月3日往前六個月內,機器學習研究員的平均工資為57,500英鎊。
而與此同時,機器學習工程師的平均工資為68,750英鎊。
因此在英國,兩個機器學習的角色之間有明顯的10,000英鎊的薪水差別。
根據LinkedIn上110個來自美國的機器學習研究員的薪資數據,美國的機器學習研究員的平均基本工資為143,000美元。
而對于美國的機器學習工程師來說,這個數字降到了125,000美元。這其中包含了900多名機器學習工程師的薪資數據。
就我個人而言,根據我對人工智能行業中與我一起研究和合作過的人的觀察來看,金錢動機并不是首要的。
接觸和了解知識的機會似乎對我們這個團體更有吸引力,包括對我自己。
簡單地說,年輕的機器學習工程師可能更關心吹牛的權利和影響力,而不是金錢上的激勵。
不管薪水是否足夠吸引人,誰不想成為一個FAANG公司的機器學習工程師或研究員呢?
當然,確實應該考慮到統計數據并不能準確地反映該行業的真實平均薪資,它們應該被用作指導,而非當作絕對事實。
5.工作/項目范圍
機器學習工程師需要看到全局。而機器學習研究者需要更加專注的視角。
軟件工程是一門學科,需要了解與產品,過程或管道(流程)相關的組件。這一點至關重要,因為工程師要負責集成多個組件。
以下是一個典型的機器學習工程師在項目期間要解決的一些問題:
-
了解機器學習模型使用的數據格式
-
了解從數據源接收到的數據格式
-
實現與數據池和數據庫的連接,以便存儲和訪問數據。
-
了解最終產品將要使用的環境,因為這可以決定分配的資源級別,以確保高效的運行時間和最佳的運行能力。
另一方面,機器學習研究員的工作范圍往往非常明確。機器學習研究員需要非常專注。
機器學習研究員無需擔心機器學習模型或算法在各種環境中的性能如何。機器學習研究員的工作往往非常注重問題和特定領域。通常情況下,他們的任務是負責尋找解決問題的新方法或提高以前設計的解決方案的性能和準確性。
6.工作角色要求
對于機器學習研究員的工作角色的描述和需求是精確的,并且集中在機器學習的特定領域。
機器學習研究員的典型職位要求包括:
-
擁有機器學習平臺和庫的知識,如TensorFlow、PyTorch、Keras等。
-
能夠進行文獻審查,并以精心編寫的研究格式呈現報告和實驗結果,以便提交給會議或科學期刊。
-
擁有機器學習特定領域的可靠知識,例如概率模型,高斯過程,強化學習等。
-
對機器學習的基本主題有深刻的理解,包括理論知識。
-
針對利基問題的最新技術的擴展。
機器學習工程師的典型職位要求包括:
-
了解云計算服務,如google Cloud Platform (GCP)和Amazon Web Service (AWS) 。
-
熟練使用JAVA、Python、JavaScript等語言進行編程。
-
具有將機器學習模型部署到生產環境中的經驗。
-
具有在移動電話等邊緣設備上部署機器學習模型的經驗。
-
能夠實施、評估和測試針對常見問題(如目標檢測、語義分割和圖像分類)的最新解決方案。
-
能夠從已發表的研究論文中提取關鍵細節和信息,并將結果傳達給項目相關人員。
-
具有執行數據挖掘腳本的經驗。
7. 重疊部分
機器學習研究員可以進行工程設計,機器學習工程師也可以進行研究。
成為一名機器學習從業者還意味著精通現代的軟件庫和硬件。機器學習(如果涉及多個學科)的職位名稱本身通常不能完整反映實際地職責分工。
我的研究表明,機器學習研究員在實際研究和工程設計之間的比重分配遵循70/30的比例。機器學習工程師則剛好相反,通常他們在工程和研究之間的比重分配為70/30。
同樣,我還可以證明,對于一個機器學習工程師來說,研究和工程設計是分不開的,因為在我目前作為計算機視覺工程師的角色中,我花了大量時間將機器學習模型工程化為解決方案,比如網站或移動應用程序。同時,我也花了少部分的精力在PaperWithCode 或 ReseachGate上搜索尋找針對我正在處理的特定問題的已發表的研究論文。
結論
我必須承認,還有幾個關鍵差別并沒有在本文中提及,但是在谷歌中做一個快速搜索,你就能夠得到相應的結果。
無論你選擇走哪一條職業道路,都必須承認這兩個角色都需要花費大量的時間和精力才能獲得,記住一點努力總是有回報的。
為了進一步了解作為一名機器學習工程師的感受,我在下面鏈接了兩篇文章,講述了我作為一名初創企業的計算機視覺工程師的第一天和第一個月的經歷。
-
我作為計算機視覺工程師的第一天的經歷(https://towardsdatascience.com/my-first-day-as-a-computer-vision-engineer-8b59750c79a0)
-
我作為計算機視覺工程師的第一個月的經歷(https://towardsdatascience.com/my-first-month-as-a-computer-vision-engineer-5813574d394a)