自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)

發(fā)布于 2025-2-19 09:11
瀏覽
0收藏

有點(diǎn)意思的論文 2410.13639

A COMPARATIVE STUDY ON REASONING PATTERNS OF OPENAI’S O1 MODEL

簡(jiǎn)而言之就是曼徹斯特大學(xué),浙大和中科大還有一些開源的項(xiàng)目組一些一起研究OpenAI O1的人,來發(fā)O1為什么牛B的論文。

正常,研究紅樓夢(mèng)畢竟也有紅學(xué)(我是一集紅樓夢(mèng)也沒看過,書和電視都沒看過)。。。

文章主要講分析猜測(cè)和評(píng)估OpenAI的推理模式在不同任務(wù)上的效果。

同時(shí)也利用不同的模型比如GPT4o,Gemma,LLama, Qwen等嘗試?yán)梅治龀鰜淼腛1的推理方式。

也嘗試過在鏈?zhǔn)酵评淼倪^程中使用不同的PRM(process reward model),包括LLama,GPT4o,甚至人類...

評(píng)估的標(biāo)準(zhǔn)主要是在:

1- 常識(shí)推理:其中選擇HotpotQA和Collie來評(píng)估LLM的常識(shí)推理能力。HotpotQA主要關(guān)注需要LLM使用多個(gè)支持文檔來回答的常識(shí)推理問題。Collie需要LLM根據(jù)不同層次的生成標(biāo)準(zhǔn)生成符合特定豐富組合約束的文本。

2-數(shù)學(xué):直接使用AIME基準(zhǔn)來評(píng)估模型的數(shù)學(xué)能力,AIME 22、AIME 23和AIME 24中的90個(gè)問題。

3-編碼:使用USACO 競(jìng)賽的銅牌級(jí)別來測(cè)試LLM的編碼技能。USACO專注于算法和問題解決能力。

因?yàn)楝F(xiàn)有的模型能力無法支持O1級(jí)別的鏈?zhǔn)酵评恚杂肎PT4o,Llama這些模型來實(shí)現(xiàn)的話,需要利用prompts來incontext-tunning,或者進(jìn)行function calling來實(shí)現(xiàn)對(duì)每個(gè)step去找PRM分析best answer。

計(jì)算方法,選擇了四種方法可能得鏈?zhǔn)酵评矸绞剑?/p>

  • Best-of-N (BoN)。它使LLM為給定輸入生成多個(gè) N 輸出,然后選擇最合適的響應(yīng)作為輸出。
  • Step-wise BoN。它使LLM分析一個(gè)問題并將其分解為幾個(gè)子問題。對(duì)于每個(gè)步驟,模型根據(jù)之前的子問題和答案生成  N 個(gè)響應(yīng),然后使用獎(jiǎng)勵(lì)模型選擇最佳響應(yīng)。這個(gè)過程反復(fù)進(jìn)行,直到獲得原始問題的最終答案。
  • Self-Refine。通過迭代反饋和改進(jìn),提高LLM的初始輸出。
  • Agent Workflow。LLM智能體通過結(jié)構(gòu)化工作流將復(fù)雜任務(wù)分解為較小的子任務(wù),規(guī)劃其執(zhí)行并利用各種工具來實(shí)現(xiàn)其目標(biāo)。(其實(shí)就是Agentic rag)。

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

圖表解釋

這張圖表顯示了不同模型和方法在四個(gè)基準(zhǔn)(HotpotQA、Collie、USACO、AIME)上的性能結(jié)果。這些基準(zhǔn)分別用于測(cè)試常識(shí)推理、編碼和數(shù)學(xué)能力。

表格說明

  • Setting(設(shè)置):分為Direct(直接生成)和Test-Time(測(cè)試時(shí)計(jì)算)。直接生成的意思就是模型直出,比如O1-preview和O1-mini,或者GPT4o直出,Test-Time的意思就是用外力(prompt,Agent)來模仿類似O1的可能性推理步驟。
  • Baselines(基線):列出了O1-preview、O1-mini、GPT-4o等模型。
  • N:表示生成的輸出數(shù)量。
  • Overall(整體):各模型和方法總體表現(xiàn)。
  • Commonsense Reasoning(常識(shí)推理):包括HotpotQA和Collie兩個(gè)子任務(wù)的表現(xiàn)。
  • Code(編碼):包括USACO任務(wù)的表現(xiàn)。
  • Math(數(shù)學(xué)):包括AIME任務(wù)的表現(xiàn)。

