帶刺的GPT?

近期ChatGPT非常熱門,身邊的人或自己本身多少都有接觸過這個強大的軟體服務,但是你知道要打造跟運行它需要花費多少能源嗎? 具第三方機構估算,光是訓練就需要消耗 1,287 兆瓦時的電力,伴隨著 550 多噸二氧化碳的排放,相當於一個人往返紐約和舊金山 550 次。這數字看起來沒有很糟,但考慮到人工智慧不僅要訓練,將來還要執行數百萬用戶要求的工作,能源消耗將是我們看不見卻要承受的隱形成本。

然而,美國加州大學及快手的研究人員成功用Spiking Neural Network (SNN)替換掉了原來進行NLP會需要用到的的ANN,打造出具相似功能卻有極低功耗的SpikeGPT,最多比其他的神經網絡模型還低22倍。

附圖是SpikeGPT的模型結構圖,在最一開始就將輸入轉化成binary的形式以便將一連串的輸入值變成spike。接著是token-shift增強一個句子中,靠近彼此的字的關聯性,類似注意力機制的功能。進入到Spiking Receptance Weighted Key Value (RWKV)的階段後,RWKV取代了原本的自注意力機制,讓模型學習句子中出現的字彼此之間的關聯性,隨著句字一個字一個字的輸入,模型也慢慢建立起字跟字之間的連結,並且句子越長連結也更穩固,最後輸入一段一段的spike給Spiking RFFN,這裡用RWKV搭配SNN可以將時間複雜度從平方降到線性,加快模型訓練速度。Spiking Receptance Feed-Forward Networks (RFFN)用feed-forward network搭配gating mechanism來標準化及token-shift接到的輸入,控制輸入進模型的資料程度。將binary後的步驟重複N次便成為了SpikeGPT。
附圖

這是世上第一個直接使用SNN訓練便生成語言的模型,並且在保持與其他NLP使用的ANN接近的水準下,極大地降低了功耗,同時也利用SNN的特性來降低運算時的複雜度。以下是一些SpikeGPT產生的範例:
Example 1

Example 2

Context為研究者輸入的資料或指令,Generated Answer則是SpikeGPT產出的回答或句子。可以看出產生的句子回答了輸入的問題(Example 1),或者也可以寫出小說一般的文章(Example 2)。


撰文者: 高振翔


Reference
1. SpikeGPT: Generative Pre-trained Language Model with Spiking Neural Networks. Rui-Jie Zhu and Qihang Zhao and Jason K. Eshraghian. 2023.

留言