Статті

Що таке векторні бази даних, як вони працюють і потенційний ринок

Векторна база даних — це тип бази даних, яка зберігає дані у вигляді векторів великої розмірності, які є математичними представленнями ознак або атрибутів. 

Ці вектори зазвичай генеруються шляхом застосування певної функції вбудовування до необроблених даних, таких як текст, зображення, аудіо, відео та інші.

Векторні бази даних можуть бути definite як інструмент, який індексує та зберігає вбудовані вектори для швидкого пошуку та пошуку схожості з такими функціями, як фільтрація метаданих і горизонтальне масштабування.

Приблизний час читання: 9 хвилин

Зростаючий інтерес інвесторів

Останніми тижнями спостерігається зростання інтересу інвесторів до векторних баз даних. З початку 2023 року ми помітили, що:

Розберемося докладніше, що таке векторні бази даних.

Вектори як представлення даних

Векторні бази даних значною мірою покладаються на векторне вбудовування, тип представлення даних, який несе в собі семантичну інформацію, яка є критично важливою для AI, щоб отримати розуміння та підтримувати довготривалу пам’ять для використання під час виконання складних дій. 

Векторні вставки

Векторні вставки схожі на карту, але замість того, щоб показувати нам, де знаходяться речі у світі, вони показують нам, де знаходяться речі в тому, що називається векторний простір. Векторний простір — це свого роду великий майданчик, де все має своє місце для гри. Уявіть, що у вас є група тварин: кіт, собака, птах і риба. Ми можемо створити векторне вбудовування для кожного зображення, надавши йому спеціальну позицію на майданчику. Кішка може бути в одному кутку, собака – в іншому. Птах міг бути в небі, а риба могла бути в ставку. Це місце є багатовимірним простором. Кожен вимір відповідає різним їх аспектам, наприклад, риби мають плавці, птахи мають крила, кішки та собаки мають ноги. Іншим їхнім аспектом може бути те, що риби належать до води, птахи — переважно до неба, а коти й собаки — до землі. Отримавши ці вектори, ми можемо використовувати математичні методи, щоб згрупувати їх на основі їх подібності. На основі інформації, яку ми маємо,

Таким чином, векторні вбудовування схожі на карту, яка допомагає нам знаходити подібність між речами у векторному просторі. Подібно до того, як карта допомагає нам орієнтуватися у світі, векторні вставки допомагають орієнтуватися у векторному майданчику.

Ключова ідея полягає в тому, що вбудовування, які семантично схожі одне на одного, мають меншу відстань між собою. Щоб дізнатися, наскільки вони схожі, ми можемо використовувати векторні функції відстані, такі як евклідова відстань, косинусна відстань тощо.

Векторні бази даних проти векторних бібліотек

Векторні бібліотеки зберігати вбудовані вектори в індекси в пам’яті, щоб виконувати пошук подібності. Векторні бібліотеки мають такі характеристики/обмеження:

  1. Зберігати лише вектори : векторні бібліотеки зберігають лише вбудовані вектори, а не пов’язані об’єкти, з яких вони були згенеровані. Це означає, що коли ми надсилаємо запити, векторна бібліотека відповідає відповідними векторами та ідентифікаторами об’єктів. Це обмежує, оскільки фактична інформація зберігається в об’єкті, а не в ідентифікаторі. Щоб вирішити цю проблему, ми повинні зберігати об’єкти у вторинному сховищі. Потім ми можемо використати ідентифікатори, повернуті запитом, і зіставити їх з об’єктами, щоб зрозуміти результати.
  2. Дані індексу незмінні : Індекси, створені векторними бібліотеками, незмінні. Це означає, що після того, як ми імпортували наші дані та побудували індекс, ми не можемо вносити жодних змін (жодних нових вставок, видалень чи змін). Щоб внести зміни в наш індекс, нам доведеться перебудувати його з нуля
  3. Запит із обмеженням імпорту : більшість векторних бібліотек не можна запитувати під час імпорту даних. Спочатку нам потрібно імпортувати всі наші об’єкти даних. Отже, індекс створюється після імпорту об’єктів. Це може бути проблемою для програм, які вимагають імпорту мільйонів або навіть мільярдів об’єктів.

Існує багато доступних бібліотек векторного пошуку: FAISS Facebook, дратувати від Spotify і ScanNN від 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 від Veeam продовжить надавати послуги реагування на інциденти кібервимагання. Coveware запропонує криміналістику та можливості відновлення…

Квітень 23 2024

Зелена та цифрова революція: як прогнозне технічне обслуговування трансформує нафтову та газову промисловість

Прогнозне технічне обслуговування революціонізує нафтогазовий сектор завдяки інноваційному та проактивному підходу до управління заводом.…

Квітень 22 2024

Читайте Innovation своєю мовою

Інноваційний бюлетень
Не пропустіть найважливіші новини про інновації. Підпишіться, щоб отримувати їх електронною поштою.

Слідуйте за нами