![]()
這項由加拿大阿爾伯塔大學計算科學系及阿爾伯塔機器智能研究所(Amii)的研究團隊完成的工作,發表于2026年國際學習表征會議(ICLR 2026),論文編號為arXiv:2604.04987,感興趣的讀者可通過該編號檢索完整原文。
每一次和AI對話,它在屏幕上一個字一個字地"打"出回答時,你有沒有想過:這背后究竟發生了什么?為什么有時候感覺AI反應很快,有時候又好像在慢慢思考?這篇研究正是針對這個問題——它不改變AI的"智力",只是讓AI"說話"的過程變得更快、更聰明。
當前的大型語言模型(就是ChatGPT、Qwen這類AI)每生成一個字,都需要把整個龐大的模型從內存里"搬"一遍,這就好比你每次要查一個詞,都得把整本詞典從書架搬下來,翻完再放回去。顯然,這既耗時又耗力。于是,研究者們早就想出了一個"小助手"策略:先讓一個小而快的AI打草稿,猜出接下來可能要說的幾個詞,然后再讓大模型快速檢驗這些詞對不對。如果猜對了,直接用;猜錯了,才由大模型親自生成正確答案。這個策略叫做"推測采樣"(Speculative Sampling),就像你寫報告時先讓實習生寫初稿,你只需要審核而不用從頭寫。
然而,阿爾伯塔大學的研究團隊發現,現有的這套機制存在一個根本性的"過于謹慎"問題,而他們提出的新方法——Cactus(受約束接受推測采樣)——正是為了打破這種不必要的保守,同時又不讓AI"胡說八道"。
一、小助手的草稿,為何總被挑剔?
現有的推測采樣有一條鐵律:大模型審核草稿時,只有當小助手猜的詞在概率上與大模型完全一致時,才會接受。換句話說,大模型的標準是"你必須和我想的一模一樣"。這聽起來很嚴格,但在實際生活中,這種嚴格是沒必要的。
以餐廳點菜為例。假設你告訴服務員"我想要一杯果汁",服務員理解成"橙汁"并直接端來,你大概不會拒絕——因為橙汁也是果汁,符合你的意圖。但現有的推測采樣機制相當于:只要服務員猜的不是你腦海中那一刻具體想到的那種果汁,就必須重新問一遍。這樣做當然準確,但實在太慢。
研究人員進一步指出,現實中用大模型生成文字時,用戶本身就會使用各種調節手段——比如"top-k采樣"(只從最可能的幾個詞里選)、"溫度采樣"(讓回答更隨機一些)——這些手段本身就已經允許了與原始概率分布之間存在一定偏差。既然用戶自己都不要求百分之百精確,那審核草稿時的標準為何還要如此苛刻?
正是基于這個洞察,研究團隊著手設計一種"有彈性的審核標準",讓更多合理的草稿詞得以通過,同時又確保最終結果不會偏離大模型的"意圖"太遠。
二、另一種"寬松"方案的陷阱
在Cactus之前,已經有人嘗試過"寬松審核"的路子,這就是"典型接受采樣"(Typical Acceptance Sampling,簡稱TAS)。TAS的核心思路是:根據大模型對這個詞的"信心程度"(用信息論里的"熵"來衡量),決定是否接受草稿詞。如果大模型對這個位置本來就沒什么把握,那接受小助手的猜測也無妨。
這個想法有一定道理,卻暗藏風險。阿爾伯塔大學的研究團隊通過嚴格的數學分析發現,TAS實質上是在用一種叫做"交叉熵"的指標做約束。交叉熵可以被分解為兩個部分:一部分叫KL散度(衡量兩個概率分布之間的距離),另一部分叫熵(衡量概率分布本身的"混亂程度")。問題在于,交叉熵允許這兩個部分相互"抵消"——也就是說,即便最終輸出的分布和大模型的原始分布相差甚遠,只要輸出的詞足夠"確定"(熵為零),約束依然滿足。
用更形象的方式來理解:TAS就好像一個質檢員,他的標準是"產品要輕",但他忘記了重量只是綜合品質的一部分。于是制造商為了通過檢測,把所有配件都換成最輕的廉價材料,重量達標了,質量卻一塌糊涂。TAS在遇到大模型"本來就很有把握"的那些詞時——也就是大模型原始分布信息量很大的時候——會出現嚴重偏差,把AI引向質量較低的輸出。
研究團隊在實驗中也驗證了這一點:在需要精確科學知識的GPQA基準測試(一套由領域專家設計的研究生級別科學題)上,TAS的正確率有時候反而比什么都不做的標準推測采樣還低。
三、把"審核標準"變成一道數學題
阿爾伯塔大學研究團隊的核心貢獻,是把"如何制定審核標準"這個問題,重新表述成了一個"有約束的優化問題"。
這是什么意思?用烤蛋糕來類比:你想讓蛋糕盡可能蓬松(對應"接受率盡可能高"),但蛋糕的口味不能和食譜偏差太多(對應"與大模型分布的距離不能超過某個閾值δ")。在這個框架下,每次小助手猜出一個詞,系統會自動計算:在不超出"口味偏差上限"的前提下,這個詞最多能被接受的概率是多少?
數學上,這被表述為一個關于h(目標分布)的最大化問題:最大化草稿詞n被接受的概率,同時要求h必須是合法的概率分布,且h與大模型真實分布q之間的f散度(一種衡量兩個概率分布距離的通用指標)不超過δ。這里δ是一個可以手動調節的參數,δ越大,允許的偏差越大,接受率越高,但輸出質量可能下降;δ越小,輸出越接近原始大模型,但速度提升有限。
研究團隊嚴格證明了這個優化問題的最優解(定理2)。解的形式非常簡潔:對于被草稿選中的那個詞n,將它的概率提升到γ*;對于其他所有詞,將它們的概率按比例等比縮小,使總概率之和仍為1。γ*是一個方程的根,這個方程恰好描述了"分布偏差恰好等于δ時"的臨界狀態。
更進一步,研究團隊還證明了整個算法的整體輸出分布(定理3):雖然每次針對不同的草稿詞n,都會解出一個不同的h,但從全局來看,算法整體輸出的分布與大模型之間的距離是可以被嚴格控制的。具體來說,整體偏差不會超過Γ(δ),而Γ是一個連續、單調遞增且在δ=0時取值為0的函數——這意味著當δ設為0時,整個算法退化回標準的無損推測采樣,沒有任何偏差;而隨著δ增大,偏差也受到良好控制,不會突然失控。
四、Cactus:一個優雅的近似解
理論上的最優解雖然美好,但有一個小麻煩:當用KL散度(信息論中最常用的分布距離衡量方式)作為約束時,γ*滿足的方程是一個"超越方程",包含形如x·log(x)這樣的項,無法直接解出解析解,需要數值求解,計算量較大。
阿爾伯塔大學的研究團隊采用了一個精妙的近似策略:對方程的左側函數Φ(γ)在γ=q(n)處做二階泰勒展開。泰勒展開是數學中一種常用的"局部線性化"技術,就像用一段平滑的拋物線去近似一個彎彎曲曲的曲線,在曲線的某個特定點附近,兩者非常接近。
當δ比較小、γ*接近q(n)時,這個近似非常準確。經過這個近似,γ*有了極其簡潔的閉合形式:
γ* = min{ q(n) + √(2δ·q(n)·(1-q(n))), 1 }
其中q(n)是大模型對草稿詞n給出的概率,δ是超參數,√是平方根符號。整個計算只需要讀取n這一個詞的概率,做一次乘法、一次開方,就完成了。不需要訪問整個詞表,不需要數值迭代,計算開銷極低。
這個公式的含義也非常直觀:給草稿詞n的概率加上一個"獎勵加成",獎勵的大小由兩個因素共同決定——一是δ,δ越大,獎勵越多;二是q(n)·(1-q(n)),這個值在q(n)=0.5時取得最大值,也就是說當大模型對這個詞的把握度處于"中等"時,獎勵最大。這非常合理:大模型非常確定的詞(q(n)接近1)早就會被接受,不需要獎勵;大模型幾乎排除的詞(q(n)接近0)加再多獎勵也意義不大;只有大模型"有些把握但不完全肯定"的詞,才最值得加獎勵來提升接受率。
研究團隊還進一步證明(推論6):當大模型對草稿詞的概率q(n)不超過0.5時,這個近似解不會超過真實的γ*,也就是說近似解在這種情況下是"保守"的,嚴格滿足KL散度約束。這給了整個方法一個有力的理論保證。
五、實驗:在三個考場上的成績單
為了全面檢驗Cactus的效果,研究團隊選擇了三類風格迥異的測試題目,相當于讓AI同時參加三場性質完全不同的考試。
第一場考試是GSM8K,一套小學數學應用題集,包含約1300道題,考察AI解決實際數學問題的能力。第二場是IFEval,一套指令遵循測試,包含500道"可驗證指令",比如"寫一篇超過400字的博客文章"——考官可以直接數字數來檢驗AI有沒有照做。第三場是GPQA鉆石級測試,約200道由領域專家設計的研究生級科學難題,比如關于黑洞熵的計算,難到連搜索引擎都幫不上太多忙。
研究團隊使用了阿里云的Qwen 3系列模型作為測試平臺,原因是這個系列提供了從0.6B到32B參數規模的多種型號,方便配對使用(小的當草稿員,大的當審核員),而且這些模型都有內置的"思維鏈推理"能力,會生成較長的回答,非常適合檢驗推測采樣的加速效果。所有實驗都采用推薦的生成參數:top-p為0.95,top-k為20,溫度為0.6。
以Qwen 3 8B作為審核大模型、Qwen 3 0.6B作為草稿小模型為例,在每次草稿長度為20個詞的設置下,標準推測采樣(SpS)平均每次能接受5.44個草稿詞,TAS能接受7.23個,而Cactus(δ=0.75)能接受7.50個,Cactus(δ=1.0)能接受7.61個——Cactus在接受率上全面領先。
在正確率方面,這種差距更加明顯。在GSM8K上,Cactus(δ=0.75)得分86.66,高于SpS的84.46,也高于TAS的85.51,同時大模型獨立運行的得分是84.31——也就是說Cactus不僅比SpS快,還比大模型單獨運行更準確。在GPQA這道最難的考場上,TAS的表現出現了明顯下滑(38.89,低于SpS的42.93),而Cactus(δ=0.75)得分40.01,保持穩定。
換用更大的Qwen 3 14B作為審核模型時,結果更加突出。在GPQA上,Cactus(δ=0.75)達到45.46分,不僅大幅超越SpS(39.39)和TAS(38.89),甚至超越了大模型獨立運行的40.07分。這個現象在研究團隊的多組實驗中反復出現,他們在論文末尾提出了一個假說:Cactus實際上產生了一種"健康的集成效應",通過聰明地融合小模型和大模型的預測,有時能得到比單獨使用大模型更好的結果。
六、被拒絕的詞減少了多少?
除了接受率和準確率,研究團隊還統計了整個生成過程中被"浪費"掉的詞的數量——也就是草稿詞被拒絕、需要大模型重新生成的次數。這個指標既反映了接受率,也反映了生成文字的總長度(因為接受低質量草稿詞可能導致AI繞彎子、說更多廢話,最終生成的文字更長但效率反而下降)。
以大模型14B配小模型0.6B、草稿長度20為例:SpS的拒絕次數作為基準(100%),TAS將拒絕次數降低了32%,而Cactus(δ=1.0)將拒絕次數降低了34%至50%(不同任務有所不同)。Cactus在幾乎所有任務上都比TAS減少了更多的"無用功",尤其在GPQA上,Cactus(δ=1.0)將拒絕次數降低了50%,而TAS只降低了46%。
七、在真實計算機上跑起來有多快?
理論指標固然重要,但最終用戶關心的是實際速度。研究團隊在配備A100 40GB顯卡的服務器上,使用工業級推理框架vLLM進行了實際速度測試。
以8B大模型為例,在草稿長度m=20的設置下,Cactus(δ=0.75)的實際速度比TAS略快,比SpS明顯更快。在14B大模型、草稿長度m=10的設置下,Cactus(δ=1.0)實現了接近1.9倍的速度提升(相對于完全不使用推測采樣的標準生成方式)。
研究團隊還在Spec-Bench這個專門評測推測采樣方法的綜合基準上進行了測試,涵蓋多輪對話、翻譯、摘要、問答、數學和檢索增強生成六種不同場景。Cactus(δ=1,完全不針對性調參)在所有六個場景上都超越了標準推測采樣,整體加速比達到1.88倍,而SpS是1.81倍。
八、換了其他AI家族,還管用嗎?
一個方法在一家公司的模型上效果好,不代表它是通用的。研究團隊專門測試了三個完全不同來源的模型系列:谷歌的Gemma(2B+9B配對)、深度求索的DeepSeek R1(1.5B+7B配對)、Meta的LLaMA(1B+8B配對)。
在DeepSeek R1和Gemma上,Cactus的表現明顯優于TAS。在LLaMA上,Cactus與SpS和TAS相當,保持了穩健性。研究團隊還額外測試了一個樸素的"top-k解碼"基線方法——只要草稿詞落在大模型概率最高的前5個詞里就接受——結果發現這種方法的正確率在所有測試中都明顯低于大模型獨立運行。這再次證明,簡單粗暴地"放寬標準"是行不通的,需要像Cactus這樣有原則的約束機制。
九、當δ調得很大,會發生什么?
研究團隊做了一個有趣的實驗:把δ從接近0(等同于標準推測采樣)一直調大到極大值(幾乎完全接受所有草稿詞),觀察正確率如何變化,并與"直接混合兩個模型概率"的方法做對比。
結果發現,在相同的接受率水平下,Cactus的正確率始終高于簡單混合。例如,當接受率約為90%時,Cactus(δ=1e4)在GSM8K上的得分仍超過86分,而混合方法(混合比例α=0.9)的得分已經降到72分以下。即使接受率高達96.3%,Cactus還能保持80分以上的得分。
研究團隊還附上了一個具體案例(見論文附錄表6):對同一道數學題,δ=1時AI給出了清晰、簡潔、正確($18)的推理過程;而δ=10^6時,AI生成了一段冗長且混亂的推理,最終因為錯誤理解"每個松餅用4個雞蛋"這一信息,得出了錯誤答案($26)。這個案例生動地說明:過大的δ會讓AI接受低質量的草稿詞,進而產生誤導性的推理鏈,最終釀成錯誤。
十、與其他同類方法相比
研究團隊在附錄中還額外對比了兩種更接近Cactus思路的方法。
第一種是"指導解碼"(Mentored Decoding),由一篇博客文章提出,其思路是通過二分搜索找到滿足KL散度約束的目標分布。理論上這和Cactus非常相似,但關鍵區別在于:指導解碼每次都需要進行數值優化迭代,而Cactus只需計算一個平方根。實驗結果顯示,在GSM8K上,使用指導解碼的總運行時間比標準SpS還要慢20%——優化的計算開銷把速度提升完全抵消了。更糟糕的是,指導解碼在IFEval上的正確率大幅下降,研究團隊認為這與它使用了"反向KL散度"有關(KL散度在兩個參數位置互換時有不同的行為特性)。
第二種是"推測級聯"(SpecCas),它的思路是動態決定某個草稿詞是否需要經過大模型審核,實質上相當于在不同步驟中以不同比例混合兩個模型。這種方法在接受率上非常激進,但正確率下降也很明顯——即使研究團隊特意選用了對生成質量更友好的超參數,SpecCas在GPQA上的得分仍然大幅低于Cactus和TAS,說明缺乏明確的散度控制會導致不可控的質量損失。
這里有一個整體上的規律值得關注:提高接受率的方法很多,但能在提高接受率的同時嚴格控制質量偏差的方法,只有Cactus。這正是其理論框架的獨特價值所在。
說到底,Cactus做的事情并不神秘,但背后的思考非常嚴謹。它相當于給AI的"草稿審核員"制定了一套更科學的工作守則:不再要求草稿員猜的每個詞都必須和自己一模一樣,而是允許合理的偏差,只要這個偏差不超過一個明確的上限。這個上限由KL散度來衡量,由超參數δ來控制,由一個簡潔的平方根公式來計算,整個過程幾乎不增加任何額外的計算負擔。
對普通用戶來說,這意味著:未來使用AI寫文章、做題、回答問題時,相同的大模型可以跑得更快,同時質量不打折扣,甚至在某些情況下還會更好。對AI開發者來說,Cactus提供了一個即插即用、無需重新訓練模型的加速方案,可以直接應用到現有的推測采樣框架中。
當然,研究團隊也坦誠地指出了一些尚未探索的方向:目前的實驗最大只覆蓋到32B參數規模的模型,更大的模型是否有不同的行為規律還需要進一步研究;如果專門針對Cactus來微調草稿模型,效果是否會更好,也是值得探索的方向;此外,Cactus有時候表現得比大模型單獨運行還要好這一現象,背后的"集成效應"機制也很值得深挖。
如果你對這套方法的數學細節感興趣,可以通過arXiv編號2604.04987找到完整論文,其中包含全部定理的嚴格證明和更多實驗數據。
Q&A
Q1:推測采樣(Speculative Sampling)為什么能加快大模型的生成速度?
A:大模型每生成一個詞都需要把整個模型參數從內存搬運一遍,非常耗時。推測采樣讓一個小模型先快速猜出接下來幾個詞,然后大模型一次性批量驗證這些猜測。如果猜對了,相當于大模型一次"搬運"就生成了多個詞,大幅減少了搬運次數,從而加速生成。
Q2:Cactus里的參數δ應該怎么設置?
A:δ控制允許輸出分布偏離大模型的最大程度。δ越小,越接近標準推測采樣,質量保障更強但速度提升有限;δ越大,接受率越高,速度越快,但質量可能下降。研究論文中在多數任務上δ=0.75或δ=1.0表現良好,可以作為初始值,再根據具體任務的質量要求微調。
Q3:Cactus和TAS(典型接受采樣)的根本區別是什么?
A:兩者都允許草稿詞有一定偏差,但衡量偏差的方式不同。TAS用交叉熵約束,這會讓輸出變成極度確定的分布,丟失大模型原始的豐富信息。Cactus用KL散度約束,嚴格控制新分布與大模型分布之間的距離,既提高了接受率,又保留了大模型輸出的多樣性和精確性,在高難度任務上表現尤為突出。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.