پرش به محتوای اصلی
هوش مصنوعی

راهنمای جامع پایگاه‌داده برداری (Vector Database)

پایگاه‌داده برداری چیست، چطور جست‌وجوی شباهت معنایی را ممکن می‌کند و چه الگوریتم‌های ایندکس و معیارهای فاصله‌ای پشت آن قرار دارند.

تیم هوش مصنوعی گلدیتا۲۳ بهمن ۱۴۰۳۱۲ دقیقه مطالعه

با فراگیر شدن مدل‌های زبانی بزرگ و سامانه‌های RAG، پایگاه‌داده برداری به یکی از اجزای پایه‌ای زیرساخت هوش مصنوعی سازمانی تبدیل شده است. برخلاف پایگاه‌داده‌های رابطه‌ای که روی تطبیق دقیق مقادیر کار می‌کنند، پایگاه‌داده برداری برای یافتن نزدیک‌ترین همسایه‌ها در فضای معنایی پربُعد طراحی شده است. این مقاله مفاهیم، الگوریتم‌ها و ملاحظات عملی انتخاب و استفاده از این پایگاه‌داده‌ها را به‌صورت دقیق بررسی می‌کند.

هسته‌ی ماجرا ساده است: هر قطعه متن، تصویر یا داده‌ی دیگر را با یک مدل embedding به برداری از اعداد اعشاری تبدیل می‌کنیم و این بردارها را ذخیره می‌کنیم. هنگام جست‌وجو، پرس‌وجو نیز به بردار تبدیل می‌شود و پایگاه‌داده برداری نزدیک‌ترین بردارها از نظر معنایی را بازمی‌گرداند. چالش اصلی، انجام این جست‌وجو روی میلیون‌ها یا میلیاردها بردار با تأخیر چند میلی‌ثانیه‌ای است.

چرا جست‌وجوی رابطه‌ای کافی نیست؟

جست‌وجوی کلیدواژه‌ای کلاسیک مبتنی بر تطبیق واژگانی است؛ اگر کاربر «خودرو» جست‌وجو کند، سندی که فقط واژه‌ی «ماشین» را دارد بازیابی نمی‌شود. embedding این محدودیت را برطرف می‌کند چون مفهوم را رمزگذاری می‌کند، نه صرف رشته‌ی متن. در نتیجه واژه‌های هم‌معنا، جملات بازنویسی‌شده و حتی پرسش‌های چندزبانه می‌توانند به اسناد مرتبط نگاشته شوند.

اما این قدرت بهایی دارد: مقایسه‌ی برداری ذاتاً پرهزینه است. محاسبه‌ی فاصله‌ی دقیق میان بردار پرس‌وجو و تک‌تک بردارهای پایگاه‌داده (جست‌وجوی brute-force) برای مجموعه‌های بزرگ غیرعملی است. اینجاست که الگوریتم‌های جست‌وجوی تقریبی نزدیک‌ترین همسایه وارد می‌شوند.

معیارهای فاصله و شباهت

انتخاب معیار شباهت تأثیر مستقیمی بر کیفیت بازیابی دارد و باید با مدل embedding هماهنگ باشد. سه معیار پرکاربرد عبارت‌اند از شباهت کسینوسی، ضرب داخلی و فاصله‌ی اقلیدسی. بسیاری از مدل‌های embedding مدرن بردارها را نرمال‌سازی می‌کنند، در این حالت شباهت کسینوسی و ضرب داخلی نتیجه‌ی هم‌ارز می‌دهند.

  • شباهت کسینوسی: زاویه‌ی میان دو بردار را می‌سنجد و نسبت به طول بردار بی‌اعتناست؛ گزینه‌ی پیش‌فرض برای اغلب کاربردهای متنی.
  • ضرب داخلی: هم جهت و هم بزرگی بردار را در نظر می‌گیرد و برای مدل‌هایی که آموزش دیده‌اند تا بزرگی بردار معنادار باشد مناسب است.
  • فاصله‌ی اقلیدسی: فاصله‌ی هندسی مستقیم؛ در embeddingهای متنی کمتر اما در برخی کاربردهای بینایی رایج است.

الگوریتم‌های ایندکس‌گذاری

