原論文:s1: Simple test-time scaling
作者:Niklas Muennighoff, Zitong Yang, Weijia Shi等(斯坦福大學、華盛頓大學、Allen AI研究所、Contextual AI)
論文鏈接:arXiv:2501.19393
代碼倉庫:GitHub - simplescaling/s1
1. 研究背景與問題
近年來,大語言模型的性能提升主要依賴于擴大預訓練計算規模。而最近OpenAI的o1模型展示了一種新的范式——測試時間擴展(Test-time Scaling),即通過增加測試階段的計算量來提升模型性能。然而,OpenAI并未公開其方法,這導致了許多復制嘗試。
核心問題:如何以最簡單的方法實現測試時間擴展并獲得強大的推理性能?
2. 核心思路與方法
論文提出了兩個關鍵創新:
2.1 高效數據策劃(s1K數據集)
作者精心策劃了一個僅包含1,000個問題的高效訓練數據集,基于三個核心原則:
- 質量:確保數據集中的問題和解答格式優良
- 難度:選擇足夠具有挑戰性的問題,需要復雜推理
- 多樣性:涵蓋不同領域的問題(數學、物理、生物等)
數據篩選流程:
- 從16個來源收集初始的59,029個問題
- 使用API質量過濾和格式檢查,減少到51,581個樣本
- 使用模型性能(Qwen2.5-7B和32B均無法解決)作為難度指標
- 在50個不同領域中均衡采樣,確保多樣性
2.2 預算強制(Budget Forcing)技術
這是論文的核心創新,一種簡單但高效的測試時間控制方法:
兩種操作模式:
- 最大限制強制:當模型生成的思考標記超過預設上限時,強制附加思考結束標記分隔符,迫使模型提供當前最佳答案
- 最小限制強制:當模型試圖過早結束思考時,抑制結束標記生成,并插入"Wait"提示詞,鼓勵模型繼續思考和自我糾正
預算強制不需要額外訓練,純粹是解碼時的干預技術,實現簡單但效果顯著。
3. 實驗設計
3.1 模型訓練
- 基礎模型:Qwen2.5-32B-Instruct
- 訓練數據:s1K數據集(1,000個推理樣本)
- 訓練效率:16個H100 GPU,僅需26分鐘
- 訓練參數:5個epoch,batch size=16,學習率1e-5,余弦學習率衰減
3.2 評估基準
選擇了三個廣泛使用的推理密集型基準:
- AIME24:2024年美國邀請數學考試,30個高難度數學問題
- MATH500:500個競賽級數學問題
- GPQA Diamond:198個博士級科學問題(生物、化學、物理)
3.3 測試時間擴展方法對比
研究比較了多種測試時間擴展方法:
- 預算強制(提出的方法)
- 標記條件控制:在提示中指定思考標記上限
- 步驟條件控制:在提示中指定思考步驟上限
- 類別條件控制:使用泛化提示(短/長思考)
- 拒絕采樣:采樣直至生成符合預定長度的回答
評估指標包括:
- 控制性(Control):方法能夠精確控制測試時間計算的程度
- 擴展性(Scaling):性能隨計算增加的提升斜率
- 性能(Performance):方法能達到的最高準確率
4. 實驗結果
4.1 測試時間擴展效果
s1-32B模型在三個基準上都展現了明顯的測試時間擴展能力:
- MATH500:隨思考時間從512增至2048標記,準確率從約75%增至93%
- AIME24:隨思考時間從512增至8192標記,準確率從約20%增至近60%
- GPQA Diamond:隨思考時間從1024增至4096標記,準確率從約40%增至60%
4.2 不同測試時間擴展方法比較
方法 | 控制性(%) | 擴展斜率 | 性能(AIME24) | 評估次數 |
---|---|---|---|---|
預算強制 | 100% | 15 | 56.7% | 5 |
標記條件控制 | 40% | -24 | 40.0% | 5 |
標記條件+預算強制 | 100% | 13 | 40.0% | 5 |
步驟條件控制 | 60% | 3 | 36.7% | 5 |
步驟條件+預算強制 | 100% | 6 | 36.7% | 5 |
類別條件控制 | 50% | 25 | 36.7% | 2 |
拒絕采樣 | 100% | -35 | 40.0% | 5 |
預算強制展示了最佳的綜合表現:
- 完美的控制性(100%)
- 良好的擴展斜率(15)
- 最高的性能(56.7%)
4.3 與現有模型對比
模型 | 樣本數量 | AIME 2024 | MATH 500 | GPQA Diamond |
---|---|---|---|---|
API 模型 | ||||
o1-preview | N.A. | 44.6% | 85.5% | 73.3% |
o1-mini | N.A. | 70.0% | 90.0% | 60.0% |
o1 | N.A. | 74.4% | 94.8% | 77.3% |
Gemini 2.0 Flash | N.A. | 60.0% | N.A. | N.A. |
開源權重模型 | ||||
Qwen2.5-32B-Instruct | N.A. | 26.7% | 84.0% | 49.0% |
QwQ-32B | N.A. | 50.0% | 90.6% | 54.5% |
r1 | >800K | 79.8% | 97.3% | 71.5% |
r1-distill | 800K | 72.6% | 94.3% | 62.1% |
開源權重和數據 | ||||
Sky-T1 | 17K | 43.3% | 82.4% | 56.8% |
Bespoke-32B | 17K | 63.3% | 93.0% | 58.1% |
s1-32B(本文) | 1K | 56.7% | 93.0% | 59.6% |
s1-32B是最具樣本效率的開源推理模型,性能超過o1-preview,并且數據集大小比其他模型少1-800倍。
4.4 數據策劃方法的重要性
數據集 | AIME 2024 | MATH 500 | GPQA Diamond |
---|---|---|---|
1K-random(僅質量) | 36.7% | 90.6% | 52.0% |
1K-diverse(僅多樣性) | 26.7% | 91.2% | 54.6% |
1K-longest(僅難度) | 33.3% | 90.4% | 59.6% |
59K-full(全量數據) | 53.3% | 92.8% | 58.1% |
s1K(質量+難度+多樣性) | 50.0% | 93.0% | 57.6% |
結果證明,三個數據篩選標準(質量、難度、多樣性)的結合對于高效推理訓練至關重要。僅依賴單一標準會導致明顯的性能下降。
5. 關鍵發現與創新
5.1 預算強制的有效性
論文展示了一個簡單但強大的預算強制示例(圖3):
- 當模型錯誤計算"raspberry"中字母’r’的數量(誤認為是2個)
- 預算強制通過插入"Wait"提示模型重新檢查
- 模型進行自我修正,得出正確答案(3個’r’)
這種簡單的干預能提高模型思考質量,無需額外訓練成本。
5.2 測試時間擴展的局限性
研究也發現了測試時間擴展的兩個主要限制:
- 性能平緩化:增加思考時間到一定程度后,性能提升趨于平緩
- 上下文窗口限制:模型的上下文窗口限制了能使用的最大思考標記數
5.3 拒絕采樣的反向擴展現象
有趣的是,研究發現使用拒絕采樣時出現了反向擴展現象:隨著允許的思考標記數增加,準確率反而下降。這表明:
- 較短的生成往往來自模型一開始就走在正確軌道的情況
- 較長的生成往往來自模型犯了錯誤需要回溯或自我質疑的情況
6. 結論與啟示
s1論文提供了關于測試時間擴展的重要啟示:
- 簡單有效:簡單的方法(1K樣本+預算強制)可以實現與復雜方法相媲美的性能
- 資源高效:訓練僅需7個H100 GPU小時,遠低于競爭方法
- 開源透明:全部代碼、數據和模型完全開源,促進社區研究
論文表明,語言模型在預訓練中已經獲得了推理能力,只需要適當的監督微調和測試時干預就能激活這些能力。這為構建高性能、低成本的推理系統提供了新的可能性。
7. 未來研究方向
研究指出了幾個有前景的未來方向:
- 并行擴展補充:結合并行方法(如REBASE)可以突破順序擴展的上下文窗口限制
- 預算強制改進:嘗試輪換不同提示詞或結合頻率懲罰來避免重復循環
- 與強化學習結合:探索預算強制是否能與RL訓練模型結合獲得更好的外推性能
這項工作為推理模型研究建立了新的基準,并為測試時間計算優化提供了實用框架。