โมเดลและแพลตฟอร์ม AI
Pinecone เปิดซอร์ส VQ-Bench กรอบงานการควอนติเชนเวกเตอร์

Pinecone ได้เปิดตัว VQ-bench ซึ่งเป็นกรอบงานแบบเปิดซอร์สสำหรับสร้างและประเมินวิธีการควอนติเชนเวกเตอร์ ใน ประกาศเมื่อ 17 กันยายน 2026 โดย Ashwin Padaki, Amir Ingber, และ Edo Liberty. การเปิดตัวนี้มาพร้อมกับเว็บไซต์สาธารณะที่ให้บริการการทดสอบเบนช์มาร์คของตัวควอนติเชนยอดนิยม พร้อมกับที่เก็บโค้ดบน GitHub ใบอนุญาต MIT และเอกสารที่นำเสนอที่ VecDB@VLDB 2026.
ทำไม Pinecone จึงสร้างเบนช์มาร์คการควอนติเชน
การควอนติเชนเวกเตอร์ลดจำนวนบิตที่ต้องใช้ในการจัดเก็บเวกเตอร์ ซึ่งผู้เขียนอธิบายว่าเป็นส่วนสำคัญของการดูแล ฐานข้อมูลเวกเตอร์ และมีความสำคัญต่อทั้งฐานข้อมูลเวกเตอร์และโมเดลภาษาขนาดใหญ่ Pinecone ได้ใช้การควอนติเชนตั้งแต่ต้นแบบแรกของบริษัท และผู้เขียนเขียนว่าเมื่อพวกเขาตั้งเป้าหมายสำรวจและประเมินงานวิจัยใหม่ ๆ พวกเขาพบว่าทุกบทความประเมินประสิทธิภาพแตกต่างกัน: ตัวชี้วัดต่างกัน, ชุดข้อมูลต่างกัน, และฮาร์ดแวร์เป้าหมายต่างกัน พวกเขาบอกว่าไม่สามารถหาความพยายามเชิงระบบใด ๆ ที่ประเมินวิธีการชั้นนำเทียบกันได้.
แนวคิดของโครงการ ตามที่ผู้เขียนอธิบายคือ ส่วนใหญ่ของตัวควอนติเชนที่ตีพิมพ์นั้นประกอบด้วยชุดของการดำเนินการพื้นฐานที่ค่อนข้างเล็ก ดังนั้นการสร้างตัวควอนติเชนสามารถลดลงเป็นสูตรของการใช้ primitive ใดและในลำดับใด เอกสารแนบ ที่ส่งไปยัง arXiv เมื่อ 31 กรกฎาคม 2026 ระบุว่ากรอบงานอธิบาย primitive การควอนติเชนเชิงแนวคิดเจ็ดประเภท แสดงวิธีการผสานรวมอย่างอิสระ และแสดงให้เห็นว่า 25 ตัวควอนติเชนทั่วไปสามารถแสดงเป็นสายงานของ primitive เหล่านั้น.
วิธีที่ VQ-Bench ประกอบตัวควอนติเชน
ใน VQ-bench ตัวควอนติเชนคือสิ่งใดก็ได้ที่สามารถรับชุดของเวกเตอร์, บีบอัดมัน, และกู้คืนข้อมูลที่ต้องการในภายหลัง ตัวควอนติเชนต้องมีการทำงานสี่อย่าง: fit ซึ่งเรียนรู้โมเดลจากตัวอย่างของเวกเตอร์และอาจทำการสอบถาม; encode ซึ่งคืนค่ารหัสต่อเวกเตอร์ตามโมเดล; reconstruct ซึ่งสร้างเวกเตอร์จากโมเดลและรหัสของมัน; และ score ซึ่งประเมินผลคูณจุดระหว่างเวกเตอร์สอบถามและเวกเตอร์ที่ถูกเข้ารหัส.
primitive จะดำเนินการสี่วิธีเดียวกันนี้เพิ่มเติมสองวิธีคือ apply และ apply_queries ซึ่งกำหนดว่าขั้นตอนนั้นส่งข้อมูลต่อไปยังขั้นตอนถัดไปอย่างไร วิธีการสองอย่างนี้สร้างสัญญาการเชื่อมต่อที่ทำให้ primitive สามารถผสานรวมกันได้ VQ-bench มี primitive สามกลุ่ม: conditioners เช่น Center, Normalize, PCA, และ RandomRotate; rounders เช่น CastUint, CastAngular, CastNormal, และ KMeans; และ splitters เช่น Segment.
pipeline จะเชื่อมต่อ primitive สองตัวหรือมากกว่า วิธี fit และ encode จะเดินเวกเตอร์ไปข้างหน้าผ่านสายงาน โดยทำงานของแต่ละขั้นตอนและต่อเนื่องโมเดลและรหัสที่ได้; reconstruct จะเริ่มจากขั้นตอนสุดท้ายและเดินย้อนกลับ, โดยแต่ละขั้นตอนจะรวมส่วนของตนกลับเข้า; ส่วน score จะผลักสอบถามไปข้างหน้าผ่าน apply_queries ก่อนทำการเดินย้อนกลับเดียวกัน ตัวควอนติเชนไม่จำเป็นต้องเป็น pipeline เนื่องจากสิ่งใดก็ตามที่ทำสี่วิธีนี้ก็ถือว่าเป็นตัวควอนติเชน, แต่ผู้เขียนรายงานว่าตัวควอนติเชนส่วนใหญ่ที่ตีพิมพ์สามารถแสดงเป็น pipeline ของ primitive ได้.
ประกาศนี้ใช้ E-RaBitQ เป็นตัวอย่าง pipeline ของ primitive สี่ตัว: Center ซึ่งลบค่าเฉลี่ยของเวกเตอร์ชุดข้อมูลจากแต่ละเวกเตอร์; Normalize ซึ่งปรับขนาดแต่ละเวกเตอร์ให้เป็นหน่วย; การหมุนแบบสุ่มโดยใช้การแปลงเชิงตั้งฉากหรือ Hadamard แบบสุ่ม; และการแปลงเชิงมุมที่ทำให้แต่ละเวกเตอร์สอดคล้องกับตารางจำนวนเต็ม b-bit โดยปัดเป็นจุดใกล้ที่สุดในมุม.
การตั้งค่าเบนช์มาร์คและผลการค้นพบที่รายงาน
ผู้เขียนได้ประเมินชุดของตัวควอนติเชน 14 ตัวบนชุดข้อมูลห้าชุดจาก VIBE, โดยนำเสนอผลลัพธ์โดยละเอียดสำหรับสองชุด: ArXiv, มีเวกเตอร์ 1,344,643 ตัวในมิติ 768, และ Yahoo, มีเวกเตอร์ 677,305 ตัวในมิติ 384. ผลลัพธ์เต็มถูกเผยแพร่บนเว็บไซต์เบนช์มาร์คของโครงการ.
Mean Squared Error ของการกู้คืน ซึ่งผู้เขียนเรียกว่าตัวชี้วัดแบบดั้งเดิมสำหรับการควอนติเชนเวกเตอร์และสำคัญสำหรับการใช้งานเช่นการบีบอัดน้ำหนักของ LLM จะวัดบนเวกเตอร์ชุดข้อมูลที่สุ่มเลือก 1,000 ตัวเป็นค่าเฉลี่ยของระยะทางกำลังสองระหว่างแต่ละเวกเตอร์และการกู้คืนของมัน. สำหรับฐานข้อมูลเวกเตอร์, ผู้เขียนอธิบายว่า recall เป็นตัวชี้วัดที่เกี่ยวข้องมากกว่า, โดยเฉพาะสำหรับการจัดอันดับใหม่; recall@10 วัดโดยการคำนวณเวกเตอร์ชุดข้อมูล 1,000 ตัวที่มีผลคูณจุดสูงสุดสำหรับแต่ละสอบถามและตรวจสอบว่ามีสัดส่วนของ 10 อันดับสูงสุดที่ตัวควอนติเชนประเมินอยู่ใน 10 อันดับจริงเท่าใด, ค่าเฉลี่ยบนทุกสอบถาม. ตัวเลขเวลา encode ที่ระบุในประกาศได้มาจาก Apple M2 Pro ที่มี RAM 16GB ใช้หกเธรด, โดยการเข้ารหัสทำเป็นชิ้นส่วนและเร่งด้วยการทำหลายเธรด.
ผู้เขียนรายงานว่า PQ และ OPQ ให้ค่า MSE การกู้คืนที่ต่ำที่สุดอย่างสม่ำเสมอ, ว่า EDEN และ E-RaBitQ มีประสิทธิภาพเทียบเคียงกันในด้าน recall, โดยเฉพาะเมื่อใช้บัดเจ็ตบิตสูง, และว่า EDEN เข้ารหัสได้เร็วกว่า PQ, OPQ, และ E-RaBitQ อย่างมาก, ซึ่งพวกเขาอธิบายว่าเป็นตัวเลือกที่ดีสำหรับการใช้งานการควอนติเชนส่วนใหญ่.
คลังโค้ด, เครื่องมือ, และการมีส่วนร่วม
The คลัง GitHub มีสัญญาอนุญาตแบบ MIT และระบุผู้ดูแล Amir Ingber และ Edo Liberty ของ Pinecone และ Ashwin Padaki จาก University of Pennsylvania. มันมาพร้อมกับเครื่องมือบรรทัดคำสั่งที่เขียนด้วย Rust ชื่อ vqb ซึ่งการกำหนดค่า JSON สำหรับการรันจะเลือกชุดข้อมูล, วิธีการและพารามิเตอร์ของมัน, ตัวชี้วัดคุณภาพ, ค่า k สำหรับการเรียกคืน, อุณหภูมิ softmax, master seed, จำนวนการสุ่มย่อย, และจำนวนเธรด; dry-run flag จะตรวจสอบความถูกต้องของการกำหนดค่าก่อนที่จะมีการคำนวณใด ๆ. โหมดสตรีมมิ่งจะประมวลผลชุดข้อมูลที่ใหญ่กว่าหน่วยความจำโดยการอ่านเวกเตอร์ฐานจากดิสก์เป็นบล็อก, ขนาดเริ่มต้น 256MB.
ตามประกาศ, ที่เก็บนี้รับการมีส่วนร่วมสองประเภท: ตัวควอนไทเซอร์ใหม่ ซึ่งมักเป็นเพียงไม่กี่บรรทัดของโค้ดที่จัดลำดับใหม่ของ primitive ที่ไลบรารีมีอยู่แล้ว, และ primitive ใหม่ที่ทำหน้าที่ตามเมธอดอินเทอร์เฟซหกตัว, ซึ่งจะผสานกับ primitive อื่น ๆ ทั้งหมดในแคตาล็อก. ระบบประเมินผลจะวัด recall@k, การสร้างใหม่และข้อผิดพลาดของคะแนน, ความเอนเอียง, softmax KL และ total variation, ขนาดเป็นบิตต่อมิติ, รวมถึงต้นทุนการเข้ารหัส, คะแนน, และการสร้างใหม่. ผู้เขียนอธิบายการปล่อยนี้ว่าเป็นการวนซ้ำแรกของ VQ-bench และกล่าวว่าจะเพิ่มตัวควอนไทเซอร์เพิ่มเติมตามเวลา; การแก้ไขสามารถส่งผ่านตัวติดตามปัญหาของที่เก็บ, และ benchmark ที่เผยแพร่จะได้รับการอัปเดตเป็นประจำพร้อมวิธีใหม่ที่เพิ่มเข้ามา.












