"
"
乾貨分享 | AI研發工程師成長指南

作者 | Japson

來源 | 木東居士

0x00 前言

首先,《AI研發工程師成長指南》這個題目其實有些標題黨了,準確地來說,本文內容應該是:“要想成為一名AI研發工程師,需要具備哪些技能”。

其次,本文對“AI研發工程師”這個title的定義,也並不是大家第一印象中的“算法工程師”、“數據科學家”。

再次,本文實際上作者結合現階段行業發展、技術趨勢以及自身工作性質做出的關於自身定位、職業技能、發展方向的思考。就像魔獸世界中的“職業攻略”,當我們在遊戲中新建一個角色時,會先去了解這個職業的特點、天賦、技能樹等信息,這樣才會在“練級”的過程中少走些彎路。

最後,作者不是從一個很高的角度來對整個成長體系進行一個全面地闡述。而是站在道路的地點,不斷摸索、不斷前進、不斷地調整自己的規劃。因此本文不算是Best Practices,勉強算是Beta version,也希望能和大家不斷交流,不斷“發版”。

0x01 關於AI行業的思考

算法工程師的門檻

  • AI算法工程師年薪百萬,應屆畢業生年薪都有80w…
  • 去年AI人才缺口就已經過百萬,今年將達500w…
  • 加入《XXX訓練營》,XX天打造AI算法工程師…

在網絡上充斥著各種類似上面那樣的吸引眼球的文章標題,向你訴說著人工智能這一火的不能再火的領域美好的前景。彷彿我們看了兩遍西瓜書、處理了MNIST和幾朵鳶尾花、在自己的筆記本電腦上掉了幾個包、得到了和教程上一樣的結果,打了幾場比賽,我們就已經拿到了AI領域的通行證、成功轉型算法工程師、接大廠offer到手軟了一樣。

但實際,現在AI算法工程師的就業難度和准入門檻,遠比我們想象的要高。

上一張網絡上流傳的“諸神黃昏”吧

"
乾貨分享 | AI研發工程師成長指南

作者 | Japson

來源 | 木東居士

0x00 前言

首先,《AI研發工程師成長指南》這個題目其實有些標題黨了,準確地來說,本文內容應該是:“要想成為一名AI研發工程師,需要具備哪些技能”。

其次,本文對“AI研發工程師”這個title的定義,也並不是大家第一印象中的“算法工程師”、“數據科學家”。

再次,本文實際上作者結合現階段行業發展、技術趨勢以及自身工作性質做出的關於自身定位、職業技能、發展方向的思考。就像魔獸世界中的“職業攻略”,當我們在遊戲中新建一個角色時,會先去了解這個職業的特點、天賦、技能樹等信息,這樣才會在“練級”的過程中少走些彎路。

最後,作者不是從一個很高的角度來對整個成長體系進行一個全面地闡述。而是站在道路的地點,不斷摸索、不斷前進、不斷地調整自己的規劃。因此本文不算是Best Practices,勉強算是Beta version,也希望能和大家不斷交流,不斷“發版”。

0x01 關於AI行業的思考

算法工程師的門檻

  • AI算法工程師年薪百萬,應屆畢業生年薪都有80w…
  • 去年AI人才缺口就已經過百萬,今年將達500w…
  • 加入《XXX訓練營》,XX天打造AI算法工程師…

在網絡上充斥著各種類似上面那樣的吸引眼球的文章標題,向你訴說著人工智能這一火的不能再火的領域美好的前景。彷彿我們看了兩遍西瓜書、處理了MNIST和幾朵鳶尾花、在自己的筆記本電腦上掉了幾個包、得到了和教程上一樣的結果,打了幾場比賽,我們就已經拿到了AI領域的通行證、成功轉型算法工程師、接大廠offer到手軟了一樣。

但實際,現在AI算法工程師的就業難度和准入門檻,遠比我們想象的要高。

上一張網絡上流傳的“諸神黃昏”吧

乾貨分享 | AI研發工程師成長指南

可以說一點不誇張,現在很多大廠的校招算法崗,門檻就是海外名校/985工科院校的博士/碩士。除了擁有與學歷匹配的學術能力以外,工程基礎也要非常紮實。

有人說:“我看網上說,AI人才缺口非常大,我不去大廠不就行了?其他的公司要求沒那麼高吧?”

要求高不高我不知道,但是有一下兩點:

  • 絕大多數公司,是不需要僱傭AI算法工程師,即沒有相關的業務需求,也負擔不起算法團隊的開銷
  • 2019年研究生報考人數290萬人,預計招生70萬人,其中計算機是熱門專業,並且其中多數人的研究方向都是:
  • 機器學習、數據挖掘之類。

此間競爭之激烈,諸如此類,雖未得其皮毛,也略見一斑。

"
乾貨分享 | AI研發工程師成長指南

作者 | Japson

來源 | 木東居士

0x00 前言

首先,《AI研發工程師成長指南》這個題目其實有些標題黨了,準確地來說,本文內容應該是:“要想成為一名AI研發工程師,需要具備哪些技能”。

其次,本文對“AI研發工程師”這個title的定義,也並不是大家第一印象中的“算法工程師”、“數據科學家”。

