分數暴漲未必是能力變強:從 Astra 改 Qwen 權重看思考模型評測的截斷與重複陷阱,附 5 項檢查清單

分數暴漲未必是能力變強:從 Astra 改 Qwen 權重看思考模型評測的截斷與重複陷阱,附 5 項檢查清單

作者注:從 Astra 改寫 Qwen3.5-0.8B 權重的實驗覆盤出發,講清思考模型評測中“答錯”與“沒寫完”的區別,以及按截斷拆分結果的方法。

11 月 2 日,MIT CSAIL 的四位研究者發佈博客《權重空間編程的火花》。文中稱 GPT-6 Astra 只改動了 Qwen3.5-0.8B 約 0.016% 的參數,MATH-500 成績就從 7.9% 漲到 48.1%,GSM8K 和 IFEval 也大幅上漲,隨即被大量轉發爲“AI 改 AI 大腦”的標誌性事件。

這不是要否定這項研究。研究的公開倉庫裏有 1,125 次調用的逐輪日誌,媒體覆盤時按逐題記錄重新統計,得出的結論更樸素:分數上漲幾乎全部來自“模型終於能把答案寫完”,而不是“模型變得更會做數學”。

核心價值:本文不重複討論 RSI 是否成立。我們把這次覆盤整理成一套可複用的思考模型評測方法,幫助你在選型、調參或上線前判斷:分數變化到底來自能力差異,還是來自重複循環導致的截斷。

thinking-model-eval-truncation-repetition-trap-astra-qwen-zh-hant-image-0


思考模型評測事件核心信息速覽

先把事件裏與評測相關的關鍵事實集中列出來。以下數據均來自原博客和媒體對公開倉庫的覆盤。

信息項 詳情
發佈時間 2026 年 11 月 2 日,MIT CSAIL 研究者博客
被改模型 Qwen3.5-0.8B,改動 131,072 個權重,約佔 0.016%
宣稱成績 MATH-500 7.9%→48.1%;GSM8K 13.8%→67.1%;IFEval 21.0%→62.3%
評測設置 思考模式開啓,輸出上限 32,768 token,溫度 0.6
基線狀態 約 93% 的回答寫到上限仍未停止
修改後狀態 撞到上限的比例從 93% 降到 33%
覆盤結論 補丁主要修復了重複循環,沒有提升數學能力

思考模型評測中的“截斷”從哪裏來

Astra 第一次讓 Qwen 跑 96 道練習題,只答對 11 道。剩下的 85 道並非算錯,而是全部寫到長度上限還沒停下來,截斷文本尾部按八詞片段統計,約 95% 是重複內容。那 11 道正常結束的題,全部答對了。

這說明基線成績低的主因是“交不上卷”,而不是“不會做”。值得一提的是,研究者給 Astra 的第一輪提示詞裏,就把“被 token 上限截斷,往往是在思考裏重複自己”列爲失敗類型之一,並以“修好驅動重複的東西”作爲有效改進的例子。Astra 的最終報告也寫明,它瞄準的是重複,而不是數學知識。

thinking-model-eval-truncation-repetition-trap-astra-qwen-zh-hant-image-1


思考模型評測數據拆分:漲幅全部集中在截斷題

覆盤中最有說服力的,是一組 1,152 道留出練習題的修改前後配對測試。只要按“原本是否被截斷”把題目分成兩組,結論就非常清楚。

題目分組 題數 修改前正確率 修改後正確率 變化
原本能寫完的題 114 93.9% 93.9% 無變化
原本被截斷的題 1,038 1.4% 56.7% 全部漲幅來源
由錯轉對 579 — — 其中 576 道原本被截斷
由對轉錯 5 — — 噪聲量級

還有一個容易被忽略的細節:修改前“寫完但答錯”的題只有 7 道,修改後變成 245 道。循環停止之後,模型真實的計算錯誤才暴露出來。在正式的 MATH-500 上,平均作答長度從 30,868 token 降到 22,037 token,下降部分同樣集中在原本撞到上限的回答上。

