Fireworks 發表的 Ember-1 不是更聰明的模型,而是比較不囉嗦的模型。它以開源推理模型 Kimi K3 為底,透過訓練學會刪掉不必要的思考,官方宣稱用約四成更少的 token,得到跟 K3 相當的品質。
值得拆解的是背後的算術:為什麼「想太多」在 Agent 工作裡會貴得不成比例?為什麼把推理強度的旋鈕轉低不能解決,一定得重新訓練?
帳單的大頭是思考,不是答案
推理模型(reasoning model)回答前會先輸出一段內部思考,再給出答案。Fireworks 觀察到,K3 產生的 token 大多花在思考上,有時超過 90%。
依 K3 的公開 API 價格,輸出每百萬 token 15 美元,未快取的輸入是 3 美元,快取過的輸入只要 0.3 美元。思考 token 屬於輸出,是最貴的那一類,所以只要思考變短,單次請求的成本就直接下降。
多輪對話讓浪費變成平方
真正讓問題放大的是多輪的 Agent 任務。原文指出,每一輪都會把先前所有推理重新送回模型,前面幾輪留下的長推理,會在之後每次呼叫時被重讀、重新計費。
用簡化的例子推一下(這是我的示意,不是原文數字):假設每輪新增一單位內容,第 1 輪讀 1 單位,第 2 輪讀 2 單位,第 n 輪讀 n 單位,全部加起來約是 n² 的一半。輪數加倍,累計讀進去的量大約變成四倍。這就是原文說 context 大致隨輪數「平方成長」的意思。
所以早期某一輪多想的內容,代價不只是當下的輸出費,還包括之後每一輪都要再讀它一次。
為什麼不能直接把思考調短
K3 本身有推理強度(reasoning effort)的設定,分 low、high、max,預設是 max。最直覺的省錢方法是調低它,但 Fireworks 的使用者回報,這樣品質損失太多。官方數據印證了這點:在 SWE-bench Verified 上,K3 low 是 80.4%,max 是 93.2%;在 DeepSWE 1.1 上是 55.8% 對 66.4%。
調低強度是一刀切地限制思考量,模型不知道哪些思考該留。而 Fireworks 的判斷是,K3 的思考並非全是浪費:回頭檢查假設、回應環境給的回饋、把失敗結果追溯到先前的決定,這類自我反思能幫模型從錯誤中恢復。要省的是另一類:沒必要的推理,以及原地打轉、沒有進展的迴圈。
要讓模型分辨這兩類,只能靠訓練。
Ember-1 怎麼學會少想
原文沒有公開具體演算法,只說團隊跑了 50 多次訓練實驗、200 多次評測,並開發了新的訓練演算法。能確定的方向有三點:
- 在自己的輸出上學習:採用 on-policy 方式,也就是讓模型用自己當下產生的推理去做任務,再依結果調整,而不是模仿別人寫好的範本
- 用任務與環境回饋當訊號:做對與否、環境回傳的觀察,把決定和後果連起來,保留真正有用的反思
- 訓練範圍廣:涵蓋數學、程式、對話、搜尋、工具使用與軟體工程,含單題與多步驟互動,讓省 token 的習慣能帶到不同工作上
Fireworks 表示訓練沒有使用客戶資料。原文也提到,模型在最後沒解出來的嘗試上,也比較不會長時間空轉。
數字怎麼看
在五個業界基準上,Ember-1 跟 K3 max 相比,跑完整個測試集的花費降低 5.9% 到 51.9%。品質則互有高低:Terminal Bench 2.1 是 82.0% 對 80.9%,DeepSWE 1.1 是 75.2% 對 66.4%,但 SWE-bench Verified 是 92.2% 對 93.2%,SWE-Interact 是 20.0% 對 21.3%,略低於原模型。
兩家客戶的實際流量 A/B 測試更能說明機制:分數 0.751 對 0.753 幾乎不變,平均步數從 23.8 降到 21.4,每個任務的輸出 token 從 49.3K 降到 29.9K。推理 token 減少 71.3%,總 token 減少 39%。總量降幅明顯,符合前面的推論:每輪少想一點,後面每一輪要重讀的內容也跟著變少。
讀這些數字時有幾個條件要記住。結果全部來自 Fireworks 自己的評測;部分基準題數偏少,τ-2 Bench Airline 只有 50 題、SWE-Interact 75 題,一兩題的差距就會讓百分比明顯變動;成本是用 K3 公開價格換算的,換成其他計價方式,省下的比例會不同。Ember-1 目前以 Research Preview 形式上線,先開放兩週,之後依需求決定是否常態提供。對推理 token 占成本大宗的程式 Agent 來說,它值得實測;若工作本來就不太需要長推理,能省的空間自然有限。
參考來源
- Introducing Ember-1(Fireworks AI)
回應
還沒有回應,成為第一個留言的人吧。