通過解讀,可以看出O1-mini在大多數(shù)子任務(wù)中表現(xiàn)優(yōu)異(比O1-preview牛B,只是在code上誰也干不過O1-preview,看過O1的正式版評(píng)測(cè),提升特別明顯,這個(gè)后面有機(jī)會(huì)再寫),尤其是在AIME數(shù)學(xué)任務(wù)中。相反,Self-Refine方法在各個(gè)任務(wù)中的表現(xiàn)相對(duì)較差。Agent Workflow方法在多個(gè)領(lǐng)域(特別是編碼任務(wù)USACO)表現(xiàn)出色。

表里面的這個(gè)通過Test-Time的design來實(shí)現(xiàn)O1類似的推理方式的方法咋實(shí)現(xiàn)的呢?

其實(shí)也挺好理解的,我舉幾個(gè)例子:

Best-of-N

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

就是在一堆答案里給選一個(gè)最好的,在強(qiáng)化學(xué)習(xí)領(lǐng)域O1的架構(gòu)已經(jīng)不是單一模型來support了,推理的結(jié)果一般都是呈現(xiàn)出多個(gè),比如上圖的多條鏈?zhǔn)酵评?,然后Verifier,也就是RM,reward model,會(huì)給出這些答案的一個(gè)最終的分?jǐn)?shù),選一個(gè)最好的。

這個(gè)其實(shí)挺好實(shí)現(xiàn)的,首先你prompt里面讓GPT4o以COT形式回復(fù)。

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

但是這不是就一個(gè)答案嗎?現(xiàn)在咱們讓它給我生成2個(gè)以上的選擇。


純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

這不就Vans了嗎!

然后RM也就是Verifier來給結(jié)果打個(gè)分,這就是樸素的視線鏈?zhǔn)酵评?,并且BoN的方法,選出一個(gè)分?jǐn)?shù)最高的,發(fā)給用戶。

但是問題來了,面上來看,最終答案最好,也就是全局最好的答案,是局部最優(yōu)的嗎?

這還真不一定。理論上來講只是這些答案中的最好。(子博弈。這塊比較繞,我在強(qiáng)化學(xué)習(xí)的課程里,會(huì)陸續(xù)講解,大家看不懂也沒事,大概看個(gè)樂子就行)。

第二種是啥呢?

Step-wise BoN

就是給你推理鏈里面的每一步得分,都由RM來打分,所以也就叫做PRM (process RM),作為這次推理里面哪一個(gè)是最好的, 然后被選擇進(jìn)入成為這個(gè)Tree的一個(gè)節(jié)點(diǎn),然后就這么一步一步的推下去,每步推幾個(gè)答案,選最后的,知道最終答案。

這個(gè)其實(shí)看著好像是比BoN牛B,但是一樣犯悖論

什么悖論呢?就是局部最優(yōu)(中間某一步最優(yōu))然后以它為節(jié)點(diǎn)繼續(xù)推,推出的答案一定是最優(yōu)的嗎?

很顯然,不是。

怎么實(shí)現(xiàn)呢?

其實(shí)隨便瞎寫寫就能實(shí)現(xiàn)。

def step_wise_bon(model, reward_model, input_text, N_intermediate, N_responses_per_step):
    """
    Step-wise BoN with Reward Model.
    
    Args:
    - model: The language model used to generate responses.
    - reward_model: The reward model used to score responses.
    - input_text: The initial input text.
    - N_intermediate: Number of intermediate steps.
    - N_responses_per_step: Number of responses to generate per step.
    
    Returns:
    - final_response: The final response after all intermediate steps.
    """
    # Initialize the intermediate responses with the input text
    intermediate_responses = [input_text]
    
    for i in range(N_intermediate):
        step_responses = []
        
        # Generate N_responses_per_step responses for each intermediate response
        for intermediate in intermediate_responses:
            responses = [model.generate(intermediate) for _ in range(N_responses_per_step)]
            step_responses.extend(responses)
        
        # Use the reward model to score and select the best response
        best_step_response = max(step_responses, key=lambda response: reward_model.score(response))
        
        # Update intermediate responses for the next step
        intermediate_responses.append(best_step_response)
    
    # The final response is the last response in the intermediate responses
    final_response = intermediate_responses[-1]
    return final_response


# Example usage
input_text = "What are the benefits of a healthy diet?"
N_intermediate = 3
N_responses_per_step = 5


# Assume `model` and `reward_model` are pre-defined and properly initialized
final_response = step_wise_bon(model, reward_model, input_text, N_intermediate, N_responses_per_step)
print("Final Response:", final_response)


