【思考】AI太热门,博士也不好找工作了吗,我是这样思考的
為什么突然想提到這個話題,是因?yàn)樵谀硨W(xué)習(xí)交流群里,我關(guān)注到幾個同學(xué)發(fā)出了兩張圖,意思是討論如今找工作算法崗位的不容易,甚至出現(xiàn)了博士也找個算法崗也不容易。
因?yàn)橐咔榈脑蚝汀懊聭?zhàn)”的環(huán)境下,很多企業(yè)都沒有以前那么輝煌,都是勒緊褲腰帶過日子。同樣,今年的幾百萬畢業(yè)生就業(yè)環(huán)境也是非常不明朗,以至于本來不想讀研讀博的同學(xué)轉(zhuǎn)而開始復(fù)習(xí)備考碩士和博士。
如此緊張的一個就業(yè)環(huán)境,對于多金的算法崗位,競爭就變得異常不容易。這里有人提到是否要轉(zhuǎn)開發(fā)崗。
因?yàn)殚_發(fā)的崗位相對算法崗位要多一些,反而要求沒有那么高。
對于到底做算法還是做開發(fā),知乎已經(jīng)有人回答了,我在末尾會給一些同學(xué)我自己的建議。
以下是知乎沈世鈞的回答,獲得1.7k贊同
我做軟件開發(fā)已經(jīng)20年,日常工作也與AI相關(guān),所以談一下自己的看法。
這兩年AI大火,導(dǎo)致很多畢業(yè)生跨專業(yè)(例如自動化、光學(xué)等)轉(zhuǎn)崗算法,這些人有個顯著的特點(diǎn)就是羨慕IT的高薪,但普遍受沒有受過通識的計(jì)算機(jī)教育(例如操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、C/C++編程等),但人夠聰明,數(shù)學(xué)不錯(但大部分都沒有學(xué)過高級算法),學(xué)編程吧,需要學(xué)的東西太多太雜,所以很多人都想抄“近路”來搞算法研究。這也客觀上造成當(dāng)前算法崗供大于求的局面。所以就人才招聘結(jié)果來說,“質(zhì)量”明顯不如以前了,原來名校的博士為基本要求,而今天985的碩士就可以了。
而且相比于軟件開發(fā),算法更吃腦力,對智力的要求更高,年齡越大挑戰(zhàn)就越大。我本人是做系統(tǒng)集成的,實(shí)踐中我的感覺是,隨著腦力的下降,首先感到力不從心的就是數(shù)學(xué),原來好多數(shù)學(xué)問題在腦子里過一遍就能想明白,但現(xiàn)在就需要畫圖才能理解。但編程就好多了,至少現(xiàn)在還沒有感覺明顯的衰弱,也可能是這多年已經(jīng)積累了好多代碼,很多時候把老代碼復(fù)制過來改改就能work的原因吧!
其實(shí),從去年開始,業(yè)界對AI的技術(shù)方向就已經(jīng)達(dá)成了共識,也就是深度學(xué)習(xí)+大數(shù)據(jù)+大計(jì)算,其中尤其以數(shù)據(jù)為重。可以說只要數(shù)據(jù)足夠,假以時日,大家的速度和精度都不會太差。現(xiàn)在大家比拼主要是算法變現(xiàn)的能力,也就是看誰能夠把算法變成產(chǎn)品銷售出去,因此今年我的感覺是,相對于純粹的算法,綜合性人才更稀缺,例如有既有產(chǎn)品思維,懂算法,懂編程的人。
AI在IT領(lǐng)域也不算個新鮮東西,但早先都集中在專業(yè)領(lǐng)域,更多是一些專家系統(tǒng)。感覺AI街談巷議,突然大火也就是這兩年的事,更準(zhǔn)確的說應(yīng)該是5年前,就在此時深度學(xué)習(xí)理論舊瓶裝新酒,從而迎來AI研究的集中爆發(fā)。但在深度學(xué)習(xí)框架搭成之后,接下來更多就是調(diào)參數(shù),喂數(shù)據(jù)。所以在相當(dāng)一段時間內(nèi),算法的研發(fā)重點(diǎn)轉(zhuǎn)向了數(shù)據(jù)的收集和清洗。
也就在這個時候,稍微打聽下,你就會發(fā)現(xiàn)業(yè)界很多到公司招聘的實(shí)習(xí)生,日常主要工作就是調(diào)下參數(shù),編寫一些數(shù)據(jù)收集工具(例如網(wǎng)絡(luò)爬蟲),甚至更倒霉一點(diǎn)就是每日用別人寫好的工具收集數(shù)據(jù),清洗數(shù)據(jù)。
深度學(xué)習(xí)框架搭建的早期階段,對算法工程師的要求是很高的,既需要精深的數(shù)學(xué)能力,同時又需要超強(qiáng)的編程能力。但在當(dāng)前,隨著各大公司的AI框架逐漸成熟,以及一些深度學(xué)習(xí)框架的開源(例如谷歌的Tensorflow),AI技術(shù)下沉的趨勢非常明顯,早已從幾年前的陽春白雪變成了下里巴人。
不幸的是,中國人干什么事都喜歡一哄而上,就像早些年全民學(xué)Android,學(xué)前端、現(xiàn)在又開始全民學(xué)算法。不是說人就應(yīng)該逆趨勢而行,但越是在大家都熙熙攘攘的時候,越是要保持冷靜,越是要問幾個為什么。一個很顯然的道理是:如果一個行業(yè)突然涌進(jìn)了這多人,至少有兩件事可以肯定,一個是這個行業(yè)門檻肯定不高,二是根據(jù)供需平衡原理,這個行業(yè)的未來行情必然會下行,不信各位看看現(xiàn)在的Android開發(fā)是否還復(fù)當(dāng)年的意氣風(fēng)發(fā)?
還是那句話:“只有在潮水退卻的時候,才知道誰在裸泳!”
以下為知乎熊風(fēng)回答,獲得1.2k贊同
我是機(jī)器學(xué)習(xí)方向的在讀研究生;本科時期在阿里實(shí)習(xí)過,實(shí)習(xí)職位是算法工程師。
對這個問題說一下自己的看法。說的不對的地方,還望各位同行指正。
首先,我覺得題主完全有資本去報(bào)阿里或者騰訊的算法崗。
如果題主的描述屬實(shí),那么題主算是一個基礎(chǔ)比較扎實(shí)的計(jì)算機(jī)學(xué)生了,而且對機(jī)器學(xué)習(xí)也是有一定程度的掌握。我本科拿到阿里算法工程師offer的時候,實(shí)力比題主差多了。
就我當(dāng)時實(shí)習(xí)的情況來看,阿里的算法工程師賴以立足的還是工程能力,能干活、能搬磚才是硬道理。某一個機(jī)器學(xué)習(xí)的算法不會,學(xué)幾個小時或者幾天就足夠了,應(yīng)用一個算法、會調(diào)參數(shù)的門檻并不高。而且實(shí)際工作里用的最多的還是那些很經(jīng)典、很基礎(chǔ)的機(jī)器學(xué)習(xí)算法(邏輯回歸,決策樹之類的)。
而且如果你做的是數(shù)據(jù)挖掘,推薦系統(tǒng)之類的,你也應(yīng)該知道你做的其實(shí)是特征工程。很多時候,復(fù)雜、高深的模型效果不一定好;能讓結(jié)果效果有很大提升的往往是特征的提取和選擇。所以比起算法和模型本身來說,對數(shù)據(jù)、對業(yè)務(wù)的理解其實(shí)同等重要甚至更重要。
正面回答你的三個問題:
(1)以我現(xiàn)在的機(jī)器學(xué)習(xí)情況準(zhǔn)備算法崗位(阿里或者騰訊)的話,是否有資本一搏?如果有資本,那還需要怎么準(zhǔn)備才能更穩(wěn)一些?
有資本。
如果你還想更穩(wěn)一些,不妨做一些數(shù)據(jù)挖掘類的項(xiàng)目或者競賽。比如阿里天池平臺上的競賽天池大數(shù)據(jù)競賽 或者kaggle上的一些比賽。據(jù)我所知,BAT的算法崗還是非常認(rèn)可這些競賽的。特別是天池上的一系列競賽,不僅獎金高,做得好的也基本能穩(wěn)拿阿里算法崗的special offer
如果你覺得做競賽太耗時間了,去github上follow一些比較有意思的機(jī)器學(xué)習(xí)項(xiàng)目也是不錯的選擇。總之,有意識地加強(qiáng)一下自己機(jī)器學(xué)習(xí)實(shí)踐方面的背景吧。
另外,并行計(jì)算、分布式系統(tǒng)也在算法工程師的技能樹里面。如果你有時間也可以學(xué)一下spark之類的,比較推薦伯克利的一門課。
參考SS Wang的知乎回答零基礎(chǔ)自學(xué)如何成為合格的數(shù)據(jù)挖掘工程師? - 數(shù)據(jù)分析:
1. BerkeleyX: CS190.1x Scalable Machine Learning CS190.1x Course Info
這門課是伯克利開的,教機(jī)器學(xué)習(xí)基礎(chǔ)、Python Spark實(shí)現(xiàn)。我很懂機(jī)器學(xué)習(xí),但不懂spark和python,花了1周多時間看完視頻、做完作業(yè)。如果沒機(jī)器學(xué)習(xí)基礎(chǔ)的話幾周應(yīng)該夠了。學(xué)完了可以用spark處理大數(shù)據(jù),做分類、推薦系統(tǒng)。
這門課包含了機(jī)器學(xué)習(xí)基礎(chǔ),python spark實(shí)現(xiàn)。學(xué)這門課的時候記得做作業(yè)。
(2)想轉(zhuǎn)機(jī)器學(xué)習(xí)是因?yàn)橛X得開發(fā)崗位沒有算法有意思,覺得搞算法更容易比寫代碼創(chuàng)新,也更接近與科研性質(zhì)。這樣的想法(針對阿里或者騰訊)是否正確?
我覺得并不正確。以我所見的情況,阿里、騰訊的算法工程師一般不會涉及到算法創(chuàng)新;這部分工作可能會專門挖名校PhD甚至名校教授來做。MSRA、百度IDL這種地方倒是挺接近科研性質(zhì)的;但我阿里實(shí)習(xí)期間的見聞,算法工程師做的還是工程,并非科研。
而且雖然你的title是算法工程師,但并非你就只做和算法相關(guān)的事。本質(zhì)上,算法工程師也是一塊哪里需要往哪里搬的磚。如果你的項(xiàng)目組需要你干別的活,你當(dāng)然也要承擔(dān)起別的和算法完全無關(guān)的工作。比如我實(shí)習(xí)期間,因?yàn)槲业闹鞴芟敕治鰟e的網(wǎng)站的數(shù)據(jù),就讓我去干了一些爬蟲的活。有一段時間我天天都是忙著從別的網(wǎng)站爬數(shù)據(jù)。
所以,不要太介意“算法工程師”“數(shù)據(jù)科學(xué)家”之類的title,對于應(yīng)屆生來說能干活才是硬道理。
(3)在各位大牛周圍是否有人從寫代碼轉(zhuǎn)到過算法崗,有沒有經(jīng)驗(yàn)可以告訴我
有,而且還不少。我當(dāng)時的那個組是阿里某個部門的算法組,里面的大多數(shù)人title都是算法工程師。但不少人都是從開發(fā)崗轉(zhuǎn)過來的;畢竟幾年前, 機(jī)器學(xué)習(xí)還并不是很火。
另外,就我觀察到我的同學(xué)找工作情況,研究生期間并沒有什么機(jī)器學(xué)習(xí)方面的項(xiàng)目背景,但拿到BAT算法崗的例子也是不少的。
總之,其實(shí)本科生/研究生去公司做機(jī)器學(xué)習(xí),和PhD去企業(yè)做機(jī)器學(xué)習(xí),是不同的概念。
那些發(fā)了很多頂會甚至已經(jīng)做出有影響力的成果的PhD(比如 @田淵棟@賈揚(yáng)清@Naiyan Wang@Filestorm 等等),他們?nèi)ス咀鰴C(jī)器學(xué)習(xí)是做research scientist. 他們做的工作,和本科/碩士生做的算法工程師,并不是同一回事。
更新:
賈揚(yáng)清大牛在評論里補(bǔ)充了一些看法。我覺得很值得參考,所以把這一段搬到我的回答里:
其實(shí)算法崗和開發(fā)崗的區(qū)別并不很大,比如說我現(xiàn)在負(fù)責(zé)開發(fā)Facebook的人工智能底層平臺,并不是單純的research就可以,同時也需要保證開發(fā)的系統(tǒng)可以在百億級別的數(shù)據(jù)上進(jìn)行快速深度學(xué)習(xí)的訓(xùn)練,這個沒有系統(tǒng)開發(fā)的支持是很難做到的。我們現(xiàn)在招人,都會注意開發(fā)產(chǎn)品級別的代碼的能力,所以很大程度上應(yīng)該是算法和代碼能力并重,甚至一定程度上代碼能力比算法能力更重要。
?
以下是我個人的建議,歡迎閱讀,同意請贊
算法崗位其實(shí)在很多公司做的事情的確并不是純研究的算法優(yōu)化工作,的確有很多工程問題需要解決,以至于很多算法工程師還花大力氣做了很多數(shù)據(jù)清洗的工作或者標(biāo)注的工作,所以咱們要認(rèn)清自己的實(shí)力,到底是個什么level心里要有數(shù),或者高精尖的研究部門在你沒畢業(yè)就已經(jīng)盯上了你,否則只能說你的層面可能還沒到。所以,不要覺得非要算法崗位,我一定要研究新框架,新算法,新模型。真喜歡人工智能,我們也可以在AI這個領(lǐng)域圈子干活,開發(fā)也是這個圈子,而且開發(fā)轉(zhuǎn)算法也是可能的,只要是這個圈子機(jī)會還多的是。
第二個建議,要找算法崗位我們不一定要只盯著互聯(lián)網(wǎng),不妨把我們的目光放到工業(yè)領(lǐng)域,制造領(lǐng)域,實(shí)體經(jīng)濟(jì)中。雖然這些行業(yè)可能并沒有互聯(lián)網(wǎng)高大上,但是這些領(lǐng)域里面有著非常多的機(jī)會,非常可觀的經(jīng)濟(jì)效益。而且也是很少被關(guān)注到的,就拿我了解的工業(yè)質(zhì)檢這塊,就是一個非常難啃但又是經(jīng)濟(jì)效益巨大的痛點(diǎn)。所以,眼界打開一點(diǎn),別瞧不起一些工廠,說不定互聯(lián)網(wǎng)的紅利就會轉(zhuǎn)移到制造業(yè)中來。
別的不再多說,希望每個努力的朋友,或者希望用AI改變世界的朋友如愿以償。
歡迎添加我的二維碼一起交流
總結(jié)
以上是生活随笔為你收集整理的【思考】AI太热门,博士也不好找工作了吗,我是这样思考的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 引擎之旅 Chapter.1 高分辨率时
- 下一篇: Go调度器系列(3)图解调度原理