性能媲美BERT,但參數量僅為1/300,這是谷歌最新的NLP模型

2020-12-05 澎湃新聞

選自Google AI Blog

作者:Prabhu Kaliamoorthi

機器之心編譯

機器之心編輯部

在最新的博客文章中,谷歌公布了一個新的 NLP 模型,在文本分類任務上可以達到 BERT 級別的性能,但參數量僅為 BERT 的 1/300。

在過去的十年中,深度神經網絡從根本上變革了自然語言處理(NLP)領域的發展,但移動端有限的內存和處理能力對模型提出了更高的要求。人們希望它們可以變得更小,但性能不打折扣。

去年,谷歌發布了一種被稱為 PRADO 的神經架構,該架構當時在許多文本分類問題上都實現了 SOTA 性能,並且參數量少於 200K。大多數模型對每個 token 使用固定數目的參數,而 PRADO 模型使用的網絡結構只需要很少的參數即可學習與任務最相關或最有用的 token。

論文連結:https://www.aclweb.org/anthology/D19-1506.pdf

在最新的博客文章中,谷歌的研究者宣布它們改進了 PRADO,並將改進後的模型稱為 pQRNN。新模型以最小的模型尺寸達到了 NLP 任務的新 SOTA。pQRNN 的新穎之處在於,它將簡單的投影運算與 quasi-RNN 編碼器相結合,以進行快速、並行的處理。該研究表明,pQRNN 模型能夠在文本分類任務上實現 BERT 級別的性能,但參數量僅為原來的 1/300。

PRADO 的工作原理

在一年前開發該模型時,PRADO 在文本分割上充分利用特定領域的 NLP 知識,以降低模型大小和提升模型性能。通常來說,首先通過將文本分割成與預定義通用詞典中的值相對應的 token,將 NLP 模型的文本輸入處理成適用於神經網絡的形式。然後,神經網絡使用可訓練參數向量(包括嵌入表)來唯一識別每個文本片段。但是,文本分割的方式對模型性能、大小和延遲都有顯著的影響。

下圖展示了 NLP 社區使用的各種文本分割方法及其相應的優缺點:

由於文本片段的數量是影響模型性能和壓縮的重要參數,因此引出了一個問題,即 NLP 模型是否需要能夠清楚地識別每個可能的文本片段。為了回答這個問題,研究者探索了 NLP 任務的固有複雜性。

只有語言建模和機器翻譯等少數 NLP 任務需要了解文本片段之間的細微差異,因此可能需要唯一識別所有可能的文本片段。其他大多數任務僅通過了解這些文本片段的子集即可解決。此外,任務相關的文本片段子集並不一定是頻率最高的部分,因為可能很大一部分是專用的冠詞,如 a、an 和 the,而這些對很多任務來說並不重要。

所以,允許網絡決定給定任務的最相關片段可以實現更好的性能。並且,網絡不需要唯一識別這些文本片段,只需要識別出文本片段的聚類即可。舉例而言,情感分類器只需要了解與文本中的情感強相關的片段聚類就行了。

基於此,PRADO 被設計成從詞(word)中學習文本片段的聚類,而不是 word piece 或字符,從而使它能夠在低複雜度 NLP 任務中實現良好的性能。由於 word unit 更有意義,而且與大多數任務最相關的詞並不多,所以學習相關詞聚類的簡化子集所需要的模型參數就少了很多。

改進 PRADO

谷歌研究者在 PRADO 的基礎上開發了一個更強的 NLP 模型——pQRNN。該模型由三個構建塊組成——一個是將文本中的 token 轉化為三元向量序列的投影算子、一個密集 bottleneck 層和若干 QRNN 編碼器。

pQRNN 中投影層的實現與 PRADO 中所用到的一致,幫助模型學習相關性最強的 token,但沒有一組固定的參數來定義這些 token。它首先對文本中的 token 進行識別,然後使用一個簡單的映射函數將其轉換為三元特徵向量。這將產生一個三元向量序列,該序列具有平衡對稱分布,用來表示文本。這種表示沒有直接用途,因為它不包含解決感興趣任務所需的任何信息,而且網絡無法控制這種表示。