就是分解完任務(wù)后,每一步作為循環(huán)的一個(gè)分支,每個(gè)分支完成前調(diào)一下RM,然后繼續(xù)推

其實(shí)還有Beam-search,我自己做的類似O1的架構(gòu)用的就是beam-search

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

看圖的話,比較好理解

每一步都從N個(gè)答案中選出best-of-N,這也是大模型標(biāo)準(zhǔn)推理選擇的decoding算法,也就是續(xù)寫類任務(wù)。

然后N個(gè)備選中的,比如綠色答案。就有資格再生成N個(gè)或者h(yuǎn)個(gè)(看設(shè)計(jì)),然后這么一直推,直到樹到了leaf節(jié)點(diǎn),沒東西可推了,比如無條件符合,或者有了最終答案。

這個(gè)和step-wise BoN的差不多,區(qū)別是樹的搜索域更廣,因?yàn)槊恳徊蕉际荰op K個(gè),如果k=1其實(shí)就和step-wise BoN沒啥區(qū)別了。

下面是我的BYo1的截圖,我這個(gè)的算法就是Beam-search,我實(shí)測(cè)它效果最balance一點(diǎn),意思就是推理算力和時(shí)間和準(zhǔn)確性的balance。

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

其實(shí)還有一種就是Lookahaed Search。

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

就是MCTS,蒙特卡洛書的帶Verifier的版本,不像MCTS要隨機(jī)的去一直推,因?yàn)橛蠽erifier給打分,所以相對(duì)好一點(diǎn),它每次都要推k步,然后推到底,再回頭用總推理鏈的得分去評(píng)估,比如上圖的4個(gè)鏈,哪個(gè)鏈的K步更好,然后選擇以后繼續(xù)在往下推K步,如果K=1,變成1步,也可以把Beamsearch當(dāng)成lookahead search,某種意義上來講,它盡力兼顧了全局和局部最優(yōu)(Beamsearch只能k=1步,很難兼顧全局),我個(gè)人認(rèn)為O1采用Lookahaed的算法可能性比較大,但是這玩意費(fèi)算力,費(fèi)顯存,我自己也沒弄,這個(gè)論文里也沒弄。

Self-Refine:

這個(gè)其實(shí)就是SCore,大家可以自己看看論文,看不懂我后面找機(jī)會(huì)講,說白了,如果你用過早期O1,不是會(huì)發(fā)現(xiàn)它會(huì)自己審核自己發(fā)出來的中間步驟是否不和邏輯嗎,這就是Self-Refine。


def self_refine(model, input_text, iterations):
    response = model.generate(input_text)
    for _ in range(iterations):
        response = refine_response(response)
    return response


def refine_response(response):
    # 定義如何改進(jìn)響應(yīng)的具體邏輯
    return response + " (refined)"


大概這樣就能實(shí)現(xiàn),當(dāng)然Train的時(shí)候就得加帶reasoning的數(shù)據(jù),硬去做這個(gè)self-refine,拿普通模型,還是有點(diǎn)別扭。

Agent Workflow:

這個(gè)就純調(diào)Agent了Agentic RAG類似的架構(gòu),也沒啥可說的,調(diào)rag,調(diào)tool

前置條件都講解完了,現(xiàn)在說測(cè)試結(jié)論:

Self-Refine方法的性能改進(jìn)并不顯著。在大多數(shù)任務(wù)中,Self-Refine相比GPT-4僅顯示出了輕微的改進(jìn),并且在Collie任務(wù)中性能下降。作者認(rèn)為,這是因?yàn)樵诜磸?fù)精煉過程中,LLM可能生成稍微偏離所需格式的響應(yīng)。(它模型就沒經(jīng)過Self-Refine測(cè)試訓(xùn)練過)。

BoN在HotpotQA上表現(xiàn)相對(duì)較好。它展示了在推理階段通過擴(kuò)展時(shí)間搜索更多可能響應(yīng)的必要性。然而,BoN在Collie上的性能相比原始GPT-4o有所下降。此外,當(dāng)N增加時(shí),性能略有下降。作者認(rèn)為這是由于Collie嚴(yán)格的格式要求,限制了LLM生成的多樣性輸出。(可見簡(jiǎn)單的BoN拓展了動(dòng)作空間就能有很好的效果,但是在玩指令遵從性比較嚴(yán)格的場(chǎng)景,動(dòng)作空間越大,越難處理)

