Etsy使用交錯新演算法實現更快的ML實驗

banq 發表於 2022-08-15
演算法

線上實驗在產品開發中起著核心作用。Etsy 寫了它如何使用交錯實驗測試來捕捉使用者在個人層面的偏好。

在Etsy,我們的產品和機器學習 (ML) 團隊一直在努力改善我們買家和賣家的體驗。他們產生的創新必須經過測試,以驗證他們做了我們希望他們會做的事情。
在引入產品或演算法更改時,團隊會針對線上流量進行實驗,以評估其是否對當前使用者體驗產生了改進,如透過關鍵指標衡量的那樣。這些實驗通常是“黃金標準”A/B 測試。
但在某些情況下,我們還使用了一種鮮為人知的實驗設計,稱為交錯。
對於產生有序結果的 ML 模型,交錯可以在執行等效 A/B 測試所需流量的 10% 或更少的流量上顯示使用者偏好,從而使我們的團隊能夠更快地進行實驗、學習和迭代。

衡量新演算法的影響
考慮一下我們如何測試一種新演算法(或“模型”或“排序器”)以產生搜尋結果(按特定順序排列的一組列表)。在 A/B 測試中,訪問者被隨機分為兩組。A組(控制)提供舊演算法產生的結果,B組(變體)提供新演算法產生的結果。我們分別計算對照組和變異組的平均行為,並進行統計比較。如果新排名的影響非常積極,我們通常會將其推廣給所有訪問者。
然而,在交錯測試中,我們的目標是檢測單個訪問者級別的排名者的偏好,而不是比較看到不同體驗的兩組的平均行為。

為了衡量訪問者更喜歡兩種演算法中的哪一種,交錯透過兩種演算法執行每個搜尋查詢,並同時呈現兩組有序結果,衡量哪個排名器吸引了更多的參與度。為了同時呈現這兩個結果,我們將它們編織在一起,就像一副紙牌的兩半被洗牌一樣。

對於訪問者來說,這不過是一個標準的搜尋結果列表。但是我們會跟蹤哪個結果來自哪個模型,如果訪問者進行了購買,這會給我們一些關於他們偏好的資料。在將這些交錯的搜尋結果呈現給大量訪問者之後,我們瞭解這些偏好跡象是否更頻繁地出現在一個模型上而不是另一個模型上。

在交錯實驗中,我們不會像在 A/B 測試中那樣將訪問者隨機分配到不同的體驗中。然而,我們需要包含一些隨機性,以確保來自一個排名的列表不會獲得優先放置,這可能會扭曲我們的資料。

交錯速度很快
與 A/B 測試相比,交錯的主要好處是它的速度。那些熟悉配對和非配對 t 檢驗之間差異的人可能會在這裡看到概念和速度相關的平行。A/B 測試和非配對 t 檢驗(可用於 A/B 測試)需要較大的樣本量來控制單元間差異並實現組間有用的比較。然而,交織和配對 t 檢驗透過測量單元內的差異、有效地隔離和識別感興趣的影響,顯著減少了這種變化的影響。

在 A/B 和交錯之間的比較中,我們發現交錯實驗的流量減少了 10 到 100 倍,因此可以更快地為同一問題提供 10 到 100 倍的答案。這種改進可以轉化為每年節省的數十個實驗天數,為團隊騰出空間來對原本無法訪問測試流量的模型進行實驗。

然而,交錯並不是 A/B 測試的簡單替代品。有些重要的事情它不能做。我們只能交錯排序的結果集,例如排名演算法。例如,我們不能使用交錯來測試不同顏色背景的影響或通知是否會驅動某種行為。此外,我們無法像使用 A/B 測試那樣測試模型之間的延遲差異。這是因為交錯必須等待較慢的演算法生成結果,然後才能將兩個排序列表編織在一起。

詳細點選標題