近日,香港中文大学终身教授賈佳亞携其團隊聯合MIT發布的新技術和新模型悄然登上各大開源網站的熱榜。這項名為LongLoRA的技術實用但卻簡單得令人驚訝:只需兩行代碼、一台8卡A100機器,便可將7B模型的文本長度拓展到100k tokens,70B模型的文本長度拓展到32k tokens;同時,該研究團隊還發布了擁有70B參數量的長文本對話大語言模型LongAlpaca。
據介紹,這是全球首個70B長文本大語言模型發布。而LongLoRA的提出,更是讓全球大語言模型的對話缺陷第一次得到解決,自此,幾十頁的論文、幾百頁的報告、鴻篇巨製不再成為大模型盲區。這是賈佳亞團隊繼8月9日發布的「可以分割一切」的多模態大模型 LISA 後的又一力作。
除了技術革新外,大語言模型處理長文本問題的一大難點還在於缺少公開的長文本對話數據。為此,研究團隊特意收集了9k條長文本問答語料對,包含針對名著、論文、深度報道甚至財務報表的各類問答。
光會回答長問題還不夠,該團隊又挑選了3k的短問答語料與9K的長問答語料混合訓練,讓長文本大模型同時具備短文本對話能力。這個完整的數據集被稱為LongAlpaca-12k,目前已經開源。
在LongAlpaca-12k數據集基礎上,研究團隊對不同參數大小7B、13B、70B進行了訓練和評測,開源模型包括LongAlpaca-7B, LongAlpaca-13B和LongAlpaca-70B。
舉個例子:名著《西遊記》中,為什麼孫悟空在大鬧天宮時很厲害,但取經路上卻屢屢受挫?LongAlpaca 給出了5點原因,大概可總結為「孫悟空的不成熟、強大的對手、力量的限制、敵人的欺騙、最初缺少同伴等因素導致了他在旅途中的失敗。但隨着時間推移,他獲得了智慧、經驗和戰友,使他最終戰勝了最強大的敵人。」
而 Llama2 的回答較為簡單。「雖然他確實大鬧天宮,但說他代表着不敗的力量並不一定準確。事實上,他最終在西遊記中被強大的唐三藏打敗。」Llama2沒有給出正確答案,並且還提出需要更多的內容信息。
再舉個例子,讓系統新讀一次《三體》,然後問第一部中,葉文潔為什麼要聯繫外星人,而後期又為什麼後悔?LongAlpaca認為,葉文潔最初接觸外星人是出於理想主義和復仇,但隨着時間的推移,她對人類的看法發生了變化,意識到自己可能給全人類帶來的危險,她的悔恨與日俱增。回答得十分清晰。
而Llama2的回答則是,「通過與外星人的互動,她希望能更深入地了解宇宙的本質,以及自己在宇宙中的位置。葉文潔逐漸意識到,外星人和他們的技術並不能解決她的問題。」回答籠統,之後開始對小說整體進行評論,答非所問。
從模型給出的答案可發現,一些模型如Llama2 [2] 可能在預訓練過程中見過相關小說,但如果在提問時進行僅根據小說題目進行短文本提問的話,回答並不理想。
研究顯示,兩個模型的回答對比,高下立見。LongAlpaca改學術論文、點評全球經濟大勢和讀小說,都是一把好手,完勝 Llama2。
Llama2可以說是 AI 社區內最強大的開源大模型之一,行業位置領先,LongAlpaca居然可以完勝。其背後的LongLoRA技術成功引起網友們的注意,到底是怎麼做到的?
原來大語言模型對長文本處理過程中,計算量的主要開銷集中在自注意力機制(self-attention),其開銷隨着文本長度成平方次地增加。
針對這個問題,研究團隊提出LongLoRA技術,並用分組和偏移的方式來對全局自注意力機制進行模擬。
簡單來說,就是將長文本對應的tokens拆分成不同的組,在每組內部做自注意力計算,而分組的方式在不同注意力頭 (attention head) 上有所偏移。這樣的方式既可以大幅度節約計算量,又可以維持全局感受野的傳遞。
而這個實現方法也非常簡潔,僅兩行代碼即可完成!
LongLoRA還探索了低秩訓練的方式。原有的低秩訓練方式,如LoRA [5],無法在文本長度遷移上取得良好的效果。而LongLoRA在低秩訓練的基礎上,引入嵌入層 (Embedding layer和 Normalization layers) 進行微調,從而達到可以和全參數微調 (Full fine-tune) 逼近的效果。
在訓練時間上,對於64k長度的模型訓練,相比於常規LoRA,LongLoRA將訓練時間從90~100小時左右降低到52.4小時,而全參數微調超過1000小時。極簡的訓練方法、極少的計算資源和時間消耗,以及極佳的準確性,令LongLoRA大規模推廣成為可能。目前,相關技術與模型已全部開源,感興趣的用戶們可以自己部署感受。(記者 黃鳳鳴)