اگر برای بازیابی اطلاعات در اسناد طولانی به بردارهای تکبعدی تکیه میکنید، احتمالاً بخش بزرگی از جزئیات حیاتی دادههایتان را از دست میدهید. Sentence Transformers در ۱۸ اوت ۲۰۲۶ با ارائه نسخه ۶.۰ و ادغام MultiVectorEncoder، محدودیتهای سنتی بردارهای متراکم را شکست.
بسیاری از سیستمهای RAG بر پایه بی-انکودرهای (bi-encoders) بنا شدهاند که کل یک متن را در یک بردار با اندازه ثابت فشرده میکنند. اگرچه این فرآیند سریع است، اما دادهها را از بین میبرد؛ برای مثال، یک کد محصول کمیاب، یک شناسه دقیق یا یک بند خاص در قرارداد اغلب در اثر میانگینگیری حذف میشوند. با تکیه بر پوششهای قبلی ما درباره استارتاپهایی که برای کاهش هزینهها معماری ترنسفورمر را به چالش میکشند، این بهروزرسانی بر گلوگاه متفاوتی تمرکز دارد: دقتِ خودِ فرآیند بازیابی. این چالش با بهینهسازیهای مبتنی بر روش بیزی که پیشتر برای کاهش تأخیر و افزایش نرخ بازیابی بررسی شده بود، همراستا است.
تصور کنید به دنبال «یک مبل سبز با پایههای چوبی و کوسنهای گرد» میگردید. یک مدل متراکم (dense)، این چهار شرط را در یک نقطه در فضای برداری ترکیب میکند. در این حالت، مبلی با پایههای اشتباه ممکن است همچنان در فضای برداری نزدیک به پرسوجوی شما قرار بگیرد. مدلهای چند-برداری (Multi-vector)، که به عنوان مدلهای تعامل دیرهنگام (late-interaction) یا مدلهای سبک ColBERT شناخته میشوند، این فشردهسازی را به طور کامل حذف میکنند.

مکانیسم تعامل دیرهنگام (Late Interaction)
به جای اختصاص یک بردار برای هر سند، MultiVectorEncoder برای هر توکن یک بردار نگه میدارد. بنابراین، یک سند ۹ توکنی به جای یک بردار ۱x۱۲۸، به یک ماتریس ۹x۱۲۸ تبدیل میشود. تعامل بین پرسوجو (query) و سند تا مرحله امتیازدهی به تعویق میافتد، و به همین دلیل است که به آن «تعامل دیرهنگام» میگویند.
این روش بین بی-انکودرها (که فقط از طریق یک ضرب داخلی ساده تعامل دارند) و کراس-انکودرها (که با پردازش همزمان هر دو متن، تعامل زودهنگام دارند) قرار میگیرد. در حالی که کراس-انکودرها بسیار دقیق هستند، اما هیچ چیزی برای پیشمحاسبه باقی نمیگذارند. تعامل دیرهنگام اجازه میدهد اسناد به طور مستقل کدگذاری و به صورت آفلاین ایندکس شوند، در حالی که همچنان هر توکن پرسوجو با هر توکن سند مقایسه میشود.
امتیازدهی بر اساس عملگر MaxSim انجام میشود. برای هر توکن در پرسوجو، سیستم شبیهترین توکن را در سند پیدا کرده و مجموع این بیشینهها را محاسبه میکند. این کار یک «تراز نرم» (soft alignment) ایجاد میکند که در آن هر شرطِ پرسوجو، شواهد خاص خود را در متن پیدا میکند. از آنجایی که جاسازیهای توکن L2-نرمال شدهاند، هر ضرب داخلی در واقع یک شباهت کسینوسی در بازه [-1, 1] است.
این ترازسازی مفهومی است و نه صرفاً لغوی. برای مثال، با استفاده از مدل lightonai/mLateOn، توکن پرسوجوی «live» (به معنای زندگی کردن) میتواند با توکن «inhabit» با امتیاز ۰.۹۴ مطابقت یابد، حتی اگر هیچ حرف مشترکی نداشته باشند. این قابلیت به مدل اجازه میدهد مترادفها و بازنویسیهایی را مدیریت کند که BM25 آنها را نادیده میگیرد، و در عین حال تطبیقهای دقیقی را حفظ کند که مدلهای متراکم معمولاً محو میکنند.
عملکرد و سبکسنگین بودن (Trade-offs)
این دقت بالا هزینهای در ذخیرهسازی دارد. چون مدل بردارهای بیشتری را ذخیره میکند، اندازه ایندکس رشد میکند. طبق گزارش huggingface.co، کدگذاری ۴,۸۷۴ قطعه از مجموعه Natural Questions منجر به تولید ۶۰۸,۴۱۴ بردار توکن شد که به طور متوسط ۱۲۴.۸ بردار برای هر قطعه است. این مقدار تقریباً ۴۲ برابر بیشتر از فضای مورد نیاز یک ایندکس MiniLM یا حدود ۶۲ کیلوبایت برای هر قطعه است.
با این حال، این هزینهها قابل کاهش است. یک ایندکس fast-plaid میتواند آن ۶۰۸,۴۱۴ بردار را با ذخیره یک شناسه مرکز (centroid ID) و یک باقیمانده کوانتیزه شده، به ۹۲ مگابایت فشرده کند. برای مقایسه، یک مدل متراکم ۴۰۹۶-بعدی مانند Qwen3-Embedding-8B برای همان ۴,۸۷۴ قطعه به حدود ۸۰ مگابایت نیاز دارد؛ بنابراین ایندکسهای چند-برداری فشرده شده در همان محدوده فضای ایندکسهای متراکم فعلی قرار میگیرند.
بنچمارک دقت
بهبودهای کیفی قابل اندازهگیری هستند. در یک تست رودررو در بنچمارک NanoBEIR، مدل چند-برداری LateOn در ۹ مورد از ۱۳ مجموعه داده، از مدل متراکم DenseOn پیشی گرفت. هر دو مدل از یک ستون فقرات ModernBERT و ۱۴۹ میلیون پارامتر استفاده میکردند.
- MSMARCO: مدل LateOn امتیاز ۰.۷۱۹۴ را در مقابل ۰.۶۵۱۷ برای DenseOn کسب کرد.
- NQ: مدل LateOn امتیاز ۰.۷۸۱۰ را در مقابل ۰.۷۵۱۱ برای DenseOn کسب کرد.
- HotpotQA: مدل LateOn امتیاز ۰.۹۲۹۵ را در مقابل ۰.۸۸۰۲ برای DenseOn کسب کرد.
- میانگین NDCG@10: مدل LateOn با اختلاف حدود یک امتیاز پیشتاز بود (۰.۶۸۶۸ در مقابل ۰.۶۷۶۴).
این توازن در مجموعههایی مانند FiQA2018 مشهود است، جایی که DenseOn در واقع برنده شد (۰.۶۴۹۱ در مقابل ۰.۵۸۷۱). بیشترین سود در پرسوجوهای با چندین شرط و دادههای خارج از دامنه (out-of-domain) مشاهده میشود، جایی که فشردهسازی مدلهای متراکم برای توزیع متفاوتی تنظیم شده بود.
گسترش به بازیابی بصری و صوتی
تعامل دیرهنگام در حال حاضر پیشرفتهترین روش برای بازیابی اسناد بصری است. مدلهایی مانند خانواده ColPali پرسوجوهای متنی را مستقیماً با تصاویر صفحات مطابقت میدهند بدون اینکه به مرحله OCR (نویسهخوان optically) نیاز باشد. این امر به مدل اجازه میدهد چیدمان فضایی نمودارها، جداول و ساختار صفحه را دستنخورده حفظ کند. این رویکرد یادآور راهکار جایگزینی میانگینگیری با بردارهای تکنما است که پیشتر توانست دقت تطابق در دادههای بصری را به طور چشمگیری افزایش دهد.

