OpenAI 宣布高效的 Fill‑in‑the‑Middle 語言模型訓練方法

TL;DR

OpenAI 介紹了一種資料增強技術,使標準自回歸語言模型學會填補缺失的片段(fill‑in‑the‑middle,FIM),同時保留其原本的從左至右生成效能,讓 FIM 成為實用的預設訓練目標。

為何 FIM 重要

訓練模型執行 fill‑in‑the‑middle 可擴展其在編輯、程式碼補全與互動寫作等情境的應用,使用者常需要插入或取代文字,而非從頭產生。透過在預訓練階段整合 FIM,OpenAI 展示模型能在不需額外微調或架構變更的情況下獲得此能力。

核心技術:Span‑Shift 轉換

此方法透過從文件中段選取一段連續的 span,並將其移至同一文件的結尾,來修改訓練語料。模型接著將移動後的文字視為在給定周圍上下文下需要預測的目標。這個簡單的轉換在保持未移動部分原始從左至右順序的同時,創造了一個填補任務。

實驗結果

  • 生成能力無退化:在多種模型規模下,經過大量 FIM 訓練後,標準從左至右語言模型基準的困惑度保持不變。
  • 填補表現強勁:使用高比例轉換樣本訓練的模型在 OpenAI 發布的專門填補基準上取得具競爭力的結果。
  • 可擴展性:此方法在小型至大型模型上皆表現一致,顯示轉換不會干擾模型的擴展規律。

消融實驗與最佳實踐設定

OpenAI 針對三個關鍵超參數進行了系統性的消融實驗:

  1. 轉換頻率 – 進行 span‑shift 的訓練樣本比例。結果顯示使用中等頻率(例如 30‑50%)可平衡填補能力與生成忠實度。
  2. Span 結構 – 變化 span 長度與位置的實驗顯示,同時隨機化兩者可獲得最穩健的表現。
  3. Span 選取方法 – 隨機選取的表現優於啟發式或長度偏向的策略,簡化了實作。

根據這些實驗,OpenAI 建議以下預設設定:

  • 將轉換套用於約一半的訓練資料。
  • 隨機選取 span 長度,均勻分布於預設範圍內(例如 10‑50 個 token)。
  • 隨機定位 span 於文件內,避免過於靠近開頭或結尾的位置。

已發布資源

  • 最佳 FIM 模型:OpenAI 已透過其 API 部署了表現最佳的填補模型,讓開發者能直接查詢模型的 fill‑in‑the‑middle 預測。
  • 填補基準:一套評估資料集與腳本已開源,以促進 FIM 能力的可重現研究。

對未來語言模型發展的影響

  • 預設訓練目標:鑑於對從左至右性能的影響微乎其微,OpenAI 建議未來的自回歸模型將 FIM 訓練作為標準做法。
  • 效率提升:此轉換帶來的計算開銷極低,對大規模預訓練流程具吸引力。
  • 更廣泛的適用性:此技術與模型無關,可套用於任何自回歸架構,可能加速整個領域對填補功能的採用。

"雖然這項資料增強近年來受到廣泛關注,我們提供了大量證據表明,以此方式轉換大量資料來訓練模型不會損害原始的從左至右生成能力..." – OpenAI 作者

結論

OpenAI 的高效 FIM 訓練方法證明,簡單的資料集轉換即可賦予自回歸語言模型強大的填補能力,同時不削弱其核心生成實力。發布的模型、基準與建議的超參數為社群將 fill‑in‑the‑middle 功能整合至未來語言模型提供了明確的路徑。

Sources