有經(jīng)驗的算法工程師肯定非常清楚,在一個模型的開發(fā)周期中,占工作量大頭的其實是特征工程和模型評估及上線的過程。在機器學(xué)習(xí)平臺已經(jīng)非常成熟的現(xiàn)在,模型結(jié)構(gòu)的實現(xiàn)和調(diào)整反而僅僅是幾行代碼的事情。所以如果能夠?qū)⒛P驮u估和線上AB Test的效率提高,那一定是大大解放算法工程師效率的事情。
今天這篇文章我們就介紹一下流媒體巨頭Netflix的“獨門線上評估秘笈”——Interleaving。
眾所周知,Netflix是美國的流媒體巨頭,其廣為人知的原因不僅是因為其多部知名的原創(chuàng)劇,高昂的市值,在推薦技術(shù)領(lǐng)域,Netflix也一直走在業(yè)界的最前沿。那么驅(qū)動Netflix實現(xiàn)推薦系統(tǒng)快速迭代創(chuàng)新的重要技術(shù),就是我們今天要介紹的快速線上評估方法——Interleaving。
Netflix推薦系統(tǒng)問題背景
Netflix幾乎所有頁面都是推薦算法驅(qū)動的,每種算法針對不同的推薦場景進行優(yōu)化。
如下圖所示,主頁上的“Top Picks行”根據(jù)視頻的個性化排名提供推薦,而“Trending Now行”包含了最近的流行趨勢。這些個性化的行共同構(gòu)成了Netflix將近1億會員“千人千面“的個性化主頁。
圖1:個性化Netflix主頁示例。每一行是一個推薦類別,對于給定的行,從左到右的視頻排序由特定的排序算法確定。
對于強算法驅(qū)動的Netflix來說,算法的迭代創(chuàng)新當(dāng)然是必不可少的。為了通過算法最大化Netflix的商業(yè)目標(biāo)(這些商業(yè)指標(biāo)包括每月用戶訂閱數(shù)、觀看總時長等等),需要進行大量的AB Test來驗證新算法能否有效提升這些關(guān)鍵的產(chǎn)品指標(biāo)。
這就帶來一個矛盾,就是算法工程師們?nèi)找嬖鲩L的AB Test需求和線上AB Test資源嚴(yán)重不足之間的矛盾。
因為線上AB Test必然要占用寶貴的線上流量資源,還有可能會對用戶體驗造成損害,但線上流量資源顯然是有限的,而且只有小部分能夠用于AB Test;而算法研發(fā)這側(cè),算法驅(qū)動的使用場景不斷增加,大量候選算法需要逐一進行AB Test。這二者之間的矛盾必然愈演愈烈。這就迫切需要設(shè)計一個快速的線上評估方法。
為此,Netflix設(shè)計了一個兩階段的線上測試過程:
圖2:使用Interleaving進行快速線上測試。用燈泡代表候選算法。其中,最優(yōu)的獲勝算法用紅色表示。Interleaving能夠快速地將最初的候選算法集合進行縮減,相比傳統(tǒng)的AB Test更快地確定最優(yōu)算法。
1. 第一階段利用被稱為Interleaving的測試方法進行候選算法的快速篩選,從大量初始想法中篩選出少量“優(yōu)秀的”Ranking算法。
2. 第二階段是對縮小的算法集合進行傳統(tǒng)的AB Test,以測量它們對用戶行為的長期影響。
大家一定已經(jīng)對傳統(tǒng)的AB Test方法駕輕就熟,所以這篇文章專注于介紹Netflix是怎樣通過Interleaving方法進行線上快速測試的。
傳統(tǒng)AB Test存在的問題
傳統(tǒng)的AB Test除了存在效率問題,還存在一些統(tǒng)計學(xué)上的顯著性差異問題。下面用一個很典型的AB Test問題來進行說明。
這里設(shè)計一個AB Test來驗證用戶群體是否對“可口可樂”和“百事可樂”存在口味傾向。那么按照傳統(tǒng)的做法,我們會將測試人群隨機分成兩組然后進行“盲測”,即在不告知可樂品牌的情況下進行測試。第一組只提供可口可樂,第二組只提供百事可樂,然后根據(jù)大家一定時間內(nèi)的可樂消耗量來觀察人們是更喜歡“可口可樂”還是“百事可樂”。
這個實驗一般意義上確實是有效的,很多時候我們也是這么做的。但也確實存在一些潛在的問題:
1. 總的測試人群中,對于可樂的消費習(xí)慣肯定各不相同,從幾乎不喝可樂到每天喝大量可樂的人都有。
2. 可樂的重消費人群肯定只占總測試人群的一小部分,但他們可能占整體汽水消費的較大比例。
這兩個問題導(dǎo)致——即使AB兩組之間重度可樂消費者的微小不平衡也可能對結(jié)論產(chǎn)生不成比例的影響。
在互聯(lián)網(wǎng)場景下,這樣的問題同樣存在。比如Netflix場景下,非常活躍用戶的數(shù)量是少數(shù),但其貢獻的觀看時長卻占較大的比例,因此Netflix AB Test中活躍用戶被分在A組的多還是被分在B組的多,將對結(jié)果產(chǎn)生較大影響,從而掩蓋模型的真實效果。
那么如何解決這個問題呢?一個方法是不對測試人群進行分組,而是讓所有測試者都可以自由選擇百事可樂和可口可樂(測試過程中仍沒有品牌標(biāo)簽,但能區(qū)分是兩種不同的可樂)。在實驗結(jié)束時,統(tǒng)計每個人可口可樂和百事可樂的消費比例,然后進行平均后得到整體的消費比例。
這個測試方案的優(yōu)點在于:
1. 消除了AB組測試者自身屬性分布不均的問題;
2. 通過給予每個人相同的權(quán)重,降低了重度消費者對結(jié)果的過多影響。
這個測試思路應(yīng)用于Netflix的場景,就是Interleaving。
Netflix的快速線上評估方法——Interleaving
AB Test和Interleaving之間存在如下差異。
在傳統(tǒng)的AB Test中,Netflix會選擇兩組訂閱用戶:一組接受Ranking算法A的推薦結(jié)果,另一組接受Ranking算法B的推薦結(jié)果。
在Interleaving測試中,只有一組訂閱用戶,這些訂閱用戶會接受到通過混合算法A和B的排名生成的交替排名。
這就使得用戶同時可以在一行里同時看到算法A和B的推薦結(jié)果(用戶無法區(qū)分一個item是由算法A推薦的還是算法B推薦的),進而可以通過計算觀看時長等指標(biāo)來衡量到底是算法A好還是算法B好。
解讀圖3:傳統(tǒng)AB Test和Interleaving 在傳統(tǒng)AB Test中,測試用戶分為兩組,一組暴露于排名算法A ,另一組暴露于算法B,在兩組之間進行比較觀看時長等核心評估指標(biāo)。另一方面,Interleaving將所有測試用戶暴露于算法A和B的混合排名,再比較算法相對應(yīng)的item的指標(biāo)。
當(dāng)然,在用Interleaving方法進行測試的時候,必須要考慮位置偏差的存在,避免來自算法A的視頻總排在第一位。因此需要以相等的概率讓算法A和算法B交替領(lǐng)先。這類似于在野球場打球時,兩個隊長先通過扔硬幣的方式?jīng)Q定誰先選人,然后在交替選隊員的過程。
圖4:使用“隊長選人”的方式來混合兩個排名算法的視頻。ranking算法A和B分別產(chǎn)生了推薦視頻列表。通過隨機拋硬幣確定是ranking算法A還是B貢獻第一個視頻。然后,輪流從算法A和B中從高到底選擇視頻。
在清楚了Interleaving方法之后,還需要驗證這個評估方法到底能不能替代傳統(tǒng)的AB Test,會不會得出錯誤的結(jié)論。Netflix從兩個方面進行了驗證,一是Interleaving的“靈敏度”,二是Interleaving的“正確性”。
Interleaving與傳統(tǒng)AB Test的靈敏度比較
Netflix的這組實驗希望驗證的是Interleaving方法相比傳統(tǒng)AB Test,需要多少樣本就能夠驗證出算法A和算法B的優(yōu)劣。我們之前一再強調(diào)線上測試資源的緊張,因此這里自然希望Interleaving能夠利用較少的線上資源,較少的測試用戶就解決評估問題。這就是所謂的“靈敏度比較”。
圖5是實驗結(jié)果,橫軸是參與實驗的樣本數(shù)量,縱軸Netflix沒有給出非常精準(zhǔn)的解釋,但我們可以理解為是判定算法A是否比算法B好的“錯誤”概率。可以看出的是interleaving的方法利用10^3個樣本就能夠判定算法A是否比B好,而AB test則需要10^5個樣本才能夠?qū)㈠e誤率降到5%以下。這就意味著利用一組AB Test的資源,我們可以做100組Interleaving實驗。這無疑大大加強了線上測試的能力。

