有經(jīng)驗(yàn)的算法工程師肯定非常清楚,在一個(gè)模型的開發(fā)周期中,占工作量大頭的其實(shí)是特征工程和模型評(píng)估及上線的過程。在機(jī)器學(xué)習(xí)平臺(tái)已經(jīng)非常成熟的現(xiàn)在,模型結(jié)構(gòu)的實(shí)現(xiàn)和調(diào)整反而僅僅是幾行代碼的事情。所以如果能夠?qū)⒛P驮u(píng)估和線上AB Test的效率提高,那一定是大大解放算法工程師效率的事情。
今天這篇文章我們就介紹一下流媒體巨頭Netflix的“獨(dú)門線上評(píng)估秘笈”——Interleaving。
眾所周知,Netflix是美國(guó)的流媒體巨頭,其廣為人知的原因不僅是因?yàn)槠涠嗖?a target="_blank">知名的原創(chuàng)劇,高昂的市值,在推薦技術(shù)領(lǐng)域,Netflix也一直走在業(yè)界的最前沿。那么驅(qū)動(dòng)Netflix實(shí)現(xiàn)推薦系統(tǒng)快速迭代創(chuàng)新的重要技術(shù),就是我們今天要介紹的快速線上評(píng)估方法——Interleaving。
Netflix推薦系統(tǒng)問題背景
Netflix幾乎所有頁(yè)面都是推薦算法驅(qū)動(dòng)的,每種算法針對(duì)不同的推薦場(chǎng)景進(jìn)行優(yōu)化。
如下圖所示,主頁(yè)上的“Top Picks行”根據(jù)視頻的個(gè)性化排名提供推薦,而“Trending Now行”包含了最近的流行趨勢(shì)。這些個(gè)性化的行共同構(gòu)成了Netflix將近1億會(huì)員“千人千面“的個(gè)性化主頁(yè)。
圖1:個(gè)性化Netflix主頁(yè)示例。每一行是一個(gè)推薦類別,對(duì)于給定的行,從左到右的視頻排序由特定的排序算法確定。
對(duì)于強(qiáng)算法驅(qū)動(dòng)的Netflix來說,算法的迭代創(chuàng)新當(dāng)然是必不可少的。為了通過算法最大化Netflix的商業(yè)目標(biāo)(這些商業(yè)指標(biāo)包括每月用戶訂閱數(shù)、觀看總時(shí)長(zhǎng)等等),需要進(jìn)行大量的AB Test來驗(yàn)證新算法能否有效提升這些關(guān)鍵的產(chǎn)品指標(biāo)。
這就帶來一個(gè)矛盾,就是算法工程師們?nèi)找嬖鲩L(zhǎng)的AB Test需求和線上AB Test資源嚴(yán)重不足之間的矛盾。
因?yàn)榫€上AB Test必然要占用寶貴的線上流量資源,還有可能會(huì)對(duì)用戶體驗(yàn)造成損害,但線上流量資源顯然是有限的,而且只有小部分能夠用于AB Test;而算法研發(fā)這側(cè),算法驅(qū)動(dòng)的使用場(chǎng)景不斷增加,大量候選算法需要逐一進(jìn)行AB Test。這二者之間的矛盾必然愈演愈烈。這就迫切需要設(shè)計(jì)一個(gè)快速的線上評(píng)估方法。
為此,Netflix設(shè)計(jì)了一個(gè)兩階段的線上測(cè)試過程:
圖2:使用Interleaving進(jìn)行快速線上測(cè)試。用燈泡代表候選算法。其中,最優(yōu)的獲勝算法用紅色表示。Interleaving能夠快速地將最初的候選算法集合進(jìn)行縮減,相比傳統(tǒng)的AB Test更快地確定最優(yōu)算法。
1. 第一階段利用被稱為Interleaving的測(cè)試方法進(jìn)行候選算法的快速篩選,從大量初始想法中篩選出少量“優(yōu)秀的”Ranking算法。
2. 第二階段是對(duì)縮小的算法集合進(jìn)行傳統(tǒng)的AB Test,以測(cè)量它們對(duì)用戶行為的長(zhǎng)期影響。
大家一定已經(jīng)對(duì)傳統(tǒng)的AB Test方法駕輕就熟,所以這篇文章專注于介紹Netflix是怎樣通過Interleaving方法進(jìn)行線上快速測(cè)試的。
傳統(tǒng)AB Test存在的問題
傳統(tǒng)的AB Test除了存在效率問題,還存在一些統(tǒng)計(jì)學(xué)上的顯著性差異問題。下面用一個(gè)很典型的AB Test問題來進(jìn)行說明。
這里設(shè)計(jì)一個(gè)AB Test來驗(yàn)證用戶群體是否對(duì)“可口可樂”和“百事可樂”存在口味傾向。那么按照傳統(tǒng)的做法,我們會(huì)將測(cè)試人群隨機(jī)分成兩組然后進(jìn)行“盲測(cè)”,即在不告知可樂品牌的情況下進(jìn)行測(cè)試。第一組只提供可口可樂,第二組只提供百事可樂,然后根據(jù)大家一定時(shí)間內(nèi)的可樂消耗量來觀察人們是更喜歡“可口可樂”還是“百事可樂”。
這個(gè)實(shí)驗(yàn)一般意義上確實(shí)是有效的,很多時(shí)候我們也是這么做的。但也確實(shí)存在一些潛在的問題:
1. 總的測(cè)試人群中,對(duì)于可樂的消費(fèi)習(xí)慣肯定各不相同,從幾乎不喝可樂到每天喝大量可樂的人都有。
2. 可樂的重消費(fèi)人群肯定只占總測(cè)試人群的一小部分,但他們可能占整體汽水消費(fèi)的較大比例。
這兩個(gè)問題導(dǎo)致——即使AB兩組之間重度可樂消費(fèi)者的微小不平衡也可能對(duì)結(jié)論產(chǎn)生不成比例的影響。
在互聯(lián)網(wǎng)場(chǎng)景下,這樣的問題同樣存在。比如Netflix場(chǎng)景下,非?;钴S用戶的數(shù)量是少數(shù),但其貢獻(xiàn)的觀看時(shí)長(zhǎng)卻占較大的比例,因此Netflix AB Test中活躍用戶被分在A組的多還是被分在B組的多,將對(duì)結(jié)果產(chǎn)生較大影響,從而掩蓋模型的真實(shí)效果。
那么如何解決這個(gè)問題呢?一個(gè)方法是不對(duì)測(cè)試人群進(jìn)行分組,而是讓所有測(cè)試者都可以自由選擇百事可樂和可口可樂(測(cè)試過程中仍沒有品牌標(biāo)簽,但能區(qū)分是兩種不同的可樂)。在實(shí)驗(yàn)結(jié)束時(shí),統(tǒng)計(jì)每個(gè)人可口可樂和百事可樂的消費(fèi)比例,然后進(jìn)行平均后得到整體的消費(fèi)比例。
這個(gè)測(cè)試方案的優(yōu)點(diǎn)在于:
1. 消除了AB組測(cè)試者自身屬性分布不均的問題;
2. 通過給予每個(gè)人相同的權(quán)重,降低了重度消費(fèi)者對(duì)結(jié)果的過多影響。
這個(gè)測(cè)試思路應(yīng)用于Netflix的場(chǎng)景,就是Interleaving。
Netflix的快速線上評(píng)估方法——Interleaving
AB Test和Interleaving之間存在如下差異。
在傳統(tǒng)的AB Test中,Netflix會(huì)選擇兩組訂閱用戶:一組接受Ranking算法A的推薦結(jié)果,另一組接受Ranking算法B的推薦結(jié)果。
在Interleaving測(cè)試中,只有一組訂閱用戶,這些訂閱用戶會(huì)接受到通過混合算法A和B的排名生成的交替排名。
這就使得用戶同時(shí)可以在一行里同時(shí)看到算法A和B的推薦結(jié)果(用戶無法區(qū)分一個(gè)item是由算法A推薦的還是算法B推薦的),進(jìn)而可以通過計(jì)算觀看時(shí)長(zhǎng)等指標(biāo)來衡量到底是算法A好還是算法B好。
解讀圖3:傳統(tǒng)AB Test和Interleaving 在傳統(tǒng)AB Test中,測(cè)試用戶分為兩組,一組暴露于排名算法A ,另一組暴露于算法B,在兩組之間進(jìn)行比較觀看時(shí)長(zhǎng)等核心評(píng)估指標(biāo)。另一方面,Interleaving將所有測(cè)試用戶暴露于算法A和B的混合排名,再比較算法相對(duì)應(yīng)的item的指標(biāo)。
當(dāng)然,在用Interleaving方法進(jìn)行測(cè)試的時(shí)候,必須要考慮位置偏差的存在,避免來自算法A的視頻總排在第一位。因此需要以相等的概率讓算法A和算法B交替領(lǐng)先。這類似于在野球場(chǎng)打球時(shí),兩個(gè)隊(duì)長(zhǎng)先通過扔硬幣的方式?jīng)Q定誰(shuí)先選人,然后在交替選隊(duì)員的過程。
圖4:使用“隊(duì)長(zhǎng)選人”的方式來混合兩個(gè)排名算法的視頻。ranking算法A和B分別產(chǎn)生了推薦視頻列表。通過隨機(jī)拋硬幣確定是ranking算法A還是B貢獻(xiàn)第一個(gè)視頻。然后,輪流從算法A和B中從高到底選擇視頻。
在清楚了Interleaving方法之后,還需要驗(yàn)證這個(gè)評(píng)估方法到底能不能替代傳統(tǒng)的AB Test,會(huì)不會(huì)得出錯(cuò)誤的結(jié)論。Netflix從兩個(gè)方面進(jìn)行了驗(yàn)證,一是Interleaving的“靈敏度”,二是Interleaving的“正確性”。
Interleaving與傳統(tǒng)AB Test的靈敏度比較
Netflix的這組實(shí)驗(yàn)希望驗(yàn)證的是Interleaving方法相比傳統(tǒng)AB Test,需要多少樣本就能夠驗(yàn)證出算法A和算法B的優(yōu)劣。我們之前一再?gòu)?qiáng)調(diào)線上測(cè)試資源的緊張,因此這里自然希望Interleaving能夠利用較少的線上資源,較少的測(cè)試用戶就解決評(píng)估問題。這就是所謂的“靈敏度比較”。
圖5是實(shí)驗(yàn)結(jié)果,橫軸是參與實(shí)驗(yàn)的樣本數(shù)量,縱軸Netflix沒有給出非常精準(zhǔn)的解釋,但我們可以理解為是判定算法A是否比算法B好的“錯(cuò)誤”概率??梢钥闯龅氖莍nterleaving的方法利用10^3個(gè)樣本就能夠判定算法A是否比B好,而AB test則需要10^5個(gè)樣本才能夠?qū)㈠e(cuò)誤率降到5%以下。這就意味著利用一組AB Test的資源,我們可以做100組Interleaving實(shí)驗(yàn)。這無疑大大加強(qiáng)了線上測(cè)試的能力。
圖5:對(duì)Interleaving與傳統(tǒng)AB Test指標(biāo)的靈敏度。與最敏感的AB Test指標(biāo)相比,Interleaving也只需要1/100的訂閱用戶樣本就能夠確定用戶更偏愛哪個(gè)算法
Interleaving指標(biāo)與AB Test指標(biāo)的相關(guān)性
除了能夠利用小樣本快速進(jìn)行算法評(píng)估外,Interleaving的判斷結(jié)果是否與AB Test一致,也是檢驗(yàn)Interleaving能否在線上評(píng)估第一階段取代AB Test的關(guān)鍵。
圖6顯示了Interleaving中的實(shí)驗(yàn)指標(biāo)與AB Test指標(biāo)之間的相關(guān)性。每個(gè)數(shù)據(jù)點(diǎn)代表一個(gè)Ranking算法。我們發(fā)現(xiàn)Interleaving指標(biāo)與AB Test評(píng)估指標(biāo)之間存在非常強(qiáng)的相關(guān)性,這就驗(yàn)證了在Interleaving實(shí)驗(yàn)中勝出的算法也極有可能在之后的AB Test中勝出。
圖6:Interleaving指標(biāo)與AB Test指標(biāo)的相關(guān)性。每個(gè)點(diǎn)表示一個(gè)Ranking算法的實(shí)驗(yàn)結(jié)果。Interleaving指標(biāo)與AB Test指標(biāo)存在很強(qiáng)的相關(guān)性。
結(jié)論
通過實(shí)驗(yàn)我們已經(jīng)知道Interleaving是一種強(qiáng)大快捷的算法驗(yàn)證方法,它加速了Netflix各類Ranking算法的迭代創(chuàng)新。
但我們也要清楚的是Interleaving方法也存在一定的局限性,主要是下面兩點(diǎn):
1. 工程實(shí)現(xiàn)的框架較傳統(tǒng)AB Test復(fù)雜。由于Interleaving實(shí)驗(yàn)的邏輯和業(yè)務(wù)邏輯糾纏在一起,因此業(yè)務(wù)邏輯可能會(huì)被干擾。而且為了實(shí)現(xiàn)Interleaving,需要將大量輔助性的數(shù)據(jù)標(biāo)示添加到整個(gè)數(shù)據(jù)pipeline中,這都是工程實(shí)現(xiàn)的難點(diǎn);
2. Interleaving畢竟只是對(duì)用戶對(duì)算法推薦結(jié)果偏好程度的相對(duì)測(cè)量,不能得出一個(gè)算法完整的表現(xiàn)。比如我們想知道算法A能夠?qū)⒂脩粽w的觀看時(shí)長(zhǎng)提高多少,使用Interleaving是無法得出這樣的結(jié)論的。為此Netflix才設(shè)計(jì)了Interleaving+AB Test兩級(jí)實(shí)驗(yàn)結(jié)構(gòu),完善整個(gè)線上測(cè)試的框架。
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8505瀏覽量
134677 -
推薦系統(tǒng)
+關(guān)注
關(guān)注
1文章
44瀏覽量
10260
原文標(biāo)題:Netflix推薦系統(tǒng)模型的快速線上評(píng)估方法——Interleaving
文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
USB MP4流媒體帶來的好處
基于流媒體技術(shù)的手機(jī)視頻播放系統(tǒng)的研究與實(shí)現(xiàn)
流媒體后視鏡 柔光夜視清盲區(qū)實(shí)用性強(qiáng)
【HarmonyOS HiSpark AI Camera】流媒體后視鏡
探討無線流媒體監(jiān)控系統(tǒng)的相關(guān)知識(shí)
什么是流媒體服務(wù)器?
嵌入式Linux音頻流媒體終端系統(tǒng)的設(shè)計(jì)資料分享
TD-SCDMA 移動(dòng)流媒體業(yè)務(wù)
中國(guó)電信流媒體
流媒體是什么?
區(qū)塊鏈會(huì)對(duì)Netflix和其他流媒體競(jìng)爭(zhēng)對(duì)手造成威脅嗎?
蘋果發(fā)力 流媒體大戰(zhàn)一觸即發(fā),多方爭(zhēng)霸,各顯其能
電視流媒體平臺(tái)和設(shè)備將成為視頻流媒體的主導(dǎo)力量

評(píng)論