丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給skura
發(fā)送

0

Netflix推薦系統(tǒng)模型的快速線上評估方法——Interleaving

本文作者: skura 2019-06-20 14:17
導語:如果能夠將模型評估和線上AB Test的效率提高,那一定是大大解放算法工程師效率的事情。

雷鋒網 AI 科技評論按,本文作者是硅谷高級工程師王喆,雷鋒網獲授權轉載于微信號「王喆的機器學習筆記」,作者的知乎專欄地址是:https://zhuanlan.zhihu.com/p/68509372

這里是「王喆的機器學習筆記」的第十八篇文章,今天我們關注模型的評估和線上測試。有經驗的算法工程師肯定非常清楚,在一個模型的開發(fā)周期中,占工作量大頭的其實是特征工程和模型評估及上線的過程。在機器學習平臺已經非常成熟的現(xiàn)在,模型結構的實現(xiàn)和調整反而僅僅是幾行代碼的事情。所以如果能夠將模型評估和線上 AB Test 的效率提高,那一定是大大解放算法工程師效率的事情。

今天這篇文章我們就介紹一下流媒體巨頭 Netflix 的「獨門線上評估秘笈」——Interleaving。

周所周知,Netflix 是美國的流媒體巨頭,其廣為人知的原因不僅是因為其多部知名的原創(chuàng)劇,高昂的市值,在推薦技術領域,Netflix 也一直走在業(yè)界的最前沿。那么驅動 Netflix 實現(xiàn)推薦系統(tǒng)快速迭代創(chuàng)新的重要技術,就是我們今天要介紹的快速線上評估方法——Interleaving。

Netflix 推薦系統(tǒng)問題背景

Netflix 幾乎所有頁面都是推薦算法驅動的,每種算法針對不同的推薦場景進行優(yōu)化。如圖 1 所示,主頁上的「Top Picks 行」根據(jù)視頻的個性化排名提供推薦,而「Trending Now 行」包含了最近的流行趨勢。這些個性化的行共同構成了 Netflix 將近 1 億會員「千人千面」的個性化主頁。

Netflix推薦系統(tǒng)模型的快速線上評估方法——Interleaving

圖 1: 個性化 Netflix 主頁示例。每一行是一個推薦類別,對于給定的行,從左到右的視頻排序由特定的排序算法確定。

對于強算法驅動的 Netflix 來說,算法的迭代創(chuàng)新當然是必不可少的。為了通過算法最大化 Netflix 的商業(yè)目標(這些商業(yè)指標包括每月用戶訂閱數(shù)、觀看總時長等等),需要進行大量的 AB Test 來驗證新算法能否有效提升這些關鍵的產品指標。

這就帶來一個矛盾,就是算法工程師們日益增長的 AB Test 需求和線上 AB Test 資源嚴重不足之間的矛盾。因為線上 AB Test 必然要占用寶貴的線上流量資源,還有可能會對用戶體驗造成損害,但線上流量資源顯然是有限的,而且只有小部分能夠用于 AB Test;而算法研發(fā)這側,算法驅動的使用場景不斷增加,大量候選算法需要逐一進行 AB Test。這二者之間的矛盾必然愈演愈烈。這就迫切需要設計一個快速的線上評估方法。

為此,Netflix 設計了一個兩階段的線上測試過程(如圖 2)。

  • 第一階段利用被稱為 Interleaving 的測試方法進行候選算法的快速篩選,從大量初始想法中篩選出少量「優(yōu)秀的」Ranking 算法。

  • 第二階段是對縮小的算法集合進行傳統(tǒng)的 AB Test,以測量它們對用戶行為的長期影響。

大家一定已經對傳統(tǒng)的 AB Test 方法駕輕就熟,所以這篇文章專注于介紹 Netflix 是怎樣通過 Interleaving 方法進行線上快速測試的。

Netflix推薦系統(tǒng)模型的快速線上評估方法——Interleaving

圖 2:使用 Inter leaving 進行快速線上測試。用燈泡代表候選算法。其中,最優(yōu)的獲勝算法用紅色表示。Interleaving 能夠快速地將最初的候選算法集合進行縮減,相比傳統(tǒng)的 AB Test 更快地確定最優(yōu)算法。

傳統(tǒng) AB Test 存在的問題

傳統(tǒng)的 AB Test 除了存在效率問題,還存在一些統(tǒng)計學上的顯著性差異問題。下面用一個很典型的 AB Test 問題來進行說明。

這里設計一個 AB Test 來驗證用戶群體是否對「可口可樂」和「百事可樂」存在口味傾向。那么按照傳統(tǒng)的做法,我們會將測試人群隨機分成兩組然后進行「盲測」,即在不告知可樂品牌的情況下進行測試。第一組只提供可口可樂,第二組只提供百事可樂,然后根據(jù)大家一定時間內的可樂消耗量來觀察人們是更喜歡「可口可樂」還是「百事可樂」。

這個實驗一般意義上確實是有效的,很多時候我們也是這么做的。但也確實存在一些潛在的問題:

  1. 總的測試人群中,對于可樂的消費習慣肯定各不相同,從幾乎不喝可樂到每天喝大量可樂的人都有。

  2. 可樂的重消費人群肯定只占總測試人群的一小部分,但他們可能占整體汽水消費的較大比例。

這兩個問題導致了,即使 AB 兩組之間重度可樂消費者的微小不平衡也可能對結論產生不成比例的影響。

在互聯(lián)網場景下,這樣的問題同樣存在。比如 Netflix 場景下,非?;钴S用戶的數(shù)量是少數(shù),但其貢獻的觀看時長卻占較大的比例,因此 Netflix AB Test 中活躍用戶被分在 A 組的多還是被分在 B 組的多,將對結果產生較大影響,從而掩蓋模型的真實效果。

那么如何解決這個問題呢?一個方法是不對測試人群進行分組,而是讓所有測試者都可以自由選擇百事可樂和可口可樂(測試過程中仍沒有品牌標簽,但能區(qū)分是兩種不同的可樂)。在實驗結束時,統(tǒng)計每個人可口可樂和百事可樂的消費比例,然后進行平均后得到整體的消費比例。

這個測試方案的優(yōu)點在于:

  1. 消除了 AB 組測試者自身屬性分布不均的問題;

  2. 通過給予每個人相同的權重,降低了重度消費者對結果的過多影響。

這個測試思路應用于 Netflix 的場景,就是 Interleaving。

Netflix 的快速線上評估方法——Interleaving

圖 3 描繪了 AB Test 和 Interleaving 之間的差異。

  • 在傳統(tǒng)的 AB Test 中,Netflix 會選擇兩組訂閱用戶:一組接受 Ranking 算法 A 的推薦結果,另一組接受 Ranking 算法 B 的推薦結果。

  • 在 Interleaving 測試中,只有一組訂閱用戶,這些訂閱用戶會接受到通過混合算法 A 和 B 的排名生成的交替排名。

這就使得用戶同時可以在一行里同時看到算法 A 和 B 的推薦結果(用戶無法區(qū)分一個 item 是由算法 A 推薦的還是算法 B 推薦的)。進而可以通過計算觀看時長等指標來衡量到底是算法 A 好還是算法 B 好。

Netflix推薦系統(tǒng)模型的快速線上評估方法——Interleaving

圖 3:傳統(tǒng) AB Test 和 Interleaving 在傳統(tǒng) AB Test 中,測試用戶分為兩組,一組暴露于排名算法 A,另一組暴露于算法 B,在兩組之間進行比較觀看時長等核心評估指標。另一方面,Interleaving 將所有測試用戶暴露于算法 A 和 B 的混合排名,再比較算法相對應的 item 的指標

當然,在用 Interleaving 方法進行測試的時候,必須要考慮位置偏差的存在,避免來自算法 A 的視頻總排在第一位。因此需要以相等的概率讓算法 A 和算法 B 交替領先。這類似于在野球場打球時,兩個隊長先通過扔硬幣的方式決定誰先選人,然后在交替選隊員的過程。

Netflix推薦系統(tǒng)模型的快速線上評估方法——Interleaving

圖 4:使用「隊長選人」的方式來混合兩個排名算法的視頻。ranking 算法 A 和 B 分別產生了推薦視頻列表。通過隨機拋硬幣確定是 ranking 算法 A 還是 B 貢獻第一個視頻。然后,輪流從算法 A 和 B 中從高到底選擇視頻。

在清楚了 Interleaving 方法之后,還需要驗證這個評估方法到底能不能替代傳統(tǒng)的 AB Test,會不會得出錯誤的結論。Netflix 從兩個方面進行了驗證,一是 Interleaving 的「靈敏度」,二是 Interleaving 的「正確性」。

Interleaving 與傳統(tǒng) AB Test 的靈敏度比較

