RNN模型挑戰Transformer霸權!1%成本性能比肩Mistral-7B,支持100+種語言全球最多
在大模型內卷的同時,Transformer的地位也接連受到挑戰。
近日,RWKV發布了Eagle 7B模型,基于最新的RWKV-v5架構。
Eagle 7B在多語言基準測試中,擊敗了所有的同級別模型,在單獨的英語測試中,也和表現最好的模型基本打平。
同時,Eagle 7B用的是RNN架構,相比于同尺寸的Transformer模型,推理成本降低了10-100倍以上,可以說是世界上最環保的7B模型。
由于RWKV-v5的論文可能要下個月才能發布,這里先奉上RWKV的論文,——也是第一個擴展到數百億參數的非Transformer架構。
圖片
論文地址:https://arxiv.org/pdf/2305.13048.pdf
這篇工作已被EMNLP 2023錄用,我們可以看到論文的作者來自不同國家的頂尖高校、研究機構以及科技公司。
下面是Eagle 7B的官圖,表示這只老鷹正在飛躍變形金剛。
圖片
Eagle 7B
Eagle 7B使用來自100多種語言的,1.1T(萬億)個Token的訓練數據,在下圖的多語言基準測試中,Eagle 7B平均成績位列第一。
基準測試包括xLAMBDA、xStoryCloze、xWinograd和xCopa,涵蓋了23種語言,以及各自語言的常識推理。
Eagle 7B拿到了其中三項的第一,盡管有一項沒打過Mistral-7B,屈居第二,但對手使用的訓練數據要遠高于Eagle。
圖片
下圖的英語測試包含了12個獨立的基準、常識推理和世界知識。
在英語性能測試中,Eagle 7B的水平接近Falcon(1.5T)、LLaMA2(2T)、Mistral(>2T),與同樣使用了1T左右訓練數據的MPT-7B不相上下。
圖片
并且,在兩種測試中,新的v5架構相比于之前的v4,有了巨大的整體飛躍。
Eagle 7B目前由Linux基金會托管,以Apache 2.0許可證授權,可以不受限制地用于個人或商業用途。
多語言支持
前面說了,Eagle 7B的訓練數據來自100多種語言,而上面采用的4項多語言基準測試只包括了23種語言。
圖片
雖然取得了第一名的成績,但總的來說,Eagle 7B是吃虧的,畢竟,基準測試無法直接評估模型在其他70多種語言中的性能。
額外的訓練代價并不能幫助自己刷榜,如果集中在英語,可能會獲得比現在更好的成績。
——那么,RWKV為什么要這么做呢?官方對此表示:
Building inclusive AI for everyone in this world —— not just the English
在對于RWKV模型的眾多反饋中,最常見的是:
多語言方法損害了模型的英語評估分數,并減緩了線性Transformer的發展;
讓多語言模型與純英語模型,比較多語言性能是不公平的
官方表示,「在大多數情況下,我們同意這些意見,」
「但我們沒有計劃改變這一點,因為我們正在為世界構建人工智能——這不僅僅是一個英語世界。」
圖片
2023年,世界上只有17%的人口會說英語(大約13億人),但是,通過支持世界上排名前25位的語言,模型可以覆蓋大約40億人,即世界人口總數的50%。
團隊希望未來的人工智能可以為每個人都提供幫助,比如讓模型可以在低端硬件上以低廉的價格運行,比如支持更多的語言。
團隊將在之后逐漸擴大多語言數據集,以支持更廣泛的語言,并慢慢將覆蓋范圍擴大到世界上100%的地區,——確保沒有語言被遺漏。
數據集+可擴展架構
在模型的訓練過程中,有一個值得注意的現象:
隨著訓練數據規模不斷增加,模型的性能逐漸進步,當訓練數據達到300B左右時,模型顯示出與pythia-6.9b 相似的性能,而后者的訓練數據量為300B。
圖片
這個現象與之前在RWKV-v4架構上進行的一項實驗相同,——也就是說,在訓練數據規模相同的情況下,像RWKV這種線性Transformer的性能會和Transformer差不多。
那么我們不禁要問,如果確實如此,那么是不是相比于確切的架構,數據反而對模型的性能提升更加重要?
圖片
我們知道,Transformer類的模型,計算和存儲代價是平方級別的,而在上圖中RWKV架構的計算成本只是隨著Token數線性增長。
也許我們應該尋求更高效、更可擴展的架構,以提高可訪問性,降低每個人的人工智能成本,并減少對環境的影響。
RWKV
RWKV架構是一種具有GPT級別LLM性能的RNN,同時又可以像Transformer一樣并行化訓練。
RWKV結合了RNN和Transformer的優點——出色的性能、快速推理、快速訓練、節省VRAM、「無限」的上下文長度和免費的句子嵌入,RWKV并不使用注意力機制。
下圖展示了RWKV與Transformer派模型在計算成本上的對比:
圖片
為了解決Transformer的時間和空間復雜度問題,研究人員提出了多種架構:
圖片
RWKV架構由一系列堆疊的殘差塊組成,每個殘差塊由一個具有循環結構的時間混合和一個通道混合子塊組成
下圖中左邊為RWKV塊元素,右邊為RWKV殘差塊,以及用于語言建模的最終頭部。
圖片
遞歸可以表述為當前輸入和前一個時間步的輸入之間的線性插值(如下圖中的對角線所示),可以針對輸入嵌入的每個線性投影獨立調整。
這里還引入了一個單獨處理當前Token的向量,以補償潛在的退化。
圖片
RWKV可以在我們所說的時間并行模式下有效地并行化(矩陣乘法)。
在循環網絡中,通常使用前一時刻的輸出作為當前時刻的輸入。這在語言模型的自回歸解碼推理中尤為明顯,它要求在輸入下一步之前計算每個令牌,從而使RWKV能夠利用其類似RNN的結構,稱為時間順序模式。
在這種情況下,RWKV可以方便地遞歸表述,以便在推理過程中進行解碼,它利用了每個輸出令牌僅依賴于最新狀態的優勢,狀態的大小是恒定的,而與序列長度無關。
然后充當RNN解碼器,相對于序列長度產生恒定的速度和內存占用,從而能夠更有效地處理較長的序列。
相比之下,自注意力的KV緩存相對于序列長度不斷增長,從而導致效率下降,并隨著序列的延長而增加內存占用和時間。
參考資料: