Галоўная / Артыкулы / Адказанне пра базах дадзэных вектараў: як машыны аднаходзяць інфармацыю па значэнні

Адказанне пра базах дадзэных вектараў: як машыны аднаходзяць інфармацыю па значэнні

Дазвольце дазнацца, як вектарныя базы дадзеных ператвораюць тэкст у числовыя эмбеддынгі, каб адказаць на запиты на сэмантычнай адзыначцы, і якія ў іх разлікі з традыцыйнымі базамі дадзеных.

1497 слоў

Што такое база дадзеных вектараў?

Перш чым разбірацца, як працюе база дадзеных вектараў, корыстна зрозумець точную проблему, якую яна намагаецца рашыць.

Уявіце, што у вас є палатка пошуку і вы вводзіце слова „dog.“ Стандартная функцыя пошуку будзе пераглядаць вашы дакументы, шукаючы саме ці гэтыя слова „dog.“ Але што будзе, як у дакументе на самай працы викорыстоўваецца слова „puppy“? Звычны пошук у текстовом формате абсалютна не знайдзе гэтага, таму што для комп’ютера „dog“ і „puppy“ — гэта проста два разныя рядкі симвалаў, хоця мы, людзі, адразу розумем, што яны апісваюць адно і тое ж.

Гэтае і є основная проблема. Комп’ютеры чырвоныя у падборе точных рядкаў тексту, але ў яных няма можлівасці самастойна разумець значэнне. Самэ гэтыя праслейкі і праглядаецца заполніць база дадзеных вектараў.

Гэтае ў крытасі сутнасны прычынны праблема. Вярнуўшыся да гэтага, паглядзім, што такое вектар на самай простай адыгу.

Што такое вектар, на самай простай адыгу?

У сваёй найпростейшай форме вектар — гэта проста спіс цяжэй. Нічога загадковага ў гэму няма. Гэты спіс цяжэй выкорыстоўваецца для представлення чагосьці іншага — гэта можа быць адна слова, цэлае рэчыце, цэлы параграф або нават зображэнне.

Возможна, вас цікавіць, як спіс цяжэй можа заменіць слова.

Падумайце пра ўсё тое, што вы вжываеце ўжо кожны дзень: координаты GPS. Калі вы падаеце свою месцаўку другу, вы не описваеце яе як «пад большым дрэвам, за сінім воратам, ля магазіна». У замен вы проста падаеце два цяжэ, шыроту і дужую шыроту, і гэтыя два значэння точна паказваюць, дзе вы знаходзіцеся.

Вектар працюе па тым жа прынцыпе. Разлік у тым, што замест двух цифр, якія пазначаюць месца на паверхні Землі, вектар можа мець сотні цифр, якія пазначаюць слова або рэчыменты ў вялікай прасторе значэнняў.

Тады, калі модель ШІ ператварае слова „сёнь“ у вектар, фактычна ёй прызначаецца координата ў гэтым прасторе. Слова „цуценя“ атрымае координату, якая знаходзіцца дужа блізка да координаты слова „сёнь“, таму што гэтыя два словы таксама маюць близкія значэння.

База дадзеных на вектарах — гэта не магія. Це проста хыткая метода для зберагання значэнняў у вачыні цифр, а пасля пошуку на аднойчыні з близкасцю, а не на точным падабенстве слоў.

Карта значэнняў

Уявіце сабе вялікую карту, але замест горадоў, распакаваных па ёй, на гэтай карце знаходзяцца словы. Словы, якія маюць падобныя значэння, распакоўваюцца па боку ад другіх, тады калі словы з несупаўзнанымі значэннямі размешчаюцца далека адзіна ад другога.

На такой карце „сёнь“, „цуценя“ і „собачыя“ словы збіраюцца ў адну групу, адтак як усе яны па суті аднарадзяюць тое ж самае панявленне. „Яблоко“, „банан“ і „манга“ ствараюць свою сабстоячую групу. Тым часам слова на кшталт „сум“ застаюцца самастоятельнымі, не з’ўязанымі з рэштой, таму што у яго няма рэальных зв’язкаў з жадным з тых іншых слоў.

База дадзеных вектароў — это, по суты, система, якая адпаведна за зберагачэнне всіх эых координатаў. Калі вы задаеце запит, яна знаходзіць тыя координаты, якія знаходзяцца ў самай бліжыні координатаў вашага запиту на гэймапе. Гэта, по суты, весь механізм.

Як на самай працуе база дадзеных вектароў?

Процес можна разбіць на чатыры галоўныя ступені:

  1. Перакладзеце тэкст у вектар (гэты ступень называецца імбеддінгам)
  2. Зберагачыце гэты вектар у базе дадзеных разам з адпаведным тэкстам
  3. Таксама перакладзіце ваш запит на пошук у вектар
  4. Знайдзіце найбліжэйшыя вектары, якія падходзяць, і верніце тэксты, якія даўнаю з імі

Разберамся болей дакладна з кожным з гэтых ступеняў.

1. Імбеддінг: пераклад з тэксту ў цыфры

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

Напрыклад, якщо падаць у функцію укладання фразу „Меня любіць машынны навчанне“, то будзе отрымана числовая выходна значэння, такая як серія дзесятковых чыслаў, з некалькама дзесятых і сотых частак у пазитыўным або негатыўным направленні.

Пасля такой трансформацыі фраза больш не ёст меркаваннем знакоў. Яна стае конкрэтным тыпам, распавешчаным у якомусь месцы ў вялікам прасторе значэнняў.

2. Зберагчыце вектар

Пасля стварэння вектор зберагаецца ў базе дадзеных вектароў разам з тэкстам, з якога ён быў атрыманы. Сярод найбольш популярных баз дадзеных вектароў сёння — Pinecone, Chroma, Weaviate і Qdrant. Не трэба запамячаць гэты список, проста памятайце, што такія інструменты існуюць самэ прызначанням для керування такім типам зберагача.

3. Пераклад вашага запиту ў вектор

Калі вы вводзіце запит, напрыклад "Што такое машынное навчанне?", гэты ж запит праходзіць через той самы модель эмбеддінгу і таксама ператвараецца ў вектор.

4. Пошук найбліжэйшага падабення

У гэтам этапе база дадзейна берае вектар вашага запиту і парабяляе яго з кожным вектарам, які ўжо зберагліся ў ёй. Потым яна шукае тыя вектары, якія знаходзяцца найбліжэй да вашага запиту. Гэтае «блізкасць» зазвычай вырахоўваецца за дапамой тэхніки, якая называецца косай сумалённасцю, хоць у гэты момент вам не трэба заглыбляцца ў матэматыку, якая стоіць за гэтым. Ключовая мысль проста: вектары, якія знаходзяцца падалей адзін да другога, выражаюць значэння, якія таксама знаходзяцца падалей адзін да другога.

Гэтым пакрытаўся весь процес ад початку да канца. Калі разбіць яго на шаги, ён на самай працоўны не такі вже й складны.

Дзе выкарыстоўваюцца базы дадзейна вектараў у рэальнай жыцці?

Можа, вас цікавіць, дзе насправды выкарыстоўваецца гэтая тэхналогія ў повсякдзенных інструментах. Ёсць калькі конкрэтных прыкладаў:

1. Системы RAG У схемах генеравання з падчынным адзьёбам дакументаў компанента для пошуку, якая адпаведае за перагляд вашых дакументаў, выкарыстоўвае у спіну базу дадзенаў на аснове вектараў. Цэя частка ёсць, по суты, з’ёднальным елементам, які спаўнае зв’язак между пошукам дакументаў і пошукам на аснове вектараў.

2. Рэкамендаціі прарадуктав Калі інтернет-магазін паказвае „падобныя прарадукты“, ён часта парушывае вектары прарадуктав, а не проста падбірае тагі катэгарыяў.

3. Рэкамендаціі музыкі і відэа Аплікацыі, якія прасовуюць песні на аднойчынку з загальным настроем чы вражэнням, а не строго прыкладзаючыся да атрыбутаў жанру, працуюць па прынцыпу пароўнання вектараў, створаных на аднойчынку з якасцямі самага аудыю.

4. Чат-боты і адказванне кліентам Адказвальны чат-бот, які можа шукаць у внутраніх дасягах компаніі, каб адказаць на запыткі кліентаў, у большасці случаев працуе за сцэной на вектарнай базе дадзеных.

Вектарная база дадзеных проты звычайнай базы дадзеных

Можа, вы зараз цікавіцеся, што на самай працэ разлічвае яе ад звычайных баз дадзеных, з якімі вы вже знаёмы. Ось гэтае разлічэнне:

  • Звычайная база дадзеных зберагае точныя значэнні і выкарыстоўвае тачныя падабенства або фільтры для выкарыстоўвання дадзеных. Яна ідальна падходзіць для запыткаў у стыле "знайсці кліента з ID = 5."
  • Вектарная база дадзеных зберагае значэнні у числовай форме і выкарыстоўвае ступень падабенства для выкарыстоўвання дадзеных. Яна ідальна падходзіць для запыткаў у стыле "знайсці дасяги, падобныя да гэтага запытку."

Пам’ятайце, што база дадзеных вектароў не прызначаная для замены звычайнай базы дадзеных. У практыцы большасць рэальных систем выкарыстоўвае якія-то з іх адночасна. Звычайная база дадзеных керуе структураванымі данымі, такімі як цэна, ID чы адзинбер, тады калі база дадзеных вектароў керуе всім, што выклікае патрэбу разумець значэнне, такім як тэкст, адпраўкі чы вопыты без чысткага адказу.

Ёсць кілька слоў на завершанне:

  • Традыцыйны пошук за ключоўкамі падходзіць толькі да точных слоў і не функцыонуе, калі тая ж самая ідея выражаецца інакш
  • Вектар — гэта проста спіс цяжоў, якія викорыстоўваюцца для адпраўкі значэння
  • База дадзеных вектароў зберагае гэтыя числовыя представленні і выкарыстоўвае іх, каб знаходзіць найбліжэйшыя адпаведнасці пад час пошуку

Гэта працоўна ўсё, што трэба. Не існуе ніякай магіі, толькі хыткай спосаб размешчання значэнняў, калі-ж комп’ютер можа іх шукаць так, як нашы мозгі практычна пераробляюць інфармацыю. Якщо хочаце практыкування, прыемна будзе спробаваць такі інструмент, як Chroma — ён бесплатны і падходзіць для пачаткуючых.

Спадні матэрыялы

  • Розумеўце памяці AI: ад контэксту, імбеддынгаў, RAG да параметраў модэля — У этай стацыі пояснюецца, як системы AI насправдзе запамячаюць інфармацыю, пры чым рассматрываюцца контэкстныя віндавы, імбеддынги, векторныя базы дадзэння, RAG і параметры модэля.
  • Чаму DevSecOps стае новым вузькім месцам у эпас AI-кодавання — У стацыі пояснюецца, як код, створаны за дапамою AI, перакладае вузькія месцы у інжынерыі прыладзей з напісання коду на яго перакантрольванне, таму автаматызаваны DevSecOps стае крэтычным слоем доверлівасці.