NeurIPS 2024|杜克大學&Google提出SLED解碼框架,無需外部數據與額外訓練,有效緩解大語言模型幻覺,提高事實準確性
AIxiv專欄是機器之心發佈學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯繫報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
此項研究成果已被 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, 在輸出分佈
其中
中獲得更高的概率。這一過程可以通過優化以下損失函數 L 來描述
研究者將這一優化過程稱為 Logits 進化。有趣的是,這同時也為理解 LLM 的訓練提供了新的視角 —— 不同於之前只關注訓練中模型參數的更新,可以看到:
-
LLM 的訓練實際上一個是由訓練數據集作為外部驅動的 Logits 進化過程;
-
LLM 的訓練為這個優化過程找到的解就是最後一層的輸出
從上面的理解出發,可以預期最後一層的輸出的
對應的
。這一點也在圖三中得到了驗證。
要更接近訓練時的
,通常要比前面幾層的輸出 對應的
圖三:研究者對三個不同規模的 LLaMA-2 模型計算了每一層對應的交叉熵損失。結果證實,就 KL 散度而言,最終層的 Logits 輸出分佈比所有早期層更接近真實世界的分佈
的估計,實際上也就是之前提到的潛在知識,因此用
來表示。在此基礎上,研究者通過類似梯度下降的方式,用估計出來的潛在知識
實現了對
自驅動進化,
從而得到了一個更接近事實分佈的最終輸出
。更細節的方法設計和討論,請參考原文。
實驗驗證
作為一種新型的層間對比解碼架構,研究者首先將 SLED 與當前最先進的方法 DoLa 進行了比較。實驗覆蓋了多種 LLM families(LLaMA 2, LLaMA 3, Gemma)和不同模型規模(從 2B 到 70B),還有當前備受關注的混合專家(MoE)架構。
結果表明,SLED 在多種任務(包括多選、開放式生成和思維鏈推理任務的適應性)上均展現出明顯的事實準確性提升。
此外 SLED 與其他常見的解碼方式(如 contrastive decoding,ITI)具有良好的兼容性,能夠進一步提升性能。
最後,研究者發現,與以往的算法相比,SLED 在計算上幾乎沒有明顯的額外開銷。同時,在生成質量方面,SLED 顯著抑制了以往方法中的重覆性問題,進一步優化了輸出結果。
實際上,不難看出,SLED 為後續的推理時(inference-time )算法提供了一個新的框架。與目前大多數 inference-time computing 方法主要集中於 sentence level 的輸出或 logits 進行啟髮式修改不同,SLED 與經典優化算法銜接,如梯度下降法的結合更為緊密自然。
因此,SLED 不僅優化效率更高,同時有很多的潛在的研究方向可以嘗試;另一方面,與 inference time training 方法相比,SLED 不涉及模型參數層面的修改,因此優化效率上開銷更小,同時更能保持模型原有性能。
總結
本研究通過引入自驅動 Logits 進化解碼(SLED)方法,成功地提升 LLM 在多種任務中的事實準確性。展望未來,可以探索將 SLED 與監督式微調方法結合,以適應其他領域的特定需求如醫療和教育領域。同時,改進框架設計也將是持續關注的方向。