Step-wise BoN在復(fù)雜任務(wù)中的表現(xiàn)受限。對(duì)于Step-wise BoN,它在HotpotQA上取得了優(yōu)秀成績(jī),但在其它限制輸出文本的復(fù)雜基準(zhǔn)上表現(xiàn)顯著下降。作者認(rèn)為這是因?yàn)橹鸩椒椒ㄉ闪嗽S多中間步驟,但無法跟隨原始問題。(和BoN一樣)

Agent Workflow在所有基準(zhǔn)上表現(xiàn)出顯著的性能改進(jìn)。Agent Workflow采用類似于Step-wise BoN的方法,將復(fù)雜任務(wù)分解為小的子任務(wù),但設(shè)計(jì)了一系列領(lǐng)域特定的系統(tǒng)提示,從而減少了不必要的推理步驟并輕松完成長(zhǎng)上下文推理。與Step-wise BoN相比,利用工具組合的Agent Workflow可以顯著提升性能。(從O1的實(shí)際架構(gòu)角度推測(cè),確實(shí)是多模型服務(wù),從這個(gè)角度上解讀成Agent workflow,硬解釋也可以)

文章也自己猜測(cè)和定義了幾種O1的推理范式(注意,范式不是算法)

  • 系統(tǒng)分析Systematic Analysis (SA):從問題的總體結(jié)構(gòu)出發(fā),O1首先分析輸入和輸出以及約束條件,然后決定選擇的算法和數(shù)據(jù)結(jié)構(gòu)的使用。
  • 方法重用Method Reuse(MR):對(duì)于一些可以轉(zhuǎn)化為經(jīng)典問題(如最短路徑或背包問題)的問題,O1可以快速重用現(xiàn)有方法來解決它們。
  • 分而治之Divide and Conquer (DC):它將復(fù)雜的問題分解為子問題,并通過解決子問題來構(gòu)建整體解決方案。
  • 自我改進(jìn)Self-Refinement(SR):在推理期間評(píng)估其推理過程,以確定是否存在任何問題并糾正任何錯(cuò)誤。
  • 上下文識(shí)別Context Identification (CI):對(duì)于一些需要額外信息輸入的數(shù)據(jù)集(如HotpotQA),O1首先總結(jié)與查詢相關(guān)的上下文的不同方面,然后給出相應(yīng)查詢的響應(yīng)。
  • 強(qiáng)化約束Emphasizing Constraints (EC):對(duì)于一些在生成的文本上有約束的數(shù)據(jù)集(如Collie),O1通常在推理過程中強(qiáng)調(diào)相應(yīng)的約束。


純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

隨機(jī)選擇了每個(gè)基準(zhǔn)中的20到30個(gè)樣本來統(tǒng)計(jì)不同推理模式的數(shù)量。如圖所示,不同任務(wù)需要不同的推理模式。特別是在常識(shí)推理任務(wù)中,O1傾向于使用特定任務(wù)的全局分析方法(如上下文識(shí)別和強(qiáng)化約束)和分而治之方法。在數(shù)學(xué)和編碼任務(wù)中,O1主要依賴分而治之和方法重用。對(duì)于Collie和AIME,O1遵循相對(duì)較短的推理過程,我們發(fā)現(xiàn)這也與其推理模式有關(guān)。具體而言,O1通常采用方法重用的方法,直接應(yīng)用知名經(jīng)典解決方案來解決數(shù)學(xué)問題,而無需多步推理。對(duì)于Collie,O1傾向于使用強(qiáng)化約束推理模式。這使模型能夠在Collie嚴(yán)格的格式要求下,防止生成過長(zhǎng)的推理過程,導(dǎo)致輸出不符合格式要求。


純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

再總結(jié)一下:

  • 在常識(shí)推理任務(wù)HotpotQA上,分而治之(DC)使用頻率最高。
  • 在Collie這種強(qiáng)指令遵從任務(wù)中,強(qiáng)化約束(EC)使用頻率最高。
  • 在AIME這種數(shù)學(xué)任務(wù)中,方法重用(MR)和分而治之(DC)使用頻率相等且較高。
  • 在USACO 的coding任務(wù)中,分而治之(DC)使用頻率最高。

另外作者發(fā)現(xiàn)了幾個(gè)有邏輯的問題,值得解釋一下。

長(zhǎng)上下文推理限制了Step-Wise BoN

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

