首個萬億級模型!Google重磅推出語言模型Switch Transformers,1.6...

2021-01-15 雷鋒網

眾所周知,參數量是機器學習算法的關鍵。在大規模參數量和數據集的支持下,簡單的體系結構將遠遠超過複雜的算法。

在自然語言領域,被稱為史上最強NLP的GPT-3擁有1750億參數。近日,Google將這一參數量直接拉高到了1.6萬億。

1月11日,Google在arXiv上發表論文《Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity》,提出了最新語言模型—Switch Transformer。

研究員介紹稱,Switch Transformer擁有1.6萬億參數,是迄今為止規模最大的NLP模型。

論文中指出,Switch Transformer使用了稀疏激活(Sparsely Activated)技術,該技術只使用了神經網絡權重的子集,或者是轉換模型內輸入數據的參數。在相同計算資源下,其訓練速度上比Google之前研發的最大模型T5-XXL還要快4倍。

Switch Transformer由混合專家(Mix of Expert,MoE)AI模型範式發展而來。MoE模型是指將多個專家或專門從事不同任務的模型放在一個較大的模型中,並有一個「門控網絡(Gating Network)」來選擇為任何給定數據要諮詢哪些專家。

自90年代初首次被提出以來,MoE模型通在機器翻譯方面取得了顯著成果。但因複雜性高、通信成本高和訓練不穩定,導致其廣泛應用受到阻礙。

為了解決這些問題,研究人員簡化了MoE路由算法,設計了直觀的改進模型,使通信成本和計算成本大幅度降低。同時,他們提出的訓練技術消除了訓練的不穩定性,並證明了大型稀疏模型也可能以低精度(bfloat16)格式進行訓練。

此外,與T5-Base和T5-Large模型相比,新模型在相同計算資源下將預訓練速度提高了7倍之多。這些改進擴展到了多語言設置中,可以測量101種語言在mT5-Base版本上的收益。

最後,通過在「Colossal Clean Crawled Corpus」上預先訓練多達數萬億個參數模型來提高當前語言模型的規模,使速度比T5-XXL模型提高了4倍。

研究者還表示,Switch Transformer 架構不僅在具備超級計算機的環境下具有優勢,在只有幾個計算核心的計算機上也是有效的。此外,研究者設計的大型稀疏模型可以被蒸餾為一個小而稠密的版本,同時還能保留稀疏模型質量提升的 30%。

Switch Transformer模型架構

Switch Transformer的設計原則是以一種簡單且高效計算的方式來最大化Transformer模型的參數數量。

基於此,模型需要在增加參數量同時保持每個示例的浮點運算(FLOPs)不變。研究人員假設,參數量與執行的總計算量無關,是可以單獨縮放的重要組件,那麼它可以通過設計稀疏激活模型來實現。

研究人員有效地利用了為密集矩陣乘法(Dense Matrix Multiplications,一種廣泛用於語言模型的數學運算)而設計的硬體,如GPU、Google的張量處理單元TPU。在分布式訓練設置中,模型將不同的權重分配到不同的設備上,可以保證權重隨著設備數量的增加而增加,同時保證每個設備上均有可管理的內存和計算足跡。

Switch Transformer編碼器模塊圖示

如圖,研究人員將Transformer的密集前饋網絡(FFN)層替換為稀疏Switch FFN層(淺藍色)。該層對序列中的令牌進行獨立操作。他們兩個標記令牌(X1=More 和 X2=Parameters )在四個FFN專家之間進行匹配(實線),其中路由器獨立地傳輸每個令牌。Switch FFN層返回輸出的FFN並乘以路由器門值(虛線)

簡化稀疏通道

研究人員提出了Switch Routing簡化策略:針對不同的輸入,匹配最適合的一個專家。實驗證明,這種簡化可以保留模型質量,減少路由計算並提高性能。具體優勢如下:1、通道計算量大大降低,因每個樣本僅需要一個專家通道參與計算。

