NeurIPS 2024|杜克大學(xué)&谷歌提出SLED解碼框架,無需外部數(shù)據(jù)與額外訓(xùn)練,有效緩解大語言模型幻覺,提高事實準(zhǔn)確性
此項研究成果已被 NeurIPS 2024 錄用。該論文的第一作者是杜克大學(xué)電子計算機(jī)工程系的博士生張健一,其主要研究領(lǐng)域為生成式 AI 的概率建模與可信機(jī)器學(xué)習(xí),導(dǎo)師為陳怡然教授。
大語言模型(LLM)在各種任務(wù)上展示了卓越的性能。然而,受到幻覺(hallucination)的影響,LLM 生成的內(nèi)容有時會出現(xiàn)錯誤或與事實不符,這限制了其在實際應(yīng)用中的可靠性。
針對這一問題,來自杜克大學(xué)和 Google Research 的研究團(tuán)隊提出了一種新的解碼框架 —— 自驅(qū)動 Logits 進(jìn)化解碼(SLED),旨在提升大語言模型的事實準(zhǔn)確性,且無需依賴外部知識庫,也無需進(jìn)行額外的微調(diào)。
- 論文地址:https://arxiv.org/pdf/2411.02433
- 項目主頁:https://jayzhang42.github.io/sled_page/
- Github地址:https://github.com/JayZhang42/SLED
- 作者主頁:https://jayzhang42.github.io
研究背景與思路總結(jié)
近期相關(guān)研究顯示,盡管用戶在訪問大語言模型(LLM)時可能無法得到正確的答案,但 LLM 實際上可能已經(jīng)基于海量的訓(xùn)練數(shù)據(jù)和漫長的訓(xùn)練周期學(xué)到了正確的答案,并將其存儲于模型內(nèi)部某處。
研究者將這類無法直觀從模型輸出中獲得的信息稱為 “潛在知識”,并用圖一精煉出了對應(yīng)的 “三體問題”。
圖一:Factuality Decoding 的 “三體問題”
圖一中,考慮到每條問題的標(biāo)準(zhǔn)答案都已包含訓(xùn)練數(shù)據(jù)集中,因此可以說訓(xùn)練時,真實世界的事實分布是已知的。LLM 的訓(xùn)練正是為了縮小 LLM 輸出分布 和真實事實分布
之間的差距。
然而,在 LLM 的推理階段(inference time),真實的事實分布是未知的,因此這項研究的重點便是如何挖掘模型的潛在知識分布,并利用其進(jìn)一步增強(qiáng)模型的輸出。
概括來說, SLED 方法通過對比最后一層的和前面幾層的
,有效地挖掘了 LLMs 內(nèi)部的潛在知識。
同時,研究者也指出 LLM 中的潛在知識雖然有價值,但可能并不完美。因此,SLED 不是簡單地使用這些潛在知識替換原始輸出,而是通過類似于對輸出 進(jìn)行 “梯度下降” 的操作,將其整合到原始輸出
中,從而有效地平衡了兩者,避免了過擬合等潛在的風(fēng)險。
圖二:SLED 框架的主要流程
方法設(shè)計
為了提高事實準(zhǔn)確性,需要確保正確的 token, 在輸出分布
中獲得更高的概率。這一過程可以通過優(yōu)化以下?lián)p失函數(shù) L 來描述
,其中
。
研究者將這一優(yōu)化過程稱為 Logits 進(jìn)化。有趣的是,這同時也為理解 LLM 的訓(xùn)練提供了新的視角 —— 不同于之前只關(guān)注訓(xùn)練中模型參數(shù)的更新,可以看到:
- LLM 的訓(xùn)練實際上一個是由訓(xùn)練數(shù)據(jù)集作為外部驅(qū)動的 Logits 進(jìn)化過程;
- LLM 的訓(xùn)練為這個優(yōu)化過程找到的解就是最后一層的輸出
。
從上面的理解出發(fā),可以預(yù)期最后一層的輸出的對應(yīng)的
,通常要比前面幾層的輸出
對應(yīng)的
要更接近訓(xùn)練時的
。這一點也在圖三中得到了驗證。
圖三:研究者對三個不同規(guī)模的 LLaMA-2 模型計算了每一層對應(yīng)的交叉熵?fù)p失。結(jié)果證實,就 KL 散度而言,最終層的 Logits 輸出分布比所有早期層更接近真實世界的分布
因此,受到經(jīng)典梯度下降算法的啟發(fā),研究者通過如下的近似來反向估計
這里對 的估計,實際上也就是之前提到的潛在知識,因此用
來表示。在此基礎(chǔ)上,研究者通過類似梯度下降的方式,用估計出來的潛在知識
,實現(xiàn)了對
自驅(qū)動進(jìn)化,
從而得到了一個更接近事實分布的最終輸出。更細(xì)節(jié)的方法設(shè)計和討論,請參考原文。
實驗驗證
作為一種新型的層間對比解碼架構(gòu),研究者首先將 SLED 與當(dāng)前最先進(jìn)的方法 DoLa 進(jìn)行了比較。實驗覆蓋了多種 LLM families(LLaMA 2, LLaMA 3, Gemma)和不同模型規(guī)模(從 2B 到 70B),還有當(dāng)前備受關(guān)注的混合專家(MoE)架構(gòu)。
結(jié)果表明,SLED 在多種任務(wù)(包括多選、開放式生成和思維鏈推理任務(wù)的適應(yīng)性)上均展現(xiàn)出明顯的事實準(zhǔn)確性提升。
此外 SLED 與其他常見的解碼方式(如 contrastive decoding,ITI)具有良好的兼容性,能夠進(jìn)一步提升性能。
最后,研究者發(fā)現(xiàn),與以往的算法相比,SLED 在計算上幾乎沒有明顯的額外開銷。同時,在生成質(zhì)量方面,SLED 顯著抑制了以往方法中的重復(fù)性問題,進(jìn)一步優(yōu)化了輸出結(jié)果。
引申思考:與目前流行的 inference-time 算法的聯(lián)系
實際上,不難看出,SLED 為后續(xù)的推理時(inference-time )算法提供了一個新的框架。與目前大多數(shù) inference-time computing 方法主要集中于 sentence level 的輸出或 logits 進(jìn)行啟發(fā)式修改不同,SLED 與經(jīng)典優(yōu)化算法銜接,如梯度下降法的結(jié)合更為緊密自然。
因此,SLED 不僅優(yōu)化效率更高,同時有很多的潛在的研究方向可以嘗試;另一方面,與 inference time training 方法相比,SLED 不涉及模型參數(shù)層面的修改,因此優(yōu)化效率上開銷更小,同時更能保持模型原有性能。
總結(jié)
本研究通過引入自驅(qū)動 Logits 進(jìn)化解碼(SLED)方法,成功地提升 LLM 在多種任務(wù)中的事實準(zhǔn)確性。展望未來,可以探索將 SLED 與監(jiān)督式微調(diào)方法結(jié)合,以適應(yīng)其他領(lǐng)域的特定需求如醫(yī)療和教育領(lǐng)域。同時,改進(jìn)框架設(shè)計也將是持續(xù)關(guān)注的方向。