CIKM 2021 | AMTL:设计孪生掩码层高效学习维度自适应的Embedding
??摘要
在深度推薦模型中,ID類特征的表示學習是至關(guān)重要的。其中,每一個特征值將會被映射成一個特征向量。對于同一個特征域的不同特征值,傳統(tǒng)的特征表示學習方法會固定對應特征向量的維度大小。這樣設置統(tǒng)一維度的模式對于表示學習以及對應向量存儲而言,都是次優(yōu)的。盡管,現(xiàn)有方法嘗試從基于規(guī)則或網(wǎng)絡搜索的角度去解決這個問題,這些方法需要額外的人工知識或者不易訓練,且對于特征向量的熱啟動也不友好。因此,在本文中,我們提出一種新穎并且高效的特征維度選擇方法。具體而言,我們在每一個表示層后面,設計了一個自適應孿生掩碼層(AMTL)來去除每一個特征向量中不需要的維度。這樣一種掩碼的方式能夠靈活的應用在各個模型中,很好的支持了模型特征向量的熱啟動。大量實驗結(jié)果表明,所提方法在模型精度上相比于其他方法取得了最好的效果,且同時節(jié)省了60%存儲開銷。目前,該工作已被 CIKM 2021 接收。
論文下載:
https://arxiv.org/pdf/2108.11513.pdf
??1. 背景
近年來,基于深度學習的推薦模型(DLRMs)被廣泛的應用在各個 web 級系統(tǒng)中[1-4]。在 DLRMs 中,最重要的一個模塊就是 embedding layer 。其將每一個ID類特征值映射到 embedding 空間,來對該特征進行表征學習。具體來講,給定一個特征域,對應的詞典大小為(即特征值的 unique 數(shù)),embedding layer 將每一個特征值通過 embedding 矩陣映射成一個 embedding 向量[1,2],其中為預定義的 embeddig 向量的維度。
然而,這樣一種對同一特征域的所有特征值賦予相同 embedding 維度的 embedding 學習方法存在著兩大問題:
效果: 在很多應用中,同一特征域的不同特征值的出現(xiàn)頻率大不相同。比如高頻特征,我們需要給予更多的 embedding 維度使其能夠表達更豐富的信息。同時對于低頻特征,太大的 embedding 維度,反而會有過擬合的風險。因此對于所有特征值賦予固定的統(tǒng)一的 embedding 維度會低估 embedding 學習的能力。模型的效果處于一個次優(yōu)狀態(tài)。
存儲: 存儲這樣一個固定 embedding 維度的矩陣會帶來巨大的存儲開銷[5,6,7]。需要一個更加靈活的 embedding 維度調(diào)整策略來減少存儲開銷。
現(xiàn)有的學習不固定 embedding 維度的方法,大體可以分為兩類:
基于規(guī)則的方法 [8]: 該方法采用人工規(guī)則的方式,根據(jù)特征的不同頻率給予不同的 embedding 維度(如圖1(b)所示)。這樣一種方法最大的問題是強依賴于人工經(jīng)驗,并且設置的 embedding 維度較為粗糙,往往效果不佳。
基于神經(jīng)網(wǎng)絡搜索(NAS)的方法[9,10,11,12]: 該方法預先設置候選維度,然后通過 NAS 的搜索為每一個特征值尋找一個合適的特征維度(如圖1(c)所示)。這類方法需要精心設計搜索空間和訓練特征,并且搜索空間經(jīng)常被局限于離散的 embedding 維度候選集。
此外,上述兩類方法均只能從頭開始訓練,不支持熱啟動。然而在現(xiàn)實的應用中,線上往往已經(jīng)服務著一個訓練了很久的深度學習模型。對應的 embedding 矩陣已經(jīng)被訓練的相對充分。如果能夠利用該 embedding 矩陣蘊含的信息,就可以很好的熱啟動不固定維度的 embedding 學習。然而,現(xiàn)有的方法都不能夠很好的支持這樣一種熱啟動的模式。
在本文中,我們提出一種新穎并且高效的為每一個特征值選擇合適的 embedding 維度的方法。其核心想法是在 embedding layer 之后增加一個 Adaptively-Masked Twins-based Layer (AMTL)。這樣一個 layer 可以自適應的學習出一個掩碼(mask)向量來去除掉對應 embedding 中不需要的維度。經(jīng)過掩碼后的embedding向量可以被看成是一個擁有自適應維度的 embedding,然后被送到下一層進行前向計算。這樣一種方法可以帶來三個好處:
embedding 的學習是高效的。因為 embedding 的維度可以在一個連續(xù)的整數(shù)空間進行選擇,并且不需要額外的人工知識以及特定的搜索空間設計。
模型的存儲是高效的。因為 embedding 的維度被自適應的調(diào)整。
embedding 的初始化是高效的。對于 embedding 的熱啟動十分友好。
??2. 方法
在這一章,我們將介紹所提的模型。
2.1 基本想法
首先,我們回顧一下最經(jīng)典的 embedding layer,其可以被表達為:
其中是特征的one-hot向量, 是embedding矩陣。 是 的embedding向量。
接下來,我們定義特征值的掩碼向量為,該向量需要滿足:
其中是一個可學習的整數(shù)參數(shù),受特征的頻率影響。
然后,為了能夠調(diào)整不同特征值的 embedding 維度,最基本的思想是用掩碼向量去mask ,
其中 表示對應位置的元素乘. 由于在中下標大于的值都為0,mask后的可以看成是一個 embedding 維度自適應調(diào)整的向量,其中中前值被保留。
下面簡單介紹下,是如何節(jié)省 embedding 存儲以及自適應維度的 embedding 是如何使用的。
節(jié)省存儲。當存儲時,我們可以只存沒有 mask 的前個值,然后從存儲中取出 embedding 的時候,可以直接在向量后面補0來復原。
自適應維度的 embedding 使用。不像現(xiàn)有的方法[8-12]需要額外設計一個模塊使得不同的 embedding 重新映射成統(tǒng)一的維度來適配接下來統(tǒng)一長度的 MLP 層,所提方法的通過補0擁有相同的維度,可以直接輸入到 MLP 層。
2.2 自適應孿生掩碼層
自適應孿生掩碼(AMTL)層是用來為每個特征生成掩碼向量。整體的結(jié)構(gòu)見圖2.
圖2 AMTL結(jié)構(gòu)圖2.2.1 輸入和輸出
在這一節(jié),我們介紹 AMTL 的輸入和輸出:
輸入:由于需要能夠隨著特征的頻率的改變而改變。因此為了使得 AMTL 能夠擁有特征頻率的信息,我們將特征的頻率信息(比如一個特征在歷史中出現(xiàn)的次數(shù),出現(xiàn)頻率的排名等等)作為輸入(記為)。
輸出:AMTL 的輸出是一個 one-hot 向量(叫做選擇向量)來表示 。
2.2.2 結(jié)構(gòu)
我們設計了一個孿生網(wǎng)絡結(jié)構(gòu)(即兩個分支子網(wǎng)絡)來生成。每一個分支網(wǎng)絡叫做自適應掩碼層(AML)。需要注意的是這兩個分支網(wǎng)絡的參數(shù)是不共享的。具體而言,每一個 AML 都是一個MLP
其中為特征頻率向量, 和 是第層的網(wǎng)絡參數(shù), 是激活函數(shù), ?為 AML 的最后一層的輸出。
設計成孿生網(wǎng)絡的主要目的是:如果僅采用一個分支,那么整個網(wǎng)絡參數(shù)的更新,由于輸入數(shù)據(jù)不平衡原因,將會被高頻的特征所主導。具體來講,由于高頻特征在樣本中出現(xiàn)次數(shù)更多,那么 AML 的大部分輸入特征都是高頻特征,這樣一來,AML 的網(wǎng)絡參數(shù)將極大的會被高頻特征影響,導致AML可能會盲目的傾向于選擇大維度。因此,我們提出了一個孿生網(wǎng)絡來解決這個問題,其中 h-AML 和 l-AML 分別被用來刻畫高頻和低頻特征。這樣以來 l-AML 的網(wǎng)絡參數(shù)可以不受高頻特征影響,給出公正的特征維度選擇決斷。
Weighted Sum. 然而,一個最大的問題是,我們很難去卡一個閾值來事先定義哪些是高頻特征哪些是低頻特征。因此,我們提出了一個軟選擇的策略。具體而言,我們定義為特征值在歷史中出現(xiàn)的次數(shù),然后將分別輸入到 h-AML 和 l-AML 中去,得到兩個網(wǎng)絡的輸出?和?。最后將這兩個輸出進行加權(quán)求和,即:
其中是和相關(guān)的權(quán)重,是一個歸一化函數(shù)將變成一個正態(tài)分布來使得在左右分布。不然的話,沒有,所有的將會都趨近于1. 通過加權(quán)求和,對于高頻樣本,會有一個較大的,對應的 將會由 主導,這時在梯度傳播的時候,會主要更新 h-AML 的網(wǎng)絡參數(shù),反之亦然。這樣以來,AMTL 能夠自適應的調(diào)節(jié) h-AML 和 l-AML 的梯度更新來解決樣本不平衡問題。
然后我們對使用 softmax 函數(shù)
其中, 為特征選擇不同維度的概率,比如為選擇維度的概率。然后選擇向量可以被表達為:
對應的掩碼向量可以通過來生成:
其中為預定義的掩碼矩陣, 當時, 反之 。
掩碼后的 embedding 向量可以通過 來獲取。需要注意的是,對于不同的特征域,需要不同的 AMTL 來進行特征維度選擇。
2.2.3 Relaxation 策略
然而,由于生成中需要 argmax 操作,這樣一個操作使得 AMTL 的學習變得不可微,無法直接使用梯度下降的策略。為了解決這樣一個問題,我們利用 temperated softmax [13,14,15]來平滑, 具體來說, 的第個值可以被近似為:
其中是 temperature 超參。當時,近似就無限接近于精確解。由于 是一個連續(xù)的向量,沒有引入不可微的過程,因此可以使用梯度下降算法來訓練。因此,我們并不直接去求解離散的向量,而是用 來近似。
然而,這樣的操作會使得訓練和推斷之間存在信息差。具體來講,我們使用的是 作為訓練,然后在推斷階段,使用的是離散向量。為了解決這樣一種差異,受 Straight-Through Estimator (STE) [16]啟發(fā),我們重構(gòu)為
其中 stop_gradient 使用來阻斷梯度傳播的。由于前向計算的過程不受 stop_gradient 影響,在該階段(與推斷時,所用向量一致)。在反向傳播是,通過 stop_gradient 來避免不可微過程的梯度更新。
??3. 實驗
3.1 實驗設置
數(shù)據(jù)集
MovieLens
IJCAI-AAC
Taobao
Baseline
Standard:傳統(tǒng)的固定維度的embedding(FBE)
基于規(guī)則的:MDE [8]
基于NAS的:AutoEmb [11]
3.2 CTR預估任務
我們通過 CTR 預估任務來比較不同方法的效果。如表1所示,不論是和傳統(tǒng)的FBE方法,還是維度選擇的 MDE 和 AutoEmb 方法相比,AMTL 在所有數(shù)據(jù)集均取得更好的效果。
表1 CTR預估任務結(jié)果3.3 存儲開銷比較
在這里,我們比較不同方法的 embedding 存儲開銷。由于 embedding 存儲開銷與 embedding 的維度成正比,在這里,簡單起見,我們比較了,不同方法下,特征 User ID 的平均維度。如表2所示,可以看到由于 AMTL 采用了更加靈活的特征維度選擇方式,其最能節(jié)省存儲開銷。相比于 FBE,節(jié)省約60%。
表2 存儲開銷比較3.4 Embedding熱啟動評估
這里,我們評估 AMTL 在 embedding 熱啟動上的優(yōu)越性。具體講,在 DLRM 中有兩類參數(shù),一個是 MLP 層的參數(shù),一個是 embedding 層的參數(shù)。在熱啟動的設置中,由于 MDE 和 AutoEmb 都不支持 embedding 的熱啟動,所以我們僅用線上服務模型的 MLP 的參數(shù)來初始化 MDE 和 AutoEmb 的 MLP 層。對于 AMTL 和 FBE 而言,其 MLP 層和 embedding 層均可用線上模型初始化。熱啟動后的 CTR 效果如表3所示,可以看到,由于能夠自然的支持 embedding 的熱啟動,AMTL 取得了極大的提升。這樣一種性質(zhì),為 AMTL 在實際應用提供了極大的便利。
表3 熱啟動效果比較3.5 Embedding維度評估
我們可視化了不同頻率特征的embedding維度選擇的平均大小,如圖3(a)所示,到分別表示不同頻率的特征集,下標越大,頻率越大。可以看到,高頻特征值傾向于選擇高維度,低頻特征選擇低維度。表明,AMTL能夠為不同頻率的特征值選擇合適的維度。
圖3 Embedding緯度評估3.6 消融實驗
孿生結(jié)構(gòu)的評估:我們分別比較 AMTL 和 AML 的效果。如表4所示,AMTL 能夠取得更好的效果。同時我們也可視化了?AML 的維度選擇,如表圖3(b)所示,由于樣本不平衡問題,低頻特征盲目的選擇了高維度。
STE有效性評估:我們設置了一個不采用STE的模型,記為 AMTL-nSTE 。通過比較 AMTL 和 AMTL-nSTE 來評估 STE 的有效性。如表4所示,采用了 STE 的 AMTL 取得了更好的效果。
表4 消融實驗3.7 時間開銷比較
我們比較了不同模型之間的時間開銷,如表5所示,AMTL 的方法相比于 FBE,在時間開銷上略有增加。不過,需要指出的是,在推斷階段,我們可以直接存儲 mask 后的 embedding 向量,而不需要再過 AMTL 層,以此來節(jié)省時間。
表5 時間開銷比較結(jié)語
AMTL 是我們團隊在 embedding 優(yōu)化上,從維度角度出發(fā)的一篇工作。同時也是繼 FCN-GNN[17] 之后,在模型瘦身上的又一次探索。我們后續(xù)在此方向繼續(xù)發(fā)力,也期待與從事相同領域的同學交流探討。
Reference
[1] Heng-Tze Cheng, Levent Koc, Jeremiah Harmsen, Tal Shaked, Tushar Chandra, Hrishi Aradhye, Glen Anderson, Greg Corrado, Wei Chai, Mustafa Ispir, et al. 2016. Wide & deep learning for recommender systems. In Proceedings of the 1st workshop on deep learning for recommender systems. 7–10.
[2] Huifeng Guo, Ruiming Tang, Yunming Ye, Zhenguo Li, and Xiuqiang He. 2017. DeepFM: a factorization-machine based neural network for CTR prediction. arXiv preprint arXiv:1703.04247 (2017).
[3] Yuchin Juan, Yong Zhuang, Wei-Sheng Chin, and Chih-Jen Lin. 2016. Fieldaware factorization machines for CTR prediction. In Proceedings of the 10th ACM conference on recommender systems. 43–50.
[4] Feng Li, Zhenrui Chen, Pengjie Wang, Yi Ren, Di Zhang, and Xiaoyu Zhu. 2019. Graph Intention Network for Click-through Rate Prediction in Sponsored Search. In Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. 961–964.
[5] Hao-Jun Michael Shi, Dheevatsa Mudigere, Maxim Naumov, and Jiyan Yang. 2020. Compositional embeddings using complementary partitions for memory-efficient recommendation systems. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 165–175.
[6] Caojin Zhang, Yicun Liu, Yuanpu Xie, Sofia Ira Ktena, Alykhan Tejani, Akshay Gupta, Pranay Kumar Myana, Deepak Dilipkumar, Suvadip Paul, Ikuhiro Ihara, et al. 2020. Model Size Reduction Using Frequency Based Double Hashing for Recommender Systems. In Fourteenth ACM Conference on Recommender Systems. 521–526.
[7] Xiangyu Zhao, Haochen Liu, Hui Liu, Jiliang Tang, Weiwei Guo, Jun Shi, Sida Wang, Huiji Gao, and Bo Long. 2020. Memory-efficient Embedding for Recommendations. arXiv preprint arXiv:2006.14827 (2020).
[8] Antonio Ginart, Maxim Naumov, Dheevatsa Mudigere, Jiyan Yang, and James Zou. 2019. Mixed dimension embeddings with application to memory-efficient recommendation systems. arXiv preprint arXiv:1909.11810 (2019).
[9] Manas R Joglekar, Cong Li, Mei Chen, Taibai Xu, Xiaoming Wang, Jay K Adams, Pranav Khaitan, Jiahui Liu, and Quoc V Le. 2020. Neural input search for large scale recommendation models. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2387–2397.
[10] Haochen Liu, Xiangyu Zhao, Chong Wang, Xiaobing Liu, and Jiliang Tang. 2020. Automated Embedding Size Search in Deep Recommender Systems. In Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. 2307–2316.
[11] Xiangyu Zhao, Chong Wang, Ming Chen, Xudong Zheng, Xiaobing Liu, and Jiliang Tang. 2020. AutoEmb: Automated Embedding Dimensionality Search in Streaming Recommendations. arXiv preprint arXiv:2002.11252 (2020).
[12] Xiangyu Zhao, Haochen Liu, Hui Liu, Jiliang Tang, Weiwei Guo, Jun Shi, Sida Wang, Huiji Gao, and Bo Long. 2020. Memory-efficient Embedding for Recommendations. arXiv preprint arXiv:2006.14827 (2020).
[13] Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. 2015. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531 (2015).
[14] Eric Jang, Shixiang Gu, and Ben Poole. 2016. Categorical reparameterization with gumbel-softmax. arXiv preprint arXiv:1611.01144 (2016).
[15] Chris J Maddison, Andriy Mnih, and Yee Whye Teh. 2016. The concrete distribution: A continuous relaxation of discrete random variables. arXiv preprint arXiv:1611.00712 (2016).
[16] Yoshua Bengio, Nicholas Léonard, and Aaron Courville. 2013. Estimating or propagating gradients through stochastic neurons for conditional computation. arXiv preprint arXiv:1308.3432 (2013).
[17] Li F, Yan B, Long Q, et al. Explicit Semantic Cross Feature Learning via Pre-trained Graph Neural Networks for CTR Prediction[J]. SIGIR 2021.
END
歡迎關(guān)注「阿里媽媽技術(shù)」,了解更多~
瘋狂暗示↓↓↓↓↓↓↓
總結(jié)
以上是生活随笔為你收集整理的CIKM 2021 | AMTL:设计孪生掩码层高效学习维度自适应的Embedding的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【阿里妈妈营销科学系列】开篇:C.M.O
- 下一篇: 2篇CIKM详解阿里妈妈搜索广告CTR模