請查收這份開發者轉型AI指南 AI頂尖公司分分鐘pick你

pythontab發表於2018-06-01


(內容來源自:雷鋒網-AI研習社)

如果你瀏覽 AI 相關的新聞,不難發現「高薪」、「百萬年薪」等極具誘惑力的詞彙的出現頻率非常高。同樣,在知乎中搜尋「如何轉型 AI?」、「AI 領域需要怎樣的人才?」、「普通程式設計師如何學習 AI 知識?」等問題,也總會發現各種各樣的答案和衍生的話題。在人工智慧浪潮的助推下,不少科技公司開高薪求良才,更有不少開發者前赴後繼地投身進 AI 的風口中。

 

在剛剛結束的第二季百度 AI 開發者實戰營深度學習公開課上,百度針對北京站、深圳站、杭州站、成都站四地參與公開課的學員做了課後調研。調研資料顯示,參與百度深度學習公開的學員有 79% 已經參加工作,剩餘 21% 的學員為在校生。另外,所有學員裡有 2 年及以上深度學習開發經驗的為 10%,2 年及以內的深度學習開發經驗的佔 61%,有 29% 的學員沒有深度學習相關的開發經歷。可以看出,報名參加百度深度學習公開課的學員以AI領域入門級選手為主;此外,學生也佔到不小的比例,說明在校生群體對AI的熱情很高,也正在透過各種渠道學習AI知識,而這在某種程度上也能看出高校在開設人工智慧課程方面還不夠完善,百度深度學習公開課恰好滿足了上述兩類群體學習AI的需求。

 

請查收這份開發者轉型AI指南  AI頂尖公司分分鐘pick你

 

請查收這份開發者轉型AI指南  AI頂尖公司分分鐘pick你

 

一份課後調研報告也許不能完整反映出國內深度學習開發者的整體現狀,但是能在一定程度上體現深度學習開發者和渴望轉型 AI 的開發者的趨勢,大家都想在AI時代來臨之際搭上這趟AI列車。不少企業花高薪聘請 AI 人才,然而大部分求職者的能力與僱主的期望相差甚遠,尤其是在部分核心崗位,比如語音識別、影像識別工程師等,更是供不應求,整個市場面臨有價無市的尷尬局面,尤其中小企業招聘更加困難。並且,培養 AI 人才所需要的成本和時間遠高於一般的 IT 人才,所以 AI 人才的缺口很難在短時間內彌補。

 

AI 的確是一個門檻很高的領域。從學歷上看,有超過一半的 AI 求職者學歷在碩士及以上,高學歷人士的錄取率明顯較高。而很多求職者要麼學歷較低,要麼是初級程式設計師,只對基礎程式設計略知一二,要麼缺乏實際的 AI 技能。

 

除了學歷,AI 行業也十分重視求職者的技能掌握情況。透過檢視招聘網站相關職位的招聘啟事可知,企業不僅希望 AI 工程師掌握深度學習技術,而且還需要求職者精通Spark、Hadoop、機器人控制理論等技能。

 

那麼,對於國內眾多有志於 AI 的程式設計師來講,如何彌補自己的短板成功轉型 AI?或者說如何讓自己的 AI 技能得到快速的成長呢?選擇合適的深度學習框架可能是第一步。

 

在專精某個框架的同時,也要了解其他平臺

 

對於一個深度學習專案來說,選擇一個合適的框架非常重要,所以說,AI 工程師首先應該瞭解各種主流深度學習框架的特點和應用場景。

 

一般來講,AI 工程師應該根據公司或者團隊的需求來選擇合適的框架。但重要的是,工程師們應該把自己培養成「T 型人才」,在專精某個框架的同時,對其他平臺也要有所瞭解,不能把自己繫結在某一個框架或者平臺上,這樣才能綜合比較各個框架,並從中選擇最適合的那一個。

 

不論是掌握各種程式語言或開發工具,還是深入瞭解業務場景,最終都是為了運用深度學習框架解決特定的問題。如今深度學習領域還處於百家爭鳴的階段,主流的深度學習框架有以下幾個:

 

相對高階的 TensorFlow。自推出以來,TensorFlow 在開發者社群享有盛譽,目前已經成為開發者最常用的深度學習框架,它的功能全,社群活躍,因此使用率也一直保持領先。但 TensorFlow 也因為文件和介面混亂,使用繁瑣等缺點廣受詬病。

 

適合中國國情的 PaddlePaddle。PaddlePaddle 前身是百度在 2013 年自主設計和研發的內部開發工具,目前已經100%開源。PaddlePaddle EDL 透過擴充套件類似 Kubernetes這樣的叢集管理系統可以實現計算資源的彈性排程,這使得 PaddlePaddle 能以更小的視訊記憶體和更快的速度完成任務。PaddlePaddle提供的一手中文文件和中文社群,對於國內的 AI 開發者來說有天然的優勢。

 

Facebook 的 PyTorch。Facebook 曾表示,「PyTorch 有望輔助、或在一定程度上替代現有的 Python 數學庫(比如 NumPy)。」藉助 Python 生態圈,PyTorch 可快速接入 Python 的庫和軟體,另外 PyTorch 不需要從頭重新構建整個網路,它為改進現有的神經網路提供了更快速的方法 —— 採用動態計算圖(dynamic computational graph)結構。

 

「無心插柳」的 MXNet。MXNet 作者李沐表示,MXNet 最早就是幾個人抱著純粹對技術和開發的熱情做起來的興趣專案,既沒有指望靠它畢業,也沒想著用它賺錢。MXNet 主要有以下優勢:高效,計算資源利用率高;快速,可以隨著機器和 GPU 的擴充套件呈線性增長;易用,支援指令式程式設計(imperative programming)和宣告式程式設計。

 

極簡的 Keras。Keras 是一個崇尚極簡、高度模組化的神經網路庫,於 2015 年 3 月釋出。Keras 能夠讓使用者快速實驗原型,將開發者的想法變成現實。近期,MXNet 還宣佈支援 Keras 2,可更加方便快捷地實現 CNN 及 RNN 分散式訓練。

 

極易上手的 Caffe。Caffe 也是一個被廣泛使用的深度學習框架,優勢包括:容易上手,用配置檔案形式定義網路,而不用程式碼設計網路;訓練速度快,能夠訓練先進模型和大規模資料;元件容易模組化,方便擴充套件。

 

如何選擇合適的深度框架?

 

面對各具特色的深度學習框架,AI 工程師該如何選擇?具體來講,AI 工程師可以從以下角度來選擇深度學習框架:

 

1.與現有平臺和技能整合的難易程度。

 

在開始使用深度學習框架時,AI 工程師最好選擇一個支援你已經掌握的程式語言的框架,比如你使用 Python,就可以選擇 PyTorch,如果你熟悉 C++,則可以考慮使用 Caffe。如果你選擇的框架需要你重新學習一門語言或者要修改資料的儲存形式,那使用該框架的學習成本就太大。

 

從整體上看,Python 已經成為深度學習的基本語言,能夠和大多數平臺無縫對接。

 

2.相關機器學習工具鏈完整度。

 

深度學習專案需要做各種資料處理、視覺化、統計推斷等,所以在選擇框架之前工程師要考慮好該框架是否有相應的預處理工具或者輔助軟體。

 

比如,百度釋出了深度學習視覺化平臺 Visual DL,該平臺透過視覺化的方法將模型訓練過程中的各個引數以及計算資料流圖實時地展示出來,幫助開發者更好地理解、除錯、最佳化模型。另外,百度還推出了 EasyDL、ECharts GL、ZRender、WebGL 框架 ClayGL 等工具來幫助開發者快速開發原型。

 

3.對資料量和硬體的支援

 

深度學習在不同應用場景的資料量是不一樣的,工程師需要考慮如何使系統計算得更快,這就涉及分散式計算、多 GPU 計算等。開發者需要極高的工程素養才能很好地平衡效能、成本、效率、穩定性等問題。

 

4.深度學習平臺的成熟度。

 

