AI News HubLIVE
站内改写

推出Ettin重排序器系列

今日發佈了六個新的Sentence Transformers交叉編碼重排序器,基於Ettin ModernBERT編碼器構建,通過蒸餾訓練,在各自規模上達到最先進水平。這些模型與嵌入模型配對使用,可高效提升檢索排序質量。

文章情報

工程師進階

要點

  • 發佈六個Ettin重排序器,規模從17M到1B參數
  • 通過點級MSE蒸餾於強大教師模型mxbai-rerank-large-v2訓練
  • 在MTEB和NanoBEIR基準上超越同類模型
  • 提供完整訓練腳本、數據集和模型,便於復現和二次開發

為甚麼重要

這條新聞值得關注,因為發佈六個Ettin重排序器,規模從17M到1B參數。

技術影響

可能影響模型選型、推理成本、產品能力和評測基準。

今天,我正式發佈六個全新的Sentence Transformers交叉編碼重排序器,統稱為Ettin重排序器系列。這些模型基於Ettin ModernBERT編碼器構建,在各自參數規模下均達到最先進水平。所有模型均通過蒸餾方案訓練:使用點級均方誤差(MSE)損失,以mixedbread-ai/mxbai-rerank-large-v2的評分作為監督信號,在混合數據集cross-encoder/ettin-reranker-v1-data上訓練得到。該數據集包含約1.43億個(查詢,文檔,標籤)三元組,並劃分為39個命名子集,便於追溯每條數據的來源。

重排序器(又稱逐點交叉編碼器)是一種神經網絡模型,接收(查詢,文檔)對並輸出單個相關性分數。與嵌入模型不同——嵌入模型分別編碼查詢和文檔,然後通過向量計算相似度——重排序器允許兩個文本在每一層Transformer中相互關注。這種聯合編碼更精確,但計算成本也更高。因此,實際應用中常採用“檢索-重排序”流水線:先用快速嵌入模型檢索前K個候選,再用交叉編碼器對這K個結果進行高精度重排序。

使用這些模型非常簡單,只需三行代碼即可加載並預測得分。例如,從sentence_transformers導入CrossEncoder,加載模型,然後調用predict傳入一組(查詢,文檔)對。

所有六種模型在MTEB(英文,v2版)檢索任務上均表現優異。與google/embeddinggemma-300m等嵌入模型配合時,能顯著提升最終排序質量。其中,cross-encoder/ettin-reranker-150m-v1是600M參數以下最強的中型重排序器,cross-encoder/ettin-reranker-400m-v1的MTEB得分與1.54B參數的教師模型僅差0.0024,而cross-encoder/ettin-reranker-1b-v1的得分與教師模型幾乎完全一致(差距小於0.0001)。

訓練方案刻意保持簡單:所有模型使用同一份訓練腳本(約150行),僅學習率和每設備批次大小隨模型規模調整。腳本中包含了數據加載、損失函數定義、訓練參數配置、評估器創建等完整流程。對於多節點訓練,只需使用torchrun啓動即可。

總結而言,Ettin重排序器系列通過單一簡潔的蒸餾方案,在17M到1B參數範圍內均取得了業界領先的性能。所有模型、數據集和訓練腳本均已開源,歡迎社區在此基礎上構建更強大的系統。