AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
自我糾錯(Self Correction)能力,傳統上被視為人類特有的特徵,正越來越多地在人工智慧領域,尤其是大型語言模型(LLMs)中得到廣泛應用,最近爆火的OpenAI o1模型[1]和Reflection 70B模型[2]都採取了自我糾正的方法。
傳統的大語言模型,因為在輸出答案的時候是逐個Token輸出,當輸出長度較長時,中間某些Token出錯是必然發生。但即使LLM後來知道前面輸出的Token錯了,它也得用更多錯誤來“圓謊”,因為沒有機制讓它去修正前面的錯誤。
而OpenAI o1在“慢思考”也就是生成Hidden COT的過程中,透過分析OpenAI官網給出的Hidden COT例子可以發現,在解決字謎問題的思考過程中,o1首先發現了每兩個連續的明文字母會對映到一個秘文字母,於是便嘗試使用奇數字母來構建明文,但是經過驗證發現並不合理(Not directly);接著又重新修正答案最終成功解出字謎。
圖1 OpenAI o1 官網示例(部分Hidden CoT)
Reflection 70B的關鍵技術也包括錯誤識別和錯誤糾正。他們用到了一種名為 Reflection-Tuning(反思微調) 的技術,使得模型能夠在最終確定回覆之前,先檢測自身推理的錯誤並糾正。在實際的執行過程中,這會用到一種名為思考標籤(thinking tag)的機制。模型會在這個標籤內部進行反思,直到它得到正確答案或認為自己得到了正確答案。
頻頻應用於大語言模型的自我糾錯技術為何有效?為什麼糾錯過程可以讓模型把原本答錯的問題重新答對?
為了探究這一問題,北大王奕森團隊與MIT合作,從理論上分析了大語言模型自我糾錯能力背後的工作機理。
論文題目:A Theoretical Understanding of Self-Correction through In-context Alignment
論文地址:https://openreview.net/pdf?id=OtvNLTWYww 程式碼地址:https://github.com/yifeiwang77/Self-Correction
作者團隊將自我糾錯的過程抽象為對齊任務,從上下文學習(In-context learning)的角度對自我糾錯進行了理論分析。值得一提的是,他們並沒有使用線性注意力機制下的線性迴歸任務進行理論分析,而是使用真實世界LLM在用的softmax多頭注意力機制的transformer結構,並利用Bradley-Terry 模型和 Plackett-Luce 模型(LLM對齊的實際選擇,用於RLHF和DPO)設計對齊任務進行研究。受理論啟發,他們提出了一種簡單的自我糾錯策略--上下文檢查(Check as Context),並透過實驗,在消除大語言模型中存在的潛在偏見以及防禦越獄攻擊中效果顯著。
理論分析:自我糾錯實際上是一種上下文對齊?
多頭注意力(MHSA)層: FFN層:
透過觀察比較LLM在執行上下文對齊時前向傳播的損失與梯度下降的損失曲線,LLM執行上下文對齊時的前傳行為與梯度下降損失曲線幾乎相同。(圖2(a)) 評價的質量直接影響自我糾錯的質量(圖2(b))。 對多樣本的排序需要更深的模型層數,在達到一定深度後(15層),增加更多的層數並不能帶來更高的收益。(圖2(c)) Softmax注意力機制對從評價中分析回答優劣排序至關重要,而linear注意力則做不到這一點。具體來說,softmax 注意力機制可以有效地選取最優回答 併為各樣本生成加權平均所需的權重。(圖2(d)) 多頭注意力機制對token角色的區分很重要。具體而言,多頭注意力機制可以將生成的回答與正樣本拉近,與負樣本拉遠。實驗表明,3個attention head是上下文對齊任務中最優選擇。(圖2(e)) FFN對於token角色的轉變很重要。在經過一個MHSA層後,FFN可以將上一輪的正樣本遮蔽掉,從而使次優樣本變成下一輪迭代的最優樣本。(圖2(f))
自我糾錯策略:上下文檢查
消除LLM社會偏見
多數情況下,自我糾錯後的正確率高於原正確率(圖4) 正確率提升與自我評估的準確率高度相關(圖4(c): ),甚至呈線性關係(圖5(a))。 採用不同的評價方式效果依次提升:僅使用對/錯評價 < 自然語言評價 < 包含 CoT 的對/錯評價。這是因為 CoT 不僅能提高評價準確性,還能為模型提供額外的自然語言資訊。(圖5(b)) 更大的模型有更好的糾錯能力(圖5(c)(d)) 當評價的正確率足夠高時,更多的糾錯輪數可以帶來更好的糾錯效果。(圖5(e))