圖5:對Interleaving與傳統(tǒng)AB Test指標(biāo)的靈敏度。與最敏感的AB Test指標(biāo)相比,Interleaving也只需要1/100的訂閱用戶樣本就能夠確定用戶更偏愛哪個算法
Interleaving指標(biāo)與AB Test指標(biāo)的相關(guān)性
除了能夠利用小樣本快速進行算法評估外,Interleaving的判斷結(jié)果是否與AB Test一致,也是檢驗Interleaving能否在線上評估第一階段取代AB Test的關(guān)鍵。
圖6顯示了Interleaving中的實驗指標(biāo)與AB Test指標(biāo)之間的相關(guān)性。每個數(shù)據(jù)點代表一個Ranking算法。我們發(fā)現(xiàn)Interleaving指標(biāo)與AB Test評估指標(biāo)之間存在非常強的相關(guān)性,這就驗證了在Interleaving實驗中勝出的算法也極有可能在之后的AB Test中勝出。

圖6:Interleaving指標(biāo)與AB Test指標(biāo)的相關(guān)性。每個點表示一個Ranking算法的實驗結(jié)果。Interleaving指標(biāo)與AB Test指標(biāo)存在很強的相關(guān)性。
結(jié)論
通過實驗我們已經(jīng)知道Interleaving是一種強大快捷的算法驗證方法,它加速了Netflix各類Ranking算法的迭代創(chuàng)新。
但我們也要清楚的是Interleaving方法也存在一定的局限性,主要是下面兩點:
1. 工程實現(xiàn)的框架較傳統(tǒng)AB Test復(fù)雜。由于Interleaving實驗的邏輯和業(yè)務(wù)邏輯糾纏在一起,因此業(yè)務(wù)邏輯可能會被干擾。而且為了實現(xiàn)Interleaving,需要將大量輔助性的數(shù)據(jù)標(biāo)示添加到整個數(shù)據(jù)pipeline中,這都是工程實現(xiàn)的難點;
2. Interleaving畢竟只是對用戶對算法推薦結(jié)果偏好程度的相對測量,不能得出一個算法完整的表現(xiàn)。比如我們想知道算法A能夠?qū)⒂脩粽w的觀看時長提高多少,使用Interleaving是無法得出這樣的結(jié)論的。為此Netflix才設(shè)計了Interleaving+AB Test兩級實驗結(jié)構(gòu),完善整個線上測試的框架。
-
機器學(xué)習(xí)
+關(guān)注
關(guān)注
67文章
8560瀏覽量
137182 -
推薦系統(tǒng)
+關(guān)注
關(guān)注
1文章
44瀏覽量
10467
原文標(biāo)題:Netflix推薦系統(tǒng)模型的快速線上評估方法——Interleaving
文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
USB MP4流媒體帶來的好處
基于流媒體技術(shù)的手機視頻播放系統(tǒng)的研究與實現(xiàn)
流媒體后視鏡 柔光夜視清盲區(qū)實用性強
【HarmonyOS HiSpark AI Camera】流媒體后視鏡
探討無線流媒體監(jiān)控系統(tǒng)的相關(guān)知識
什么是流媒體服務(wù)器?
嵌入式Linux音頻流媒體終端系統(tǒng)的設(shè)計資料分享
TD-SCDMA 移動流媒體業(yè)務(wù)
中國電信流媒體
流媒體是什么?
區(qū)塊鏈會對Netflix和其他流媒體競爭對手造成威脅嗎?
蘋果發(fā)力 流媒體大戰(zhàn)一觸即發(fā),多方爭霸,各顯其能
電視流媒體平臺和設(shè)備將成為視頻流媒體的主導(dǎo)力量
流媒體巨頭Netflix的“獨門線上評估秘笈”——Interleaving
評論