為保障推薦系統在生產環境中的高可用性、高效能和穩定性,您可以參考以下配置與操作建議。
系統監控和警示配置
當一分鐘內(或者幾分鐘)推薦系統的RT數量超出閾值時,觸發警示資訊至DingTalk或手機。
Recommendation Engine上線
排序模型預熱
設定參數:
model_config裡配置一個參數:warmup_data_path: '/warmup'。通過推薦結果診斷頁面發送請求,TorchEasyRec會記錄請求的pb檔案到
warmup_data_path中。重啟預熱:會讀取
warmup_data_path的請求,自動請求一遍。每天模型更新時,已經有warmup檔案,不需要再手動預熱。
其他參數:
warmup_pb_files: 以pb檔案形式儲存的online request數量, 預設值64。warm_up_count: 每個pb檔案的warmup次數, 預設值20。num_warm_threads: 並發預熱線程池的大小, 預設值4。
排序模型服務
排序模型服務TorchEasyRec參數
NO_GRAD_GUARD設定為1,禁止梯度計算。
Recommendation Engine配置
精排演算法模型參數BatchCount:預設100,影響每次請求PAI-EAS打分的物品的數量。值越大,每次請求打分越慢。如果預設100,每次粗排或者精排為1000個,候選結果則會分成10次分別請求打分服務。
排序模型的擴縮容
Recommendation Engine的擴縮容
同上。
重排邏輯上線
排序側模型降級
準備一個較簡單的排序模型(如基準的多塔模型,實驗配置與決策),不發布上線(或者設定流量為0)。當排序模型壓力過大,並且不能擴容時。將一部分流量切換至該較簡單的模型上。
或者準備一個實驗室,只包含一個協同過濾,且沒有模型精排的鏈路。參考:如何用PAI-Rec建設一個詳情頁相關推薦情境。
客戶側引擎兜底(必選)
客戶側做一個簡單的即時協同過濾推薦或者熱門推薦,當PAI-Rec返回逾時或者返回為空白時,用客戶側的推薦結果。
設定逾時兜底,防止線上出問題
設定調用PAI-RecRecommendation Engine的逾時機制,當結果不足的時候做補足或者替換結果(參考熱門召回)。