Cơ sở dữ liệu vector
Cơ sở dữ liệu vector — là các hệ thống lưu trữ và tìm kiếm chuyên biệt, được tối ưu hóa để làm việc với các biểu diễn số nhiều chiều (vector) của dữ liệu phi cấu trúc[1]. Trong bối cảnh các mô hình ngôn ngữ lớn (LLM), chúng cung cấp khả năng tìm kiếm ngữ nghĩa hiệu quả và là thành phần then chốt của các hệ thống trí tuệ nhân tạo hiện đại, đặc biệt trong kiến trúc RAG.
Khác với các cơ sở dữ liệu quan hệ truyền thống vốn định hướng vào việc khớp chính xác, cơ sở dữ liệu vector chuyên về tìm kiếm lân cận gần đúng (Approximate Nearest Neighbor, ANN), tìm kiếm các đối tượng gần nhau về mặt ngữ nghĩa trong không gian nhiều chiều[2].
Cơ sở của cơ sở dữ liệu vector
Biểu diễn vector (Embeddings)
Biểu diễn vector (embeddings) — là các biểu diễn số của văn bản, hình ảnh, âm thanh và các loại dữ liệu khác dưới dạng vector. Nguyên tắc then chốt là các đối tượng gần nhau về mặt ngữ nghĩa (ví dụ, các từ có nghĩa tương tự) sẽ nằm gần nhau trong không gian vector này[3].
Các embedding văn bản hiện đại được tạo ra bằng cách sử dụng các mô hình dựa trên kiến trúc transformer, áp dụng cơ chế chú ý (self-attention) để hiểu ngữ cảnh. Số chiều của các biểu diễn như vậy dao động từ 256 đến 1024 chiều trở lên đối với hầu hết các mô hình hiện đại[4].
Các độ đo tương đồng
Để đo "khoảng cách" hoặc mức độ tương đồng giữa các vector, người ta sử dụng nhiều độ đo khác nhau:
- Độ tương đồng cosine (cosine similarity): Đo cosine của góc giữa hai vector. Đặc biệt hiệu quả đối với embedding văn bản vì tính đến hướng của vector chứ không phải độ lớn của chúng[5].
- Khoảng cách Euclid (L2): Khoảng cách đường thẳng tiêu chuẩn giữa hai điểm trong không gian.
- Tích vô hướng (dot product): Tương tự độ tương đồng cosine nhưng không được chuẩn hóa[6].
Các thuật toán lập chỉ mục
Để tìm kiếm nhanh trong các không gian nhiều chiều, người ta sử dụng các thuật toán ANN chuyên biệt.
HNSW (Hierarchical Navigable Small World)
Thuật toán HNSW sử dụng khái niệm "thế giới nhỏ" và cấu trúc đồ thị phân cấp nhiều lớp. Các lớp trên chứa các liên kết dài để di chuyển nhanh trong không gian (tìm kiếm thô), còn các lớp dưới chứa các liên kết ngắn để xác định chính xác các lân cận. HNSW thể hiện độ phức tạp thời gian logarit O(log N) và là lựa chọn ưu tiên cho hầu hết các cơ sở dữ liệu vector hiện đại[7].
IVF (Inverted File)
Thuật toán IVF phân chia không gian thành các cụm sử dụng phân cụm k-means. Việc tìm kiếm diễn ra trong một số lượng giới hạn các cụm gần nhất, giúp tăng tốc đáng kể quá trình. Số lượng cụm thường được chọn là √N, trong đó N là tổng số vector trong dataset[8].
LSH (Locality-Sensitive Hashing)
Thuật toán LSH sử dụng một họ các hàm băm, với xác suất cao sẽ tạo ra các giá trị băm giống nhau cho các vector gần nhau. Điều này cho phép nhóm nhanh các đối tượng tương tự[9].
Các cơ sở dữ liệu vector phổ biến
- Pinecone: Cơ sở dữ liệu vector đám mây được quản lý hoàn toàn với kiến trúc serverless.
- Qdrant: Cơ sở dữ liệu hiệu năng cao được viết bằng Rust, hỗ trợ lọc nâng cao và giao dịch tương thích ACID.
- Milvus: Cơ sở dữ liệu open-source có khả năng mở rộng với kiến trúc cloud-native. Hỗ trợ nhiều loại chỉ mục, bao gồm các biến thể tăng tốc bằng GPU.
- Weaviate: Cơ sở dữ liệu vector open-source với GraphQL API và hỗ trợ đồ thị tri thức.
- Chroma: Cơ sở dữ liệu open-source nhẹ, được tối ưu hóa cho việc tạo nguyên mẫu nhanh và thử nghiệm.
- FAISS: Thư viện từ Meta, không phải là một cơ sở dữ liệu đầy đủ, nhưng cung cấp các thuật toán lập chỉ mục hiệu năng cao cho dữ liệu tĩnh.
Ứng dụng với LLM: kiến trúc RAG
Retrieval-Augmented Generation (RAG) — là kiến trúc trong đó LLM được bổ sung bằng một cơ sở tri thức bên ngoài thông qua tìm kiếm vector. Các hệ thống RAG gồm hai thành phần chính[10]:
- Retriever (Bộ truy xuất): Thành phần tìm kiếm sử dụng cơ sở dữ liệu vector để tìm thông tin liên quan theo truy vấn của người dùng.
- Generator (Bộ sinh): LLM sử dụng truy vấn ban đầu và thông tin được tìm thấy bởi retriever để tạo ra câu trả lời.
Để RAG hoạt động hiệu quả, người ta sử dụng tìm kiếm kết hợp — kết hợp tìm kiếm ngữ nghĩa (vector) và tìm kiếm từ khóa (ví dụ, BM25), giúp đạt được kết quả chính xác và liên quan hơn.
Xu hướng và hướng phát triển tương lai
Thị trường cơ sở dữ liệu vector đang tăng trưởng bùng nổ, được dự báo từ 1,98 tỷ USD năm 2023 lên 7,13 tỷ USD vào năm 2029 (CAGR 23,7%)[11]. Các hướng phát triển chính bao gồm:
- Hệ thống đa phương thức: Hỗ trợ tìm kiếm đồng thời theo văn bản, hình ảnh, âm thanh và video trong một không gian vector thống nhất.
- Tối ưu hóa tự động: Sử dụng ML để tự động lựa chọn các chỉ mục và tham số tối ưu.
- Điện toán biên (Edge computing): Phát triển các giải pháp nhỏ gọn cho thiết bị di động và IoT.
- Tính toán lượng tử: Khả năng tăng tốc theo cấp số nhân trong tìm kiếm tương đồng.
- Chip thần kinh hình thái (Neuromorphic chips): Mô phỏng hoạt động của não để tiêu thụ năng lượng cực thấp khi thực hiện tìm kiếm.
Liên kết ngoài
- Trang web chính thức của Pinecone
- Trang web chính thức của Qdrant
- Trang web chính thức của Milvus
- Trang web chính thức của Weaviate
Tài liệu tham khảo
- 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.
Chú thích
- ↑ «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]