در طراحی سیستمهای جستجوی معنایی (Semantic Search)، همیشه با یک دوراهی کلیدی روبهرو هستیم: سرعت پردازش در برابر کیفیت بازیابی اطلاعات. برای ایجاد تعادل در این سیستمها، سه معماری اصلی وجود دارد که درک تفاوتهای آنها برای پیادهسازی یک محصول بهینه و مقیاسپذیر ضروری است.
[برگرد بالا]
این روش معماری پایه و پیشفرض در جستجوی معنایی است. در این مدل، داکیومنتها و پرامپت کاربر بهصورت کاملاً مجزا از یکدیگر به بردارهای عددی (Vector) تبدیل میشوند. از آنجایی که بردار تمامی داکیومنتهای پایگاه دانش را میتوان از قبل محاسبه و در دیتابیس ذخیره کرد، در زمان جستجو تنها کافی است پرامپت کاربر پردازش شده و نزدیکترین بردارها پیدا شوند. سرعت بسیار بالا و مصرف حافظه معقول از مزایای اصلی این روش است. با این حال، به دلیل پردازش جداگانه، مدل نمیتواند ارتباط معنایی عمیق و پیچیده بین کلمات پرامپت و داکیومنت را بهطور کامل درک کند.
[برگرد بالا]
زمانی که کیفیت و دقت جستجو اولویت مطلق باشد، این معماری وارد عمل میشود. برخلاف روش قبلی، در اینجا پرامپت و داکیومنت در کنار هم قرار گرفته و همزمان وارد مدل میشوند تا یک امتیاز ارتباط (Relevancy Score) تولید کنند. این تعامل مستقیم باعث میشود مدل عمیقترین ارتباطات معنایی را تشخیص دهد و کیفیتی بینظیر ارائه کند. مشکل اصلی اینجاست که پرامپت کاربر از قبل مشخص نیست، بنابراین نمیتوان محاسبات را پیشپردازش کرد و مدل باید این عملیات ترکیبی را برای تکتک داکیومنتها از نو انجام دهد. این ویژگی باعث افت شدید سرعت میشود و استفاده از آن بهعنوان موتور جستجوی اصلی در پایگاههای داده بزرگ را غیرممکن میسازد.
[برگرد بالا]
مدل ColBERT با هدف ترکیب سرعت معماری پایه و دقت معماری پیشرفته طراحی شده است. در این روش داکیومنتها همچنان از قبل پردازش میشوند، اما بهجای اختصاص یک بردار به کل متن، برای تکتک «توکنها» یک بردار مجزا ساخته میشود. هنگام دریافت پرامپت، توکنهای آن با توکنهای داکیومنت مقایسه شده و بالاترین میزان شباهتها (MaxSim Score) محاسبه میشود. این تکنیک کیفیتی نزدیک به Cross-Encoder را با سرعتی بالاتر ارائه میدهد. محدودیت جدی این روش مصرف بهشدت بالای حافظه است؛ چرا که ذخیره بردار برای تکتک توکنها به فضای عظیمی نیاز دارد و معمولاً فقط در حوزههای حساس که دقت حیاتی است (مثل پزشکی یا حقوق) توجیه اقتصادی پیدا میکند.
[برگرد بالا]
در سیستمهای عملیاتی واقعی، معمولاً از یک معماری بهتنهایی استفاده نمیشود و ترکیب روشها بهترین خروجی را دارد. استاندارد صنعتی به این شکل است که ابتدا با استفاده از سرعت بالای Bi-Encoder (یا جستجوی هیبریدی)، یک مجموعه محدود از مرتبطترین داکیومنتها با سرعت استخراج میشود. در مرحله دوم، معماری دقیقِ Cross-Encoder صرفاً روی همین تعداد محدود اجرا میشود تا نتایج را با بالاترین کیفیت ممکن مرتبسازی (Re-rank) کند. این رویکرد دو مرحلهای، هم سرعت پاسخگویی را حفظ میکند و هم کیفیت نتایج نهایی را به حداکثر میرساند.