Vector database — בסיסי נתונים וקטוריים
בסיסי נתונים וקטוריים — אלו מערכות אחסון וחיפוש מיוחדות, אופטימיזציות לעבודה עם ייצוגים מספריים בעלי ממדיות גבוהה (וקטורים) של נתונים לא מובנים[1]. בהקשר של מודלי שפה גדולים (LLM), הם מספקים חיפוש סמנטי יעיל ומהווים רכיב מפתח במערכות בינה מלאכותית מודרניות, ובפרט בארכיטקטורת RAG.
בשונה מבסיסי נתונים רלציוניים מסורתיים המכוונים להתאמות מדויקות, בסיסי נתונים וקטוריים מתמחים בחיפוש שכנים קרובים מקורבים (Approximate Nearest Neighbor, ANN), ומוצאים אובייקטים קרובים סמנטית במרחב בעל ממדיות גבוהה[2].
יסודות בסיסי הנתונים הוקטוריים
ייצוגים וקטוריים (Embeddings)
ייצוגים וקטוריים (embeddings) — אלו ייצוגים מספריים של טקסט, תמונות, שמע וסוגי נתונים אחרים בצורת וקטורים. העיקרון המרכזי הוא שאובייקטים קרובים סמנטית (למשל, מילים בעלות משמעות דומה) ממוקמים במרחב הוקטורי הזה זה ליד זה[3].
ייצוגים וקטוריים טקסטואליים מודרניים נוצרים באמצעות מודלים המבוססים על ארכיטקטורת transformer, המשתמשים במנגנוני תשומת לב (self-attention) להבנת ההקשר. ממדיות הייצוגים הללו נעה בין 256 ל-1024 ממדים ויותר עבור רוב המודלים המודרניים[4].
מדדי דמיון
למדידת ה"מרחק" או הדמיון בין וקטורים משתמשים במדדים שונים:
- דמיון קוסינוס (cosine similarity): מודד את קוסינוס הזווית בין שני וקטורים. יעיל במיוחד עבור embeddings טקסטואליים, שכן הוא מתחשב בכיוון הוקטורים ולא במגניטודה שלהם[5].
- מרחק אוקלידי (L2): המרחק הישיר הסטנדרטי בין שתי נקודות במרחב.
- מכפלה סקלרית (dot product): דומה לדמיון קוסינוס, אך אינה מנורמלת[6].
אלגוריתמי אינדוקס
לחיפוש מהיר במרחבים בעלי ממדיות גבוהה משתמשים באלגוריתמי ANN מיוחדים.
HNSW (Hierarchical Navigable Small World)
האלגוריתם HNSW משתמש בקונספט "העולם הקטן" ובמבנה גרפים היררכי רב-שכבתי. השכבות העליונות מכילות קשרים ארוכים לניווט מהיר במרחב (חיפוש גס), ואילו התחתונות — קשרים קצרים לאיתור מדויק של שכנים. HNSW מפגין סיבוכיות זמן לוגריתמית O(log N) ומהווה את הבחירה המועדפת עבור רוב בסיסי הנתונים הוקטוריים המודרניים[7].
IVF (Inverted File)
האלגוריתם IVF מחלק את המרחב לאשכולות באמצעות אשכול k-means. החיפוש מתבצע במספר מוגבל של האשכולות הקרובים ביותר, מה שמאיץ משמעותית את התהליך. מספר האשכולות נבחר בדרך כלל כ-√N, כאשר N הוא המספר הכולל של הוקטורים ב-dataset[8].
LSH (Locality-Sensitive Hashing)
האלגוריתם LSH משתמש במשפחה של פונקציות גיבוב (hash) אשר ביסוד הסתברות גבוהה מייצרות ערכי גיבוב זהים לוקטורים קרובים. זה מאפשר לקבץ במהירות אובייקטים דומים[9].
בסיסי נתונים וקטוריים פופולריים
- Pinecone: בסיס נתונים וקטורי מנוהל לחלוטין בענן עם ארכיטקטורת serverless.
- Qdrant: בסיס נתונים בעל ביצועים גבוהים, כתוב ב-Rust, עם תמיכה בסינון מתקדם ובעסקאות תואמות ACID.
- Milvus: בסיס נתונים open-source ניתן להרחבה עם ארכיטקטורת cloud-native. תומך בסוגים רבים של אינדקסים, כולל גרסאות מואצות GPU.
- Weaviate: בסיס נתונים וקטורי open-source עם GraphQL API ותמיכה בגרפי ידע.
- Chroma: בסיס נתונים open-source קל משקל, אופטימיזציה לאב-טיפוס מהיר וניסויים.
- FAISS: ספרייה של Meta, שאינה בסיס נתונים מלא, אך מספקת אלגוריתמי אינדוקס בעלי ביצועים גבוהים לנתונים סטטיים.
שימוש עם LLM: ארכיטקטורת RAG
Retrieval-Augmented Generation (RAG) — זוהי ארכיטקטורה שבה LLM משולב עם בסיס ידע חיצוני באמצעות חיפוש וקטורי. מערכות RAG מורכבות משני רכיבים עיקריים[10]:
- רטריוור (Retriever): רכיב החיפוש, המשתמש בבסיס הנתונים הוקטורי לאיתור מידע רלוונטי לשאילתת המשתמש.
- גנרטור (Generator): LLM המשתמש בשאילתה המקורית ובמידע שנמצא על ידי הרטריוור לצורך יצירת תשובה.
לפעולה יעילה של RAG משתמשים בחיפוש היברידי — שילוב של חיפוש סמנטי (וקטורי) ולקסיקלי (מבוסס מילות מפתח, למשל BM25), מה שמבטיח תוצאות מדויקות ורלוונטיות יותר.
מגמות ופיתוח עתידי
שוק בסיסי הנתונים הוקטוריים מציג צמיחה מתפרצת, עם תחזית מ-1.98 מיליארד דולר בשנת 2023 עד 7.13 מיליארד דולר עד שנת 2029 (CAGR של 23.7%)[11]. כיווני הפיתוח המרכזיים כוללים:
- מערכות מולטי-מודליות: תמיכה בחיפוש בו-זמני על טקסט, תמונות, שמע ווידאו במרחב וקטורי אחד.
- אופטימיזציה אוטומטית: שימוש ב-ML לבחירה אוטומטית של אינדקסים ופרמטרים אופטימליים.
- Edge computing: פיתוח פתרונות קומפקטיים למכשירים ניידים ו-IoT.
- מחשוב קוונטי: האצה אקספוננציאלית פוטנציאלית של חיפוש דמיון.
- שבבים נוירומורפיים: חיקוי פעולת המוח לצריכת אנרגיה נמוכה ביותר בעת ביצוע חיפוש.
קישורים חיצוניים
- האתר הרשמי של Pinecone
- האתר הרשמי של Qdrant
- האתר הרשמי של Milvus
- האתר הרשמי של Weaviate
ספרות
- Malkov, Y.A.; Yashunin, D.A. (2016). Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs. arXiv:1603.09320.
- Johnson, J.; Douze, M.; Jégou, H. (2017). Billion-Scale Similarity Search with GPUs. arXiv:1702.08734.
- Datar, M. et al. (2004). Locality-Sensitive Hashing Scheme Based on p-Stable Distributions. SoCG 2004 paper.
- Guo, N. et al. (2020). ScaNN: Efficient Vector Similarity Search at Scale. In: Proc. ACM SIGKDD 2020, pp. 1571-1580. DOI:10.1145/3394486.3403339.
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
- Wang, X. et al. (2021). Milvus: A Purpose-Built Vector Data Management System. In: SIGMOD 2021. DOI:10.1145/3448016.3457550.
- Lee, J. et al. (2022). OOD-DiskANN: Efficient and Scalable Graph ANNS for Out-of-Distribution Queries. arXiv:2211.12850.
- Fan, D. et al. (2023). Survey of Vector Database Management Systems. arXiv:2310.14021.
- Ren, R. et al. (2024). Survey of Filtered Approximate Nearest Neighbor Search over Vector-Scalar Hybrid Data. arXiv:2505.06501.
- Zhao, H. et al. (2024). Starling: An I/O-Efficient Disk-Resident Graph Index Framework for High-Dimensional Vector Similarity Search. arXiv:2401.02116.
- Liu, Y. et al. (2025). Memory-Efficient Similarity Search at Billion-Scale: A Taxonomy and Analysis of Vector Compression Techniques. ResearchGate preprint.
הערות
- ↑ «What Is a Vector Database?». CloudRaft. [1]
- ↑ «What is a Vector Database?». Qdrant Blog. [2]
- ↑ «What Are Vector Embeddings?». LakeFS. [3]
- ↑ «What are embeddings?». Zilliz. [4]
- ↑ Sahoo, A., Maiti, J. «A Comparative Study of Similarity Metrics for Textual Embeddings». arXiv:2501.01234. [5]
- ↑ «Vector search and dense vector fields». Elastic. [6]
- ↑ Malkov, Y. A., Yashunin, D. A. «Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs». arXiv:1603.09320. [7]
- ↑ «The index IVF». FAISS Wiki. [8]
- ↑ Datar, M., et al. «Locality-Sensitive Hashing Scheme Based on p-Stable Distributions». Symposium on Computational Geometry. [9]
- ↑ Lewis, P., et al. «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks». arXiv:2005.11401. [10]
- ↑ «Vector Database Global Market Report 2024». The Business Research Company. [11]