【我們為什麼挑選這篇文章】當一位機器學習工程師會遇到什麼困難?又有哪些業界工作者才知道的真相?Reddit 機器學習社群上有網友給了切身的分享,可以給想從事/轉職機器學習領域或正在機器學習界苦惱的讀者參考。(責任編輯:賴佩萱)
本文經 AI 新媒體量子位(公眾號 ID:QbitAI)授權轉載,轉載請連繫出處
作者:量子位
機器學習工程師崗位,還吃香嗎?
在培訓機構或求職網站隨便一搜,機器學習簡直不熱。
近日,國外的同行們在一則 Reddit 熱帖上,吐槽揭露 ML 工程師「表面光鮮,實際搬磚」的一面,說出了培訓機構不會告訴你的機器學習業內真相。
那這些「過來人」怎麼掉進一個個暗坑的?他們的經歷對你有什麼警醒借鑒的意義呢?
怎麼樣避免淪為打雜人員?
Reddit 熱帖下,網友們吐槽最多的,就是學習和工作的巨大差距產生的幻滅感。學了一大堆高上大的理論知識,以為自己能上手酷炫的神經網路,調參、訓練、部署一條龍,但實際上,這些內容大概只佔全部工作的 10%-20%。
而且在一些團隊中,會有專門的崗位來負責這些工作。
其餘大部分人的職責是收集數據、給數據打標籤、處理數據質量,或者用 Python 寫基礎架構。
當年夢中的那個引領 AI 潮流的少年,就這樣成了數據標註師。
但是,網友也承認這一點確實是業內的普遍現象。而且,剛剛工作的新手,從低層技術開始做起,也是符合常理的。
大家的建議是: 面對這種大量重複勞動,先別急著上手,去查一查資料,很多類似工作已經有成熟快速的方法 。
當你跨過了基礎工作這一關,要面對的,是 ML 項目中可能出現的各種令人頭疼的問題,而這,是考驗你能否成為優秀機器學習工程師的重要挑戰。
機器學習路漫漫,要怎麼不吃虧?
哪些在工作崗位上很重要的東西,是機器學習課程不會教你的?
網友們總結了最重要的 4 條:
- 正確認識業務
- 處理凌亂的現實世界數據集
- 工程導向,而不是在 Jupyter Notebooks 中編寫研究程式碼
- 資料可視化
這些都是網友們在工作經歷中吃了很多虧後,總結出的經驗。
比如,很多 ML 工程師只有給定一個抽象化的問題才能上手,缺乏應對實際工程問題的能力,但一個合格、被業內認可的機器學習工程師,他可能並不精通演算法的數學原理,而是 能夠在約束條件眾多的實際情況下應用演算法解決問題 。
比如,在很多情況下,普通的舊演算法(例如 K-Means,高斯混合的 EM 等)非常有用,燒 GPU 並不是唯一辦法。
避免紙上談兵,是機器學習工程師正確認識業務的一部分,除此之外,重要的還有合理的工作時程規劃,和良好的溝通能力。
機器學習工作變數多,心臟要很強!
規劃傳統工程項目時,設定里程碑、期望值是(相對)簡單的,但對於機器學習專案來說,在最初目標和前期階段之後,很難給出具體的計劃,因為變數實在太多了。
這就需要在專案初期階段就保持頭腦清醒,不要給自己挖坑,同時也要和 boss 以及同事說明溝通。
一位網友談到了切身體會。他放棄了機器學習演算法職位,原因是老闆根本不關心他為了完成演算法細節付出的艱苦勞動,只看最後的可視化效果。
當 boss 發現可視化效果並不高級時,認為他一直在浪費時間沒好好工作;所以, 比其他軟體工程師更強的抗壓能力,也是你必備的 。
如果你能抗過以上所有挫折和困難,還有艱難的一關要過。
打破機器學習界的謊言
- 任何人都可以輕鬆成為數據科學家/機器學習工程師
- 軟體工程師可以輕鬆成為數據科學家
- 學習應用「現成庫」就可以輕鬆上手搞 AI
- 搞 AI 無需學習高等數學/統計學
- 一種特定演算法可以應用於任何領域並獲得成功
這些,就是 Reddit 網友當年少不更事是信過「鬼話」、踩過的坑。
那麼,真下決心走機器學習這條路,應該相信什麼呢?
首先是要對行業現狀有大致了解。對於普通開發來說,機器學習崗位數量要比其他開發崗少很多。網友反映,在北美地區,100-150 個後端開發的公司可能只有有 2-5 個搞 AI 的人。
其次,是很多有 AI 需求的公司沒有必備的 GPU 等基礎設施,你去了才發現只能使用免費的 Collab。
從個人求職角度講,ML 專案大多比較專,比較小眾。你之前的專案經驗,全國可能只有幾家公司感興趣。
明白了這些,你還要清楚怎樣正確地踏入機器學習的門。
除基本數學能力外,持續精進專業知識和跨領域的能力很重要
多數有 AI 需求的公司,要求的是後端+DevOps+AI+前端這樣的一體化崗位。這就需要你的整體能力。
編寫,測試,部署,在生產中追蹤模型、構建大規模數據是一個競爭力出眾的機器學習工程師必備的。
而這些能力的基礎要求,就是數學。你當然不需要像搞科研那樣精通數學。但紮實的高數、概率論、統計學基礎必不可少。
對於有些課程打出不需要任何基礎就能上手 AI 的,Reddit 網友直接說:「沒有數學基礎和過往程式經驗的人,寫出的程式是十分可怕的。」
當然,數學基礎再好,程式寫得再漂亮,也只是一個優秀的機器學習工程師。真正的大佬,是不會止步於此的。
一位現在在搞神經科學的網友給出了獨到的建議:如果想做真正創新,有趣的工作,那麼僅憑機器學習知識是不夠的,還需要其他專業知識。
在特定環境中,清楚需要用那種 ML 演算法來結解決問題,並且能高效處理數據,這樣才能讓你做出行業內獨樹一幟的先進成果。
以上就是 Reddit 機器學習社群的過來人給大家的忠告。
(本文經 AI 新媒體量子位 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈「表面光鮮,實則搬磚」,機器學習社區自嘲不為人知的 AI 工程師真相 〉。)
你可能會有興趣
- 【資料人福利來囉!】30+ 免費平台大公開!機器學習數據庫、政府企業報表全整理給你
- 開發「機器學習」模型老遇瓶頸?五篇超強論文帶你看最新 AI 研究趨勢
- 【善用機器學習,請你跟我這樣做!】2020 年,沒有資料科學背景照樣能用機器學習開發!