用對照模型驗證思考模型評測結論

研究者自己也意識到了這一點,於是在 Gemma 3 270M 上做了同樣的實驗。兩次實驗的對比,正好說明“搬開障礙”和“增加能力”是兩回事。

對比項 Qwen3.5-0.8B Gemma 3 270M
撞到上限的比例 約 93% 約 8.5%
主要失敗類型 重複循環,寫不完 算術錯誤、推理步驟不成立
改權重後 MATH-500 7.9%→48.1% 6.8%→最多 7.7%
改進性質 搬開擋住能力的障礙 幾乎無法增加原本沒有的能力

原博客正文也承認:改權重能搬開擋住能力的障礙,加不上模型沒有的能力。對評測者來說,這句話的意義在於:同樣的“分數大漲”,在不同的失敗結構下含義完全不同。

thinking-model-eval-truncation-repetition-trap-astra-qwen-zh-hant-image-2


思考模型評測的參數陷阱:溫度與思考開關

這次爭議還有一個前提常被忽略:評測設置本身就容易誘發循環。覆盤援引的 Qwen3.5-0.8B 官方模型卡信息,與研究者的實際設置存在差異。

參數項 模型卡說明 實驗評測設置 影響
思考模式 0.8B 出廠默認關閉 強制開啓 小模型更易陷入思考循環
溫度(思考模式文本任務) 推薦 1.0 0.6 0.6 在模型卡中對應看圖與寫代碼任務
循環處理建議 調整採樣參數,流式輸出及時截斷 寫到 32,768 token 上限 大量回答被判爲失敗

需要說明的是,以上模型卡內容來自媒體覆盤的轉述,建議你在評測前直接覈對 Qwen 官方模型卡原文。這裏要強調的是方法:同一個模型,換一組採樣參數,“基線”就可能完全不同。如果基線本身是在易循環的設置下測出來的,任何讓模型“停得下來”的改動都會顯得像能力飛躍。


思考模型評測檢查清單:先拆截斷,再下結論

把這次覆盤的教訓抽象出來,可以得到一套適用於任何思考模型的評測流程。不管你是在選型、調參,還是驗證某個微調或提示詞改動,都可以按下表逐項覈對。

檢查項 具體做法 判定信號
1. 按截斷拆分 統計 finish_reason == "length" 的比例,分組計算正確率 截斷率高於 10% 時,總分不可直接比較
2. 檢查重複率 對截斷回答的尾部做 n-gram 重複統計 尾部重複率高,說明是循環而非推理過長
3. 覈對採樣參數 對照模型卡覈對溫度、top_p、思考開關 與官方推薦不一致時,要單獨註明
4. 配對比較 修改前後逐題對照,統計由錯轉對和由對轉錯 漲幅若集中在截斷組,屬於“搬開障礙”
5. 橫向對照 相同提示詞與參數下加入低截斷率的對照模型 對照模型不漲,說明改進不是能力提升

🎯 評測建議:做橫向對照時,最麻煩的是爲每家模型分別寫一套調用代碼。通過 API易 apiyi.com 的 OpenAI 兼容接口,可以用同一份腳本、同一組提示詞和參數調用多家主流模型,方便把“截斷率”作爲固定統計列輸出。

思考模型評測腳本:極簡示例

下面的代碼統計一批題目中被長度上限截斷的比例。finish_reason 爲 length 即表示撞到了 max_tokens:

import openai

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # API易 OpenAI 兼容接口
)

questions = ["計算 17 * 23 的結果", "求 1 到 100 的整數和"]
truncated = 0
for q in questions:
    r = client.chat.completions.create(
        model="your-thinking-model",  # 替換爲實際模型名
        messages=[{"role": "user", "content": q}],
        max_tokens=4096,
    )
    if r.choices[0].finish_reason == "length":
        truncated += 1
