基于預(yù)熱與懶刪除的算法TF模型更新方案

為提高廣告、素材、活動(dòng)、插件等投放收益,這些流量入口都會(huì)對(duì)接算法,通過(guò)算法能力進(jìn)行精準(zhǔn)投放;對(duì)接算法則需要在業(yè)務(wù)系統(tǒng)引入算法TF模型(本地深度模型),算法系統(tǒng)會(huì)把對(duì)線上流量特征、收益等深度學(xué)習(xí)生成的TF模型加載到對(duì)應(yīng)業(yè)務(wù)系統(tǒng)的NAS服務(wù)中,十分鐘更新一次;業(yè)務(wù)系統(tǒng)從NAS讀取算法TF模型存儲(chǔ)到本地緩存,也需要十分鐘讀取一次做更新。在實(shí)際投放中,如活動(dòng)推薦,業(yè)務(wù)系統(tǒng)會(huì)將用戶流量信息(deviceId、ua、ip等)、活動(dòng)候選集和本地緩存的TF模型傳入算法接口,由算法退出一個(gè)最優(yōu)活動(dòng),然后進(jìn)行投放。

主要缺陷

  1. 模型更新,正在使用的線程因模型丟失而異常退出。

  2. 服務(wù)剛啟動(dòng)或模型更新后,加載速度非常慢,流量瞬間打入會(huì)出現(xiàn)大量超時(shí)而異常退出。

主要目的

加快投放響應(yīng),提升用戶體驗(yàn);提高算法接入質(zhì)量,最大化收益

基本構(gòu)思

利用隊(duì)列將本地緩存的算法TF模型進(jìn)行排序,隊(duì)列大小設(shè)置成3(可同時(shí)緩存三個(gè)TF模型,一個(gè)待刪除,一個(gè)在使用,一個(gè)預(yù)熱),利用隊(duì)列的先進(jìn)先出特性對(duì)緩存的TF模型做刪除操作,刪除操作只在隊(duì)列滿時(shí)。模型更新后不直接使用,先利用配置或線上流量進(jìn)行模型預(yù)熱加載,預(yù)熱完成后再使用。

具體實(shí)施例

服務(wù)啟動(dòng)初始化流程:


啟動(dòng)初始化
  1. 服務(wù)啟動(dòng)后,先從本地NAS服務(wù)中讀取TF模型;
  2. 對(duì)取出的模型進(jìn)行預(yù)熱處理,
  3. 將預(yù)熱好的TF模型插入隊(duì)列并存入本地Guava緩存。

服務(wù)運(yùn)行中預(yù)熱與懶刪除流程:


運(yùn)行中預(yù)熱與懶刪除
  1. 服務(wù)接受到活動(dòng)的投放請(qǐng)求后,會(huì)先從本地的Guava緩存中獲取模型;
  2. 若緩存未過(guò)期則取出TF模型直接使用推出活動(dòng)并返回;
  3. 若緩存已過(guò)期,先使用過(guò)期的模型同時(shí)異步從隊(duì)列的頭部取出一個(gè)TF模型放入緩存;
  4. 接著從NAS服務(wù)中讀取新的TF模型,進(jìn)行預(yù)熱處理;
  5. 從隊(duì)列尾部刪除一個(gè)TF模型(最舊的一個(gè)),并將更改預(yù)熱的TF模型從頭部插入隊(duì)列,結(jié)束異步線程,任務(wù)完成。

主要優(yōu)點(diǎn)

異步預(yù)熱,提升投放鏈路響應(yīng),避免流量等待預(yù)熱過(guò)期造成浪費(fèi);惰性刪除,防止實(shí)時(shí)刪除正在使用的模式導(dǎo)致投放失敗。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容