?
基于客戶不同的業務現狀和需求可開通不同的資源組合,不同的算法組合也影響需要的資源。
對于DAU小于5萬的客戶
推薦系統可以用相對簡單的方案,以便控制成本并提高業務的推薦效果:
召回模型:使用etrec、swing、分組熱門等;不使用向量召回模型,可以節約在線的向量召回。
排序模型:使用相對簡單的單目標多塔模型,推理速度快效果比較好,同時節約PAI-EAS的資源。
實時用戶序列:通過Flink寫入到Redis中。
物品和用戶特征較少:可以使用Redis的存儲方案,把物品特征、用戶特征、實時行為序列全部存儲在Redis中;如果用戶特征太大,還可以嘗試把用戶特征存儲在OTS(表格存儲)中。
PAI-EAS:注意在業務高峰期配置定時擴容,同時配置自動擴縮容保證到業務低峰期收縮資源。
注意:上面5萬DAU不是一個嚴格的分界線(下面的DAU數據同理),主要是基于提高推薦效果是否能帶來足夠的業務價值,以覆蓋推薦系統的成本。下面的其他方案是在此基礎上的變化。
對于DAU大于5萬的客戶
推薦系統可以使用更加復雜的方案以便幫助業務得到更好的推薦結果。
召回模型:可以增加向量召回。所有特征存儲、向量查詢都使用hologres產品。
排序模型:使用多目標排序模型。
用戶特征存儲:當用戶特征快速變化的情況,可考慮Graphcompute
當物品的狀態有快速變化的情況:可考慮使用BE。
對于DAU大于20萬的客戶
當業務對物品的實時特征對推薦效果非常敏感的時候,建議增加實時特征,物品實時特征的統計需要在flink中完成。
模型訓練:建議使用增量訓練以節約訓練成本。
召回引擎:可考慮使用BE
用戶特征存儲:可以考慮Graphcompute
用戶有社交關系:建議使用Graphcompute管理用戶之間的關注、好友關系。有社交關系的推薦場景建議使用GraphSage等圖算法。
對于DAU大于50萬的客戶
如果經常有活動影響推薦系統的效果,可以考慮增加在線學習的方案。
即通過Flink實時拼接樣本,在線學習模型并且每天多次更新線上的模型。
可考慮預付費的MaxCompute資源。
PAI-EAS打分服務,可考慮預付費資源和彈性擴縮容資源相結合。
當新物品較多
建議使用物品冷啟動算法,讓新物品分發更加合理。
?
當需要調控指定物品、指定類目的流量
建議使用流量調控的算法,按照物品、物品集合、物品類目來調整曝光流量數量、曝光占比。
?
?