此項研究成果已被 NeurIPS 2024 錄用。該論文的第一作者是杜克大學電子計算機工程系的博士生張健一,其主要研究領域為生成式 AI 的概率建模與可信機器學習,導師為陳怡然教授。
大語言模型(LLM)在各種任務上展示了卓越的性能。然而,受到幻覺(hallucination)的影響,LLM 生成的內容有時會出現錯誤或與事實不符,這限制了其在實際應用中的可靠性。
針對這一問題,來自杜克大學和 Google Research 的研究團隊提出了一種新的解碼框架 —— 自驅動 Logits 進化解碼(SLED),旨在提升大語言模型的事實準確性,且無需依賴外部知識庫,也無需進行額外的微調。

論文地址:https://arxiv.org/pdf/2411.02433
項目主頁:https://jayzhang42.github.io/sled_page/
Github地址:https://github.com/JayZhang42/SLED
作者主頁:https://jayzhang42.github.io
研究背景與思路總結近期相關研究顯示,盡管用戶在訪問大語言模型(LLM)時可能無法得到正確的答案,但 LLM 實際上可能已經基于海量的訓練數據和漫長的訓練周期學到了正確的答案,并將其存儲于模型內部某處。研究者將這類無法直觀從模型輸出中獲得的信息稱為 “潛在知識”,并用圖一精煉出了對應的 “三體問題”。

圖一:Factuality Decoding 的 “三體問題”圖一中,考慮到每條問題的標準答案都已包含訓練數據集中,因此可以說訓練時,真實世界的事實分布是已知的。LLM 的訓練正是為了縮小 LLM 輸出分布

和真實事實分布

之間的差距。然而,在 LLM 的推理階段(inference time),真實的事實分布是未知的,因此這項研究的重點便是如何挖掘模型的潛在知識分布,并利用其進一步增強模型的輸出。概括來說, SLED 方法通過對比最后一層的

和前面幾層的

,有效地挖掘了 LLMs 內部的潛在知識。同時,研究者也指出 LLM 中的潛在知識雖然有價值,但可能并不完美。因此,SLED 不是簡單地使用這些潛在知識替換原始輸出,而是通過類似于對輸出

進行 “梯度下降” 的操作,將其整合到原始輸出

中,從而有效地平衡了兩者,避免了過擬合等潛在的風險。

圖二:SLED 框架的主要流程方法設計為了提高事實準確性,需要確保正確的 token

, 在輸出分布

中獲得更高的概率。這一過程可以通過優(yōu)化以下?lián)p失函數 L 來描述

,其中

。研究者將這一優(yōu)化過程稱為Logits 進化。有趣的是,這同時也為理解 LLM 的訓練提供了新的視角 —— 不同于之前只關注訓練中模型參數的更新,可以看到:LLM 的訓練實際上一個是由訓練數據集作為外部驅動的 Logits 進化過程;LLM 的訓練為這個優(yōu)化過程找到的解就是最后一層的輸出

。從上面的理解出發(fā),可以預期最后一層的輸出的

對應的

,通常要比前面幾層的輸出

對應的

要更接近訓練時的

。這一點也在圖三中得到了驗證。

圖三:研究者對三個不同規(guī)模的 LLaMA-2 模型計算了每一層對應的交叉熵損失。結果證實,就 KL 散度而言,最終層的 Logits 輸出分布比所有早期層更接近真實世界的分布因此,受到經典梯度下降算法的啟發(fā),研究者通過如下的近似來反向估計


這里對

的估計,實際上也就是之前提到的潛在知識,因此用

來表示。在此基礎上,研究者通過類似梯度下降的方式,用估計出來的潛在知識

,實現了對

自驅動進化,

從而得到了一個更接近事實分布的最終輸出

。更細節(jié)的方法設計和討論,請參考原文。實驗驗證作為一種新型的層間對比解碼架構,研究者首先將 SLED 與當前最先進的方法 DoLa 進行了比較。實驗覆蓋了多種 LLM families(LLaMA 2, LLaMA 3, Gemma)和不同模型規(guī)模(從 2B 到 70B),還有當前備受關注的混合專家(MoE)架構。結果表明,SLED 在多種任務(包括多選、開放式生成和思維鏈推理任務的適應性)上均展現出明顯的事實準確性提升。

此外 SLED 與其他常見的解碼方式(如 contrastive decoding,ITI)具有良好的兼容性,能夠進一步提升性能。

最后,研究者發(fā)現,與以往的算法相比,SLED 在計算上幾乎沒有明顯的額外開銷。同時,在生成質量方面,SLED 顯著抑制了以往方法中的重復性問題,進一步優(yōu)化了輸出結果。

引申思考:與目前流行的 inference-time 算法的聯(lián)系實際上,不難看出,SLED 為后續(xù)的推理時(inference-time )算法提供了一個新的框架。與目前大多數 inference-time computing 方法主要集中于 sentence level 的輸出或 logits 進行啟發(fā)式修改不同,SLED 與經典優(yōu)化算法銜接,如梯度下降法的結合更為緊密自然。因此,SLED 不僅優(yōu)化效率更高,同時有很多的潛在的研究方向可以嘗試;另一方面,與 inference time training 方法相比,SLED 不涉及模型參數層面的修改,因此優(yōu)化效率上開銷更小,同時更能保持模型原有性能??偨Y本研究通過引入自驅動 Logits 進化解碼(SLED)方法,成功地提升 LLM 在多種任務中的事實準確性。展望未來,可以探索將 SLED 與監(jiān)督式微調方法結合,以適應其他領域的特定需求如醫(yī)療和教育領域。同時,改進框架設計也將是持續(xù)關注的方向。