Late Interaction چیست؟ آشنایی با MaxSim و معماری‌های شبیه ColBERT

Late Interaction و MaxSim چیست و چرا بین Dense Retrieval و Cross-Encoder قرار می‌گیرد؟ آشنایی کاربردی با معماری‌های شبیه ColBERT در جستجوی معنایی.

نوشتهٔ HomAI2 دقیقه مطالعه
  • late interaction retrieval
  • ColBERT
  • MaxSim
  • multi vector retrieval

مقدمه

وقتی درباره retrieval صحبت می‌کنیم، معمولاً دو سر طیف را می‌بینیم: یا یک بردار واحد برای کل متن داریم، یا query و document را با هم وارد Cross-Encoder می‌کنیم. Late Interaction یک معماری میانی است که تلاش می‌کند دقت بالاتر را با هزینه‌ای کمتر از Cross-Encoder فراهم کند.

یکی از مفاهیم کلیدی در این حوزه MaxSim است؛ روشی که در معماری‌هایی شبیه ColBERT به کار می‌رود.

مسئله‌ای که Late Interaction حل می‌کند

Dense Retrieval سنتی کل document را در یک بردار فشرده می‌کند. این کار برای سرعت خوب است، اما بخشی از جزئیات معنایی از بین می‌رود. از طرف دیگر، Cross-Encoder همه interactionها را می‌بیند، اما خیلی گران است.

Late Interaction می‌گوید: به‌جای یک بردار برای کل document، چند بردار برای tokenها یا بخش‌های document ذخیره کن، و در زمان query interaction را در مرحله آخر انجام بده.

MaxSim چیست؟

در MaxSim، برای هر token از query، بیشترین شباهت آن با tokenهای document پیدا می‌شود. سپس این بیشینه‌ها با هم جمع یا ترکیب می‌شوند تا relevance نهایی به دست آید.

به‌صورت شهودی:

  • query tokenها نماینده intent کاربر هستند.
  • document tokenها بخش‌های مختلف معنا را نگه می‌دارند.
  • هر query token به بهترین نقطه متن document وصل می‌شود.

تفاوت با Dense Retrieval

Dense Retrieval کلاسیک یک بردار برای query، یک بردار برای document و یک similarity کلی دارد. Late Interaction چند بردار برای query و document نگه می‌دارد و similarity را در سطح token یا segment محاسبه می‌کند.

تجربه ما در ماژول

در نسخه‌های قبلی ماژول، ما یک approximation از MaxSim داشتیم که برای توضیح معماری مفید بود، اما ColBERT واقعی نبود. در hardening سیستم، به این نتیجه رسیدیم که برای ورود جدی Late Interaction به production، باید contract جداگانه‌ای برای:

  • encode_query()
  • encode_document()
  • matrix-level scoring

داشته باشیم. Late Interaction فقط یک ترفند محاسباتی نیست؛ یک representation متفاوت است.

چه زمانی Late Interaction ارزش دارد؟

  • وقتی Dense Retrieval ساده کافی نیست.
  • وقتی Cross-Encoder خیلی سنگین است.
  • وقتی precision top-k برای queryهای پیچیده اهمیت دارد.
  • وقتی corpus فنی، ساختاریافته یا اصطلاح‌محور است.

محدودیت‌ها

  • storage بیشتر برای multi-vector
  • index پیچیده‌تر
  • نیاز به backend مناسب
  • latency بیشتر نسبت به dense single-vector
  • پیاده‌سازی دشوارتر در production

الگوی معماری پیشنهادی

  1. Dense + Sparse + Exact → candidate generation
  2. Late Interaction / MaxSim → shortlist refinement
  3. Cross-Encoder → reranking نهایی

جمع‌بندی

Late Interaction بین speed و quality تعادل ایجاد می‌کند. اگر Dense Retrieval ساده برای use case شما کافی نیست، اما Cross-Encoder هم خیلی سنگین است، معماری‌های شبیه ColBERT و MaxSim انتخاب جذابی هستند.

به‌روزرسانی:

همهٔ نوشته‌ها

نوشته‌های مرتبط

Late Interaction چیست؟ آشنایی با MaxSim و معماری‌های شبیه ColBERT