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