日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 架構師社區(qū)
[導讀]分目前不管是廣告還是推薦業(yè)務,最底層的技術都是檢索,由于候選集合非常大,可能從千萬甚至億級別取出數(shù)十個用戶感興趣的商品。

分享嘉賓:卓靖煒 阿里巴巴

編輯整理:成鑫鑫

出品平臺:DataFunTalk

導讀:目前不管是廣告還是推薦業(yè)務,最底層的技術是檢索,由于候選集合非常大,可能從千萬甚至億級別取出數(shù)十個用戶感興趣的商品。在算力和時間復雜度的約束下,往往采用分階段漏斗算法體系。具體來說就是分成召回 ( match ) 以及排序 ( rank )。本文主要介紹阿里在match階段的最新實踐——深度樹匹配,分成幾個部分:

  • 檢索召回技術現(xiàn)狀

  • 深度樹匹配(TDM)技術演進

  • TDM業(yè)務應用實踐

  • 總結與展望

01
檢索召回技術現(xiàn)狀
1. 互聯(lián)網(wǎng)業(yè)務中檢索召回技術的發(fā)展

阿里深度樹匹配召回體系演進

對于match這一部分來說,我們的核心問題是要從一個大規(guī)模的候選集合里面高效檢索出topK。單點計算消耗和所需計算次數(shù)決定了系統(tǒng)性能邊界。我們需要在實際設計系統(tǒng)的時候考慮兩個平衡,首先是我們的對于每個item使用模型打分,有單點計算消耗的約束,從廣告庫里面解鎖商品,有計算次數(shù)上限,我們需要保證在現(xiàn)有的系統(tǒng)性能邊界下,無論是單點的計算消耗以及所需的計算次數(shù),他們的乘積不能超過這個性能邊界。

2. 兩段式Match的經典實現(xiàn)

阿里深度樹匹配召回體系演進

在我們系統(tǒng)里面最早期的是一個經典的兩段式match,例如基于商品的協(xié)同過濾,就是說對我們對于每一條用戶的請求我們去找到用戶歷史的item,然后再通過這些item查詢離線計算好的I2I相似關系表找到我們需要召回的item,并且最終做合并取topK。這個方法它的優(yōu)勢在于模型非常簡單,而且實現(xiàn)成本非常低,我們所有的迭代只需要在離線計算一份I2I表就完成了。但是它的缺點也很明顯,因為是一個兩段式的召回框架,整個過程是沒有辦法聯(lián)合優(yōu)化的,有一些很多先進的模型,像深度神經網(wǎng)絡沒有辦法很好的應用,導致召回效果受限。一個很自然的想法是我們是否能把這種兩段式的檢索升級成為一段式,并且對整個全庫做一段式檢索。

3. 內積模型向量檢索

阿里深度樹匹配召回體系演進

基于上述思路,有一個非常廣泛的應用是通過內積模型來做向量檢索,具體思路就是我們基于用戶以及商品特征的embedding去設計一些網(wǎng)絡,類似雙塔這樣的結構,然后根據(jù)這些embedding去計算內積的相似度,這樣就把match階段對候選商品集合召回的問題轉化成一個單點打分以及分類這樣一個問題。

具體實現(xiàn)是三個階段:

  • 首先離線訓練雙塔模型,得到item embedding;

  • 訓練完成之后,對這些item embedding做聚類,并且根據(jù)乘積量化去構建索引;

  • 在線上使用時,對于每一條用戶請求能夠計算得到user embedding,然后在已經構建好的索引里面去進行查找,得到user embedding最接近的K個item,作為top K 的召回。

這樣一個流程它的優(yōu)勢非常顯然:面向全庫一段式檢索,從數(shù)據(jù)里面獲取一些發(fā)現(xiàn)能力,而不依賴于用戶歷史行為觸發(fā)。但是它的缺點也很明顯,對于我們使用的模型結構上有一個非常強的約束,就是我們的模型必須是類似雙塔這樣的結構,最終user以及item的相似度必須由內積來計算,這樣對于模型能力有一個很大的局限。我們有過好幾版升級,最早是類似雙塔這樣的內積模型,接下來是DIN和DIEN,分別是把attention的機制引入了CTR預估問題里面,如果我們只看auc的話,引入user和item之間的交互模型的性能有一個比較大的提升。
這里面啟發(fā)我們一個自然的思考,如果我們想要把更加先進的模型引入到match,那么我們應該怎么做?第二個問題是我們在向量檢索模型里離線做索引構建的時候,它的目標與我們在線上使用的時候檢索目標是完全不一致的,離線索引構建的時候優(yōu)化目標是最小化embedding近似誤差,但是實際上線上想要的是最大化topK召回率,彼此之間有missmatch,所以一個很自然的想法,我們是否能夠把這兩點統(tǒng)一起來聯(lián)合來優(yōu)化,然后這啟發(fā)了我們去做深度樹匹配召回這件事情。

