OpenAI o1太貴?那就自己做一個!純提示方法讓普通LLM進化出複雜推理能力

文章轉載於新智元

九月份,OpenAI o1正式登場。

作為新一代的老大哥,o1系列專注於複雜的推理任務,一經推出也是直接屠榜了大模型競技場。

在下面這些難度較大的數學、編碼、科學等任務中,o1不僅比GPT-4o強上一大截,甚至比人類專家還要兇猛。

OpenAI對此曾表示:通往AGI的路上,已經沒有任何阻礙。

——但其實還是有的,那就是新東西通常太貴。

o1-preview的每百萬輸入token為15美元,每百萬輸出token為60美元,而對位的GPT-4o分別是5美元和15美元。

本來GPT-4o就不便宜,現在想體驗更強大的推理能力則需要再付出幾倍的成本。

嫌OpenAI o1太貴?那就自己做一個!

近日,一篇利用純提示方法讓普通LLM變身成為OpenAI o1的文章在Twitter上爆火。

開源代碼:https://github.com/harishsg993010/LLM-Research-Scripts開源代碼:https://github.com/harishsg993010/LLM-Research-Scripts

動態思維鏈(Dynamic Chain of Thoughts)+ 反思(refection)+ 語言強化學習(verbal reinforcement),

讓沒有經過特殊推理訓練的GPT-4o、價格更便宜的Claude 3.5 Sonnet,甚至是開源免費的Llama 3.1 8B,在複雜問題的推理上都獲得了相當大的提升!

在嚴格的學術基準測試中,「開掛」之後的Claude 3.5 Sonnet反超GPT-4o,和o1打和。

——不是o1玩不起,而是開掛更有性價比。

怎樣才能把Claude 3.5調教成比博士還要強的o1呢?

在OpenAI o1的官網中有下面這樣一個範例,從密文和明文的對應中找關係,然後解碼一段新的密文。

老實說,如果沒刷過這類題,小編估計一時半會兒也找不著北。

o1作對這道題花費了5秒的思考時間,在官網中點開下拉可以看到它的推理過程,真是混沌又守序。

時而規規矩矩思考,找出不錯的方向,又經常馬馬虎虎,與正確道路失之交臂,兜兜轉轉,跟人類很像。

——模擬這個思考的過程,也許就是關鍵。

make LLM smarter

首先,OpenAI o1所代表的reasoning model具有以下能力:

邏輯思考

作出推論

解決複雜問題

根據可用信息做出明智的決策

這些能力對於AI未來的發展至關重要:

Deeper Understanding:真正的推理能力表明LLM可以超越模式匹配,對世界有更深入的理解。

Problem-Solving:可以更有效地解決複雜領域的問題。

Decision-Making:幫助人類進行複雜的決策過程。

Generalization:幫助LLM在out of distribution任務上表現得更好,增強它們的泛化性。

Practical Applications:推理能力可以加速科學發現,加強政策製定,並改善教育和醫療保健領域的個性化服務,比如AI Agent,可以獲取時間序列數據的數據集,找到一個更難的模式來識別,以此準確預測未來。

對於o1來說,如果花費更長的訓練或者推理時間,其性能還會不斷提升。

那麼,對於其他LLM來說,是否也能如此?

在閱讀了一些論文之後,作者決定創建新的提示範式,結合動態思維鏈、反思和語言強化,並通過實驗來驗證提示的效果。

以下是編碼和數學問題中所採用的prompt示例:

Begin by enclosing all thoughts within <thinking> tags, exploring multiple angles and approaches.Break down the solution into clear steps within <step> tags. Start with a 20-step budget, requesting more for complex problems if needed.Use <count> tags after each step to show the remaining budget. Stop when reaching 0.Continuously adjust your reasoning based on intermediate results and reflections, adapting your strategy as you progress.Regularly evaluate progress using <reflection> tags. Be critical and honest about your reasoning process.Assign a quality score between 0.0 and 1.0 using <reward> tags after each reflection. Use this to guide your approach:

0.8+: Continue current approach0.5-0.7: Consider minor adjustmentsBelow 0.5: Seriously consider backtracking and trying a different approach

If unsure or if reward score is low, backtrack and try a different approach, explaining your decision within <thinking> tags.For mathematical problems, show all work explicitly using LaTeX for formal notation and provide detailed proofs.Explore multiple solutions individually if possible, comparing approaches in reflections.Use thoughts as a scratchpad, writing out all calculations and reasoning explicitly.Synthesize the final answer within <answer> tags, providing a clear, concise summary.Conclude with a final reflection on the overall solution, discussing effectiveness, challenges, and solutions. Assign a final reward score.

深入細節

動態CoT、反思和語言強化學習的組合框架創建了一個高度自適應和響應迅速的問題解決AI系統。

