導(dǎo)讀:本文主要介紹下Google在大規(guī)模深度推薦模型上關(guān)于特征嵌入的最新論文。
一、背景
大部分的深度學(xué)習(xí)模型主要包含如下的兩大模塊:輸入模塊以及表示學(xué)習(xí)模塊。自從NAS[1]的出現(xiàn)以來,神經(jīng)網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)上正在往數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)機(jī)器學(xué)習(xí)方向演進(jìn)。不過之前更多的研究都是聚焦在如何自動(dòng)設(shè)計(jì)表示學(xué)習(xí)模塊而不是輸入模塊,主要原因是在計(jì)算機(jī)視覺等成熟領(lǐng)域原始輸入(圖像像素)已經(jīng)是浮點(diǎn)數(shù)了。
輸入模塊:負(fù)責(zé)將原始輸入轉(zhuǎn)換為浮點(diǎn)數(shù);表示學(xué)習(xí)模塊:根據(jù)輸入模塊的浮點(diǎn)值,計(jì)算得到模型的最終輸出;
而在推薦、搜索以及廣告工業(yè)界的大規(guī)模深度模型上,情況卻完全不同。因?yàn)榘罅扛呔S稀疏的離散特征(譬如商品id,視頻id或者文章id)需要將這些類別特征通過embedding嵌入技術(shù)將離散的id轉(zhuǎn)換為連續(xù)的向量。而這些向量的維度大小往往被當(dāng)做一個(gè)超參手動(dòng)進(jìn)行設(shè)定。
一個(gè)簡單的數(shù)據(jù)分析就能告訴我們嵌入向量維度設(shè)定的合理與否非常影響模型的效果。以YoutubeDNN[2]為例,其中使用到的VideoId的特征詞典大小是100萬,每一個(gè)特征值嵌入向量大小是256。僅僅一個(gè)VideoId的特征就包含了2.56億的超參,考慮到其他更多的離散類特征輸入模塊的需要學(xué)習(xí)的超參數(shù)量可想而知。相應(yīng)地,表示學(xué)習(xí)模塊主要包含三層全連接層。也就是說大部分的超參其實(shí)聚集在了輸入模塊,那自然就會(huì)對(duì)模型的效果有著舉足輕重的影響。
二、主要工作
Google的研究者們?cè)谧钚碌囊黄撐腫3]中提出了NIS技術(shù)(Neural Input Search),可以自動(dòng)學(xué)習(xí)大規(guī)模深度推薦模型中每個(gè)類別特征最優(yōu)化的詞典大小以及嵌入向量維度大小。目的就是為了在節(jié)省性能的同時(shí)盡可能地最大化深度模型的效果。
并且,他們發(fā)現(xiàn)傳統(tǒng)的Single-size Embedding方式(所有特征值共享同樣的嵌入向量維度)其實(shí)并不能夠讓模型充分學(xué)習(xí)訓(xùn)練數(shù)據(jù)。因此與之對(duì)應(yīng)地,提出了Multi-size Embedding方式讓不同的特征值可以擁有不同的嵌入向量維度。
在實(shí)際訓(xùn)練中,他們使用強(qiáng)化學(xué)習(xí)來尋找每個(gè)特征值最優(yōu)化的詞典大小和嵌入向量維度。通過在兩大大規(guī)模推薦問題(檢索、排序)上的實(shí)驗(yàn)驗(yàn)證,NIS技術(shù)能夠自動(dòng)學(xué)習(xí)到更優(yōu)化的特征詞典大小和嵌入維度并且?guī)碓赗ecall@1以及AUC等指標(biāo)上的顯著提升。
三、Neural Input Search問題
NIS-SE問題:SE(Single-size Embedding)方式是目前常用的特征嵌入方式,所有特征值共享同樣的特征嵌入維度。NIS-SE問題就是在給定資源條件下,對(duì)于每個(gè)離散特征找到最優(yōu)化的詞典大小v和嵌入向量維度d。
這里面其實(shí)包含了兩部分的trade-off:一方面是各特征之間,更有用的特征應(yīng)該給予更多的資源;另一方面是每個(gè)特征內(nèi)部,詞典大小和嵌入向量維度之間。對(duì)于一個(gè)特征來說,更大的詞典可以有更大的覆蓋度,包含更多長尾的item;更多的嵌入向量維度則可以提升head item的嵌入質(zhì)量,因?yàn)閔ead item擁有充分的訓(xùn)練數(shù)據(jù)。而SE在資源限制下無法同時(shí)做到高覆蓋度和高質(zhì)量的特征嵌入。所以需要引入ME(Multi-size Embedding)。
NIS-ME問題:ME允許每個(gè)特征詞典內(nèi)不同的特征值可以有不同的嵌入向量維度。其實(shí)就是為了實(shí)現(xiàn)越頻繁的特征值擁有更大的嵌入特征維度,因?yàn)橛懈嗟挠?xùn)練數(shù)據(jù);而長尾的特征值則用更小的嵌入特征維度。引入ME為每一個(gè)類別離散特征找到最優(yōu)化的詞典大小和嵌入向量維度,就可以實(shí)現(xiàn)在長尾特征值上的高覆蓋度以及在頻繁特征值上的高質(zhì)量嵌入向量。下圖給出了embedding使用的場景例子中,SE和ME使用上的區(qū)別。
四、NIS解決方案
要想為每個(gè)類別離散特征手動(dòng)找到最優(yōu)化的詞典大小和嵌入向量維度是很難的,因?yàn)橥扑]廣告工業(yè)界的大規(guī)模深度模型的訓(xùn)練時(shí)很昂貴的。為了達(dá)到在一次訓(xùn)練中就能自動(dòng)找到最優(yōu)化的詞典大小和嵌入向量維度,他們改造了經(jīng)典的ENAS[4]:
首先針對(duì)深度模型的輸入模塊提出了一個(gè)新穎的搜索空間;
然后有一個(gè)單獨(dú)的Controller針對(duì)每一個(gè)離散特征選擇SE或者M(jìn)E;
其次可以根據(jù)Controller決策后考慮模型準(zhǔn)確度和資源消耗計(jì)算得到reward;
最后可以根據(jù)reward使用強(qiáng)化學(xué)習(xí)A3C[5]訓(xùn)練Controller進(jìn)行迭代。
搜索空間
Embedding Block的概念實(shí)際上就是原始Embedding矩陣的分塊。如下圖所示,假設(shè)原始Embedding矩陣大小是(10M,256),圖a將其分成了20個(gè)Embedding Block。Controller為每個(gè)特征有兩種選擇:圖b所示的SE以及圖c的所示的ME。
Reward函數(shù)
主模型是隨著Controller的選擇進(jìn)行訓(xùn)練的,因此Controller的參數(shù)實(shí)際上是根據(jù)在驗(yàn)證集上前向計(jì)算的reward通過RL追求收益最大化而來??紤]到在限定資源下的深度模型訓(xùn)練,這里的reward函數(shù)設(shè)計(jì)為同時(shí)考慮業(yè)務(wù)目標(biāo)與資源消耗。對(duì)于推薦領(lǐng)域的兩大主要任務(wù):信息檢索和排序,信息檢索的目標(biāo)可以使用Sampled Recall@1;而排序的目標(biāo)則可以使用AUC。
五、實(shí)驗(yàn)結(jié)果
他們?cè)趦纱蟠笠?guī)模推薦模型問題:檢索和排序上進(jìn)行了實(shí)驗(yàn)。在同等資源消耗的情況下,NIS可以獲得顯著提升,詳細(xì)數(shù)據(jù)如下圖所示。
-
谷歌
+關(guān)注
關(guān)注
27文章
6203瀏覽量
106105
原文標(biāo)題:Google最新論文:大規(guī)模深度推薦模型的特征嵌入問題有解了!
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
使用EMBark進(jìn)行大規(guī)模推薦系統(tǒng)訓(xùn)練Embedding加速
![使用EMBark進(jìn)行<b class='flag-5'>大規(guī)模</b>推薦系統(tǒng)訓(xùn)練Embedding加速](https://file1.elecfans.com/web1/M00/F4/0A/wKgaoWcjKHiALnDWAAAwzccqjSE269.png)
谷歌正在考慮在越南建設(shè)超大規(guī)模數(shù)據(jù)中心
深度學(xué)習(xí)的典型模型和訓(xùn)練過程
【大規(guī)模語言模型:從理論到實(shí)踐】- 閱讀體驗(yàn)
谷歌云部門進(jìn)行大規(guī)模裁員
【大規(guī)模語言模型:從理論到實(shí)踐】- 每日進(jìn)步一點(diǎn)點(diǎn)
谷歌提出大規(guī)模ICL方法
【大語言模型:原理與工程實(shí)踐】大語言模型的基礎(chǔ)技術(shù)
【大語言模型:原理與工程實(shí)踐】揭開大語言模型的面紗
名單公布!【書籍評(píng)測活動(dòng)NO.30】大規(guī)模語言模型:從理論到實(shí)踐
谷歌計(jì)劃將先進(jìn)大模型Gemini明年嵌入安卓手機(jī)
谷歌模型怎么用PS打開文件和圖片
谷歌模型怎么用手機(jī)打開文件
![](https://file1.elecfans.com/web2/M00/C1/B0/wKgZomXeiCiASJYaAAUIuEQwIYo299.png)
評(píng)論