Ettin 套件:最先進的配對編碼器與解碼器

Hugging Face 宣佈了 Ettin 套件,這是首個集合最先進(SoTA)配對的僅編碼器與僅解碼器模型,參數規模從 17M 到 1B。透過使用相同的訓練資料(2T 代幣)、模型結構與訓練流程,Ettin 能夠在雙向編碼器架構與因果解碼器架構之間進行受控的「蘋果對蘋果」比較。

架構比較:編碼器 vs. 解碼器

Ettin 證明,無論訓練流程如何,基本的架構差異仍然存在。主要的區別在於注意力模式:編碼器模型使用雙向注意力(所有代幣皆可見),而解碼器模型使用因果注意力(代幣只能看到先前的代幣)。

關鍵發現包括:

  • 分類與檢索:編碼器模型在這些任務上占優。例如,150M 的編碼器在 MNLI 分類上優於 400M 的解碼器(89.2 對 88.2)。
  • 文本生成:解碼器模型在生成任務上持續保持優勢,且隨著模型規模增大,差距會擴大。
  • 規模 vs. 架構:對於特定任務,架構往往比規模更重要;400M 的編碼器可以在分類任務上擊敗 1B 的解碼器,而 400M 的解碼器則在生成任務上勝過 1B 的編碼器。

訓練流程與資料

Ettin 模型是使用基於 ModernBERT 的現代化流程開發,將現代的僅解碼器技術套用於兩種架構。所有用於 Ettin 的訓練資料皆為公開且可重現。

三階段訓練流程

  1. 預訓練(1.7T 代幣):在較短的上下文(1024 代幣)上進行初始訓練,使用多樣且高品質的資料混合。
  2. 上下文擴展(250B 代幣):將上下文長度提升至 8K 代幣,使用過濾後的更高品質資料,以提升長文件的理解能力。
  3. 衰減(100B 代幣):最終訓練階段使用高品質來源,包括教科書與科學論文,並以逐步降低的學習率進行。

模型規模

Ettin 提供六種配對規模以測試規模效應:- 17M、32M、68M、150M、400M 與 1B 參數。

效能基準

編碼器結果

Ettin 編碼器模型在所有測試任務與模型規模上均優於 ModernBERT,且使用完全開放的訓練資料。這為裝置端(小規模)與高效能(1B 規模)應用提供了一系列高效能編碼器。

解碼器結果

Ettin 解碼器模型與已確立的基線(如 Llama 3.2 與 SmolLM2)相當或更佳。效能提升在知識密集型任務(如 SciQ)尤為顯著,歸因於高品質的訓練資料混合。

研究洞見與模型行為

跨目標訓練

Ettin 被用來測試模型是否能從一種架構的目標轉換至另一種(例如,以遮蔽語言模型繼續預訓練解碼器)。結果顯示,架構選擇是根本性的:

  • 由解碼器轉為編碼器:在分類與檢索上通常落後於原生編碼器。
  • 由編碼器轉為解碼器:表現顯著劣於原生解碼器,尤其在較大規模時更為明顯。

行為分析

使用 WinoGender 基準測試,研究人員發現訓練目標會影響模型偏見。編碼器模型較常使用性別中立代名詞(60% 以上),相較於解碼器(30% 以上),儘管兩種架構皆呈現男性偏向。

實作與使用

Ettin 模型可於 Hugging Face Hub 取得。建議在分類與檢索任務使用編碼器,而在文本生成任務使用解碼器。

編碼器範例

from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("jhu-clsp/ettin-encoder-150m")
model = AutoModel.from_pretrained("jhu-clsp/ettin-encoder-150m")

解碼器範例

from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("jhu-clsp/ettin-decoder-150m")
model = AutoModelForCausalLM.from_pretrained("jhu-clsp/ettin-decoder-150m")

Sources