這個過程從Dynamic CoT生成初始推理路徑開始,然後通過Reflection機制對其進行評估和完善。

在每個反思階段之後,模型會以獎勵分數的形式得到強化,從而指導未來的推理步驟。

這種循環過程使模型能夠迭代改進輸出,適應不斷變化的條件,並有效地響應複雜的問題結構。

比如在自主導航等多階段決策任務的場景中,模型可能首先使用Dynamic CoT探索路徑。

當它遇到障礙或環境變化時,反射機制將允許它重新評估策略,而強化分數則為如何調整其行動提供指導。

這樣的AI系統不僅能從操作中學習,而且隨著時間的推移不斷提高其推理能力,尤其在動態的真實應用中。

以上穿插的一組截圖展示了LLM的推理過程。以上穿插的一組截圖展示了LLM的推理過程。

基準測試

只是能夠回答一些經典問題,例如「計算單詞strawberry中 r 的數量」和「比較0.9 和 0.11哪個更大」,還不足以證明這套提示方法的功效——儘管大部分LLM連這樣的問題都搞不定。

作者為此創建了用於基準測試評估的數據集,包含來自JEE(Joint Entrance Examination)Advanced和UPSC prelims的問題。

JEE Advanced被認為是全球最難的本科入學考試之一,面向有誌於加入印度理工學院(IIT)的學生。

UPSC公務員考試是世界上競爭最激烈的考試之一,吸引了希望在印度官僚機構擔任管理人員的候選人,常識試卷測試不同領域的知識。

這些問題非常嚴格,測試深入的概念理解、解決問題的能力以及跨多個領域(如物理、數學、化學、社會科學等)的概念應用。

作者使用腳本來進行這項評估:

腳本使用Streamlit創建一個Web應用程序,使用開源模型Groq API和閉源模型(如 gpt4o、o1和Claude)的API生成響應。

腳本包括一個詳細的系統提示(以「You are an AI assistant that step by step explain your reasoning and explaining your reasoning …」開頭),用於指導模型的推理過程。

prompt指示AI使用動態思維鏈(CoT)、反射和語言強化學習技術。

AI將其推理分解為清晰的步驟,每個步驟都有標題、內容、置信度分數和思考時間。

每3個步驟,AI會進行一次自我反思,考慮潛在的偏見和不同的觀點。

腳本在允許最終答案之前至少執行15個步驟,以確保對給定查詢進行全面分析。

腳本修改自Benjamin Klieger的版本:https://github.com/bklieger-groq/g1

作者修改了其實現的邏輯,用戶會向AI系統提供一個問題,AI需要足夠的時間以各種方式思考這個問題,最終解決這個問題——模仿人類如何思考。

結果表明,動態CoT、反射和語言強化學習技術的應用顯著提高了大多數模型的性能,尤其是Claude Sonnet和Llama 3.1 8b。

滿分48分,使用提示方法的Claude Sonnet拿到了最高分(40分),在數學、物理和化學問題上表現出色。Llama 3.1 8b(33分)和GPT-4o(36分)也獲得了明顯改進。

而不使用提示技術的o1得分為39分,確實具有很強的內在解決問題的能力,——但開掛的Claude取得了勝利。

IMO 2023基準測試

OpenAI表示o1能夠在IMO上獲得83%的分數。

作為對比,使用本文提示技術的Claude 3.5 Sonnet在首次測試中達到了50%,而如果多次測試就會反超o1。

Putnam數學競賽

The William Lowell Putnam Mathematical Competition,俗稱Putnam競賽,是一項面向美國和加拿大班科生的極具挑戰性的數學競賽。

比賽由兩個3小時的部分組成,每個部分有6個問題。每道題10分,最高120分。

Putnam競賽被廣泛認為是世界上最難的本科數學競賽之一。

參賽者成績的中位數通常為0分或1分,這意味著超過一半的人基本上什麼也沒做出來。

而在85年的競賽歷史中,只出現過五次滿分。

作者從2013到2023年的試卷中選取了28道題目:

結果Llama3.1 70B、Claude Sonnet和o1 mini解決了14個問題,o1模型解決了13個問題,GPT-4o解決了9個問題。

可以看出,Claude Sonnet 3.5使用本文的提示技術,能夠在需要更好推理能力的問題中勝過o1模型。

應用

LLM就像一個閱讀了數百萬本書的人,但它不知道如何利用這些數據來解決問題,這就是提示技術的用武之地。

人們可以利用這種推理能力來構建強大的工作流程自動化,以解決IT、網絡安全、汽車等各個領域的問題。

組織可以使用較小的開源模型來替代GPT-4o等成本較高的模型,用於需要複雜推理能力來解決的任務。

參考資料:

https://x.com/_philschmid/status/1842846050320544016