towary

Czym są wektorowe bazy danych, jak działają i jaki jest potencjalny rynek

Wektorowa baza danych to rodzaj bazy danych, w której dane są przechowywane jako wielowymiarowe wektory, które są matematycznymi reprezentacjami cech lub atrybutów. 

Wektory te są zwykle generowane przez zastosowanie jakiejś funkcji osadzania do surowych danych, takich jak tekst, obrazy, audio, wideo i inne.

Mogą być bazy danych wektorowych definite jako narzędzie, które indeksuje i przechowuje osadzone wektory w celu szybkiego wyszukiwania i wyszukiwania podobieństw, z funkcjami takimi jak filtrowanie metadanych i skalowanie w poziomie.

Szacowany czas czytania: 9 minuti

Rosnące zainteresowanie inwestorów

W ostatnich tygodniach wzrosło zainteresowanie inwestorów wektorowymi bazami danych. Od początku 2023 roku zauważyliśmy, że:

Zobaczmy bardziej szczegółowo, czym są wektorowe bazy danych.

Wektory jako reprezentacja danych

Wektorowe bazy danych w dużym stopniu opierają się na osadzeniu wektorowym, typie reprezentacji danych, który przenosi w sobie informacje semantyczne, które mają kluczowe znaczenie dla sztucznej inteligencji w zrozumieniu i utrzymaniu długoterminowej pamięci, z której można korzystać podczas wykonywania złożonych czynności. 

Osadzone wektory

Osadzone wektory są jak mapy, ale zamiast pokazywać nam, gdzie są rzeczy na świecie, pokazują nam, gdzie są rzeczy w czymś, co nazywa się Przestrzeń wektorowa. Przestrzeń wektorowa to swego rodzaju wielki plac zabaw, na którym wszystko ma swoje miejsce. Wyobraź sobie, że masz grupę zwierząt: kota, psa, ptaka i rybę. Możemy utworzyć osadzenie wektora dla każdego obrazu, nadając mu specjalne miejsce na placu zabaw. Kot może być w jednym rogu, pies po drugiej stronie. Ptak może być na niebie, a ryba w stawie. To miejsce jest przestrzenią wielowymiarową. Każdy wymiar odpowiada innym ich aspektom, na przykład ryby mają płetwy, ptaki mają skrzydła, koty i psy mają nogi. Innym ich aspektem może być to, że ryby należą do wody, ptaki głównie do nieba, a koty i psy do ziemi. Kiedy już mamy te wektory, możemy użyć technik matematycznych, aby pogrupować je na podstawie ich podobieństwa. Na podstawie informacji, które posiadamy,

Tak więc osadzanie wektorów jest jak mapa, która pomaga nam znaleźć podobieństwa między rzeczami w przestrzeni wektorowej. Tak jak mapa pomaga nam poruszać się po świecie, osadzone wektory pomagają poruszać się po wektorowym placu zabaw.

Kluczową ideą jest to, że elementy osadzone, które są semantycznie podobne do siebie, mają mniejszą odległość między sobą. Aby dowiedzieć się, jak bardzo są do siebie podobne, możemy użyć wektorowych funkcji odległości, takich jak odległość euklidesowa, odległość cosinusowa itp.

Wektorowe bazy danych a biblioteki wektorowe

Biblioteki wektorowe przechowywać osadzenia wektorów w indeksach w pamięci, w celu przeprowadzenia wyszukiwania podobieństwa. Biblioteki wektorowe mają następujące cechy/ograniczenia:

  1. Przechowuj tylko wektory : Biblioteki wektorów przechowują tylko osadzania wektorów, a nie powiązane obiekty, z których zostały wygenerowane. Oznacza to, że gdy wyślemy zapytanie, biblioteka wektorów odpowie odpowiednimi wektorami i identyfikatorami obiektów. Jest to ograniczające, ponieważ rzeczywiste informacje są przechowywane w obiekcie, a nie w identyfikatorze. Aby rozwiązać ten problem, powinniśmy przechowywać obiekty w pamięci dodatkowej. Następnie możemy użyć identyfikatorów zwróconych przez zapytanie i dopasować je do obiektów, aby zrozumieć wyniki.
  2. Dane indeksu są niezmienne : Indeksy utworzone przez biblioteki wektorów są niezmienne. Oznacza to, że po zaimportowaniu danych i zbudowaniu indeksu nie możemy wprowadzać żadnych zmian (żadnych nowych wstawek, usunięć ani zmian). Aby wprowadzić zmiany w naszym indeksie, będziemy musieli odbudować go od podstaw
  3. Zapytanie z ograniczeniem importu : Większości bibliotek wektorowych nie można przeszukiwać podczas importowania danych. Najpierw musimy zaimportować wszystkie nasze obiekty danych. Tak więc indeks jest tworzony po zaimportowaniu obiektów. Może to stanowić problem w przypadku aplikacji, które wymagają zaimportowania milionów, a nawet miliardów obiektów.

Dostępnych jest wiele bibliotek wyszukiwania wektorów: FAISS z Facebooka, Annoy przez Spotify i skanNN przez Google. FAISS wykorzystuje metodę grupowania, Annoy wykorzystuje drzewa, a ScanNN wykorzystuje kompresję wektorową. Dla każdego istnieje kompromis w zakresie wydajności, który możemy wybrać na podstawie naszych wskaźników aplikacji i wydajności.

CRUD

Główną cechą odróżniającą wektorowe bazy danych od bibliotek wektorowych jest możliwość archiwizacji, aktualizacji i usuwania danych. Bazy danych wektorowych obsługują CRUD kompletne (tworzenie, odczytywanie, aktualizowanie i usuwanie), które rozwiązuje ograniczenia biblioteki wektorów.

  1. Archiwizuj wektory i obiekty : Bazy danych mogą przechowywać zarówno obiekty danych, jak i wektory. Ponieważ oba są przechowywane, możemy połączyć wyszukiwanie wektorowe z filtrami strukturalnymi. Filtry pozwalają nam upewnić się, że najbliżsi sąsiedzi pasują do filtra metadanych.
  2. Zmienność : jak w pełni obsługują wektorowe bazy danych surowy, możemy łatwo dodawać, usuwać lub aktualizować wpisy w naszym indeksie po jego utworzeniu. Jest to szczególnie przydatne podczas pracy z ciągle zmieniającymi się danymi.
  3. Wyszukiwanie w czasie rzeczywistym : W przeciwieństwie do bibliotek wektorowych, bazy danych pozwalają nam wyszukiwać i modyfikować nasze dane podczas procesu importu. Gdy ładujemy miliony obiektów, zaimportowane dane pozostają w pełni dostępne i działają, więc nie trzeba czekać na zakończenie importu, aby rozpocząć pracę nad tym, co już tam jest.

Krótko mówiąc, wektorowa baza danych zapewnia doskonałe rozwiązanie do obsługi osadzania wektorów, uwzględniając ograniczenia niezależnych indeksów wektorowych, jak omówiono w poprzednich punktach.

Ale co sprawia, że ​​wektorowe bazy danych są lepsze od tradycyjnych baz danych?

Wektorowe bazy danych a tradycyjne bazy danych

Tradycyjne bazy danych są przeznaczone do przechowywania i pobierania danych strukturalnych przy użyciu modeli relacyjnych, co oznacza, że ​​są zoptymalizowane pod kątem zapytań opartych na kolumnach i wierszach danych. Chociaż możliwe jest przechowywanie osadzonych wektorów w tradycyjnych bazach danych, te bazy danych nie są zoptymalizowane pod kątem operacji na wektorach i nie mogą efektywnie wykonywać wyszukiwania podobieństw ani innych złożonych operacji na dużych zbiorach danych.

Dzieje się tak dlatego, że tradycyjne bazy danych wykorzystują techniki indeksowania oparte na prostych typach danych, takich jak ciągi znaków lub liczby. Te techniki indeksowania nie są odpowiednie dla danych wektorowych, które mają dużą wymiarowość i wymagają specjalistycznych technik indeksowania, takich jak odwrócone indeksy lub drzewa przestrzenne.

Ponadto tradycyjne bazy danych nie są zaprojektowane do obsługi dużych ilości nieustrukturyzowanych lub częściowo ustrukturyzowanych danych, często związanych z osadzonymi wektorami. Na przykład obraz lub plik audio może zawierać miliony punktów danych, których tradycyjne bazy danych nie są w stanie efektywnie obsłużyć.

Z drugiej strony, wektorowe bazy danych są specjalnie zaprojektowane do przechowywania i pobierania danych wektorowych oraz są zoptymalizowane pod kątem wyszukiwania podobieństw i innych złożonych operacji na dużych zbiorach danych. Używają wyspecjalizowanych technik indeksowania i algorytmów zaprojektowanych do pracy z danymi wielowymiarowymi, dzięki czemu są znacznie bardziej wydajne niż tradycyjne bazy danych do przechowywania i wyszukiwania osadzonych wektorów.

Teraz, gdy tyle przeczytałeś o wektorowych bazach danych, możesz się zastanawiać, jak one działają? Spójrzmy.

Jak działa wektorowa baza danych?

Wszyscy wiemy, jak działają relacyjne bazy danych: przechowują ciągi znaków, liczby i inne rodzaje danych skalarnych w wierszach i kolumnach. Z drugiej strony wektorowa baza danych działa na wektorach, więc sposób jej optymalizacji i przeszukiwania jest zupełnie inny.

