บทความ

ฐานข้อมูลเวกเตอร์คืออะไร วิธีการทำงาน และตลาดที่มีศักยภาพ

ฐานข้อมูลเวกเตอร์เป็นฐานข้อมูลประเภทหนึ่งที่เก็บข้อมูลเป็นเวกเตอร์มิติสูง ซึ่งเป็นการแสดงคุณลักษณะหรือแอตทริบิวต์ทางคณิตศาสตร์ 

เวกเตอร์เหล่านี้มักจะสร้างขึ้นโดยการใช้ฟังก์ชันการฝังบางอย่างกับข้อมูลดิบ เช่น ข้อความ รูปภาพ เสียง วิดีโอ และอื่นๆ

ฐานข้อมูลเวกเตอร์ได้ definite เป็นเครื่องมือที่สร้างดัชนีและจัดเก็บเวกเตอร์ที่ฝังไว้เพื่อการดึงข้อมูลอย่างรวดเร็วและการค้นหาที่คล้ายคลึงกัน พร้อมฟีเจอร์ต่างๆ เช่น การกรองข้อมูลเมตา และมาตราส่วนแนวนอน

เวลาในการอ่านโดยประมาณ: 9 นาที

ความสนใจของนักลงทุนที่เพิ่มขึ้น

ในช่วงไม่กี่สัปดาห์ที่ผ่านมา นักลงทุนสนใจฐานข้อมูลเวกเตอร์เพิ่มขึ้น ตั้งแต่ต้นปี 2023 เราสังเกตเห็นว่า:

เรามาดูรายละเอียดเพิ่มเติมว่าฐานข้อมูลเวกเตอร์คืออะไร

เวกเตอร์เป็นตัวแทนข้อมูล

ฐานข้อมูลเวกเตอร์พึ่งพาการฝังเวกเตอร์อย่างมาก ซึ่งเป็นการแสดงข้อมูลประเภทหนึ่งที่มีข้อมูลเชิงความหมายที่สำคัญสำหรับ AI ในการทำความเข้าใจและรักษาหน่วยความจำระยะยาวเพื่อใช้เมื่อดำเนินกิจกรรมที่ซับซ้อน 

เวกเตอร์ฝังตัว

การฝังเวกเตอร์เป็นเหมือนแผนที่ แต่แทนที่จะแสดงให้เราเห็นว่าสิ่งต่าง ๆ อยู่ที่ไหนในโลก พวกมันแสดงให้เราเห็นว่าสิ่งต่าง ๆ อยู่ที่ไหนในสิ่งที่เรียกว่า พื้นที่เวกเตอร์ สเปซเวกเตอร์เป็นเหมือนสนามเด็กเล่นขนาดใหญ่ที่ทุกอย่างมีที่ให้เล่น ลองนึกภาพว่าคุณมีสัตว์อยู่กลุ่มหนึ่ง: แมว สุนัข นก และปลา เราสามารถสร้างเวกเตอร์แบบฝังสำหรับแต่ละภาพโดยกำหนดตำแหน่งพิเศษในสนามเด็กเล่น แมวอาจอยู่มุมหนึ่ง สุนัขอยู่อีกด้าน นกอาจอยู่บนฟ้า ปลาอาจอยู่ในสระน้ำ สถานที่นี้เป็นพื้นที่หลายมิติ แต่ละมิติจะสอดคล้องกับลักษณะต่างๆ กัน เช่น ปลามีครีบ นกมีปีก แมวหมามีขา เป็นต้น อีกแง่มุมหนึ่งของพวกเขาอาจเป็นได้ว่าปลาเป็นของน้ำ นกส่วนใหญ่อยู่บนท้องฟ้า และแมวกับสุนัขอยู่บนพื้นดิน เมื่อเรามีเวกเตอร์เหล่านี้แล้ว เราสามารถใช้เทคนิคทางคณิตศาสตร์เพื่อจัดกลุ่มตามความคล้ายคลึงกันได้ จากข้อมูลที่เรามี

ดังนั้น การฝังเวกเตอร์จึงเหมือนแผนที่ที่ช่วยเราค้นหาความคล้ายคลึงกันระหว่างสิ่งต่างๆ ในปริภูมิเวกเตอร์ เช่นเดียวกับที่แผนที่ช่วยให้เราสำรวจโลก การฝังเวกเตอร์ช่วยนำทางสนามเด็กเล่นเวกเตอร์

แนวคิดหลักคือการฝังที่มีความหมายคล้ายกันมีระยะห่างระหว่างกันน้อยกว่า หากต้องการทราบว่ามีความคล้ายคลึงกันเพียงใด เราสามารถใช้ฟังก์ชันระยะทางเวกเตอร์ เช่น ระยะทางแบบยุคลิด ระยะทางโคไซน์ เป็นต้น

ฐานข้อมูลเวกเตอร์กับห้องสมุดเวกเตอร์

ห้องสมุดเวกเตอร์ จัดเก็บการฝังเวกเตอร์ในดัชนีในหน่วยความจำ เพื่อทำการค้นหาความคล้ายคลึงกัน ไลบรารีเวกเตอร์มีลักษณะ/ข้อจำกัดดังต่อไปนี้:

  1. เก็บเวกเตอร์เท่านั้น : ไลบรารีเวกเตอร์จัดเก็บเฉพาะการฝังของเวกเตอร์ ไม่ใช่วัตถุที่เกี่ยวข้องซึ่งสร้างขึ้น ซึ่งหมายความว่าเมื่อเราสอบถาม ไลบรารีเวกเตอร์จะตอบกลับด้วยเวกเตอร์ที่เกี่ยวข้องและรหัสวัตถุ นี่เป็นข้อ จำกัด เนื่องจากข้อมูลจริงถูกเก็บไว้ในวัตถุไม่ใช่รหัส เพื่อแก้ปัญหานี้ เราควรจัดเก็บออบเจกต์ไว้ในที่เก็บข้อมูลสำรอง จากนั้นเราสามารถใช้รหัสที่ส่งคืนโดยแบบสอบถามและจับคู่กับวัตถุเพื่อทำความเข้าใจผลลัพธ์
  2. ข้อมูลดัชนีไม่เปลี่ยนรูป : ดัชนีที่สร้างโดยไลบรารีเวกเตอร์นั้นไม่เปลี่ยนรูป ซึ่งหมายความว่าเมื่อเรานำเข้าข้อมูลและสร้างดัชนีแล้ว เราจะไม่สามารถเปลี่ยนแปลงใดๆ ได้ (ไม่มีการแทรก การลบ หรือการเปลี่ยนแปลงใหม่) ในการเปลี่ยนแปลงดัชนีของเรา เราจะต้องสร้างดัชนีขึ้นมาใหม่ตั้งแต่ต้น
  3. สืบค้นในขณะที่จำกัดการนำเข้า : ไลบรารีเวกเตอร์ส่วนใหญ่ไม่สามารถสืบค้นได้ในขณะที่นำเข้าข้อมูล เราจำเป็นต้องนำเข้าวัตถุข้อมูลของเราทั้งหมดก่อน ดังนั้นดัชนีจึงถูกสร้างขึ้นหลังจากนำเข้าวัตถุแล้ว นี่อาจเป็นปัญหาสำหรับแอปพลิเคชันที่ต้องนำเข้าวัตถุหลายล้านหรือหลายพันล้านชิ้น

มีไลบรารีการค้นหาเวกเตอร์มากมาย: FAISS ของเฟสบุ๊ค รบกวนด้วยนะครับ โดย Spotify และ สแกนเอ็น โดย Google FAISS ใช้วิธีการจัดกลุ่ม Annoy ใช้ต้นไม้ และ ScanNN ใช้การบีบอัดเวกเตอร์ มีการแลกเปลี่ยนประสิทธิภาพสำหรับแต่ละรายการ ซึ่งเราสามารถเลือกได้ตามแอปพลิเคชันและเมตริกประสิทธิภาพของเรา

CRUD

คุณสมบัติหลักที่ทำให้ฐานข้อมูลเวกเตอร์แตกต่างจากไลบรารีเวกเตอร์คือความสามารถในการเก็บถาวร อัปเดตและลบข้อมูล ฐานข้อมูลเวกเตอร์รองรับ CRUD เสร็จสมบูรณ์ (สร้าง อ่าน อัปเดต และลบ) ที่แก้ไขข้อจำกัดของไลบรารีเวกเตอร์

  1. เก็บเวกเตอร์และวัตถุ : ฐานข้อมูลสามารถจัดเก็บได้ทั้งวัตถุข้อมูลและเวกเตอร์ เนื่องจากทั้งคู่ถูกเก็บไว้ เราจึงสามารถรวมการค้นหาเวกเตอร์กับตัวกรองที่มีโครงสร้างได้ ตัวกรองช่วยให้เรามั่นใจได้ว่าเพื่อนบ้านที่ใกล้ที่สุดตรงกับตัวกรองข้อมูลเมตา
  2. ความไม่แน่นอน : เนื่องจากฐานข้อมูลเวกเตอร์รองรับอย่างเต็มที่ หยาบ, เราสามารถเพิ่ม ลบ หรืออัปเดตรายการในดัชนีของเราได้อย่างง่ายดายหลังจากสร้างแล้ว สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อทำงานกับข้อมูลที่เปลี่ยนแปลงตลอดเวลา
  3. ค้นหาตามเวลาจริง : ไม่เหมือนไลบรารีเวกเตอร์ ฐานข้อมูลอนุญาตให้เราค้นหาและแก้ไขข้อมูลของเราในระหว่างกระบวนการนำเข้า ขณะที่เราโหลดอ็อบเจ็กต์หลายล้านรายการ ข้อมูลที่นำเข้ายังคงสามารถเข้าถึงได้และใช้งานได้อย่างสมบูรณ์ ดังนั้นคุณจึงไม่ต้องรอให้การนำเข้าเสร็จสิ้นเพื่อเริ่มทำงานกับสิ่งที่มีอยู่แล้ว

กล่าวโดยย่อ ฐานข้อมูลเวกเตอร์ให้โซลูชันที่เหนือกว่าสำหรับการจัดการการฝังเวกเตอร์โดยจัดการกับข้อจำกัดของดัชนีเวกเตอร์ในตัวตามที่กล่าวไว้ในประเด็นก่อนหน้า

แต่อะไรทำให้ฐานข้อมูลเวกเตอร์เหนือกว่าฐานข้อมูลแบบเดิม

ฐานข้อมูลเวกเตอร์กับฐานข้อมูลแบบดั้งเดิม

ฐานข้อมูลแบบดั้งเดิมได้รับการออกแบบมาเพื่อจัดเก็บและดึงข้อมูลที่มีโครงสร้างโดยใช้แบบจำลองเชิงสัมพันธ์ ซึ่งหมายความว่าฐานข้อมูลเหล่านี้ได้รับการปรับให้เหมาะสมสำหรับการสืบค้นตามคอลัมน์และแถวของข้อมูล แม้ว่าจะสามารถจัดเก็บการฝังเวกเตอร์ในฐานข้อมูลแบบดั้งเดิมได้ แต่ฐานข้อมูลเหล่านี้ไม่ได้รับการปรับให้เหมาะสมสำหรับการดำเนินการเวกเตอร์ และไม่สามารถดำเนินการค้นหาความคล้ายคลึงกันหรือการดำเนินการที่ซับซ้อนอื่นๆ ในชุดข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพ

เนื่องจากฐานข้อมูลแบบดั้งเดิมใช้เทคนิคการจัดทำดัชนีตามประเภทข้อมูลอย่างง่าย เช่น สตริงหรือตัวเลข เทคนิคการจัดทำดัชนีเหล่านี้ไม่เหมาะสำหรับข้อมูลเวกเตอร์ซึ่งมีมิติข้อมูลสูง และต้องใช้เทคนิคการจัดทำดัชนีเฉพาะ เช่น ดัชนีกลับหัวหรือต้นไม้เชิงพื้นที่

นอกจากนี้ ฐานข้อมูลแบบดั้งเดิมไม่ได้ออกแบบมาเพื่อจัดการกับข้อมูลที่ไม่มีโครงสร้างหรือกึ่งโครงสร้างจำนวนมากที่มักเกี่ยวข้องกับการฝังเวกเตอร์ ตัวอย่างเช่น ไฟล์รูปภาพหรือไฟล์เสียงสามารถมีจุดข้อมูลหลายล้านจุด ซึ่งฐานข้อมูลแบบดั้งเดิมไม่สามารถจัดการได้อย่างมีประสิทธิภาพ

