阿里國際版o1來了,Marco-o1:聚焦開放式問題推理
机器之心發表於2024-11-23
自從 OpenAI 釋出 o1 模型以來,業界對其的追趕不斷加速。大模型推理的一個關鍵挑戰在於,現實世界常常提出很多開放式和創造性的問題,對於 AI 來說,這是一類很難評估的任務,因為沒有「標準答案」或者易於量化的獎勵。我們能否訓練一個模型,讓它能夠從容應對無法避免的「模糊性」,仍然生成可靠的推理結果?11 月 22 日,阿里巴巴國際數字商業集團MarcoPolo團隊釋出了 Marco-o1,這是一種旨在推進開放式問題解決的大型推理模型 (LRM)。當然該工作也提到:這是一項正在進行的探索性工作,仍有進一步改進的空間。- 論文標題:Marco-o1: Towards Open Reasoning Models for Open-Ended Solutions
- 論文連結:https://arxiv.org/pdf/2411.14405
- 專案地址:https://github.com/AIDC-AI/Marco-o1
雖然 o1 模型在 AIME 和 CodeForces 等測試中都展示了強大的推理能力,但 Marco-o1 的目標是超越結構化挑戰,實現跨多個領域的泛化,特別是在那些沒有嚴格評估指標的領域。透過整合諸如思維鏈 (CoT) 微調、蒙特卡洛樹搜尋 (MCTS) 和推理動作策略等技術來實現的,Marco-o1 能夠更有效地處理複雜的問題解決任務。透過微調 Qwen2-7B-Instruct 與過濾後的 Open-o1 CoT 資料集 、Marco-o1 CoT 資料集和 Marco-o1 指令資料集的組合,Marco-o1 提高了對複雜任務的處理能力。- Open-o1 CoT 資料集(已過濾):研究者透過應用啟發式和質量過濾過程完善了 Open-o1 專案的 CoT 資料集,這一改進使模型能夠有效地採用結構化推理模式。
- Marco-o1 CoT 資料集(合成):研究者使用 MCTS 生成了 Marco-o1 CoT 資料集,這有助於制定複雜的推理路徑,進一步增強了模型的推理能力。
- Marco 指令資料集:認識到強大的指令遵循能力在執行復雜任務中的關鍵作用,研究者整合了一組指令遵循資料。這種整合確保了模型能夠勝任各種任務,在保持其普遍有效性的同時顯著增強其推理能力。
結果顯示,Marco-o1 在 MGSM(英文)資料集上的準確率提高了 6.17%,在 MGSM(中文)資料集上的準確率提高了 5.60%,展示了更強的推理能力。在翻譯任務中,實驗還證明 Marco-o1 在翻譯俚語表達方面表現出色。例如,該模型正確地將中文中字面意思為「這隻鞋給人一種踩屎感」的俗語翻譯成了英文「This shoe has a comfortable sole」(這隻鞋的鞋底很舒服),證明了它對俗語細微差別的精準把握。該研究將 LLM 與 MCTS 整合在一起,以增強 Marco-o1 模型的推理能力:- 節點是推理狀態:在 MCTS 框架中,每個節點代表解決問題過程的推理狀態;
- 動作作為 LLM 輸出:節點可能執行的動作是 LLM 生成的輸出。這些輸出代表推理鏈中的潛在 step 或 mini-step;
- Rollout 和獎勵計算:在 rollout 階段,LLM 繼續推理過程直至終止狀態;
- 指導 MCTS:獎勵分數 R 用於評估和選擇 MCTS 中的有希望的路徑,從而有效地引導搜尋走向更置信、更可靠的推理鏈。
此外,該研究透過計算置信度得分來獲得每個狀態的值。對於最終結果的每個 token t_i,作者透過將 softmax 函式應用於其對數機率和前 5 個替代 token 的對數機率來計算其置信度得分。這由以下公式給出:在獲得最終結果的所有 token 的置信度得分後,然後計算所有 token 的平均置信度得分,從而得出總獎勵得分:此平均值作為獎勵訊號,用於評估推理路徑的質量。較高的 v 表示更置信且更準確的推理路徑。透過採用這種方法,該研究有效地擴充套件瞭解空間,使模型能夠探索大量推理路徑並根據計算出的置信度分數選擇最可能的路徑。該研究觀察到使用動作作為 MCTS 搜尋的粒度相對粗糙,導致模型經常忽略對解決複雜問題至關重要的細微推理路徑。為了解決這個問題,該研究探索了 MCTS 搜尋中的不同粒度級別。為了進一步擴充套件模型的搜尋空間並增強其解決問題的能力,作者嘗試將這些 step 分成包含 64 或 32 個 token 較小的單元,稱為 mini-step。這種更加精細的粒度允許模型更詳細地探索推理路徑。然而,雖然 token 級搜尋在理論上提供了最大的靈活性和粒度,但由於需要大量的計算資源,以及設計這一級別的有效獎勵模型挑戰巨大,因此目前它是不切實際的。實驗中,該研究在 MCTS 框架內實施了以下策略:Step 作為動作:允許模型生成完整的推理 step 作為動作。每個 MCTS 節點代表一個完整的思維或動作標籤。這種方法可以實現有效的探索,但可能會錯過解決複雜問題所必需的更細粒度的推理路徑。Mini-step 作為動作:使用 mini-step(32 或 64 個 token)作為動作。這種更細的粒度擴充套件瞭解空間,並透過在搜尋過程中考慮更細微的 step 來提高模型處理複雜推理任務的能力。透過在這個級別探索解空間,模型可以更好地找到可能被更大的動作單元忽略的正確答案。作者還引入了反思機制,透過在每個思考過程的末尾新增短語「Wait! Maybe I made some mistakes! I need to rethink from scratch。」 這提示模型自我反思並重新評估其推理步驟。實施這種反思機制已經帶來了顯著的改進,特別是在原始模型最初無法正確解決的困難問題上。加上反思,這些具有挑戰性的問題大約有一半得到了正確的回答。從自我批評的角度來看,這種方法使模型能夠充當自己的批評者,識別其推理中的潛在錯誤。透過明確地提示模型質疑其初步結論,獎勵模型重新表達和完善其思維過程。這種自我批評機制利用了模型檢測自身輸出中的不一致性或錯誤的能力,從而得到更準確、更可靠的解決方案。反思步驟充當了一個內部反饋迴圈,增強了模型在沒有外部干預的情況下自我糾正的能力。 作者基於 Qwen2-7B-Instruct,並在訓練資料上進行了 SFT,得到 Marco-o1-CoT。此外,作者在 MCTS(蒙特卡羅樹搜尋)框架中使用了 Marco-o1-CoT,透過動作來區分: - Marco-o1-MCTS (step):使用每個推理 step 作為一個動作(step);
- Marco-o1-MCTS (mini-step of 64 tokens):使用 64 個 token 的 mini-step 作為一個動作(64 個 token);
- Marco-o1-MCTS (mini-step of 32 tokens):使用 32 個 token 的 mini-step 作為一個動作(32 個 token)。
測試過程中,每個模型都使用了 CoT 提示來確保推理過程的一致性。結果表明:在 MGSM-en 資料集中,Marco-o1-CoT 比 Qwen2-7B-Instruct 表現優異,如圖 4 所示,這是由於使用了英文 CoT 資料進行了微調。然而,在 MGSM-zh 資料集中,Marco-o1-CoT 的表現與 Qwen2-7B-Instruct 相比有所下降。這種下降歸因於用於微調的 CoT 資料是英文的,這可能無法有效地遷移到中文資料中。這三個經過 MCTS 增強的模型表現出比 Marco-o1-CoT 更好的改進,表明融入 MCTS 有助於擴充套件模型的解空間,並增加獲得正確答案的機率。然而,由於本文使用置信度得分作為獎勵,樹搜尋結果顯示出顯著的隨機性。在 MGSM-en 中,step 作為動作策略表現最好,而在 MGSM-zh 中,mini-step 作為動作(32)策略產生了最高的準確性。目前,如圖 4、5 和 6 所示,作者還無法得出哪種動作策略更優的明確結論。但研究者相信,隨著獎勵變得更準確,MCTS 提供的更大解空間將展現出更大的潛力。 如圖 7、8 和 9 所示,Marco-o1 在處理複雜翻譯任務(尤其是口語和俚語)上具有高階理解和推理能力,優於 Google 翻譯等標準翻譯工具。