推出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引數範圍內均取得了業界領先的效能。所有模型、資料集和訓練指令碼均已開源,歡迎社群在此基礎上構建更強大的系統。