0
本文作者: 孔令雙 | 2018-06-01 03:52 |
雷鋒網(wǎng) AI 研習(xí)社按,如果你瀏覽 AI 相關(guān)的新聞,不難發(fā)現(xiàn)「高薪」、「百萬年薪」等極具誘惑力的詞匯的出現(xiàn)頻率非常高。同樣,在知乎中搜索「如何轉(zhuǎn)型 AI?」、「AI 領(lǐng)域需要怎樣的人才?」、「普通程序員如何學(xué)習(xí) AI 知識?」等問題,也總會發(fā)現(xiàn)各種各樣的答案和衍生的話題。在人工智能浪潮的助推下,不少科技公司開高薪求良才,更有不少開發(fā)者前赴后繼地投身進 AI 的風(fēng)口中。
在剛剛結(jié)束的第二季百度 AI 開發(fā)者實戰(zhàn)營深度學(xué)習(xí)公開課上,百度針對北京站、深圳站、杭州站、成都站四地參與公開課的學(xué)員做了課后調(diào)研。調(diào)研數(shù)據(jù)顯示,參與百度深度學(xué)習(xí)公開的學(xué)員有 79% 已經(jīng)參加工作,剩余 21% 的學(xué)員為在校生。另外,所有學(xué)員里有 2 年及以上深度學(xué)習(xí)開發(fā)經(jīng)驗的為 10%,2 年及以內(nèi)的深度學(xué)習(xí)開發(fā)經(jīng)驗的占 61%,有 29% 的學(xué)員沒有深度學(xué)習(xí)相關(guān)的開發(fā)經(jīng)歷??梢钥闯觯瑘竺麉⒓影俣壬疃葘W(xué)習(xí)公開課的學(xué)員以 AI 領(lǐng)域入門級選手為主;此外,學(xué)生也占到不小的比例,說明在校生群體對 AI 的熱情很高,也正在通過各種渠道學(xué)習(xí) AI 知識,而這在某種程度上也能看出高校在開設(shè)人工智能課程方面還不夠完善,百度深度學(xué)習(xí)公開課恰好滿足了上述兩類群體學(xué)習(xí) AI 的需求。
一份課后調(diào)研報告也許不能完整反映出國內(nèi)深度學(xué)習(xí)開發(fā)者的整體現(xiàn)狀,但是能在一定程度上體現(xiàn)深度學(xué)習(xí)開發(fā)者和渴望轉(zhuǎn)型 AI 的開發(fā)者的趨勢,大家都想在 AI 時代來臨之際搭上這趟 AI 列車。不少企業(yè)花高薪聘請 AI 人才,然而大部分求職者的能力與雇主的期望相差甚遠(yuǎn),尤其是在部分核心崗位,比如語音識別、圖像識別工程師等,更是供不應(yīng)求,整個市場面臨有價無市的尷尬局面,尤其中小企業(yè)招聘更加困難。并且,培養(yǎng) AI 人才所需要的成本和時間遠(yuǎn)高于一般的 IT 人才,所以 AI 人才的缺口很難在短時間內(nèi)彌補。
AI 的確是一個門檻很高的領(lǐng)域。從學(xué)歷上看,有超過一半的 AI 求職者學(xué)歷在碩士及以上,高學(xué)歷人士的錄取率明顯較高。而很多求職者要么學(xué)歷較低,要么是初級程序員,只對基礎(chǔ)編程略知一二,要么缺乏實際的 AI 技能。
除了學(xué)歷,AI 行業(yè)也十分重視求職者的技能掌握情況。通過查看招聘網(wǎng)站相關(guān)職位的招聘啟事可知,企業(yè)不僅希望 AI 工程師掌握深度學(xué)習(xí)技術(shù),而且還需要求職者精通 Spark、Hadoop、機器人控制理論等技能。
那么,對于國內(nèi)眾多有志于 AI 的程序員來講,如何彌補自己的短板成功轉(zhuǎn)型 AI?或者說如何讓自己的 AI 技能得到快速的成長呢?雷鋒網(wǎng) AI 研習(xí)社認(rèn)為,選擇合適的深度學(xué)習(xí)框架可能是第一步。
對于一個深度學(xué)習(xí)項目來說,選擇一個合適的框架非常重要,所以說,AI 工程師首先應(yīng)該了解各種主流深度學(xué)習(xí)框架的特點和應(yīng)用場景。
一般來講,AI 工程師應(yīng)該根據(jù)公司或者團隊的需求來選擇合適的框架。但重要的是,工程師們應(yīng)該把自己培養(yǎng)成「T 型人才」,在專精某個框架的同時,對其他平臺也要有所了解,不能把自己綁定在某一個框架或者平臺上,這樣才能綜合比較各個框架,并從中選擇最適合的那一個。
不論是掌握各種編程語言或開發(fā)工具,還是深入了解業(yè)務(wù)場景,最終都是為了運用深度學(xué)習(xí)框架解決特定的問題。如今深度學(xué)習(xí)領(lǐng)域還處于百家爭鳴的階段,主流的深度學(xué)習(xí)框架有以下幾個:
相對高階的 TensorFlow。自推出以來,TensorFlow 在開發(fā)者社區(qū)享有盛譽,目前已經(jīng)成為開發(fā)者最常用的深度學(xué)習(xí)框架,它的功能全,社區(qū)活躍,因此使用率也一直保持領(lǐng)先。但 TensorFlow 也因為文檔和接口混亂,使用繁瑣等缺點廣受詬病。
適合中國國情的 PaddlePaddle。PaddlePaddle 前身是百度在 2013 年自主設(shè)計和研發(fā)的內(nèi)部開發(fā)工具,目前已經(jīng)100%開源。PaddlePaddle EDL 通過擴展類似 Kubernetes這樣的集群管理系統(tǒng)可以實現(xiàn)計算資源的彈性調(diào)度,這使得 PaddlePaddle 能以更小的顯存和更快的速度完成任務(wù)。PaddlePaddle提供的一手中文文檔和中文社區(qū),對于國內(nèi)的 AI 開發(fā)者來說有天然的優(yōu)勢。
Facebook 的 PyTorch。Facebook 曾表示,「PyTorch 有望輔助、或在一定程度上替代現(xiàn)有的 Python 數(shù)學(xué)庫(比如 NumPy)。」借助 Python 生態(tài)圈,PyTorch 可快速接入 Python 的庫和軟件,另外 PyTorch 不需要從頭重新構(gòu)建整個網(wǎng)絡(luò),它為改進現(xiàn)有的神經(jīng)網(wǎng)絡(luò)提供了更快速的方法 —— 采用動態(tài)計算圖(dynamic computational graph)結(jié)構(gòu)。
「無心插柳」的 MXNet。MXNet 作者李沐表示,MXNet 最早就是幾個人抱著純粹對技術(shù)和開發(fā)的熱情做起來的興趣項目,既沒有指望靠它畢業(yè),也沒想著用它賺錢。MXNet 主要有以下優(yōu)勢:高效,計算資源利用率高;快速,可以隨著機器和 GPU 的擴展呈線性增長;易用,支持命令式編程(imperative programming)和聲明式編程。
極簡的 Keras。Keras 是一個崇尚極簡、高度模塊化的神經(jīng)網(wǎng)絡(luò)庫,于 2015 年 3 月發(fā)布。Keras 能夠讓用戶快速實驗原型,將開發(fā)者的想法變成現(xiàn)實。近期,MXNet 還宣布支持 Keras 2,可更加方便快捷地實現(xiàn) CNN 及 RNN 分布式訓(xùn)練。
極易上手的 Caffe。Caffe 也是一個被廣泛使用的深度學(xué)習(xí)框架,優(yōu)勢包括:容易上手,用配置文件形式定義網(wǎng)絡(luò),而不用代碼設(shè)計網(wǎng)絡(luò);訓(xùn)練速度快,能夠訓(xùn)練先進模型和大規(guī)模數(shù)據(jù);組件容易模塊化,方便擴展。
面對各具特色的深度學(xué)習(xí)框架,AI 工程師該如何選擇?具體來講,AI 工程師可以從以下角度來選擇深度學(xué)習(xí)框架:
1.與現(xiàn)有平臺和技能整合的難易程度。
在開始使用深度學(xué)習(xí)框架時,AI 工程師最好選擇一個支持你已經(jīng)掌握的編程語言的框架,比如你使用 Python,就可以選擇 PyTorch,如果你熟悉 C++,則可以考慮使用 Caffe。如果你選擇的框架需要你重新學(xué)習(xí)一門語言或者要修改數(shù)據(jù)的儲存形式,那使用該框架的學(xué)習(xí)成本就太大。
從整體上看,Python 已經(jīng)成為深度學(xué)習(xí)的基本語言,能夠和大多數(shù)平臺無縫對接。
2.相關(guān)機器學(xué)習(xí)工具鏈完整度。
深度學(xué)習(xí)項目需要做各種數(shù)據(jù)處理、可視化、統(tǒng)計推斷等,所以在選擇框架之前工程師要考慮好該框架是否有相應(yīng)的預(yù)處理工具或者輔助軟件。
比如,百度發(fā)布了深度學(xué)習(xí)可視化平臺 Visual DL,該平臺通過可視化的方法將模型訓(xùn)練過程中的各個參數(shù)以及計算數(shù)據(jù)流圖實時地展示出來,幫助開發(fā)者更好地理解、調(diào)試、優(yōu)化模型。另外,百度還推出了 EasyDL、ECharts GL、ZRender、WebGL 框架 ClayGL 等工具來幫助開發(fā)者快速開發(fā)原型。
3.對數(shù)據(jù)量和硬件的支持
深度學(xué)習(xí)在不同應(yīng)用場景的數(shù)據(jù)量是不一樣的,工程師需要考慮如何使系統(tǒng)計算得更快,這就涉及分布式計算、多 GPU 計算等。開發(fā)者需要極高的工程素養(yǎng)才能很好地平衡性能、成本、效率、穩(wěn)定性等問題。
4.深度學(xué)習(xí)平臺的成熟度。
一個成熟的深度學(xué)習(xí)平臺,文檔、教程、社區(qū)等生態(tài)因素必不可少,而且在很大程度上決定了該平臺是否易用,是否能為開發(fā)者提供實際的幫助。就目前的發(fā)展情況來看,TensorFlow、MXNet 等框架有很詳盡的文檔和活躍的社區(qū),新手可以通過這些資源快速上手開發(fā)原型。
值得一提的是,百度在近期正式開放運營了 PaddlePaddle 中文社區(qū),旨在打造國內(nèi)最高效、最方便的深度學(xué)習(xí)社區(qū),方便開發(fā)者交流技術(shù)問題,結(jié)識更多的工程師。AI 開發(fā)者遇到無法解決的問題時,在論壇上發(fā)帖 24 小時之內(nèi)會有響應(yīng),迅速獲得資深工程師的講解和指點。
AI 工程師必須要有極強的編程能力,那除此之外,一名合格的 AI 工程師還需要哪些技能?
首先,毫無疑問的是,AI 工程師要有過硬的數(shù)學(xué)基礎(chǔ)和技術(shù)能力。線性代數(shù)、概率與統(tǒng)計、微積分、信息論等數(shù)理知識是 AI 的基礎(chǔ),要得心應(yīng)手地處理這些數(shù)學(xué)概念需要花費大量的時間去學(xué)習(xí)。另外,熟練地使用 Python、R 等語言,知道特定的算法工具包,明白如何在線上部署機器學(xué)習(xí)模型也是必不可少的能力。
對于在校學(xué)生來說,找準(zhǔn)方向進入科研領(lǐng)域、繼續(xù)深造或者去 AI 公司實習(xí)了解主流框架的特點和用法,都是很好的學(xué)習(xí)機會。對于已經(jīng)工作的開發(fā)者,回學(xué)校重新鍍金是個不錯的選擇,如果無法重新回校讀書,那么應(yīng)該結(jié)合公司業(yè)務(wù)學(xué)習(xí)相應(yīng)的基礎(chǔ)知識,查漏補缺,這樣會更有目的性且耗時更低。
第二,很多公司要求機器學(xué)習(xí)工程師不僅要有高超的技術(shù)能力,了解各個模型和算法的優(yōu)缺點,同時還要有一定的業(yè)務(wù)能力。具體來講,AI 工程師應(yīng)該明白用機器學(xué)習(xí)的方法看待商業(yè)問題,理解問題的痛點,能夠從數(shù)據(jù)中獲取必要的信息,然后通過模型產(chǎn)生商業(yè)價值,使 AI 技術(shù)真正為用戶服務(wù)。
總結(jié)起來,AI 工程師不僅要有技術(shù),而且會被賦予更多產(chǎn)品、市場甚至是運營的職能,這樣的轉(zhuǎn)型是挑戰(zhàn)開發(fā)者價值觀的。天下沒有免費的午餐,要做出更好的產(chǎn)品和軟件, AI 工程師要付出更多的努力和更多的代價,重新審視自身與技術(shù)的關(guān)系,技術(shù)和產(chǎn)品的關(guān)系。
實際上,國內(nèi)很多科技公司為開發(fā)者提供了大量的技術(shù)、資金、市場等資源的支持,幫助他們提升技術(shù)水平,磨練 AI 產(chǎn)品。
比如,百度舉辦多場深度學(xué)習(xí)公開課活動,邀請業(yè)內(nèi)大咖現(xiàn)場講解深度學(xué)習(xí)和 PaddlePaddle,手把手教學(xué)并答疑解惑。同時,百度也在線上開放了一套完整的深度學(xué)習(xí)教育課程。
另外,百度跟行業(yè)內(nèi)的合作伙伴發(fā)起了各項 AI 賽事,在深度學(xué)習(xí)領(lǐng)域有一定經(jīng)驗的開發(fā)者可以通過這些賽事將自身的技術(shù)與實際應(yīng)用結(jié)合,幫助企業(yè)解決行業(yè)難題。
百度正在建立這樣一種機制,讓開發(fā)者用一種最適合中國國情的方式更快更好轉(zhuǎn)型 AI。
知乎大 V,普華永道數(shù)據(jù)科學(xué)家阿薩姆在接受雷鋒網(wǎng) AI 研習(xí)社采訪時曾表示:「不要迷信機器學(xué)習(xí),不要急于全盤接受,也不要因為不對胃口而全盤否定,慢下來,制定適合自己的計劃?!?/p>
如今市面上各種各樣的機器學(xué)習(xí)資料層出不窮,人工智能各類算法也在不斷更新迭代,政府和企業(yè)也為 AI 開發(fā)者和創(chuàng)業(yè)者發(fā)放了大量的福利,比如國家頒布各項利好政策,企業(yè)也相繼開放技術(shù)和課程支持,甚至發(fā)布 AI 人才培養(yǎng)計劃,幫扶開發(fā)者入門或轉(zhuǎn)型 AI。
不過,對于想轉(zhuǎn)型進入 AI 領(lǐng)域的開發(fā)者來說,除了學(xué)會把握機會,借助外力。還需要保持獨立思考的能力,從海量的資料里去蕪存菁,結(jié)合自身的行業(yè)優(yōu)勢找到與 AI 技術(shù)的交叉點?;蛟S,這才是有志于 AI 行業(yè)的開發(fā)者應(yīng)有的態(tài)度。
相關(guān)文章:
專訪百度 PaddlePaddle 開源平臺負(fù)責(zé)人王益:國產(chǎn)深度學(xué)習(xí)平臺是如何幫助開發(fā)者快速開發(fā) AI 產(chǎn)品的?
百度 PaddlePaddle AI 大賽冠軍林天威專訪:如何準(zhǔn)確識別綜藝視頻中的「精彩片段」?
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。