再次,本文實際上作者結合現階段行業發展、技術趨勢以及自身工作性質做出的關於自身定位、職業技能、發展方向的思考。就像魔獸世界中的“職業攻略”,當我們在遊戲中新建一個角色時,會先去了解這個職業的特點、天賦、技能樹等信息,這樣才會在“練級”的過程中少走些彎路。

最後,作者不是從一個很高的角度來對整個成長體系進行一個全面地闡述。而是站在道路的地點,不斷摸索、不斷前進、不斷地調整自己的規劃。因此本文不算是Best Practices,勉強算是Beta version,也希望能和大家不斷交流,不斷“發版”。

0x01 關於AI行業的思考

算法工程師的門檻

  • AI算法工程師年薪百萬,應屆畢業生年薪都有80w…
  • 去年AI人才缺口就已經過百萬,今年將達500w…
  • 加入《XXX訓練營》,XX天打造AI算法工程師…

在網絡上充斥著各種類似上面那樣的吸引眼球的文章標題,向你訴說著人工智能這一火的不能再火的領域美好的前景。彷彿我們看了兩遍西瓜書、處理了MNIST和幾朵鳶尾花、在自己的筆記本電腦上掉了幾個包、得到了和教程上一樣的結果,打了幾場比賽,我們就已經拿到了AI領域的通行證、成功轉型算法工程師、接大廠offer到手軟了一樣。

但實際,現在AI算法工程師的就業難度和准入門檻,遠比我們想象的要高。

上一張網絡上流傳的“諸神黃昏”吧

乾貨分享 | AI研發工程師成長指南

可以說一點不誇張,現在很多大廠的校招算法崗,門檻就是海外名校/985工科院校的博士/碩士。除了擁有與學歷匹配的學術能力以外,工程基礎也要非常紮實。

有人說:“我看網上說,AI人才缺口非常大,我不去大廠不就行了?其他的公司要求沒那麼高吧?”

要求高不高我不知道,但是有一下兩點:

  • 絕大多數公司,是不需要僱傭AI算法工程師,即沒有相關的業務需求,也負擔不起算法團隊的開銷
  • 2019年研究生報考人數290萬人,預計招生70萬人,其中計算機是熱門專業,並且其中多數人的研究方向都是:
  • 機器學習、數據挖掘之類。

此間競爭之激烈,諸如此類,雖未得其皮毛,也略見一斑。

乾貨分享 | AI研發工程師成長指南

AI企業痛點

當然,我說這些不是為了打擊大家的信心,而是要指出現在行業內的痛點:AI工程化。

人工智能發展到現階段,已經從實驗室中的算法走向了工程化應用的階段。但是算法落地並沒有想象中的順利,開始有越來越多諸如場景碎片化、應用成本高、實驗室場景到實際應用場景效果差距較大等問題被暴露出來,而這些也成為當前階段AI落地應用過程中新的痛點。

領域內高水平的paper都是公開發表的,除了少數的核心算法,人才濟濟的AI企業很難在算法性能上與友商拉開距離。那麼AI企業想要商業化,想要創收,行業細分領域縱深成了決定成敗的重要因素。需要下沉到業務領域,真刀真槍地進行拼殺。

在技術突破-商業化-產品化-工程化的階段路線中,除了技術強,接下來還有很多路要走。誰能夠更好更快地把算法從實驗室中拿出來、賣出去;更好更快地將模型交付到業務場景,真正產生實際的價值,讓客戶滿意,誰才能活得更久。

對於Scientist/Researcher而言,技術可以是一篇論文、一項 ImageNet 競賽的冠軍、也可以是一個重要數值(比如人臉識別準確率)的突破;但在商務側來說,論文與冠軍並不實用,如果技術無法融進安防、汽車、金融等行業,變成切切實實的產品,客戶與合作伙伴就會拒絕買單。

對於AI企業來說,能否深入瞭解各行業的業務流程、業務規則、知識經驗,進而將技術能力轉化為業務解決方案創造價值,是發展的保障。

那麼對於我們個人來說,應該如何發展呢?

0x02 AI研發

AI工程化

在《ML/DL科普向:從sklearn到tensorflow》一文中,我們談到:

…… 那麼對於我們這些非算法崗位的人來說,就沒有辦法涉及這一領域了麼?其實我認為,對於企業來說,對於AI人才的需求分為兩種:一種是學術界的牛人,發過大paper,有學術界比賽的結果的。公司需要他們去做算法研究,保持技術的領先性,在業內贏得口碑,這樣才能在領域內保持頭部領域。另一方面,人工智能早已不是一個概念了,企業需要把業務部門的算法落地的人,能夠快速、穩定、高效地把實驗室中的算法落實到生產環境中,解決實際問題的人。這就需要那些工程底子紮實、能夠實打實地寫代碼,並且對算法模型理解深刻,能夠快速將AI項目工程化、落地有產出的複合型人才。

還是基於這個觀點,我決定將自身的技能樹偏向企業需要的第二種人,也就是標題所提出的“AI研發工程師”。從實際的工程應用角度出來,focus人工智能項目落地的全流程以及解決方法,提高自己的AI工程化能力,以此作為個人核心競爭力。

"
乾貨分享 | AI研發工程師成長指南

作者 | Japson

來源 | 木東居士

0x00 前言

