原文來自Innovating Faster on Personalization Algorithms at Netflix Using Interleaving。如發現任何侵權行為,請聯絡我。
Netflix體驗由一系列排名演算法提供支援,每種演算法都針對不同的目的進行了優化。 例如,主頁上的Top Picks行根據視訊的個性化排名提出建議,而Trending Now行也包含最近的流行趨勢。 這些演算法以及許多其他演算法一起用於為超過1億成員構建個性化主頁。
在Netflix,我們努力不斷改進我們的推薦系統。 開發過程始於建立新的排名演算法並離線評估其效能。 然後,我們利用A / B測試對核心評估指標進行線上測量,這與我們最大化使用者滿意度的業務目標密切相關。 此類指標包括每月訂閱保留和使用者觀看時長。 隨著排名演算法和整體Netflix產品的優化,在這些指標中的significant increase需要越來越大的樣本量和越來越長的實驗持續時間。
為了加快演算法創新的步伐,我們設計了一個兩階段的線上實驗過程。 第一階段是一個快速修剪步驟,我們從一大組初始想法中確定最有前途的排名演算法。 第二階段是對減少的演算法集進行傳統的A / B測試,以測量它們對長期使用者行為的影響。 在這篇博文中,我們專注於我們進入第一階段的方法:一種interleaving技術,可以讓我們更精確地衡量使用者偏好。
Faster algorithm innovation with interleaving
通過快速測試大量idea,我們可以提高學習速度和演算法創新速度。 我們通過引入線上實驗的初始修剪階段,擴充套件了可以測試的新演算法的數量。這一方法滿足以下兩個屬性:
- 它對排序演算法質量非常敏感,即,與傳統的A / B測試相比,它使用相當小的樣本大小, 即可可靠地識別出最佳演算法。
- 它可以預測第二階段的成功:第一階段測量的指標與我們的核心A / B評估指標一致。
我們使用interleaving技術(參見Chapelle et al.)實現了上述目標,這大大加快了我們的實驗過程(見圖2)。 第一階段在幾天內完成,給我們留下了一小部分最有前途的排名演算法。 第二階段僅測試這些選中的演算法,,與傳統的A / B測試相比,這使我們可以為整個實驗分配更少的成員,並減少實驗總持續時間。
Using a repeated measures design to determine preferences
為了圍繞interleaving提供的靈敏度增益建立直覺,讓我們考慮一個實驗,以確定在群體中是否首選可口可樂或百事可樂。 如果我們使用傳統的A / B測試,我們可能會將人口隨機分成兩組並進行盲審。 一組只提供可口可樂,第二組只提供百事可樂(兩種飲料都沒有可識別的標籤)。 在實驗結束時,我們可以通過測量兩組之間飲料消耗的差異以及該測量中的不確定程度來確定是否存在對可口可樂或百事可樂的偏好,這可以告訴我們是否存在統計學上的顯著差異。
雖然這種方法有效,但仍然可能有改進的機會。 首先,存在測量不確定性的主要來源:人群中蘇打消費習慣的廣泛變化,從幾乎不消耗任何蘇打的人到消費大量的人。 其次,重汽水消費者可能只佔人口的一小部分,但他們的消費可能佔整體汽水消費的很大比例。 因此,即使兩組之間重度蘇打消費者的微小不平衡也可能對我們的結論產生不成比例的影響。 在執行線上實驗時,消費者網際網路產品經常面臨與其最活躍使用者相關的類似問題,無論是測量Netflix上的流媒體時間等指標的變化,還是傳送的訊息或社交應用中共享的照片。
作為傳統A / B測試的替代方案,我們可以使用重複測量設計來測量對可口可樂或百事可樂的偏好。 在這種方法中,人口不會隨機分裂。 相反,每個人都可以選擇可口可樂或百事可樂(兩個品牌都沒有可識別的標籤,但仍然在視覺上可以區分)。 在實驗結束時,我們可以在person-level的水平上比較可口可樂或百事可樂的蘇打水消費比例。 在這個設計中,1)我們消除了population-level的蘇打消費習慣所帶來的不確定性,2)通過給予每個人相同的權重,我們降低了受到重蘇打不平衡的重大影響的可能性。
Interleaving at Netflix
在Netflix,我們在實驗的第一階段使用interleaving來確定兩個排名演算法之間的成員偏好。 下圖描繪了A / B測試和interleaving之間的差異。 在傳統的A / B測試中,我們選擇兩組訂戶:一組接受排名演算法A,另一組接受B。在interleaving中,我們選擇一組訂戶,這些訂戶暴露於通過混合排名生成的interleaving排名演算法A和B。這使我們可以同時向使用者提供選擇,以確定他們對排名演算法的偏好。(成員無法區分特定視訊是由哪個演算法推薦的。)我們通過比較使用者觀看的小時數來計算排名演算法的相對偏好。
當從Netflix主頁上的一行中的兩個排名演算法A和B生成交錯的視訊集時,我們必須考慮位置偏差的存在:成員播放視訊的概率隨著我們從左向右而減小。 為了對interleaving產生有效測量,我們必須確保在一行中的任何給定位置,視訊來自排序演算法A或B的可能性相同。
為了解決這個問題,我們一直在使用team draft interleaving的變體,它模仿了友誼賽的團隊選擇過程。在這個過程中,兩名隊長投擲硬幣以確定誰先選擇,然後他們交替選擇隊員。每個隊長選擇在他們的偏好列表中最高並且仍然可用的玩家。此過程將持續到團隊選擇完成為止。將此類比應用於Netflix推薦的interleaving過程,視訊代表可用的玩家,排名演算法A和B代表兩個團隊隊長的有序偏好。我們隨機確定哪個排名演算法將第一個視訊貢獻給interleaving list演算法然後交替,每個演算法貢獻他們仍然可用的排名最高的視訊(參見圖4)。對排名演算法A或B的使用者偏好是通過測量哪個演算法產生在交錯行內觀看的較長小時數來確定的。
Comparing the sensitivity of interleaving to traditional A/B testing
我們在兩階段線上實驗過程中使用interleaving的第一個要求是,它需要在樣本量很小的情況下,可靠地識別更好的排序演算法。 為了評估interleaving滿足此要求的程度,我們轉向兩種排名演算法A和B具有已知相對質量的情況:排名B優於排名A.然後我們使用這兩個演算法,與A / B測試並行執行interleaving實驗 。
為了比較interleaving與A / B測試的靈敏度,我們使用不同的樣本大小,計算了interleaving preference和A / B metrics。其中樣本來自bootstrap subsampling。 在執行bootstrap analysis時,我們要麼模擬將N個使用者分配給交織單元,要麼將N / 2個使用者分配給傳統A / B實驗的每個單元。 如果我們隨機猜測哪個ranker更好,那麼結果不同於真實偏好的概率將是50%。 當這個概率為5%時,我們檢測排名質量的差異的結果達到95%的置信度。 因此,使用較少數量的user跨越threshold的度量標準是更靈敏的度量標準。
下圖顯示了我們分析的結果。 我們將interleaving preference與A / B設定中通常使用的兩個指標進行比較:overall streaming和一個algo-specific engagement metric。 用於評估A / B測試的指標的敏感度可在很大範圍內變化。 我們發現interleaving是非常敏感的:它只需要我們最靈敏的A / B指標百分之一的使用者,就能達到95%的置信度。
Correlation of interleaving metrics with A/B metrics
我們的第二個要求是在interleaving階段測量的指標需要與我們傳統的A / B測試指標保持一致。 我們現在評估interleaving preference是否可以預測後續A / B測試中的排名者的表現。
下圖顯示了interleaving preference度量值與A / B度量值與對照值相比的變化。 每個資料點代表一個排序演算法,該演算法根據production ranker進行評估,production ranker用作對照組。 我們發現interleaving度量與我們最敏感的A / B評估度量之間存在非常強的相關性和一致性,這讓我們相信interleaving preference可以預測傳統A / B實驗的成功。
Conclusion
Interleaving是一種強大的技術,使我們能夠加速Netflix的排名演算法創新。它允許我們敏感地測量成員對排名演算法的偏好,並在幾天內確定最有希望的candidate。這使我們能夠快速測試一系列新演算法,從而提高我們的學習速度。
雖然interleaving提供了靈敏度的巨大提升並且與A / B指標良好對齊,但它確實存在侷限性。首先,實現interleaving框架相當複雜,這對工程能力是一種挑戰。業務邏輯的存在可能進一步干擾整個流程,這需要構建可擴充套件的解決方案以進行一致性檢查和某些問題的自動檢測。其次,雖然interleaving能夠快速識別最佳排序演算法,但是限制是它是使用者對排名演算法的偏好的相對測量。也就是說,它不允許我們直接衡量一些指標的變化。
我們通過在第二階段進行A / B實驗來解決後一種限制,這時我們已經從初始ideas選出了最佳候選者集合。 這使我們可以通過增加每個演算法分配的的樣本大小來啟動實驗,這使我們能夠仔細測量長期使用者行為。 應對這些挑戰並開發更好的衡量方式是我們不斷探索的方面。