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