2、每個專家通道所計算樣本的batchsize被大大縮小(至少減半)。

3、每個專家通道的實現複雜度減小了,專家間的通信開銷降低。

高效稀疏通道

研究人員使用Mesh-Tensorflow(MTF)庫—與Tensorflow 類似的語義和API ,能夠能夠高效支持分布式的數據與模型結構。它將物理內核集抽象為處理器的邏輯網格。然後利用張量和計算按指定的維度進行切分,便於跨維度輕鬆劃分模型。

與MoE Transformer的比較

第一個測試是在「Colossal Clean Crawled Corpus」數據集上進行的。該數據集也被成為C4,含750GB的文本語料,全部來自於Reddit、Wikipedia和其他網絡資源中。研究人員使用了32個TPU核在C4數據集上預先訓練了幾種不同的Switch Transformer模型。

模型的任務是預測段落中15%被遮住的單詞,以及通過檢索文本回答一些有難度的問題。

從以上對比結果中,可以發現:

1、在速度-質量的指標上,Switch-Transformer超過了精密微調的稠密模型,與MoE Transformer。在有限的計算量與工作時間下,Switch Transformer都得到了最優的結果。

2、Switch Transformer有更小的計算足跡(computational footprint)。

3、在更小的capactiy factor下,Switch Transformer工作的效果更佳。

提升訓練與微調技術

稀疏專家模型相比普通Transformer更難訓練,這是由於切換通道帶來的不穩定引起的,同時,低精度計算會導致惡化softmax計算中的問題。

研究人員通過在局部引入高精度的訓練,而非全局的方法,達到了理想的穩定性,測試效果如圖:

同時作為不穩定性的另一種補救措施,研究人員減小了默認的Transformer初始化比例,將 S=1.0降低了10倍。這既提高了質量,又降低了不穩定訓練的可能性。如圖:

「預訓練+微調」的NLP方法,在處理下遊任務時容易發生過擬合現象。對此,研究人員提出了「expert dropout」的解決方案——通過在微調過程中,增加在每個expert中的dropout比例來緩解過擬合。

我們觀察到,簡單地增加所有層的dropout率會導致性能下降。但是,在非專家層設置較小的dropout率(0.1)和在專家層設置較大的dropout率(0.4),可以提高四個較小下遊任務的性能。

性能測試:預訓練、微調和多任務訓練

論文中,研究人員對預訓練階段 Switch Transformer的預訓練可擴展性進行了研究。為了避免數據受限,他們採用了大型 C4 資料庫,並以固定的計算成本測試了基於步數和時間的可伸縮性。

步態的可擴展性

下圖為多個模型在訓練步數恆定、專家數量增加時表現出的可擴展性提升情況。可以看到:在保持每個 token 的 FLOPS 不變時,擁有更多的參數(專家)可以提高訓練速度。

此外還可以發現,專家數量的增加會導致更有效的樣本模型。Switch-Base 64專家模型在60k和450k步態達到了與T5-Base模型相同的性能,這是7.5倍的加速。

時間的可擴展性

從基於步數的設置中,可以觀察到:樣本效率提升未必能轉化為時間上的模型質量提升。那麼,在訓練時間和計算成本都固定的前提下,是應該訓練一個稠密模型還是稀疏模型?下圖解決了這個問題。

圖中展示了預訓練模型質量隨訓練時間增加所產生的變化。在訓練時間和計算成本都固定的情況下,Switch Transformer 的速度優勢非常明顯。在這種設置下,如果要達到相似的困惑度,Switch-Base 64 專家模型的訓練時間僅為 T5-Base 模型的 1/7。

微調

針對 T5-Base 和 T5-Large 模型,研究人員設計了具備更多參數的 FLOP-matched Switch Transformer。在 SuperGLUE基準上, FLOP-matched Switch Transformer 相比 T5-Base 和 T5-Large 的性能分別提升了 4.4% 和 2%。同時,該模型在多項推理和知識任務中也帶來了顯著提升。

這說明該模型架構不只對預訓練有用,還可以通過微調將質量改進遷移至下遊任務中。

蒸餾技術

為了解決超大規模神經網絡的部署問題,研究人員提出了多種蒸餾技術:將大型稀疏模型蒸餾到小型密集模型中。

使用表 7 中最優的蒸餾技術,可以將具備 11 億參數量的模型壓縮 82%,同時保留 37% 的性能提升。最極端的情況下,將模型壓縮了 99%,且維持了 28% 的性能提升。

多語言學習

在最後一組下遊實驗中,研究人員利用模型對101種不同語言的混合進行了預訓練。

如圖展示了 Switch T5 Base 模型與 mT5-Base 在所有語言上的質量提升情況(負對數困惑度)。對兩個模型經過 100 萬步預訓練後,Switch Transformer 的最終負對數困惑度相較基線有所提升。

此外,透過mT5-Base使用Switch Transformer模型的加速直方圖,可以發現,mT5-Base的平均速度提高了5倍,同時,91%的語言速度至少提升了4倍。這表明Switch Transformer能夠有效的多任務和多語言。

總結及未來研究方向

研究人員表示,Switch Transformer模型是具有可擴展性的高效自然語言處理模型,它通過簡化MoE,形成了快速理解、訓練穩定且比同等大小模型更有效的樣本體系結構。實驗證明,這些模型在不同的語言任務和訓練模式中都表現了出色的性能,包括預訓練、微調和多任務訓練。同時,這些結果也讓訓練具有上千億、上萬億參數量的模型成為可能。

最後研究人員指出,雖然Switch Transformer改進了訓練程序,並對稀疏模型進行了擴展的研究。但未來在此方向還有許多未完成的工作,如

進一步提高大型模型訓練的穩定性。目前正在進行的方法有:正則化函數、適度的梯度裁剪等。一般來說預訓練越好,下遊任務的效果也就越好,但在一些任務上發現,1.6T參數的Switch-C會比較小模型的結果更低。目前方法使用的同類專家,未來可嘗試通過更靈活的基礎結構支持異構專家。調查FFN層之外的專家層,初步的證據表明,這同樣可以改善模型質量。目前的工作僅考慮了語言任務,未來可嘗試將模型稀疏性類似地應用到其他模態(例如圖像)或多模態中。引用連結:

https://arxiv.org/pdf/2101.03961.pdf

https://venturebeat.com/2021/01/12/google-trained-a-trillion-parameter-ai-language-model/

https://arxiv.org/search/cs?searchtype=author&query=Fedus%2C+W

雷鋒網雷鋒網雷鋒網

