面對千萬級推薦,如何壓縮模型最高效?這是騰訊看點新框架

2021-01-09 澎湃新聞

原創 Synced 機器之心

機器之心發布

機器之心編輯部

推薦領域的模型壓縮一直是個極具挑戰性的問題,面對實際部署中數千萬或億級的推薦項,如何壓縮才能獲得最佳性能?由 SIAT-NLP 組與騰訊看點推薦團隊共同完成的論文《A Generic Network Compression Framework for Sequential Recommender Systems》,提出了一個序列推薦模型框架「CpRec」,壓縮率更高、訓練和推斷速度也更快。目前這篇論文已被 SIGIR 2020 接收。

原文連結:https://arxiv.org/pdf/2004.13139.pdf

提起模型壓縮,很多人都非常熟悉。在實際應用部署中,推薦領域的模型壓縮問題比較於 NLP 和 CV 更具挑戰性, 工業級推薦系統例如 YouTube 與抖音, 參數量是大型 NLP 及 CV 模型(如 BERT-Large, ResNet-101)參數量的上百倍,原因在於工業推薦系統中存在千萬乃至億級別以上的推薦項目。而當前最優的序列推薦系統 (SRS) 模型通常是基於三明治結構的深度神經網絡,通常這些模型需要大量參數(例如使用較大的嵌入維度或深層網絡體系結構)才能獲得最佳推薦性能。

這篇論文提出了一個序列推薦模型框架「CpRec」,其中使用了兩種通用的模型壓縮技術。具體來說,文中首先提出一種分塊自適應分解方法,通過利用 SRS 中的推薦項服從長尾分布的事實來近似輸入矩陣和 softmax 矩陣。為了減少中間層的參數,文中引入了三種分層參數共享方案。通過廣泛的消融研究,文中證明了所提出的 CpRec 在現實世界的 SRS 數據集中可以實現高達 4-8 倍的壓縮率。同時,CpRec 在訓練和推斷過程中速度更快,並且在大多數情況下勝過其未壓縮的模型。相關工作也會在不久後開源。

分塊自適應分解

如上圖所示,本文中首先根據推薦系的頻率對所有推薦項進行排序

,其中x_1和x_k分別是頻率最高和最低的推薦項。將推薦項集合S劃分為n個簇:

其中

。每個簇中推薦項的數量為

,且

,K為所有推薦項的數量。因此,可以將輸入嵌入矩陣

如上圖 (a) 分割為個n塊

如上圖 (b),其中 d 是嵌入大小。採用相似的策略,文中對輸出 softmax 矩陣

分割為n個塊

。接下來,文中分別描述了輸入嵌入矩陣和輸出 softmax 矩陣的分塊自適應分解。

基於分塊自適應分解的輸入嵌入層

在輸入層中,文中將塊

分解為兩個低階矩陣

,其中

d_j是第j個塊的因式分解維度(也稱為秩)。由於高頻率的推薦項應具有更高的表達能力,因此隨著簇的索引增加,減小對應的d_j。相應地,每個推薦項的嵌入表示與通過原始的 look-up 操作的嵌入表示是不同的。給定推薦項標籤 ID x,用下列的等式來表示其嵌入向量 為:

其中

表示第j個塊的第g行的嵌入向量,

。通過這種因式分解,能將輸入嵌入層的參數量從

減少到

。當

,輸入嵌入層的參數量會明顯減少。上圖 (c) 闡述了這個分解過程。

基於分塊自適應分解的輸出 softmax 層

在輸出 softmax 層,文中指出直接的在輸出 softmax 層運用與輸入層相同的策略會造成模型性能降低的問題。為了解決這些問題,通過二層樹結構來構造這些塊,其中每個樹節點代表一個簇。上圖 (d) 顯示了輸出 softmax 層的分塊嵌入的範例。文中在輸出 softmax 層中使用與輸入嵌入層類似的分塊嵌入的聚簇配置。一個主要的不同是輸出層的第一個塊矩陣被擴展為

, 其中n-1表示葉子節點所屬的父類的數量。第一個簇的標籤集合被擴展為

, 其中k_1+1到

對應於第 2 個到第 n 個簇的父類標籤。在輸出 softmax 層的其它的塊矩陣為

, 其中

。對比於原始的 softmax 層,該方法能將輸出 softmax 層的參數量從

