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参数范围内均取得了业界领先的性能。所有模型、数据集和训练脚本均已开源,欢迎社区在此基础上构建更强大的系统。