專治大模型說胡話,精確率100%!華科等提出首個「故障token」檢測/分類方法
【新智元導讀】針對大模型偶發腦回路故障難題,最新研究GlitchHunter收集了大量故障詞元,並針對不同情況進行分類,極大改善了大模型的輸出質量。
如今,大型語言模型(LLM)已經成為了我們生活中的好幫手。
當用戶使用大模型時,模型首先會將輸入的內容拆分成一個個的詞元(token),通過分析這些詞元來生成答案,為我們解答疑惑、提供建議、翻譯外語、撰寫報告······但是,你能想象大模型也會出錯嗎?
想象一下,你正在使用最新款的智能手機,它快速、聰明、幾乎可以做任何你想要的事情。
但偶爾,你發現手機的一兩個按鍵不按常理出牌——比如說,你按下「S」,它偏偏跳出「E」,或者幹脆點了沒反應,那估計用的時候就只想砸手機了。
大模型中存在一些故障詞元(glitch token),一個個本應協助模型流暢運行的小小詞元,偏偏要搞點小破壞。
針對這個情況,由華中科技大學、南洋理工大學等高校聯合組成的研究團隊近日發表了一項研究,該工作已經被軟件工程領域國際頂級會議——FSE 2024接收。
論文鏈接:https://arxiv.org/abs/2404.09894
項目鏈接:https://sites.google.com/view/glitchhunter-fse2024/glitchhunter
該研究是第一個關於故障詞元的全面研究,並且研究中針對故障詞元的檢測方法為減少大模型中與分詞(tokenizer)相關的錯誤提供了有意義的見解。
簡單來說,這項研究就像是在告訴我們:在大模型的世界裏,有些小故障不僅僅是小插曲,它們可以大大影響模型的輸出質量。通過識別出這些故障,可以更好地理解和優化這些聰明但偶爾會犯糊塗的大型語言模型。
論文簡介
這篇工作中,作者首先提出了一個實證研究來了解故障詞元在大語言模型中的存在性與普遍性。作者調查了包括GPT-4,Llama-2在內的七種熱門的大模型,其中包含了三種不同的分詞器,總共分析了十八萬個不同的詞元。
作者要求大模型完成針對詞元的三個基礎且簡單的任務:復現,拼寫以及求長度。根據不同的詞元的完成情況,作者從完成形式上不能完成任務的詞元分為了如下圖所示的5個種類。在此基礎上,只要這個詞元不能夠完成以上的三個任務之一,他就會被標記為故障詞元。
實證研究的第二個問題是對故障詞元的形式進行分類。這些詞元有些是不同單詞的組合,一些是無意義字母的堆疊,還有一些是單純的無意義的符號。作者通過人工標註的方法,將這些所有的故障詞元分為了表所示的5個種類。
實證研究的第三個問題故障詞元在真實的數據集中的存在情況。作者研究了包括Alpaca,ShareGPT在內的用於大模型微調的主流數據集,發現在每個數據集中平均有2%以上的故障詞元。這說明了故障詞元在數據集中很普遍,而且很可能會影響到使用這些數據集進行微調的模型的效果。
在實證研究中作者還發現,故障詞元在嵌入空間中有聚集效應,這便啟發作者可以通過聚類的算法來完成針對故障詞元的識別工作。
作者基於上述的發現構建了GlitchHunter,一種用於檢測大模型中故障詞元的自動化工具,主要依賴叠代聚類技術來識別潛在的故障詞元群組,整個檢測流程分為幾個步驟:
- 構建詞元嵌入圖(TEG, Token Embedding Graph):首先,GlitchHunter會構建一個包括所有詞元及其相應的嵌入向量的詞元嵌入圖,來展示所有詞元在嵌入空間中的位置和相互之間的關系。
- 候選聚類:接著,GlitchHunter在詞元嵌入圖上尋找緊密聚集的詞元,使用Leiden聚類算法形成潛在的故障詞元群組,這些詞元通常有相似的特征。
- 假設檢驗:在每個詞元群組內,GlitchHunter進行假設檢驗,通過分析群組內詞元的行為和輸出結果來找出群組內行為顯著偏離預期規範的詞元,確定哪些群組實際上包含故障詞元。
- 更新與叠代:選定包含故障詞元的群組後,這些詞元會被整合到一個更新的詞元嵌入圖中。隨後,GlitchHunter會繼續進行聚類和檢測,直到詞元嵌入圖不再經歷任何更新,即沒有新的故障詞元被發現。
通過這種方法,GlitchHunter能夠有效地在大數據集中快速定位並處理故障詞元,減少錯誤輸出,提高語言模型的整體質量和可靠性。
為了驗證GlitchHunter的效果,本文采用了幾項關鍵指標來比較GlitchHunter與幾種基線方法的性能,包括隨機抽樣、基於規則的隨機抽樣和K-means聚類。評估結果顯示,GlitchHunter在各個測試模型中普遍表現出色。
首先,GlitchHunter的真陽性率(True Positive Rate)顯著高於其他方法,這表明它在實際檢測到故障詞元的準確性方面表現優異。同時,其精確度(Precision)達到接近或等於100%,遠高於其他比較方法,這反映了其在識別故障詞元時的高精確性。
在召回率(Recall)方面,GlitchHunter同樣展現了較高的性能,有效地識別了大部分存在的故障詞元,確保了較少的遺漏。
此外,GlitchHunter相較於完整遍歷詞元表的方法,顯著減少了所需的時間和處理的詞元數量,展示了其在達到高性能的同時保持了較低的資源開銷。這些評估結果充分驗證了GlitchHunter在實際應用中提高LLM輸出質量和可靠性的潛力,證明了其作為故障詞元檢測工具的有效性和實用性。
未來工作
在這個工作中,作者完成了對故障詞元的系統性探究,但是對於故障詞元出現的原因以及如何進行修復並未進行過多的探討,而這也是進行故障詞元研究的終極目標:解決掉所有這樣的故障詞元,完善大語言模型對於每一個詞元的理解。---[新智元報導*編輯:LRS/來源: 新智元]
參考資料:https://arxiv.org/abs/2404.09894