煉個BERT花了快1天?谷歌:我這是4810億引數的巨型BERT
機器學習領域權威“跑分”
MLPerf v1.1
訓練榜單已出爐。
這次,在BERT模型的成績表上有一個“異常”的數字:
1196.638
(分鐘),來自谷歌。
怎麼?谷歌訓練一個BERT要接近1天,別家都只要幾分鐘?
NONONO!
這其實是谷歌從未透露的
巨型版本
BERT,引數規模有
4810億
,不是別人只有幾億引數那種的BERT。
它也是谷歌今年在MLPerf“非標準區”提交的一個作品:
一共花了
2048塊
TPUv4,約20小時訓練而成!
△ TPUv4晶片機架,谷歌資料中心
有史以來最大版本的BERT
標準BERT模型(BERT Large)引數規模只有3。4億,而此次4810億的巨型BERT是有史以來最大的一個版本。
這倆之間直接差了
好幾個數量級
。
而谷歌表示,
訓練大型模型
正是公司的“重中之重”(主要用於雲服務)。
所以此次他們根本沒有參加任何標準分割槽裡的跑分評比,只在非標準區“釋放了自我”。
MLPerf競賽有倆分割槽:
Closed區也就是標準區,參賽商在ResNet-50等規定模型上跑分;
Open區也就是非標準區,參賽商可以嘗試任何規定以外的模型和方法來達到目標效能。
在大多數參賽商都“擠”在標準區訓練小規模的模型時,谷歌員工
“凡爾賽”道
:
“在短短几秒內‘豪擲’4000塊晶片來訓練巨型BERT才是真的酷(爽)。”
谷歌由此也希望MLPerf基準測試能引進更多的大模型,因為他們覺得現實中才不會像非標準區的參賽作品那樣
用那麼多晶片
來訓練
那麼小
的模型。
而此次的巨型BERT效能也不賴,它的預測準確率為75%,
比MLPerf要求的72.2%要高
。
同時,和標準區其他參賽商一樣,谷歌也用較少的文字資料樣本來達到目標精度。
具體來說,標準區要求一個程式使用近5億個token序列進行訓練,每個序列的長度大多為128個token。
而Google只使用了大約2000萬個序列,不過每個序列的長度為512token。
另外,完成這次工作的2048塊TPU系統一開始也是為了迎合公司的生產和研發需要,所以它並未“束之高閣”——目前已用於
Google Cloud服務
。
英偉達在標準區“戰績顯赫”
其餘MLPerf結果,主要在“標準區”,一如既往,
英偉達
戰績最高。
比如它使用最新一代GPU A100的系統在訓練
ResNet-50
花費的時間上包攬前四,其中最快
只需21秒
——比今年6月24秒的最高成績還快。
當然,此戰績一共花了4320個A100,在1080個AMD的EPYC x86處理器的幫助下並行完成。
但在不拼晶片和主機處理器的情況下,競爭對手可就碾壓起英偉達了。
其中
英特爾Habana
用256個Gaudi加速晶片,只需
3.4分鐘
就訓練好ResNet-50。
Graphcore
則只需
3.8分鐘
,用了256塊IPU加速器晶片和32塊AMD EPYC主機處理器。
英偉達
在配備16個EPYC處理器的64路A100系統下,花了
4.5分鐘
。
打敗了英偉達的Graphcore,則強調自己最看重效能和成本之間的平衡。
就比如Graphcore在16路系統上訓練ResNet-50耗費28分鐘,比英偉達DGX A100系統快一分鐘,但他們用到的POD-16是DGXA100成本的
一半
。
此次參賽的其他廠商中,
三星
在電子訓練普通版BERT的速度上獲得了第二名,僅為25秒。花了256個AMD晶片和1024個英偉達A100。
微軟的
Azure
雲服務首次參賽,它使用192個AMD EPYC處理器和768個A100在醫療資料上訓練影象分割模型獲得了最高分。
同時Azure也表示後續也會像谷歌那樣在非標準區提交一些成績,雖然微軟和英偉達在此前不久釋出了目前最大的模型
“威震天-圖靈”
,但他們表示:
許多公司希望將人工智慧用於專一目的,而非需要4000塊晶片才能執行的巨型語言模型。
更多評分結果大家可以參考官網資料。