最近閑來無事,老潘以一名普通算法工程師的角度,結(jié)合自身以及周圍人的情況,理性也感性地分析一下極市平臺前些天發(fā)布的2020年度中國計(jì)算機(jī)視覺人才調(diào)研報(bào)告。
以下的“計(jì)算機(jī)視覺人才”簡稱“人才”,感覺說人才有點(diǎn)怪怪的感覺?自己也算人才么?老潘只不過是一個(gè)普普通通的算法工程師罷了(逃)。
這個(gè)報(bào)告一共分為幾個(gè)方面,用大白話講一下就是:
..都是你想知道的。
再次聲明,該報(bào)告是由極市平臺、中國圖像圖形學(xué)學(xué)會(huì)以及Deloitte聯(lián)合發(fā)布。以下圖片內(nèi)容來源于報(bào)告,未做任何修改。一共34頁的報(bào)告PDF,感興趣的,公眾號回復(fù)“000”即可。
哎呀,廢話不多說,開始分析(吐槽)吧。
先看下人才分布?
調(diào)研人才分布中碩士和本科占比80%
挺正常,碩士做算法工程的更多,博士做算法研究的更多。一般在互聯(lián)網(wǎng)公司中,大部分都是碩士做算法工程師,來的實(shí)習(xí)生也都是碩士研究生,當(dāng)然也有少許的本科生,特別優(yōu)秀的本科生應(yīng)該也是可以做算法工程師這個(gè)崗位的。
研究生相比本科生的優(yōu)勢可能是:
回想起當(dāng)年本科生的時(shí)候,大家都是湊錢參加比賽,所有設(shè)備都是隊(duì)員們慘兮兮地從生活費(fèi)中一點(diǎn)一點(diǎn)扣,買個(gè)主控板都要精打細(xì)算。拿不到好獎(jiǎng)項(xiàng)(獎(jiǎng)金)的時(shí)候也常常入不敷出。
不過那會(huì)大家都很開心,畢竟是真正的熱愛,當(dāng)年熬夜通宵的日子現(xiàn)在也一去不復(fù)返了。
本科生與研究生做項(xiàng)目的區(qū)別還有一個(gè):本科生沒有約束,作比賽更多的是憑著興趣,是主動(dòng);研究生有導(dǎo)師管著,大部分學(xué)生做項(xiàng)目是導(dǎo)師要求,是被動(dòng)。態(tài)度決定一切,興趣才是不斷學(xué)習(xí)的動(dòng)力。
哦對了,報(bào)告中一句話值得推敲:"在具備相關(guān)經(jīng)驗(yàn)的群體中,其算法經(jīng)驗(yàn)略多于工程經(jīng)驗(yàn)"。
好好打工程基礎(chǔ)吧!
來自北京的人才無需質(zhì)疑數(shù)量肯定是第一,原因很簡單,北京相應(yīng)的人工智能企業(yè)最多,互聯(lián)網(wǎng)氛圍最好,大家當(dāng)然都來北京了。接下來是深圳,深圳是創(chuàng)業(yè)之都,機(jī)具創(chuàng)業(yè)熱情,硬件公司也多一些,機(jī)器人和AI結(jié)合的企業(yè)一抓一大把。最出名的算是大疆了。
好的企業(yè)都被一線二線城市瓜分了,那其他地方呢..
老潘也面臨著殘酷的事實(shí):我這個(gè)專業(yè)這個(gè)技術(shù)方向,回老家實(shí)在找不到工作啊。
再看一下專業(yè)分布。
學(xué)計(jì)算機(jī)專業(yè)的就是好呀,計(jì)算機(jī)相關(guān)專業(yè)在找工作上是有一定的優(yōu)勢,畢竟人家底子好一些。但是大家不要灰心,現(xiàn)在是自學(xué)的時(shí)代,網(wǎng)上好資源一搜一大把,只要你肯下功夫?qū)W習(xí),不一定比專業(yè)搞計(jì)算機(jī)的差。
專業(yè)(相差太大的專業(yè),例如田園設(shè)計(jì)等,這個(gè)難度可能會(huì)大些)和你在上學(xué)階段學(xué)什么關(guān)系并不是很大,關(guān)鍵還是看自己。
趁著在學(xué)校,多找些組織,找些資料,趕緊學(xué)習(xí)吧!
果然目標(biāo)檢測的人最多。
目標(biāo)檢測最好入門,資料最多,變種最多,代碼最多...特別適合充當(dāng)畢業(yè)生的畢設(shè)項(xiàng)目選題。不過如果是找算法開發(fā)相關(guān)的工作,只會(huì)目標(biāo)檢測是遠(yuǎn)遠(yuǎn)不夠的。
老潘在前年找工作的時(shí)候主打的也是目標(biāo)檢測,當(dāng)時(shí)在實(shí)習(xí)時(shí)候已經(jīng)聊好了一個(gè)公司leader,答應(yīng)說秋招的時(shí)候會(huì)再面試一下(就過)。但是秋招的時(shí)候那位leader不好意思地跟我說,他們公司目標(biāo)檢測相關(guān)任務(wù)開發(fā)這一塊的人已經(jīng)比較多了,他們更想要招有3D生成或者GAN項(xiàng)目經(jīng)驗(yàn)的求職者??偠灾褪且痪湓挘?/p>
你很優(yōu)秀,但是不適合我們。
不過不同公司的需求是不一樣的,目標(biāo)檢測這個(gè)方向?qū)τ诖蟛糠止緛碚f,仍然是需求量比較大的。
時(shí)代在發(fā)展,AI也在不停進(jìn)步,你要問我現(xiàn)在CV領(lǐng)域哪兒還不卷?
我也不知道啊~
發(fā)論文最好發(fā)的是什么話題?當(dāng)然也是目標(biāo)檢測了。
不得不吐槽一下,不管是anchor-base還是anchor-free的檢測框架,改一下腦袋(head)改一下頸部(neck)改一下身體(backbone)就可以水一篇論文了。什么?不會(huì)改?那就改一下數(shù)據(jù)集吧~同樣的框架,換個(gè)場景,又是一條好漢。
還是老潘之前說過的,AI行業(yè)最流行的語言就是Python和C++。
不論是最火的深度學(xué)習(xí)框架Pytorch和Tensorflow,還是比較流行的模型加速推理框架TensorRT和TVM。都會(huì)提供Python接口來實(shí)現(xiàn)與用戶的交互,提供API供用戶使用,但實(shí)際內(nèi)核代碼都是使用C++編寫的。原因很簡單,為了保證性能以及方便地使用各種加速庫(MKL、cuDNN)。另外,C++中的各種特性也比較適合團(tuán)隊(duì)協(xié)作開發(fā)大型項(xiàng)目,感興趣的可以閱讀相關(guān)源碼,親自感受下其牛逼之處。
對Pytorch源碼感興趣的可以看:
還有很多這里暫時(shí)不介紹了,有興趣可以關(guān)注老潘,時(shí)不時(shí)會(huì)分析一哈框架。
以下內(nèi)容很真實(shí)..國產(chǎn)的深度學(xué)習(xí)框架使用率7%不到(今年應(yīng)該超過7%了,paddlepaddle很好用),還是Pytorch和Tensorflow的天下。
PS:感覺Darknet應(yīng)該是靠yolov3火起來的,而且后繼有人不斷更新...純C語言開箱即用對工業(yè)界簡直不要太好。Caffe2挺可惜。MXNet小而美。
老潘理性分析一哈。對于學(xué)生來說,框架的易用性和社區(qū)完善度很重要(說白了就是遇到不會(huì)的問題,百度的時(shí)候資料多不多)。還有剛開始入門的小白,會(huì)聽別人說什么什么好什么好,跟風(fēng)使用;但對于公司來說,基本就是根據(jù)實(shí)際需求選擇使用框架,例如這個(gè)模型只有Tensorflow的開源版本,有咩有Pytorch的,滅有?復(fù)現(xiàn)太耗時(shí)間,直接上手Tensorflow吧~畢竟是以業(yè)務(wù)來驅(qū)動(dòng)的,產(chǎn)出就是第一目標(biāo),反之亦然。
目前情況來看,Pytorch不論在學(xué)生還是公司占有率優(yōu)勢很大。老潘3年前開始使用Pytorch進(jìn)行深度學(xué)習(xí)研究,那會(huì)還是0.2版本,對比當(dāng)時(shí)的TensorFlow,簡直就像螞蟻和大象。但短短2、3年時(shí)間,螞蟻已經(jīng)長大了。
公司更傾向于Pytorch的原因也很簡單:
當(dāng)然TensorFlow也是有優(yōu)點(diǎn)的,TensorFlow-server很多公司在使用,雖然也有一部分是歷史原因,但是其穩(wěn)定性和可靠性仍然比大部分的server要強(qiáng)。
PS:推薦一個(gè)可以媲美TensorFlow-Server的服務(wù)器推理框架——triton-inference-server,前身是TensorRT-server,現(xiàn)已開源,可以部署各種框架模型進(jìn)去(TensorRT、Pytorch、TensorFlow、Onnxruntime等),老潘研究過一段時(shí)間,苦于沒有時(shí)間分享,感興趣的可以交流一波~
什么?上述框架滿足不了你?你要手?jǐn)]一個(gè)框架自己搞(嚴(yán)重懷疑你是來炫技的)?在學(xué)生時(shí)代是可以花點(diǎn)時(shí)間,模仿其他大型框架寫一個(gè)小的框架練練手,這里推薦幾個(gè)項(xiàng)目來瞧一瞧學(xué)一學(xué):
一般來說,框架同時(shí)具備訓(xùn)練和推理功能。但訓(xùn)練部分寫起來挺難,如果是只寫推理功能的話,又簡單一些。很多框架只有推理功能,感興趣的可以參考一哈,簡單列了一些(并不全):
如果是硬件公司(很多這樣的硬件創(chuàng)業(yè)公司)使用自己的芯片,也會(huì)有相應(yīng)的AI底層算法工程師去搭建類似于TensorRT這樣的產(chǎn)品,寫op,操控內(nèi)存接口,最終產(chǎn)出類似于TensorRT這樣的動(dòng)態(tài)鏈接庫,暴露出API供上層調(diào)用。
總之,框架這東西還是用的舒服比較好,我嘛,就喜歡用Pytorch!
大部分互聯(lián)網(wǎng)公司搞算法的薪資比搞開發(fā)的可能會(huì)高一些,但其實(shí)也相差不了多少(真的相差不了多少)。
大部分算法工程師也會(huì)干開發(fā)的活,只是附帶算法這個(gè)屬性罷了。只有真正的算法研究員才是真正研究算法理論退出新算法的。
對于硬件公司來說(vivo、oppo這類),算法工程師和開發(fā)工程師薪資并無區(qū)別(碩士校招)。都是有好幾檔,看各自水平定級。但是會(huì)有些研究性質(zhì)的崗位只要求博士參與,這也就是博士與碩士的差距。
對于碩士研究生來說,算法和開發(fā)相差并沒有想象中那么大,也不存在所謂的鄙視鏈。
行業(yè)分布還是比較中肯的,人工智能領(lǐng)域與深度學(xué)習(xí)密切相關(guān)。大部分互聯(lián)網(wǎng)公司也有很多深度學(xué)習(xí)的業(yè)務(wù)線存在,例如快手、抖音等各種AI玩法,都是與深度學(xué)習(xí)關(guān)系很深的項(xiàng)目。
還有電商的以圖搜圖、虛擬試妝;教育領(lǐng)域的視頻教學(xué)中的課程互動(dòng)、拍照搜題、智能閱卷等等。都是現(xiàn)在很平常融入生活中的AI場景,也可以說,AI無處不在了。
借一下報(bào)告中的內(nèi)容:
自2018年起,全球計(jì)算機(jī)視覺技術(shù)不斷成熟,開源生態(tài)、技術(shù)社區(qū)、人工智能開放平臺的建立也使得算法的開發(fā)與應(yīng)用門檻顯著下降。德勤在《全球人工智能發(fā)展白皮書》中指出,由深度學(xué)習(xí)驅(qū)動(dòng)的計(jì)算機(jī)視覺在某些領(lǐng)域已經(jīng)超越人類,特別是在人臉識別、圖像分類等任務(wù)中。同時(shí),在我國,計(jì)算機(jī)視覺技術(shù)的應(yīng)用擁有龐大的市場空間與豐富的場景數(shù)據(jù),因而當(dāng)技術(shù)成熟度達(dá)到產(chǎn)業(yè)要求時(shí),不少垂直行業(yè),尤其是行業(yè)中的頭部企業(yè),選擇了在組織內(nèi)部搭建計(jì)算機(jī)視覺團(tuán)隊(duì),打造行業(yè)專屬的計(jì)算視視覺算法產(chǎn)品或相關(guān)功能。
人才能有什么規(guī)劃?無非就是想不斷提升自己的技術(shù)水平和薪資水平罷了。
還是北上廣深,老潘作為一名算法工程師,因?yàn)楸本┑幕ヂ?lián)網(wǎng)機(jī)會(huì)多,就毫不猶豫去了北京。其實(shí)對于任何打工者來說,哪的工作機(jī)會(huì)多當(dāng)然就去哪兒了,在老家空有一身本領(lǐng),但找不到合適的工作是最無奈的。
當(dāng)然也與城市發(fā)展以及公司薪資多少有關(guān)系,大城市發(fā)的錢比較多,但是房租貴,小城市發(fā)的錢比較少,但是房租便宜。究竟去哪兒好,還是看自己。
不得不說,程序員這個(gè)職業(yè)為何適合年輕人,有一點(diǎn)原因就是新技術(shù)來的很快,我們需要不停地根據(jù)業(yè)務(wù)需求學(xué)習(xí)新的知識,最好是能夠快速上手。年輕人嘛,不會(huì)的東西學(xué)學(xué)就會(huì)了。
上圖已經(jīng)表達(dá)的很清楚了,大部分的程序員都是靠自學(xué)。自學(xué)是個(gè)主動(dòng)的過程,自己尋找資料自己決定下一步該學(xué)什么。雖然有點(diǎn)累但是學(xué)習(xí)效率很驚人。
個(gè)人認(rèn)為網(wǎng)上的付費(fèi)視頻可以看,但不是必要的,視頻只是輔助作用。而且被動(dòng)學(xué)習(xí)有時(shí)候會(huì)讓自己產(chǎn)生感覺學(xué)習(xí)了不少的幻覺,老潘提醒一哈,如果只是光看視頻不進(jìn)行實(shí)戰(zhàn)(完成一些課后作業(yè)啥的),學(xué)了不多久就會(huì)忘得。
遇到問題就百度或者google一下就好了,大部分的技術(shù)文章出自以下這些平臺,這些平臺是很好交流技術(shù)的地方:
當(dāng)然也有很多優(yōu)秀的個(gè)人博客,這里就不一一列舉了。不要臉地宣傳一下自己的博客(逃):
算法工程師還是最香的,適合算法與工程兼?zhèn)涞耐?/p>
高校老師和高效研究生適合喜歡搞研究、喜歡探索新方向的童鞋。
AI產(chǎn)品經(jīng)理和AI項(xiàng)目經(jīng)理據(jù)老潘所知門檻較高,大廠一般都會(huì)要求有實(shí)習(xí)經(jīng)驗(yàn)的童鞋。
報(bào)告指出:
在計(jì)算機(jī)視覺技術(shù)發(fā)展過程中,隨著前沿理論的不斷突破、產(chǎn)業(yè)應(yīng)用的趨勢變化,計(jì)算機(jī)視覺領(lǐng)域的人才 研究方向也在相應(yīng)作出調(diào)整。本次報(bào)告對在職人員希望未來研究的領(lǐng)域進(jìn)行了調(diào)研,結(jié)果發(fā)現(xiàn):目標(biāo)檢測、圖像分割、文本理解、目標(biāo)跟蹤仍為計(jì)算機(jī)視覺人才未來研究的重點(diǎn)方向,同時(shí)醫(yī)學(xué)影像處理識別的研究興趣排名由第 7 位上升到第 5 位,這可能與新冠疫情后醫(yī)療領(lǐng)域計(jì)算機(jī)視覺相關(guān)需求驟增有關(guān)。
目標(biāo)檢測目前還是很熱門的研究方向,畢竟剛需在那里擺著。老潘建議,學(xué)生階段,最好還是多方向、多嘗試嘗試不同方向的算法,不要把蘋果放一個(gè)籃子里。
碩士級別是算法工程師的敲門磚,那是因?yàn)橹氨究频臅r(shí)候很少有深度學(xué)習(xí)的項(xiàng)目,大部分只是ACM或者大學(xué)生電子設(shè)計(jì)大賽這樣子的。和人工智能關(guān)系不是很大。
現(xiàn)在條件好了,深度學(xué)習(xí)也普及了,大部分高校也開設(shè)了相關(guān)的課程。我的表弟他們在本科階段已經(jīng)參與一些老師的項(xiàng)目,開始訓(xùn)練yolov3模型部署在TX2上去參加一些比賽,和研究生做的并沒有本質(zhì)上區(qū)別,這都是5年前想都不敢想的。
現(xiàn)在是全民普及AI的時(shí)代,AI已經(jīng)無處不在了。
很真實(shí),企業(yè)對人才的要求實(shí)際只有一個(gè):
但是解決問題也沒有實(shí)際那么簡單,需要很扎實(shí)的基礎(chǔ)和較強(qiáng)的學(xué)習(xí)能力才行。
在企業(yè)不同于在學(xué)校,企業(yè)要求的不可能是demo級別的玩具,更多的是穩(wěn)定可靠、精度達(dá)到要求且可以上線,缺一不可,看似簡單,但實(shí)際困難重重。與高校場景完全不同,所以建議大家在高校中盡量多參加一些實(shí)際的項(xiàng)目,要有反饋,千萬不要自嗨。
PS:作為算法工程師,往往都是有壓力的!拖大家的福,老潘的頭發(fā)還是很濃密...
只有一點(diǎn)要提醒的,不是只有崗位名稱包含CV、圖像、AI等的才與深度學(xué)習(xí)有關(guān)系。隨著深度學(xué)習(xí)的不斷普及,上到算法層,中到軟件層,下到硬件層,每個(gè)層都有與AI、與計(jì)算機(jī)視覺相關(guān)的崗位。
崗位名稱五花八門,這里只說一句,名稱是一方面,點(diǎn)進(jìn)去看崗位介紹最靠譜!
關(guān)于算法崗位分布與特點(diǎn)老潘之后抽空會(huì)匯總一波。
雖然說我們大部分人是靠自學(xué),感覺有臺電腦就可以。但是對于深度學(xué)習(xí)這個(gè)燒錢的方向來說,有設(shè)備有機(jī)器是最好的,這里列一下我們學(xué)習(xí)可能需要的設(shè)備:
關(guān)于部署落地,老潘有話想說:
實(shí)驗(yàn)室沒有資源的但是又想?yún)⑴c的,可以自己掏錢買顯卡(這里簡單提一下,可以買2月26日發(fā)布的3060-12G顯卡,官方建議價(jià)2499,性能和之前的1080ti差不多,如果有條件可以搶到,這款卡很適合做深度學(xué)習(xí)),也可以白嫖一些GPU資源(例如kaggle):
放心吧,只要你真心想入坑深度學(xué)習(xí),GPU資源什么的不是大問題,可以通過各種方式解決,關(guān)鍵還是要有熱情和興趣。畢竟深度學(xué)習(xí)這條路,注定不會(huì)一帆風(fēng)順。
在學(xué)校的煩惱能有啥哦?老潘認(rèn)為在學(xué)校還是很舒服的...想學(xué)什么學(xué)什么,想做什么做什么。
不過肯定會(huì)有一些不滿足于現(xiàn)狀的學(xué)弟學(xué)妹們,想要突破一下自己,找點(diǎn)事情做。這個(gè)時(shí)候如果導(dǎo)師不給力,還是要靠自己的,主動(dòng)找點(diǎn)事情做吧~
有疑問也可以與我交流。
關(guān)于研究生導(dǎo)師和人工智能公司的發(fā)展瓶頸(煩惱),就不是我們所考慮的了,看看就行啦!
基本高校的課程如下,課程基本是起到引導(dǎo)入門的作用。渴望學(xué)習(xí)的我們,更多的是希望自己找自己感興趣喜歡的課程去學(xué)習(xí)。
課程資源限于篇幅,可以看看這篇:
正如報(bào)告中所說:
短期內(nèi)在高校開設(shè)細(xì)分領(lǐng)域的課程仍有不小的挑戰(zhàn):
所以大部分的高校課程都是以打基礎(chǔ)為主,非常適合剛?cè)腴T的童鞋,老潘只想說一句:好好珍惜在學(xué)校的美好時(shí)光,認(rèn)真學(xué)習(xí)吧,不要浪費(fèi)時(shí)間~
時(shí)間總是過的很快,還記得那會(huì)剛?cè)腴T深度學(xué)習(xí)的時(shí)候,看吳恩達(dá)和李宏毅的課看的津津有味,雖然啥也不懂。轉(zhuǎn)眼間3年過去,現(xiàn)在已經(jīng)全民AI了,雖然偶爾會(huì)迷茫,但已經(jīng)踏入深度學(xué)習(xí)的老潘依然會(huì)堅(jiān)持走下去,不論是以何種形式。
希望大家能夠和我一起堅(jiān)持下去吧~
文中提到的一些分享資源在這里。
想知道老潘是如何學(xué)習(xí)踩坑的(PS:想與我交流問題)來公眾號「oldpan博客」找我~
老潘也會(huì)整理一些自己的收藏,希望能幫助到大家,來神秘傳送門看看吧~