他拿 Qwen 小模型來解數學題與照指示格式回答,想讓它在不加 GPU 預算的前提下變得更可靠
AI 模型的「大腦」其實就是一大堆數字,叫做 權重模型裡的可調數字,決定它看到輸入後會怎麼反應,像收音機上成千上萬個旋鈕的位置。過去想讓模型變聰明,標準做法是 訓練讓模型反覆做題、對答案、一點一點微調權重的過程,背後靠 Adam、Muon 這類 優化器一種固定公式的小程式,負責決定每次訓練要把哪些權重往哪個方向調多少 來完成。優化器很強,但它是「死公式」,並不理解每個數字在幹嘛。
這篇研究(來源:rikiyat.github.io 的部落格文章)提出一個新玩法,叫做 Weight-Space Programming(權重空間程式設計):讓一個前沿大語言模型 GPT-6 Astra,直接像讀程式碼一樣讀另一個網路的權重,判斷它在做什麼、哪裡出了問題,然後直接手動改數字。整個過程不跑 梯度下降訓練時最常用的方法:算出每個權重該往哪邊調才會讓錯誤變小,再一小步一小步照著調,也不允許 Astra 寫訓練迴圈。
研究團隊報告了幾個結果:光看原始權重,Astra 就能說出網路被訓練來做什麼;不給任何環境回饋,它能從零寫出小型遊戲網路,表現勝過用 PPO一種常見的強化學習訓練方法,讓 AI 靠玩遊戲、拿分數來學習 訓練了 1 億步的網路;對 Qwen3.5-0.8B,Astra 找出 Qwen 模型卡(官方說明文件)自己警告過的「推理迴圈」問題,只改了約 0.016% 的權重(0.8B 模型約相當於 12.8 萬個數字),MATH-500 數學測驗就從 7.9% 升到 48.1%,而且在同樣的取樣設定下,IFEval(照指示做事的測驗)分數也變成約 3 倍。作者自己強調這是「非常早期的結果」,請把它當成一個值得觀察的方向,而不是定論。
| 方式 | 誰在決定怎麼改 | 需要訓練迴圈嗎 | 特點 |
|---|---|---|---|
| 傳統優化(Adam、Muon) | 固定公式 | 需要 | 通用、穩定,但不理解每個數字的意義 |
| 編譯器/專門網路產生權重 | 形式化程式或另一個訓練好的網路 | 視情況 | 需要事先有形式化描述或額外訓練 |
| Weight-Space Programming | 會推理的 LLM(如 Astra) | 不需要 | 靠讀懂權重意義來改;原文稱結果仍屬早期 |
這是我們為了教學寫的概念演練(不是原文的程式碼):示範「只改極少數權重」到底有多少比例。重點是看懂 0.016% 是多小的數字。
import numpy as nptotal = 800_000_000edited = int(total * 0.00016)w = np.zeros(1000)idx = np.array([12, 407, 733])w[idx] += 0.5print(edited, len(idx) / len(w))