sponsored links

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

編輯:LRS

【新智元導讀】到底多大的引數量能滿足研究人員的胃口?一百萬億夠不夠?華人團隊最近開源了一個史上最大的訓練系統Persia,最高支援百萬億級模型的訓練,但前提是得有卡!

不夠大!還不夠大?

在NLP領域,從BERT的億級引數,到OpenAI的1700億引數,再到Google Switch Transformer的1.6萬億引數,研究人員對引數量增長的渴望從來沒有停止過,而我等吃瓜群眾對引數量也早已經麻了。

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

那,100000000000000夠不夠?不用數了,後面14個零!一百萬億!

最近來自快手和蘇黎世聯邦理工學院的研究人員提出了一個新的推薦系統Persia,最高支援100萬億級引數的模型訓練,比目前最大的FB-ZionEX推薦系統還高出一個數量級。

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

論文地址:https://arxiv.org/pdf/2111.05897.pdf

開源地址:https://github.com/PersiaML/Persia

為了支援如此龐大規模模型的訓練,同時保證訓練效率和訓練精度,文中提出了一種全新的混合訓練演算法:透過混合非同步、同步機制對embedding層和dense層進行分別訓練。

用了這套機制的推薦系統Persia(parallel recommendation training system with hybrid acceleration,即混合加速的並行推薦系統)在一百萬億級引數量的模型上進行了理論和實驗驗證,證實了這種設計和實現的合理性。

作者表示,使用這套機制,任何人都可以很容易訓練一個百萬億級引數量的模型。(只有3060Ti可以嗎?)

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

值得一提的是,除了2016年Alibaba-XDL和2018年Baidu-AIBox以外,其他大規模推薦系統模型都沒有開源。

Persia的理論基礎

在推薦系統中,深度學習模型目前也成了主流,同樣遵循著「引數量大一級壓死人」原則。

是不是感覺購物app、短影片app越來越容易猜到了你的想法了?

實際上,現代推薦系統取得的進展很大程度上就是來源於不斷增大的模型規模,Google旗下的Youtube在2016年首次將推薦系統的模型規模推向十億引數,從此模型引數量開始一路狂奔,Facebook(Meta)最新的模型將規模拉到12萬億,比Youtube的引數量高出12000倍!

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

模型引數量的規模每次上一個新臺階,都能帶來效能上的明顯改進,所以劍指100萬億也是有實際意義的。

一般來說,推薦系統模型首先需要將不同的ID特徵(如使用者ID和session ID)對映到一個固定長度的低維向量,而系統中的使用者ID、交叉特徵數量都特別多,就需要更大規模的模型來捕獲特徵和對映。但更大規模的embedding layer也需要更大的記憶體來載入,不得不說大模型太費錢了!

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

有了embedding後,剩下的工作就簡單了,設計後續layer來適配不同的任務。通常只佔據整個模型的0.1%,無需大記憶體,主要是一些計算密集型的工作。

雖然效能好了,但隨著模型規模的不斷擴大,模型的訓練也是越來越難!

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

而想要訓練好一個推薦系統,主要看這5個關鍵步驟:

  1. 準備訓練樣例的embedding
  2. 神經網路的前向傳播(forward propagation)
  3. 神經網路的反向傳播(backward propagation)
  4. 神經網路引數需要同步更新(Synchronization)
  5. 根據相應的梯度對embedding進行更新

由於embedding層和推薦任務是相關聯的,所以上述五個任務必須順序執行,而這種序列機制也導致了模型訓練的硬體效率很低。

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

如果不嚴格順序執行這五步,而是採用非同步分散式訓練(Asynchronous distributed training)方式的話,就能顯著提升訓練速度。

目前業界對神經網路的非同步分散式訓練主要有兩個觀察結論:

  1. 非同步更新(Asynchronous update)對於稀疏訪問(sparse access)來說是有效的。例如SGD每次更新只會影響到模型引數的一小部分,所以就算並行SGD最佳化,引數覆蓋(overwrite)情況也是很少見的,幾乎對模型不會產生影響。
  2. 滯後性(staleness)限制了非同步SGD的可擴充套件性和收斂。對於稠密的(dense)的神經網路,SGD覆蓋更新的情況下可能會非常多,對模型的最終效果有影響。

