導(dǎo)讀:本文主要介紹下Google在大規(guī)模深度推薦模型上關(guān)于特征嵌入的最新論文。
一、背景
大部分的深度學(xué)習(xí)模型主要包含如下的兩大模塊:輸入模塊以及表示學(xué)習(xí)模塊。自從NAS[1]的出現(xiàn)以來(lái),神經(jīng)網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)上正在往數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)機(jī)器學(xué)習(xí)方向演進(jìn)。不過(guò)之前更多的研究都是聚焦在如何自動(dòng)設(shè)計(jì)表示學(xué)習(xí)模塊而不是輸入模塊,主要原因是在計(jì)算機(jī)視覺(jué)等成熟領(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)需要將這些類(lèi)別特征通過(guò)embedding嵌入技術(shù)將離散的id轉(zhuǎn)換為連續(xù)的向量。而這些向量的維度大小往往被當(dāng)做一個(gè)超參手動(dòng)進(jìn)行設(shè)定。
一個(gè)簡(jiǎn)單的數(shù)據(jù)分析就能告訴我們嵌入向量維度設(shè)定的合理與否非常影響模型的效果。以YoutubeDNN[2]為例,其中使用到的VideoId的特征詞典大小是100萬(wàn),每一個(gè)特征值嵌入向量大小是256。僅僅一個(gè)VideoId的特征就包含了2.56億的超參,考慮到其他更多的離散類(lèi)特征輸入模塊的需要學(xué)習(xí)的超參數(shù)量可想而知。相應(yīng)地,表示學(xué)習(xí)模塊主要包含三層全連接層。也就是說(shuō)大部分的超參其實(shí)聚集在了輸入模塊,那自然就會(huì)對(duì)模型的效果有著舉足輕重的影響。
二、主要工作
Google的研究者們?cè)谧钚碌囊黄撐腫3]中提出了NIS技術(shù)(Neural Input Search),可以自動(dòng)學(xué)習(xí)大規(guī)模深度推薦模型中每個(gè)類(lèi)別特征最優(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í)來(lái)尋找每個(gè)特征值最優(yōu)化的詞典大小和嵌入向量維度。通過(guò)在兩大大規(guī)模推薦問(wèn)題(檢索、排序)上的實(shí)驗(yàn)驗(yàn)證,NIS技術(shù)能夠自動(dòng)學(xué)習(xí)到更優(yōu)化的特征詞典大小和嵌入維度并且?guī)?lái)在Recall@1以及AUC等指標(biāo)上的顯著提升。
三、Neural Input Search問(wèn)題
NIS-SE問(wèn)題:SE(Single-size Embedding)方式是目前常用的特征嵌入方式,所有特征值共享同樣的特征嵌入維度。NIS-SE問(wèn)題就是在給定資源條件下,對(duì)于每個(gè)離散特征找到最優(yōu)化的詞典大小v和嵌入向量維度d。
這里面其實(shí)包含了兩部分的trade-off:一方面是各特征之間,更有用的特征應(yīng)該給予更多的資源;另一方面是每個(gè)特征內(nèi)部,詞典大小和嵌入向量維度之間。對(duì)于一個(gè)特征來(lái)說(shuō),更大的詞典可以有更大的覆蓋度,包含更多長(zhǎng)尾的item;更多的嵌入向量維度則可以提升head item的嵌入質(zhì)量,因?yàn)閔ead item擁有充分的訓(xùn)練數(shù)據(jù)。而SE在資源限制下無(wú)法同時(shí)做到高覆蓋度和高質(zhì)量的特征嵌入。所以需要引入ME(Multi-size Embedding)。
NIS-ME問(wèn)題:ME允許每個(gè)特征詞典內(nèi)不同的特征值可以有不同的嵌入向量維度。其實(shí)就是為了實(shí)現(xiàn)越頻繁的特征值擁有更大的嵌入特征維度,因?yàn)橛懈嗟挠?xùn)練數(shù)據(jù);而長(zhǎng)尾的特征值則用更小的嵌入特征維度。引入ME為每一個(gè)類(lèi)別離散特征找到最優(yōu)化的詞典大小和嵌入向量維度,就可以實(shí)現(xiàn)在長(zhǎng)尾特征值上的高覆蓋度以及在頻繁特征值上的高質(zhì)量嵌入向量。下圖給出了embedding使用的場(chǎng)景例子中,SE和ME使用上的區(qū)別。
四、NIS解決方案
要想為每個(gè)類(lèi)別離散特征手動(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通過(guò)RL追求收益最大化而來(lái)??紤]到在限定資源下的深度模型訓(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ī)模推薦模型問(wèn)題:檢索和排序上進(jìn)行了實(shí)驗(yàn)。在同等資源消耗的情況下,NIS可以獲得顯著提升,詳細(xì)數(shù)據(jù)如下圖所示。
-
谷歌
+關(guān)注
關(guān)注
27文章
6231瀏覽量
108200
原文標(biāo)題:Google最新論文:大規(guī)模深度推薦模型的特征嵌入問(wèn)題有解了!
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
AI原生架構(gòu)升級(jí):RAKsmart服務(wù)器在超大規(guī)模模型訓(xùn)練中的算力突破
谷歌新一代 TPU 芯片 Ironwood:助力大規(guī)模思考與推理的 AI 模型新引擎?
大模型領(lǐng)域常用名詞解釋?zhuān)ń?00個(gè))

淺談適用規(guī)模充電站的深度學(xué)習(xí)有序充電策略

【「基于大模型的RAG應(yīng)用開(kāi)發(fā)與優(yōu)化」閱讀體驗(yàn)】+大模型微調(diào)技術(shù)解讀
AI模型部署邊緣設(shè)備的奇妙之旅:目標(biāo)檢測(cè)模型
谷歌發(fā)布“深度研究”AI工具,利用Gemini模型進(jìn)行網(wǎng)絡(luò)信息檢索
Kaggle知識(shí)點(diǎn):使用大模型進(jìn)行特征篩選

NVIDIA與谷歌量子AI部門(mén)達(dá)成合作
使用EMBark進(jìn)行大規(guī)模推薦系統(tǒng)訓(xùn)練Embedding加速

評(píng)論