大模型Scaling Law終結(jié),前段時間曾被吵得沸沸揚揚。 面對諸多的質(zhì)疑,硅谷巨頭們用行動給出了截然不同的答案。 谷歌祭出最強下一代新模型Gemini 2.0 Flash,并帶著多個智能體一同亮相;OpenAI「滿血版」o1和o1 pro mode向所有人證明了模型的能力還遠(yuǎn)沒有觸及到天花板。 最近,外媒SemiAnalysis一篇深度報道再次指明了方向——Scale的維度遠(yuǎn)不止預(yù)訓(xùn)練,Scaling Law仍將繼續(xù)下去。 據(jù)爆料,Claude 3.5 Opus并非如傳言所說,內(nèi)部已經(jīng)失敗了。 相反,它是Anthropic精心打造的一件「戰(zhàn)略武器」。一直以來并未公開發(fā)布的原因是,3.5 Opus被秘密應(yīng)用在兩個關(guān)鍵領(lǐng)域:「內(nèi)部數(shù)據(jù)合成」和「強化學(xué)習(xí)獎勵建!埂 令人震撼的是,通過這種創(chuàng)新訓(xùn)練方法,Anthropic不僅沒有增加推理成本,反而顯著提升了模型性能。 SemiAnalysis分析稱,相比直接對外開放這款超大杯模型,Anthropic更愿意將其用于訓(xùn)練優(yōu)化,發(fā)布Claude 3.5 Sonnet就已足夠! 不僅如此,這份最新報告中,三位行業(yè)分析師獨家揭秘了o1和o1 pro的架構(gòu),深入探究了Orion未來規(guī)劃。 o1穿越「草莓田」,只有單一CoT 眾所周知,o1在推理階段采用了一種思維鏈(Chain of Thought)的方法,將推理過程分解為多個離散的步驟。 o1能夠規(guī)劃其推理步驟,評估中間結(jié)果,并在步驟出錯或陷入僵局時進行回溯。 坊間,研究員們曾提出許多關(guān)于o1推理方式的觀點,比如它在推理階段會探索一種潛在推理路徑或思維鏈樹。 然而,事實并非如此。 o1在推理過程中,實際上在推理過程中只會沿著單一CoT前進,直至給出答案。 而且, o1在測試階段并不依賴搜索,因此在推理過程中放棄了對潛在推理路徑樹的探索。 這也意味著,它在推理時僅能使用pass@1方法。 而o1 Pro則采用了自洽性(self-consistency),或多數(shù)投票(majority vote)的方法。(注:如下token經(jīng)濟學(xué)的部分中,會有更很多介紹) 關(guān)于o1如何生成其單一的思維鏈,有幾種理論。 其中一種廣為接受的理論是,在強化學(xué)習(xí)過程中,o1使用了一種「過程獎勵模型」(Process Reward Model)來驅(qū)動推理步驟。 PRM類似于一種獎勵機制,可以在驗證和生成之間進行切換。 通過使用同一個模型同時作為生成器和驗證器,模型能夠在兩者之間高效切換,并不斷迭代其思維過程。 回溯:是涌現(xiàn)現(xiàn)象還是訓(xùn)練結(jié)果?如前所述,o1的另一個核心能力是其在單一思維鏈上進行自我糾正和回溯的能力。 值得注意的是,這種能力并非是刻意設(shè)計,而是推理階段計算量scale的自然結(jié)果。 也就意味著,o1就像一個不斷學(xué)習(xí)的學(xué)生,能夠意識到并糾正自己的錯誤。 不過,這種能力并非對所有問題,都同樣有效。 具體還要取決于問題的類型。 比如,對于像「x的首都是哪里」這樣簡單的問題,延長思考時間并無太大的幫助。 而對于復(fù)雜的數(shù)學(xué)或編程問題,延長思考時間則可能顯著提升結(jié)果。 此外,與驗證英語作文相比,驗證數(shù)學(xué)和編程問題相對更容易。 目前,分析師稱也尚不清楚OpenAI是如何具體利用額外的測試時計算資源。 他們只知道,「OpenAI的后臺有某種設(shè)置可以控制這一點」。 從以下按主題劃分的勝率圖表可以看出,o1和推理模型在那些相對容易驗證,但生成答案較難的學(xué)科中表現(xiàn)優(yōu)于非推理模型,而在驗證和生成答案都困難的領(lǐng)域中表現(xiàn)較差。 這主要是因為o1的訓(xùn)練過程在很大程度上,依賴功能驗證器(functional verifiers)在訓(xùn)練期間為模型提供反饋。 OpenAI打造「草莓訓(xùn)練」,生成合成數(shù)據(jù) 為了訓(xùn)練o1,OpenAI為此生成了海量數(shù)據(jù)。 他們打造了一個名為草莓訓(xùn)練(Berry Training)的復(fù)雜系統(tǒng),專為訓(xùn)練推理模型。 這些合成數(shù)據(jù),通過蒙特卡洛樹(Monte Carlo tree)生成,伴隨著許多并發(fā)的回合(rollouts)。 然后,模型會基于過程獎勵模型(PRM),針對約1000萬個問題生成許多不同的變體,并在多個不同點進行分支。 這些問題會生成數(shù)千條不同的答案「軌跡」(trajectories)。 由于部分答案在分支時共享前綴,因此某些軌跡可能有著相同的開頭。 之所以稱其為「軌跡」,是因為單獨來看,它是一條通向答案思維鏈。 這些軌跡中的每一條都包含數(shù)千個token。訓(xùn)練像o1這樣的草莓模型需要生成數(shù)百萬億個token。 隨后,這些軌跡會通過功能驗證器(functional verifiers)和優(yōu)化獎勵模型(ORM)進行修剪。 由于PRM的效率較低,大多數(shù)數(shù)據(jù)選擇是通過ORM實現(xiàn)的,因此每個問題會有許多并發(fā)的回合完成,并且直到最終才會被修剪。 如果PRM的表現(xiàn)更好,那么生成的軌跡與保留的優(yōu)質(zhì)軌跡的比例會更高。但遺憾的是,ORM的生成占主導(dǎo)地位,并會篩除大部分?jǐn)?shù)據(jù)。 這些功能驗證器在許多方面有所不同,但可以將它們視為獨立的「沙盒」,用來檢查數(shù)學(xué)計算或運行代碼以驗證生成的數(shù)據(jù)是否正確。 同時運行所有這些模型并正確地并行化,是一個極其復(fù)雜的系統(tǒng)和基礎(chǔ)設(shè)施問題。 比如,不同模型必須在各種 GPU 上運行,計算結(jié)果需要精確路由到下一個處理階段,同時更新多個模型權(quán)重,并確保工作負(fù)載均衡。 此外,功能驗證器「沙盒」通常在GPU上運行效果不佳,因此經(jīng)常被轉(zhuǎn)移到CPU上。 一個有趣的現(xiàn)象是,當(dāng)前標(biāo)準(zhǔn)的英偉達(dá)系統(tǒng)通常配備8個GPU和2個x86 CPU,也就是4:1的比例,而英偉達(dá)下一代GPU系統(tǒng)GB200 NVL72配備了72個GPU和36個CPU,是2:1的比例。 另一方面,Anthropic背后金主爸爸亞馬遜下一代系統(tǒng)(代號Project Rainier)配備了16個Trainium2,但只有2個CPU,是8:1的比例。 可見,下一代訓(xùn)練系統(tǒng)的CPU與GPU資源之間存在巨大差異,英偉達(dá)系統(tǒng)能夠讓OpenAI運行更復(fù)雜的功能驗證器,而Anthropic在每FLOP成本和內(nèi)存帶寬/容量成本方面具有優(yōu)勢。 然而,Anthropic更少的CPU資源可能會使運行復(fù)雜功能驗證系統(tǒng)變得更加困難。 訓(xùn)練期間的大量前向傳播現(xiàn)在,或許就不難理解,推理訓(xùn)練是極其計算密集型的原因了。 僅針對1000萬個推理問題,就可能生成數(shù)百億條軌跡,包含了數(shù)百萬億token。 想象一下,隨著問題集的繼續(xù)擴展并涵蓋更多領(lǐng)域,會發(fā)生什么? 數(shù)據(jù)量只會呈指數(shù)級增長。 而且這些數(shù)據(jù)并不完全與客戶請求重疊,因此推理部分生成的token數(shù)量將超過預(yù)訓(xùn)練數(shù)據(jù)集。 此外,由于PPO(近端策略優(yōu)化算法)和 PRN(過程獎勵網(wǎng)絡(luò))的工作方式,必須在每次反向傳播(更新模型)之前運行多次前向傳播(運行模型)。 這是因為,除了極其密集的生成器模型之外,還有策略模型、多種獎勵模型以及其他基于模型的驗證器,它們在后訓(xùn)練階段的每次反向傳播中都會運行以驗證數(shù)據(jù)。 在許多情況下,這些模型每次反向傳播會運行多次,具體取決于需要修剪或拒絕的數(shù)據(jù)量。 這導(dǎo)致后訓(xùn)練階段的前向傳播與反向傳播的比例極高,而在預(yù)訓(xùn)練階段,這一比例通常為1:1。 這種變化,對訓(xùn)練的基礎(chǔ)設(shè)施需求產(chǎn)生了巨大影響。比如,過去可能需要單一的大型全連接擴展架構(gòu),而現(xiàn)在這種需求可能不再必要。 不過,它帶來的一個顯著的優(yōu)勢是,跨地理分布的數(shù)據(jù)中心進行訓(xùn)練變得更加容易。 后訓(xùn)練FLOPS超過預(yù)訓(xùn)練以往,推理模型的后訓(xùn)練階段,運行幾乎需要與預(yù)訓(xùn)練相同的計算量。 當(dāng)前,在許多情況下,目前的后訓(xùn)練FLOPS(每秒浮點運算次數(shù))已經(jīng)超過了預(yù)訓(xùn)練。 這是因為后訓(xùn)練通常需要在生成器、獎勵模型、策略模型以及各種驗證器的前向傳播階段使用多個副本的最大或最優(yōu)模型。 以O(shè)penAI的下一代模型為例。 他們目前正在訓(xùn)練一個在預(yù)訓(xùn)練規(guī)模上介于GPT-4o和Orion之間的模型。 他們會先預(yù)訓(xùn)練一個「基礎(chǔ)模型」,然后從中派生出兩個模型:一個是傳統(tǒng)的聊天模型,另一個是真正的推理模型。 從基礎(chǔ)模型轉(zhuǎn)變?yōu)橥评砟P偷倪^程,所需的后訓(xùn)練FLOPs將超過預(yù)訓(xùn)練所需的計算量。 這是因為Orion將被用于生成大量的「草莓訓(xùn)練」數(shù)據(jù),并且還會被廣泛應(yīng)用于各種驗證器和獎勵模型中。 預(yù)訓(xùn)練的規(guī)模將繼續(xù)擴大,這得益于新架構(gòu)的研發(fā)、對日益增長的合成數(shù)據(jù)以及視頻數(shù)據(jù)的處理需求。 更重要的是,推理訓(xùn)練的興起意味著,后訓(xùn)練不再局限于簡單的微調(diào),而且需要更多的計算量。 訓(xùn)練的計算scaing law依然有效,并充滿活力。 快速迭代:另一種形式的Scaling業(yè)內(nèi)高度發(fā)展,讓模型迭代速度不斷提升,大幅縮短了訓(xùn)練時間。 當(dāng)前,算法的進步使得模型每年所需的物理計算量減少約三分之一。同時,其他架構(gòu)的改進也允許開發(fā)出更優(yōu)質(zhì)的模型。 因此,訓(xùn)練運行時間很少超過3個月,大多數(shù)主要的預(yù)訓(xùn)練運行通常在發(fā)布時僅需1-2個月。 然而,OpenAI的Orion卻打破了這一常規(guī),其訓(xùn)練時間超過了3個月。 由于推理模型的「反饋循環(huán)」機制,使得這種情況發(fā)生了變化。 OpenAI現(xiàn)在專注于更快的訓(xùn)練運行反饋循環(huán),并嘗試通過更大的集群不斷迭代模型。 像Orion這樣超大規(guī)模的訓(xùn)練,在構(gòu)建小模型時仍然很關(guān)鍵。不過在英偉達(dá)Blackwell出現(xiàn)之前,這樣的模型由于本身的巨大成本和資源需求,難以實現(xiàn)經(jīng)濟化部署。 o1推理架構(gòu):token經(jīng)濟學(xué) 即使是較小的推理模型,使用Blackwell后也能顯著提升服務(wù)效率。 盡管GPT-4o和o1的架構(gòu)、規(guī)模相同,但每個token的定價差異高達(dá)6倍。同樣地,GPT-4o mini和o1 mini的每個token定價差異更大,高達(dá)20倍。 部分原因不排除OpenAI是為了盈利,因其具有獨特的功能,收取更高的費用。 但主要原因在于,成本本身更高。 接下來,可以通過一個簡單的實驗,從基本原理出發(fā)快速說明推理模型在token定價上的巨大差異。 使用最近Qwen QwQ最近博客中,展示的第一個邏輯推理提示詞示例,并將其輸入到幾個模型中: 請在以下錯誤的等式中添加一對括號使其成立:1 + 2 * 3 + 4 * 5 + 6 * 7 + 8 * 9 = 479 從Qwen發(fā)布博客中可以看到,這個問題需要生成約2166個詞才能得出答案 正如預(yù)期的那樣,推理模型(如o1-preview和o1-mini)比同等規(guī)模的非推理模型,生成更多的輸出token。 需要注意的是,即使推理token并未顯示或提供給用戶,它們也包含在可計費的輸出token中。 由于推理模型的每個token成本顯著更高,查詢成本在o1-mini的情況下高出24倍,而在o1-preview的情況下高出57倍。 這種查詢成本的差異,足以令人震驚,但需要關(guān)注的重要部分是序列長度和KV緩存(KVCache)。 假設(shè)對o1-preview的7661個輸出token運行一個查詢,并使其在Llama 3.1 405B模型上,產(chǎn)生相同的7661個token序列長度。 在上述條件下,如果想要達(dá)到每秒每用戶30個token的交互性,最大批大小將限制為72。 也就是說,序列越長,為了維持一定的交互速度,就必須減少一次性并行處理的批大小。 這是根據(jù)「Roofline模型」進行計算得出的純理論值。 在此簡化分析中,還未考慮不同批大小對內(nèi)存帶寬利用率或模型FLOPs利用率的影響 相同的問題在GPT-4o上運行時僅生成了775個token的序列長度。 如果在Llama 3.1 405B上運行相同數(shù)量的token,并以每秒每用戶30個token的交互性為目標(biāo),最大批大小可達(dá)368。 由于較長的序列長度查詢,限制了最大批大小,推理模型的成本無法在更多用戶之間分?jǐn),這意味著每個token的成本因KV緩存限制而高出5倍以上。 這僅是一個基于基本原理的框架,但它可以幫助我們了解上下文長度如何影響成本的方向性。 除此此外,還有其他因素導(dǎo)致了這種巨大的定價差異。 那么,是什么導(dǎo)致推理模型計算密度增加和內(nèi)存需求更高,從而導(dǎo)致批大小減少和每GPU吞吐量降低? 答案有兩個方面。 首先,內(nèi)存需求增加的主要驅(qū)動因素是,處理更長序列長度所需的更大KV緩存。使用全局查詢注意力(GQA)時,總KV緩存大小可以按以下公式計算: 總GQA KV緩存大小(字節(jié))=批大小×序列長度×2×層數(shù)×(隱藏層大小/頭數(shù)×KV頭數(shù))×精度(字節(jié)) KV緩存大小隨序列長度線性增長,但也隨著批大小線性增長,因此同時擁有大量用戶生成長序列長度會導(dǎo)致巨大的KV緩存需求。 下圖中展示了對于Llama 3.1 405B,一個39,000 token的序列長度,將完全占滿8xH100節(jié)點的640GB總HBM容量,而分析師尚未考慮加載模型參數(shù)所需的405GB。 如果將參數(shù)考慮在內(nèi),用于KV緩存的可用內(nèi)存將減少到 235GB(下圖中的紅線),實際上在序列長度約為16k token時就已達(dá)到內(nèi)存限制。 由于KV緩存大小的增加直接導(dǎo)致更大的內(nèi)存容量和帶寬需求。當(dāng)批大小保持恒定時,這也降低了交互性,或者限制了最大批大小至16,從而提供最低的交互性。 另一個關(guān)鍵因素是FLOP需求如何隨著序列長度的增加而擴展: 每個token所需的縮放點積注意力(SDPA)FLOP=4×頭數(shù)×層數(shù)×頭維度×序列長度token 每個token所需的FLOP隨序列長度線性增長,但由于這是每個token的FLOP,總FLOP隨給定序列的序列長度平方增長。這意味著FLOP需求相對于序列長度呈二次方增長。 在下圖中可以看到,隨著上下文長度的增加,推理系統(tǒng)很快達(dá)到FLOPS的限制——在下例中,約為4096 的序列長度。 序列長度的增加極大地線性增加了內(nèi)存和FLOP需求,并分別呈現(xiàn)線性和二次方增長,這導(dǎo)致批大小顯著縮小,從而難以分?jǐn)偧嚎倱碛谐杀尽?/span> 這反過來使每個token的服務(wù)成本顯著提高。 需要注意的是,OpenAI廣泛使用了諸如局部全局注意力(local-global attention)等注意力機制改進,這些改進有助于緩解這些問題,但僅僅改變了Transformer注意力中的常數(shù),減緩了二次方增長,而未能解決它。 需要能夠在保持質(zhì)量的同時解決這些問題的長上下文架構(gòu),否則推理模型的每token成本將始終顯著更高,同時生成的token數(shù)量也會更多。 推理模型挑戰(zhàn):可靠性問題推理時帶來了內(nèi)存的顯著增加,和FLOPS需求外,序列長度的增加還帶來了另一個挑戰(zhàn):可靠性問題。 前面已經(jīng)討論過容錯性,以及它如何實現(xiàn)跨數(shù)據(jù)中心的訓(xùn)練,這也是超大規(guī)模基礎(chǔ)設(shè)施工具集中所有應(yīng)用的關(guān)鍵部分。 在訓(xùn)練運行過程中進行檢查點保存(Checkpointing)已被AI實驗室廣泛采用,以便在發(fā)生故障后快速重啟訓(xùn)練,從而顯著減少這些故障帶來的中斷。 然而,在推理過程中,靜默數(shù)據(jù)損壞錯誤和其他故障仍然可能發(fā)生。 盡管這些故障的發(fā)生率較低,但由于超大規(guī)模服務(wù)商需要服務(wù)龐大的用戶群體,以及用于推理的大量加速器設(shè)備,這些問題必須得到解決。 在Transformer架構(gòu)中,每生成一個新的token,該token 都會被附加到之前生成的所有token上,并再次通過模型。如果在生成某個token時發(fā)生錯誤,這個已損壞的token就會成為對話上下文的一部分,可能導(dǎo)致語法、語境或格式上的錯誤。 這一問題對所有長上下文模型都適用,但對推理模型尤其明顯,因為長序列長度會導(dǎo)致錯誤的累積。 此外,許多錯誤可能是模型本身固有的,或者由于推理過程中思維鏈(Chain of Thought)從一開始就走上了錯誤的軌跡所致。 o1 pro破解推理難題,首采自洽性機制基于上述原因,o1 pro在推理階段采用了自洽性(Self-Consistency)/多數(shù)投票(Majority Vote)機制。 它與普通的o1模型使用完全相同的模型和權(quán)重。 從表面上看,自洽性/多數(shù)投票的成本似乎非常高,因為如果有5個投票流,那么需要生成5倍的token。 這也為OpenAI將ChatGPT Pro訂閱價格從20美元提高到200美元提供了合理的依據(jù)。 但實際上,OpenAI的成本增加遠(yuǎn)低于價格上漲的幅度。 這是因為在運行更長的平均序列長度,并增加解碼token與預(yù)填充token的比例時,推理系統(tǒng)通常更多受到帶寬和容量的限制,而不是FLOPs的限制。系統(tǒng)雖然有多余的 FLOPs,但無法有效利用。 另一方面,由于自洽性/多數(shù)投票在大部分序列長度上使用了共享的前綴,因此無需在KV緩存上花費額外的帶寬或內(nèi)存。 摩爾定律:計算領(lǐng)域最重要的Scaling Law OpenAI o1已向世界證明了推理模型的巨大潛力,為AI開辟了全新的探索空間——計算時推理。 隨著計算能力的提升,合成數(shù)據(jù)生成、PPO、功能驗證器(Functional Verifiers),以及其他推理訓(xùn)練基礎(chǔ)設(shè)施,都將為Scaling Law續(xù)命。 現(xiàn)在大家熱議的AI「Scaling Law」之爭,其實和過去幾十年對計算能力擴展和摩爾定律的爭論如出一轍。 在2000年代末Dennard Scaling失效之前,有些人總是固守著CPU主頻這一個指標(biāo)。按這種算法,這些年確實沒有多大進展。 但事實是,計算能力一直在穩(wěn)步提升。 當(dāng)CPU主頻遇到瓶頸后,業(yè)界迅速轉(zhuǎn)向多核架構(gòu)等新方向。雖然功耗和散熱始終是個挑戰(zhàn),但創(chuàng)新從未停止。 摩爾定律走向終結(jié)的討論曾經(jīng)十分熱鬧,但最近聲音也小了很多。主要是因為像英偉達(dá)這樣的AI領(lǐng)軍企業(yè)找到了全新的擴展維度,帶來了顯著的算力提升。 比如,先進封裝技術(shù)不僅提升了I/O能力,還突破了傳統(tǒng)光罩尺寸的限制,用上了更大的硅片面積。 芯片內(nèi)外的并行計算,再加上更大規(guī)模的高帶寬網(wǎng)絡(luò),讓這些芯片在大規(guī)模部署時能夠更好地協(xié)同工作——尤其是在AI推理方面。 這種情況和2004年很相似:某些傳統(tǒng)增長曲線確實在放緩,但得益于新技術(shù)范式的出現(xiàn)和擴展,整個行業(yè)依然在快速發(fā)展。 因此,就像過去50多年的摩爾定律一樣,AI領(lǐng)域的「Scaling Law」也會持續(xù)擴展下去。 Scaling不只預(yù)訓(xùn)練 在關(guān)于Scaling Law的討論中,預(yù)訓(xùn)練往往是關(guān)注的焦點,因為它易于理解,但這只是AI生命周期的一部分。模型完成預(yù)訓(xùn)練后,仍需進行大量工作,準(zhǔn)備好實際使用。 預(yù)訓(xùn)練的目標(biāo)非常單一,即「正確預(yù)測下一個 token」。然而,實現(xiàn)這一目標(biāo)仍然遠(yuǎn)未達(dá)到LLM開發(fā)的最終目標(biāo),即「回答用戶的提示詞」或「完成任務(wù)」。 推理模型與思維鏈由于訓(xùn)練模型缺乏足夠復(fù)雜、高難度的提示詞,數(shù)學(xué)成為微調(diào)模型的重點領(lǐng)域之一。 方法之一,是聘請高技能的人類專家來設(shè)計提示詞,或者在內(nèi)部生成這些提示詞。通過推理有效解決數(shù)學(xué)問題,需要清晰表達(dá)且正確的思維鏈,模型可以從中學(xué)習(xí)。 盡管某些數(shù)學(xué)能力可以通過代碼解釋器等工具得到提升,后者允許模型生成并執(zhí)行Python之類語言的代碼,從而幫助解決部分?jǐn)?shù)學(xué)問題,但代碼并不足以解決所有問題,尤其是最復(fù)雜的數(shù)學(xué)問題。 因此,訓(xùn)練推理模型解決復(fù)雜數(shù)學(xué)問題,是目前研究者付諸大量努力的方向。 模型可以通過提示詞直接生成思維鏈,但結(jié)果可能不可靠,因為CoT中某一步出錯,就會導(dǎo)致錯誤累積到最終的錯誤答案。不過,為了防止這種情況,o1 Pro引入了多重保障機制。 另一個挑戰(zhàn)在于,即使是最新的模型,在面對不確定性時也可能生成虛假信息,這容易導(dǎo)致推理步驟中的錯誤進一步累積。 通過CoT推理的對齊訓(xùn)練,可以解決這些挑戰(zhàn)。其中,強化學(xué)習(xí)用于將模型行為對齊到CoT推理,并通過多個獨立模型提高其準(zhǔn)確性。 第一個獨立的LLM是生成器(Generator),訓(xùn)練后,它可以跨多個步驟生成經(jīng)過推理的解決方案。生成器通常與基礎(chǔ)LLM分開,因為它專門針對生成這些推理步驟的任務(wù)進行微調(diào),而基礎(chǔ)LLM通常針對通用任務(wù)進行微調(diào)。 第二個是驗證器模型(Verifier Model),職責(zé)是評估生成器生成的解決方案是否正確,提供相應(yīng)獎勵。 驗證器模型可以通過人工注釋、自動過程注釋或自動驗證器進行訓(xùn)練。 在OpenAI論文「Let’s Verify Step by Step」中,研究人員介紹了PRM800K過程監(jiān)督數(shù)據(jù)集,其中人工數(shù)據(jù)標(biāo)注員對來自MATH數(shù)據(jù)集12,000個問題的75,000個解決方案中的800,000個過程步驟進行了注釋,這些方案就是由生成器生成的。 收集這些注釋的成本不可忽視。在原始數(shù)學(xué)論文中,一些大學(xué)生被要求在一小時內(nèi)完成20個問題,其得分在40%到90%之間,90%的得分者,是一位三次獲得IMO金牌的選手。 OpenAI論文指出,由于成本原因,建立一個足夠大的人工注釋PRM數(shù)據(jù)集,以匹配數(shù)量級更大的ORM數(shù)據(jù)集進行公平比較,是不現(xiàn)實的。 替代方法,就是使用自動過程注釋,或?qū)ふ易詣域炞C器。 自動驗證器是一個可以快速、輕松驗證給定問題方案是否正確的系統(tǒng)或模型。 對于代碼,可能是通過執(zhí)行或測試代碼;對于數(shù)學(xué),則可能是評估給定函數(shù),或使用像LEAN這樣的證明工具來檢查正確性。然而,使用自動驗證器可能并不會那么「自動化」——依賴外部系統(tǒng)會增加開銷,影響訓(xùn)練性能,還可能需要長時間運行。 另一個則是完成器(Completer)。與讓人類評估中間步驟不同,它用于創(chuàng)建多條不同的推理步驟路徑。 「Math-Shepherd」論文使用了自動過程注釋——生成多條路徑,然后通過以下兩種方式評估這些路徑:如果路徑導(dǎo)致正確的最終答案,則將其標(biāo)記為一個好的推理步驟(即硬估計);或者根據(jù)該步驟導(dǎo)致正確解決方案的頻率分配一個分?jǐn)?shù)(即軟估計)。 第四個模型是獎勵模型(Reward Model),從過程注釋標(biāo)簽中訓(xùn)練而來。 RM有兩種類型:一種是基于結(jié)果提供獎勵的結(jié)果獎勵模型(ORM),另一種是基于過程提供獎勵的過程獎勵模型(PRM)。 ORM通常對模型提供的多種答案進行排序,選擇排名最高的答案。而PRM為推理思維鏈的每一步分配一個分?jǐn)?shù),并基于該分?jǐn)?shù)提供獎勵。因此,在訓(xùn)練思維鏈模型時,PRM通常更受青睞。 「Let’s Verify Step by Step」論文展示了PRM相較于ORM的更強表現(xiàn)。盡管如此,OpenAI仍然更多依賴于ORM。 在「Math-Shepherd」中,就是通過一步一步近端策略優(yōu)化(PPO)進行強化學(xué)習(xí),從而訓(xùn)練最終的LLM,使其掌握期望的CoT推理行為。 推理時Scalingo1-preview的發(fā)布引起了業(yè)界對全新Scaling Law的關(guān)注——即測試時計算(推理時計算)越多,答案越好,而利用這一scaling維度的努力正處于一個重要的轉(zhuǎn)折點。 測試時scaling并不是一個新概念。在棋類游戲和撲克中,scaling測試時計算的理念已經(jīng)存在了一段時間。比如,AlphaGo在測試時使用蒙特卡洛樹搜索來決定下一步棋。 通過更強大的計算力,推理模型可以思考更多步驟,從而增加得出正確答案的可能性。 然而,目前推理能力受限于推理系統(tǒng)的性能,因為推理模型所需的長上下文長度顯著增加了內(nèi)存和計算需求。 這意味著,為了保持上下文長度和價格的合理性,同時為一定數(shù)量的用戶提供性價比服務(wù),推理模型開發(fā)者限制了CoT的長度和復(fù)雜度。 因此,當(dāng)前的推理模型相當(dāng)于「表現(xiàn)受限」,它們的性能可以隨著更強大的推理系統(tǒng)(如GB200 NVL72)的上市而顯著scaling。 一旦具備經(jīng)濟可行性,允許o1調(diào)整CoT的長度和計算資源的使用,將成為利用測試時計算scaling的關(guān)鍵技術(shù)。 從評估結(jié)果和下方圖表中可以看出,即使只嘗試一次,GPT-4o也能擊敗其他模型。 scaling測試時計算最簡單的方式是同時增加運行的樣本數(shù)量,這實際上類似于「無限猴子定理」。 論文「Large Language Monkeys」表明,簡單的重復(fù)采樣可以scaling推理時計算,并產(chǎn)生更好的結(jié)果。 這可以說是最基本的搜索方法之一。 生成更多樣本可以實現(xiàn)更大的覆蓋率,覆蓋率定義為任何一個樣本得出正確答案的概率(即pass@k)。 有人可能會認(rèn)為,僅僅讓這些較小的模型多次思考一個問題可能會更準(zhǔn)確且更便宜,但我們需要一個有效的驗證器來判斷是否成功生成了「莎士比亞全集」式的答案。 「這是最好的時代,也是最糟的時代」 通過搜索,Scaling推理計算搜索是Scaling推理計算的另一個維度,這在o1中未被利用,但在o1 Pro中得到了應(yīng)用。 o1在測試時(即推理階段)并未評估多條推理路徑,也沒有進行任何搜索。 Sasha Rush在其關(guān)于測試時scaling的推測(o1)的演講視頻中,對搜索以及與推理模型相關(guān)的其他主題進行了深入討論和說明。 自洽性/多數(shù)投票是一種搜索方法。 在這種方法中,多次將提示詞輸入模型,以生成多個響應(yīng),然后通過選擇在一定數(shù)量的樣本中出現(xiàn)次數(shù)最多的響應(yīng)來確定正確答案。 Best-of-N采樣是另一種方法。 在這種方法中,為特定提示詞生成N個解決方案,然后使用驗證器模型識別出導(dǎo)致正確答案的思維鏈。 蒙特卡洛展開是一種基于Best-of-N的技術(shù)。在這種方法中,通過從某個中間步驟出發(fā)生成多個路徑來完成思維鏈,從而對該中間步驟進行評估。 這種評估可以決定是否繼續(xù)當(dāng)前步驟,或者轉(zhuǎn)向未來可能更優(yōu)的步驟,從而改進整體的思維鏈。 Scaling訓(xùn)練比Scaling推理計算更便宜 推理模型高昂的成本特性,加上其使用了大量token,使得推理成本顯著上升。 如果科技企業(yè)希望以更高性價比的部署這些推理模型,那么控制部署成本的上升趨勢至關(guān)重要。 目前,主要實驗室并沒有足夠的能力。以他們期望的規(guī)模服務(wù)這些模型。 微軟仍然無法全面推出其Copilot功能集;Sora無法廣泛使用,為此,奧特曼甚至關(guān)閉了注冊入口。 無論是在預(yù)訓(xùn)練還是推理階段,計算能力依然非常有限。 為此,scaling預(yù)訓(xùn)練仍然可以在降低成本方面產(chǎn)生巨大影響。 具體而言,通過使用比Chinchilla最優(yōu)點多兩個數(shù)量級的FLOPs進行過度訓(xùn)練,可以實現(xiàn)與Chinchilla最優(yōu)點相同的性能,同時將推理成本降低一個數(shù)量級。 scaling預(yù)訓(xùn)練兩個數(shù)量級所需的成本將比以往任何時候都更高,但這仍然是合理的。 超大規(guī)模計算提供商也在繼續(xù)建設(shè)更大的集群,比如馬斯克計劃建立一個擁有100萬塊GPU的集群。 鑒于OpenAI和微軟目前大約在數(shù)十萬塊GPU上運行GPT的推理,對預(yù)訓(xùn)練進行scaling似乎仍然能夠提供所需的成本節(jié)約。 參考資料: https://semianalysis.com/2024/12/11/scaling-laws-o1-pro-architecture-reasoning-infrastructure-orion-and-claude-3-5-opus-failures/#scaling-training-is-cheaper-than-scaling-inference-time-compute 本文來源:新智元 |
原創(chuàng)欄目
IT百科
網(wǎng)友評論
聚超值•精選