<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é)

          共 2686字,需瀏覽 6分鐘

           ·

          2022-01-10 09:28

          ↓↓↓點(diǎn)擊關(guān)注,回復(fù)資料,10個(gè)G的驚喜

          來(lái)源:知乎@shane miao。20年5月到現(xiàn)在入職阿里已經(jīng)快一年了,一年之中也做了幾個(gè)項(xiàng)目,期間趟過(guò)了不少坑,以往的年度總結(jié)都是閉門造車,寫完了扔印象筆記之中給自己看,今年學(xué)習(xí)了很多大佬們的文章,收獲很多,尤其是在討論的過(guò)程之中,對(duì)自身能力的強(qiáng)化很是受用。于是想曬曬自己一年的收獲,歡迎各位大佬交流~


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

          5月入職的時(shí)候,老板安排的是去做 CTR 模型。當(dāng)時(shí)看到線上模型比自己想的更加簡(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)

          ??1 .數(shù)據(jù)的準(zhǔn)確性是非常重要的
          具體地說(shuō),就是我們需要做很多數(shù)據(jù)清洗的工作。比如在日志中將虛曝光(服務(wù)器端打點(diǎn))除去,只保留真正的實(shí)曝光(用戶看到的),以及海外業(yè)務(wù),還需要將國(guó)內(nèi)的流量進(jìn)行清洗等等。總之,核心思想就是要保證訓(xùn)練數(shù)據(jù)是用戶真正看到的,且經(jīng)過(guò)在線鏈路打分的數(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ù)雜程度,拿到的效果還不一定是正向的。

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

          筆者今年在這一塊就吃了很大的虧。由于我們業(yè)務(wù)的在線鏈路中的特征是由 c++、 lua 等語(yǔ)言處理得到的。但是我們離線開(kāi)發(fā)的時(shí)候使用的是 python、java以及 SQL 處理得到,導(dǎo)致我們?cè)诩有绿卣鞯臅r(shí)候往往需要先用 python 和 sql 寫一遍離線邏輯,再用 c++、lua 實(shí)現(xiàn)同樣的在線邏輯。這樣的做法首先會(huì)導(dǎo)致重復(fù)開(kāi)發(fā),其次兩套代碼的業(yè)務(wù)邏輯以及不同語(yǔ)言底層庫(kù)實(shí)現(xiàn)的區(qū)別勢(shì)必會(huì)導(dǎo)致在線/離線特征處理的不一致。

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

          3. 線上環(huán)境特征的引入
          由于我們組的業(yè)務(wù)場(chǎng)景、流量來(lái)源比較復(fù)雜,因此筆者剛開(kāi)始做CTR相關(guān)工作的時(shí)候,錨定了流量渠道這個(gè)一個(gè)小點(diǎn),挖了一部分特征,離線 auc 上也確實(shí)拿到了一定的漲幅,但是一上線人就懵了,在線指標(biāo)跟online模型一模一樣。后續(xù)跟朋友、師兄的討論才明白了,渠道特征本質(zhì)上是環(huán)境特征。這一部分特征,讓模型可以分辨高 CTR 渠道和低 CTR 渠道,但是對(duì)于用戶最后會(huì)不會(huì)點(diǎn)并沒(méi)有過(guò)多的貢獻(xiàn)。

          4. 離線指標(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)。但是離線指標(biāo)中的 auc 僅僅只能驗(yàn)證模型對(duì)序的預(yù)估情況,并不能實(shí)際反應(yīng)值是否準(zhǔn)確。因此,廣告場(chǎng)景下,我們還應(yīng)該關(guān)注類似于?COPC (click over predicted click)?這樣的指標(biāo),當(dāng)然 COPC 這個(gè)指標(biāo)也有一定的局限性,比如樣本中如果有一半的數(shù)據(jù)被高估、另一半的數(shù)據(jù)被低估,那么 COPC 的計(jì)算結(jié)果很可能表現(xiàn)的還不錯(cuò)。

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

          6. 要有產(chǎn)品思維
          算法工程師其實(shí)并不應(yīng)該僅關(guān)注自己手中的事,其實(shí)多思考思考產(chǎn)品的形態(tài),也是極好的。雖然這一塊,筆者自己的體會(huì)并不是特別深,但還是想寫出來(lái)告誡一下自己別成為一個(gè)只懂算法的人。最后,個(gè)人對(duì)產(chǎn)品和算法的看法是算法的不確定性某種程度上是可以通過(guò)產(chǎn)品來(lái)進(jìn)行彌補(bǔ)的。這個(gè)觀點(diǎn)也是在最近我們大團(tuán)隊(duì)內(nèi)部的某個(gè)產(chǎn)品上線后取得了非常好的效果之后逐漸形成的,算是一個(gè)拋磚引玉吧。

          7. 學(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)。

          寫在最后

          聊一些有的沒(méi)的把,工作是一場(chǎng)長(zhǎng)跑,身體的好壞其實(shí)是相當(dāng)重要的。每天抽時(shí)間出來(lái)鍛煉身體,做身材管理,我個(gè)人認(rèn)為是比賺錢多少更重要的事情。另外,作為算法工程師畢竟會(huì)面臨很多不確定性,如何在失敗的情況下,保持一個(gè)好的心情也是一個(gè)很重要的能力。余以為每個(gè)人都應(yīng)該找到一個(gè)適合自己的解壓方式,比如我自己在壓力大或者心情不佳的時(shí)候選擇長(zhǎng)跑,10km下來(lái),就又是一個(gè)元?dú)鉂M滿的自己。

          推薦閱讀

          1. 準(zhǔn)備寫本書(shū)
          2. 21個(gè)深度學(xué)習(xí)開(kāi)源數(shù)據(jù)集匯總!
          3. 【機(jī)器學(xué)習(xí)】特征工程的基本功
          4. 馬爾科夫決策過(guò)程基本概念詳解
          5. 用 Python 從 0 實(shí)現(xiàn)一個(gè)神經(jīng)網(wǎng)絡(luò)
          6. 40篇AI論文!附PDF下載,代碼、視頻講解


          三連在看,月入百萬(wàn)??

          瀏覽 15
          點(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>
                  91麻豆午夜视频 | 国产精品97 | 亚洲一级一级黄色 | a在线观看视频 | 美女被c网站 |