您當前的位置:首頁 > 收藏

看facebook如何加快線上排序系統最佳化

作者:由 清華阿羅 發表于 收藏時間:2019-06-14

AB測試是機器學習技術產品改進的重要組成部分,由於資源的限制,應用類似貝葉斯最佳化方法具有一定挑戰性。 facebook(臉書)四月份結合自己的推薦系統提出了一種新的多工貝葉斯最佳化方法

[1]

,該方法結合線上 a / b 測試與一個簡單的離線模擬器,該模型允許同時最佳化多達20個引數,總共只有40個線上 a / b 測試。 透過識別線上測試的新系統配置,facebook改進其 News Feed 排序,並對其泛化能力進行了實證分析。

工作原理:

和許多在 Facebook 和 Instagram 上使用的推薦系統一樣,Facebook News Feed 使用各種方法(比如機器學習模型預測)對內容進行排序,這些方法透過一系列規則組合起來形成一個配置策略。 由於該系統比較複雜,改進該系統的策略搜尋只能透過 a / b 測試線上完成。 facebook的排序系統包含對興趣結果的預測模型。

離線模擬有著比線上 a / b 測試更高的吞吐量,用於評估排序模型配置的變化。 一個簡單的想法是簡單地將離線過程寫到一個改變了配置的模擬器中,然後來預測當前線上結果。 這個系統很容易實現,因為它依賴於現有的預測模型,但是它不能捕捉許多重要的行為動態。 所以它不能作為線上實驗的替代品。

facebook使用多工高斯過程(multitask Gaussian process,MTGP),將少量的線上測試和大量離線測試結合到一個單一的模型。 透過這種結合,MTGP 能夠有效地學習如何糾正模擬器的錯誤,並藉助離線測試的效果來做出準確的線上預測。 並且facebook使用 MTGP 結合貝葉斯最佳化,以確定更多的最優策略進行線上測試。

為什麼重要:

減少所需的 a / b 測試的數量,使工程師和研究人員能夠在設定中使用貝葉斯最佳化。 透過簡單的帶錯誤校準的離線模擬來增強線上實驗的能力,從而加速系統的改進,同時增加線上測試有效配置的數量。 更多關於使用貝葉斯最佳化調優線上系統,以及facebook如何在 Instagram 排序系統的模型調優,可參考這兩篇文章

[2]

[3]

參考

^https://arxiv。org/pdf/1904。01049。pdf

^https://research。fb。com/efficient-tuning-of-online-systems-using-bayesian-optimization/

^https://instagram-engineering。com/lessons-learned-at-instagram-stories-and-feed-machine-learning-54f3aaa09e56?fbclid=IwAR0pygRPzw4AIspoTGKT6p6KfI6BxWjxpfGKO0dfkraizVsQd4PubvO7GKE

標簽: 線上  測試  離線  Facebook  貝葉斯