Netflix 的這組實驗希望驗證的是 Interleaving 方法相比傳統(tǒng) AB Test,需要多少樣本就能夠驗證出算法 A 和算法 B 的優(yōu)劣。我們之前一再強調線上測試資源的緊張,因此這里自然希望 Interleaving 能夠利用較少的線上資源,較少的測試用戶就解決評估問題。這就是所謂的「靈敏度比較」。

圖 5 是實驗結果,橫軸是參與實驗的樣本數(shù)量,縱軸 Netflix 沒有給出非常精準的解釋,但我們可以理解為是判定算法 A 是否比算法 B 好的「錯誤」概率。可以看出的是 interleaving 的方法利用 10^3 個樣本就能夠判定算法 A 是否比 B 好,而 AB test 則需要 10^5 個樣本才能夠將錯誤率降到 5% 以下。這就意味著利用一組 AB Test 的資源,我們可以做 100 組 Interleaving 實驗。這無疑大大加強了線上測試的能力。

Netflix推薦系統(tǒng)模型的快速線上評估方法——Interleaving

圖 5:對 Interleaving 與傳統(tǒng) AB Test 指標的靈敏度。與最敏感的 AB Test 指標相比,Interleaving 也只需要 1/100 的訂閱用戶樣本就能夠確定用戶更偏愛哪個算法

Interleaving 指標與 AB Test 指標的相關性

除了能夠利用小樣本快速進行算法評估外,Interleaving 的判斷結果是否與 AB Test 一致,也是檢驗 Interleaving 能否在線上評估第一階段取代 AB Test 的關鍵。

圖 6 顯示了 Interleaving 中的實驗指標與 AB Test 指標之間的相關性。每個數(shù)據(jù)點代表一個 Ranking 算法。我們發(fā)現(xiàn) Interleaving 指標與 AB Test 評估指標之間存在非常強的相關性,這就驗證了在 Interleaving 實驗中勝出的算法也極有可能在之后的 AB Test 中勝出。

Netflix推薦系統(tǒng)模型的快速線上評估方法——Interleaving

圖 6:Interleaving 指標與 AB Test 指標的相關性。每個點表示一個 Ranking 算法的實驗結果。Interleaving 指標與 AB Test 指標存在很強的相關性

結論

通過實驗我們已經知道 Interleaving 是一種強大快捷的算法驗證方法,它加速了 Netflix 各類 Ranking 算法的迭代創(chuàng)新。

但我們也要清楚的是 Interleaving 方法也存在一定的局限性,主要是下面兩點:

  1. 工程實現(xiàn)的框架較傳統(tǒng) AB Test 復雜。由于 Interleaving 實驗的邏輯和業(yè)務邏輯糾纏在一起,因此業(yè)務邏輯可能會被干擾。而且為了實現(xiàn) Interleaving,需要將大量輔助性的數(shù)據(jù)標示添加到整個數(shù)據(jù) pipeline 中,這都是工程實現(xiàn)的難點;

  2. Interleaving 畢竟只是對用戶對算法推薦結果偏好程度的相對測量,不能得出一個算法完整的表現(xiàn)。比如我們想知道算法 A 能夠將用戶整體的觀看時長提高多少,使用 Interleaving 是無法得出這樣的結論的。為此 Netflix 才設計了 Interleaving+AB Test 兩級實驗結構,完善整個線上測試的框架。

文章最后按慣例跟大家討論幾個問題,希望大家能分享自己的觀點,討論出真知:

  1. 文中的靈敏度測試到底是在進行什么測試?縱軸是 P value 嗎?(可以參考文末的原文鏈接)

  2. 除了 AB Test 和 Interleaving,工作中你還是使用過哪些線上測試方法?

  3. 在筆者看來,Interleaving 除了最后介紹的兩個弊端外,還有一些其他潛在的問題,你覺得還有哪些?

最后歡迎大家關注我的微信公眾號:王喆的機器學習筆記(wangzhenotes),跟蹤計算廣告、推薦系統(tǒng)等機器學習領域前沿。

想進一步交流的同學也可以通過公眾號加我的微信一同探討技術問題。

注:文章大部分基于 Netflix 的官方技術博客原文(https://medium.com/netflix-techblog/interleaving-in-online-experiments-at-netflix-a04ee392ec5)翻譯,進行了有效補充。                

雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知

Netflix推薦系統(tǒng)模型的快速線上評估方法——Interleaving

分享:
相關文章
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說