阿里國際版o1來了,Marco-o1:聚焦開放式問題推理
機器之心報導
機器之心編輯部
自從 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」(這隻鞋的鞋底很舒服),證明了它對俗語細微差別的精準把握。
基於 MCTS 的解空間擴展
該研究將 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 作為搜索單位。
為了進一步擴展模型的搜索空間並增強其解決問題的能力,作者嘗試將這些 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 翻譯等標準翻譯工具。