2篇CIKM详解阿里妈妈搜索广告CTR模型如何低碳瘦身
作為《阿里媽媽搜索廣告CTR模型的“瘦身”之路》的姊妹篇,本文將結合團隊發表的 CIKM 2021 兩篇論文,詳解我們在模型瘦身之路上的延續性思考與實踐。姊妹篇已經總結搜推廣的模型迭代開始步入“業務發展對算法提效的述求持續高漲與算法提效所依賴的算力紅利日益消減”的矛盾深化時期,我們較為堅決地通過系統性的算法優化將模型迭代路徑由“資源狂魔的大模型”逐漸轉變為“資源友好的小模型”,打破模型迭代的算力瓶頸。數T模型搖身一變幾十G模型,輕裝上陣之后,多人多場景多模型多版本的“順暢、高效、敏捷”的迭代節奏又重新回來。欣喜之余我們開始回顧與思考,縱然模型參數規模決定了信息容量和預估上限,但簡單粗暴的“參數擴容”如果考慮到資源的投入產出比,那么邊際效益會越來越不劃算。偌大規模的模型參數必然存在著信息冗余和不利于泛化性表征的部分,這是可以被精巧設計和低碳瘦身的破局點。
前文《三篇SIGIR詳解阿里媽媽搜索廣告CTR模型演進》中已經對常見的 CTR 模型優化方向按照模型組件的結構特點進行分門別類,可以發現從參數規模的角度來說,相較于 Hidden Layer,Embedding Layer 在大規模離散稀疏特征場景下起到了主導性地位,自然而然模型低碳瘦身的關鍵也在于此。Embedding Layer 形象來看就是一張二維big table,行方向就是對應 Feature Volume,列方向就是對應 Embedding Dimension,這兩個方向的維度共同決定了 Embedding Table 的大小。我們正是從這兩個角度分別展開優化,考慮到 Embedding 學習收斂效率較低的特性(直通車場景Embedding Layer需要數月級別數據收斂,Hidden Layer 僅需要數周級別數據收斂),Embedding Layer 的結構設計不宜像 Hidden Layer 一樣紛繁復雜。作為整體模型結構大廈的堅實底座,Embedding 優化需要簡潔高效且實用,秉持著這一設計原則,下文詳細介紹最近的思考與實踐,希望對相關工作有所啟發。
??Feature Volume:Binary Code based Hash Embedding
搜推廣的模型和感知類的模型(NLP和圖像等)有較大的差異,后者模型規模主要由 Hidden Layer 的參數所決定,但是前者基本和特征的規模成正比,所以從 Embedding Layer 的行方向即 Feature Volume 進行優化,會有立竿見影的效果。不同的特征域,值域范圍有很大的差異,其中 ID 類的類別特征例如 userid、queryid 和 adid 等往往規模很大,且動態更新非常頻繁,也是模型預估精度的基本保障。這一類特征常見的處理思路往往在無沖突表達和有沖突表達之間尋找平衡,背后的取舍就是在于信息表達是獨占還是共享。
無沖突表達認為每一個id的獨特性需要充分保留,通過參數分布式建設等系統能力的提升將所有id都做到一一映射,以 One Hot 編碼方式為代表,這類方法對工程基建要求較高且需要設計復雜的特征準入準出策略來適應特征的分布動態變化,從而模型規模一直維持較為均衡的高水位狀態。該方向為了可以進一步壓縮 Embedding Table,開始研究更為緊湊的編碼方式。其中基于 KD[1] 編碼的技術發展最為熱鬧,包括后面延伸出來的 MCNE[2]、DPQ[3]和MGQE[4] 等技術,核心思想就是引入編碼和解碼機制將一個大矩陣近似拆成兩個小矩陣,從而達到模型壓縮的目的。但是這一類方法拆解完的第一個小矩陣可以發現依然采用無沖突的 id 映射表達,這在高維且動態更新的實際環境中,參數規模依然不小且仍然需要復雜的特征更新換代策略,部署維護較為繁瑣。
有沖突表達是指在有限的系統能力下犧牲一部分信息獨特性,通過設計合理的共享組件使得模型規模保持恒定的低水位狀態。沖突的設計分為兩種模式,人為和隨機。人為沖突設計一般以 id 的頻次作為閾值,高于閾值部分依然保持無沖突的一一映射關系,低于閾值部分或者統一沖突到相同默認值、或者設計學習模式讓低頻和高頻id產生關聯[5]等。人為沖突模式閾值設置較為講究,且特征動態準入準出使得表征切換不夠平滑。隨機沖突一般以 Hashing Trick 技術為典型代表,通過控制“模”長來控制模型規模,為了解決單 Hash[6] 的沖突率較高的問題,后面延伸出來 MultiHash[7] 全局多 Hash、HybridHash[8] 高頻無沖突低頻多 Hash、QR trick[9] 互補商余法等技術都能夠降低沖突率,使得id特征的信息獨特性保留完整一些。Hashing Trick 技術因為非參數化數據不依賴,實現起來較為簡單,沖突率要是控制到位,模型壓縮比和效果保留率之間可以取得不錯的平衡。
考慮到系統簡潔高效魯棒性好,我們選用 Hashing Trick 技術路線作為實際算法迭代方向,并在姊妹篇中已經提到我們復現 MultiHash 技術且做了適配升級并開始服務生產。我們進一步思考,現有的 Hashing Trick 都依賴取“模”操作,該操作是產生沖突的主要原因。我們提出一種新穎的基于二進制轉化的分組合并操作來升級取模操作,該技術 BH(Binary Code based Hash Embedding)不僅能夠做到理論上保持 id 表征的唯一性、大幅度降低沖突率,還能夠統一現有 Hashing Trick 的實現方案,并且通過分組合并策略的調整能夠適配不同模型壓縮比從而適應不同場景的應用需求(例如端上模型等)。實踐表明該方法能夠獲得極高的模型壓縮比,依然保持較完整的模型預估效果。
論文詳解版請查閱另兩篇推文
論文下載:
https://arxiv.org/pdf/2109.02471.pdf
??Embedding Dimension:Adaptively-Masked Twins-based Layer
上文提到ID類特征是 Embedding Table 的重中之重,而且因為特征值域范圍非常廣,億級別的ID量(userid、queryid、adid等)需要更高維度的Embedding來進行豐富的信息表征,實踐中我們會賦予百量級的Dimension。常規 Embedding Dimension 的設置是固定且統一的,對于符合二八定律的ID特征來說(例如前20%的adid貢獻了80%的展現)這種設置方案對于大量低展現的id來說不僅浪費存儲空間還容易帶來過擬合的次優效果。
目前有較多工作開始優化這個問題,我們梳理認為主要分為兩類:基于規則和基于 NAS(Neural Architecture Search)。基于規則的方法,例如GroupReduce[10]、Mixed Dimension Embedding[11] 等,根據特征值的頻次預先設計幾個不同維度的可選項,基本原則就是高頻高維度、低頻低維度,這類方法過于依賴人工經驗和粗暴的選擇方式不容易獲得最優解;基于NAS的方法,Automated Embedding[12]、NIS[13]、AutoDim[14] 等,依賴一個訓練以外的精心設計的超參搜索(不同維度可選項)策略,迭代效率較低且不支持“繼承訓練”(有別于從頭訓練)實用性較弱。
針對已有解法存在的改進空間,我們提出一種新穎的端到端自適應的 Embedding Dimension 選擇技術 ATML(Adaptively-Masked Twins-based Layer)。在原始Embedding上增加一個掩碼轉換層,該層引入先驗的特征頻次信息,借鑒條件計算的建模思想,利用松弛技術將離散維度選擇問題轉變為可微可導可直接 SGD 訓練的高效模式,并且專門設計孿生門控網絡有效緩解樣本分布不均衡(二八定律)問題,使得模型具備高精度的 Dimension 選擇能力;而且 ATML 技術對熱啟動需求友好,可直接應用在長時間訓練到接近收斂狀態的 Embedding(實際應用中從頭訓練Embedding 往往資源和時間成本非常高)。實踐表明該技術不僅能夠大幅壓縮模型規模,在低頻ID樣本上還能進一步提升泛化性。
論文詳解版請查閱另兩篇推文
論文下載:
https://arxiv.org/pdf/2108.11513.pdf
??總結與展望
預估模型的低碳瘦身之路具有普惠意義,即使是財力雄厚、工程基建完備的大場景業務算法團隊在面臨算力瓶頸對技術迭代鎖死的窘境時也會做出這個退一步開闊天空的選擇。回顧來看,Embedding 優化工作非常苦,主要原因是 Embedding 收斂效率很低,實驗探究成本非常高,例如我們 CTR 模型 baseline 采用增量訓練模式,導致 Embedding 改動往往需要幾個月的訓練樣本才能支撐一個靠譜的實驗結論。天下武功唯快不破,只有敏捷迭代才有穩健的算法輸出,隨著 Embedding 優化的不斷深入,我們在算法和工程層面都沉淀出不少有效加速 Embedding 收斂的技術,期待后續有機會再和大家分享討論。
參考文獻
[1] Learning K-way D-dimensional Discrete Codes for Compact Embedding Representations?
[2] Multi-Hot Compact Network Embedding?
[3] Differentiable Product Quantization for End-to-End Embedding Compression?
[4] Learning Multi-granular Quantized Embeddings for Large-Vocab Categorical Features in Recommender Systems?
[5] Beyond User Embedding Matrix - Learning to Hash for Modeling Large-Scale Users in Recommendation?
[6] Feature hashing for large scale multitask learning?
[7] Hash Embeddings for Efficient Word Representations?
[8] Model Size Reduction Using Frequency Based Double Hashing for Recommender Systems?
[9] Compositional Embeddings Using Complementary Partitions for Memory-Efficient Recommendation Systems?
[10] GroupReduce- Block-Wise Low-Rank Approximation for Neural Language Model Shrinking?
[11] Mixed Dimension Embedding with Application to Memory-Efficient Recommendation Systems?
[12] Automated Embedding Size Search in Deep Recommender Systems?
[13] Neural Input Search for Large Scale Recommendation Models?
[14] AutoDim- Field-aware Embedding Dimension Search in Recommender Systems
END
歡迎關注「阿里媽媽技術」,了解更多~
瘋狂暗示↓↓↓↓↓↓↓
總結
以上是生活随笔為你收集整理的2篇CIKM详解阿里妈妈搜索广告CTR模型如何低碳瘦身的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CIKM 2021 | AMTL:设计孪
- 下一篇: CIKM 2021 | BH:面向Web