RNN迴歸!Bengio新作大道至簡與Transformer一較高下

新智元報道

編輯:alan

【新智元導讀】近日,深度學習三巨頭之一的Yoshua Bengio,帶領團隊推出了全新的RNN架構,以大道至簡的思想與Transformer一較高下。

在Transformer統治的AI時代之下,

散落在世界各地的「RNN神教」信徒,一直相信並期待着RNN迴歸的那天:

畢竟,憑藉強大的順序和上下文感知能力,RNN曾在各種任務中表現驚豔。

直到後來遭遇了反向訓練的瓶頸,因Scaling Law而跌落神壇。

然而,人們並沒有忘記RNN。

RWKV、Mamba、xLSTM等RNN衍生模型接連出現,欲挑戰Transformer之霸主地位。

就在近日,又有重量級人物下場——

深度學習三巨頭之一的Yoshua Bengio,帶領團隊推出了全新的RNN架構,以大道至簡的思想與Transformer一較高下。

論文地址:https://arxiv.org/pdf/2410.01201v1

研究人員對傳統的兩種RNN架構LSTM和GRU,進行了大刀闊斧的改造,從中誕生了兩個新模型:minLSTM和minGRU。

這倆極簡主義的版本到底怎麼樣?咱們先看療效。

首先是RNN最大的問題:訓練速度。

上圖展示了幾種模型在T4 GPU上訓練花費的時間,以及新模型帶來的加速比。橫軸爲輸入數據的序列長度,批量大小爲64。

可以看到,相比於原版的LSTM和GRU,minLSTM、minGRU和Mamba的運行時間不會隨序列長度而增加(後3個模型的線在左圖中重疊了)。

當序列長度爲4096時,新架構相對於傳統版本達到了1300多倍的加速比!

相當於原版GRU需要3年才能做完的事情,minGRU一天就搞定了。

那麼對線Transformer的戰績如何?

在本文測試的語言建模任務中,minGRU和minLSTM分別在600步左右達到最佳性能點。

相比之下,Transformer需要比minGRU多花大概2000步,訓練速度慢了約2.5倍。

對此,YC上的網友表示:「我非常喜歡這個新架構的簡單性」。

畢竟,俗話說的好,「最好的PR是那些刪除代碼的PR」。

模型架構

下面來感受一下極簡模型的誕生過程。

首先,這是傳統的RNN架構:

LSTM在RNN的每個cell中加入了比較複雜的門控:

三個門控(input gate、output gate、forget gate)和輸入的分量,都通過線性投影和非線性激活函數來得出,並且依賴於上一個時刻的隱藏狀態ht-1。

這些值再經過線性和非線性計算,得到本時刻的輸出ct和隱藏狀態ht。

GRU在LSTM的基礎上做了一些簡化:

少了顯式計算ct,用於門控的項也縮減到2個,相應的參數量和計算量也減少了。

那麼我們就從相對簡單的GRU入手,開始改造。

改造的目的是使RNN能夠應用並行掃描(Parallel Scan)算法,解決自身訓練困難的問題。

簡單來說,就是將網絡中的計算改造成vt = at ⊙ vt−1 + bt的形式。

minGRU

第一步,公式中含有對之前隱藏狀態ht-1的依賴,沒辦法用並行掃描,所以把ht-1直接刪掉。

ht-1沒了,負責調控ht-1的rt也沒用了,刪掉。

第二步,雙曲正切函數(tanh)負責限制隱藏狀態的範圍,並減輕因sigmoid(σ)而導致的梯度消失。

但是現在ht-1和rt都沒了,tanh也失去了存在的意義,刪掉。

那麼最終,minGRU就是下面這三個公式:

相比於原版,參數量和計算量再次減少,最重要的是能夠使用並行掃描來顯著加快訓練速度。

minLSTM

經過上面的敘述,minLSTM的由來就很好理解了。

首先還是去除隱藏狀態的依賴:

接着是拿掉相關的tanh:

最後,爲了保證LSTM輸出的尺度與時間無關,以及hidden state在縮放上與時間無關,還需要刪掉output gate。

output gate沒了,ct也就沒必要單獨存在了,刪掉;剩下的兩個門控通過歸一化來調配hidden state進入的比例。

——emmm......好像變成GRU了,算了不管了。

