1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        算法工程師的落地能力具體指的是什么?

        共 6037字,需瀏覽 13分鐘

         ·

        2021-02-13 22:05

        ↑ 點(diǎn)擊藍(lán)字?關(guān)注極市平臺

        作者丨桔了個(gè)仔@知乎(已授權(quán))
        來源丨h(huán)ttps://www.zhihu.com/question/304695682/answer/1720475610
        編輯丨極市平臺

        極市導(dǎo)讀

        ?

        作者從自身經(jīng)驗(yàn)出發(fā),從三個(gè)方面:軟實(shí)力、技術(shù)和業(yè)務(wù)講述了算法工程師落地的能力具體指向,為想要成為算法工程師或者已經(jīng)工作中的小伙伴們提供一點(diǎn)小小的建議。?>>CV開發(fā)者2021新春專屬紅包封面已追加!點(diǎn)擊閱讀原文即可免費(fèi)領(lǐng)?。?/span>

        本文約5000字,閱讀需要30分鐘。

        大家好,這里是桔了個(gè)仔,目前是一名Data Scientist(不太想翻譯成數(shù)據(jù)科學(xué)家,畢竟感覺自己就是個(gè)工程師),過去幾年在做基于機(jī)器學(xué)習(xí)的風(fēng)控與合規(guī)系統(tǒng),參與了一些算是成功的項(xiàng)目,和團(tuán)隊(duì)一起,成功在幾個(gè)跨國銀行那里落地了我們開發(fā)的系統(tǒng)。
        根據(jù)我的經(jīng)歷以及對身邊同事的觀察,我個(gè)人會把落地工程師的「落地能力」分為三個(gè)維度:


        1.技術(shù)層面

        很多人以為算法工程師日常工作就是調(diào)下參,改個(gè)算法再跑跑,直到神經(jīng)網(wǎng)絡(luò)輸出符合預(yù)期。在入行前,他們以為算法工程師的日常是這樣的:
        圖源《如何創(chuàng)造可信的AI》
        事實(shí)上,算法工程師可能涉及的技術(shù)范圍是很廣的。很可能是這樣的[1]
        圖源:《Hidden Technical Debt in Machine Learning Systems》
        中間那個(gè)小小的幾乎都快看不見的黑塊,你放大圖片,會發(fā)現(xiàn)里面寫著ML Code,這就是「算法」的部分。當(dāng)然,別被這個(gè)圖嚇到,這不一定全是你的工作,這里是一個(gè)團(tuán)隊(duì)的任務(wù),這個(gè)團(tuán)隊(duì)可能是兩人的團(tuán)隊(duì),也可能是幾十人的團(tuán)隊(duì),但可以肯定的是,無論你在哪個(gè)公司,一個(gè)算法工程師都不太可能只做純「算法」,不要忘了「工程師」三個(gè)字。對于要做產(chǎn)品落地的工程師,搞算法的時(shí)間很可能不到10%,其他技術(shù)部分可能占據(jù)你40%。要增強(qiáng)自己落地能力中的技術(shù)水平,除了算法要基礎(chǔ)打好,你還需要:

        • 學(xué)會數(shù)據(jù)獲取。原始數(shù)據(jù)需要經(jīng)過ETL才能被算法利用。ETL(Extract, Transform, Load)是將業(yè)務(wù)系統(tǒng)的數(shù)據(jù)經(jīng)過抽取、清洗轉(zhuǎn)換之后加載到數(shù)據(jù)倉庫的過程,目的是將企業(yè)中的分散、零亂、標(biāo)準(zhǔn)不統(tǒng)一的數(shù)據(jù)整合到一起,為企業(yè)的決策提供分析依據(jù)。也許你們公司有專職的數(shù)據(jù)工程師來做ETL,但你如果能稍微參與到ETL的過程中,不僅讓你在大數(shù)據(jù)技術(shù)方面得到提升,而且對你理解上游業(yè)務(wù)非常有幫助。ETL工具的典型代表有:Informatica、Datastage、OWB、微軟DTS等。

        • 構(gòu)建特征。如果沒有機(jī)會參加到ETL里,也沒關(guān)系,我也沒,畢竟客戶不想給讓我們接觸原始數(shù)據(jù)。這時(shí)候,你也可以處理ETL之后的數(shù)據(jù),從中構(gòu)建特征。其實(shí)特征構(gòu)建的過程能幫助你理解業(yè)務(wù),例如給銀行預(yù)測信用卡逾期風(fēng)險(xiǎn),你了解到,債務(wù)負(fù)擔(dān)率和用戶風(fēng)險(xiǎn)有著一定關(guān)聯(lián),于是你會考慮把用戶所有信用卡的欠款加起來除以這個(gè)用戶的收入,得到一個(gè)新的特征。關(guān)于相關(guān)技術(shù),我知道很多人肯定馬上想到pandas,但老實(shí)講句,我做了幾年數(shù)據(jù)工作,能用到pandas的機(jī)會真的不多。產(chǎn)品都要落地了,幾百萬條的數(shù)據(jù)馬上進(jìn)來了,還在玩pandas?spark, hadoop, flink等分布式計(jì)算平臺趕緊給我研究起來。

        • 可視化數(shù)據(jù)。我相信問出來這個(gè)問題的人都知道哪些python庫可以做可視化,例如matplot, seaborn等等。當(dāng)然,除了python庫,excel里的可視化也要做好,這與算法無關(guān),但在你做匯報(bào)時(shí)能幫助你把一個(gè)結(jié)果解釋清楚。

        • 會用服務(wù)器。一般數(shù)據(jù)產(chǎn)品部署,得上云或者私有服務(wù)器吧,那么如果你還不熟悉linux,那就趕緊練練吧。你把系統(tǒng)部署到服務(wù)器時(shí),是不太可能用鼠標(biāo)拖拽個(gè)exe就完事的。如果你還能熟練使用aws等云服務(wù),那就更好了。

        • 至于UI層面,例如構(gòu)建網(wǎng)頁等等,開發(fā)app這種,這就不再推薦算法工程師學(xué)了,畢竟人的精力有限。


        前面技術(shù)部分花了10%+40%的工作時(shí)間,然后其他50%的時(shí)間呢?用來和客戶或者產(chǎn)品經(jīng)理溝通,然后理解業(yè)務(wù),做ppt,匯報(bào)結(jié)果。雜事很多,很難接受吧?沒錯(cuò),我剛?cè)胄袝r(shí)也是覺得自己一身技術(shù)無處施展,后來我上司一句話啟發(fā)了我:
        技術(shù)是邏輯的藝術(shù),業(yè)務(wù)也是,所以只搞技術(shù)不管業(yè)務(wù)的,不能算是邏輯能力出眾的。
        你現(xiàn)在應(yīng)該有疑問了,那怎么才算「懂業(yè)務(wù)」?嘿嘿,馬上道來。


        2.業(yè)務(wù)層面

        其實(shí)關(guān)于「懂業(yè)務(wù)」,可以分為宏觀業(yè)務(wù)和微觀業(yè)務(wù)兩部分。

        宏觀業(yè)務(wù)指的是行業(yè)的「共性」。例如:
        • 你的產(chǎn)品所服務(wù)的對象所在的行業(yè)都有什么「痛點(diǎn)」。sorry,句子有點(diǎn)長,而且說法也有點(diǎn)「老土」,但了解客戶痛點(diǎn)永遠(yuǎn)都是必須的。例如我做金融風(fēng)控,客戶的痛點(diǎn)是「舊的專家系統(tǒng)規(guī)則更新慢」,而我們提供「基于機(jī)器學(xué)習(xí)的方案」,數(shù)據(jù)來了就自動更新規(guī)則,就能解決他們痛點(diǎn)。

        • 他們這項(xiàng)業(yè)務(wù)目前的工作流程如何。例如我做反洗錢,那么我得了解洗錢的三個(gè)步驟,反洗錢的警報(bào)產(chǎn)生,警報(bào)調(diào)查等等。這些流程在不同客戶之間都是一樣的,我了解清楚了這些,我才能知道,我的產(chǎn)品是在哪個(gè)環(huán)節(jié)發(fā)揮價(jià)值。如果你做的項(xiàng)目是對內(nèi)的,例如為自己公司電商搞推薦算法,那你必須清楚用戶在你們APP上的路徑,例如首頁到搜索頁再到詳情頁。以及在每條路徑上,怎么做推薦商品,例如有的商品是推薦搭配,有的商品是推薦近似替代品。



        微觀業(yè)務(wù)是指不同部門/公司在實(shí)踐上的不同。微觀業(yè)務(wù)是最容易被人忽視的而且也是最辛苦的,因?yàn)榇蠹叶加胁煌摹钢R沉淀」方式,學(xué)習(xí)起來并沒有那么立竿見影。但我發(fā)現(xiàn)有趣的一點(diǎn)是,當(dāng)你接觸微觀的業(yè)務(wù)多了,你還是能從中提取「共性」。例如某個(gè)算法工程師,之前在銀行做風(fēng)控,在銀行獲取數(shù)據(jù)流程會比較長,每個(gè)步驟要做的事情不能跳過;現(xiàn)在去某互聯(lián)網(wǎng)金融公司做風(fēng)控,可能獲取數(shù)據(jù)流程變得很短,但是你會發(fā)現(xiàn)共性是,大家都有準(zhǔn)入審查、逾期催收等環(huán)節(jié),用到的技術(shù)可能也是相近的。

        現(xiàn)在你已經(jīng)掌握了各種技術(shù),準(zhǔn)備大干一場,準(zhǔn)備拿最強(qiáng)的深度學(xué)習(xí)模型,給客戶設(shè)計(jì)一款準(zhǔn)確率非常高的產(chǎn)品?,F(xiàn)在你開始學(xué)習(xí)相關(guān)業(yè)務(wù),我建議你帶著問題學(xué)習(xí)。不過,你什么都不懂時(shí),你應(yīng)該問自己的第一個(gè)問題是什么?沒錯(cuò),那就是:

        做這個(gè)系統(tǒng)的真實(shí)需求是什么?
        這個(gè)問題很重要。有個(gè)故事是這樣的:
        某大型日化公司引入了一條國外肥皂生產(chǎn)線,這條生產(chǎn)線將肥皂從原材料加入直到包裝箱自動完成。不過產(chǎn)品線有瑕疵,個(gè)別肥皂盒是空的,這家公司聯(lián)系廠商后被告知這是設(shè)計(jì)上的缺陷,無法避免。于是老板要求工程師們解決這個(gè)問題,以數(shù)名博士為核心形成一個(gè)技術(shù)攻關(guān)團(tuán)隊(duì),耗費(fèi)大筆資金之后,終于宣告解決。解決的辦法是在生產(chǎn)線上安裝一套 X 光機(jī)進(jìn)行掃描識別。在另一家私人企業(yè),老板讓新來的小工解決問題,小工所用的辦法是,找來一臺電風(fēng)扇放在生產(chǎn)線旁邊
        不知道這是真實(shí)故事還是段子,不過我們可以知道的是,如果你只顧著解決自己拿到的問題,而不想問題背后的真實(shí)需求是什么,埋頭苦干,用復(fù)雜的方法來解決個(gè)很簡單的事,那么會弄出大炮打蚊子的笑話。

        第二個(gè)該問自己的問題是:
        有什么制約因素?

        對于機(jī)器學(xué)習(xí)系統(tǒng),落地時(shí)的制約因素主要包括(但不限于):
        • 開發(fā)時(shí)間。即使項(xiàng)目剛開始,你還不知道要花多久,你也得計(jì)劃開發(fā)時(shí)間出來,你計(jì)劃不出來,領(lǐng)導(dǎo)也會給你設(shè)定期限。畢竟做產(chǎn)品不同于做研究,做產(chǎn)品大家都喜歡確定的投入和可預(yù)估的匯報(bào)。
        • 計(jì)算資源。因?yàn)闄C(jī)器學(xué)習(xí)系統(tǒng)使用是需要成本的,你得知道用戶能承受怎么樣的成本或者自己服務(wù)器能承受怎樣的成本。
        • 算法性能。算法落地不同于打kaggle比賽,并沒有時(shí)間能把性能壓榨到極致。只要比預(yù)期好些,基本就「先用著再說」了
        要在這三個(gè)限制因素里面取得微妙的平衡,才能使得產(chǎn)品落地。我剛做數(shù)據(jù)科學(xué)工作時(shí),總喜歡搞算法調(diào)優(yōu)來炫技,但其實(shí)壓榨算法的邊際收益很低,你用一個(gè)月把算法準(zhǔn)確率從70%提升到80%,可能還不如提前一個(gè)月把系統(tǒng)上線使用起來的收益高。

        第三個(gè)該問自己的問題是:
        算法、性能評估和業(yè)務(wù)是否吻合?

        還是拿我自己的經(jīng)歷做例子。
        我工作中面對的數(shù)據(jù),是非常的不平衡的,我們做二元分類,100條數(shù)據(jù)里,標(biāo)簽為1的只有2~3條,其他97~98條數(shù)據(jù)標(biāo)簽都是0。這個(gè)時(shí)候顯然需要選擇一些合理的評估方法,首先就排除了用準(zhǔn)確率(Accuracy)作為評判標(biāo)準(zhǔn)了,F(xiàn)1-score, AUC都可以備選。原因?可以看我在另一個(gè)問題的舉的例子。

        如何評價(jià)德國訓(xùn)練探雷犬和尋尸犬識別新冠患者,稱準(zhǔn)確率達(dá)94%?嗅探犬接觸患者后會成為病毒傳播介質(zhì)嗎?
        https://www.zhihu.com/question/442962994/answer/1717172385

        然后是模型選擇。銀行的業(yè)務(wù)需要強(qiáng)解釋性,所以又否決了所有黑箱模型。剩下的就在tree-based model、logistic regression還有線性kernel的svm之間選擇了。

        上線之后要評價(jià)模型對正負(fù)樣本區(qū)分度,于是又要引入KS值。隨著時(shí)間遷移,數(shù)據(jù)分布可能會變化,又要引入PSI值來監(jiān)控?cái)?shù)據(jù)偏移程度來決定是否重新訓(xùn)練模型。
        你看,模型和評價(jià)指標(biāo),都是和業(yè)務(wù)息息相關(guān)的。

        如果你看到這里還是感覺到迷茫,不知道怎么補(bǔ)足相關(guān)業(yè)務(wù)知識,例如產(chǎn)品和運(yùn)營的知識,可以看我之前寫的一個(gè)回答,這里就不重復(fù)敘述了。

        算法工程師如何補(bǔ)足產(chǎn)品和運(yùn)營知識?
        https://www.zhihu.com/question/436066262/answer/1695872348

        那怎么檢驗(yàn)自己真的「懂業(yè)務(wù)」了呢?你可以檢查下自己能不能做到下面這些點(diǎn):
        • 檢查下自己是否能快速復(fù)現(xiàn)方案?
        • 如果能快速復(fù)現(xiàn)方案,是否能估算每個(gè)階段大致需要多少人多少時(shí)間?
        • 面對不同的數(shù)據(jù)量,能否估算一個(gè)大概的服務(wù)器性能需求?


        3.軟實(shí)力層面

        懂技術(shù)了,又懂業(yè)務(wù)了,是不是感覺還不夠差點(diǎn)什么能力去推動產(chǎn)品落地?這個(gè)是拋開技術(shù)和業(yè)務(wù)之外的東西,要描述成一個(gè)具體的能力,真的很難,我會把這些能力都?xì)w結(jié)于「軟實(shí)力」。我認(rèn)為主要是表現(xiàn)在溝通,思維這兩方面。情商、親和力、共情能力、有眼光,這些算不算軟實(shí)力?當(dāng)然算,但你有沒有發(fā)現(xiàn),這些軟實(shí)力都是基于溝通和思維的。

        溝通和思維等軟實(shí)力包括(但不限于):
        • 和客戶溝通的能力。聽你講的客戶并不一定是算法工程師或者數(shù)據(jù)科學(xué)家,你是否能把自己的方案原理講清楚?設(shè)計(jì)到技術(shù)的概念,是否能讓非技術(shù)的聽眾也能大致理解?
        • 思考能力。例如結(jié)構(gòu)化思維和批判性思維。其實(shí)有一定套路,只要多加練習(xí)就能掌握。推薦書籍有《金字塔原理》、《批判性思維工具》等。
        • 推動團(tuán)隊(duì)的能力。和個(gè)人魅力息息相關(guān)。


        這里說個(gè)真實(shí)故事,和算法無關(guān),和軟實(shí)力有關(guān)。我大舅是開工廠的,產(chǎn)品良品率之前一直上不去。我二舅退休后就去我大舅廠里做質(zhì)量監(jiān)督。我二舅就中學(xué)學(xué)歷,普通話也不標(biāo)準(zhǔn),但我二舅進(jìn)廠后,產(chǎn)品良品率上去了,工廠也扭虧為盈了。我問他怎么做到的,他說,很簡單啊,對于那些手工不精湛的小伙子,我就親自做一遍給他看,并告訴他,我一個(gè)退休老頭都能按質(zhì)做好,為啥你不行?就這么耐心的一個(gè)個(gè)溝通,一個(gè)個(gè)教學(xué),盯著他們直到確認(rèn)他們能做好為止??雌饋磉@很簡單是吧,但這過程需要耐心溝通,需要系統(tǒng)性思維找到關(guān)鍵因素。這就是軟實(shí)力的表現(xiàn)之一。

        如果你觀察銷售團(tuán)隊(duì)的日常,你會發(fā)現(xiàn),他們做的事情看起來簡單,大部分時(shí)間就是給客戶發(fā)發(fā)郵件,和客戶開開會,都是動嘴皮子的事情,但是如果讓你去做這些,你會發(fā)現(xiàn)你會缺少自己貌似很難推進(jìn),你會問自己,自己嘴皮子咋就不那么好呢?軟實(shí)力就像肌肉,運(yùn)用軟實(shí)力的過程就像搬磚,把磚頭從A點(diǎn)搬到B點(diǎn)看著很容易,但搬起來才發(fā)現(xiàn)自己肌肉還不夠強(qiáng)大。

        而鍛煉軟實(shí)力的方法?無它,只有干多了,軟實(shí)力才能上去。具體的說,對于算法工程師而言,就是不要逃避那些繁瑣的看似沒收獲的事情。例如在我為某客戶落地風(fēng)控系統(tǒng)的過程中,我們需要和他們的項(xiàng)目經(jīng)理保持聯(lián)系,有問題也要給他們的數(shù)據(jù)團(tuán)隊(duì)反饋。其實(shí)這過程還挺難搞,因?yàn)樗麄冏鳛橐粋€(gè)跨國大公司,顯然數(shù)據(jù)中心是需要同時(shí)對接很多vendor的,所以當(dāng)和他們合作時(shí),需要經(jīng)常主動推進(jìn)項(xiàng)目進(jìn)度,不然他們的項(xiàng)目經(jīng)理會問責(zé)我們。例如我們有個(gè)pipeline每天固定時(shí)間要跑,他們作為上游,需要在運(yùn)行時(shí)間前把數(shù)據(jù)給到我們。當(dāng)時(shí)間到了,數(shù)據(jù)還沒給到我們,我們要做的第一個(gè)事,就立馬需要給數(shù)據(jù)團(tuán)隊(duì)發(fā)送郵件,抄送項(xiàng)目經(jīng)理,分清責(zé)任;然后積極跟進(jìn)回復(fù),搞清楚原因,和數(shù)據(jù)團(tuán)隊(duì)商量個(gè)預(yù)計(jì)解決時(shí)間,并且在這個(gè)時(shí)間點(diǎn)來臨前就問問進(jìn)度,以預(yù)留足夠時(shí)間來應(yīng)變。在這些看似繁瑣的溝通過程中,我掌握了推進(jìn)工作的方法,養(yǎng)成了積極推動工作進(jìn)展,并在deadline來臨前檢查進(jìn)度以預(yù)留時(shí)間應(yīng)變的好習(xí)慣。


        總結(jié)

        算法工程師的「落地能力」包括技術(shù)能力,業(yè)務(wù)理解,還有軟實(shí)力。但對自己要求不要太苛刻,就好像你玩游戲時(shí)很少能用到每個(gè)維度的能力都滿分的英雄一樣,人的能力是有個(gè)頻譜的,不可能方方面面都能做得滿分,所以不要對自己感到挫敗。

        就拿我自己說,大家別看我說的頭頭是道,但是說實(shí)話,說了這么多,其實(shí)我自己也并不能每個(gè)方面都做得好。這個(gè)「落地能力頻譜」就像是一個(gè)打分卡,幫助你從更全面的角度來分析自己的能力頻譜。有的人技術(shù)不那么精湛,但很懂業(yè)務(wù),很會帶隊(duì),也能使得產(chǎn)品順利落地;有的人技術(shù)滿分,但業(yè)務(wù)和溝通能力欠缺,但配合其他團(tuán)隊(duì)成員的優(yōu)勢,也能使得產(chǎn)品順利落地。

        所以,接受自己的不足,盡可能動態(tài)平衡自己的能力頻譜,總有一日,你能成為具有超強(qiáng)「落地能力」甚至能獨(dú)當(dāng)一面的算法工程師。

        參考:

        Hidden Technical Debt in Machine Learning Systems?

        https://wiki.esipfed.org/w/images/5/5f/NIPS-5656-hidden-technical-debt-in-machine-learning-systems.pdf



        推薦閱讀



        添加極市小助手微信(ID : cvmart2),備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳),即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群:每月大咖直播分享、真實(shí)項(xiàng)目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與?10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~
        △長按添加極市小助手

        △長按關(guān)注極市平臺,獲取最新CV干貨

        覺得有用麻煩給個(gè)在看啦~??
        瀏覽 36
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            黄色小说网站免费 | 欧美X X888做受 | 欧美黑人3p | 日本黄色视频免费 | 无码精品一区二区免费 | 凹凸在线视频 | 美女被狂揉下部羞羞视频 | 插插看| 91n免费处女在线破视频 | 女人被两根一起进3p图片 |