AI Engineer Europe 2026 · 演講 · 2026-05-30 · 11 分
Zeta2 編輯預測模型的訓練流程
How We Built Zeta2: Training an Edit Prediction Model in Production · Ben Kunkle,Zed
Zed 的 Edit Predictions 負責人 Ben Kunkle 拆解 Zeta2 的訓練流程:怎麼用線上快照蒸餾大模型、修補壞預測,又怎麼拿使用者最後寫下的程式碼篩訓練資料。
概要
- 小模型專做一件事Edit Prediction 每次按鍵都要跑,所以 Ben 的做法是微調一個小而專門的模型,只做這件事。
- 用大模型蒸餾出訓練資料把使用者同意提供的線上快照餵給 frontier model 當老師,再讓 Zeta2 這個學生模型學它的輸出;老師的壞預測會先經過靜態檢查與一道修補步驟。
- 資料管線全是 JSONL每個階段只是加欄位或搬欄位,Ben 說通常用 100,000 筆範例訓練一個模型,小實驗則縮到 10 到 50K。
- 用「定稿狀態」篩資料等使用者停止編輯那個區域,把最後的樣子存下來;再看模型的多次預測有沒有靠近它,離太遠的視為雜訊,介於中間、「差一點」的最有價值。
- 離線與線上指標並用離線用 held out 測試集、三個老師預測與 reversal ratio,線上則看實驗流量、acceptance rate、latency,並正在試 kept rate 與診斷錯誤數。
原話
▶ 00:39“It also needs to be very fast because it runs on every keystroke.”
它也必須非常快,因為每次按鍵都會跑
▶ 01:30“if you ask them a hundred thousand times they're going to give you a hundred thousand one answers”
問上十萬次,會得到十萬零一種答案;Ben 指的是 frontier model
▶ 03:46“eventually the user writes the answer.”
使用者最後會自己把答案寫出來
▶ 06:42“We generally don't train off of the actual settled state just because it's still noisy.”
我們通常不直接拿定稿狀態來訓練,因為它仍然有雜訊
▶ 07:37“because a lot of these have no one right answer”
因為這類預測很多都沒有唯一正解
延伸
- 診斷錯誤數的做法是在預測前後各記錄一次錯誤數量,拿來判斷模型品質;Ben 說這項還在試。
- 「差一點」的那一區常包含學生模型訓練資料截止之後才出現的新函式,Ben 說這正是他們想收進訓練資料的。
章節
點時碼直接跳到原片的那一段。
- 自我介紹與 Edit PredictionBen 自介是 Zed 的 Edit Predictions 負責人,說明這場要講 Zeta2 的訓練方式。
- 為什麼用小而專的模型模型的輸入包含最近的編輯、游標位置、周邊型別與變數定義、診斷錯誤,而且每次按鍵都要跑,適合微調一個只做這件事的小模型。
- 用 frontier model 蒸餾把線上快照轉成訓練資料,讓 frontier model 當老師給出預測;Ben 說這很難,同一輸入問十萬次會得到十萬零一種答案,所以老師的 prompt 要細細調整。
- 靜態檢查與修補步驟先用啟發式規則檢查預測是否只是在撤銷剛打的字、是否無視可編輯區域邊界,不合格的就交給另一個 frontier model 修,稱為 repair step。
- 實驗專屬的 prompt 格式到修補完為止的產物可以快取、供多個實驗重用;之後再依實驗決定是否放診斷、放多少編輯歷史,把老師的輸出轉成學生的訓練格式。
- JSONL 管線與資料量整條管線都是 JSONL,每階段只加或移動欄位;通常以 100,000 筆範例訓練,小實驗用 10 到 50K。
- 定稿狀態(settled data)因為 Zed 是編輯器,可以等使用者不再編輯那個區域時存下快照;但使用者可能改主意或讓 agent 改寫,當時合理的預測事後看就不合理,需要過濾。
- 用學生模型便宜地篩選讓老師產生 10 個預測、看有沒有接近定稿狀態很貴;Zeta2 品質逼近老師後,改跑約 50 次學生 checkpoint,成本幾乎為零,再依與定稿狀態的距離分類。
- 離線評估指標在 held out 測試集上跑,用 n-gram 比對的指標與 reversal ratio,並對三個老師預測評分,因為這類預測沒有唯一正解。
- 線上實驗與新指標離線指標不一定對應使用者要的,所以用實驗頁面控制流量比例,例如其中一個實驗抽 15% 流量;目前測試 kept rate 與診斷錯誤數,用來判斷模型品質。
- Q&A:怎麼判定定稿有聽眾問定稿狀態怎麼判定,Ben 回答不看 git commit,而是使用者停止編輯該區域 10 秒就存快照。
名詞
- Edit Prediction
- 編輯器根據最近的編輯、游標位置與周邊定義,預測使用者下一步要做的修改
- Zeta2
- Zed 最近發表的編輯預測模型,也是這場裡的學生模型
- distillation
- 讓 frontier model 當老師產生預測,再把它的輸出整理成學生模型的訓練目標
- repair step
- 老師的預測沒過靜態檢查時,交給另一個 frontier model 修正的步驟
- settled data
- 使用者停止編輯該區域後存下的最終狀態,用來篩選訓練範例
- reversal ratio
- 預測剛好撤銷使用者剛打的字的比例,離線評估時追蹤
- kept rate
- 比較預測後的文字與定稿狀態,看預測中有多少字元被保留;線上與實驗都在試