ในทางกลับกัน ฐานข้อมูลเวกเตอร์ได้รับการออกแบบมาโดยเฉพาะเพื่อจัดเก็บและดึงข้อมูลเวกเตอร์ และปรับให้เหมาะสมสำหรับการค้นหาความคล้ายคลึงกันและการดำเนินการที่ซับซ้อนอื่นๆ ในชุดข้อมูลขนาดใหญ่ พวกเขาใช้เทคนิคการจัดทำดัชนีพิเศษและอัลกอริทึมที่ออกแบบมาเพื่อทำงานกับข้อมูลที่มีมิติสูง ทำให้มีประสิทธิภาพมากกว่าฐานข้อมูลแบบดั้งเดิมในการจัดเก็บและเรียกข้อมูลเวกเตอร์ฝังตัว

ตอนนี้คุณได้อ่านเกี่ยวกับฐานข้อมูลเวกเตอร์มามากแล้ว คุณอาจสงสัยว่ามันทำงานอย่างไร ลองมาดูกัน

ฐานข้อมูลเวกเตอร์ทำงานอย่างไร

เราทุกคนทราบดีว่าฐานข้อมูลเชิงสัมพันธ์ทำงานอย่างไร โดยจัดเก็บสตริง ตัวเลข และข้อมูลประเภทสเกลาร์อื่นๆ ในแถวและคอลัมน์ ในทางกลับกัน ฐานข้อมูลเวกเตอร์ทำงานบนเวกเตอร์ ดังนั้นวิธีเพิ่มประสิทธิภาพและการสืบค้นจึงแตกต่างกันมาก

ในฐานข้อมูลแบบดั้งเดิม เรามักจะค้นหาแถวในฐานข้อมูลซึ่งค่ามักจะตรงกับการค้นหาของเราทุกประการ ในฐานข้อมูลเวกเตอร์ เราใช้เมตริกความคล้ายคลึงกันเพื่อค้นหาเวกเตอร์ที่คล้ายกับข้อความค้นหาของเรามากที่สุด

ฐานข้อมูลเวกเตอร์ใช้การรวมกันของอัลกอริทึมหลายอย่างที่ทั้งหมดมีส่วนร่วมในการค้นหาเพื่อนบ้านที่ใกล้ที่สุด (ANN) อัลกอริทึมเหล่านี้เพิ่มประสิทธิภาพการค้นหาด้วยการแฮช การหาปริมาณ หรือการค้นหาตามกราฟ

อัลกอริธึมเหล่านี้ประกอบกันเป็นไปป์ไลน์ที่ให้การเรียกข้อมูลเพื่อนบ้านของเวกเตอร์ที่สอบถามได้อย่างรวดเร็วและแม่นยำ เนื่องจากฐานข้อมูลเวกเตอร์ให้ผลลัพธ์โดยประมาณ การแลกเปลี่ยนหลักที่เราพิจารณาคือระหว่างความแม่นยำและความเร็ว ยิ่งผลลัพธ์แม่นยำมากเท่าใด ข้อความค้นหาก็จะยิ่งช้าลงเท่านั้น อย่างไรก็ตาม ระบบที่ดีสามารถค้นหาได้อย่างรวดเร็วด้วยความแม่นยำเกือบสมบูรณ์แบบ

  • การทำดัชนี : ฐานข้อมูลเวกเตอร์จัดทำดัชนีเวกเตอร์โดยใช้อัลกอริทึม เช่น PQ, LSH หรือ HNSW ขั้นตอนนี้เชื่อมโยงเวกเตอร์กับโครงสร้างข้อมูลซึ่งจะช่วยให้ค้นหาได้เร็วขึ้น
  • สอบถาม : ฐานข้อมูลเวกเตอร์เปรียบเทียบเวกเตอร์คิวรีที่ทำดัชนีกับเวกเตอร์ที่จัดทำดัชนีในชุดข้อมูลเพื่อค้นหาเพื่อนบ้านที่ใกล้เคียงที่สุด (ใช้เมตริกความคล้ายคลึงกันที่ใช้โดยดัชนีนั้น)
  • การประมวลผลภายหลัง : ในบางกรณี ฐานข้อมูลเวกเตอร์จะดึงเพื่อนบ้านที่ใกล้ที่สุดสุดท้ายจากชุดข้อมูลและประมวลผลภายหลังเพื่อส่งคืนผลลัพธ์สุดท้าย ขั้นตอนนี้อาจรวมถึงการจัดประเภทเพื่อนบ้านที่ใกล้ที่สุดใหม่โดยใช้มาตรวัดความคล้ายคลึงกันที่แตกต่างกัน

