خانواده Ettin Reranker: شش مدل رتبهبندی سریع و دقیق
خلاصهٔ کاملتر
Reranker چیه و چرا به دردمون میخوره؟ یه مدل جستجوی معمولی (embedder) کوئری و سند رو جداگانه به بردار تبدیل میکنه و شباهتشون رو حساب میکنه — سریعه ولی نه خیلی دقیق. یه reranker (یا cross-encoder) به جاش، کوئری و سند رو با هم میبینه و امتیاز ربط میده. این روش دقیقتره ولی گرونتره؛ چون باید برای هر جفت (کوئری، سند) جداگانه اجرا بشه. به همین خاطر معمولترین الگو اینه: اول یه embedder سریع ۱۰۰ نتیجه برتر رو برمیگردونه، بعد reranker این ۱۰۰ تا رو دقیق رتبهبندی میکنه.
تام آرسن از Hugging Face شش مدل reranker جدید با نام Ettin Reranker منتشر کرده که روی encoderهای ModernBERT دانشگاه جانز هاپکینز ساخته شدن. این مدلها از ۱۷M تا ۱B پارامتر در دسترسن و همهشون تا ۸۱۹۲ توکن context میپذیرن. آموزششون با روش distillation بوده — یعنی مدل بزرگتر mxbai-rerank-large-v2 به عنوان teacher، امتیازهای خودش رو با MSE به مدلهای کوچیکتر منتقل کرده.
استفاده ازشون خیلی سادست؛ با Sentence Transformers فقط چند خط کد کافیه:
from sentence_transformers import CrossEncoder
model = CrossEncoder("cross-encoder/ettin-reranker-32m-v1")
scores = model.predict([
("Where was Apple founded?", "Apple Inc. was founded in Cupertino, California in 1976 by Steve Jobs, Steve Wozniak, and Ronald Wayne."),
("Where was Apple founded?", "The Fuji apple is an apple cultivar developed in the late 1930s and brought to market in 1962."),
])
# [11.393298 2.968891] <- larger means more relevantبرای پایپلاین کامل retrieve-then-rerank هم میشه یه embedder سریع و یه reranker رو کنار هم گذاشت: embedder صد نتیجه برتر رو برمیگردونه، reranker پنج تای نهایی رو انتخاب میکنه. این همون الگوییه که اکثر سیستمهای جستجوی مدرن ازش استفاده میکنن.
نتایج بنچمارک جالبان: مدل ۱۷M با وجود نصف پارامتر، از ms-marco-MiniLM-L12-v2 (33M) روی MTEB بهتره. مدل ۳۲M با ۳۲.۸ میلیون پارامتر از BAAI/bge-reranker-v2-m3 با ۵۶۸ میلیون پارامتر پیشی میگیره — شکاف ۱۷ برابری در تعداد پارامتر. مدل ۱B هم تقریباً همون امتیاز teacher 1.54B رو داره (0.6114 vs 0.6115) ولی ۲.۴ برابر سریعتره.
یه مزیت معماری مهم اینه که این مدلها از sequence unpadding (حذف padding tokens از محاسبات) پشتیبانی میکنن. مدلهای مشابه مثل gte-reranker-modernbert-base هم از Flash Attention 2 استفاده میکنن ولی paddingها رو نگه میدارن؛ نتیجه اینه که مدل ۱۵۰M اتین با ۳۲۳۷ جفت در ثانیه، 2.3 برابر سریعتر از رقبای هماندازهست. همه مدلها با لایسنس Apache 2.0 منتشر شدن و دیتاست و دستور کامل آموزش هم عمومیه.
نکات کلیدی:
- شش مدل از ۱۷M تا ۱B پارامتر، همه با context ۸K توکن
- روش آموزش: distillation از مدل teacher با MSE
- مدل ۱۷M سریعترین reranker بین همه مدلهای آزمایششده (۷۵۱۷ جفت/ثانیه)
- مدل ۱B با ۲.۴ برابر سرعت بیشتر، تقریباً همون دقت teacher رو داره
- sequence unpadding دلیل اصلی سرعت بالا در مقایسه با رقباست
- لایسنس Apache 2.0 و دیتاست و recipe آموزشی عمومی