在不考慮模型結構的時候,肯定全非同步的硬體效率最高,但在實際情況中,全非同步最佳化會降低模型的效能,對於商用推薦模型來說是不能接受的,所以「同步、非同步兩手抓」才是最終解決方案!

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

文中提出的混合訓練演算法(Hybrid training)對模型的embedding層和dense層分別使用不同的最佳化機制來提升硬體效率。

因為embedding層更大、更稀疏,採用非同步訓練的方式。

而dense層更稠密,就採用同步訓練的方式。

有了思路,下一步就是系統實現了!

Persia實現細節

Persia系統的設計上主要有兩個難點:

  1. 在異構叢集上部署訓練工作流(training workflow)
  2. 在混合基礎架構上部署對應的訓練過程(training procedure)

對於第一個難題,研究人員為了支援基於深度學習的推薦模型的分散式訓練,就直接使用了Tensforflow框架提供的PS正規化,同時將embedding和神經網路引數的儲存和更新放在一組PS節點(即CPU機器)中,將前向和後向傳播的計算放在一組工作節點(即GPU機器)中。

但只使用這種方式還遠遠不夠高效,甚至在實際情況中可能根本沒法完成部署。

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

例如推薦模型太大,GPU的RAM很容易就不夠用了,而且將embedding和神經網路模組進行統一檢視管理可能還會引入大量不必要的網路流量。

雖然之前的研究也提出過一些PS正規化最佳化、帶快取的colocated PS framework來減少通訊開銷等等,但這些方法根本無法支撐百萬億級模型的訓練。

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

Persia的研究人員分解出4大模組來解決這個問題:

  1. 使用一個data loader專門從分散式的儲存如Hadoop, Kafka中取訓練資料;
  2. 專門建立一個embedding引數伺服器(PS)來管理embedding層引數的儲存和更新;
  3. 使用一組embedding workers執行最佳化演算法從embedding PS中獲取引數更新;並把embedding向量聚合後放回到embedding PS中;
  4. 使用一組NN workers執行dense神經網路的前向和反向傳播。

還沒完!上面還提到了第二個難點就是分散式的訓練過程,研究人員又來了一個「七步走」解決了這個難題:

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

  1. data loader會對ID型別特徵進行排程分配給embedding worker,然後embedding worker會生成一個獨一無二的訓練樣例,將樣例的ID在本地快取起來後返回給data loader,最後data loader會將該樣例的Non-ID型別特徵和標籤與生成的ID繫結起來;
  2. data loader會把這個Non-ID型別特徵和標籤分配給一個NN worker;
  3. NN worker接收到不完整的訓練樣例後,會發起一個請求從embedding worker處pull回ID型別特徵的embedding,同時進行前向傳播;
  4. embedding worker會對原始的embedding向量進行一些potential aggregation,然後將聚合後的向量發起pull request傳送給NN worker;
  5. 上面四步完成後,NN網路就成功接收到一組完整的輸入了,然後建立mini-batch進行訓練。此時計算的引數結果都是放在記憶體中的,NN網路後續會採用AllReduce正規化對梯度進行同步;
  6. NN worker將計算好的梯度送回到embedding worker;
  7. embedding worker根據樣例ID找到快取的ID型別特徵,然後計算embedding引數的梯度,並將梯度送回到embedding PS中。至此完成全部引數的更新。

引數量捲到一百萬億!華人團隊開源史上最大的推薦訓練系統Persia

最後的訓練結果也可以看到,Persia的訓練速度相比其他大規模模型來說要快了很多,從而能夠支撐百萬億級模型的訓練。

參考資料:

https://arxiv.org/pdf/2111.05897.pdf

分類: 時尚
時間: 2021-12-22

相關文章

百元以內智慧檯燈,值得入手

百元以內智慧檯燈,值得入手
受新冠疫情影響,有一段時間需要居家辦公,我的臥室在閣樓上,就算是白天,室內的光線也不太好,而且除了辦公外,晚上還要看書學習,於是就入手了米家智慧檯燈Lite,一起來看下這款檯燈到底怎麼樣. 小米檯燈米 ...

三百元預算解決全屋Wi-Fi6網路覆蓋,銳捷星耀X32路由器評測

