解密百度鳳巢廣告系統AI技術:用GPU訓練千億參數深度學習模型

中國網

寒冬剛過,當下正是全球緊張抗擊新型冠狀病毒疫情的特殊時期。3月2日早上7點,百度研究院(西雅圖)辦公室開展瞭一場遠程學術報告,百度研究員向正在美國德克薩斯州奧斯丁市召開的MLSys(機器學習和系統結合的頂級AI學術會議)聽眾遠程講述瞭百度的論文。這篇論文介紹瞭百度最先進的鳳巢廣告系統的AI技術:Distributed Hierarchical GPU Parameter Server for Massive Scale Deep Learning Ads Systems。

這篇論文首先回顧瞭百度從2010年以來在廣告技術中做的一系列世界領先的AI創新工作:

1、2010年,百度開始使用分佈式超大規模機器學習模型和分佈式參數服務器存儲學習模型。

2、2013年,百度開始使用分佈式超大規模深度學習模型,參數達到瞭千億級。

3、2014年以來,百度開始開展大規模向量近鄰檢索(ANN)技術和最大內積檢索(MIPS)技術研究並用於商用。(註:百度科學傢因MIPS工作獲得AI頂級學術會議NIPS2014最佳論文獎。)百度廣告AI團隊開始廣泛使用ANN與MIPS技術來提高廣告召回質量。

4、在2019年夏天美國阿拉斯加州舉辦的數據挖掘頂級學術會議KDD上,百度發表瞭使用近鄰檢索和最大內積檢索技術來極大提高百度廣告效果的論文:MOBIUS: Towards the Next Generation of Query-Ad Matching in Baidu’s Sponsored Search。

5、2017年以來,百度廣告AI團隊開始嘗試使用分佈式GPU系統(4-8塊GPU卡)來取代已經在百度使用瞭10多年的MPI CPU集群。這是本篇論文的內容。

論文主要講述如何用小型的GPU-SSD集群來訓練千億參數模型。

在眾多機器學習應用中,模型的大小通常在“數萬”或“百萬”這個數量級上。特別大的模型比如ResNet-152(6千萬)和BERT-Large(3億)也遠遠不到千億這個量級。百度廣告搜索結合瞭用戶特征,查詢關鍵詞特征,廣告特征等信息,輸入參數的維度可以達到數千億,要應用千億維的數據來預測廣告點擊率就需要用到千億參數的模型。千億個參數就意味著需要10TB(10萬億字節)才能儲存這些模型參數。這麼大規模的機器學習以往需要數百臺的計算節點來處理,由於當前最先進的GPU也隻有32 GB的顯存,完全不可能將千億模型完整放進GPU。因此,盡管GPU相對CPU有非常好的加速優勢,但是一直以來工業界沒有辦法用GPU來訓練廣告點擊模型。

論文回顧瞭2015年百度用哈希技術來減小模型的嘗試。實驗表明合適的哈希方法可以有效地減小模型大小,用哈希技術與深度學習結合的方法能顯著地提高邏輯回歸模型的準確率,並且模型可以非常小,單機就可以裝下。但是基於哈希技術的模型壓縮並不是無損的,要更近一步提高準確率的話,就還是需要用到原始千億維向量來訓練深度學習模型。

自從2017年以來,百度廣告AI團隊創造性地結合瞭GPU和SSD (即固態硬盤),在業界首次提出用分佈式層級參數服務器的方案來解決千億模型參數的訓練難題。其中一個很大的難題是SSD的讀取速度比內存要慢一到兩個數量級。百度廣告AI技術團隊克服瞭一系列艱巨的技術難題,經過較長研發迭代周期,從系統層面圓滿的解決瞭一系列的技術難題,在全世界首次實現瞭商用的GPU-SSD大規模深度學習廣告系統。

目前使用的分佈式層級參數服務器隻需要4個GPU節點,訓練速度就能比150個CPU節點的計算集群快2倍,性價比高9倍!這大大提高瞭研究人員試驗和驗證新模型的效率,使得更多得研究員和工程師能同時在更短的時間用更少的資源來迭代新的策略。同時,分佈式層級參數服務器的可擴展性也很強,論文中使用1、2、4個GPU節點來測試,都表現出瞭幾乎理想的線性的效率提升,這也使得未來訓練更大數量級的模型成為可能。

此外,這篇論文的第一作者趙煒捷博士是百度研究院美研的第一批博士後。該博士後項目由百度CTO兼百度研究院院長王海峰博士支持下設立,目的是讓剛畢業的博士可以在百度研究院心無旁騖開展基礎研究。

論文中的系統也與百度飛槳深度學習平臺深度結合,為中國完全自主知識產權的深度學習平臺貢獻瞭力量。

Published in News by Awesome.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *