Очаквано време за четене: 9 Minuti
През последните седмици се забелязва повишен интерес на инвеститорите към векторните бази данни. От началото на 2023 г. забелязахме, че:
Нека видим по-подробно какво представляват векторните бази данни.
Векторните бази данни разчитат в голяма степен на векторно вграждане, тип представяне на данни, което носи в себе си семантичната информация, която е от решаващо значение за AI, за да получи разбиране и да поддържа дългосрочна памет, от която да се възползва при изпълнение на сложни дейности.
Векторните вграждания са като карта, но вместо да ни показват къде са нещата по света, те ни показват къде са нещата в нещо, наречено векторно пространство. Векторното пространство е нещо като голяма детска площадка, където всичко има своето място за игра. Представете си, че имате група животни: котка, куче, птица и риба. Можем да създадем векторно вграждане за всяко изображение, като му дадем специална позиция на игралната площадка. Котката може да е в единия ъгъл, а кучето от другата страна. Птицата може да е в небето, а рибата може да е в езерото. Това място е многоизмерно пространство. Всяко измерение отговаря на различни техни аспекти, например рибите имат перки, птиците имат крила, котките и кучетата имат крака. Друг аспект от тях може да е, че рибите принадлежат към водата, птиците главно към небето, а котките и кучетата към земята. След като имаме тези вектори, можем да използваме математически техники, за да ги групираме въз основа на тяхната прилика. Въз основа на информацията, която притежаваме,
И така, векторните вграждания са като карта, която ни помага да намерим прилики между нещата във векторното пространство. Точно както картата ни помага да се ориентираме в света, векторните вграждания ни помагат да се ориентираме във векторната площадка.
Ключовата идея е, че вгражданията, които са семантично подобни едно на друго, имат по-малко разстояние между тях. За да разберем колко си приличат, можем да използваме векторни функции за разстояние като евклидово разстояние, косинусово разстояние и т.н.
Векторните библиотеки съхранявайте вграждания на вектори в индекси в паметта, за да извършвате търсения по подобие. Векторните библиотеки имат следните характеристики/ограничения:
Има много налични библиотеки за векторно търсене: FAISS на Facebook, Annoy от Spotify и ScanNN от Google. FAISS използва метод на групиране, Annoy използва дървета и ScanNN използва векторна компресия. Има компромис с производителността за всеки, който можем да изберем въз основа на нашето приложение и показатели за производителност.
Основната характеристика, която отличава векторните бази данни от векторните библиотеки, е възможността за архивиране, актуализиране и изтриване на данни. Векторните бази данни имат CRUD поддръжка пълно (създаване, четене, актуализиране и изтриване), което разрешава ограниченията на векторната библиотека.
Накратко, векторната база данни осигурява превъзходно решение за обработка на векторни вграждания чрез адресиране на ограниченията на самостоятелните векторни индекси, както беше обсъдено в предишните точки.
Но какво прави векторните бази данни по-добри от традиционните бази данни?
Традиционните бази данни са проектирани да съхраняват и извличат структурирани данни с помощта на релационни модели, което означава, че са оптимизирани за заявки, базирани на колони и редове с данни. Въпреки че е възможно да се съхраняват векторни вграждания в традиционни бази данни, тези бази данни не са оптимизирани за векторни операции и не могат да извършват ефективно търсене на сходство или други сложни операции върху големи набори от данни.
Това е така, защото традиционните бази данни използват техники за индексиране, базирани на прости типове данни, като низове или числа. Тези техники за индексиране не са подходящи за векторни данни, които имат голяма размерност и изискват специализирани техники за индексиране като обърнати индекси или пространствени дървета.
Освен това традиционните бази данни не са проектирани да обработват големи количества неструктурирани или полуструктурирани данни, често свързани с векторни вграждания. Например изображение или аудио файл може да съдържа милиони точки от данни, които традиционните бази данни не могат да обработват ефективно.
Векторните бази данни, от друга страна, са специално проектирани да съхраняват и извличат векторни данни и са оптимизирани за търсене на сходства и други сложни операции върху големи набори от данни. Те използват специализирани техники за индексиране и алгоритми, предназначени да работят с високоразмерни данни, което ги прави много по-ефективни от традиционните бази данни за съхраняване и извличане на векторни вграждания.
След като сте чели толкова много за векторните бази данни, може би се чудите как работят? Нека да разгледаме.
Всички знаем как работят релационните бази данни: те съхраняват низове, числа и други видове скаларни данни в редове и колони. От друга страна, векторната база данни работи с вектори, така че начинът, по който се оптимизира и прави заявки, е доста различен.
В традиционните бази данни обикновено правим заявки за редове в базата данни, където стойността обикновено съвпада точно с нашата заявка. Във векторните бази данни прилагаме показател за сходство, за да намерим вектор, който е най-сходен с нашата заявка.
Векторната база данни използва комбинация от няколко алгоритъма, които всички участват в търсенето на най-близкия съсед (ANN). Тези алгоритми оптимизират търсенето чрез хеширане, квантуване или базирано на графика търсене.
Тези алгоритми са сглобени в конвейер, който осигурява бързо и точно извличане на съседите на заявен вектор. Тъй като векторната база данни предоставя приблизителни резултати, основните компромиси, които разглеждаме, са между точност и скорост. Колкото по-точен е резултатът, толкова по-бавна ще бъде заявката. Една добра система обаче може да осигури ултра-бързо търсене с почти перфектна точност.
Векторните бази данни са мощен инструмент за търсене на подобие и други сложни операции върху големи набори от данни, които не могат да бъдат изпълнени ефективно с традиционните бази данни. За да се изгради функционална векторна база данни, вгражданията са от съществено значение, тъй като те улавят семантичното значение на данните и позволяват прецизно търсене на сходство. За разлика от векторните библиотеки, векторните бази данни са проектирани да отговарят на нашия случай на употреба, което ги прави идеални за приложения, където производителността и скалируемостта са критични. С нарастването на машинното обучение и изкуствения интелект векторните бази данни стават все по-важни за широк спектър от приложения, включително препоръчителни системи, търсене на изображения, семантично сходство и списъкът може да продължи. Тъй като полето продължава да се развива, можем да очакваме да видим още по-иновативни приложения на векторни бази данни в бъдеще.
Ercole Palmeri
Операция по офталмопластика с помощта на търговския зрител Apple Vision Pro беше извършена в поликлиниката в Катания...
Развитието на фини двигателни умения чрез оцветяване подготвя децата за по-сложни умения като писане. Оцветявам…
Военноморският сектор е истинска световна икономическа сила, която се е насочила към пазар от 150 милиарда...
Миналия понеделник Financial Times обяви сделка с OpenAI. FT лицензира своята журналистика от световна класа...