研究者將其與一個密集 bottleneck 層結合在一起,以使網絡可以學習到一個與手頭任務相關的逐詞表示。bottleneck 層產生的表示仍然沒有考慮到詞的上下文。因此,研究者利用若干雙向 QRNN 編碼器學習了一個上下文表示。這樣可以得到一個僅從文本輸入就能學到上下文表示的網絡,並且無需任何預處理。

pQRNN 的性能

研究者在 civil_comments 數據集上評估了 pQRNN,並將其與 BERT 模型在相同的任務中進行了比較。模型的大小與其參數量成正比,因此 pQRNN 比 BERT 小得多。

此外,pQRNN 還進行了量化處理(quantized),因此模型體積進一步縮小到原來的 1/4。公開訓練的 BERT 在本文的任務中表現不好,因此拿來對比的 BERT 其實是在幾個不同的相關多語言數據源上進行預訓練得到的,以使其達到最好的表現。

在實驗中,研究者得到了兩個模型的 AUC 信息。在沒有任何預訓練、只在監督數據訓練的情況下,pQRNN 的 AUC 是 0.963,用到了 130 萬個量化(8-bit)參數。在幾個不同數據源進行預訓練並在監督數據上進行微調之後,BERT 模型得到的 AUC 是 0.976,用到了 1.1 億個浮點參數。

為了鼓勵社區在谷歌研究成果的基礎上做出進一步改進,谷歌還開源了 PRADO 模型。

項目地址:https://github.com/tensorflow/models/tree/master/research/sequence_projection

博客連結:https://ai.googleblog.com/2020/09/advancing-nlp-with-efficient-projection.html

如何快速構建圖片搜尋引擎?

亞馬遜AWS解決方案架構師邱越俊將於9月24日帶來一場live coding,利用Amazon Elasticsearch Service,從零開始構建一個以圖搜圖的應用程式,包括用Amazon SageMaker對圖片做特徵向量提取,用Amazon Elasticsearch做特徵向量搜索,用AWS Amplify快速搭建應用程式。

原標題:《性能媲美BERT,但參數量僅為1/300,這是谷歌最新的NLP模型》

閱讀原文

