自學機器學習,怎么才能找到工作啊?至少要避開十大雷區
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
做機器學習工程師,通常都要讀過博。
即便沒有寫成崗位的必要條件,也慢慢變成了自然規律。
那自學成才的人類,要寫怎樣的項目經歷,才能讓面試官相信,自己也是有同等能力的呢?
一個叫做AdditionalWay的網友,在Reddit提出了這個直擊靈魂的問題,引發了大量討論,兩天熱度已經超過500。
討論版上,有許多人提出了中肯的建議:
工業界需要的技能
有位叫做po-handz的網友,他發表的意見收獲了80分的高贊同,占據了評論區的頂樓:
把自己的項目投入生產環節 (launch into production) ,就能超越99%的應屆生,也能超越大部分在位的ML工程師了。
對此,有人 (moravak) 表達了墻裂贊同:
這個“大部分”,其實就是≥99.9%。

頂樓又補充說,很多人就算讀到博士畢業,可能也沒有自己把一個項目做到生產環節的經驗。
那么,怎樣才算有這樣的經歷呢?
網友 (BernieFeynman) 簡約地解釋了一下:
搭些模型,不用非常非常厲害。但要讓人能看到,模型在哪跑起來的樣子,比如有個API可以調用之類的。
當然,做起來并不是一句話的事,頂樓詳細描述了,一整個過程究竟能有多難:
比如,一般你不會只有一個模型,是有一組。所以,需要讓這些大模型,加載在服務器的RAM上。還要接受新輸入的數據。這些數據,要和測試數據的格式保持一致,還要scale,該怎么scale呢?推理要用GPU么?那樣的話在AWS上每月可能要花1000刀,預算能支持么?時序數據怎么辦呢?你需要一個連續更新的模型,還要一直跟蹤調參。除此之外,你需要一個實時的、可維護的數據管道 (data pipeline) 。搞這個,比處理一個清晰干凈的數據集要難多了。最后的最后,你還需要一整套UI,網站,nginx堆棧,要做成用戶友好的樣子。
別說是剛畢業的博士,許多有經驗的數據科學家也對這些東西一竅不通,因為他們可能只在自己專業的領域里工作,都是別人把干凈的數據集交到他們手上。

你如果在這點上打贏他們,對企業來說就有更高的價值了。
簡歷不要踩雷
訓練實用技能,只是一方面。
如果不想在簡歷篩選環節見光死,網友 (rudiXOR) 在一家“正在招聘ML工程師的中型企業”,總結了十大雷區,供大家參考:
第一,拿著一大堆MOOC證書。沒用,我試過,quiz一路點下去誰都做得到。第二,對Kaggle成績過于自豪。許多大學生都參加過Kaggle比賽,他們也知道這種比賽和ML工程師的工作,基本沒什么共同點。第三,去了3個月訓練營,從PCA到LSTM,幾乎所有ML技術都修煉到了。真的沒人相信。第四,GitHub項目都是只提交過一次代碼的那種。根本看不出是不是自己做的。第五,GitHub主頁是新的,一個項目都沒有。第六,模型只在toy datasets上測試過,沒有再嚴肅點的項目了。第七,每種語言都說“精通”。比如C++、Python、Java、C#……第八,對照職位要求精心匹配了簡歷 (“Buzzword optimization for HR algorithms”) 。第九,沒有證明自己的數學/統計學知識水平。第十,沒有軟件開發的經歷。

就算前九條你都忘了,也可以嚴肅地參考第十條。網友在細數了雷區之后強調:
如果你是自學的,不要一上來就投數據科學家,或者ML工程師。可以先申請數據分析師,或者軟件工程師。如果是自學ML,又沒有軟件開發的經歷,我是不會請你的。
參考前文,如果沒有讀過博士,就要比博士多點工業界的經驗才更有利。
One More Thing
不過,自學什么時候都不晚。
比如,谷歌大腦的研究員David Ha,在投入機器學習的懷抱之前,已經做到高盛的董事總經理 (MD) 了。
那么,各位也要加油啊。
Reddit討論版還有更多建議:
https://www.reddit.com/r/MachineLearning/comments/c3e9qu/d_those_who_hireinterview_for_machine_learning/