Llama-2+Mistral+MPT=? 融合多個異構(gòu)大模型顯奇效
隨著 LLaMA、Mistral 等大語言模型的成功,各家大廠和初創(chuàng)公司都紛紛創(chuàng)建自己的大語言模型。但從頭訓(xùn)練新的大語言模型所需要的成本十分高昂,且新舊模型之間可能存在能力的冗余。
近日,中山大學(xué)和騰訊 AI Lab 的研究人員提出了 FuseLLM,用于「融合多個異構(gòu)大模型」。
不同于以往的模型集成和權(quán)重合并,前者需要在推理時同時部署多個大語言模型,后者需要合并模型具備相同的結(jié)果,F(xiàn)useLLM 能夠從多個異構(gòu)大語言模型中外化知識,將各自的知識和能力通過輕量的持續(xù)訓(xùn)練轉(zhuǎn)移到一個融合大語言模型中。
該論文剛剛在 arXiv 上發(fā)布就引起了網(wǎng)友的大量關(guān)注和轉(zhuǎn)發(fā)。
有人認為,「當(dāng)想要在另一種語言上訓(xùn)練模型時,使用這種方法是非常有趣的」,「我一直在思考這件事」。
目前該論文已被 ICLR 2024 接受。
- 論文標題:Knowledge Fusion of Large Language Models
- 論文地址:https://arxiv.org/abs/2401.10491
- 論文倉庫:https://github.com/fanqiwan/FuseLLM
方法介紹
FuseLLM 的關(guān)鍵在于從概率分布表征的角度來探討大語言模型的融合,對于同樣的輸入文本,作者認為由不同大語言模型生成的表征可以反映出它們在理解這些文本時的內(nèi)在知識。因此,F(xiàn)useLLM 首先利用多個源大語言模型生成表征,將它們的集體知識和各自優(yōu)勢外化,然后將生成的多個表征取長補短進行融合,最后經(jīng)過輕量級的持續(xù)訓(xùn)練遷移到目標大語言模型。下圖展示了 FuseLLM 方法的概述。
考慮到多個異構(gòu)大語言模型的 tokenizer 以及詞表存在差異,在融合多個表征時,如何對齊分詞結(jié)果是一大關(guān)鍵: FuseLLM 在 token 級別的完全匹配之上,額外設(shè)計了基于最小編輯距離的詞表級別對齊,最大程度地保留了表征中的可用信息。
為了在結(jié)合多個大語言模型的集體知識的同時保持其各自的優(yōu)勢,需要精心設(shè)計用于融合模型生成表征的策略。具體而言,F(xiàn)useLLM 通過計算生成表征和標簽文本之間交叉熵來評估不同大語言模型對這條文本的理解程度,然后引入了兩種基于交叉熵的融合函數(shù):
- MinCE: 輸入多個大模型為當(dāng)前文本生成的表征,輸出交叉熵最小的表征;
- AvgCE: 輸入多個大模型為當(dāng)前文本生成的表征,輸出基于交叉熵獲得的權(quán)重加權(quán)平均的表征;
在持續(xù)訓(xùn)練階段,F(xiàn)useLLM 使用融合后的表征作為目標計算融合損失,同時也保留了語言模型損失。最終的損失函數(shù)為融合損失和語言模型損失之和。
實驗結(jié)果
在實驗部分,作者考慮了一個通用但具有挑戰(zhàn)性的大語言模型融合場景,其中源模型在結(jié)構(gòu)或能力上具備較小的共性。具體來說,其在 7B 規(guī)模上進行了實驗,并選擇了三個具有代表性的開源模型:Llama-2、OpenLLaMA,和 MPT 作為待融合的大模型。
作者在通用推理、常識推理、代碼生成、文本生成、指令跟隨等場景評估了 FuseLLM,發(fā)現(xiàn)其相較于所有源模型和繼續(xù)訓(xùn)練基線模型取得了顯著的性能提升。
通用推理 & 常識推理
在測試通用推理能力的 Big-Bench Hard Benchmark 上,經(jīng)過持續(xù)訓(xùn)練后的 Llama-2 CLM 相較于 Llama-2 在 27 個任務(wù)上取得了平均 1.86% 的提升,而 FuseLLM 則相較于 Llama-2 取得了 5.16% 的提升,顯著優(yōu)于 Llama-2 CLM,說明 FuseLLM 能結(jié)合多個大語言模型的優(yōu)勢取得性能提升。
在測試常識推理能力的 Common Sense Benchmark 上,F(xiàn)useLLM 超過了所有的源模型和基線模型,在所有任務(wù)上都取得了最佳的性能。
代碼生成 & 文本生成
在測試代碼生成能力的 MultiPL-E Benchmark 上,F(xiàn)useLLM 在 10 個任務(wù)中,有 9 個超過了 Llama-2,取得了平均 6.36% 的性能提升。而 FuseLLM 沒有超過 MPT 和 OpenLLaMA 的原因可能是由于使用 Llama-2 作為目標大語言模型,其代碼生成能力較弱,且持續(xù)訓(xùn)練語料中的代碼數(shù)據(jù)比例較低,僅占約 7.59%。
在多個測量知識問答(TrivialQA)、閱讀理解(DROP)、內(nèi)容分析(LAMBADA)、機器翻譯(IWSLT2017)和定理應(yīng)用(SciBench)的文本生成 Benchmark 上,F(xiàn)useLLM 也在所有任務(wù)中超過了所有源模型,并在 80% 的任務(wù)中超過了 Llama-2 CLM。
指令跟隨
由于 FuseLLM 僅需提取多個源模型的表征進行融合,然后對目標模型持續(xù)訓(xùn)練,因此其也能適用于指令微調(diào)大語言模型的融合。在評估指令跟隨能力的 Vicuna Benchmark 上,F(xiàn)useLLM 同樣取得了出色表現(xiàn),超過了所有源模型和 CLM。
FuseLLM vs. 知識蒸餾 & 模型集成 & 權(quán)重合并
考慮到知識蒸餾也是一種利用表征提升大語言模型性能的方法,作者將 FuseLLM 和用 Llama-2 13B 蒸餾的 Llama-2 KD 進行了比較。結(jié)果表明,F(xiàn)useLLM 通過融合三個具有不同架構(gòu)的 7B 模型,超過了從單個 13B 模型蒸餾的效果。
為了將 FuseLLM 與現(xiàn)有融合方法進行比較(例如模型集成和權(quán)重合并),作者模擬了多個源模型來自相同結(jié)構(gòu)的底座模型,但在不同的語料庫上持續(xù)訓(xùn)練的場景,并測試了各種方法在不同測試基準上的困惑度??梢钥吹诫m然所有的融合技術(shù)都可以結(jié)合多個源模型的優(yōu)勢,但 FuseLLM 能達到最低的平均困惑度,表明 FuseLLM 具備能比模型集成和權(quán)重合并方法更有效地結(jié)合源模型集體知識的潛力。
最后,盡管社區(qū)目前已經(jīng)關(guān)注大模型的融合,但目前的做法大多基于權(quán)重合并,無法擴展到不同結(jié)構(gòu)、不同規(guī)模的模型融合場景。雖然 FuseLLM 只是一項初步的異構(gòu)模型融合研究,但考慮到目前技術(shù)社區(qū)存在大量不同的結(jié)構(gòu)和規(guī)模的語言、視覺、音頻和多模態(tài)大模型,未來這些異構(gòu)模型的融合會迸發(fā)出怎樣驚人地表現(xiàn)呢?讓我們拭目以待!