قلب هر پایگاه‌داده برداری، ساختار ایندکس آن است که میان دقت بازیابی، سرعت و مصرف حافظه مصالحه برقرار می‌کند. هیچ ایندکسی برای همه‌ی موقعیت‌ها بهینه نیست و انتخاب درست به مقیاس داده و نیازمندی‌های تأخیر شما بستگی دارد.

HNSW؛ گراف چندلایه‌ی همسایگی

الگوریتم HNSW یک گراف چندلایه می‌سازد که در آن لایه‌های بالایی پیوندهای بلندبرد و لایه‌های پایینی پیوندهای محلی دارند. جست‌وجو از لایه‌ی بالا آغاز و به‌تدریج به نزدیک‌ترین ناحیه همگرا می‌شود. این الفظ معمولاً بهترین تعادل میان دقت بالا و تأخیر پایین را ارائه می‌دهد، اما مصرف حافظه‌اش زیاد است و ساخت ایندکس کند است. پارامترهای کلیدی آن مانند تعداد همسایه‌ها و عمق جست‌وجو مستقیماً روی recall اثر می‌گذارند.

IVF و کوانتش محصولی

خانواده‌ی IVF فضای برداری را با خوشه‌بندی به نواحی تقسیم می‌کند و هنگام جست‌وجو تنها چند ناحیه‌ی نزدیک را بررسی می‌کند. ترکیب آن با کوانتش محصولی (PQ) که بردارها را فشرده می‌کند، مصرف حافظه را به‌شدت کاهش می‌دهد و امکان نگه‌داری میلیاردها بردار را فراهم می‌کند، هرچند به قیمت افت اندک دقت.

انتخاب ایندکس برداری یک تصمیم مهندسی است، نه یک تنظیم پیش‌فرض؛ شما همواره میان recall، تأخیر و حافظه معامله می‌کنید.

فیلترگذاری فراداده و جست‌وجوی ترکیبی

در عمل به‌ندرت فقط شباهت معنایی کافی است. اغلب باید نتایج را بر اساس فراداده‌هایی مثل دسته‌بندی، تاریخ، سطح دسترسی یا زبان فیلتر کنید. پایگاه‌داده برداری خوب باید فیلترگذاری فراداده را به‌صورت کارآمد و ترجیحاً پیش از یا حین جست‌وجوی برداری (pre-filtering) انجام دهد تا کیفیت نتایج حفظ شود. فیلتر پس از جست‌وجو می‌تواند مجموعه‌ی نتایج را تهی کند.

جست‌وجوی ترکیبی که نتایج معنایی برداری را با جست‌وجوی واژگانی مانند BM25 ادغام می‌کند، در بسیاری از سناریوهای سازمانی عملکرد بهتری دارد، به‌ویژه برای پرس‌وجوهای حاوی نام‌های خاص، کد محصول یا اصطلاحات دقیقی که embedding ممکن است آن‌ها را به‌خوبی رمزگذاری نکند.

ملاحظات عملیاتی و انتخاب راهکار

هنگام انتخاب پایگاه‌داده برداری برای محیط تولید، فراتر از معیار سرعت خام نگاه کنید. به‌روزرسانی افزایشی بردارها، حذف نرم، پشتیبانی از چندمستأجری، پایداری داده، پشتیبان‌گیری و امکان استقرار on-prem برای داده‌های حساس همگی اهمیت دارند. برای داده‌های با حاکمیت ملی یا مقررات سخت‌گیرانه، استقرار اختصاصی اغلب یک الزام است نه یک ترجیح.

همچنین به هزینه‌ی بازایندکس توجه کنید: اگر مدل embedding خود را ارتقا دهید، تمام بردارها باید بازتولید شوند. طراحی پایپلاینی که این بازتولید را بدون قطع سرویس انجام دهد، بخشی جدایی‌ناپذیر از معماری بالغ است.

در گلدیتا، لایه‌ی بازیابی محصولات هوش مصنوعی ما روی پایگاه‌داده برداری با ایندکس HNSW و جست‌وجوی ترکیبی بنا شده و امکان استقرار کاملاً اختصاصی روی زیرساخت مشتری را فراهم می‌کند تا داده هرگز از مرزهای سازمان خارج نشود.

آماده‌اید داده را به طلا تبدیل کنید؟

با کارشناسان گلدیتا درباره‌ی نیاز سازمان خود گفت‌وگو کنید؛ از معماری داده تا استقرار هوش مصنوعی، کنار شما هستیم.