Vector database — ฐานข้อมูลเวกเตอร์
ฐานข้อมูลเวกเตอร์ คือระบบจัดเก็บและค้นหาข้อมูลเฉพาะทาง ที่ได้รับการปรับแต่งให้ทำงานกับการแทนค่าเชิงตัวเลขมิติสูง (เวกเตอร์) ของข้อมูลไม่มีโครงสร้าง[1] ในบริบทของโมเดลภาษาขนาดใหญ่ (LLM) ฐานข้อมูลเหล่านี้รองรับการค้นหาเชิงความหมายอย่างมีประสิทธิภาพ และเป็นองค์ประกอบสำคัญของระบบปัญญาประดิษฐ์สมัยใหม่ โดยเฉพาะในสถาปัตยกรรม RAG
แตกต่างจากฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิมที่เน้นการจับคู่แบบตรงทั้งหมด ฐานข้อมูลเวกเตอร์เชี่ยวชาญด้านการค้นหาเพื่อนบ้านที่ใกล้เคียงที่สุดแบบประมาณ (Approximate Nearest Neighbor, ANN) เพื่อค้นหาวัตถุที่ใกล้เคียงกันเชิงความหมายในปริภูมิมิติสูง[2]
พื้นฐานของฐานข้อมูลเวกเตอร์
การแทนค่าเวกเตอร์ (Embeddings)
การแทนค่าเวกเตอร์ (embeddings) คือการแทนค่าเชิงตัวเลขของข้อความ รูปภาพ เสียง และข้อมูลประเภทอื่น ๆ ในรูปแบบเวกเตอร์ หลักการสำคัญคือวัตถุที่ใกล้เคียงกันเชิงความหมาย (เช่น คำที่มีความหมายคล้ายกัน) จะอยู่ใกล้กันในปริภูมิเวกเตอร์นี้[3]
การแทนค่าเชิงตัวเลขของข้อความในปัจจุบันถูกสร้างขึ้นโดยใช้โมเดลที่อิงสถาปัตยกรรม transformer ซึ่งใช้กลไก self-attention เพื่อทำความเข้าใจบริบท มิติของการแทนค่าดังกล่าวอยู่ในช่วง 256 ถึง 1024 มิติหรือมากกว่าสำหรับโมเดลสมัยใหม่ส่วนใหญ่[4]
เมตริกความคล้ายคลึง
สำหรับการวัด «ระยะทาง» หรือความคล้ายคลึงระหว่างเวกเตอร์ จะใช้เมตริกที่หลากหลาย:
- ความคล้ายคลึงโคไซน์ (cosine similarity): วัดโคไซน์ของมุมระหว่างเวกเตอร์สองตัว มีประสิทธิภาพสูงเป็นพิเศษสำหรับ embedding ของข้อความ เนื่องจากคำนึงถึงทิศทางของเวกเตอร์ ไม่ใช่ขนาด[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 ใช้ตระกูลของฟังก์ชันแฮชที่มีความน่าจะเป็นสูงในการสร้างแฮชเดียวกันสำหรับเวกเตอร์ที่ใกล้เคียงกัน ทำให้สามารถจัดกลุ่มวัตถุที่คล้ายกันได้อย่างรวดเร็ว[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 พันล้านดอลลาร์สหรัฐในปี 2566 เป็น 7.13 พันล้านดอลลาร์สหรัฐภายในปี 2572 (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]