三百元預算解決全屋Wi-Fi6網路覆蓋,銳捷星耀X32路由器評測
[科技犬] 隨著百兆甚至千兆寬頻的快速入戶,在家看高畫質直播.刷劇和玩手遊等對網速要求越來越高,普通路由已無法有效滿足,需要能夠跑滿寬頻,特別是能保證全屋處處都能滿速上網的路由器. 更為重要的是,最近 ...

幾百元也有好手機,搭載5000mAh大電池,這三款可以閉眼買

幾百元也有好手機,搭載5000mAh大電池,這三款可以閉眼買
現在的智慧手機,動輒幾千元. 剛剛開售的蘋果iPhone 13系列,最便宜的mini版本,起售價高達5199元. 物美價廉的國產手機,也越來越貴.小米.OPPO.vivo和華為紛紛推出高階旗艦手機,比 ...

0.7折?長假中間時段機票價格“跳水”,百元機票又現身
今年國慶假期遊客可以"說走就走",節中買機票價格降幅明顯.網路銷售平臺10月2日提供的資料顯示,10月2日至5日的熱門目的地機票價格較1日均有較大幅度降價,上海-深圳出現百元&qu ...

洗面奶什麼牌子好?公認好用的洗面奶測評,這些潔面乳孕媽都能用

洗面奶什麼牌子好?公認好用的洗面奶測評,這些潔面乳孕媽都能用
洗面奶什麼牌子好?公認好用的洗面奶測評,這些潔面乳孕媽都能用! 芙麗芳絲洗面奶 這款網紅潔面推爛了也要推,主要成分為氨基酸類活性劑,還富含6種植物萃取,充分給予並鎖住肌膚水分,給肌膚注入營養,泡沫細膩 ...

越來越多人都不貼瓷磚了!流行貼3D磚,成本才幾百元,省錢又高檔

越來越多人都不貼瓷磚了!流行貼3D磚,成本才幾百元,省錢又高檔
越來越多人都不貼瓷磚了!流行貼3D磚,成本才幾百元,省錢又高檔.說到裝修技術和裝修工藝,還有裝修材質,更新換代真是太快了,一不留神,我們以前裝修的房子已經OUT了.就拿瓷磚來說,從以前的水泥地板,到瓷 ...

紫砂壺真假鑑別:化工壺5大特徵,三四百元的壺養幾年就能升值?

紫砂壺真假鑑別:化工壺5大特徵,三四百元的壺養幾年就能升值?
紫砂壺是一種泡茶器具,更是一種具有觀賞和收藏價值的工藝品.一套大師製作的紫砂壺,價格可以高到嚇死人.2015年11月,制壺大師顧景舟的一套松鼠葡萄十頭套組紫砂茶具,曾拍出8000萬元的天價,如果計算佣 ...

一次推薦10款50元以內廉價純糧酒,最低只要12元,建議收藏

一次推薦10款50元以內廉價純糧酒,最低只要12元,建議收藏
白酒,是中國獨有的以糧谷為原料的蒸餾酒,雖說顏色上是無色透明的,但所含風味物質是世界上所有酒中最為複雜的.因為所選用的配料不同,以及釀造工藝.天然微生物環境的區別,在濃清米醬四種香型的基礎上,又衍生出 ...

售價上百元的養花土,在家就能自己配,一點都不比買來的差

售價上百元的養花土,在家就能自己配,一點都不比買來的差
俗話說得好"養花先養根",根長得好了,植物自然就好了,那麼根系生長的環境,也就是土壤就顯得尤為重要了,今天小編就向花友們推薦一款可以在家自己配置出來的最便宜,價效比最高的萬能土壤. ...

這種果子沒人偷,熟了榨油一斤上百元,為什麼種的人少?

這種果子沒人偷,熟了榨油一斤上百元,為什麼種的人少?
說起農村的經濟產物,一般大家都會想到水果.水稻.花生.玉米這些,在農村種水果,路過的人渴了摘一顆也無傷大雅,味道好說不定還會找到主人買上一些,怕就怕被不懷好意的人惦記. 今天要說的果子就沒有這種顧慮, ...

50元以內的白酒,這8款值得一品

50元以內的白酒,這8款值得一品
作為口糧酒來說,50元以內的好酒,這8款值得一品. 一.黃蓋玻汾 黃蓋玻汾屬於汾酒系列中的一款經典級的白酒,之所以被稱之為"黃蓋玻汾",主要是因為它的瓶蓋是黃顏色的,區別於它的另一 ...

