人能逆向思維,LLM 也可以嗎?北卡羅來納大學教堂山分校與谷歌最近的一項研究表明,LLM 確實可以,並且逆向思維還能幫助提升 LLM 的正向推理能力!
論文一作 Justin Chih-Yao Chen 的推文簡單來說,正向思維就是從問題開始,一步步地得出答案;而逆向思維則是先從一個預測答案開始,逆推到原始問題。組合使用正向和逆向思維可讓我們驗證解答的正確性並找到可能的錯誤。舉個簡單例子,如果小明有 2 個蘋果,小紅有 3 個蘋果,那麼他們一共有多少個蘋果?使用正向推理,我們可以得出 2 + 3 = 5。再使用逆向推理,我們可以從共有 5 個蘋果的結論開始,然後根據小明有 2 個來逆向得知小紅有 3 個。這些數值與原始問題相符,故此可以驗證 5 這個答案的正確性。如果正向推理出錯了,比如答案是 6 個,那麼逆向推理時就會得到與原始問題不一樣的數值:小紅有 4 個蘋果。這種矛盾可讓我們重新檢視自己的推理過程哪裡有誤。大型語言模型(LLM)的數學能力也能透過正向 - 逆向推理得到提升,原因有二:- 數學本身是高度結構化的,因此正向和逆向推理之間存在明確的逆反關係;
- 只需替換名稱或數值等變數,就可以建立出新的數學問題。
那麼問題來了:逆向思維能否應用於更廣泛、結構性較差的領域?此外,這些方法通常是測試時使用,目的是驗證:給定一個解,讓 LLM 逆向思考並檢視正向推理是否正確。雖然它們比其它測試時方法(例如自我一致性)的表現稍微好一點,但還是存在未解的疑問:我們能否訓練一個本身就能逆向思維的模型,從而提升其正向推理效果,而不是在測試時使用逆向推理進行驗證?近日,北卡羅來納大學教堂山分校、谷歌 Cloud AI Research、谷歌 DeepMind 的一個聯合團隊為上面兩個問題提供瞭解答。他們釋出的論文表明,逆向思維可以顯著 LLM 的推理能力,並且不限於數學任務。他們還提出了一個名叫 RevThink 的框架,可將逆向思維「灌輸」給語言模型。- 論文標題:Reverse Thinking Makes LLMs Stronger Reasoners
- 論文地址:https://arxiv.org/pdf/2411.19865
RevThink 主要包含兩個階段:資料增強和全新的學習目標。首先,對於推理資料集,該團隊使用了一個更大、能力更強的教師模型來對其進行增強。我們知道,一般來說,推理基準資料由一個問題和一個答案構成。那麼該如何增強它呢?該團隊的方法是透過對教師模式使用少樣本提示來(few-shot prompting)生成三種新資料:正向推理、逆向問題、逆向推理。其中正向和逆向推理都會使用思維鏈。只有當資料點的正向推理準確(與 ground truth 相符)且逆向推理與原始問題一致(透過提示教師模型進行驗證)時,該資料點才會被保留下來。完成資料集增強之後,該團隊還提出了三個用於訓練更小的學生模型的關鍵目標。- 生成逆向問題會促使學生模型「思考」如何逆向一個問題並確定要問的正確問題;
- 最後,解決這個逆向問題可以增強學生模型逆向推理的能力。
在測試時,首先會使用問題來詢問該學生模型,而它只會生成前向推理 —— 類似於標準的零樣本推理。本質上講,這個流程是在訓練過程中內化了逆向推理的能力,同時還能保證測試時間計算與零樣本方法一樣高效。如圖 1 傳統的監督式微調側重於從問題到答案的單向推理。相比之下,RevThink 基於新提出的資料增強方法和目標,透過學習兩個方向的推理而引入了雙向思維。這能為模型帶來更大的提升。該團隊透過實驗驗證了 RevThink 的有效性。具體來說,他們使用的教師模型是 Gemini-1.5-Pro-001,學生模型是 Mistral-7B-Instruct-v0.3 和 Gemma-7B-Instruct。訓練中,他們使用了 LoRA 微調,秩設為 32。所有比較方法都使用了 vllm 和貪婪解碼。他們也選擇了多種任務進行評估,包括常識推理(StrategyQA、CommonsenseQA、ARCchallenge),數學推理(MATH、GSM8K),表格資料推理(TabMWP)、自然語言推理(ANLI),邏輯推理(Date Understanding)。參與比較的方法大致可分為三類:零樣本方法、知識蒸餾(包含符號知識蒸餾和逐步蒸餾)和資料增強(包含問題重新表述、問題增強、答案增強)。更多實驗設定請參閱原論文。首先,RevThink 的平均效能表現很好,在不同資料集和模型上都優於基線。與學生模型的零樣本效能相比,RevThink 使用 Mistral 時實現了 12.68% 的平均提升,使用 Gemma 時實現了 14.37% 的平均提升。此外,相比於符號知識蒸餾(SKD)和逐步蒸餾(Distill Step-by-Step)—— 依賴於使用來自教師模型的正確推理鏈來執行監督式微調,RevThink 有 6.44% 至 7.15% 的顯著提升。與基於資料增強的基線方法相比,RevThink 帶來的增益也更為顯著,特別是在常識推理、表格推理和日期理解方面。雖然其中一些增強方法(例如答案增強 (AnsAug))對於數學推理很有效,但它們為其它領域帶來的改進較少。這表明數學是一個更結構化的領域,會隨著資料的增加而更好地擴充套件。相比之下,RevThink 在各種推理任務上都能帶來穩定的提升。並且表 3 表明,在留存資料集上進行評估時,RevThink 在領域外數學資料集上也能帶來更大的增益,表現出了更好的泛化能力。下面還列出了 RevThink 的更多優勢,相關詳情請訪問原論文:- 逆向問題生成可提高效能,但充分利用新的資料集可獲得最佳效能。
- RevThink 的目標比使用指令調整的單獨例項更有效。
- 只需稍多一點 token,RevThink 就能獲得更大提升。
- RevThink 在可逆問題和中等難度問題上表現出了更大的提升。