02
深度樹匹配(TDM)技術演進

模型能力的升級需要相應的索引結構升級來支持,我們需要設計一個通用的索引結構,使得能夠支持任意復雜的模型來做召回對于user和item之間復雜交互,如果不依賴雙塔這樣的模型結構,我們需要什么樣的索引結構?

首先,想到散列表,但是散列表同樣基于距離度量,融合先進模型比較困難。加入選擇圖的話,對于模型結構沒有任何要求,但是圖的一個問題就是它結構非常復雜,并且在圖上做檢索很難有確定性的檢索次數(shù)的控制,會存在指數(shù)爆炸的問題,所以我們最后選擇了。樹的結構相對簡單,可以通過控制樹的層高來控制檢索次數(shù)。

1. 深度樹匹配的提出

阿里深度樹匹配召回體系演進

我們提出了深度樹匹配這樣一套技術,它的基本想法就是我們把所有item商品庫聚合成為一個層次的興趣樹,把從商品庫里面的檢索轉換成一個在樹上做檢索的過程。
比如說是一個二叉樹,由于樹的特性,我們能把從十億商品庫里面挑商品的問題轉化成在樹上做30層的檢索問題,這樣的話計算次數(shù)就會大大減小。

雖然有這樣一個想法,但是我們后續(xù)需要解決非常多的問題:

  • 如何基于樹實現(xiàn)高效檢索

  • 如何做興趣建模保證樹檢索的有效性

  • 如何學習興趣模型

  • 如何構建和優(yōu)化樹索引結構

2. 基于樹的高效檢索方法—Beam Search

阿里深度樹匹配召回體系演進

我們讓葉子節(jié)點表示全部商品,中間節(jié)點表示商品的粗力度的聚合,比如是對于興趣的聚合,這樣的話我們通過構建一個完全平衡二叉樹就能夠保證這棵樹自頂而下的興趣劃分是從粗到細的。在這棵樹上就能夠通過Beam Search實現(xiàn)一個啟發(fā)式檢索的方法來找topK葉子節(jié)點,它的時間復雜度是logN, N是總的商品個數(shù),計算性能是符合線上開銷的,那么一個很自然的問題就是怎么保證這樣的檢索出的就是全局最優(yōu)?

3. 最大堆樹:支持Beam Search檢索的興趣建模

阿里深度樹匹配召回體系演進

我們提出了一套方案,要求模型保證用戶的興趣分布必須服從最大堆的性質

  • 最大堆樹下當前層的最優(yōu)TopK孩子節(jié)點的父親必然屬于上層的父輩節(jié)點最優(yōu)TopK;

  • 最大堆樹保證Beam Search檢索得到的TopK一定是全局最優(yōu)TopK:從根節(jié)點遞歸向下逐層挑選TopK和擴展其子節(jié)點至葉子層。

4. 最大堆樹的模型學習

阿里深度樹匹配召回體系演進

如何學習中間節(jié)點的興趣概率?

  • 葉子層節(jié)點興趣:用戶對葉子節(jié)點的行為數(shù)據(jù)構建序標簽

  • 中間層節(jié)點興趣:基于最大堆定義可推導每層的序標簽

  • 用深度學習模型擬合上述兩個序標簽

采樣方案:

  • 葉子節(jié)點:用戶行為的隱式反饋來建模葉子節(jié)點的興趣概率

  • 中間節(jié)點:

傳遞性:葉子正樣本上溯祖先仍為正樣本

層次全局性:在每一祖先層隨機負采樣

5. TDM1.0:容納任意先進模型

阿里深度樹匹配召回體系演進

最大堆樹的訓練模式和檢索模式為容納任意先進模型提供了堅實的理論基礎和強大的效率保證。我們主要做的工作是在最大堆樹這樣一個約束之下,我們引入了一些更加先進的模型,它跟雙塔模型最大的區(qū)別在于我們模型里面考慮了用戶的特征以及Item特征的交叉,它不是一個雙塔結構,這里面用戶特征簡單來說就是用戶歷史的Item行為序列商品特征。商品特征比如商品的ID,如果是在樹里面非葉子層的話,它就是node的ID,在這種模型結構里面,我們把用戶的歷史行為拆分成一系列時間窗,然后我們在每個時間窗里面做一個基于Item embedding的attention,然后得到最終的attention向量。在這種模型結構之下,我們利用到了用戶以及item之間的交叉信息,所以它的模型能力是比雙塔結構強的。

然后在這種情況下,我們在訓練的時候就用之前所說的最大堆樹學習的方法,把它拆分成H層的分類問題,在檢索階段的話,直接用Beam search,然后對這棵樹檢索,得到我們最終想要的結果。大概在兩年前,我們已經到線上后取得了大概兩位數(shù)的一個性能的提升。

6. TDM2.0:模型&索引聯(lián)合學習

阿里深度樹匹配召回體系演進

在1.0的時候,我們是在給定的一個樹的范式之下,只考慮模型的學習,但其實樹的結構本身對于我們召回結果有非常大的影響,比如說考慮左下角這樣一個例子,在一些女裝女鞋男裝拿些這樣個商品集合里面去構造一棵樹,那么在這種情況下,樹構造有兩種辦法,一種是把女裝和男鞋做一個聚合,然后把女鞋和男裝聚合,但這種方法可以看到它得到的聚合其實是沒有什么意義的。一個更加合理的劃分方法是把女裝和女鞋、男裝和男鞋劃分到相同的樹節(jié)點,這樣的話對于高層的非葉子節(jié)點我們就有一些抽象的含義。
所以我們在2.0想要解決的問題就是如何對模型以及索引做聯(lián)合的學習,這個問題抽象出來,其實就像右上角所示。所以在這種情況下,我們整個樹模型的學習過程就可以看成是對兩項的優(yōu)化問題。一項是模型的參數(shù),也就是對帶權二部圖的最大匹配問題,我們用了貪心的算法,最終得到一個分段式樹學習算法。這就是我們在2.0所做的一些基本事情。

7. TDM3.0:模型&索引&檢索聯(lián)合學習

阿里深度樹匹配召回體系演進

不論是1.0還是2.0都有一個問題就是訓練和檢索的目標偏差。訓練的目標:擬合每層興趣多分類的概率。正樣本上溯路徑節(jié)點+同層隨機負采樣。檢索目標:召回率最大,自頂而下的Beam Search集合,每層只集中在頭部打分節(jié)點部分。

一個最典型的例子就是我們在訓練的時候,所用到的樣本是一部分上述的正樣本以及一部分隨機采樣的。沒有考慮到在線上檢索的時候,實際上是自頂而下的一個擴展的方式,每層用到的Item其實是相對打分比較高的那一部分,這就會導致我們在檢索中可能檢索到的某些Item在訓練的時候沒有得到充分的訓練。我們希望把線上檢索的目標以及過程完全考慮到訓練中,保證我們離線訓練以及線上使用的一致性。這樣的話,實際上我們又從興趣分類建模這件事情重新回到對于集合召回建模這個事情上。
為了達到這一點,我們做了以下兩件事情。

對檢索過程建模:對齊數(shù)據(jù)分布

阿里深度樹匹配召回體系演進

首先第一是我們對采樣方式做了一個升級,就是我們不再通過正樣本加負樣本采樣這套方式來構造我們的訓練樣本,我們直接對我們這棵樹做一個BeamSearch檢索,然后以檢索出來的這些topK集合作為我們的訓練樣本。這樣我們在離線訓練時和在線Serviceing的樣本產生邏輯以及樣本分布是完全保持一致的。

對檢索過程建模:對齊訓練目標

阿里深度樹匹配召回體系演進