print(f"截斷率: {truncated / len(questions):.1%}")
查看完整實現代碼(含分組正確率與尾部重複率)
import openai
from collections import Counter

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"
)

def tail_repetition_ratio(text: str, n: int = 8, tail_words: int = 400) -> float:
    """統計文本尾部 n-gram 的重複比例(中文可改爲按字符切分)"""
    words = text.split()[-tail_words:]
    if len(words) < n * 2:
        return 0.0
    grams = [tuple(words[i:i + n]) for i in range(len(words) - n + 1)]
    counts = Counter(grams)
    repeated = sum(c for c in counts.values() if c > 1)
    return repeated / len(grams)

def evaluate(dataset, model, temperature, max_tokens, judge):
    """dataset: [(question, answer)], judge: 判斷答案是否正確的函數"""
    stats = {"done": [0, 0], "truncated": [0, 0], "loop": 0}
    for q, ans in dataset:
        r = client.chat.completions.create(
            model=model,
            messages=[{"role": "user", "content": q}],
            temperature=temperature,
            max_tokens=max_tokens,
        )
        choice = r.choices[0]
        text = choice.message.content or ""
        group = "truncated" if choice.finish_reason == "length" else "done"
        stats[group][0] += 1
        stats[group][1] += int(judge(text, ans))
        if group == "truncated" and tail_repetition_ratio(text) > 0.5:
            stats["loop"] += 1

    for g in ("done", "truncated"):
        total, correct = stats[g]
        rate = correct / total if total else 0
        print(f"{g}: {total} 題,正確率 {rate:.1%}")
    t = stats["truncated"][0]
    print(f"截斷題中疑似循環: {stats['loop']} / {t}")
    return stats

注意,不同模型開啓或關閉思考模式的參數並不統一,有的通過請求字段控制,有的通過模型名區分,有的寫在提示詞模板裏。思考內容是否計入 max_tokens、是否單獨返回,也因模型而異,評測前務必逐一查閱對應文檔。

🚀 快速上手:如果只是想先驗證這套拆分方法,可以在 API易 apiyi.com 註冊後用免費測試額度,挑兩三個思考模型跑幾十道題,先看截斷率差異,再決定是否擴大評測規模。


思考模型評測事件的影響分析

對開發者的影響

  • 總分不再可信:只看總正確率,會把“沒寫完”和“答錯”混爲一談。上線前的評測報告至少應包含截斷率和分組正確率兩列。
  • 調參的收益可能被誤讀:調高輸出上限、調整溫度或加入重複懲罰,都可能大幅提升分數,但這屬於“搬開障礙”,不代表模型換了。
  • 生產環境同樣受影響:評測中的截斷在線上表現爲響應超長、費用失控和用戶等待。流式輸出配合循環檢測與提前截斷,是模型卡本身給出的建議。

對模型評估研究的影響

  • “大幅提升”需要分解證據:這次覆盤表明,一個看起來是能力飛躍的結果,按截斷拆分後可能只是 bug 修復。今後任何針對小模型或思考模型的改進聲明,都值得追問截斷率變化。
  • 對照組設計更受重視:Gemma 3 270M 的補充實驗,以及 Astra 自己做的隨機方向對照(成績只變動約 1.5 個百分點),都說明對照設計是區分真信號與噪聲的關鍵。

常見問題 FAQ

Q1:什麼是思考模型評測中的“截斷陷阱”?

指模型在思考過程中陷入重複循環,一直寫到 token 上限也沒給出答案,被評測系統判爲錯誤。此時低分反映的是“沒寫完”,而不是“不會做”。

Q2:截斷導致的低分和能力不足導致的低分怎麼區分?

把題目按是否撞到上限分成兩組,分別計算正確率。如果寫完的題正確率很高,截斷組接近零分,問題就在循環;如果寫完的題本身錯誤很多,才說明能力不足。Qwen 與 Gemma 的對比正好是這兩種情況。