首先,《AI研發工程師成長指南》這個題目其實有些標題黨了,準確地來說,本文內容應該是:“要想成為一名AI研發工程師,需要具備哪些技能”。

其次,本文對“AI研發工程師”這個title的定義,也並不是大家第一印象中的“算法工程師”、“數據科學家”。

再次,本文實際上作者結合現階段行業發展、技術趨勢以及自身工作性質做出的關於自身定位、職業技能、發展方向的思考。就像魔獸世界中的“職業攻略”,當我們在遊戲中新建一個角色時,會先去了解這個職業的特點、天賦、技能樹等信息,這樣才會在“練級”的過程中少走些彎路。

最後,作者不是從一個很高的角度來對整個成長體系進行一個全面地闡述。而是站在道路的地點,不斷摸索、不斷前進、不斷地調整自己的規劃。因此本文不算是Best Practices,勉強算是Beta version,也希望能和大家不斷交流,不斷“發版”。

0x01 關於AI行業的思考

算法工程師的門檻

  • AI算法工程師年薪百萬,應屆畢業生年薪都有80w…
  • 去年AI人才缺口就已經過百萬,今年將達500w…
  • 加入《XXX訓練營》,XX天打造AI算法工程師…

在網絡上充斥著各種類似上面那樣的吸引眼球的文章標題,向你訴說著人工智能這一火的不能再火的領域美好的前景。彷彿我們看了兩遍西瓜書、處理了MNIST和幾朵鳶尾花、在自己的筆記本電腦上掉了幾個包、得到了和教程上一樣的結果,打了幾場比賽,我們就已經拿到了AI領域的通行證、成功轉型算法工程師、接大廠offer到手軟了一樣。

但實際,現在AI算法工程師的就業難度和准入門檻,遠比我們想象的要高。

上一張網絡上流傳的“諸神黃昏”吧

乾貨分享 | AI研發工程師成長指南

可以說一點不誇張,現在很多大廠的校招算法崗,門檻就是海外名校/985工科院校的博士/碩士。除了擁有與學歷匹配的學術能力以外,工程基礎也要非常紮實。

有人說:“我看網上說,AI人才缺口非常大,我不去大廠不就行了?其他的公司要求沒那麼高吧?”

要求高不高我不知道,但是有一下兩點:

  • 絕大多數公司,是不需要僱傭AI算法工程師,即沒有相關的業務需求,也負擔不起算法團隊的開銷
  • 2019年研究生報考人數290萬人,預計招生70萬人,其中計算機是熱門專業,並且其中多數人的研究方向都是:
  • 機器學習、數據挖掘之類。

此間競爭之激烈,諸如此類,雖未得其皮毛,也略見一斑。

乾貨分享 | AI研發工程師成長指南

AI企業痛點

當然,我說這些不是為了打擊大家的信心,而是要指出現在行業內的痛點:AI工程化。

人工智能發展到現階段,已經從實驗室中的算法走向了工程化應用的階段。但是算法落地並沒有想象中的順利,開始有越來越多諸如場景碎片化、應用成本高、實驗室場景到實際應用場景效果差距較大等問題被暴露出來,而這些也成為當前階段AI落地應用過程中新的痛點。

領域內高水平的paper都是公開發表的,除了少數的核心算法,人才濟濟的AI企業很難在算法性能上與友商拉開距離。那麼AI企業想要商業化,想要創收,行業細分領域縱深成了決定成敗的重要因素。需要下沉到業務領域,真刀真槍地進行拼殺。

在技術突破-商業化-產品化-工程化的階段路線中,除了技術強,接下來還有很多路要走。誰能夠更好更快地把算法從實驗室中拿出來、賣出去;更好更快地將模型交付到業務場景,真正產生實際的價值,讓客戶滿意,誰才能活得更久。

對於Scientist/Researcher而言,技術可以是一篇論文、一項 ImageNet 競賽的冠軍、也可以是一個重要數值(比如人臉識別準確率)的突破;但在商務側來說,論文與冠軍並不實用,如果技術無法融進安防、汽車、金融等行業,變成切切實實的產品,客戶與合作伙伴就會拒絕買單。

對於AI企業來說,能否深入瞭解各行業的業務流程、業務規則、知識經驗,進而將技術能力轉化為業務解決方案創造價值,是發展的保障。

那麼對於我們個人來說,應該如何發展呢?

0x02 AI研發

AI工程化

在《ML/DL科普向:從sklearn到tensorflow》一文中,我們談到:

…… 那麼對於我們這些非算法崗位的人來說,就沒有辦法涉及這一領域了麼?其實我認為,對於企業來說,對於AI人才的需求分為兩種:一種是學術界的牛人,發過大paper,有學術界比賽的結果的。公司需要他們去做算法研究,保持技術的領先性,在業內贏得口碑,這樣才能在領域內保持頭部領域。另一方面,人工智能早已不是一個概念了,企業需要把業務部門的算法落地的人,能夠快速、穩定、高效地把實驗室中的算法落實到生產環境中,解決實際問題的人。這就需要那些工程底子紮實、能夠實打實地寫代碼,並且對算法模型理解深刻,能夠快速將AI項目工程化、落地有產出的複合型人才。

還是基於這個觀點,我決定將自身的技能樹偏向企業需要的第二種人,也就是標題所提出的“AI研發工程師”。從實際的工程應用角度出來,focus人工智能項目落地的全流程以及解決方法,提高自己的AI工程化能力,以此作為個人核心競爭力。

乾貨分享 | AI研發工程師成長指南

AI項目全流程

網絡上很多文章描述的所謂“機器學習項目全流程”,例如:數據收集處理、特徵工程、訓練模型、模型測試等等。這套流程對不對?對。但是遠遠不能滿足企業的需求。

AI項目是團隊創造出的具有商業價值的產品、服務以及交付產物。有著明確的需求、計劃、週期、成本、交付流程以及驗收標準。

以下以toB業務為例,對AI項目全流程進行簡單梳理。toC業務大體如此,只是將客戶替換成公司業務方即可。

  1. 初步需求溝通確認
  2. 該環節主要是由銷售、售前完成。瞭解客戶的基本情況,輔助客戶根據自身業務挖掘AI應用場景。根據實際的業務需求、數據質量、硬件資源、期望產物來評估具體的方案以及建模思路。
  3. POC階段
  4. Proof of Concept。在完成初步的評估之後,團隊需要針對客戶具體應用進行驗證性測試,包括確定業務場景邊界、業務評判指標、數據調研、資源需求、硬件/平臺部署等。
  5. 場景方案確認
  6. 該環節需要售前、科學家、工程師等多角色與客戶進行細緻的場景溝通,明確需求、確定驗收標準、評估工作量。因為該階段結束後即輸出SOW方案,因此需要反覆溝通商榷。
  7. 建模開發階段
  8. 4.1 項目詳細規劃
  9. 項目經理根據前期資料提供詳細的方案設計、功能清單、資源投入、里程碑安排等內容,召開項目啟動會,明確項目內容及分工職責。
  10. 4.2 數據處理
  11. 科學家在明確業務場景及需求後,對數據處理。其內容包括:數據質量檢查、ETL處理(工作量較大)。還要對清洗後的數據進行探索性數據分析(Exploratory Data Analysis)以及可視化展示。EDA能夠幫助我們在探索階段初步瞭解數據的結構及特徵,甚至發現一些模式和模型
  12. 4.3 特徵工程
  13. 根據探索性分析得到的輸出,結合對具體業務的理解,對分散的數據拼表並進行特徵工程。
  14. 4.4 建模
  15. 形成初版建模,並對根據業務需求評估標準進行效果驗證。後續需要不斷進行模型迭代,直到滿足需求,並做模型效果彙報。
  16. 4.5 系統研發
  17. 將訓練好的模型發佈服務、部署上線,開發外圍對接系統以及部分定製化功能的開發。輸出可運行的系統。
  18. 測試上線
  19. 對系統進行流程測試、性能測試,滿足需求後對項目進行交付&驗收。
"
乾貨分享 | AI研發工程師成長指南

作者 | Japson

來源 | 木東居士

0x00 前言

首先,《AI研發工程師成長指南》這個題目其實有些標題黨了,準確地來說,本文內容應該是:“要想成為一名AI研發工程師,需要具備哪些技能”。

其次,本文對“AI研發工程師”這個title的定義,也並不是大家第一印象中的“算法工程師”、“數據科學家”。

再次,本文實際上作者結合現階段行業發展、技術趨勢以及自身工作性質做出的關於自身定位、職業技能、發展方向的思考。就像魔獸世界中的“職業攻略”,當我們在遊戲中新建一個角色時,會先去了解這個職業的特點、天賦、技能樹等信息,這樣才會在“練級”的過程中少走些彎路。

最後,作者不是從一個很高的角度來對整個成長體系進行一個全面地闡述。而是站在道路的地點,不斷摸索、不斷前進、不斷地調整自己的規劃。因此本文不算是Best Practices,勉強算是Beta version,也希望能和大家不斷交流,不斷“發版”。

0x01 關於AI行業的思考

算法工程師的門檻

  • AI算法工程師年薪百萬,應屆畢業生年薪都有80w…
  • 去年AI人才缺口就已經過百萬,今年將達500w…
  • 加入《XXX訓練營》,XX天打造AI算法工程師…

在網絡上充斥著各種類似上面那樣的吸引眼球的文章標題,向你訴說著人工智能這一火的不能再火的領域美好的前景。彷彿我們看了兩遍西瓜書、處理了MNIST和幾朵鳶尾花、在自己的筆記本電腦上掉了幾個包、得到了和教程上一樣的結果,打了幾場比賽,我們就已經拿到了AI領域的通行證、成功轉型算法工程師、接大廠offer到手軟了一樣。

但實際,現在AI算法工程師的就業難度和准入門檻,遠比我們想象的要高。

上一張網絡上流傳的“諸神黃昏”吧

乾貨分享 | AI研發工程師成長指南

可以說一點不誇張,現在很多大廠的校招算法崗,門檻就是海外名校/985工科院校的博士/碩士。除了擁有與學歷匹配的學術能力以外,工程基礎也要非常紮實。

有人說:“我看網上說,AI人才缺口非常大,我不去大廠不就行了?其他的公司要求沒那麼高吧?”

要求高不高我不知道,但是有一下兩點:

  • 絕大多數公司,是不需要僱傭AI算法工程師,即沒有相關的業務需求,也負擔不起算法團隊的開銷
  • 2019年研究生報考人數290萬人,預計招生70萬人,其中計算機是熱門專業,並且其中多數人的研究方向都是:
  • 機器學習、數據挖掘之類。

此間競爭之激烈,諸如此類,雖未得其皮毛,也略見一斑。

乾貨分享 | AI研發工程師成長指南

AI企業痛點

當然,我說這些不是為了打擊大家的信心,而是要指出現在行業內的痛點:AI工程化。

人工智能發展到現階段,已經從實驗室中的算法走向了工程化應用的階段。但是算法落地並沒有想象中的順利,開始有越來越多諸如場景碎片化、應用成本高、實驗室場景到實際應用場景效果差距較大等問題被暴露出來,而這些也成為當前階段AI落地應用過程中新的痛點。

領域內高水平的paper都是公開發表的,除了少數的核心算法,人才濟濟的AI企業很難在算法性能上與友商拉開距離。那麼AI企業想要商業化,想要創收,行業細分領域縱深成了決定成敗的重要因素。需要下沉到業務領域,真刀真槍地進行拼殺。

在技術突破-商業化-產品化-工程化的階段路線中,除了技術強,接下來還有很多路要走。誰能夠更好更快地把算法從實驗室中拿出來、賣出去;更好更快地將模型交付到業務場景,真正產生實際的價值,讓客戶滿意,誰才能活得更久。

對於Scientist/Researcher而言,技術可以是一篇論文、一項 ImageNet 競賽的冠軍、也可以是一個重要數值(比如人臉識別準確率)的突破;但在商務側來說,論文與冠軍並不實用,如果技術無法融進安防、汽車、金融等行業,變成切切實實的產品,客戶與合作伙伴就會拒絕買單。

對於AI企業來說,能否深入瞭解各行業的業務流程、業務規則、知識經驗,進而將技術能力轉化為業務解決方案創造價值,是發展的保障。

那麼對於我們個人來說,應該如何發展呢?

0x02 AI研發

AI工程化

在《ML/DL科普向:從sklearn到tensorflow》一文中,我們談到:

…… 那麼對於我們這些非算法崗位的人來說,就沒有辦法涉及這一領域了麼?其實我認為,對於企業來說,對於AI人才的需求分為兩種:一種是學術界的牛人,發過大paper,有學術界比賽的結果的。公司需要他們去做算法研究,保持技術的領先性,在業內贏得口碑,這樣才能在領域內保持頭部領域。另一方面,人工智能早已不是一個概念了,企業需要把業務部門的算法落地的人,能夠快速、穩定、高效地把實驗室中的算法落實到生產環境中,解決實際問題的人。這就需要那些工程底子紮實、能夠實打實地寫代碼,並且對算法模型理解深刻,能夠快速將AI項目工程化、落地有產出的複合型人才。

還是基於這個觀點,我決定將自身的技能樹偏向企業需要的第二種人,也就是標題所提出的“AI研發工程師”。從實際的工程應用角度出來,focus人工智能項目落地的全流程以及解決方法,提高自己的AI工程化能力,以此作為個人核心競爭力。

乾貨分享 | AI研發工程師成長指南

AI項目全流程

網絡上很多文章描述的所謂“機器學習項目全流程”,例如:數據收集處理、特徵工程、訓練模型、模型測試等等。這套流程對不對?對。但是遠遠不能滿足企業的需求。

AI項目是團隊創造出的具有商業價值的產品、服務以及交付產物。有著明確的需求、計劃、週期、成本、交付流程以及驗收標準。

以下以toB業務為例,對AI項目全流程進行簡單梳理。toC業務大體如此,只是將客戶替換成公司業務方即可。

  1. 初步需求溝通確認
  2. 該環節主要是由銷售、售前完成。瞭解客戶的基本情況,輔助客戶根據自身業務挖掘AI應用場景。根據實際的業務需求、數據質量、硬件資源、期望產物來評估具體的方案以及建模思路。
  3. POC階段
  4. Proof of Concept。在完成初步的評估之後,團隊需要針對客戶具體應用進行驗證性測試,包括確定業務場景邊界、業務評判指標、數據調研、資源需求、硬件/平臺部署等。
  5. 場景方案確認
  6. 該環節需要售前、科學家、工程師等多角色與客戶進行細緻的場景溝通,明確需求、確定驗收標準、評估工作量。因為該階段結束後即輸出SOW方案,因此需要反覆溝通商榷。
  7. 建模開發階段
  8. 4.1 項目詳細規劃
  9. 項目經理根據前期資料提供詳細的方案設計、功能清單、資源投入、里程碑安排等內容,召開項目啟動會,明確項目內容及分工職責。
  10. 4.2 數據處理
  11. 科學家在明確業務場景及需求後,對數據處理。其內容包括:數據質量檢查、ETL處理(工作量較大)。還要對清洗後的數據進行探索性數據分析(Exploratory Data Analysis)以及可視化展示。EDA能夠幫助我們在探索階段初步瞭解數據的結構及特徵,甚至發現一些模式和模型
  12. 4.3 特徵工程
  13. 根據探索性分析得到的輸出,結合對具體業務的理解,對分散的數據拼表並進行特徵工程。
  14. 4.4 建模
  15. 形成初版建模,並對根據業務需求評估標準進行效果驗證。後續需要不斷進行模型迭代,直到滿足需求,並做模型效果彙報。
  16. 4.5 系統研發
  17. 將訓練好的模型發佈服務、部署上線,開發外圍對接系統以及部分定製化功能的開發。輸出可運行的系統。
  18. 測試上線
  19. 對系統進行流程測試、性能測試,滿足需求後對項目進行交付&驗收。
乾貨分享 | AI研發工程師成長指南

0x03 核心競爭力&技能樹

核心競爭力

通過對AI項目全流程的介紹,我們將目光瞄準到“建模開發階段”的“系統研發”部分。雖然在上面只是一句話帶過,但是其中的工作量和技術含量不小。

提起機器學習,尤其是深度學習,大家可能會對諸如Tensorflow,Pytorch,Caffee的工具耳熟能詳。但其實在實際的機器學習的生命週期中,訓練模型(上述工具主要解決的問題)只是整個機器學習生命週期的很小一部分。

數據如何準備?如何保證線上線下一致性?模型訓練好了如何分佈式部署?如何構建HA?需要批量處理還是實時處理?實時數據如何拼接?如何對模型服務進行監控、告警?做成PaaS還是MLaaS?

機器學習具有天然的Pipline特性,在企業需求中,大大小小的業務場景有眾多的模型,這些模型如何進行打包、處理、發佈?離線訓練、批量預估、實施預估、自學習等任務類型交錯,不同建模工具Sklearn、Tensorflow,Pytorch構造的模型如何進行整合?開發框架Spark ML、Flink ML等如何協同、對接。生產環境如何進行擴展和伸縮?如何支持AB Test?

為了解決這些問題,新生的開源框架層出不窮:Google自研的對接Kubernets和Tensorflow的開源平臺Kubeflow;Spark團隊打造的ML pipelines輔助工具MLflow;雅虎提供的機器學習及服務平臺BigML;阿里巴巴推出的分佈式機器學習平臺SQLflow等等。眾多廠商紛紛發力,目的就是解決AI工程化應用的痛點。

這些工作都是需要一大批工程師去完成。因此,我認為了解AI工程化場景、解決方案;熟悉AI項目流程、機器學習Pipline;掌握AI系統研發、服務部署上線能力的工程師將會逐漸成為AI團隊的中堅力量。

技能樹

之前鋪墊了那麼多,既是梳理思路,也是為接下來的系列做一個開篇。按照我的初步計劃,技能樹大概包括(不分先後):

  • 工程能力
  • 身為工程師首先要有工程能力,springboot/Netty/Thrift/等相關工具框架一定要掌握,微服務是機器學習平臺的基礎。
  • Spark SQL、Spark ML等更是大數據工程師用來做機器學習的利器,不但要掌握、更要從中抽象出流程和處理方法。
  • 容器化
  • docker和k8s現在幾乎是機器學習部署的必備技能,也是眾多平臺的基礎。
  • 是重要的前置技能。
  • 機器學習&深度學習
  • 不要求能夠手推算法、模型優化,但要能夠了解含義、上手使用,起碼要成為一名優秀的調包俠(也便於吹水)。
  • 開源框架
  • 其實我最近打算學習kubeflow,並輸出學習筆記及總結實踐。
  • 本文其實是這個系列的開篇。
  • 當然,後續還有有調整。
"
乾貨分享 | AI研發工程師成長指南

作者 | Japson

來源 | 木東居士

0x00 前言

首先,《AI研發工程師成長指南》這個題目其實有些標題黨了,準確地來說,本文內容應該是:“要想成為一名AI研發工程師,需要具備哪些技能”。

其次,本文對“AI研發工程師”這個title的定義,也並不是大家第一印象中的“算法工程師”、“數據科學家”。

再次,本文實際上作者結合現階段行業發展、技術趨勢以及自身工作性質做出的關於自身定位、職業技能、發展方向的思考。就像魔獸世界中的“職業攻略”,當我們在遊戲中新建一個角色時,會先去了解這個職業的特點、天賦、技能樹等信息,這樣才會在“練級”的過程中少走些彎路。

最後,作者不是從一個很高的角度來對整個成長體系進行一個全面地闡述。而是站在道路的地點,不斷摸索、不斷前進、不斷地調整自己的規劃。因此本文不算是Best Practices,勉強算是Beta version,也希望能和大家不斷交流,不斷“發版”。

0x01 關於AI行業的思考

算法工程師的門檻

  • AI算法工程師年薪百萬,應屆畢業生年薪都有80w…
  • 去年AI人才缺口就已經過百萬,今年將達500w…
  • 加入《XXX訓練營》,XX天打造AI算法工程師…

在網絡上充斥著各種類似上面那樣的吸引眼球的文章標題,向你訴說著人工智能這一火的不能再火的領域美好的前景。彷彿我們看了兩遍西瓜書、處理了MNIST和幾朵鳶尾花、在自己的筆記本電腦上掉了幾個包、得到了和教程上一樣的結果,打了幾場比賽,我們就已經拿到了AI領域的通行證、成功轉型算法工程師、接大廠offer到手軟了一樣。

