普林斯頓鄧嘉學生親述:一定要博士學位?不,我本科生也能在大廠當應用科學家
編譯 | 王曄
科研界的學歷內卷早已不是新鮮話題,博士後文憑更被認為是進入高校任職不可或缺的條件之一。以至於青年學生有這樣一種感覺:高校尚且如此,進大廠做研究也是博士以上學歷最佳吧?
不過,近日有一位正在亞馬遜擔任應用科學家的華人研究者發表了一篇文章,親述了他如何在本科畢業後僅拿着學士學位進入大廠做研究的經歷。
一句話總結:很難,但也不是沒有希望!
這位華人的名字叫 David Fan,2019年本科畢業於普林斯頓大學計算機系,輔修統計學與機器學習,本科期間曾受鄧嘉指導,在ICCV上發表過計算機視覺相關的論文。此外,他曾在羅格斯大學物理系、羅格斯新澤西醫學院、哈佛醫學院與普林斯頓大學視覺與學習實驗室等機構做過研究。
圖注:David Fan(圖源:個人主頁)
據其主頁顯示,他在2018年8月加入亞馬遜,先是在亞馬遜網頁服務(Amazon Web Service, AWS)擔任軟件工程師實習生,2019年8月轉正,然後在2020年7月正式入職亞馬遜擔任研究工程師、2021年5月轉為應用科學家。
他是如何做到的呢?AI科技評論對其自述做了不改原意的整理與編譯:
我目前是一名應用科學家,在亞馬遜擔任全職的機器學習(ML)研究員,而且我並沒有博士學位。在這裏,我參與了研究創新難題,與聰明又上進的同事一起工作,在做我喜歡做的事情的同時,還能獲得高額的行業薪酬。
瞭解到還有很多人對機器學習感興趣,但網上關於如何從軟件工程過渡到機器學習的指導卻很少。所以,我發表了這篇文章,分享我從大學進入軟件工程領域,再到後來成為機器學習研究員的歷程,希望能夠有借鑑指導意義。
雖然這篇文章只是針對我個人的經驗總結,但我相信有一些要點是適用於每個人的。
我的大學之旅不是一條一成不變的直線,導致我對機器學習的研究起步較晚。
剛進入普林斯頓大學那會兒,我對計算生物學研究有着濃厚的興趣,一直堅持研究該方向,直到大三。那時候,我突然意識到自己過於專注在生物領域了,我想發展能解決更多領域問題的技能。
於是,我開始對機器學習感興趣,特別是具有現實應用意義的計算機視覺。
然而,那時我也只上過機器學習課程,缺乏實踐經驗。我的三段實習經歷(羅格斯大學物理系、羅格斯新澤西醫學院、哈佛醫學院)也都是有關生物信息學和軟件工程的,第一次獨立提出研究的項目也是關於生物信息學的。
當時普林斯頓大學只有少數老師從事計算機視覺和深度學習方面的研究,他們的實驗室也沒有更多接納本科生的空位了。
幸運的是,大四前的那個夏天(2018年),我與一位新聘用的助理教授(鄧嘉)取得了聯繫,併成為了第一批加入他的實驗室的學生之一。
2018年的夏天,我查閲論文、參加Kaggle比賽(座頭鯨識別比賽)等自學深度學習,還有閲讀文獻、以準備畢業論文的構思。
在我第一次跟導師見面時,我就告訴他我想研究一個有望發表論文的項目,因為我知道無論是申請讀研究生還是參加工業界的機器學習職位招聘,我都需要有論文發表成果。所以他就安排我與一名高年級的博士生一起做了一個3D視覺研究項目。
在課程都是滿的情況下,我堅持平均每週拿出25個小時用來研究。雖然我對這個領域幾乎完全陌生,但通過努力我很快就跟上了進度,這些工作也為我的畢業論文做出了重要貢獻。
畢業周前夕,我們向 NeurIPS 提交了一篇論文,但遺憾的是,這篇論文被拒了。但那年夏天我們又進行了更深入的研究,這篇論文後來也被 CVPR 接收了。
畢業論文的研究經歷重燃了我對研究的熱情,我決定把機器學習研究作為我的事業。
當時我已經收到了亞馬遜軟件工程方向的應屆畢業生offer。然而,我沒有任何把握可以得到研究機器學習的職位。那時,我的論文尚未被CVPR 2020接收,所以我當時唯一發表過的論文是生物學和物理學方面的研究。我沒有具體的成果可以證明我在ML研究方面做出過有意義的貢獻。
於是,我決定先嚐試加入機器學習基礎設施團隊,希望先在該領域獲得一些工作經驗,為以後的職業生涯打基礎。
我認為,與大多數缺乏研究經驗的工程師相比,我對機器學習軟件生態系統的瞭解是我的優勢;而與缺乏產出經驗的科學家相比,擁有端到端交付的能力又能使我脱穎而出。
儘管亞馬遜應屆畢業生通常都是服從團隊的職位安排,但我還是給招聘經理發了郵件,想通過網絡聯繫進入亞馬遜網絡服務(AWS)的雲機器學習部門。
後來,我加入了SageMaker組,該團隊主要負責銷售機器學習一體化雲平台。在SageMaker,我為降低深度學習模型的實時推理成本和延遲工作了一年。我還為一項關鍵功能的發佈做出了貢獻,並撰寫了隨附的AWS官方博客文章。
相關鏈接:https://aws.amazon.com/cn/blogs/machine-learning/reduce-ml-inference-costs-on-amazon-sagemaker-for-pytorch-models-using-amazon-elastic-inference/
不久之後,我的畢業論文被CVPR接收並發表了。至此,我在大學畢業大概一年後既有了一篇頂級ML會議的論文,也有了一項新功能發佈的成果。
研究按計劃推進,此時,我有了足夠的籌碼與亞馬遜的ML研究團隊交談。
有趣的是,在我即將晉升二級軟件工程師時,我對原本的計劃有了動搖。
由於我當時的團隊不屬於研究團隊,所以如果我想做研究,就必須轉到研究團隊,但換團隊就要重新調整晉升時間。當時我的朋友和同齡人都已經開始升職了,我不想成為最後一個升職的人。
我也開始懷疑,如果沒有博士學位,我是否能夠在機器學習研究上取得成功?
我與亞馬遜的科學家以及一些有研究背景但最終選擇從事工程的工程師一起喝咖啡、聊天,期冀從他們那裏能夠獲得一些建議。
一方面,很多人告訴我,我唯一的選擇是重回學校,讀一個研究型的碩士,最好是博士。
另一方面,也有一小部分人給了我鼓勵。他們説我可以進行內部調動,並且他們也知道一些成功調動的例子。
但總的來説,這些談話加深了我的疑慮,因為如果我失敗了,我不僅會丟掉早期的晉升機會,而且還會 “浪費”我生命中的幾年時間。
經歷自我思考後,我才意識到我的擔憂在很大程度上是膚淺和瑣碎的。當一個人需要承擔更少來自家庭等的個人責任時,其實他更容易在人生早期進行諸如轉換職業道路之類的冒險賭注。
我意識到我不會因為沒能在研究中取得成功然後轉回軟件工程而後悔,但如果沒有嘗試ML研究我會非常後悔,因為我相信自己有能力可以取得成功。我的競爭好勝心又使我無法接受延遲晉升。
但幸運的是,我能夠認識到職業發展是一場馬拉松比賽,而不是四百米短跑。投資於長期成功而不是短期成功不僅會讓我更快樂,而且還能更好地迎接ML變得更加無處不在的未來。
於是我開始在亞馬遜內部尋找 ML 研究團隊,並與一位剛在Prime Video成立新團隊的經理取得了聯繫,該團隊致力於用機器學習理解視頻。
由於我沒有碩士和博士學位,所以我不能直接面試應用科學家的職位,但我可以面試研究工程師。因此,我做了一個研究工程師的內部面試,包括一輪 ML 算法面試和一輪編碼面試。
在這個過程中,我親歷了令人驚訝的學位偏見。雖然我通過了兩輪面試,但後來我被告知,包括我的經理在內的一些人都因我沒有碩士和博士學位而表示擔憂。
儘管如此,我的轉組申請最終還是得到了批准,併成為了團隊的第一個員工。2021年5月,我開始全身心地投入到成為一名ML研究科學家的目標中。
在以研究工程師的身份加入Prime Video後,我的下一步計劃是通過內部調動成為一名應用研究科學家。
由於亞馬遜的應用科學家大多擁有博士學位,因此我需要證明自己完全有能力獨立完成普遍認為博士生或優秀碩士生水平才能完成的研究。然後我再對這些研究項目進行總結,並以晉升文件的方式收集同行的反饋,以便申請調動。
大多數應用科學家都是外部聘用的,很少有工程師能在內部成功轉型,特別是學位上還存在偏見,因此,機會對我來説是很難得的。
很長一段時間我都感覺自己身處迷霧之中,因為沒有人能指導我完成這個過程。
通過推測成為一名研究科學家的必備要求,並評估我距離這些要求的差距,我制定了一個規劃圖,爭取在日常工作中少做工程項目,多做ML研究。
然而,事實證明,執行這個計劃比預期要困難得多。儘管我的經理支持我爭取成為一名研究科學家,但公司的業績要求使我難以追求自己的職業目標。如果我作為一名工程師佔用了公司太多的時間來做研究項目,這自然會導致我的工程成果比其他工程師少。從績效評估的角度來看,這是非常不利的。
找到兩者之間的正確平衡是一個微妙的過程,我需要經常與領導討論要求和目標,並在工作之餘投入大量時間從事研究項目。
幸運的是,我在新冠疫情爆發期間完成了這一轉變,因為分心的事情和社交活動比平時少得多。如果不工作更長時間,我很可能無法收集到足夠的研究數據和同行的反饋意見,更不可能轉為應用科學家。
這期間,我參與的一個研究項目是與另一組的一位首席科學家合作,這位科學家能夠提供反饋意見,為我的調組申請助力。在這個項目中我做出了新的貢獻,幫助開發了一個最先進的用於電影場景分割的自監督模型並完成部署,這也是我的第二篇CVPR 論文,並在全公司進行了主題演講。
論文鏈接:https://arxiv.org/pdf/2104.13537.pdf
在這之後,我寫了一份轉組文件,並通過了一位資深科學家的技術評估。
儘管我有所有的可交付成果來證明我符合應用科學家的要求,但由於要對我的文件進行內部審查,我的轉組被推遲了。
直到2021年5月,在我進入機器學習領域3年後、也是我加入Prime Video11個月後,我轉為應用科學家的申請終於被批准了!
現在,作為一名應用科學家,我領導着前瞻性的研究,這些研究有可能為Prime Video等產品帶來新功能和優化。我用約一半的時間來開發和生產支持新功能的機器學習模型,剩下的時間花在可發表的研究和撰寫論文上。
與我當工程師那會兒相比,我現在對自己的工作方向有更多的自主權和所有權,這也給了我更大的成就感。
機器學習研究是我現在夢寐以求的工作,我非常幸運能夠通過做我喜歡的事情來獲得報酬。
如果你是一名學生並且確定對ML研究感興趣,那麼你目前所能做的最好的事情就是獲得已發表論文的研究經驗和共同作者身份,甚至是第一作者身份。
你也可以和有興趣合作的教員交談,看看是否有項目需要幫助進行實驗。有時教師太忙、無法直接回答或指導你,在這種情況下,你可以嘗試尋找在項目方面需要幫助並願意與你合作的研究生。
學習額外的課程是有幫助的,但收益會遞減,因為進行研究所需的大多數知識都是高度具體的,最好通過閲讀相關論文和通過實踐進行動手實驗來學習。
如果你已經要畢業並且沒有研究經驗,那麼可以進行一到兩年以研究為中心的碩士學習。當你可以在行業工作中獲得經驗和報酬時,以課堂為重點的碩士課程並不是對時間的有效利用方式。
是否要攻讀博士學位是一個複雜的話題,但基本上我不認為博士學位對於行業研究中的職業發展是必要的。只有當你想要有高度專注的時間來解決一個非常具體的問題,並且有興趣之後成為一名教授時,博士學位才是一個不錯的選擇。
同樣,如果您在行業中並沒有研究經驗,要麼可以選擇讀碩,繼續以研究為重點,要麼你也可以像我一樣嘗試在內部進行轉組,先加入一個研究團隊,成為一名軟件工程師,然後逐漸贏得更多的研究工作機會。
當你的學歷不滿足崗位要求時,內部調動比外部申請要更容易,因為招聘系統是高度自動化的,並且經過了優化、可以最大限度地減少誤報。但第二個選擇的缺點是,在公司內部發展時,你需要花時間來建立聯繫並贏得信任。
對你有利的一點是,工程經驗對於可擴展性迭代實驗很有價值,並且通常會讓你比純粹的科學家更有優勢(尤其是經驗方面)。
無論你在哪裏,你都需要算力來做ML研究,而ML研究的計算量越來越大。如果你沒有機會進入學術界或工業界的計算集羣,我會建議你建立自己的PC,並做一些諸如ML 會議主辦的競賽之類的輔助項目,以跟上ML的發展速度,發展綜合能力。我認為Kaggle比賽也是一個公平的學習選擇,但不是培養綜合能力的理想之選,因為這些項目通常與學術文獻相關性不大,而是更側重於現實世界的使用,與NeurIPS等ML會議主辦的比賽形成了鮮明對比。
回顧我在亞馬遜至今的經歷,我可以想到以下主要教訓:
我是唯一一個可以決定我的事業走向的人。作為一個剛畢業的學生,我不理解我的經理的激勵措施,當他們沒有給我想要的項目時,我經常怨恨他們。當時我不明白、後來才知道的一點是:我不應該期望別人為我出力。我需要為自己而戰,創造我想要的機會。
運氣=準備+機會。雖然我很幸運得到了加入Prime Video的機會,但我之前也做了充分的準備,通過我的努力工作和人脈來利用這個機會。
規則很少是一成不變的。雖然博士學位是機器學習研究工作職位的硬性要求,但學位只是能力的代表。博士學位預示着一個人很可能有能力做獨立的研究,但也有很多人沒有博士學位,卻做了了不起的工作。歸根結底,唯一重要的是你是否可以完成工作。學位可以使你更容易被僱用,但一旦你被僱用,沒有人在乎你有什麼學位。當對要求有疑問時,試着從招聘經理的角度思考這個角色的職能職責是什麼。在我看來,這同樣適用於MBA和其他專業學位。
做你自己喜歡的事。有些人主張為生活而工作,然後在工作之外做自己喜歡的事情。我認為這也可以,並且我很欽佩那些能夠實現它的人,但我發現這對我而言具有挑戰性。當我剛開始在亞馬遜的一個非研究團隊工作時,我試圖在工作之餘保持對研究論文的關注,但這並不持久,因為工作已經耗費了我大量的精神和體力。當我的激情與我的工作交織在一起時,我就會更有動力提高自己。
原文鏈接:https://medium.com/@davidfan/entering-industry-ml-ai-research-without-a-phd-e56761979c8f
雷峯網