AI 開發者高薪太誘人?請收下這份給國內開發者轉型 AI 指南

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

AI 开发者高薪太诱人?请收下这份给国内开发者转型 AI 指南
AI 开发者高薪太诱人?请收下这份给国内开发者转型 AI 指南

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

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

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

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

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

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

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

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

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

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

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

極易上手的 Caffe。Caffe 也是一個被廣泛使用的深度學習框架,優勢包括:容易上手,用配置文件形式定義網絡,而不用代碼設計網絡;訓練速度快,能夠訓練先進模型和大規模數據;組件容易模塊化,方便擴展。

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

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

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

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

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

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

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

3.對數據量和硬件的支持

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

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

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

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

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

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

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

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

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

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

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

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

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

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


分享到:


相關文章: