算法工程師傾向于根據(jù)實(shí)際場(chǎng)景解決實(shí)際問(wèn)題,但使用的工具是算法??茖W(xué)研究需要像工作一樣定義一個(gè)有意義、有價(jià)值的問(wèn)題。場(chǎng)景中的專業(yè)問(wèn)題定義了編程能力、問(wèn)題解決能力、建模能力、科研能力和科學(xué)寫作應(yīng)該是科研。尤其是在中小型公司需求。
需求分析
軟件統(tǒng)一建模(類圖接口時(shí)序圖接口文檔)-
選擇商業(yè)AI算法模型的組合-
數(shù)據(jù)采集工程數(shù)據(jù)處理和分析-
開(kāi)發(fā)和實(shí)施-
測(cè)試、部署在線回溯測(cè)試和實(shí)時(shí)監(jiān)控。-
優(yōu)化迭代。
有幾種型號(hào)選擇著陸尺寸。
(1)機(jī)器學(xué)習(xí)的實(shí)時(shí)性。
(2)性價(jià)比。
(3)可解釋性。
(4)對(duì)培訓(xùn)數(shù)據(jù)的需求。
轉(zhuǎn)載很多好的體驗(yàn)文章。
談工程能力的重要性。
以舞蹈為例,如果把算法訓(xùn)練的模型比作一個(gè)完成的舞蹈,那么工程能力就是舞蹈的基本功。如果你根本沒(méi)練過(guò)基本功,或者基本功很差,手腳不協(xié)調(diào),也可以通過(guò)努力學(xué)習(xí)這種成品舞,但離藝術(shù)審美水平還很遠(yuǎn)。如果基本功很扎實(shí),那你學(xué)什么新舞蹈都是自然的。
如果你有很強(qiáng)的工程能力和扎實(shí)的基本功,并且在工作過(guò)程中需要解決一些實(shí)際問(wèn)題,可以快速上手解決。理論和實(shí)踐之間有差距。
合格的算法工程師必須具備的工程能力:
1、調(diào)試。快速定位問(wèn)題的能力是無(wú)價(jià)的。這是最重要的一點(diǎn)。
2.Python、Java、C等。這三種編程語(yǔ)言非常重要,使用頻率從高到低。模型離線訓(xùn)練需要Python(無(wú)論是tensorflow還是pytorch框架),在線服務(wù)或?qū)崿F(xiàn)定制算法策略一般使用Java,在線Query預(yù)測(cè)服務(wù)一般使用C。
3.hive sql .這種語(yǔ)言在我們的工作中經(jīng)常使用,我們都是sql男孩/sql女孩。
4.shell、Awk等。它經(jīng)常在快速處理數(shù)據(jù)和調(diào)用一些python和java腳本時(shí)使用。
5.scala:在我工作的最初幾年,spark使用得比較多,所以訓(xùn)練非深度模型和與hive sql交互非常方便。
6.對(duì)分布式框架的理解。這一點(diǎn)非常重要。比如ps/worker/chief在tensorflow框架中是如何協(xié)同工作的,參數(shù)更新在哪里,模型訓(xùn)練在哪里?
除了必要的工程能力之外,一個(gè)合格的算法工程師不僅僅是算法工程師,他必須有企業(yè)主和產(chǎn)品的視角。
有時(shí)候在算法效果提升有瓶頸的時(shí)候,從用戶角度和產(chǎn)品層面考慮是否有更好的切入點(diǎn)。也要對(duì)業(yè)務(wù)運(yùn)行機(jī)制進(jìn)行深入思考,從發(fā)貨供應(yīng)端,經(jīng)過(guò)冷啟動(dòng),到召回,到粗安排,再到細(xì)安排,最后到分揀機(jī)制,哪個(gè)環(huán)節(jié)可能出錯(cuò),哪個(gè)環(huán)節(jié)有優(yōu)化點(diǎn)。所以一個(gè)全棧全鏈接的算法工程師是稀缺人才。只有供給/召回/精細(xì)排放/機(jī)制的聯(lián)動(dòng)優(yōu)化,才能讓線上效果有質(zhì)的飛躍。
一個(gè)優(yōu)秀的算法工程師不僅能玩轉(zhuǎn)模型,還能對(duì)產(chǎn)品有獨(dú)到的見(jiàn)解和思考。薈牛網(wǎng)舉個(gè)例子比如,當(dāng)你以真實(shí)用戶的身份體驗(yàn)推薦的視頻流時(shí),很容易在產(chǎn)品或系統(tǒng)層面發(fā)現(xiàn)一些問(wèn)題,然后回到算法上通過(guò)技術(shù)手段或與產(chǎn)品合作來(lái)解決這些問(wèn)題。只有這樣,公司的產(chǎn)品才能越來(lái)越好,算法優(yōu)化的天花板才會(huì)越來(lái)越高。