闲鱼推荐,让智能计算从云走向端
關鍵詞:?
智能推薦、特征工程、特征處理。
術語解釋:
- 機器學習(Machine Learning):是關于在計算機上從數據中產生“模型”(model)的算法;
- 數據集(Data Set):一組記錄的集合;
- 模型(Model):泛指從數據中學得的結果;
- 特征(Feature):是從原始數據中抽取出來的對結果預測有用的信息,可以是文本或者數據;
- 特征工程(Feature Engineering):是使用專業背景知識和技巧處理數據,使得特征能在機器學習算法上發揮更好的作用的過程。過程包含了特征提取、特征構建、特征選擇等模塊;
- 端計算/邊緣計算:與傳統的中心化思維不同,它的計算節點更靠近終端,使服務響應高于傳統中心化的云計算。
1. 背景
近些年,隨著云計算和大數據的快速發展,以機器學習為基礎的智能推薦也得到了迅猛發展。利用云計算,不但可以每日更新模型,雙11更是小時級更新模型,以實現更準確的推薦。為了更好的優化推薦系統,豐富實時特征,通常會采集大量的行為數據上報到云端。隨著閑魚DAU(日活躍用戶數量)的不斷增長,這種云端中心化計算模式的問題也暴露了出來。
中心化模式不但要消耗大量的服務器資源,還要面對海量數據處理所帶來的延遲問題(分鐘級延遲,不可原諒)。
2. 推薦系統的實時性
為什么說,延遲問題對推薦系統是致命的,不可原諒的??
推薦系統的實時性越高,更新速度越快,推薦越準。現在的用戶越來越沒有耐心,如果不快速抓住用戶的心,用戶很容易流失。
推薦系統的實時性是指:?
(1)“模型”的實時性;?
(2)“特征”的實時性
2.1 “模型”的實時性
“模型”的實時性:不斷更新模型,可以讓模型找到最新的流行趨勢,以及最新的相關性信息。
比如,大家都去關注某個明星,模型會通過大多數人的行為數據,發現該明星成為了流行趨勢,以及大家所關注的內容。
暫時不對模型的實時性進行詳細分析,現在的模型訓練還強依賴云計算。?
當然,很多人也在嘗試,端計算和云計算的聯合訓練。相信不久的將來,應該會有成果落地。
2.2 “特征”的實時性
“特征”的實時性:以用戶最近的行為數據作為輸入特征,模型就會發現用戶最近的行為習慣,并進行相關的預測和推薦。
比如,你瀏覽了一部手機,系統就會給你推送不同品牌、不同價位的手機;如果你連續瀏覽華為手機,系統就會給你推送不同價位的華為手機。你連續行為數據越豐富,推薦越準確。
PS:我們說的,中心化計算模式數據處理所帶來的延遲問題,就是影響了特征的實時性。
3. 推薦系統的實時特征
為什么,特征更新只是存在分鐘級延遲就不可原諒了?而模型只需要每日更新??
模型的實時性代表流行趨勢,通常情況流行趨勢不會實時變化,只需要滿足活動的趨勢變化就可以了。?
而特征的實時性代表個體用戶的實時行為,如果無法對用戶的實時行為做出響應,用戶就可能流失。
特征的實時性很重要,其實并不是所有特征都有實時性要求,比如:性別、年齡等。對實時性有要求的特征,我們稱之為實時特征。
閑魚推薦實時特征包括:?
(1)瀏覽行為特征,如曝光、曝光時長、滾動速度等;?
(2)詳情頁行為特征,如進入詳情頁、詢單、收藏、評論、點贊、點擊大圖等;?
(3)購買行為特征,下單后不再進行相關推薦。
瀏覽行為特征
在推薦場景,連用戶都不知道自己想要什么的情況下。我們希望通過細化用戶瀏覽行為特征,來判讀他所關注的商品。
引入端計算后,我們可以采集更多維度的用戶行為數據,使用戶模型更準確。
PS:長時間以來,閑魚推薦的瀏覽行為特征幾乎是缺失的。算法一直在用偽曝光(下發即曝光)數據做推薦,因為云端根本沒有足夠多的服務器對曝光數據進行特征處理。曝光數據量實在是太大了,每個用戶隨意的一次滾動就會產生多條曝光數據。
4. 實時聚類特征 & 實時意圖特征
為了解決云端處理延遲問題,我們對實時特征進行了抽象,沉淀了兩種端上的實時特征處理方案:?
(1)實時聚類特征;?
(2)實時意圖特征。
4.1 實時聚類特征
我們利用端計算,對行為數據進行實時聚類統計。?
我們現在是按60秒的時間插槽聚類統計(時間插槽太大效果不好,太小數據上報太頻繁,QPS太高);?
我們統計60秒內,某個類目(手機、女裙、美妝等)的曝光次數、曝光時長、點擊PV等數據;?
如果是強特征事件(點擊事件)會實時觸發特征上報,如果是弱特征事件(曝光事件)會累計到10個再上報。
全量發布兩周后數據統計:
4.2 實時意圖特征
該方案,是利用端智能模型,對行為數據進行實時意圖判讀,并上報到云端。?
PS:該方案,我們還沒有全量,還在嘗試。
5. 總結
本文,利用端計算(邊緣計算)將特征工程前置,實現了去中心化,解決了大量原始數據在云端堆積無法實時處理的問題,提高了推薦系統的特征實時性。?
端計算的引入,不但提高了推薦系統的實時性,同時完善了用戶行為數據,讓之前很多不可能的事情變成了可能,大大提升了推薦效率。?
實踐證明,端云協同將成為未來的趨勢。
6. 延展
現在,我們已經將特征數據實時上報到了云端,但是需要到下一次接口請求才會出現相關商品的推薦。這里存在響應的實時性問題。?
最近,我們正在嘗試對未曝光商品進行數據重刷(還在線上AB測試,效果挺好的,應該馬上就會全量了)。?
方案概述:由端模型判斷是否進行數據重刷,然后客戶端發起接口請求(請求新推薦的商品數據),再替換未曝光商品。?
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的闲鱼推荐,让智能计算从云走向端的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【从入门到放弃-ZooKeeper】Zo
- 下一篇: 为何小程序上线了,他们的内心却留下遗憾?