就其運營規模而言,TikTok 推薦系統被廣泛認為是世界上最好的推薦系統之一。 它可以推薦視頻或廣告,甚至其他大型科技公司也無法競爭。 在 TikTok 這樣的平臺上進行推薦很困難,因為訓練數據是非平穩的,用戶的興趣可能在幾分鐘內發生變化,而且用戶、視頻和廣告的數量不斷變化。
社交媒體平臺上的推薦系統的預測性能在幾個小時內就會惡化,因此需要盡可能頻繁地更新。 TikTok 構建了一個流引擎,以確保模型以在線方式持續訓練。 模型服務器生成模型的特征來推薦視頻,作為回報,用戶與推薦的項目進行交互。 此反饋循環會產生立即發送到訓練服務器的新訓練樣本。 訓練服務器保存模型的副本,模型參數在參數服務器中更新。 每分鐘,參數服務器都會將自身與生產模型同步。
推薦模型的大小為幾 TB,因此通過網絡同步如此大的模型非常慢。 這就是模型僅部分更新的原因。 非平穩(概念漂移)的主要原因來自于嵌入表表示的稀疏變量(用戶、視頻、廣告等)。 當用戶與推薦的項目交互時,僅與用戶和項目關聯的向量以及網絡上的一些權重得到更新。 因此,只有更新后的向量會以分鐘為單位進行同步,而網絡權重會在較長的時間范圍內進行同步。
典型的推薦系統使用固定的嵌入表,并且稀疏變量的類別通過哈希函數分配給向量。 通常,哈希大小小于類別數,并且多個類別會分配給同一向量。 例如,多個用戶共享相同的向量。 這使我們能夠處理新用戶的冷啟動問題,并且它對整個表將使用的最大內存進行了限制。 但這也往往會降低模型的性能,因為用戶行為會被混淆。 相反,TikTok 使用動態嵌入大小,以便新用戶可以添加到他們自己的向量中。 他們使用無沖突哈希函數,因此每個用戶都可以獲得自己的向量。 低活動用戶不會對模型性能產生太大影響,因此他們會動態刪除那些低出現率的 ID 以及過時的 ID。 這使得嵌入表很小,同時保持了模型的質量。
科技行業的每個人都在等待 TikTok 公布其推薦系統實施情況,以便從中學習。 我的猜測是,許多科技公司在 TikTok 論文發表時仔細研究了它,并開始實現自己的版本:“Monolith:具有無碰撞嵌入表的實時推薦系統”! 您可以在他們的 GitHub 上找到開源版本:https://github.com/bytedance/monolith。
審核編輯:黃飛
-
服務器
+關注
關注
13文章
9769瀏覽量
87754 -
推薦系統
+關注
關注
1文章
44瀏覽量
10240 -
TikTok
+關注
關注
2文章
226瀏覽量
7818
原文標題:為什么TikTok的推薦系統這么好?
文章出處:【微信號:計算機視覺芯片設計,微信公眾號:計算機視覺芯片設計】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
tiktok有多火?禁TikTok禁不了心TikTok美國區總經理稱不會離開 微軟暫停收購TikTok美國業務談判
美封禁TikTok計劃被曝光 Facebook、Snap曾就收購TikTok對手談判
TikTok公布起訴書細節_TikTok員工加入起訴特朗普禁令行列
TikTok已向美政府提交解決方案 不涉及TikTok出售
若甲骨文和TikTok合作批準,甲骨文將為TikTok提供云服務
TikTok的出海之路,已成2020年的迷之亂局
因TikTok未能有效控制非法內容 巴基斯坦宣布禁用TikTok
巴基斯坦為什么封禁了 TikTok

評論