橫向對比養車平臺們的百元套餐——途虎、天貓、京車會誰更值得選

橫向對比養車平臺們的百元套餐——途虎、天貓、京車會誰更值得選
很多朋友在買車之前都是考慮這個車價格如何,那個車落地多少萬.優惠多少等等,實際上在買車之後他們才知道原來養車的固定支出在使用中並不能忽略不計,特別是對於一些經常長途開車的人來說,一年三次甚至四次保養都 ...

觀熱點丨“賣一頭豬虧七八百元”?豬肉價格持續下跌怎麼看

觀熱點丨“賣一頭豬虧七八百元”?豬肉價格持續下跌怎麼看
最近,去菜市場買菜的時候,人們會有這樣的感覺:豬肉的價格便宜了不少.今年以來,國內生豬產能恢復勢頭快,生豬市場出現"量足價跌".央視財經報道,生豬生產大省四川,生豬價格已經跌破成本 ...

馬桶,便宜的幾百元,貴的幾千元,有什麼區別?有必要買貴的嗎?

馬桶,便宜的幾百元,貴的幾千元,有什麼區別?有必要買貴的嗎?
我相信,很多人家裡都有馬桶,而且也用過不少馬桶,但我估計,不少人在買馬桶的時候會有這樣的疑惑:馬桶用起來的感覺都差不多,看起來樣子也差不多,為什麼有的賣幾百元,有的卻要賣幾千元呢? 不同價位的馬桶到底 ...

油煙機怎麼選?1000元以內,認準這幾個方面,既好用,價效比也高

油煙機怎麼選?1000元以內,認準這幾個方面,既好用,價效比也高
像油煙機這種大型廚電,家家戶戶都有.不過,不同的家庭,在選擇上會有所不同,畢竟市面上的油煙機,款式眾多,引數複雜.另外,便宜的油煙機只賣一千幾百元,貴的卻要賣好幾千元,同樣是吸除油煙的工具,到底有什麼 ...

百元輕運動跑鞋推薦 咕咚走跑鞋5K 2.0版 輕鬆一腳蹬緩震更舒適

百元輕運動跑鞋推薦 咕咚走跑鞋5K 2.0版 輕鬆一腳蹬緩震更舒適
作為一名勤勤懇懇的都市打工人,為了能夠持續奮鬥讓老闆早日成為首富,迎娶白富美,自然也要倍加關注自身健康.通勤的路上總會有一段需要步行,餐後百步走,週末小跑鍛鍊等等.不過雖說多運動有益身心健康,比如跑步 ...

小米有品再上好物,落日燈不足百元售價!體驗後發現效果超出想象

小米有品再上好物,落日燈不足百元售價!體驗後發現效果超出想象
在每天繁忙的工作後,相信不少小夥伴們都身心疲憊了吧?對於精緻生活的基本訴求就拋之腦後了,更別說出門看日落了,生活品質自然也是難以保證的.而剛好最近小編我入手一款可以永久把夕陽請回家裡的落日燈,起初是在 ...

“賣一頭豬虧七八百元”?在當前的形勢下,養豬行業該何去何從?

“賣一頭豬虧七八百元”?在當前的形勢下,養豬行業該何去何從?
在村子裡,看到一個養豬的大戶,正在賣生豬,就問了一下,賣出的生豬價格是多少?養殖大戶告訴我,就是賣6元每斤,不賣不行呀,近段時間的生豬價格,與今年的年初相比,基本上是下降了一半,與去年的同期時間段相比 ...

適合學生黨的百元遊戲手機

適合學生黨的百元遊戲手機
今天就來給小學生推薦幾個百元超高效能遊戲手機,反正都是百元機,奧力給只要能打遊戲就行了 第一款:小米9 螢幕: 6.39英寸 60Hz重新整理率 2340×1080畫素 AMOLED材質 效能: 驍龍 ...

菜市場一隻活雞近百元,熟食店熟雞不過30元,這其中有何道道兒?

菜市場一隻活雞近百元,熟食店熟雞不過30元,這其中有何道道兒?
隨著國內生豬存欄量的增加,豬肉價格已經從巔峰迴歸正常水平.大眾期待的十元肉時代已經到來,俗話說得好:物以稀為貴,道理我們也都明白.其實這句話我們還可以反過來解讀,一樣東西越便宜,受歡迎程度反而倒是不高 ...