相關焦點

  • 首個萬億級模型:谷歌推出語言模型 Switch Transformers,1.6 萬億...
    在自然語言領域,被稱為史上最強 NLP 的 GPT-3 擁有 1750 億參數。近日,Google 將這一參數量直接拉高到了 1.6 萬億。1 月 11 日,Google 在 arXiv 上發表論文《Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity》,提出了最新語言模型—Switch Transformer。
  • 1.6萬億參數的語言模型:谷歌大腦提出Switch Transformer,預訓練...
    機器之心報導編輯:魔王、杜偉、張倩剛剛,Google Brain 高級研究科學家 Barret Zoph 發帖表示,他們設計了一個名叫「Switch Transformer」的簡化稀疏架構,可以將語言模型的參數量擴展至 1.6 萬億(GPT
  • Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預...
    1.0,該項目支持 BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM 等,並包含 27 個預訓練模型。27個預訓練模型項目中提供了27個預訓練模型,下面是這些模型的完整列表,以及每個模型的簡短介紹。
  • 1.6 萬億參數你怕了嗎?谷歌大腦語言模型速度是 T5 速度的 7 倍
    【CSDN 編者按】四個參數,我就能擬合出一個大象出來,用五個參數我就能讓他的鼻子擺動作者 | 八寶粥 責編 | 張文頭圖 | CSDN 下載自視覺中國著名實驗和理論物理學家、諾獎得主費米曾經這樣引用馮諾依曼的話:「四個參數,我就能擬合出一個大象出來,用五個參數我就能讓他的鼻子擺動」。
  • 【注意力機制】transformers之轉換Tensorflow的Checkpoints
    注意:從2.3.0版本開始,轉換腳本現在已成為 transformers CLI(transformers-cli)的一部分,在任何transformers)=2.3.0的都可用。以下文檔反映了transformers-cli convert命令格式。
  • 谷歌推出AutoML自然語言預訓練模型
    經過數月的beta測試,谷歌近日宣布面向全球用戶推出AutoML Natural Language的通用版本,支持分類、情緒分析和實體提取等任務,以及支持各種文件格式,包括掃描的pdf文件。 AutoML自然語言利用機器學習來揭示電子郵件、聊天日誌、社交媒體帖子等文本的結構和含義。
  • 谷歌宣布將於明年6月30日永久關閉3D模型內容平臺Google Poly
    Poly 是由谷歌在 2017 年推出的網站,主要供用戶瀏覽、分享和下載 3D 模型。它旨在允許創作者輕鬆共享和訪問 3D 模型。它具有一個免費的庫,其中包含數千個 3D 模型,可用於虛擬實境和增強現實應用程式。
  • 從字符級的語言建模開始,了解語言模型與序列建模的基本概念
    生成文本序列的通常方式是訓練模型在給定所有先前詞/字符的條件下預測下一個詞/字符出現的概率。此類模型叫作統計語言模型,這種模型會嘗試捕捉訓練文本的統計結構,本文從字符級語言模型和名字預測出發向讀者介紹了語言建模的核心概念。循環神經網絡(RNN)模型常用於訓練這種語言模型,因為它們使用高維隱藏狀態單元處理信息的能力非常強大,建模長期依賴關係的能力也非常強。
  • GPT-3:一個令人失望的語言模型
    第一部分這篇論文( https://arxiv.org/pdf/2005.14165.pdf )我還沒特別仔細地研究過,但下面幾點是我可以肯定的:1.1:GPT-3 有多大開創性「GPT-3」只是 GPT-2 的放大版。換句話說,這只是「就讓 transformers 變大就行了」這種方法的粗暴延伸。
  • 再見卷積神經網絡,使用Transformers創建計算機視覺模型
    長期依賴和效率權衡 在NLP中,神經語言模型的目標是創建對文本中的單詞語義儘可能多的信息進行編碼的嵌入。增加這些超參數的值會增加模型的複雜性,會產生消失梯度甚至無法訓練的模型。殘差連接和擴展的卷積也被用於增加這些模型的接受域,但是卷積在文本上操作的方式總是在它能夠捕獲的接受域上存在限制和權衡。 Transformers Transformers於2017年以一種簡單且可擴展的方式出現,以在語言翻譯中獲得SOTA結果。
  • R語言中的隱馬爾可夫HMM模型實例
    p=17592 最近,我們使用隱馬爾可夫模型開發了一種解決方案,並被要求解釋這個方案。HMM用於建模數據序列,無論是從連續概率分布還是從離散概率分布得出的。它們與狀態空間和高斯混合模型相關,因為它們旨在估計引起觀測的狀態。狀態是未知或「隱藏」的,並且HMM試圖估計狀態,類似於無監督聚類過程。
  • 如何0代碼、快速定製企業級NLP模型?百度工程師詳解技術選型與模型...
    /BV1Zi4y157jd以下為分享內容整理:NLP常見任務自然語言處理(NLP)大致分為4大經典任務:文本分類,文本匹配,序列標註,文本生成。以中文模型為例,目前ERNIE已經學習了1500萬篇百科語料和詞語、實體知識,700萬個人類對話,3億的文章的因果結構關係,以及10億次的搜索查詢與結果的對應關係,以及2000萬的語言邏輯關係知識。模型還在持續不斷地建模新的海量數據與知識,不斷地提升下遊的應用效果。ERNIE在中英文的16個任務上已經超越了業界最好模型,全面適用於各類NLP應用場景。
  • 從經典結構到改進方法,神經網絡語言模型綜述
    考慮到很難對上述模型中超多的參數進行學習,有必要採取一種近似方法。N 元(N-gram)模型是一種最為廣泛使用的近似方法,並且在 NNLM 出現之前是最先進的模型。一個(k+1)元模型是由 k 階馬爾科夫假設推導出的。該假設說明當前的狀態僅僅依賴於前面的 k 個狀態,即:我們用極大似然估計來估計參數。
  • 網際網路原子彈,算力吞噬者:1750 億參數的 AI 模型 GPT-3 引爆矽谷
    相信不太了解 AI 的朋友這幾天也或多或少看到了一些關於 GPT-3 的重磅消息,甚至有媒體稱其為 「繼比特幣之後又一個轟動全球的現象級新技術」。請注意,現在站在你面前的是:網際網路原子彈,人工智慧界的卡麗熙,算力吞噬者,黃仁勳的新 KPI ,下崗工人製造機,幼年期的天網 —— 最先進的 AI 語言模型 GPT-3。
  • 科技巨頭微軟推出Turing-NLG,目前規模最龐大的AI語言模型
    微軟這個科技界巨頭目前正在研發一個新的AI語言模型,而這個模型的規模比目前其他公司所研發出的都要大。這個新的AI語言模型名為「圖靈自然語言生成(Turing Natural language Generation)」,也即Turing-NLG。為什麼說它的規模比其他同類型的模型都要大呢?
  • 比基線模型快100倍,Google開源文本生成「加速器」LaserTagger
    在此之前,Google已經發布了Meena,一個具有26億個參數的神經網絡,可處理多輪對話。1月初,Google在論文中還提出了Reformer模型,可處理所有小說。該詞彙表是一個優化過程的結果,該優化過程具有兩個目標:(1)最小化詞彙表的大小和(2)最大化訓練樣本的數量,其中添加到目標文本的唯一必要單詞僅來自詞彙表。短語詞彙量受限制會使輸出決策的空間變小,並防止模型添加任意詞,從而減輕了「幻覺」(雷鋒網註:hallucination,模型在所生成的文本中,輸入信息中並不存在)的問題。
  • 首個智能駕駛車險指數模型誕生 豪車可以少交保險了
    【TechWeb報導】11月15日消息,專注智能安全駕駛汽車大數據的杭州好好開車公司宣布,全球首個智能駕駛車險指數模型(英文簡稱ABI)已在中國誕生。首個智能駕駛車險指數模型誕生 豪車可以少交保險了好好開車CEO何崇中說,該車險指數模型是基於智能駕駛輔助系統生成的大數據開發的。
  • 法國完成首個宇宙結構計算機模型 模擬大爆炸至今
    據物理學家組織網報導,法國宇宙理論實驗室研究人員完成了迄今首個宇宙結構計算機模型——「迪烏斯:全宇宙運行」,模擬了全部可觀察到的宇宙從大爆炸到今天的結構演化過程。法國宇宙理論實驗室宇宙學小組的科學家經7年努力完成了該模型。
  • PTMs|2020最新NLP預訓練模型綜述
    (2) 「ELMo」[6]. 用「兩層的Bi-LSTM」從「雙向語言模型任務BiLM」(包括1個前向的語言模型以及1個後向的語言模型)中預訓練一個「Bi-LSTM Encoder」。能夠顯著提升一系列NLP下遊任務的性能。
  • 百度提出冷聚變方法:使用語言模型訓練Seq2Seq模型
    論文地址:https://arxiv.org/abs/1708.06426摘要:帶有注意力機制的序列到序列(Seq2Seq)模型在多項生成自然語言句子的任務中表現優秀,如機器翻譯、圖像字幕生成和語音識別。在以語言模型的形式利用非標註數據後,其性能進一步提高。