但實際,現在AI算法工程師的就業難度和准入門檻,遠比我們想象的要高。

上一張網絡上流傳的“諸神黃昏”吧

乾貨分享 | AI研發工程師成長指南

可以說一點不誇張,現在很多大廠的校招算法崗,門檻就是海外名校/985工科院校的博士/碩士。除了擁有與學歷匹配的學術能力以外,工程基礎也要非常紮實。

有人說:“我看網上說,AI人才缺口非常大,我不去大廠不就行了?其他的公司要求沒那麼高吧?”

要求高不高我不知道,但是有一下兩點:

  • 絕大多數公司,是不需要僱傭AI算法工程師,即沒有相關的業務需求,也負擔不起算法團隊的開銷
  • 2019年研究生報考人數290萬人,預計招生70萬人,其中計算機是熱門專業,並且其中多數人的研究方向都是:
  • 機器學習、數據挖掘之類。

此間競爭之激烈,諸如此類,雖未得其皮毛,也略見一斑。

乾貨分享 | AI研發工程師成長指南

AI企業痛點

當然,我說這些不是為了打擊大家的信心,而是要指出現在行業內的痛點:AI工程化。

人工智能發展到現階段,已經從實驗室中的算法走向了工程化應用的階段。但是算法落地並沒有想象中的順利,開始有越來越多諸如場景碎片化、應用成本高、實驗室場景到實際應用場景效果差距較大等問題被暴露出來,而這些也成為當前階段AI落地應用過程中新的痛點。

領域內高水平的paper都是公開發表的,除了少數的核心算法,人才濟濟的AI企業很難在算法性能上與友商拉開距離。那麼AI企業想要商業化,想要創收,行業細分領域縱深成了決定成敗的重要因素。需要下沉到業務領域,真刀真槍地進行拼殺。

在技術突破-商業化-產品化-工程化的階段路線中,除了技術強,接下來還有很多路要走。誰能夠更好更快地把算法從實驗室中拿出來、賣出去;更好更快地將模型交付到業務場景,真正產生實際的價值,讓客戶滿意,誰才能活得更久。

對於Scientist/Researcher而言,技術可以是一篇論文、一項 ImageNet 競賽的冠軍、也可以是一個重要數值(比如人臉識別準確率)的突破;但在商務側來說,論文與冠軍並不實用,如果技術無法融進安防、汽車、金融等行業,變成切切實實的產品,客戶與合作伙伴就會拒絕買單。

對於AI企業來說,能否深入瞭解各行業的業務流程、業務規則、知識經驗,進而將技術能力轉化為業務解決方案創造價值,是發展的保障。

那麼對於我們個人來說,應該如何發展呢?

0x02 AI研發

AI工程化

在《ML/DL科普向:從sklearn到tensorflow》一文中,我們談到:

…… 那麼對於我們這些非算法崗位的人來說,就沒有辦法涉及這一領域了麼?其實我認為,對於企業來說,對於AI人才的需求分為兩種:一種是學術界的牛人,發過大paper,有學術界比賽的結果的。公司需要他們去做算法研究,保持技術的領先性,在業內贏得口碑,這樣才能在領域內保持頭部領域。另一方面,人工智能早已不是一個概念了,企業需要把業務部門的算法落地的人,能夠快速、穩定、高效地把實驗室中的算法落實到生產環境中,解決實際問題的人。這就需要那些工程底子紮實、能夠實打實地寫代碼,並且對算法模型理解深刻,能夠快速將AI項目工程化、落地有產出的複合型人才。

還是基於這個觀點,我決定將自身的技能樹偏向企業需要的第二種人,也就是標題所提出的“AI研發工程師”。從實際的工程應用角度出來,focus人工智能項目落地的全流程以及解決方法,提高自己的AI工程化能力,以此作為個人核心競爭力。

乾貨分享 | AI研發工程師成長指南

AI項目全流程

網絡上很多文章描述的所謂“機器學習項目全流程”,例如:數據收集處理、特徵工程、訓練模型、模型測試等等。這套流程對不對?對。但是遠遠不能滿足企業的需求。

AI項目是團隊創造出的具有商業價值的產品、服務以及交付產物。有著明確的需求、計劃、週期、成本、交付流程以及驗收標準。

