pg_vectorsearch ต่อขยาย PostgreSQL ด้วยฟีเจอร์ Vector Search แบบ Open Source

Tiger Data ได้เปิดตัว pg_vectorsearch ซึ่งเป็นส่วนขยายสำหรับ PostgreSQL สำหรับการค้นหาความคล้ายคลึงของเวกเตอร์ในรูปแบบ Open Source และขณะนี้อยู่ในช่วง alpha แล้ว

ตามที่ Erik Nordström, Matvey Arye และ Noah Hein จาก Tiger Data อธิบายว่า PRISM จะจัดกลุ่มเวกเตอร์ที่คล้ายกันเป็นพาร์ทิชันและจัดเก็บในรูปแบบที่บีบอัด แทนที่จะเชื่อมต่อทุกเวกเตอร์เข้ากับเพื่อนบ้านในกราฟ

ดัชนีใน pg_vectorsearch ผสานรวมการจัดกลุ่มแบบลำดับชั้น (hierarchical clustering) เวกเตอร์ที่ถูกบีบอัด และ RaBitQ quantization เพื่อลดการคำนวณระยะทางที่มีค่าใช้จ่ายสูง

แม้ว่าการทดสอบของ Tiger Data จะยังไม่ได้รับการตรวจสอบอย่างอิสระ แต่พวกเขาก็เปรียบเทียบด้วยการวัด recall@10 กับผลลัพธ์การค้นหาที่แน่นอน โดยใช้ pgvector’s 16-bit halfvec สำหรับ HNSW

ผู้ใช้งานมองเห็นศักยภาพในการค้นหาเวกเตอร์ที่รวดเร็วกว่าด้วยการใช้หน่วยความจำน้อยลงภายใน PostgreSQL แต่ก็ตั้งคำถามเกี่ยวกับการตรวจสอบมาตรฐานที่เป็นอิสระ และการขาดการรองรับการค้นหาแบบกรอง (filtered searches)

ศัพท์ที่ควรรู้

  • pg_vectorsearch – ส่วนขยายสำหรับ PostgreSQL ที่ช่วยในการค้นหาความคล้ายคลึงของเวกเตอร์
  • Vector Search – เทคนิคการค้นหาข้อมูลโดยการเปรียบเทียบความใกล้เคียงของเวกเตอร์แทนการจับคู่แบบตรงตัว
  • HNSW – หนึ่งในอัลกอริทึมค้นหาเพื่อนบ้านใกล้เคียงโดยประมาณ (approximate nearest-neighbor algorithm) ที่ใช้ในการค้นหาข้อมูลขนาดใหญ่
  • PRISM – อัลกอริทึมที่ใช้ในการจัดกลุ่มเวกเตอร์ที่คล้ายกันเพื่อจำกัดขอบเขตการค้นหา
  • RaBitQ quantization – เทคนิคที่ใช้ในการลดการคำนวณระยะทางซึ่งมีค่าใช้จ่ายสูงในการค้นหา

ที่มา: infoq.com

Leave a Comment