Transformer后繼有模!MSRA提出全新大模型基礎架構:推理速度8倍提升,內存占用減少70%
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯(lián)系出處。
微軟大模型新架構,正式向Transformer發(fā)起挑戰(zhàn)!
論文標題明晃晃地寫道:
Retentive Network(RetNet):大模型領域Transformer的繼任者。
圖片
論文提出新的Retention機制來代替Attention。來自微軟亞研院和清華的研究人員,毫不諱言“野心”,大膽放話:
RetNet實現了良好的擴展結果、并行訓練、低成本部署和高效推理。
這些特性使這一基礎架構,成為大語言模型中Transformer的有力繼承者。
而實驗數據也顯示,在語言建模任務上:
- RetNet可以達到與Transformer相當的困惑度(perplexity)
- 推理速度達8.4倍
- 內存占用減少70%
- 具有良好的擴展性
并且當模型大小大于一定規(guī)模時,RetNet表現會優(yōu)于Transformer。
圖片
Transformer果真“后繼有?!绷??具體詳情,一起來看。
解決“不可能三角”
Transformer在大語言模型中的重要性毋庸置疑。無論是OpenAI的GPT系列,還是谷歌的PaLM、Meta的LLaMA,都是基于Transformer打造。
但Transformer也并非完美無缺:其并行處理機制是以低效推理為代價的,每個步驟的復雜度為O(N);Transformer是內存密集型模型,序列越長,占用的內存越多。
在此之前,大家也不是沒想過繼續(xù)改進Transformer。但主要的幾種研究方向都有些顧此失彼:
線性attention可以降低推理成本,但性能較差;
循環(huán)神經網絡則無法進行并行訓練。
也就是說,這些神經網絡架構面前擺著一個“不可能三角”,三個角代表的分別是:并行訓練、低成本推理和良好的擴展性能。
圖片
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在內存節(jié)省和加速效果方面,也比標準Transformer+FlashAttention表現更好,分別達到25-50%和7倍。
值得一提的是,RetNet的推理成本與序列長度無關,推理延遲對批量大小不敏感,允許高吞吐量。
圖片
另外,當模型參數規(guī)模大于20億時,RetNet的表現會優(yōu)于Transformer。
研究團隊
RetNet的研究團隊,來自微軟亞研院和清華大學。
共同一作為孫宇濤和董力。
孫宇濤,清華大學計算機系本科,現在在微軟亞研院實習。
董力,微軟亞研院研究員。他也是此前引發(fā)大量關注的“能記住10億token的Transformer”的論文作者之一。

RetNet論文的通訊作者是韋福如。他是微軟亞洲研究院全球研究合伙人,10億token Transformer亦是來自他的研究團隊。
論文地址:https://arxiv.org/abs/2307.08621


