以下以toB業務為例,對AI項目全流程進行簡單梳理。toC業務大體如此,只是將客戶替換成公司業務方即可。

  1. 初步需求溝通確認
  2. 該環節主要是由銷售、售前完成。瞭解客戶的基本情況,輔助客戶根據自身業務挖掘AI應用場景。根據實際的業務需求、數據質量、硬件資源、期望產物來評估具體的方案以及建模思路。
  3. POC階段
  4. Proof of Concept。在完成初步的評估之後,團隊需要針對客戶具體應用進行驗證性測試,包括確定業務場景邊界、業務評判指標、數據調研、資源需求、硬件/平臺部署等。
  5. 場景方案確認
  6. 該環節需要售前、科學家、工程師等多角色與客戶進行細緻的場景溝通,明確需求、確定驗收標準、評估工作量。因為該階段結束後即輸出SOW方案,因此需要反覆溝通商榷。
  7. 建模開發階段
  8. 4.1 項目詳細規劃
  9. 項目經理根據前期資料提供詳細的方案設計、功能清單、資源投入、里程碑安排等內容,召開項目啟動會,明確項目內容及分工職責。
  10. 4.2 數據處理
  11. 科學家在明確業務場景及需求後,對數據處理。其內容包括:數據質量檢查、ETL處理(工作量較大)。還要對清洗後的數據進行探索性數據分析(Exploratory Data Analysis)以及可視化展示。EDA能夠幫助我們在探索階段初步瞭解數據的結構及特徵,甚至發現一些模式和模型
  12. 4.3 特徵工程
  13. 根據探索性分析得到的輸出,結合對具體業務的理解,對分散的數據拼表並進行特徵工程。
  14. 4.4 建模
  15. 形成初版建模,並對根據業務需求評估標準進行效果驗證。後續需要不斷進行模型迭代,直到滿足需求,並做模型效果彙報。
  16. 4.5 系統研發
  17. 將訓練好的模型發佈服務、部署上線,開發外圍對接系統以及部分定製化功能的開發。輸出可運行的系統。
  18. 測試上線
  19. 對系統進行流程測試、性能測試,滿足需求後對項目進行交付&驗收。
乾貨分享 | AI研發工程師成長指南

0x03 核心競爭力&技能樹

核心競爭力

通過對AI項目全流程的介紹,我們將目光瞄準到“建模開發階段”的“系統研發”部分。雖然在上面只是一句話帶過,但是其中的工作量和技術含量不小。

提起機器學習,尤其是深度學習,大家可能會對諸如Tensorflow,Pytorch,Caffee的工具耳熟能詳。但其實在實際的機器學習的生命週期中,訓練模型(上述工具主要解決的問題)只是整個機器學習生命週期的很小一部分。

數據如何準備?如何保證線上線下一致性?模型訓練好了如何分佈式部署?如何構建HA?需要批量處理還是實時處理?實時數據如何拼接?如何對模型服務進行監控、告警?做成PaaS還是MLaaS?

機器學習具有天然的Pipline特性,在企業需求中,大大小小的業務場景有眾多的模型,這些模型如何進行打包、處理、發佈?離線訓練、批量預估、實施預估、自學習等任務類型交錯,不同建模工具Sklearn、Tensorflow,Pytorch構造的模型如何進行整合?開發框架Spark ML、Flink ML等如何協同、對接。生產環境如何進行擴展和伸縮?如何支持AB Test?

為了解決這些問題,新生的開源框架層出不窮:Google自研的對接Kubernets和Tensorflow的開源平臺Kubeflow;Spark團隊打造的ML pipelines輔助工具MLflow;雅虎提供的機器學習及服務平臺BigML;阿里巴巴推出的分佈式機器學習平臺SQLflow等等。眾多廠商紛紛發力,目的就是解決AI工程化應用的痛點。

這些工作都是需要一大批工程師去完成。因此,我認為了解AI工程化場景、解決方案;熟悉AI項目流程、機器學習Pipline;掌握AI系統研發、服務部署上線能力的工程師將會逐漸成為AI團隊的中堅力量。

技能樹

之前鋪墊了那麼多,既是梳理思路,也是為接下來的系列做一個開篇。按照我的初步計劃,技能樹大概包括(不分先後):

  • 工程能力
  • 身為工程師首先要有工程能力,springboot/Netty/Thrift/等相關工具框架一定要掌握,微服務是機器學習平臺的基礎。
  • Spark SQL、Spark ML等更是大數據工程師用來做機器學習的利器,不但要掌握、更要從中抽象出流程和處理方法。
  • 容器化
  • docker和k8s現在幾乎是機器學習部署的必備技能,也是眾多平臺的基礎。
  • 是重要的前置技能。
  • 機器學習&深度學習
  • 不要求能夠手推算法、模型優化,但要能夠了解含義、上手使用,起碼要成為一名優秀的調包俠(也便於吹水)。
  • 開源框架
  • 其實我最近打算學習kubeflow,並輸出學習筆記及總結實踐。
  • 本文其實是這個系列的開篇。
  • 當然,後續還有有調整。
乾貨分享 | AI研發工程師成長指南

0xFF 後記

其實這種類型的文章,比單純的學習筆記、技術文章難寫多了。一方面,拖延症迫使我把難寫的文章放在後面寫,另一方面,強迫症又迫使我一定要在系列前出一個開篇。其實寫到最後,總覺得核心部分還差點兒意思,沒有搔到癢處,這是因為目前我還沒有能力站在一個全局的角度對職業技術體系進行劃分,只能梳理出目前的規劃和看法。後續要還需和朋友們進行交流。

有些事情是一定要做的,縱觀一些大牛前輩,無一不是在正確的時候做了正確的事。明確自己的目標,在前進的道路上不斷微調自己的方向,這樣才能在這個競爭激烈的職業中生存下去。

接下來會有系列的技術學習筆記,考慮到學習的連貫性,前期可能是一些基礎的docker/k8s等系列,後期會研究一些開源框架。技術文章可能會枯燥乏味,知識點也缺乏新意,但是經過自己的整理和實踐,再加上自身的理解感悟,相信會不斷完善自己的知識體系。

"

相關推薦

推薦中...