最終改造好的minLSTM是下面這個樣子:

Were RNNs All We Needed?

全新的RNN搞出來了,能打Transformer嗎?

別急,先打內戰證明價值。

除了傳統的RNN(LSTM和GRU),這裡特別關注與Mamba的比較。

首先是訓練上的提升:

實驗在批次大小64的情況下改變序列長度,測量了模型執行前向傳遞、計算損失和向後傳遞計算梯度的總運行時間以及內存佔用。

在運行時間方面,minLSTM、minGRU與Mamba實現了類似的效率。

序列長度爲512時的運行時間(超過100次的平均值),分別爲 2.97、2.72和2.71毫秒;序列長度爲4096時,運行時間分別爲3.41、3.25和3.15。

相比之下,LSTM和GRU的運行時間隨序列長度線性增加。所以序列長度爲512時,minGRU和minLSTM的訓練加速了175倍和235倍;序列長度爲4096時,加速比達到了1324和1361。

內存方面,利用並行掃描算法時會創建更大的計算圖,所以minGRU、minLSTM和Mamba ,比傳統RNN需要更多的內存(大概多出88%)。

——但這並不重要,因爲對於RNN來說,訓練時間纔是瓶頸。

去除隱藏狀態的效果

minLSTM和minGRU的訓練效率是通過降低它們的門控對先前隱藏狀態的依賴來實現的。

儘管單層minLSTM或minGRU的門控只與輸入有關,而與時間無關,但是在深度學習中,模型是通過堆疊模塊來構建的。

從第二層開始,minLSTM和minGRU的門也將與時間相關,從而對更復雜的函數進行建模。

下表比較了不同層數的模型在選擇性複製任務上的性能。我們可以看到時間依賴性的影響:將層數增加會大大提高模型的性能。

訓練穩定性

層數的另一個影響是穩定性,隨着層數的增加,精度的方差減小。

此外,儘管minLSTM和minGRU都解決了選擇性複製任務,但我們可以看到minGRU在經驗上是一種比minLSTM更穩定的方法(更高的一致性和更低的方差)。

minLSTM丟棄舊信息並添加新信息,使用兩組參數(forget gate 和input gate)控制比率。在訓練期間,兩組參數會向不同的方向進行調整,使得比率更難控制和優化。相比之下,minGRU的丟棄和添加信息由一組參數控制,更容易優化。

選擇性複製

選擇性複製任務的輸入元素相對於其輸出是隨機間隔的,爲了解決這項任務,模型需要執行內容感知推理,記住相關token並過濾掉不相關的token。

上表將minLSTM和minGRU與可以並行訓練的知名RNN模型進行了比較(S4,H3,Hyena和Mamba(S6)),基線結果引自Mamba論文。

在所有這些基線中,只有Mamba的S6,以及本文的minGRU和minLSTM能夠解決此任務,體現了LSTM和GRU的內容感知門控機制。

強化學習

下面開始對戰Transformer。

考慮D4RL基準中的MuJoCo運動任務,包括三個環境:HalfCheetah、Hopper和Walker。

對於每個環境,模型在三個數據質量不同的數據集上進行訓練:Medium(M)、Medium-Replay(M-R)和Medium-Expert(M-E)。

上表將minLSTM和minGRU與各種決策模型進行了比較,包括原始的Decision Transformer(DT)、Decision S4 (DS4) 、Decision Mamba和Aaren。

由結果可知,minLSTM和minGRU的性能優於Decision S4,與Decision Transformer、Aaren和Mamba相媲美(Decision S4的遞歸轉換不是輸入感知的,這會影響它的性能)。就平均分數而言,minLSTM和minGRU的表現優於除Decision Mamba之外的所有基線。

語言建模

最後考慮語言建模任務,使用nanoGPT框架在莎士比亞的作品上訓練字符級GPT。

上圖繪製了具有交叉熵損失的學習曲線,可以發現minGRU、 minLSTM、 Mamba和Transformers分別實現了1.548、1.555、1.575和1.547的可比測試損耗。

Mamba的表現略差於其他模型,但訓練速度更快(400步),minGRU和minLSTM分別花費575步和625步。而Transformer直接比minGRU多了2000 步,慢了大概2.5倍。

參考資料:

https://arxiv.org/pdf/2410.01201v1