相關焦點

  • 從ULMFiT、BERT等經典模型看NLP 發展趨勢
    實際上,在近年來的自然語言處理方向的頂會上,深度學習也往往佔據了大量的篇幅,自然語言處理方向成為模型與計算能力的較量。為此,本文介紹了自2018年起一些頂級的預訓練模型,讀者們可以用它們來開始你的自然語言處理之旅,並複製該領域的最新研究成果。
  • 性能堪比GPT-3,但參數量僅為0.1%,LMU團隊推出NLP最強文本生成模型
    模型越大,性能越佳?答案可能是不一定。在NLP領域,談到超大模型必然想到預訓練語言模型GPT-3,自今年3月份對外開放以來,其因超大模型和超強性能頻頻刷屏。GPT-3擁有1750億參數量,約有700G大小,一次訓練成本高達上百萬美元。1750億是什麼概念?去年2月份,OpenAI推出的GPT-2參數量為僅15億,是它的1\116。
  • 谷歌AI團隊新發布的BERT模型,BERT的創新點在哪裡?
    谷歌AI團隊新發布的BERT模型,BERT的創新點在哪裡? 李倩 發表於 2018-10-21 09:40:22 近日,谷歌AI團隊新發布的BERT模型,在NLP業內引起巨大反響,認為是NLP領域裡程碑式的進步。BERT的創新點在哪裡?新智元專欄作者潘晟鋒對這篇論文進行了深度解讀。
  • 剛剛,Google發布24個小型BERT模型,直接通過MLM損失進行預訓練
    Google最新推出24個精簡的BERT模型供下載,趕在白色情人節之前為廣大NLP研究者送上一份厚禮。BERT勝在模型大,也敗在模型大!BERT一出世就帶著「狂破11項記錄」的光環,用壓倒性的參數量暴力突圍。可以說,BERT的成功,成就成在模型大。但大,一方面成就了BERT,另一方面也成了它無法被更廣泛應用的障礙,這體現在三個方面。
  • 1.6萬億參數的語言模型:谷歌大腦提出Switch Transformer,預訓練...
    他們假設將 token 表徵發送給 k>1 個專家是必要的,這樣可以使 routing 函數具備有意義的梯度。他們認為如果沒有對比至少兩個專家的能力,則無法學習路由。與這些想法不同,谷歌大腦這項研究採用簡化策略,只將 token 表徵發送給單個專家。研究表明,這種簡化策略保持了模型質量,降低了路由計算,並且性能更好。
  • 1.6萬億參數的語言模型:谷歌大腦提出Switch Transformer
    他們假設將 token 表徵發送給 k>1 個專家是必要的,這樣可以使 routing 函數具備有意義的梯度。他們認為如果沒有對比至少兩個專家的能力,則無法學習路由。與這些想法不同,谷歌大腦這項研究採用簡化策略,只將 token 表徵發送給單個專家。研究表明,這種簡化策略保持了模型質量,降低了路由計算,並且性能更好。研究者將這種 k=1 的策略稱為 Switch 層。
  • 谷歌搜索:幾乎所有的英文搜索都用上BERT了
    機器之心報導機器之心編輯部在前段時間舉辦的「Search On」活動中,谷歌宣布,BERT 現在幾乎為谷歌搜尋引擎上的每一個基於英文的查詢提供支持。而在去年,這一比例僅為 10%。
  • 谷歌親兒子BERT的王者榮耀,僅用一年雄霸谷歌搜索頭牌!
    而谷歌作為BERT的本家,更是將它的優勢發揮的淋漓盡致。加入谷歌搜索剛一年,BERT「佔領」幾乎所有英語查詢2019年10月,BERT首次亮相谷歌搜索時,這一比例僅為10%。2019年12月,谷歌將 BERT 的使用擴展到70多種語言。
  • 中文最佳,哈工大訊飛聯合發布全詞覆蓋中文BERT預訓練模型
    為了利用這種思想提升預訓練模型在中文的表現,百度發布了知識增強的表示模型 ERNIE,在中文數據集的表現中超過了 BERT。近期,谷歌發布了基於全詞覆蓋(Whold Word Masking)的 BERT 預訓練模型,則進一步提升了 BERT 模型的性能水平。然而,由於全詞覆蓋的 BERT 模型的研究測試集中於國外公開數據集,缺乏一種中文語言的相關模型。
  • PTMs|2020最新NLP預訓練模型綜述
    該綜述系統地介紹了nlp中的預訓練模型。主要的貢獻包括:1.深入盤點了目前主流的預訓練模型,如word2vec,ELMo,BERT等。2.但是相反,nlp領域的優勢在於,存在大量的無監督數據集,如果能夠充分利用這類數據進行訓練,那麼勢必能夠提升模型的能力以及在下遊任務中的表現。nlp中的預訓練模型就是這樣一類能夠在大規模語料上進行無監督訓練,學習得到通用的語言表徵,有助於解決下遊任務的nlp模型。「那麼什麼是好的語言表徵呢」?
  • 完勝BERT!NLP預訓練利器:小模型也有高精度,單個GPU就能訓練
    十三 發自 凹非寺量子位 報導 | 公眾號 QbitAI這款NLP預訓練模型,你值得擁有。它叫ELECTRA,來自谷歌AI,不僅擁有BERT的優勢,效率還比它高。只需要RoBERTa和XLNet四分之一的計算量,就能在GLUE上達到它們的性能。並且在SQuAD上取得了性能新突破。這就意味著「小規模,也有大作用」,在單個GPU上訓練只需要4天的時間,精度還要比OpenAI的GPT模型要高。
  • 谷歌搜索的靈魂:BERT模型的崛起與榮耀
    一年後,BERT在谷歌搜索中使用比例近乎100%,憑藉出色的理解能力,替代上一代查詢工具RankBrain,成為搜索大腦的王牌。在這「高分高能」的實績背後,是BERT模型一直的默默進階。2019年12月,通過更加有效地分配模型容量、簡化Transformer隱藏層中的參數和冗餘度檢查,BERT在性能提升的同時減少計算量,升級為更為輕量級ALBERT。2020年3月,受生成對抗網絡(GAN)的啟發,BERT改進了預訓練方式,減少了模型訓練的時間,從而可以在更少的計算量內達到相同的文本識別效果,衍生出了ELECTRA模型。
  • 谷歌搜索的靈魂!BERT模型的崛起與榮耀
    在這兩項上,BERT得分分別87.433和93.160,超過人類的82.3和91.2,被不少研究人員認為,是自然語言領域的重大成就,將會改變NLP的研究方式。BERT為什麼這麼牛?那我們得先看看模型是怎樣「學語言」的。
  • BERT融合知識圖譜之模型及代碼淺析
    這個時候,我們很有必要為模型請上一名教師,而這名老師呢,剛好對該垂直領域的業務數據十分了解,他會在模型進行訓練的時候,手把手的教學,直接告訴模型某個重要單詞(實體)的意思,甚至會告訴它有哪些相關的單詞(上下位的實體,近義實體等),單詞和單詞之間有著什麼樣的關係等等。
  • 預訓練小模型也能拿下13項NLP任務,ALBERT三大改造登頂GLUE基準
    選自openreview.net機器之心編譯機器之心編輯部在預訓練語言模型中,小模型也有出頭的一天?大力出奇蹟這道坎也能輕鬆跨越?看看谷歌最新提出來的 GLUE 榜首模型:A LITE BERT。通常而言,在預訓練自然語言表徵時增加模型大小可以提升模型在下遊任務中的性能。
  • 訓練時間和參數量百倍降低,直接使用標籤進行預測,性能竟超GNN
    例如,該方法在 OGB-Products 的性能超過 SOTA GNN,而其參數量是後者的 1/137,訓練時間是後者的 1/100。該方法的性能表明,直接將標籤信息納入學習算法可以輕鬆實現顯著的性能提升。這一方法還可以融入到大型 GNN 模型中。
  • 帝國理工聯手谷歌提出抽象文本摘要最佳模型|ICML 2020
    另外,本文為進一步提升最先進結果,引入了一個新收集的文本語料庫,該語料庫由新聞類文章組成包括 XSum 和 CNN/DailyMail 摘要數據集,統稱為 HugeNews。此外,將本文的模型應用了低資源文本摘要任務上時,實驗結果表明本文的模型能夠非常快速適用於少量監督對的微調,並僅以 1000 個樣本即在 6 個數據集中斬獲桂冠。
  • 谷歌新模型突破BERT局限:NLP版「芝麻街」新成員Big Bird長這樣
    蕭簫 發自 凹非寺量子位 報導 | 公眾號 QbitAI最新消息,谷歌推出了NLP系列「芝麻街」的新成員Big Bird。這個在外界眼中看起來有點可愛的動漫小鳥,搖身一變,解決了BERT模型中的全注意力機制帶來的序列長度二次依賴限制,可以兼顧更長的上下文。△ 「芝麻街」中的Big Bird眾所周知,谷歌開發的BERT,曾經被稱為「地表最強」NLP模型。
  • 最新Transformer模型大盤點,NLP學習必備,Google AI研究員出品
    由於Transformer模型的發展速度日新月異,一天一個樣,哪怕是隔段時間回來研究,模型可能也已經多了不少。Transformer模型,是谷歌在2017年推出的NLP經典模型(Bert就是用的Transformer)。
  • Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預...
    哪些支持PyTorch-Transformers(此前叫做pytorch-pretrained-bert)是面向自然語言處理,當前性能最高的預訓練模型開源庫。該開源庫現在包含了 PyTorch 實現、預訓練模型權重、運行腳本和以下模型的轉換工具:1、谷歌的 BERT,論文:「BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding」,論文作者:Jacob Devlin, Ming-Wei Chang, Kenton Lee