<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一年級(jí)算法工程師的工作總結(jié)

          共 2649字,需瀏覽 6分鐘

           ·

          2021-04-28 07:45

          作者:shane miao

          編輯:Jack Cui

          鏈接:https://zhuanlan.zhihu.com/p/361688187


          20 年 5 月到現(xiàn)在入職阿里已經(jīng)快一年了,一年之中也做了幾個(gè)項(xiàng)目,期間趟過(guò)了不少坑,以往的年度總結(jié)都是閉門(mén)造車(chē),寫(xiě)完了扔印象筆記之中給自己看,今年看了很多大佬們的文章,收獲很多,尤其是在討論的過(guò)程之中,對(duì)自身能力的強(qiáng)化很是受用。

          于是想曬曬自己一年的收獲,歡迎各位大佬交流~

          被暴打的現(xiàn)實(shí)

          5 月入職的時(shí)候,老板安排的是去做 CTR 模型。

          當(dāng)時(shí)看到線(xiàn)上模型比自己想的更加簡(jiǎn)單,于是理所當(dāng)然的認(rèn)為把模型升級(jí)到學(xué)界最新的那種肯定能帶來(lái)效果上的提升,但是做了很多嘗試,最后發(fā)現(xiàn)其實(shí)并沒(méi)有那么簡(jiǎn)單...

          于是在被現(xiàn)實(shí)狠狠教育了一番之后,終于痛定思痛,開(kāi)始做一個(gè) SQL 工程師,一切從特征做起,模型配合著特征進(jìn)行相對(duì)應(yīng)的升級(jí),自己的算法道路才漸漸走上正軌。

          一些積累經(jīng)驗(yàn)

          數(shù)據(jù)的準(zhǔn)確性是非常重要的

          具體地說(shuō),就是我們需要做很多數(shù)據(jù)清洗的工作。比如在日志中將虛曝光(服務(wù)器端打點(diǎn))除去,只保留真正的實(shí)曝光(用戶(hù)看到的),以及海外業(yè)務(wù),還需要將國(guó)內(nèi)的流量進(jìn)行清洗等等。

          總之,核心思想就是要保證訓(xùn)練數(shù)據(jù)是用戶(hù)真正看到的,且經(jīng)過(guò)在線(xiàn)鏈路打分的數(shù)據(jù)。

          另外如果沒(méi)有必要,千萬(wàn)別對(duì)當(dāng)前的數(shù)據(jù)做采樣。首先做了負(fù)采樣,就已經(jīng)改變了數(shù)據(jù)的分布,它的效果就已經(jīng)不夠置信了,其次,采樣完成之后還需要還原,尤其是在廣告業(yè)務(wù)中,還原之后還需要再加上校準(zhǔn)...

          整套流程下來(lái)不僅提升了整個(gè)鏈路的復(fù)雜程度,拿到的效果還不一定是正向的。

          線(xiàn)上線(xiàn)下特征一致性

          這算是一個(gè)老生常談的話(huà)題了,很多時(shí)候,我們發(fā)現(xiàn)離線(xiàn) auc 漲幅喜人,上線(xiàn)之后發(fā)現(xiàn)在線(xiàn)指標(biāo)紋絲不動(dòng),甚至還有向下波動(dòng)的趨勢(shì),第一反應(yīng)就是特征不一致。于是立刻返工去查找線(xiàn)上特征和線(xiàn)下特征是否一致,導(dǎo)致整個(gè)項(xiàng)目周期拉的特別長(zhǎng)。

          筆者今年在這一塊就吃了很大的虧。由于我們業(yè)務(wù)的在線(xiàn)鏈路中的特征是由 c++、 lua 等語(yǔ)言處理得到的。

          但是我們離線(xiàn)開(kāi)發(fā)的時(shí)候使用的是 python、java以及 SQL 處理得到,導(dǎo)致我們?cè)诩有绿卣鞯臅r(shí)候往往需要先用 python 和 sql 寫(xiě)一遍離線(xiàn)邏輯,再用 c++、lua 實(shí)現(xiàn)同樣的在線(xiàn)邏輯。

          這樣的做法首先會(huì)導(dǎo)致重復(fù)開(kāi)發(fā),其次兩套代碼的業(yè)務(wù)邏輯以及不同語(yǔ)言底層庫(kù)實(shí)現(xiàn)的區(qū)別勢(shì)必會(huì)導(dǎo)致在線(xiàn)/離線(xiàn)特征處理的不一致。

          為了解決上面的問(wèn)題,我們使用 C++ 開(kāi)發(fā)了一套特征處理庫(kù),我們將所有的特征處理邏輯全部封裝進(jìn)該庫(kù)之中,只要保證在線(xiàn)、離線(xiàn)輸入的數(shù)據(jù)是一致的,那么得到的特征也可以保證一致。離線(xiàn)情況下,我們則通過(guò) streaming 調(diào) c++ 庫(kù)的方式來(lái)生成離線(xiàn)特征。

          線(xiàn)上環(huán)境特征的引入

          由于我們組的業(yè)務(wù)場(chǎng)景、流量來(lái)源比較復(fù)雜,因此筆者剛開(kāi)始做CTR相關(guān)工作的時(shí)候,錨定了流量渠道這個(gè)一個(gè)小點(diǎn),挖了一部分特征,離線(xiàn) auc 上也確實(shí)拿到了一定的漲幅,但是一上線(xiàn)人就懵了,在線(xiàn)指標(biāo)跟online模型一模一樣。

          后續(xù)跟朋友、師兄的討論才明白了,渠道特征本質(zhì)上是環(huán)境特征。這一部分特征,讓模型可以分辨高 CTR 渠道和低 CTR 渠道,但是對(duì)于用戶(hù)最后會(huì)不會(huì)點(diǎn)并沒(méi)有過(guò)多的貢獻(xiàn)。

          離線(xiàn)指標(biāo)的全面化

          CPC 廣告場(chǎng)景中,一般情況下,最后的排序計(jì)算公式都是 ctr * bid_price, 這就要求在廣告場(chǎng)景中,我們不僅僅需要保證預(yù)估的序是對(duì)的,還需要保證預(yù)估的 CTR 的值是準(zhǔn)的。

          當(dāng)然,其實(shí)值如果準(zhǔn)了,那么序也應(yīng)該會(huì)更準(zhǔn)。但是離線(xiàn)指標(biāo)中的 auc 僅僅只能驗(yàn)證模型對(duì)序的預(yù)估情況,并不能實(shí)際反應(yīng)值是否準(zhǔn)確。

          因此,廣告場(chǎng)景下,我們還應(yīng)該關(guān)注類(lèi)似于 COPC (click over predicted click) 這樣的指標(biāo),當(dāng)然 COPC 這個(gè)指標(biāo)也有一定的局限性,比如樣本中如果有一半的數(shù)據(jù)被高估、另一半的數(shù)據(jù)被低估,那么 COPC 的計(jì)算結(jié)果很可能表現(xiàn)的還不錯(cuò)。

          快速驗(yàn)證想法的能力

          同是打工人,大家身上都背著 KPI 和績(jī)效。這時(shí)候,我們做的很多事會(huì)需要確定性結(jié)果,但是,作為算法工程師,我們做的很多事,都不能保證有確定性的結(jié)果。

          這時(shí)候,快速驗(yàn)證想法就是很重要的能力,我們需要在簡(jiǎn)短的 1-2周內(nèi)驗(yàn)證自己的思路是否能產(chǎn)生效益,然后再?zèng)Q定是否加大投入時(shí)間,把這個(gè)想法做的更加飽滿(mǎn),全面。

          舉個(gè)簡(jiǎn)單的例子,比如我們需要挖掘文本類(lèi)特征對(duì) CTR 模型的重要性,最簡(jiǎn)單的辦法就是去做一些重合特征,比如判斷 query 和 item title 的重合度,重合詞等等,看這些重合特征能對(duì) CTR 模型帶來(lái)多大的離線(xiàn)收益,如果能夠帶來(lái)比較不錯(cuò)的收益,我們便可以順著這個(gè)路子把文本類(lèi)特征做的更加完備。

          要有產(chǎn)品思維

          算法工程師其實(shí)并不應(yīng)該僅關(guān)注自己手中的事,其實(shí)多思考思考產(chǎn)品的形態(tài),也是極好的。雖然這一塊,筆者自己的體會(huì)并不是特別深,但還是想寫(xiě)出來(lái)告誡一下自己別成為一個(gè)只懂算法的人。

          最后,個(gè)人對(duì)產(chǎn)品和算法的看法是算法的不確定性某種程度上是可以通過(guò)產(chǎn)品來(lái)進(jìn)行彌補(bǔ)的。這個(gè)觀(guān)點(diǎn)也是在最近我們大團(tuán)隊(duì)內(nèi)部的某個(gè)產(chǎn)品上線(xiàn)后取得了非常好的效果之后逐漸形成的,算是一個(gè)拋磚引玉吧。

          學(xué)習(xí)和創(chuàng)新

          對(duì)于算法工程師而言,保持學(xué)習(xí)是一項(xiàng)重要的能力,緊跟學(xué)界、業(yè)界的前沿個(gè)人感覺(jué)還是比較重要的,另外根據(jù)業(yè)務(wù)的發(fā)展,或者手頭需要做的事情來(lái)有針對(duì)性的學(xué)一些知識(shí)點(diǎn)也是很重要的。

          最后,關(guān)于創(chuàng)新,感覺(jué)和學(xué)生時(shí)期做的論文真的差異很大,學(xué)生時(shí)代是確定大方向之后,四處開(kāi)花,哪里好做做哪里,工作之后,受限于業(yè)務(wù)和數(shù)據(jù),這時(shí)候還能做論文創(chuàng)新的,不得不說(shuō),確實(shí)很強(qiáng)。

          寫(xiě)在最后

          聊一些有的沒(méi)的吧,工作是一場(chǎng)長(zhǎng)跑,身體的好壞其實(shí)是相當(dāng)重要的。每天抽時(shí)間出來(lái)鍛煉身體,做身材管理,我個(gè)人認(rèn)為是比賺錢(qián)多少更重要的事情。

          另外,作為算法工程師畢竟會(huì)面臨很多不確定性,如何在失敗的情況下,保持一個(gè)好的心情也是一個(gè)很重要的能力。

          余以為每個(gè)人都應(yīng)該找到一個(gè)適合自己的解壓方式,比如我自己在壓力大或者心情不佳的時(shí)候選擇長(zhǎng)跑,10km下來(lái),就又是一個(gè)元?dú)鉂M(mǎn)滿(mǎn)的自己。

           End 


          聲明:部分內(nèi)容來(lái)源于網(wǎng)絡(luò),僅供讀者學(xué)術(shù)交流之目的,文章版權(quán)歸原作者所有。如有不妥,請(qǐng)聯(lián)系刪除。


          瀏覽 58
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  18AV在线观看 | 丁香在线| 东京热中文 | 国产日本欧美在线 | 韩日一级片 |