در این مدلها، پردازنده پرامپتهای بصری و تکههای تصویر (image patches) را مدیریت میکند. سپس MaxSim توکنهای متنی پرسوجو را در برابر تکههای تصویر سند امتیازدهی میکند. از آنجایی که یک صفحه شامل مناطق مجزای بسیاری است، یک بردار واحد مجبور بود نمودار و سه پاراگراف را در یک خلاصه میانگین بگیرد؛ اما مدلهای چند-برداری از این مشکل اجتناب میکنند. البته این امر تعداد بردارها را افزایش میدهد: یک صفحه میتواند ۷۵۵ بردار توکن تولید کند، در حالی که در یک قطعه متنی حدود ۱۲۵ بردار یافت میشود.
این قابلیت از طریق مدلهایی مانند ColQwen-Omni به سایر مودالیتهها گسترش یافته است که از متن، تصویر، صوت و ویدیو پشتیبانی میکند. در تستهای zero-shot، این مدل توانست پرسوجوی «medicine for car nausea» (داروی تهوع ماشین) را با ضبط صوتی که به «carsickness» اشاره میکرد مطابقت دهد، در حالی که هرگز روی جفتهای صوت-متن آموزش ندیده بود.
برای بازیابی ویدیو، مدل فریمها را نمونهبرداری میکند تا VRAM را مدیریت کند. در نرخ ۱ فریم بر ثانیه و رزولوشن کامل، یک جفت ویدیو میتواند بیش از ۸,۰۰۰ بردار توکن تولید کند و به پیک VRAM حدود ۲۰.۸ گیگابایت برسد. کاهش این نرخ به ۰.۵ فریم بر ثانیه، VRAM را به ۱۲.۵ گیگابایت میرساند در حالی که نتایج رتبهبندی یکسان باقی میماند.
پیادهسازی و بهینهسازی
توسعهدهندگان اکنون میتوانند این مدلها را با استفاده از یک API آشنا بارگذاری کنند. این کتابخانه از چندین فرمت از جمله چکپوینتهای PyLate، Stanford-NLP ColBERT و colpali-engine پشتیبانی میکند. برای مدیریت اندازه ایندکس، این بهروزرسانی قابلیت HierarchicalTokenPooling را معرفی کرده است.
جزئیات توکن پولینگ (Token Pooling)
این تکنیک پولینگ، بردارهای توکن مشابه را با استفاده از پیوند Ward بر اساس فاصله کسینوسی خوشهبندی کرده و هر خوشه را با میانگین آن جایگزین میکند. این کار افزونگی را بدون از دست دادن سیگنالهای مهم کاهش میدهد:
- ضریب پولینگ ۲: اندازه ایندکس را به حدود ۵۰٪ کاهش میدهد و ۱۰۰.۶٪ از عملکرد BEIR را حفظ میکند.
- ضریب پولینگ ۳: اندازه ایندکس را به حدود ۳۳٪ کاهش میدهد و ۹۹.۰٪ از عملکرد BEIR را حفظ میکند.
- منظمسازی (Regularization): مدلهایی مانند
lightonai/LateOn-hpool-regularizedبهطور خاص برای به حداقل رساندن تلفات پولینگ آموزش دیدهاند و گزارش میدهند که در فشردهسازی ۵ برابری، ۹۹.۴٪ از دقت را حفظ میکنند.
ایندکسگذاری و ادغام با پایگاه داده
برای کسانی که مجموعهدادههای عظیمی دارند، این کتابخانه با چندین پایگاه داده برداری که بهطور بومی از MaxSim پشتیبانی میکنند، ادغام شده است:
- Qdrant (نسخه ۱.۱۰ به بالا): از مقایسهگر
MAX_SIMاستفاده میکند و توصیه میکند برای فیلدهای تعامل دیرهنگام، از پیمایش گراف HNSW صرفنظر شود. - Weaviate (نسخه ۱.۲۹ به بالا): از چند-بردارهای ارائه شده توسط کاربر و کدگذاری MUVERA برای جذب سریعتر دادهها پشتیبانی میکند.
- Vespa: اجازه میدهد MaxSim به عنوان یک عبارت تنسوری نوشته شود تا شفافیت کامل در خط لوله رتبهبندی ایجاد شود.
- سایرین: LanceDB (نسخه ۰.۱۵.۰ به بالا)، Milvus (نسخه ۲.۶.۴ به بالا) و VectorChord (افزونه Postgres).
افزایش سرعت استنتاج (Inference Speedups)
برای جبران بار محاسباتی MaxSim، این بهروزرسانی از Flash Attention 2 و OpenVINO پشتیبانی میکند. در GPU، استفاده از fp16 با Flash Attention، توان عملیاتی (throughput) را در مقایسه با fp32 تا ۲.۴۴ برابر افزایش داد بدون اینکه کیفیت بازیابی کاهش یابد. این امر بهویژه مؤثر است زیرا اسناد به یک طول مشترک پد (pad) نمیشوند و اجازه میدهد unpadding از طولهای متغیر توالیها بهره ببرد.
توجه داشته باشید مدلهایی با گسترش پرسوجوی غیر-attend (مانند colbert-ir/colbertv2.0) Flash Attention را رد میکنند زیرا موقعیتهای attention_mask=0 مورد نیاز برای توکنهای گسترش [MASK] را حذف میکند؛ این مدلها باید به جای آن از "sdpa" استفاده کنند.
الگوی «بازیابی و رتبهبندی مجدد» (Retrieve and Rerank)
برای کسانی که نمیتوانند هزینه یک ایندکس چند-برداری را پرداخت کنند، الگوی «Retrieve and Rerank» توصیه میشود. یک بی-انکودر سریع (مانند jina-embeddings-v5-text-nano) یک مجموعه داده بزرگ را به چند ده کاندیدای احتمالی محدود میکند. سپس، یک MultiVectorEncoder (مانند pplx-embed-v1-late-0.6b) فقط همان کاندیداها را مجدداً امتیازدهی میکند.
این روش به مراتب ارزانتر از کراس-انکودر است زیرا اسناد در یک دسته (batch) کدگذاری شده و از طریق ضرب ماتریسی امتیازدهی میشوند، به جای اینکه برای هر جفت پرسوجو-سند یک پاس رفت-وبرگشت (forward pass) جداگانه نیاز باشد.
این تغییر، فرض بنیادی مبنی بر اینکه RAG باید بین سرعت بی-انکودرها و دقت کراس-انکودرها یکی را انتخاب کند، تغییر میدهد. تعامل دیرهنگام یک راه میانه ارائه میدهد: ایندکسهای قابل پیشمحاسبه با دقت در سطح توکن.
برای توسعهدهندگان، گام بعدی ارزیابی خط لوله RAG فعلی خود در برابر مجموعه NanoBEIR با استفاده از MultiVectorNanoBEIREvaluator جدید است تا ببینند آیا توازن فضای ذخیرهسازی در برابر افزایش دقت، ارزشمند است یا خیر.




گفتگو