Q3:這次 Astra 改 Qwen 的實驗是什麼時候發佈的?

原博客於 2026 年 11 月 2 日發佈,媒體基於公開倉庫日誌的覆盤文章發佈於 11 月 5 日。本文數據以覆盤爲準,模型卡細節建議覈對 Qwen 官方原文。

Q4:這套評測方法適合哪些場景?

– **模型選型**:比較不同思考模型在數學或代碼任務上的表現
– **參數調優**:評估溫度、上限、思考開關改動的真實效果
– **改進驗證**:判斷微調、提示詞或權重編輯帶來的是能力提升還是障礙移除

Q5:如何用統一接口對多個思考模型做橫向評測?

1. 在 API易 apiyi.com 註冊賬號並獲取 API Key
2. 將本文腳本的 base_url 設爲 `https://api.apiyi.com/v1`
3. 固定提示詞、溫度和 max_tokens,只替換模型名,輸出截斷率與分組正確率

不同模型的思考開關寫法不同,需要按各自文檔調整請求參數。

Q6:這套拆分方法有哪些侷限?

截斷拆分只能識別“沒寫完”,無法判斷寫完的答案是否靠運氣答對;尾部重複率閾值需要按語言和任務調整,中文文本建議按字符而非空格切分。此外,部分模型的思考內容不完整返回,需要結合 usage 中的 token 統計判斷。如果預算有限,可以先在 API易 apiyi.com 用小樣本試跑,確認統計口徑後再擴大規模。


思考模型評測核心要點 Key Takeaways

  • 漲幅來源:Qwen 寫完的 114 題前後都是 93.9%,漲幅全部來自截斷題
  • 失敗類型:基線 93% 的回答撞到上限,尾部約 95% 是重複內容
  • 參數差異:評測溫度 0.6 與模型卡推薦的思考文本溫度 1.0 不一致
  • 對照證據:Gemma 3 270M 截斷率低,改權重後 MATH-500 僅提升不到 1 個百分點
  • 方法核心:先按 finish_reason 拆分截斷,再比較正確率
  • 上手方式:用 API易 apiyi.com 統一接口,在相同參數下對多模型跑截斷統計

總結

這次“Astra 改 Qwen 權重”的爭議,給所有做思考模型評測的人提了個醒:

  1. 分數暴漲要先拆分:按是否撞到 token 上限分組,看漲幅來自哪一組
  2. 參數是基線的一部分:溫度、思考開關和輸出上限必須對照模型卡覈實並寫進報告
  3. 區分搬開障礙與增加能力:用低截斷率的對照模型驗證改進的真實性質

下次看到“某改動讓成績翻幾倍”的結論時,先問一句:截斷率變了多少?這一個問題,往往比總分更能說明真相。

如果你正準備對幾款思考模型做上線前評測,推薦通過 API易 apiyi.com 用同一套腳本和參數跑一輪截斷率統計,再決定選型方向。


📚 參考資料

  1. 硅星人 Pro 覆盤文章(36氪轉載):刷屏的「Astra 改造 Qwen 大腦」跟我們想要的 RSI 沒多大關係
  2. 鏈接: 36kr.com/p/4056494372181124
  3. 說明: 基於公開倉庫逐題記錄重算的配對測試數據,本文核心數據來源

  4. MIT CSAIL 研究者博客:Sparks of Weight-Space Programming

  5. 說明: 實驗原始描述與結果表,建議對照原文閱讀實驗 8 的設置

  6. Qwen3.5-0.8B 官方模型卡:採樣參數與思考模式說明

  7. 說明: 覈對思考模式默認狀態、推薦溫度及循環處理建議

作者: APIYI 技術團隊
技術交流: 歡迎在 API易 官網 apiyi.com 聯繫我們,更多調用說明可訪問 docs.apiyi.com 文檔中心

Similar Posts