ChatGPT說謊竟然是故意的?哈佛大學提出ITI:模型真實性翻倍,計算開銷基本為零
大型語言模型,比如ChatGPT經常會在答案中輸出錯誤信息,可能會對用戶造成誤導,這種現象也被稱為模型幻覺(hallucination)。
從直覺上看,語言模型上在訓練中肯定是見過正確答案的,只不過在推理過程中丟失了事實信息。
最近,哈佛大學的研究人員提出了推理-時間干預(Inference-Time Intervention,ITI)技術,在推理階段對模型激活進行變換(shift),將模型輸出引導到事實的方向上,干預結果顯著提高了LLaMA模型在TruthfulQA基準測試中的性能,將Alpaca模型的真實性從32.5%提高到65.1%
論文鏈接:https://arxiv.org/pdf/2306.03341.pdf
代碼鏈接:https://github.com/likenneth/honest_llama
研究人員用此技術開發并開源了一個「誠實的LLaMA」模型。
ITI還可以通過控制超參數來調整干預強度,平衡模型的真實性和有用性;ITI沒有修改原始模型,也基本沒有計算開銷;并且ITI也不需要大量的標注數據,只需要幾百個樣本即可確定事實的真實性方向。
研究結果表明,語言模型內部表征中確實存在事實信息,不過有時在生成時選擇了錯誤事實。
ITI讓答案更真實
已經有相關工作在「理解LLMs的內部運作機制」方面取得了進展,其中一個重要的主題是,語言模型的激活空間似乎包含可解釋的方向,在推理過程中會發揮因果作用。
研究人員基于這個想法提出了一種增強語言模型事實性的方法,即推理-時間干預,其基本思想是確定激活空間中與事實正確的語句相關的方向,然后在推理過程中向該方向變換激活。
這篇論文主要探索了如何控制模型行為,并在實驗中使用開源的LLaMA、Alpaca和Vicuna模型,不過該思想適用于所有GPT風格的系統,但必須可以獲得模型的內部激活和計算。
ITI方法還需要一組有標注的問答對,用以確定與模型講真話有關的注意頭和方向。
基本設置
在數據集選擇上,研究人員選擇了TruthfulQA,可以衡量語言模型在生成答案時是否真實。
數據集中總共包含817個問題,橫跨38個類別(例如,邏輯錯誤、陰謀和常見的混淆點),每個問題平均有3.2個真實的答案,4.1個虛假的答案,以及一個由可信的在線來源支持的金標準答案;然后將TruthfulQA的答案重新編排,總共得到5918個問答對,每個數據樣本都有一個二元真實性標簽。
需要強調的是,該數據集并沒有涵蓋「真實」(truth)一詞的全部含義,想全部覆蓋也不大可能,研究人員主要關注如何避免「常見的人類誤解」,未來的研究方向會考慮擴展真實性的概念及評估。
在模型架構上,大型語言模型主要是Transformer層,每層內的主要機制為多頭注意力(MHA)和多層感知器(MLP)。
在推理過程中,每個token首先被嵌入到一個高維空間中,該向量作為殘差流的起點,最終每個token解碼為對下一個token分布的預測;在每一層中,MHA由多個獨立的線性運算組成,MLP則容納了模型中所有非線性運算。
探測真實性
想要提升神經網絡的真實性,首先需要判斷模型的激活空間內是否存在能真實性或事實性。
識別網絡內部表征的一個常用工具是探測(probe),即在網絡激活上訓練一個分類器作為探測器以區分特定類型的輸入或輸出。
在事實性檢測上,探測器主要檢查可以區分真、假答案的注意力頭輸出值。
于TruthfulQA中的每個樣本,研究人員將問題/答案串聯在一起,并在最后一個token處取出頭部激活作為探測數據集;然后將數據集按4 : 1隨機分成訓練集和驗證集,在訓練集上擬合一個二元線性分類器,并使用驗證精度來衡量每個頭與基準數據性能之間的關系。
實驗結果展現了跨注意力頭的專用模式,對于每層的多個頭,線性探測可以達到基線模型的準確性,不過還是顯示出強大性能的潛力,比如準確率最高的是由第14層的第18個頭實現的,驗證準確性為83.3%
此外,還可以看到各層之間的差異:信息主要是在前面的層中處理的,每層內部都有一小部分注意力頭脫穎而出。
通過類似主成分分析(PCA)的方法,可以將激活空間內的維度降低到2,并進行可視化,可以觀察到「真實」的概念不止存在于一個方向,而是存在于一個子空間內。
推理-時間干預
上述探測實驗描述LLM如何在其注意頭之間和內部處理與事實有關的信息,還提出了一種改善基準數據集性能的技術。
如果在推理過程中進行干預,使激活向「真實」的方向轉變,那么網絡就有可能對基準問題提供更真實的答案。
首先,研究人員并沒有選擇對所有注意力頭進行干預,因為只有一部分注意力頭與真實性密切相關,而是只對前K個頭的結果進行干預,以使其具有最小的侵略性。
第二個問題在于如何確定用于變換特定頭部輸出的激活的矢量,因為真、假語句的幾何形狀都很復雜,在選擇變換激活的方向時,可以選擇與探測學到的分離超平面正交的向量,他也可以選擇連接真假分布的平均值的向量,下表中列出了不同干預方向的比較實驗。
Probe weight方向是通過線性探針找到的方向,在這個方向上進行干預,相當于對頭部激活做梯度下降,使其被預測為真實的概率最大化。
Mass Mean Shift的工作原理是首先計算真實和虛假激活的平均值,然后使用從虛假平均值指向真實平均值的向量進行干預。
對比一致搜索(CCS)為在只知道內部激活成對信息的情況下找到的方向。
研究人員在TruthfulQA上訓練CCS,對每個問題抽取一個真實的和一個錯誤的答案,由于CCS不接受有標簽的輸入,所以發現的方向有同等的機會成為真實和虛假的方向,然后使用標簽來識別真實的方向以進行干預。
研究人員首先通過驗證集上的探測精度對所有注意力頭的真假相關度進行排序。把前K個頭作為目標集合;然后利用訓練集和驗證集的激活,估計沿真實方向的激活的標準偏差。
ITI是MHA的一種替代形式,對于未被選中的注意頭,θ是一個零向量,相當于將激活沿真實方向移動α倍的標準差。
整個過程對每次next token預測都是自回歸地重復的,并且與解碼算法的選擇是正交的。
公式中有兩個關鍵參數,即干預的注意力頭數量K和干預強度α,不過目前還沒有關于最佳值的理論論證,只能通過實驗探索參數的影響,并通過標準的超參數掃描確定最佳值。
從計算效率角度來看,無論干預了多少個注意力頭,ITI只會在每一層增加一個常數向量,可以認為干預措施的計算開銷接近于零。
實驗部分
用于對比的基線方法如下:
1. 有監督微調(SFT)
SFT是RLHF的第一階段,研究人員用問題作為提示,用交叉熵損失促使模型生成真實的答案,并懲罰錯誤的答案。
但如果只用上述操作,交叉熵損失和KL散度會急劇上升,所以還需要交替對問答進行有監督訓練和對開放網絡文本進行預訓練。
2. 少樣本提示(FSP)
有研究人員發現,與上下文蒸餾和RLHF相比,indistribution 50-shot提示在TruthfulQA上也是一個有競爭力的基線方法。
但由于提示策略的選擇與推理時間控制方法是正交的,研究人員對比了有ITI和無ITI的少樣本提示。
3. 指令微調(IFT)
為了了解ITI如何使IFT模型更加真實,研究人員主要選擇了兩個基于LaMA-7B的模型(Alpaca和Vicuna)執行ITI操作。
研究人員首先尋找控制干預強度的超參數最佳值,最后確定K=48和α=15
從結果來看,少樣本提示與ITI的結合取得了最佳結果。
將ITI應用于指令微調模型,尋找并干預其真實性方向的實驗中可以看到,ITI明顯比基線提高了真實性,還可以被應用在少樣本提示或指令微調之上,不過代價是CE損失和KL散度提升相對較低