一步搞定模型训练和商品召回:京东全新索引联合训练召回模型
?PaperWeekly 原創 ·?作者?|?張菡
單位?|?京東算法工程師
研究方向?|?信息檢索
簡介
基于深度學習的語義檢索已經廣泛應用于互聯網應用中。早在 2018 年,京東搜索已經實現了語義檢索 [1],通過深度語義模型,學習 query 和商品的向量表示,用于京東搜索的召回階段,通過向量相似性查找實現語義檢索。
大規模的向量相似性查找需要大量的浮點運算,精確 KNN(K-Nearest Neighbor)查找會帶來超長的召回時延,可行解決方案是采用 ANN(Approximate Nearest Neighbor)查找,以少量的檢索精度換取超高的召回效率。
常用的 ANN 索引方法包括 PQ(Product Quantization,乘積量化)、基于樹的方法、基于圖的方法和哈希。而基于 PQ 的方法由于內存消耗小,可以動態增刪等優點在工業界應用較為廣泛。在此之前,京東搜索的語義召回采用的就是基于 PQ 的 Faiss 索引庫 [2]。
基于 PQ 索引主要思想是將高維向量用低維子空間的笛卡爾積表示,而后在低維子空間中進行聚類,用聚類中心構成的碼本對向量進行編碼,并提前計算好編碼之間的碼距,在檢索時,就能通過查找直接得到向量之間的距離,從而大大減少浮點運算次數。由于模型的訓練和索引的建立是兩個獨立的過程,所以子空間的劃分和聚類中心的計算勢必會帶來一定的相似性計算誤差。
因此,我們提出一種全新的索引聯合訓練模型(product quantization based embedding index jointly trained with deep retrieval model,簡稱 Poeem),對聚類中心進行參數化學習,減少子空間劃分和聚類帶來的損失,進一步提高向量檢索的精度。此外,在實際應用中,聯合訓練模型不需要額外的建索引時間以及額外的索引服務,大大降低了向量檢索在實際應用中的工程復雜度。
論文標題:
Joint Learning of Deep Retrieval Model and Product Quantization based Embedding Index
論文來源:
SIGIR 2021
論文鏈接:
https://arxiv.org/abs/2105.03933
模型
模型結構如下圖所示:
左邊是一個經典的雙塔召回模型,我們在 item tower 的最后嵌入一層索引層,用于實現 PQ 索引的學習,右邊則是索引層向量量化的實現過程。向量量化主要分為四個步驟:
首先,我們對 item embedding 進行維度的 reordering,從而降低后續劃分的子空間之間的相關性。矩陣維度的 reordering 可以通過乘上一個旋轉矩陣(Rotation Matrix)來實現。(對應上圖中粉色標注過程)
第二步,我們學習一個粗粒度的聚類中心矩陣 v,用 item embedding 在 v 中做相似度查找,得到 item embedding 的粗粒度量化編碼 r。(對應上圖中黃色標注過程)
第三步,我們首先用 item embedding 減去對應的粗粒度聚類中心,得到 residual item embedding,用于后續的向量量化。然后將 residual item embedding 均勻劃分成 subvectors,同時學習每個子空間的聚類中心矩陣 ,然后用 subvector 減去對應子空間的聚類中心,得到 subvector 殘差,再在聚類中心矩陣 做相似度查找,得到 item embedding 的乘積量化編碼 c。
最后,我們來做向量復原。首先加上粗粒度聚類中心,將殘差恢復成原向量;然后乘上旋轉矩陣的逆矩陣,恢復原本向量維度的順序。
實驗
a)?對比實驗
我們在三個數據集上做了對比實驗,分別是京東的搜索數據集 Private Dataset,開源數據集 MovieLens [3]和 Amazon Books [4]。評測指標包括p@100(precision@100)和 r @100(recall@100)。
對比實驗結果表明,Poeem 在召回率上有最好的表現,在三個數據集上分別有 +1.59%,+0.76%,0.44% 的提升。說明這種參數化的 PQ 學習,能夠有效減少向量量化的損失。
b)?可視化表示:
此外,我們從 Private Dataset 中抽取了幾個類目的商品進行 t-SNE 可視化表示:
其中 (a) 和 (e) 是量化前的原始向量,(b~d)是 Faiss 量化后的向量,(f~h)是 Poeem 量化后的向量。參數 D 是劃分子空間的數量。橫向比較,可以看到向量量化會造成一定的向量“坍縮”,具體表現為在每個聚類的內部,向量呈現更小范圍的聚集,從而背離了原始向量的分布。
這是由于子向量共享相應子空間的聚類中心導致的,這一點可以從 b~d 的變化看出,隨著 D 遞減,子空間越大,向量共享的維度更多,“坍縮”現象也更加嚴重。縱向比較,Poeem 比 Faiss 的“坍縮”程度更小,說明 Poeem 有效降低了向量量化的損失,從而提高召回精度。
c)?系統優勢
下圖是各個方法為一百萬 512 維向量建索引的耗時:
由于索引在模型訓練的過程中已經學好,Poeem 幾乎不需要額外的建索引時間,只需要將索引導出即可。
此外,我們實現了模型和索引的聯合導出,導出的模型可以直接實現從 query 到 topk 商品的召回過程,無需額外的商品向量索引服務,只需要像其他模型一樣 serve 即可,大大降低了向量召回的工程實現復雜度。
總結
Poeem 是一種基于 PQ 的索引聯合訓練模型,能夠有效降低向量量化損失,從而提高向量查找精度。論文已被 SIGIR 2021 接收。此外,我們已將 Poeem 開源,并且已封裝成 python 包,可以一鍵安裝,快速易用:
歡迎來開源項目下體驗交流。
?
招聘
京東搜索檢索團隊負責京東商城全站商品搜索召回與排序算法,成員來自百度、facebook 等業界知名公司,有著豐富的搜索算法經驗,并有多篇頂會論文發表。
■ 工作內容
1、基于海量的用戶和商家數據,優化商品搜索的 ctr、cvr 預估模型
2、用戶和文本的向量表示學習,優化個性化向量檢索模型
3、模型樣本選取、結構設計、特征選擇、優化算法、用戶長短期行為建模等
4、與搜索架構、產品和運營同學合作,推動算法系統和產品方案落地
■ 任職要求
1. 計算機、數學、自然語言處理、機器學習及相關專業研究生、博士生?
2. 熟悉 C/C++與Linux 開發,熟悉 Python/Shell 等腳本語言,對常用數據結構和算法有深刻理解?
3. 熟悉常用 machine learning 尤其是 deep learning 算法,并有大規模分布式應用經驗
4. 熟悉 tensorflow、torch、caffe 等深度學習框架?
5. 對創新和挑戰的工作有激情,具備出色的規劃、執行力,強烈的責任感,以及優秀的學習能力
6. 在機器學習、數據挖掘、計算廣告等領域的國際頂級會議或期刊上發表論文者優先
聯系方式:王松林,wangsonglin3@jd.com
?
參考文獻
[1] Zhang, Han, Songlin Wang, Kang Zhang, Zhiling Tang, Yunjiang Jiang, Yun Xiao, Weipeng Yan, and Wen-Yun Yang. "Towards personalized and semantic retrieval: An end-to-end solution for e-commerce search via embedding learning." In Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 2407-2416. 2020.
[2] Johnson, Jeff, Matthijs Douze, and Hervé Jégou. "Billion-scale similarity search with gpus." IEEE Transactions on Big Data (2019).
[3] Harper, F. Maxwell, and Joseph A. Konstan. "The movielens datasets: History and context." Acm transactions on interactive intelligent systems (tiis) 5, no. 4 (2015): 1-19.
[4] McAuley, J., Targett, C., Shi, Q., & Van Den Hengel, A. (2015, August). Image-based recommendations on styles and substitutes. In Proceedings of the 38th international ACM SIGIR conference on research and development in information retrieval (pp. 43-52).
?
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
?
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
?????稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的一步搞定模型训练和商品召回:京东全新索引联合训练召回模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交税是交纯利润还是营业额
- 下一篇: 无忧人生什么时候返本