ประโยชน์ที่ได้รับ

ฐานข้อมูลเวกเตอร์เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการค้นหาความคล้ายคลึงกันและการดำเนินการที่ซับซ้อนอื่นๆ ในชุดข้อมูลขนาดใหญ่ ซึ่งไม่สามารถทำได้อย่างมีประสิทธิภาพโดยใช้ฐานข้อมูลแบบดั้งเดิม ในการสร้างฐานข้อมูลเวกเตอร์ที่ใช้งานได้ การฝังมีความสำคัญ เนื่องจากสามารถจับความหมายเชิงความหมายของข้อมูลและเปิดใช้งานการค้นหาความคล้ายคลึงกันที่แม่นยำ ฐานข้อมูลเวกเตอร์ได้รับการออกแบบมาให้เหมาะกับกรณีการใช้งานของเรา ซึ่งแตกต่างจากไลบรารีเวกเตอร์ ทำให้เหมาะสำหรับการใช้งานที่ประสิทธิภาพและความสามารถในการปรับขนาดเป็นสิ่งสำคัญ ด้วยการเพิ่มขึ้นของแมชชีนเลิร์นนิงและปัญญาประดิษฐ์ ฐานข้อมูลเวกเตอร์จึงมีความสำคัญมากขึ้นสำหรับแอปพลิเคชันที่หลากหลาย รวมถึงระบบผู้แนะนำ การค้นหารูปภาพ ความคล้ายคลึงทางความหมาย และรายการต่อไป ในขณะที่สาขานี้มีการพัฒนาอย่างต่อเนื่อง เราสามารถคาดหวังได้ว่าจะได้เห็นแอปพลิเคชันที่เป็นนวัตกรรมใหม่ของฐานข้อมูลเวกเตอร์ในอนาคต

Ercole Palmeri

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล

บทความล่าสุด

ผู้จัดพิมพ์และ OpenAI ลงนามข้อตกลงเพื่อควบคุมการไหลของข้อมูลที่ประมวลผลโดยปัญญาประดิษฐ์

เมื่อวันจันทร์ที่แล้ว Financial Times ได้ประกาศข้อตกลงกับ OpenAI FT อนุญาติให้ทำข่าวระดับโลก...

30 2024 เมษายน

การชำระเงินออนไลน์: นี่คือวิธีที่บริการสตรีมมิ่งทำให้คุณชำระเงินตลอดไป

ผู้คนนับล้านชำระค่าบริการสตรีมมิ่ง โดยจ่ายค่าธรรมเนียมการสมัครสมาชิกรายเดือน เป็นความเห็นทั่วไปที่คุณ...

29 2024 เมษายน

Veeam มีการสนับสนุนแรนซัมแวร์ที่ครอบคลุมที่สุด ตั้งแต่การป้องกันไปจนถึงการตอบสนองและการกู้คืน

Coveware by Veeam จะยังคงให้บริการตอบสนองต่อเหตุการณ์การขู่กรรโชกทางไซเบอร์ต่อไป Coveware จะนำเสนอความสามารถในการนิติเวชและการแก้ไข...

23 2024 เมษายน

การปฏิวัติสีเขียวและดิจิทัล: การบำรุงรักษาเชิงคาดการณ์กำลังเปลี่ยนแปลงอุตสาหกรรมน้ำมันและก๊าซอย่างไร

การบำรุงรักษาเชิงคาดการณ์กำลังปฏิวัติภาคส่วนน้ำมันและก๊าซ ด้วยแนวทางเชิงรุกและนวัตกรรมในการจัดการโรงงาน...

22 2024 เมษายน

อ่านนวัตกรรมในภาษาของคุณ

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล

ติดตามเรา