我們做的第二件事情就是說我們對于本身模型學習的目標做了一次改造,確保我們能夠滿足最大堆約束,也就是保證我們的BeamSearch的局部最優(yōu)一定是全局最優(yōu)。我們與之前的方法做一個對比,在之前的方法,我們對于節(jié)點的標簽的設定就是它本身以及它的上溯路徑全部標為1,然后剩下的節(jié)點全部標為0作為負樣本,從里面隨機采樣作為它的訓練樣本。我們后來發(fā)現(xiàn)這樣一個設定方式,其實并不符合最大堆的需求,我們對它做BeamSearch得到的topK也不是全局的最優(yōu)。所以我們換了一個樣本構建的方式,就如右圖所示,比如說這里面藍色節(jié)點都是我們檢索到的集合,那么我們對于每個節(jié)點的標簽,我們不只依賴于本身item用戶是否點擊了這個行為,每個節(jié)點的標簽還依賴于從它的子節(jié)點上溯的標簽,以及模型對于它的子節(jié)點的一個預估分數(shù)。

8. Beam Search下理論最優(yōu)的訓練范式

阿里深度樹匹配召回體系演進

我們做了上述兩版升級,就得到了一個在BeamSearch下理論最優(yōu)的一個訓練方式,具體來說就是我們以BeamSearch來構造我們的樣本集合,我們通過基于打分上溯的方式去設計每一層樣本的擬合目標,還是一個H層的但是存在上下層依賴的這樣一個分類問題來做我們的模型的訓練。他的訓練方法也是一個循環(huán)迭代的方式,就是我們輸入原始樣本的minibatch,使用當前的模型做一遍采樣就是做一BeamSearch檢索,得到每層的樣本,然后采用目標構建的方式,對于這個樣本里面的每一個節(jié)點得到它的一個模型的標簽,得到標簽之后類似一個二分類問題設計一個loss,然后去對參數(shù)更新,然后如此反復迭代,直到收斂。

9. TDM顯著性效果

阿里深度樹匹配召回體系演進

離線的話我們也做了一些公開數(shù)據(jù)集的測試,可以看到不管是從1.0、2.0以及3.0,它的召回率都有一個顯著的漲幅,跟現(xiàn)有的方法,比如說ITemCF以及YoutubeDNN這兩個經典的方法來比,有個非常大的提升。

我們在每個階段的思考也有一些論文產出,如果大家對具體的細節(jié)感興趣的話,可以參考我們的論文。

10. TDM在定向廣告場景落地實踐

阿里深度樹匹配召回體系演進

最后,講一下我們在定向廣告場景的一些落地使用,廣告業(yè)務本身它有非常顯著的一個特點,就是我們商品召回的有效性其實比較低的,因為存在廣告主的預算是否花光,商品的上下架以及投放的時間的影響。所以這導致了在廣告里面,我們候選廣告集合它的動態(tài)性非常強,但是TDM這樣的樹結構,是一個相對比較靜態(tài)的結構。
所以在實際中我們采用了靜態(tài)樹結構加動態(tài)的正排倒排表這樣一個實現(xiàn)方式。具體來說就是我們本身這個樹的結構是以正常的商品作為葉子,我們在這樣的結構之上做了一個實時的商品以及廣告的倒排表,以及廣告本身的信息做正排表。我們在線上Servicing的時候,樹結構是保持不變的,我們根據(jù)實時的變化去實時更新廣告正排倒排表的順序結構,這樣使得整體能夠保持一個比較高的召回有效性。

04
展望

阿里深度樹匹配召回體系演進

最后是總結與展望,然后我們還是回到我們本身檢索這樣一個問題,因為算力的約束,導致形成了大家都認可的一個分階段漏斗的形式,就是把整個檢索過程拆分成召回以及rank這兩個階段。在后續(xù)的話,我們希望也把TDM這一套技術把它做得更加扎實一點。大概是三個維度,首先是檢索結構上,我們希望利用圖對本身樹這樣一個召回結構做一些近似的擴展,第二我們希望它能夠去對多種目標進行召回,比如說多考慮一些多樣性發(fā)現(xiàn)性這些指標,另外還有一點是我們希望能夠把這種形式做一些可解釋性的推薦。

最后回到檢索問題本身,未來算力&算法升級使得檢索不再是瓶頸,Match+Rank分階段漏斗式體系該如何發(fā)展?我覺得可能是把match和rank作為一個整體,用一個整體的技術方案去實現(xiàn)從千萬級百萬級量級到個位數(shù)或者十位數(shù)這召回,也就是所謂的合久必分,分久必合。


免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