減少到

論文中提到,在訓練過程中,對於給定上下文向量

(即序列推薦模型的最終隱藏向量)的情況下預測下一個用戶可能感興趣的推薦項,需要首先根據下一個推薦的標籤(例如x)確定搜索空間。如果屬於第一個簇,則僅計算該簇中的logits。如果x屬於其他簇,則在其父類所屬簇(即第一個簇)和當前簇中計算。

為:

因此文中訓練過程分為兩個步驟:第一步,計算第一個聚類的,這需要

時間。在第二步,如果推薦項標籤x屬於葉子節點上的簇之一,則計算該簇的logits,這需要

時間。對比於使用原始的 softmax,文中將訓練時間從O(K)減少到

之間。另外,文中在推斷階段也不需要為所有推薦項計算 softmax 概率,可通過提前停止搜索以加快生成過程。具體來說,如果前 N 個概率得分位於第一個簇中,不需要計算在其它簇的推薦項的概率分數。

分層參數共享

為了充分利用深度模型的堆疊層的優勢,同時提高參數效率,該研究採用了多種參數共享策略。例如上圖 (a) 是 ALBERT 採用的跨層參數共享方法,但在此條件下分析了在減少大量冗餘參數的同時,神經網絡模型的表達也受到了一定程度的限制,因此又提出一個高級版本「跨塊參數共享」,如上圖 (b)。

此外,研究還提出了另外兩種分層的參數共享方法:相鄰層和相鄰塊參數共享,分別為上圖 (c) 和上圖 (d)。具體地,相鄰層參數共享表示每個殘差塊中的兩個單獨的層共享相同的參數集。相鄰塊參數共享表示在每兩個相鄰殘差塊之間共享參數。

這些參數共享策略被認為具有兩個主要優點:(1)作為一種正則化方法,它們可以穩定訓練過程並提高模型的泛化能力;(2)它們可以顯著減少參數量,而不會像跨層參數共享那樣降低性能。

CpRec 採用 NextitNet 模型實例化的架構圖如下:

實驗結果

這一部分主要以 NextItNet 框架實例化 CpRec,在 weishi、movielen、tiktok 和 ColdRec 等 4 個數據集上進行實驗,另外由於序列推薦系統在不同序列長度的數據集下,表現不同,為展示其可靠性,採用 10、20、50 和 100 等 4 種序列長度對數據集進行預處理。文中採用多種評測指標,包括 MRR、HR 和 NDCC 等 3 個 top-N 評測指標以測評模型準確率,採用參數量 (Params)、訓練時間 (Training Times) 和推測加速比 (Inference Speedup) 等指標以測評模型壓縮表現。

結果顯示,在該 4 個數據集的模型表現和壓縮效果的評價指標中,CpRec 在推薦準確率與壓縮效果上都具有比較好的表現。

本文為機器之心專欄,轉載請聯繫本公眾號獲得授權。

✄---

加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com

投稿或尋求報導:content@jiqizhixin.com

廣告 & 商務合作:bd@jiqizhixin.com

原標題:《面對千萬級推薦,如何壓縮模型最高效?這是騰訊看點新框架》

閱讀原文

