![]()
機構:北京大學人工智能研究院
作者:劉曄瑋,王希元,毛彥升,Yoav Gelberg,Haggai Maron,張牧涵
我們提出了一種全新的超網(wǎng)絡(Hypernetwork)架構:僅需一次前向傳播,即可將幾乎任意文本轉化為大語言模型的 LoRA 參數(shù)。通過這種方式,文本中的知識可以被直接內(nèi)化到大模型參數(shù)中,并支持基于該文本進行多輪對話。
我們的工作與當前大模型研究中的多個熱點方向密切相關,包括大模型快速適配(adaptation)、持續(xù)學習(continual learning)、參數(shù)化記憶(parametric memory)、面向大模型的超網(wǎng)絡(hypernetwork)設計等。
論文、代碼、存檔點、數(shù)據(jù)集全部開源!
![]()
- 論文名稱:SHINE: A Scalable In-Context Hypernetwork for Mapping Context to LoRA in a Single Pass
- arXiv:https://arxiv.org/abs/2602.06358
- GitHub:https://github.com/Yewei-Liu/SHINE
- Hugging Face:https://huggingface.co/collections/Yewei-Liu/shine
背景知識
超網(wǎng)絡(Hypernetwork)是一類特殊的神經(jīng)網(wǎng)絡,其輸出不是普通結果,而是另一個神經(jīng)網(wǎng)絡的參數(shù)。在本文中,我們訓練一個超網(wǎng)絡:以任意文本為輸入,直接生成大模型的 LoRA 參數(shù),從而實現(xiàn)只需一次前向傳播即可將文本轉化為對應的 LoRA。
過去,利用 hypernetwork 為神經(jīng)網(wǎng)絡生成參數(shù)的研究通常局限在小模型上。即使在大模型場景中,由于架構設計困難,往往也只能用極其簡單的架構,例如絕大多數(shù)工作都是復用一個小型 MLP,因此表達能力有限,只能完成較簡單的任務。
在我們的工作中,通過架構創(chuàng)新,我們首次設計了一種表達能力更強、可通過大規(guī)模訓練持續(xù)提升、具有實際應用潛力的 hypernetwork 架構,使得為大模型生成參數(shù)這一思路從實驗性的嘗試,發(fā)展為具有廣泛應用前景的工具
值得注意的是,這一方向正逐漸受到學界和工業(yè)界的關注。例如,在我們工作發(fā)布后不久,Sakana AI 發(fā)布了 doc-to-lora,同樣利用 hypernetwork 將文檔轉換為 LoRA 參數(shù),其基本思路與 SHINE 相似。盡管他們的架構和訓練規(guī)模相比 SHINE 仍有差距,但其引入的 ICL 蒸餾思路非常有啟發(fā)性。此外,騰訊近期發(fā)布的 HY-WU 也基于類似的 hypernetwork 思路,不過應用在圖像生成任務中。
可以預見,在未來,利用 hypernetwork 為大模型實時生成參數(shù)的研究將會越來越多,并逐漸走向?qū)嶋H應用。我們希望通過本文介紹 SHINE,同時讓更多研究者關注這一早期但潛力巨大的方向,共同推動其發(fā)展。
本文亮點
巨大的實用潛力
我們提出的方法具有良好的通用性與規(guī)模化(scaling)能力,有廣泛的應用場景,為大模型的知識注入與快速適配提供了新的技術路徑。該方法并非局限于在少數(shù) benchmark 上提升指標,而是一套通用的、泛化性強的可落地技術方案。
創(chuàng)新且高效的架構設計
我們提出了一種全新的超網(wǎng)絡(Hypernetwork)架構,有效解決了在大語言模型上構建超網(wǎng)絡時面臨的關鍵挑戰(zhàn),在參數(shù)規(guī)模與表達能力之間取得了良好的平衡。
成熟的訓練流程與持續(xù)進化能力
該方法采用與大模型訓練一致的「預訓練 - 指令微調(diào)」訓練范式,因此能夠直接利用現(xiàn)有的大規(guī)模訓練數(shù)據(jù)進行訓練。同時,得益于架構設計的優(yōu)勢,模型性能能夠隨著數(shù)據(jù)規(guī)模的增加持續(xù)提升,展現(xiàn)了明顯的規(guī)模化(scaling)潛力。
快速高效推理
與通過傳統(tǒng) SFT(Supervised Fine-Tuning)生成 LoRA 需要多輪訓練不同,我們的方法在推理階段僅需一次前向傳播即可完成任務,無需額外訓練。相比傳統(tǒng)的 ICL(In-Context Learning)方法,我們已將上下文知識內(nèi)化到 LoRA 參數(shù)中,因此無需再將 context 作為 prompt 輸入。這不僅顯著減少了 token 占用,也降低了推理階段的計算開銷。
超越 TTT 的持續(xù)學習新思路
在 SQuAD 數(shù)據(jù)集上的實驗表明,與近期受到關注的 Test-Time Training(TTT)方法相比,我們通過單次前向傳播生成的 LoRA,效果甚至優(yōu)于需要消耗大量時間和算力進行測試時訓練所得到的 LoRA。這為大模型持續(xù)學習提供了新思路。
方法介紹
一個例子
我們訓練了一個超網(wǎng)絡,使其能夠以任意一段文本作為輸入并生成對應的 LoRA 參數(shù)。將該 LoRA 與大語言模型(LLM)結合后,模型可以圍繞輸入文本進行多輪對話。如上圖所示,該 LoRA 內(nèi)化了文本的信息,并顯著改變了原始大模型的行為,使其能夠基于該文本展開對話。
超網(wǎng)絡架構設計
我們的目標是構建一個超網(wǎng)絡,可以直接為大語言模型(LLM)生成 LoRA。架構設計面臨許多挑戰(zhàn),如:語義到參數(shù)的對齊、高維輸出問題、效率問題等等。
現(xiàn)有方法難以同時解決這些問題。它們要么采用擴展性較差的架構,只能生成部分 LoRA 參數(shù);要么依賴非常受限的瓶頸結構(例如重復使用小型 MLP),這會嚴重限制模型的表達能力,使其只能處理較簡單的任務。下面將介紹我們創(chuàng)新的架構,同時解決了這些問題。
![]()
如圖所示,我們的超網(wǎng)絡由兩個部分組成:LLM 和 M2P Transformer。其中,LLM 與推理階段使用的 LLM 相同。通過復用該 LLM,我們可以利用其豐富的知識,無需增加額外參數(shù)就能大幅提升超網(wǎng)絡的能力。
具體而言,context 首先被輸入 LLM,并在輸入末尾添加若干 memory embeddings。隨后收集 LLM 各層在這些 memory embeddings 位置對應的 hidden states,并將它們拼接得到 memory states,再將其輸入到 M2P Transformer 中。memory states 將文本信息轉化為大小恒定的張量。為了使 LLM 更好地生成 memory states,我們在 LLM 上加入可訓練的 LoRA,稱為 Meta LoRA。
M2P Transformer 是一個輕量級 Transformer,以 memory states 為輸入,并輸出 LLM 的 LoRA 參數(shù)。在整個框架中,需要訓練的參數(shù)僅包括 Meta LoRA、memory embeddings 的初始值以及 M2P Transformer。
![]()
上圖進一步展示了超網(wǎng)絡的四個階段。其中,階段一在 LLM 中完成,而階段二、三、四在 M2P Transformer 中完成。
- 階段一:收集 memory states,即提取 LLM 各層在 memory embeddings 位置上的 hidden states。
- 階段二:為 memory states 添加 positional embedding,其中同時包含 token 的位置信息和層數(shù)信息。
![]()
- 階段四:將階段三得到的輸出按段劃分并調(diào)整形狀,從而生成對應的 LoRA 參數(shù)。
我們的設計同時解決了上述架構設計的難點。復用 LLM 解決了語義到參數(shù)的對齊;架構的設計不僅有高維輸出能力,還完全沒有 bottleneck 且有極強的表達能力,信息可以在不同 token 位置以及深層和淺層間自由流動;網(wǎng)絡的運算效率也很高。
訓練流程與數(shù)據(jù)
類似大模型的訓練,我們的訓練流程分為「預訓練 - 指令微調(diào)」兩個階段。不同于部分此前 hypernetwork 生成 LoRA 的工作需要許多訓練好的 LoRA 作為訓練數(shù)據(jù),我們的一大優(yōu)勢是可以直接利用大模型的訓練數(shù)據(jù)進行訓練。
![]()
![]()
預訓練由兩個任務組成:重建和補全。如「圖 1」所示,在重建任務中,我們將一段文本轉換為 LoRA,并要求模型根據(jù)該 LoRA 還原原始文本。補全任務如「圖 2」所示,與重建任務基本相同,只是輸入文本的末尾會被隨機截斷。模型不僅需要根據(jù) LoRA 還原文本,還需要補全被截斷的部分。
我們使用了 6B token 規(guī)模的預訓練數(shù)據(jù)。據(jù)我們所知,這是目前數(shù)據(jù)規(guī)模最大的用于訓練 hypernetwork 生成 LoRA 的工作。得益于我們架構上的創(chuàng)新,模型具有很強的表達能力,并且隨著數(shù)據(jù)規(guī)模的增加,性能仍在持續(xù)提升,目前尚未觀察到明顯的性能瓶頸。
![]()
指令微調(diào)中,我們將文本轉化為 LoRA,并訓練模型利用 LoRA 基于文本回答問題。
實驗分析
預訓練結束后,我們評估了 LLM 從生成的 LoRA 中重建文本的能力。結果顯示,重建任務的 loss 和 PPL 都非常低,說明 LoRA 幾乎可以完整記住原始文本。同時,補全任務的 loss 和 PPL 也較低,表明 LoRA 不僅能夠記憶文本,還具備一定的泛化能力,可以完成部分補全任務。
我們的指令微調(diào)分為兩個階段:第一階段使用每個文本多輪 QA 數(shù)據(jù),第二階段使用每個文本單輪 QA 數(shù)據(jù)。在測試時,SHINE 將文本轉換為 LoRA,并在不輸入文本僅輸入問題的情況下進行回答。
我們將 SHINE 與以下 baseline 進行比較:
- In-Context:輸入 context、prompt 和問題。
- Naive:只輸入 prompt 和問題,不提供文本。
- SFT:針對每個 context 生成多個對話,并用這些對話臨時訓練一個同規(guī)模的 LoRA,然后輸入問題進行回答。
- Gen Adapter:此前類似工作的 baseline。已有方法大多只能處理較簡單任務,而 Generative Adapter 是我們找到的唯一能夠從通用文本生成 LoRA 的方法,故用它作為 baseline。
![]()
以上是第一階段的結果,可以看出 SHINE 逼近了 In-Context 的黃金標準,且效果遠優(yōu)于 Naive 和 SFT。從時間消耗中可以看出,相比于 SFT 訓練需要消耗大量時間,SHINE 僅需一次前向傳播,時間消耗幾乎可以忽略不計。同時在推理時,SHINE 由于已經(jīng)把文本知識內(nèi)化到了參數(shù)里,無需再輸入一遍文本,推理時間相比 In-Context 大量減少。更多細節(jié)詳見原文,我們還分析了計算開銷(FLOPs)等。大量實驗和分析證明 SHINE 在取得優(yōu)異結果的同時,極大減少了 SFT 或者 In-Context 的開銷,是非常高效的方法。
![]()
以上為第二階段的實驗結果。我們在 6 個具有代表性的單步推理和多步推理 QA 數(shù)據(jù)集上評估了 F1-score。結果表明,SHINE 在所有任務上都取得了出色表現(xiàn),其性能非常接近,甚至在部分數(shù)據(jù)集上超過了黃金標準 In-Context 方法,同時明顯優(yōu)于 Naive 以及此前的 baseline 方法。此外,隨著數(shù)據(jù)規(guī)模的增加,SHINE 的性能也持續(xù)提升,進一步驗證了該架構在規(guī)模化(scaling)方面具有很強的潛力。
![]()
我們將 SHINE 與近期受到廣泛關注的TTT(Test-Time Training)方法進行了比較,并選取了 TTT 報告中的效果最好的設置(n=200)。TTT 通常需要多篇文章作為輸入,并結合 SFT、RL,甚至在測試時動態(tài)生成數(shù)據(jù)進行訓練。相比之下,SHINE 無需任何額外訓練,只需一次前向傳播即可生成 LoRA。
在計算成本方面,SHINE 生成 LoRA 只需要一次前向傳播,所需的時間和算力相較于 TTT 幾乎可以忽略不計,但 SHINE 卻取得了更好的效果。這一結果表明,我們的方法在效率和性能上都具有顯著優(yōu)勢,也為持續(xù)學習(continual learning)的未來提供了新的思路。
![]()
我們還通過不同的 backbone LLM 和多組超參數(shù)實驗評估了 SHINE 的可擴展性(scalability)。結果表明,無論是增大基礎模型規(guī)模,還是提高 LoRA 維度、增加 M2P Transformer 的層數(shù)等,都能夠持續(xù)提升 SHINE 的性能。
這種良好的 scaling 特性為 SHINE 的大規(guī)模應用提供了廣闊空間,而這一點是許多以往架構(例如反復使用小型 MLP 的方法)所不具備的。未來若能將 SHINE 進一步擴展到更大的規(guī)模并投入實際應用,預計將為實際場景帶來顯著的效率提升和便利。
總結、思考與展望
本文提出了一種新的超網(wǎng)絡架構 SHINE。該方法只需一次前向傳播,就可以將任意文本轉換為 LoRA。生成的 LoRA 能夠存儲文本中的知識,并引導大語言模型(LLM)基于這些內(nèi)容進行多輪對話。實驗結果表明,SHINE 在幾乎不增加時間和 token 開銷的情況下即可生成高質(zhì)量 LoRA,具有很高的效率。其訓練流程類似于大模型的「預訓練 - 指令微調(diào)」范式,能夠通用地處理各種文本。隨著訓練數(shù)據(jù)規(guī)模、LLM 規(guī)模以及超網(wǎng)絡規(guī)模的增加,SHINE 的能力也會持續(xù)提升,展現(xiàn)出良好的規(guī)模化潛力和廣闊的應用前景
參數(shù)化記憶是持續(xù)學習中的重要概念,即通過將過往經(jīng)驗轉化為模型參數(shù),使模型在參數(shù)更新中不斷積累知識,實現(xiàn)持續(xù)學習。這一過程與人類學習類似:人在經(jīng)歷事件后,其認知也會隨之更新。本文提出的 SHINE 架構中,hypernetwork 旨在以較可控的參數(shù)量和計算量,實現(xiàn)對 context 向記憶轉化過程的建模,從而實現(xiàn)持續(xù)學習。實驗結果表明,在 SQuAD 任務上,SHINE 以遠少于 TTT 的時間取得了顯著更優(yōu)的效果。這種利用神經(jīng)網(wǎng)絡建模記憶產(chǎn)生過程的思想,為持續(xù)學習的發(fā)展提供了新的思路。
我們認為,以SHINE為代表的,利用 hypernetwork 為 LLM 生成參數(shù)的方法將在未來變得越來越重要。事實上,在 SHINE 發(fā)布不久后,Sakana AI 便提出了 Doc-to-LoRA,同樣通過 hypernetwork 將文檔轉換為 LoRA 參數(shù),其核心思路與 SHINE 十分相似。盡管其架構設計、訓練數(shù)據(jù)規(guī)模和整體流程相比 SHINE 仍有差距,但其引入 ICL 蒸餾的思路頗具啟發(fā)性。無獨有偶,騰訊近期發(fā)布的 HY-WU 也基于類似的 hypernetwork 思想,不過應用于圖像生成任務。
可以預見,未來會有越來越多的研究探索「通過 hypernetwork 為大模型實時生成參數(shù)」這一范式,并逐步走向?qū)嶋H應用。同時,SHINE 仍有許多值得改進的方向,例如:更好地處理長文本、引入思維鏈或推理機制、拓展到更多模態(tài)和任務場景,以及進一步優(yōu)化模型架構(當前版本雖已有顯著改進,但仍未必是最優(yōu)設計),并在 GPU 適配、訓練與推理 pipeline 等方面持續(xù)優(yōu)化。我們期待更多研究者關注這一方向,與社區(qū)共同探索其潛力,推動相關研究的發(fā)展。
作者簡介
本文第一作者劉曄瑋是北京大學 MμLab 的本科實習生,師從人工智能研究院助理教授張牧涵。MμLab 由張牧涵教授創(chuàng)立,其名稱中的 「mμ」(μ)取自統(tǒng)計學中的均值符號,寓意實驗室致力于從紛繁復雜的現(xiàn)象中發(fā)現(xiàn)普適規(guī)律。研究方向涵蓋圖神經(jīng)網(wǎng)絡、大語言模型、擴散模型等前沿領域。實驗室隸屬于北京大學人工智能研究院。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.