深度學習推薦系統實戰


基礎架構

推薦系統要解決什么問題?

  • 在信息過載的情況下,用戶如何高效獲取感知的信息,即學習\(score(user,item,context)\)

推薦系統的技術架構

img

  • 數據
    • 數據入口:客戶端服務器端實時數據,流處理平台准實時數據,大數據平台離線數據
    • 數據出口:算法模型數據,模型 Serving 特征數據,系統監控統計數據。
  • 模型
    • 模型種類:召回+排序+策略
    • 模型訓練:離線,在線
    • 模型測試:離線評估,線上 A/B 測試

特征工程

什么是特征工程?

  • 利用工程手段從用戶信息,物品信息,場景信息提取出特征的過程。

推薦系統中常用特征

  • 用戶行為數據:顯示反饋,隱性反饋

    img

  • 用戶關系數據:強關系,弱關系

  • 屬性,標簽類數據:用戶,物品等都具有

    img

  • 內容類數據:描述性數據

  • 場景信息:范圍極廣,如時間,地點等

Spark處理特征

  • 由 Manager 調度,Worker 計算,返回給 Driver

    img

  • Stage內部高效並行,邊界處進行消耗資源的 Shuffle、Reduce 操作

數據編碼方式

  • 類別、ID 特征:One-Hot,Multi-Hot
  • 數值特征:
    • 歸一化:特征數值范圍取值不一
    • 分桶:數據分布過於集中、分散
    • 其他改變分布方式的操作:如開方,平方等

Embedding

用數值向量表示一個對象的方法。

  • 用處
    • 處理稀疏特征:大量使用 One-Hot 導致特征向量極度稀疏,不利於深度推薦模型(收斂慢,參數多)
    • 融合其他信息,生成高階特征向量:主要來自於 Graph Embedding 的廣泛使用
  • 主流方法
    • Word2Vec:模型結構,目標函數,負采樣
    • Item2Vec:Word2Vec 在任意序列上的推廣
    • Graph Embedding:DeepWalk,Node2Vec
  • 應用
    • 直接應用:計算相似性,典型功能如相似物品推薦,猜你喜歡,召回等
    • 預訓練應用:作為特征向量一部分,與其他特征拼接參與推薦模型訓練
    • End2End:也即 Embedding 層,直接訓練

線上服務

img

高並發推薦服務器

  • 負載均衡
  • 緩存
  • 服務降級

分級存儲

img

  • Redis 特性
    • 數據以 Key-Value 對存儲
    • 數據全部存儲在內存中,硬盤只在持久化或恢復數據時起作用

召回層

img

  • 單策略召回:利用評分、標簽、新鮮度等單一策略召回
    • Pros:速度快,實現簡單
    • Cons:無法覆蓋不同需求,召回率不高
  • 多路召回:采用不同策略,分別召回部分候選集混合在一起
    • Pros:可以覆蓋不同需求
    • Cons:每一路評分不可比,需要大量人工調參
  • Embedding 召回:將多種策略融合到 Embedding 中實現召回
    • Pros:實現簡單,評分可比,可以融合多種信息
    • Cons:線上計算復雜

局部敏感 Hash

常數時間內快速找到與一個 Embedding 最相似的 Embedding。

  • 出發點
    • 歐式空間中,將高維空間的點映射到低維空間,原本接近的點在低維空間肯定依然接近,但原本遠離的點有一定概率變成接近的點。
  • 經驗性建議
    • 點越多,桶數目越多,反之亦然。
    • 維度越大,hash 函數要越多,盡量采用且作為多桶策略,反之亦然。

img

Serving&Inference

  • 預存推薦結果
    • 完全解耦,延遲極低
    • 組合數目爆炸,無法引入線上 context 特征
  • 預存Embedding 結果
    • 推斷簡單快速
    • 無法引入線上 context 特征,無法進行復雜網絡結構模型的推斷
  • 預訓練 Embedding+輕量線上模型
    • 隔離了離線模型的復雜性與線上推斷的效率要求
    • 不能完全支持復雜模型
  • Tensorflow Serving
    • End2End 部署
    • 線上服務效率低,需要大量優化

迷你推薦系統框架概覽

img

img

模型?模型!

協同過濾


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM