今天小編分享的科學經驗:Transformer後繼有模!MSRA提出全新大模型基礎架構:推理速度8倍提升,内存占用減少70%,歡迎閱讀。
微軟大模型新架構,正式向Transformer發起挑戰!
論文标題明晃晃地寫道:
Retentive Network(RetNet):大模型領網域 Transformer 的繼任者。
論文提出新的 Retention 機制來代替 Attention。來自微軟亞研院和清華的研究人員,毫不諱言 " 野心 ",大膽放話:
RetNet 實現了良好的擴展結果、并行訓練、低成本部署和高效推理。
這些特性使這一基礎架構,成為大語言模型中 Transformer 的有力繼承者。
而實驗數據也顯示,在語言建模任務上:
RetNet 可以達到與 Transformer 相當的困惑度(perplexity)
推理速度達 8.4 倍
内存占用減少 70%
具有良好的擴展性
并且當模型大小大于一定規模時,RetNet 表現會優于 Transformer。
Transformer 果真 " 後繼有模 " 了?具體詳情,一起來看。
解決 " 不可能三角 "
Transformer 在大語言模型中的重要性毋庸置疑。無論是 OpenAI 的 GPT 系列,還是谷歌的 PaLM、Meta 的 LLaMA,都是基于 Transformer 打造。
但 Transformer 也并非完美無缺:其并行處理機制是以低效推理為代價的,每個步驟的復雜度為 O ( N ) ;Transformer 是内存密集型模型,序列越長,占用的内存越多。
在此之前,大家也不是沒想過繼續改進 Transformer。但主要的幾種研究方向都有些顧此失彼:
線性 attention 可以降低推理成本,但性能較差;
循環神經網絡則無法進行并行訓練。
也就是說,這些神經網絡架構面前擺着一個 " 不可能三角 ",三個角代表的分别是:并行訓練、低成本推理和良好的擴展性能。
RetNet 的研究人員想做的,就是化不可能為可能。
具體而言,RetNet 在 Transformer 的基礎上,使用多尺度保持(retention)機制替代了标準的自注意力機制。
與标準自注意力機制相比,保持機制有幾大特點:
引入位置相關的指數衰減項取代 softmax,簡化了計算,同時使前步的信息以衰減的形式保留下來。
引入復數空間表達位置信息,取代絕對或相對位置編碼,容易轉換為遞歸形式。
另外,保持機制使用多尺度的衰減率,增加了模型的表達能力,并利用 GroupNorm 的縮放不變性來提高 retention 層的數值精度。
△RetNet 的雙重表示
每個 RetNet 塊包含兩個模塊:多尺度保持(MSR)模塊和前饋網絡(FFN)模塊。
保持機制支持以三種形式表示序列:
并行
遞歸
分塊遞歸,即并行表示和遞歸表示的混合形式,将輸入序列劃分為塊,在塊内按照并行表示進行計算,在塊間遵循遞歸表示。
其中,并行表示使 RetNet 可以像 Transformer 一樣高效地利用 GPU 進行并行訓練。
遞歸表示實現了 O ( 1 ) 的推理復雜度,降低了内存占用和延遲。
分塊遞歸則可以更高效地處理長序列。
這樣一來,RetNet 就使得 " 不可能三角 " 成為可能。以下為 RetNet 與其他基礎架構的對比結果:
在語言建模任務上的實驗結果,進一步證明了 RetNet 的有效性。
結果顯示,RetNet 可以達到與 Transformer 相似的困惑度(PPL,評價語言模型好壞的指标,越小越好)。
同時,在模型參數為 70 億、輸入序列長度為 8k 的情況下,RetNet 的推理速度能達到 Transformer 的8.4 倍,内存占用減少 70%。
在訓練過程中,RetNet 在内存節省和加速效果方面,也比标準 Transformer+FlashAttention 表現更好,分别達到25-50%和7 倍。
值得一提的是,RetNet 的推理成本與序列長度無關,推理延遲對批量大小不敏感,允許高吞吐量。
另外,當模型參數規模大于 20 億時,RetNet 的表現會優于 Transformer。
研究團隊
RetNet 的研究團隊,來自微軟亞研院和清華大學。
共同一作為孫宇濤和董力。
孫宇濤,清華大學計算機系本科,現在在微軟亞研院實習。
董力,微軟亞研院研究員。他也是此前引發大量關注的 " 能記住 10 億 token 的 Transformer" 的論文作者之一。
RetNet 論文的通訊作者是韋福如。他是微軟亞洲研究院全球研究合夥人,10 億 token Transformer 亦是來自他的研究團隊。
論文地址:
https://arxiv.org/abs/2307.08621