Разліковы час чытання: 9 хвілін
У апошнія тыдні назіраецца рост цікавасці інвестараў да вектарных баз дадзеных. З пачатку 2023 года мы заўважылі, што:
Разбярэмся больш падрабязна, што такое вектарныя базы дадзеных.
Вектарныя базы даных у значнай ступені абапіраюцца на вектарнае ўбудаванне, тып прадстаўлення даных, які нясе ў сабе семантычную інфармацыю, крытычна важную для ІІ для разумення і захавання доўгатэрміновай памяці для выкарыстання пры выкананні складаных дзеянняў.
Вектарныя ўбудовы падобныя на карту, але замест таго, каб паказаць нам, дзе знаходзяцца рэчы ў свеце, яны паказваюць, дзе рэчы знаходзяцца ў нечым, што называецца вектарная прастора. Vector space - гэта накшталт вялікай дзіцячай пляцоўкі, дзе ўсё мае сваё месца для гульні. Уявіце, што ў вас ёсць група жывёл: кот, сабака, птушка і рыба. Мы можам стварыць вектарнае ўбудаванне для кожнага малюнка, надаўшы яму спецыяльнае месца на гульнявой пляцоўцы. Кот можа быць у адным куце, сабака - у другім. Птушка магла быць у небе, а рыба магла быць у сажалцы. Гэта месца - шматмерная прастора. Кожнае вымярэнне адпавядае розным іх аспектам, напрыклад, у рыб ёсць плаўнікі, у птушак - крылы, у катоў і сабак - ногі. Іншым іх аспектам можа быць тое, што рыбы належаць да вады, птушкі - пераважна да неба, а кошкі і сабакі - да зямлі. Калі ў нас ёсць гэтыя вектары, мы можам выкарыстоўваць матэматычныя метады, каб згрупаваць іх на аснове іх падабенства. На падставе інфармацыі, якую мы маем,
Такім чынам, вектарныя ўбудовы падобныя на карту, якая дапамагае нам знайсці падабенства паміж рэчамі ў вектарнай прасторы. Гэтак жа, як карта дапамагае нам арыентавацца ў свеце, вектарныя ўстаўкі дапамагаюць арыентавацца на вектарнай пляцоўцы.
Ключавая ідэя заключаецца ў тым, што ўбудаваныя элементы, семантычна падобныя адна да адной, маюць меншую адлегласць паміж сабой. Каб даведацца, наколькі яны падобныя, мы можам выкарыстоўваць вектарныя функцыі адлегласці, такія як эўклідава адлегласць, косінусная адлегласць і г.д.
Вектарныя бібліятэкі захоўваць убудаваныя вектары ў індэксы ў памяці, каб выконваць пошук падабенства. Вектарныя бібліятэкі маюць наступныя характарыстыкі/абмежаванні:
Ёсць шмат даступных бібліятэк вектарнага пошуку: FAISS з Facebook, раздражняць ад Spotify і ScanNN ад Google. FAISS выкарыстоўвае метад кластарызацыі, Annoy выкарыстоўвае дрэвы, а ScanNN выкарыстоўвае вектарнае сцісканне. Для кожнага існуе кампраміс прадукцыйнасці, які мы можам выбраць на аснове нашага прыкладання і паказчыкаў прадукцыйнасці.
Галоўная асаблівасць, якая адрознівае вектарныя базы дадзеных ад вектарных бібліятэк, - магчымасць архівавання, абнаўлення і выдалення даных. Вектарныя базы даных маюць падтрымку CRUD поўны (стварэнне, чытанне, абнаўленне і выдаленне), які вырашае абмежаванні вектарнай бібліятэкі.
Карацей кажучы, вектарная база дадзеных забяспечвае найвышэйшае рашэнне для апрацоўкі вектарных убудоў за кошт ліквідацыі абмежаванняў аўтаномных вектарных індэксаў, як абмяркоўвалася ў папярэдніх пунктах.
Але чым вектарныя базы даных пераўзыходзяць традыцыйныя?
Традыцыйныя базы дадзеных прызначаны для захоўвання і атрымання структураваных даных з выкарыстаннем рэляцыйных мадэляў, што азначае, што яны аптымізаваны для запытаў на аснове слупкоў і радкоў даных. Нягледзячы на тое, што вектарныя ўбудовы можна захоўваць у традыцыйных базах дадзеных, гэтыя базы дадзеных не аптымізаваныя для вектарных аперацый і не могуць эфектыўна выконваць пошук падабенства або іншыя складаныя аперацыі з вялікімі наборамі даных.
Гэта адбываецца таму, што традыцыйныя базы даных выкарыстоўваюць метады індэксацыі, заснаваныя на простых тыпах даных, такіх як радкі або лічбы. Гэтыя метады індэксацыі не падыходзяць для вектарных даных, якія маюць высокую памернасць і патрабуюць спецыяльных метадаў індэксавання, такіх як інвертаваныя індэксы або прасторавыя дрэвы.
Акрамя таго, традыцыйныя базы даных не прызначаны для апрацоўкі вялікіх аб'ёмаў неструктураваных або паўструктураваных даных, часта звязаных з вектарнымі ўстаўкамі. Напрыклад, малюнак або аўдыяфайл можа ўтрымліваць мільёны пунктаў даных, з якімі традыцыйныя базы дадзеных не могуць эфектыўна апрацоўваць.
Вектарныя базы дадзеных, з іншага боку, спецыяльна распрацаваны для захоўвання і атрымання вектарных даных і аптымізаваны для пошуку падабенства і іншых складаных аперацый з вялікімі наборамі даных. Яны выкарыстоўваюць спецыялізаваныя метады індэксацыі і алгарытмы, прызначаныя для працы з данымі вялікай памернасці, што робіць іх значна больш эфектыўнымі, чым традыцыйныя базы даных для захоўвання і атрымання вектарных убудоў.
Цяпер, калі вы так шмат прачыталі пра вектарныя базы дадзеных, вы можаце задацца пытаннем, як яны працуюць? Давайце паглядзім.
Мы ўсе ведаем, як працуюць рэляцыйныя базы дадзеных: яны захоўваюць радкі, лічбы і іншыя тыпы скалярных даных у радках і слупках. З іншага боку, вектарная база дадзеных працуе з вектарамі, таму спосабы яе аптымізацыі і запыту зусім іншыя.
У традыцыйных базах дадзеных мы звычайна запытваем радкі ў базе дадзеных, значэнне якіх звычайна дакладна адпавядае нашаму запыту. У вектарных базах даных мы ўжываем метрыку падабенства, каб знайсці вектар, найбольш падобны на наш запыт.
Вектарная база дадзеных выкарыстоўвае камбінацыю некалькіх алгарытмаў, якія ўдзельнічаюць у пошуку бліжэйшых суседзяў (ANN). Гэтыя алгарытмы аптымізуюць пошук шляхам хэшавання, квантавання або пошуку на аснове графаў.
Гэтыя алгарытмы сабраны ў канвеер, які забяспечвае хуткі і дакладны пошук суседзяў запытанага вектара. Паколькі вектарная база дае прыблізныя вынікі, мы разглядаем асноўныя кампрамісы паміж дакладнасцю і хуткасцю. Чым больш дакладны вынік, тым павольней будзе выкананне запыту. Аднак добрая сістэма можа забяспечыць звышхуткі пошук з амаль ідэальнай дакладнасцю.
Вектарныя базы даных з'яўляюцца магутным інструментам для пошуку падабенства і іншых складаных аперацый над вялікімі наборамі даных, якія немагчыма эфектыўна выканаць з дапамогай традыцыйных баз даных. Каб пабудаваць функцыянальную вектарную базу дадзеных, убудоўванні вельмі важныя, бо яны фіксуюць семантычны сэнс даных і забяспечваюць дакладны пошук падабенства. У адрозненне ад вектарных бібліятэк, вектарныя базы дадзеных распрацаваны ў адпаведнасці з нашым варыянтам выкарыстання, што робіць іх ідэальнымі для прыкладанняў, дзе прадукцыйнасць і маштабаванасць маюць вырашальнае значэнне. З ростам машыннага навучання і штучнага інтэлекту вектарныя базы даных становяцца ўсё больш важнымі для шырокага спектру прыкладанняў, уключаючы сістэмы рэкамендацый, пошук малюнкаў, семантычнае падабенства і гэты спіс можна працягваць. Паколькі сфера працягвае развівацца, мы можам чакаць, што ў будучыні мы ўбачым яшчэ больш інавацыйных прымянення вектарных баз даных.
Ercole Palmeri
У мінулы панядзелак Financial Times абвясціла аб здзелцы з OpenAI. FT ліцэнзуе сваю журналістыку сусветнага ўзроўню...
Мільёны людзей плацяць за струменевыя паслугі, плацячы штомесячную абаненцкую плату. Распаўсюджана меркаванне, што вы…
Coveware ад Veeam працягне прадастаўляць паслугі рэагавання на інцыдэнты кібервымагальніцтва. Coveware будзе прапаноўваць судова-медыцынскую экспертызу і магчымасці выпраўлення…
Прагнастычнае тэхнічнае абслугоўванне рэвалюцыянізуе нафтагазавы сектар з інавацыйным і актыўным падыходам да кіравання заводам.…