一個成熟的深度學習平臺,文件、教程、社群等生態因素必不可少,而且在很大程度上決定了該平臺是否易用,是否能為開發者提供實際的幫助。就目前的發展情況來看,TensorFlow、MXNet 等框架有很詳盡的文件和活躍的社群,新手可以透過這些資源快速上手開發原型。

 

值得一提的是,百度在近期正式開放運營了 PaddlePaddle 中文社群,旨在打造國內最高效、最方便的深度學習社群,方便開發者交流技術問題,結識更多的工程師。AI 開發者遇到無法解決的問題時,在論壇上發帖 24 小時之內會有響應,迅速獲得資深工程師的講解和指點。

 

除了掌握深度學習框架,AI 工程師還需要哪些技能?

 

AI 工程師必須要有極強的程式設計能力,那除此之外,一名合格的 AI 工程師還需要哪些技能?

 

首先,毫無疑問的是,AI 工程師要有過硬的數學基礎和技術能力。線性代數、機率與統計、微積分、資訊理論等數理知識是 AI 的基礎,要得心應手地處理這些數學概念需要花費大量的時間去學習。另外,熟練地使用 Python、R 等語言,知道特定的演算法工具包,明白如何線上上部署機器學習模型也是必不可少的能力。

 

對於在校學生來說,找準方向進入科研領域、繼續深造或者去 AI 公司實習瞭解主流框架的特點和用法,都是很好的學習機會。對於已經工作的開發者,回學校重新鍍金是個不錯的選擇,如果無法重新回校讀書,那麼應該結合公司業務學習相應的基礎知識,查漏補缺,這樣會更有目的性且耗時更低。

 

第二,很多公司要求機器學習工程師不僅要有高超的技術能力,瞭解各個模型和演算法的優缺點,同時還要有一定的業務能力。具體來講,AI 工程師應該明白用機器學習的方法看待商業問題,理解問題的痛點,能夠從資料中獲取必要的資訊,然後透過模型產生商業價值,使 AI 技術真正為使用者服務。

 

總結起來,AI 工程師不僅要有技術,而且會被賦予更多產品、市場甚至是運營的職能,這樣的轉型是挑戰開發者價值觀的。天下沒有免費的午餐,要做出更好的產品和軟體, AI 工程師要付出更多的努力和更多的代價,重新審視自身與技術的關係,技術和產品的關係。

 

實際上,國內很多科技公司為開發者提供了大量的技術、資金、市場等資源的支援,幫助他們提升技術水平,磨練 AI 產品。

 

比如,百度舉辦多場深度學習公開課活動,邀請業內大咖現場講解深度學習和PaddlePaddle,手把手教學並答疑解惑。同時,百度也線上上開放了一套完整的深度學習教育課程。

 

另外,百度跟行業內的合作伙伴發起了各項 AI 賽事,在深度學習領域有一定經驗的開發者可以透過這些賽事將自身的技術與實際應用結合,幫助企業解決行業難題。

 

百度正在建立這樣一種機制,讓開發者用一種最適合中國國情的方式更快更好轉型AI。

 

保持獨立思考,按照自己的節奏學習

知乎大 V,普華永道資料科學家阿薩姆在接受 AI 研習社採訪時曾表示:「不要迷信機器學習,不要急於全盤接受,也不要因為不對胃口而全盤否定,慢下來,制定適合自己的計劃。」

如今市面上各種各樣的機器學習資料層出不窮,人工智慧各類演算法也在不斷更新迭代,政府和企業也為 AI 開發者和創業者發放了大量的福利,比如國家頒佈各項利好政策,企業也相繼開放技術和課程支援,甚至釋出AI人才培養計劃,幫扶開發者入門或轉型AI。

不過,對於想轉型進入 AI 領域的開發者來說,除了學會把握機會,藉助外力。還需要保持獨立思考的能力,從海量的資料裡去蕪存菁,結合自身的行業優勢找到與 AI 技術的交叉點。或許,這才是有志於 AI 行業的開發者應有的態度。


相關文章