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