除了生成多個(gè)響應(yīng)外,Step-wise策略在擴(kuò)展推理時(shí)間方面也很重要。具體來說,Step-wise方法通常會(huì)生成許多中間步驟,過長(zhǎng)的上下文信息可能會(huì)阻礙模型從原始輸入生成正確響應(yīng)。如表所示,不同任務(wù)中Step-wise BoN推理的中間步驟中的平均token數(shù)量。幾乎所有任務(wù)的推理tokens平均數(shù)量都超過200,這也證實(shí)了Step-wise BoN需要模型具備強(qiáng)大的長(zhǎng)上下文跟蹤能力。Step-wise BoN在Collie和AIME等輸出文本格式和推理過程高度復(fù)雜的任務(wù)中表現(xiàn)較差(例如,Step-wise BoN在Collie上的準(zhǔn)確率不到12%,在AIME上的性能僅為其他方法的一半)。然而,對(duì)于不需要嚴(yán)格的輸出格式或復(fù)雜推理的任務(wù)(例如HotpotQA),BoN和Step-wise BoN顯著提高了模型的結(jié)果(當(dāng)N=4時(shí),Step-wise BoN 比 GPT-4o 高出2.55%,BoN在HotpotQA上比GPT-4o高出0.36%)。

也就是說你的動(dòng)作空間(當(dāng)然指本次可選,而不是全部動(dòng)作空間)越大,BoN在一般任務(wù)的表現(xiàn)就越好。

后面也發(fā)現(xiàn)了,這個(gè)邏輯是8及8以下的,如果可選動(dòng)作空間太大,那呈邊界遞減甚至衰減的態(tài)勢(shì),我個(gè)人認(rèn)為最大的原因是局部最優(yōu)影響了全局最優(yōu)。

不同任務(wù)中推理tokens的數(shù)量


純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

為了探究推理tokens的數(shù)量是否與O1的能力有關(guān),作者制定了一條規(guī)則來提取O1推理tokens,并計(jì)算其在不同任務(wù)中的數(shù)量。此外,作者計(jì)算了正確和錯(cuò)誤樣本的平均token數(shù)量。為了探索輸入提示長(zhǎng)度與推理tokens長(zhǎng)度之間的關(guān)系,作者還計(jì)算了平均輸入長(zhǎng)度。如圖所示,對(duì)于同一任務(wù),正確和錯(cuò)誤樣本的tokens數(shù)量相似,并且輸入提示長(zhǎng)度與推理tokens長(zhǎng)度之間沒有明確的相關(guān)性。相反,不同任務(wù)中的推理tokens數(shù)量存在顯著差異。具體地,對(duì)于常識(shí)推理任務(wù)(如HotpotQA和Collie),O1的推理tokens長(zhǎng)度相對(duì)較短。然而,對(duì)于更復(fù)雜的任務(wù)(如代碼任務(wù)USACO和數(shù)學(xué)任務(wù)AIME),模型通常需要更長(zhǎng)的推理過程以獲得正確答案。

 獎(jiǎng)勵(lì)模型限制了搜索方法的能力

這塊就不講了,不用想,肯定reward model越牛B,你推理越準(zhǔn)確,這也沒啥好講的。

搜索空間(可選動(dòng)作空間)也決定了LLM的上界


純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

除了Agent Workflow,BoN在不同數(shù)據(jù)集上也表現(xiàn)相對(duì)良好,但其表現(xiàn)受到N值的限制。為了充分探究BoN能力的上界,在HotpotQA中增加了N值,以全面評(píng)估基于不同能力水平的LLM的BoN能力。具體來說,如圖所示,比較了使用不同基線模型在不同搜索空間(即,N = 1, 4, 8, 16)下BoN 的結(jié)果。

評(píng)估了Qwen2.5-72B 和 Llama3-70B 這兩個(gè)模型。結(jié)果表明,隨著N值的增加,BoN的性能趨于穩(wěn)定。需要注意的是,Qwen2.5和Llama3在HotpotQA數(shù)據(jù)集上都表現(xiàn)出色。然而,當(dāng)BoN使用這三個(gè)模型作為基線模型時(shí),隨著N值的增加,性能并沒有持續(xù)提高。當(dāng)N > 8時(shí),模型性能要么趨于穩(wěn)定,要么下降,作者認(rèn)為其原因在于搜索方法的性能與獎(jiǎng)勵(lì)模型和搜索空間共同相關(guān)。

本文轉(zhuǎn)載自微信公眾號(hào)「??熵減AI???」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系??熵減AI???公眾號(hào)。??微博:Transformer-周

純研究O1的論文都發(fā)出來了,讓我想起來研究紅樓夢(mèng)的紅學(xué)-AI.x社區(qū)

本文轉(zhuǎn)載自??熵減AI??,作者: 周博洋 ????

標(biāo)簽
已于2025-2-19 09:13:56修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