Transformer取代者登場!微軟、清華剛推出RetNet:成本低、速度快、性能強(1)
LLM 的成功,某種程度上要歸功于 Transformer 架構在自然語言處理任務上的突破。該架構最初是為了克服循環模型的 sequential training 問題而提出的。這些年來,Transformer 已經成為 LLM 普遍采用的架構。
然而,Transformer 的訓練并行性是以低效推理為代價的:每一步的復雜度為 O (N) 且鍵值緩存受內存限制,讓 Transformer 不適合部署。不斷增長的序列長度會增加 GPU 內存消耗和延遲,并降低推理速度。
研究者們一直在努力開發下一代架構,希望保留訓練并行性和 Transformer 的性能,同時實現高效的 O (1) 推理。針對這個問題,此前的方法都沒能同時實現這幾點,至少與 Transformer 相比沒有顯示出絕對的優勢。
現在,微軟研究院和清華大學的研究者已經在這個問題上取得了重大突破。
論文鏈接:https://arxiv.org/pdf/2307.08621.pdf
在這項工作中,研究者提出了 retentive 網絡(RetNet),同時實現了低成本推理、高效長序列建模、媲美 Transformer 的性能和并行模型訓練,打破了「不可能三角」。
具體來說,RetNet 引入了一種多尺度 retention 機制來替代多頭注意力,它有三種計算范式:并行、循環和分塊循環表征。
首先,并行表征使訓練并行化,以充分利用 GPU 設備。其次,循環表征法在內存和計算方面實現了高效的 O (1) 推理。部署成本和延遲可以顯著降低,同時無需鍵值緩存技巧,大大簡化了實現過程。此外,分塊循環表征法能夠執行高效的長序列建模。研究者對每個局部塊進行并行編碼以提高計算速度,同時對全局塊進行循環編碼以節省 GPU 內存。
論文進行了大量實驗來對比 RetNet 和 Transformer 及其變體。實驗結果表明,RetNet 在 scaling 曲線和上下文學習方面始終具有競爭力。此外,RetNet 的推理成本與長度無關。對于 7B 模型和 8k 序列長度,RetNet 的解碼速度是帶鍵值緩存的 Transformers 的 8.4 倍,內存節省 70%。
在訓練過程中,RetNet 也能夠比標準 Transformer 節省 25-50% 的內存,實現 7 倍的加速,并在高度優化的 FlashAttention 方面具有優勢。此外,RetNet 的推理延遲對批大小不敏感,從而實現了巨大的吞吐量。
這些令人驚艷的特質讓不少研究者驚呼「好得不可思議」,甚至有人將其比作當初「M1 芯片」登場所帶來的變革意義。看來,RetNet 有望成為 Transformer 的有力繼承者。
不過,也有研究者提出疑問:這么優秀的表現是否意味著 RetNet 要在某些方面有所權衡?它能擴展到視覺領域嗎?
接下來,讓我們深入了解 RetNet 方法的細節。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。