相關焦點

  • ACL2020|模型壓縮25倍,MIT韓松組提出高效適配不同硬體的HAT模型
    為了解決 Transformer 的低效問題,來自 MIT 的研究人員提出了 HAT: Hardware-Aware Transformers,針對不同的硬體設備的特性,為每個硬體搜索出一個高效的 Transformer 模型,從而在保持精確度的前提下大幅降低內存消耗。在同樣的精度下,相比於基線 Transformer, HAT 可以獲得 3 倍加速,3.7 倍模型壓縮。
  • 今日Paper|可視問答模型;神經風格差異轉移;圖像壓縮系統;K-SVD...
    通過實驗,這篇論文給出了如何優化以降低複雜性和如何優化以實現當前最佳VQA性能的提升這兩個方面的建議。from=leiphonecolumn_paperreview0211推薦原因這篇論文了介紹一種自動創建字體的方法,找到兩種不同字體之間的字體樣式差異,並使用神經樣式轉移將其轉換為另一種字體。這篇論文提出了一種新的神經風格差異和內容差異損失神經風格轉移方法。根據這些損失,可通過在字體中添加或刪除字體樣式來生成新字體。
  • 對標騰訊產品能力模型,搭建自己的產品能力素質框架
    之前也提到過,網際網路和軟體行業的產品經理最是相似,所以老王打算從自身的實際情況出發,整理一份理想的產品經理能力素質框架,分析一下自身的情況,然後一點點完善自身。 在網際網路圈裡之前流傳過這樣一句話,『阿里的運營、百度的技術、騰訊的產品』,所以老王想找一份騰訊的產品經理能力素質的框架。 不得不說老王又是幸運的,在很多產品經理聚集的地方認識了一些大神,雖然他們不能給我開工資,但是也依然願意無償的為老王指點迷津,所以我找到了這樣一個框架。
  • 100個實用的思維框架模型,聰明人的高效工作方法,值得你擁有!
    歡迎來到《100個思維框架模型》專欄當你點開這個專欄的時候,說明你已經意識到「效率」這件事,你也想,掌握這些聰明的工作方法,也想,像那些精英們一樣,高效地工作,快樂自在地生活。《100個思維框架模型》,大致包含7個部分內容一、時間與精力管理更專注、更高效地做事,提高效能,以更快實現、實現更多的目標。二八原則:在任何一組東西中,最重要的只佔其中一小部分。
  • 面對激烈競爭,如何通過產品負責人的規劃能力走出產品困境?
    突然面對老闆要管理更多除了產品規劃以外的戰略工作,自己要獨立承擔產品規劃和團隊管理時,就沒了想法。優秀的產品負責人往往會更加主動的花費時間打磨內在思維格局和產品規劃能力。就好比雞蛋,從外部打破就只能變煎蛋,從內部打破就可獲得重生。如何培養產品負責人所需要的必備專業能力和管理能力體系,這裡推薦起點學院產品總監修煉之道。專為中高級產品經理職場進階量身定製。
  • 15個產業級算法、35個預訓練模型上線!最強國產開源AI框架再進化
    乾明 發自 凹非寺 量子位 報導 | 公眾號 QbitAI 2項全新能力,4大重磅升級,35個高精度預訓練模型上線,15個產業實踐中廣泛應用的視覺算法加持…… 這就是最強國產開源深度學習框架——飛槳的最新重要升級。
  • 與TensorFlow 功能互補的騰訊 angel 發布 3.0 :高效處理千億級別...
    框架即將開源的消息,騰訊又帶來了全新的全棧機器學習平臺 angel3.0。相比之下,Angel 更擅長於推薦模型和圖網絡模型相關領域(如圖 1 所示),與 Tensorflow 和 PyTouch 的性能形成互補。
  • 模型壓縮高達75%,推理速度超20%,Paddle Lite v2.3正式發布
    當有人經過閘機時,可以在0.1-0.3秒內完成人臉實時跟蹤,並在0.2秒內完成高安全性的靜默活體檢測及人臉比對,如此高效的響應速度,你知道是怎麼做到的嗎?目前深度學習在各個領域輕鬆碾壓傳統算法,不過真正用到實際項目中卻面臨兩大問題:計算量巨大;模型佔用很高的內存(深度學習模型可能會高達幾百M)。
  • 如何高效進行企業級高精度AI模型的定製化開發...
    因此,如何利用少量數據訓練出高精度AI模型,成了企業的核心訴求。算法層面,也不是所有的企業都需要專門負責算法研發的工程師,更多的是為了滿足某個業務需求而進行的算法優化。針對具體的業務場景,進行算法的選擇,通過對預訓練模型的遷移訓練與優化,進而訓練出滿足具體場景需求的AI模型。
  • 《DNF》劍豪100級加點框架推薦
    18183首頁 如來神掌 《DNF》劍豪100級加點框架推薦 《DNF》劍豪100級加點框架推薦 來源:網絡
  • Peacock: 大規模主題模型及其在騰訊業務中的應用
    今天的報告主要分成如下幾個部分:我先Demo一下我們Peacock系統是如何工作的,隨後簡單介紹一下主題模型的背景,接著介紹Peacock是怎麼來實現大規模並行計算的,最後我們講一下主題模型在騰訊業務中的應用。先來講幾個例子。用戶在網絡上的行為會留下很多的數據,其中最典型是一些文本數據,你搜索的一些文章,你發的微博,我們通過自然語言處理技術理解這些詞。
  • AI框架哪家強?華為發起MindSpore網絡模型挑戰賽 獎金260萬
    與網際網路系AI框架最顯著的不同在於,華為MindSpore一開始便採用「端、邊、雲」統一架構,實現一次開發、按需部署、協同計算,免除許多因架構不統一帶來的重複訓練及部署工作量,進一步提高AI應用開發效率。華為之所以能做到這一點,主要得益於該公司在ICT領域端到端的技術及產品能力,以及長期服務千行百業積累的經驗智識。
  • 如何告別碎片化學習?學會4個方法,構建框架力,解鎖高效學習法
    很多職場人都和小川一樣,想要通過學習來實現人生逆襲,於是花費了大量的時間學習新知識、新技能,但結果並不盡如人意,不是大家的努力程度不夠,而是沒有掌握高效的學習方法。看似非常努力,其實多數人學到的都是碎片化的知識,沒有形成知識框架,不具備框架力,學習再多知識都只是低水平的努力。
  • 直播報名|騰訊新一代數據湖技術專場分享
    想知道騰訊是如何使用數據湖技術的嗎?9月8日,19:00-21:00,我們會為你帶來技術的深度剖析,最佳實踐以及使用場景,還會帶來數據湖技術在騰訊看點超大規模場景下的應用落地。為大家揭開數據湖技術的神秘面紗!
  • 模型壓縮95%,MIT韓松等人提出新型Lite Transformer
    在不久之前的 ICLR 2020 論文中,MIT 與上海交大的研究人員提出了一種高效的移動端 NLP 架構 Lite Transformer,向在邊緣設備上部署移動級 NLP 應用邁進了一大步。雖然推出還不到 3 年,Transformer 已成為自然語言處理(NLP)領域裡不可或缺的一環。
  • 自然語言模型算法太雜亂?國產統一 AI 開源框架來了!|文末福利
    2019年8月,基於深度學習的語音和自然語言理解模型訓練平臺DELTA正式開源。一經開源,DELTA登上GitHub 熱榜,獲得 1k+的Star數,受到深度學習框架Keras的作者Franois Chollet的關注。DELTA可助力AI開發者創建、部署自然語言處理和語音模型,構建高效的解決方案,讓NLP應用更好落地。
  • 考慮變壽命特性的先進絕熱壓縮空氣儲能電站容量規劃模型
    華中科技大學電氣與電子工程學院強電磁工程與新技術國家重點實驗室、電力安全與高效湖北省重點實驗室、華威大學工程學院的研究人員尹斌鑫、苗世洪、李姚旺、羅星、王吉紅,在2020年第3期《電工技術學報》上撰文,考慮AA-CAES電站的變壽命特性,建立面向電力系統運行與大規模風電消納的AA-CAES電站雙層優化規劃模型。
  • Smart Zipper for Mac(高效穩定的壓縮/解壓縮工具)
    Smart Zipper 是被設計成一款容易使用的、高效的壓縮/解壓縮工具。支持解壓縮格式: 可解壓縮 RAR, 7z, ISO, CAB, Zip, StuffIt, Lzma, Tar, Gzip, Bzip2…… 等等數十種壓縮包格式。
  • 萬億數據下的多維實時分析系統,如何做到亞秒級響應
    但是當數據量巨大的情況下,拿騰訊看點來說,一天上報的數據量達到萬億級的規模,要實現極低延遲的實時計算和亞秒級的多維實時查詢是有技術挑戰的。本文將介紹一下信息流場景下,騰訊看點的實時數據倉庫和多維實時數據分析系統的技術架構。一、可解決的痛點可以先看一下,多維實時數據分析系統可以解決哪些痛點。
  • 萬字長文詳解騰訊優圖 CVPR 2019 入選論文
    我們不是像以前的工作那樣直接學習圖像到圖像的映射,而是在我們的網絡中引入中間照明,將輸入與預期的增強結果相關聯,這增強了網絡從專家修飾的輸入/輸出圖像學習複雜的攝影調整的能力。基於該模型,我們制定了一個損失函數,該函數採用約束和先驗在中間的照明上,我們準備了一個 3000 個曝光不足的圖像對的新數據集,並訓練網絡有效地學習各種照明條件的豐富多樣的調整。