W tradycyjnych bazach danych zwykle pytamy o wiersze w bazie danych, w których wartość zwykle dokładnie odpowiada naszemu zapytaniu. W bazach danych wektorów stosujemy metrykę podobieństwa, aby znaleźć wektor, który jest najbardziej podobny do naszego zapytania.

Wektorowa baza danych wykorzystuje kombinację kilku algorytmów, z których wszystkie uczestniczą w wyszukiwaniu najbliższego sąsiada (ANN). Algorytmy te optymalizują wyszukiwanie poprzez mieszanie, kwantyzację lub wyszukiwanie oparte na grafach.

Algorytmy te są łączone w potok, który zapewnia szybkie i dokładne wyszukiwanie sąsiadów wektora, którego dotyczy zapytanie. Ponieważ baza danych wektorów zapewnia przybliżone wyniki, główne kompromisy, które rozważamy, dotyczą dokładności i szybkości. Im dokładniejszy wynik, tym wolniejsze będzie zapytanie. Jednak dobry system może zapewnić ultraszybkie wyszukiwanie z niemal idealną dokładnością.

  • Indeksowanie : Baza danych wektorów indeksuje wektory przy użyciu algorytmu, takiego jak PQ, LSH lub HNSW. Ten krok wiąże wektory ze strukturą danych, co pozwoli na szybsze wyszukiwanie.
  • Pytanie : baza danych wektorów porównuje indeksowany wektor zapytania z indeksowanymi wektorami w zbiorze danych, aby znaleźć najbliższych sąsiadów (stosując metrykę podobieństwa używaną przez ten indeks)
  • Przetwarzanie końcowe : W niektórych przypadkach baza danych wektorowych pobiera ostatecznych najbliższych sąsiadów ze zbioru danych i przetwarza je w celu zwrócenia ostatecznych wyników. Ten krok może obejmować reklasyfikację najbliższych sąsiadów przy użyciu innej miary podobieństwa.

korzyści

Bazy danych wektorowych są potężnym narzędziem do wyszukiwania podobieństw i innych złożonych operacji na dużych zbiorach danych, których nie można skutecznie wykonać przy użyciu tradycyjnych baz danych. Aby zbudować funkcjonalną wektorową bazę danych, niezbędne są elementy osadzone, ponieważ przechwytują semantyczne znaczenie danych i umożliwiają dokładne wyszukiwanie podobieństw. W przeciwieństwie do bibliotek wektorowych, wektorowe bazy danych są zaprojektowane tak, aby pasowały do ​​naszego przypadku użycia, dzięki czemu idealnie nadają się do zastosowań, w których wydajność i skalowalność mają kluczowe znaczenie. Wraz z rozwojem uczenia maszynowego i sztucznej inteligencji, wektorowe bazy danych stają się coraz ważniejsze dla szerokiego zakresu zastosowań, w tym systemów rekomendujących, wyszukiwania obrazów, podobieństwa semantycznego i lista jest długa. W miarę rozwoju tej dziedziny możemy spodziewać się w przyszłości jeszcze bardziej innowacyjnych zastosowań wektorowych baz danych.

Ercole Palmeri

Biuletyn innowacji
Nie przegap najważniejszych wiadomości dotyczących innowacji. Zarejestruj się, aby otrzymywać je e-mailem.

Najnowsze artykuły

Veeam oferuje najbardziej wszechstronną obsługę oprogramowania ransomware, od ochrony po reagowanie i odzyskiwanie

Coveware by Veeam będzie w dalszym ciągu świadczyć usługi reagowania na incydenty związane z wyłudzeniami cybernetycznymi. Coveware będzie oferować funkcje kryminalistyczne i naprawcze…

Kwiecień 23 2024

Rewolucja ekologiczna i cyfrowa: jak konserwacja predykcyjna zmienia przemysł naftowy i gazowy

Konserwacja predykcyjna rewolucjonizuje sektor naftowo-gazowy dzięki innowacyjnemu i proaktywnemu podejściu do zarządzania zakładami.…

Kwiecień 22 2024

Brytyjski organ antymonopolowy podnosi alarm BigTech w związku z GenAI

Brytyjskie CMA wydało ostrzeżenie dotyczące zachowań Big Tech na rynku sztucznej inteligencji. Tam…

Kwiecień 18 2024

Casa Green: rewolucja energetyczna dla zrównoważonej przyszłości we Włoszech

Rozporządzenie w sprawie zielonych domów, opracowane przez Unię Europejską w celu zwiększenia efektywności energetycznej budynków, zakończyło proces legislacyjny…

Kwiecień 18 2024