第五章:計算機視覺-項目實戰之推薦/廣告系統
第二部分:粗排算法
第三節:理解粗排模型之在線部分:在線架構及對雙塔的應用
一、粗排模型從“訓練”走向“線上”的最大挑戰是什麼?
上一節我們完成了粗排雙塔的離線訓練部分(Embedding 學習 + Faiss/HNSW 索引)。
但模型訓練完,並不等於能上線。真正落地粗排系統,需要解決 3 類工業問題:
|
上線挑戰
|
解釋
|
|
低延遲 |
單次召回必須 ≤ 10ms,否則精排無法接住
|
|
實時性 |
用户向量要實時更新,“人變→召回變”
|
|
可擴展性 |
Item 數量從百萬→億級,索引要可水平擴展
|
因此粗排的在線架構必須:
User 實時生成 → ANN 向量檢索 → TopK 粗排結果 → 精排 → 重排 → 策略 → 展示
這就是工業界典型推薦系統 TPS/QPS 路徑。
二、線上粗排整體架構(工程視角)
在線粗排架構可以用一張圖説明:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ User Feature │ --> │ User Tower │ --> │ User Vector │
└──────────────┘ └──────────────┘ └───────┬──────┘
│
▼
┌────────────────────┐
│ ANN Vector DB │
│ (Faiss / Milvus) │
└───────┬────────────┘
│ TopK
▼
┌────────────────────┐
│ Candidate Items │
└────────────────────┘
│
▼
【下游精排模型】
説明:
|
模塊
|
在線職責
|
|
User Tower(在線模型服務) |
實時生成用户向量(10ms 內)
|
|
Item Tower(離線產出) |
不在線推理,僅保存向量
|
|
ANN 檢索服務 |
TopK 召回,如 |
粗排本質是將在線流量變向量 → 用向量當鑰匙 → 在向量庫中開鎖找 TopK內容。
三、雙塔在在線系統中的運行機制
|
角色
|
運行方式
|
調用頻率
|
|
Item Tower(離線) |
離線 Embedding + 索引構建
|
物料變化才更新
|
|
User Tower(在線) |
實時推理生成用户向量
|
每次推薦調用一次
|
因此:
在線只跑半個模型(User Tower) → 延遲低
ANN 召回只查向量庫 → QPS 極高(百萬級)
物料多也能擴,因為塔解耦
這就是雙塔在線表現優於精排 DNN、DIN、BERT 的核心原因。
四、在線流程用偽代碼還原
def online_recall(user_feature):
# 1) 用户特徵輸入 → User Tower 得到在線向量
user_vec = user_model.predict(user_feature) # < 10ms
# 2) ANN 檢索 TopK 粗排候選
scores, item_ids = ann_index.search(user_vec, topk=300) # < 5~10ms
# 3) 返回粗排結果 → 進入精排
return item_ids
粗排必須 < 20ms 完成全部動作,否則上線毫無意義。
五、ANN 選型與使用建議(踩坑經驗)
|
方案
|
適用場景
|
QPS
|
特點
|
|
Faiss (CPU/GPU) |
千萬級向量以內
|
極高
|
單機強,不適合集羣
|
|
Milvus |
分佈式召回
|
高
|
企業級最佳選擇
|
|
HNSW |
內存夠、要求低延遲
|
極高
|
搜索質量最好
|
|
Faiss + HNSW 混合 |
多路召回
|
——
|
最常見工業配置
|
經驗結論:
粗排要的是 TopK 足夠準 + 延遲足夠低,而不是精排級別的匹配準確率。
六、線上版本更新策略:如何優雅平滑不倒服務
|
更新任務
|
策略
|
|
User Tower 更新
|
A/B Test + 雙模型切換
|
|
Item Embedding 更新
|
Shadow Index + 雙索引切換
|
|
ANN Index 更新
|
異步重建 + 熱切換
|
要點:
不允許全量下線重建
不允許用户線上向量與物料空間不一致
必須保證所有請求可回溯
粗排系統本質上是 “強工程系統 + 弱模型複雜度” 的架構部分。
七、本節總結
|
你已理解
|
狀態
|
|
雙塔在線為什麼延遲低
|
✅
|
|
粗排在線架構職責與數據流
|
✅
|
|
User/Item 兩塔如何解耦
|
✅
|
|
ANN 如何服務粗排召回
|
✅
|
|
完整工程化上線方案
|
✅
|
一句話總結:
訓練是為了表達能力,而上線是為了延遲與吞吐。粗排雙塔在工程維度碾壓所有表達能力更強的模型,所以它成為工業界標準。