OpenAI的O1模型由於其在解決複雜問題方面的高級功能而引起了大型推理模型(LRMS)領域的極大興奮。 Marco-o1emerges以此為基礎,是一種新的LRM,不僅強調了傳統學科,例如數學和編碼,而且還優先考慮各個領域的開放式問題解決問題。 Marco-O1的一個重點是探索O1模型可以將其推理能力推廣到缺乏明確標準和可量化獎勵的領域的程度。這種探索對於理解LRM在常規指標可能不適用的現實情況下的潛在應用至關重要,從而突破了這些模型可以實現的目標。
本文作為數據科學博客馬拉鬆的一部分發表。
Marco-O1是由阿里巴巴國際數字商務的Marcopolo團隊開發的高級推理模型,旨在解決開放式解決問題的任務。
它是建立在QWEN2架構的基礎上的,並採用了精緻的思想鏈(COT)微調和濛濛特山carlo樹搜索(MCTS)技術來增強其推理能力
通過微調QWEN2-7B教學,結合了過濾的Open-O1 COT數據集,MARCO-O1 COT數據集和Marco-O1指令數據集,Marco-O1改善了其對複雜任務的處理。
下圖顯示了MARCO-01的推理過程,詳細說明了Open-01 COT和MARCO-01 COT等數據集的使用。該過程涉及選擇提示路徑,執行MCT並應用監督的微調以提高準確性。這導致了以信心得分的最終答案產生的。
這重點介紹了使AI模型能夠處理複雜任務的複雜方法,例如通過多個步驟推理,優化決策並納入不確定性以獲得更準確的預測和響應。
MCT用於通過隨機抽樣探索所有可能的答案來確定用戶查詢的最佳答案。如上圖所示,在MCT中,選擇了Nodeserpresent不同的推理路徑和黃色nodessepsecte,以進一步探索。綠色nodesmermentent的最終答案,而諸如“選擇”和“備份”之類的箭頭顯示系統如何評估和完善選擇。
系統使用概率(如公式中顯示)生成答案以完善最終輸出後,該系統計算一個置信得分。
該模型可以在兩個級別上工作 - 廣泛的推理(步驟級別)和多步推理(迷你步驟級別)。
在MCT搜索中探索了不同級別的粒度。為了擴大模型的搜索空間並增強其解決問題的功能,將步驟分為64或32個令牌的較小單位,稱為“迷你步驟”。這種較細的粒度使該模型可以更詳細地探索推理路徑。
模型中存在反射機制,通過添加短語“等待!也許我犯了一些錯誤!我需要從頭開始重新考慮。”在每個思考過程結束時。這促使模型自我反射並重新評估其推理步驟。這種反思對模型產生了重大改進,尤其是在原始模型最初錯誤地解決的困難問題上。
Marco-O1對於:
Llama 3.2型號包括專為移動和邊緣設備設計的10億(1B)和30億(3B)參數文本模型,重點介紹了諸如摘要和說明之類的應用程序的有效性能。
Llama 3.2在公開可用的來源中預估計了9萬億立克,並結合了來自較大模型(例如Llama 3.1)的知識蒸餾技術,以增強性能,同時保持較小的尺寸。
Llama 3.2 3B在特定領域,特別是在推理任務中表現出色。在ARC挑戰賽中,它的得分達到78.6,超過了Gemma的76.7,而剛剛落後於Phi-3.5-Mini,得分為87.4。同樣,在Hellawag基準中,美洲駝3.2 3B得分69.8,表現優於Gemma,並與Phi保持競爭力。
因此,在下一個實施Python實施中,我們對兩個模型的基於推理的問題進行了比較評估-Marco-O1和Llama 3.2 3B。這種比較評估主要是為了檢查Marco-O1的輸出是否在基於推理的問題中確實表現出色。
Ollama是一種高級AI工具,允許用戶在本地(以CPU和GPU模式)輕鬆設置和運行大型語言模型。我們將在以下步驟中探索如何使用Ollama在Google Colab上運行這些模型。
下面我們將安裝所有需要的庫:
!sudo apt更新 !sudo apt安裝-y pciutils !PIP安裝Langchain-ollama !curl -fssl https://ollama.com/install.sh | sh !PIP安裝Ollama == 0.4.2
在此步驟中,我們設置了線程,以允許Ollama在Google Colab上有效運行。線程可以並行執行任務,確保表現順暢,並且不延遲處理更快的處理。該設置對於在Colab環境中無縫進行資源密集型操作至關重要。
導入線程 導入子過程 進口時間 def run_ollama_serve(): subproces.popen([“ ollama”,“ serve”]) 線程=線程。 thread.start() 時間。
!ollama拉動marco-o1
我們可以使用相同的代碼通過用Llama3.2替換Marco-O1來拉動Llama3.2模型。
此步驟涉及將查詢發送到模型以根據輸入獲得響應或見解。它有助於與模型進行互動,例如生成文本或回答問題。
來自langchain_core.prompts導入chatprompttemplate 來自langchain_ollama.llms導入ollamallm 來自ipython.display導入降價 template =“”“問題:{問題}”“” 提示= chatprompttemplate.from_template(模板) 型號= ollamallm(model =“ marco-o1”) 鏈=提示|模型 #準備調用輸入 input_data = { “問題”:'我有2個蘋果,然後我再買2個。我用2個蘋果烤餡餅。吃了一半的餡餅後,我剩下幾個蘋果?} #使用輸入數據調用鏈,並以降價格式顯示響應 響應=鏈。Invoke(input_data) 顯示(Markdown(響應))
在本節中,我們將比較Marco-O1和Llama 3.2的輸出,並強調它們在處理複雜的推理任務和實時應用方面的優勢和差異。通過檢查他們的響應,我們可以更好地了解每個模型如何解決問題並適應不同用例。
“我有2個蘋果,然後再購買2個蘋果。我用2個蘋果烤餡餅。進食後<br>一半的餡餅我剩下幾個蘋果?”
兩種模型都提供了準確的響應,但是與Llama 3.2相比,Marco-O1提供了更詳細的解釋。
“草莓有多少r?”
從上面的輸出可以看出,Llama 3.2模型的響應不准確,而MARCO-O1模型的響應準確。
“三角形的區域是10個單位和5個單位的高度?”
從上面的輸出可以看出,這兩個模型都給出了準確的響應,但是與Llama 3.2相比,Marco-O1模型的響應更為解釋。
“如果一輛汽車的價格為20,000美元,並且每年折舊1,000美元,那將是多少<br>三年後值得嗎?”
從上面的輸出可以看出,這兩個模型都給出了準確的響應,但是與Llama 3.2相比,Marco-O1模型的響應更為解釋。
“所有鳥都可以飛。企鵝是鳥類。企鵝可以飛嗎?”
從上面的輸出中可以看出,即使兩個模型都提供了準確的響應,Marco-O1模型的響應是更加解釋的,並且可以詳盡地提出大量參數和兩次檢查以得出答案,而與Llama 3.2相比。
“奧利弗(Oliver)在星期五選擇44獼猴桃,然後在周六58次。週日,他在周五選擇了他的兩倍,但其中五個小於平均水平。奧利弗有幾個獼猴桃?”
從上面的輸出中可以看出,即使兩個模型都提供了準確的響應,Llama 3.2的響應與其他信息相混淆(但其中五個小於平均水平)是不准確的,因此從實際答案中減去5。但是,MARCO-O1的輸出是準確的,並提供了詳細的解釋。
約翰對花生過敏。他吃了一個花生醬三明治,感覺很好。什麼<br> 我們可以就約翰的過敏得出結論嗎?”
從Marco-O1模型的響應中可以看出,這是很多解釋和詳盡的提出的論點和雙重檢查以得出答案的。 Llama 3.2的反應似乎並沒有完全準確,因為“他只是胃部不適或對花生醬的不耐受”的信息不准確,並且與查詢中給出的信息不准確。
任務 | MARCO-O1性能 | 駱駝3.2(3B型)性能 | 優勝者 |
---|---|---|---|
任務1:邏輯推理 | 準確地說明 | 準確但詳細 | Marco-O1 |
任務2:草莓測試 | 準確的 | 不准確 | Marco-O1 |
任務3:幾何推理 | 準確地說明 | 準確但詳細 | Marco-O1 |
任務4:逐步推理 | 準確地說明 | 準確但詳細 | Marco-O1 |
任務5:有歧義的三段論 | 精確的解釋和雙重檢查 | 準確但詳細 | Marco-O1 |
任務6:脆弱的數學上下文 | 準確地說明 | 不准確(被其他信息混淆) | Marco-O1 |
任務7:矛盾的信息 | 精確的解釋和雙重檢查 | 不准確(提供矛盾的信息) | Marco-O1 |
MARCO-O1模型代表了AI處理複雜推理任務的能力的重大進步,尤其是通過其創新的蒙特卡洛樹搜索和經過經過經過經過經過經驗的精細調整的精細調整。它在數學,物理和多語言任務等各個領域的多功能性使其與傳統模型不同。同時,Llama 3.2模型為邊緣設備提供了有效的性能,在諸如摘要和跟隨指令之類的任務中都表現出色。這兩種模型都展示了AI的持續發展,每個模型都在自己的領域中脫穎而出,並共同強調了先進語言模型在解決現實世界中的巨大潛力。
A. Marco-O1根據手頭任務的複雜性來調整其推理策略,將挑戰分解為可管理的步驟,並使用Monte Carlo Tree搜索探索各種解決方案路徑,以找到最佳方法。
Q2。蒙特卡洛樹搜索(MCT)如何增強MARCO-O1的推理能力?A. MCT使Marco-O1能夠探索給定問題的多個潛在解決方案,從而通過隨機抽樣選擇最有希望的路徑,從而更準確,更有效地解決問題。
Q3。 MARCO-O1的反射機制的目的是什麼?答:反射機制允許Marco-O1在每個過程結束時重新評估其推理步驟,從而幫助模型提高準確性並完善其答案,尤其是對於高度複雜的查詢。
Q4。 Marco-O1和Llama 3.2如何在處理複雜的推理任務方面進行比較?A. Marco-O1專門用於使用高級技術等高級技術來應對複雜的推理任務。 Llama 3.2在移動和邊緣設備上具有高效的實時應用程序,具有擴展上下文處理。
Q5。 Llama 3.2模型的輕量級設計的意義是什麼?答:Llama 3.2的輕巧設計使其非常適合在移動設備和邊緣設備上部署,同時提供了處理各種任務(例如匯總和多語言交互)的能力。
本文所示的媒體不由Analytics Vidhya擁有,並由作者酌情使用。
以上是Marco-O1 vs Llama 3.2:哪個更好?的詳細內容。更多資訊請關注PHP中文網其他相關文章!