自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

微軟新出熱乎論文:Transformer擴展到10億token

人工智能 新聞
已經(jīng)擴展到了10億token,未來能否將整個互聯(lián)網(wǎng)作為一個序列處理?

當大家不斷升級迭代自家大模型的時候,LLM(大語言模型)對上下文窗口的處理能力,也成為一個重要評估指標。

比如明星大模型 GPT-4 支持 32k token,相當于 50 頁的文字;OpenAI 前成員創(chuàng)立的 Anthropic 更是將 Claude 處理 token 能力提升到 100k,約 75000 個單詞,大概相當于一鍵總結《哈利波特》第一部。

在微軟最新的一項研究中,他們這次直接將 Transformer 擴展到 10 億 token。這為建模非常長的序列開辟了新的可能性,例如將整個語料庫甚至整個互聯(lián)網(wǎng)視為一個序列。

作為比較,普通人可以在 5 小時左右的時間里閱讀 100,000 個 token,并可能需要更長的時間來消化、記憶和分析這些信息。Claude 可以在不到 1 分鐘的時間里完成這些。要是換算成微軟的這項研究,將會是一個驚人的數(shù)字。

圖片圖片

  • 論文地址:https://arxiv.org/pdf/2307.02486.pdf
  • 項目地址:https://github.com/microsoft/unilm/tree/master

具體而言,該研究提出了 LONGNET,這是一種 Transformer 變體,可以將序列長度擴展到超過 10 億個 token,而不會犧牲對較短序列的性能。文中還提出了 dilated attention,它能指數(shù)級擴展模型感知范圍。

LONGNET 具有以下優(yōu)勢:

1)它具有線性計算復雜性;

2)它可以作為較長序列的分布式訓練器;

3)dilated attention 可以無縫替代標準注意力,并可以與現(xiàn)有基于 Transformer 的優(yōu)化方法無縫集成。

實驗結果表明,LONGNET 在長序列建模和一般語言任務上都表現(xiàn)出很強的性能。

在研究動機方面,論文表示,最近幾年,擴展神經(jīng)網(wǎng)絡已經(jīng)成為一種趨勢,許多性能良好的網(wǎng)絡被研究出來。在這當中,序列長度作為神經(jīng)網(wǎng)絡的一部分,理想情況下,其長度應該是無限的。但現(xiàn)實卻往往相反,因而打破序列長度的限制將會帶來顯著的優(yōu)勢:

  • 首先,它為模型提供了大容量的記憶和感受野,使其能夠與人類和世界進行有效的交互。
  • 其次,更長的上下文包含了更復雜的因果關系和推理路徑,模型可以在訓練數(shù)據(jù)中加以利用。相反,較短的依賴關系則會引入更多虛假的相關性,不利于模型的泛化性。
  • 第三,更長的序列長度可以幫助模型探索更長的上下文,并且極長的上下文也可幫助模型緩解災難性遺忘問題。

然而,擴展序列長度面臨的主要挑戰(zhàn)是在計算復雜性和模型表達能力之間找到合適的平衡。

例如 RNN 風格的模型主要用于增加序列長度。然而,其序列特性限制了訓練過程中的并行化,而并行化在長序列建模中是至關重要的。

最近,狀態(tài)空間模型對序列建模非常有吸引力,它可以在訓練過程中作為 CNN 運行,并在測試時轉換為高效的 RNN。然而這類模型在常規(guī)長度上的表現(xiàn)不如 Transformer。

另一種擴展序列長度的方法是降低 Transformer 的復雜性,即自注意力的二次復雜性。現(xiàn)階段,一些高效的基于 Transformer 的變體被提出,包括低秩注意力、基于核的方法、下采樣方法、基于檢索的方法。然而,這些方法尚未將 Transformer 擴展到 10 億 token 的規(guī)模(參見圖 1)。

圖片圖片

下表為不同計算方法的計算復雜度比較。N 為序列長度,d 為隱藏維數(shù)。

圖片圖片

方法

該研究的解決方案 LONGNET 成功地將序列長度擴展到 10 億個 token。具體來說,該研究提出一種名為 dilated attention 的新組件,并用 dilated attention 取代了 Vanilla Transformer 的注意力機制。通用的設計原則是注意力的分配隨著 token 和 token 之間距離的增加而呈指數(shù)級下降。該研究表明這種設計方法獲得了線性計算復雜度和 token 之間的對數(shù)依賴性。這就解決了注意力資源有限和可訪問每個 token 之間的矛盾。

圖片圖片

在實現(xiàn)過程中,LONGNET 可以轉化成一個密集 Transformer,以無縫地支持針對 Transformer 的現(xiàn)有優(yōu)化方法(例如內核融合(kernel fusion)、量化和分布式訓練)。利用線性復雜度的優(yōu)勢,LONGNET 可以跨節(jié)點并行訓練,用分布式算法打破計算和內存的約束。

最終,該研究有效地將序列長度擴大到 1B 個 token,而且運行時(runtime)幾乎是恒定的,如下圖所示。相比之下,Vanilla Transformer 的運行時則會受到二次復雜度的影響。

圖片

該研究進一步引入了多頭 dilated attention 機制。如下圖 3 所示,該研究通過對查詢 - 鍵 - 值對的不同部分進行稀疏化,在不同的頭之間進行不同的計算。

圖片圖片

分布式訓練

雖然 dilated attention 的計算復雜度已經(jīng)大幅降低到圖片,但由于計算和內存的限制,在單個 GPU 設備上將序列長度擴展到百萬級別是不可行的。有一些用于大規(guī)模模型訓練的分布式訓練算法,如模型并行 [SPP+19]、序列并行 [LXLY21, KCL+22] 和 pipeline 并行 [HCB+19],然而這些方法對于 LONGNET 來說是不夠的,特別是當序列維度非常大時。

該研究利用 LONGNET 的線性計算復雜度來進行序列維度的分布式訓練。下圖 4 展示了在兩個 GPU 上的分布式算法,還可以進一步擴展到任意數(shù)量的設備。

圖片

實驗

該研究將 LONGNET 與 vanilla Transformer 和稀疏 Transformer 進行了比較。架構之間的差異是注意力層,而其他層保持不變。研究人員將這些模型的序列長度從 2K 擴展到 32K,與此同時減小 batch 大小,以保證每個 batch 的 token 數(shù)量不變。

表 2 總結了這些模型在 Stack 數(shù)據(jù)集上的結果。研究使用復雜度作為評估指標。這些模型使用不同的序列長度進行測試,范圍從 2k 到 32k 不等。當輸入長度超過模型支持的最大長度時,研究實現(xiàn)了分塊因果注意力(blockwise causal attention,BCA)[SDP+22],這是一種最先進的用于語言模型推理的外推方法。

此外,研究刪除了絕對位置編碼。首先,結果表明,在訓練過程中增加序列長度一般會得到更好的語言模型。其次,在長度遠大于模型支持的情況下,推理中的序列長度外推法并不適用。最后,LONGNET 一直優(yōu)于基線模型,證明了其在語言建模中的有效性。

圖片

序列長度的擴展曲線

圖 6 繪制了 vanilla transformer 和 LONGNET 的序列長度擴展曲線。該研究通過計算矩陣乘法的總 flops 來估計計算量。結果表明,vanilla transformer 和 LONGNET 都能從訓練中獲得更大的上下文長度。然而,LONGNET 可以更有效地擴展上下文長度,以較小的計算量實現(xiàn)較低的測試損失。這證明了較長的訓練輸入比外推法更具有優(yōu)勢。實驗表明,LONGNET 是一種更有效的擴展語言模型中上下文長度的方法。這是因為 LONGNET 可以更有效地學習較長的依賴關系。

圖片

擴展模型規(guī)模

大型語言模型的一個重要屬性是:損失隨著計算量的增加呈冪律擴展。為了驗證 LONGNET 是否仍然遵循類似的擴展規(guī)律,該研究用不同的模型規(guī)模(從 1.25 億到 27 億個參數(shù)) 訓練了一系列模型。27 億的模型是用 300B 的 token 訓練的,而其余的模型則用到了大約 400B 的 token。圖 7 (a) 繪制了 LONGNET 關于計算的擴展曲線。該研究在相同的測試集上計算了復雜度。這證明了 LONGNET 仍然可以遵循冪律。這也就意味著 dense Transformer 不是擴展語言模型的先決條件。此外,可擴展性和效率都是由 LONGNET 獲得的。

圖片

長上下文 prompt

Prompt 是引導語言模型并為其提供額外信息的重要方法。該研究通過實驗來驗證 LONGNET 是否能從較長的上下文提示窗口中獲益。

該研究保留了一段前綴(prefixes)作為 prompt,并測試其后綴(suffixes)的困惑度。并且,研究過程中,逐漸將 prompt 從 2K 擴展到 32K。為了進行公平的比較,保持后綴的長度不變,而將前綴的長度增加到模型的最大長度。圖 7 (b) 報告了測試集上的結果。它表明,隨著上下文窗口的增加,LONGNET 的測試損失逐漸減少。這證明了 LONGNET 在充分利用長語境來改進語言模型方面的優(yōu)越性。

責任編輯:張燕妮 來源: 機器之心
相關推薦

2021-01-01 09:46:43

微軟Windows 10Windows

2023-07-09 15:21:05

AI模型LongNet

2023-05-24 09:36:43

模型架構

2022-03-23 16:28:18

微軟NVIDIAGPU

2023-03-08 14:14:51

微軟ChatGPT

2015-08-13 13:44:21

優(yōu)化多核

2024-06-13 11:44:43

2024-07-30 11:20:00

圖像視覺

2024-05-24 15:53:20

視覺圖像

2023-11-16 16:33:43

谷歌人工智能

2020-06-05 14:30:03

CephCPU 線程

2022-03-03 10:06:41

Transforme模型機器學習

2020-06-16 11:12:26

醫(yī)療物聯(lián)網(wǎng)IOT

2013-02-21 09:41:49

CitusData數(shù)據(jù)庫Postgres

2021-10-25 15:50:42

區(qū)塊鏈金融科技

2013-01-23 09:18:51

微軟戴爾

2022-12-31 13:55:28

模型訓練

2017-05-26 23:09:47

2020-11-17 19:16:23

Windows 10微軟Edge

2012-10-31 09:32:41

思科思杰ADC
點贊
收藏

51CTO技術棧公眾號