Artikoloj

Kio estas vektoraj datumbazoj, kiel ili funkcias kaj ebla merkato

Vektordatumbazo estas speco de datumbazo kiu stokas datenojn kiel alt-dimensiaj vektoroj, kiuj estas matematikaj reprezentadoj de trajtoj aŭ atributoj. 

Ĉi tiuj vektoroj estas kutime generitaj aplikante ian enkonstruan funkcion al krudaj datumoj, kiel teksto, bildoj, aŭdio, video kaj aliaj.

Vektoraj datumbazoj povas esti definite kiel ilo kiu indeksas kaj stokas vektorajn enkonstruojn por rapida rehavigo kaj similecserĉado, kun funkcioj kiel metadatuma filtrado kaj horizontala skalo.

Laŭtaksa legotempo: 9 minutoj

Kreskanta Investanta Intereso

En la lastaj semajnoj, pliiĝis investa intereso pri vektoraj datumbazoj. Ekde la komenco de 2023 ni rimarkis tion:

Ni vidu pli detale, kio estas vektoraj datumbazoj.

Vektoroj kiel datuma reprezento

Vektoraj datumbazoj dependas multe de vektora enkonstruado, speco de datenreprezentantaro kiu portas en si la semantikajn informojn kritikajn por AI por akiri komprenon kaj konservi longdaŭran memoron por uzi dum efektivigado de kompleksaj agadoj. 

Vektoraj enkonstruoj

Vektoraj enmetaĵoj estas kiel mapo, sed anstataŭ montri al ni kie aferoj estas en la mondo, ili montras al ni kie aferoj estas en io nomata vektora spaco. Vektora spaco estas speco de granda ludejo kie ĉio havas sian lokon por ludi. Imagu, ke vi havas grupon da bestoj: kato, hundo, birdo kaj fiŝo. Ni povas krei vektoran enkonstruon por ĉiu bildo donante al ĝi specialan pozicion sur la ludejo. La kato povas esti en unu angulo, la hundo sur la alia flanko. La birdo povus esti en la ĉielo kaj la fiŝo povus esti en la lageto. Ĉi tiu loko estas plurdimensia spaco. Ĉiu dimensio respondas al malsamaj aspektoj de ili, ekzemple, fiŝoj havas naĝilojn, birdoj havas flugilojn, katoj kaj hundoj havas krurojn. Alia aspekto de ili povas esti, ke fiŝoj apartenas al akvo, birdoj ĉefe al la ĉielo, kaj katoj kaj hundoj al la grundo. Post kiam ni havas ĉi tiujn vektorojn, ni povas uzi matematikajn teknikojn por grupigi ilin surbaze de ilia simileco. Surbaze de la informoj, kiujn ni tenas,

Do, vektoraj enkonstruadoj estas kiel mapo, kiu helpas nin trovi similecon inter aferoj en vektora spaco. Same kiel mapo helpas nin navigi la mondon, vektoraj enkonstruaĵoj helpas navigi la vektoran ludejon.

La ŝlosila ideo estas, ke enkonstruaĵoj kiuj estas semantike similaj unu al la alia havas pli malgrandan distancon inter ili. Por ekscii kiom similaj ili estas, ni povas uzi vektordistancfunkciojn kiel ekzemple eŭklida distanco, kosinusa distanco, ktp.

Vektoraj datumbazoj kontraŭ vektoraj bibliotekoj

La vektoraj bibliotekoj stoki enkonstruojn de vektoroj en indeksoj en memoro, por fari similecserĉojn. Vektoraj bibliotekoj havas la sekvajn karakterizaĵojn/limigojn:

  1. Konservu vektorojn nur : Vektoraj bibliotekoj nur konservas enkonstruojn de vektoroj kaj ne la rilatajn objektojn el kiuj ili estis generitaj. Ĉi tio signifas, ke kiam ni demandas, vektora biblioteko respondos per la koncernaj vektoroj kaj objekto-IDoj. Ĉi tio estas limiga ĉar la reala informo estas stokita en la objekto kaj ne la id. Por solvi ĉi tiun problemon, ni devus stoki la objektojn en malĉefa stokado. Ni povas tiam uzi la ID-ojn resenditajn de la demando kaj kongrui ilin al objektoj por kompreni la rezultojn.
  2. Indeksaj datumoj estas neŝanĝeblaj : Indeksoj produktitaj de vektoraj bibliotekoj estas neŝanĝeblaj. Ĉi tio signifas, ke post kiam ni importis niajn datumojn kaj konstruis la indekson, ni ne povas fari ajnajn ŝanĝojn (neniun novajn enmetojn, forigojn aŭ ŝanĝojn). Por fari ŝanĝojn al nia indekso, ni devos rekonstrui ĝin de nulo
  3. Demandu dum limigo de importado : Plej multaj vektoraj bibliotekoj ne povas esti pridemanditaj dum importado de datumoj. Ni unue devas importi ĉiujn niajn datumobjektojn. Do la indekso estas kreita post kiam la objektoj estas importitaj. Ĉi tio povas esti problemo por aplikoj kiuj postulas milionojn aŭ eĉ miliardojn da objektoj esti importitaj.

Estas multaj vektoraj serĉbibliotekoj haveblaj: FAISS de Facebook, Ĝena de Spotify kaj ScanNN de Guglo. FAISS uzas clustering-metodon, Annoy uzas arbojn kaj ScanNN uzas vektoran kunpremadon. Estas rendimento-kompromiso por ĉiu, kiun ni povas elekti laŭ niaj aplikaj kaj agado-metrikoj.

CRUD

La ĉefa trajto kiu distingas vektorajn datumbazojn de vektoraj bibliotekoj estas la kapablo arkivi, ĝisdatigi kaj forigi datumojn. Vektoraj datumbazoj havas CRUD-subtenon kompleta (krei, legi, ĝisdatigi kaj forigi) kiu solvas la limojn de vektora biblioteko.

  1. Arkivaj vektoroj kaj objektoj : Datumbazoj povas stoki kaj datumobjektojn kaj vektorojn. Ĉar ambaŭ estas konservitaj, ni povas kombini vektoran serĉon kun strukturitaj filtriloj. Filtriloj permesas al ni certigi, ke la plej proksimaj najbaroj kongruas kun la metadatuma filtrilo.
  2. Ŝanĝeblo : kiel vektoraj datumbazoj plene subtenas kruda, ni povas facile aldoni, forigi aŭ ĝisdatigi enskribojn en nia indekso post kiam ĝi estis kreita. Ĉi tio estas precipe utila kiam oni laboras kun konstante ŝanĝantaj datumoj.
  3. Realtempa serĉo : Male al vektoraj bibliotekoj, datumbazoj permesas al ni pridemandi kaj modifi niajn datumojn dum la importprocezo. Dum ni ŝarĝas milionojn da objektoj, la importitaj datumoj restas plene alireblaj kaj funkciaj, do vi ne devas atendi ke la importado finiĝos por komenci labori pri tio, kio jam estas tie.

Mallonge, vektordatumbazo disponigas superan solvon por pritraktado de vektoraj enkonstruaĵoj traktante la limigojn de memstaraj vektoraj indeksoj kiel diskutite en la antaŭaj punktoj.

Sed kio faras vektorajn datumbazojn pli bonaj ol tradiciaj datumbazoj?

Vektoraj datumbazoj kontraŭ tradiciaj datumbazoj

Tradiciaj datumbazoj estas dizajnitaj por stoki kaj preni strukturitajn datumojn uzante interrilatajn modelojn, kio signifas, ke ili estas optimumigitaj por demandoj bazitaj sur kolumnoj kaj vicoj da datumoj. Dum estas eble stoki vektorajn enkonstruaĵojn en tradiciaj datumbazoj, tiuj datumbazoj ne estas optimumigitaj por vektoraj operacioj kaj ne povas elfari similecserĉojn aŭ aliajn kompleksajn operaciojn sur grandaj datumaroj efike.

Ĉi tio estas ĉar tradiciaj datumbazoj uzas indeksajn teknikojn bazitajn sur simplaj datumtipoj, kiel ŝnuroj aŭ nombroj. Tiuj indeksteknikoj ne estas taŭgaj por vektordatenoj, kiu havas altan dimensiecon kaj postulas specialecajn indeksteknikojn kiel ekzemple inversaj indeksoj aŭ spacaj arboj.

Ankaŭ, tradiciaj datumbazoj ne estas dizajnitaj por pritrakti la grandajn kvantojn da nestrukturitaj aŭ duonstrukturitaj datumoj ofte asociitaj kun vektoraj enkonstruoj. Ekzemple, bildo aŭ sondosiero povas enhavi milionojn da datenpunktoj, kiujn tradiciaj datumbazoj ne povas trakti efike.

Vektoraj datumbazoj, aliflanke, estas specife dizajnitaj por stoki kaj preni vektorajn datumojn kaj estas optimumigitaj por similecserĉoj kaj aliaj kompleksaj operacioj sur grandaj datumaroj. Ili uzas specialigitajn indeksajn teknikojn kaj algoritmojn dizajnitajn por labori kun alt-dimensiaj datenoj, igante ilin multe pli efikaj ol tradiciaj datumbazoj por stoki kaj preni vektorajn enkonstruojn.

Nun kiam vi legis tiom multe pri vektoraj datumbazoj, vi eble demandas, kiel ili funkcias? Ni rigardu.

Kiel funkcias vektora datumbazo?

Ni ĉiuj scias kiel funkcias interrilataj datumbazoj: ili stokas ĉenojn, nombrojn kaj aliajn specojn de skalaraj datumoj en vicoj kaj kolumnoj. Aliflanke, vektora datumbazo funkcias per vektoroj, do la maniero kiel ĝi estas optimumigita kaj pridemandita estas sufiĉe malsama.

En tradiciaj datumbazoj, ni kutime demandas por vicoj en la datumbazo kie la valoro kutime kongruas kun nia demando precize. En vektoraj datumbazoj, ni aplikas similecan metrikon por trovi vektoron, kiu plej similas al nia demando.

Vektora datumbazo uzas kombinaĵon de pluraj algoritmoj kiuj ĉiuj partoprenas en plej proksima najbara serĉo (ANN). Ĉi tiuj algoritmoj optimumigas la serĉon per hashing, kvantigo aŭ grafik-bazita serĉo.

Tiuj algoritmoj estas kunvenitaj en dukton kiu disponigas rapidan kaj precizan rehavigon de pridemanditaj najbaroj de vektoro. Ĉar la vektora datumbazo disponigas proksimumajn rezultojn, la ĉefaj kompromisoj kiujn ni konsideras estas inter precizeco kaj rapideco. Ju pli preciza la rezulto, des pli malrapida estos la demando. Tamen bona sistemo povas provizi ultrarapidan serĉadon kun preskaŭ perfekta precizeco.

  • Indeksado : La vektordatumbazo indeksas vektorojn uzante algoritmon kiel ekzemple PQ, LSH aŭ HNSW. Ĉi tiu paŝo asocias la vektorojn kun datumstrukturo kiu permesos pli rapidan serĉadon.
  • Query : vektordatumbazo komparas la indeksitan demandvektoron kontraŭ indeksitaj vektoroj en la datumaro por trovi la plej proksimajn najbarojn (aplikante similecmetrikon uzitan per tiu indekso)
  • Post-traktado : En kelkaj kazoj, la vektora datumbazo alportas la finajn plej proksimajn najbarojn de la datumaro kaj post-procezas ilin por redoni la finajn rezultojn. Tiu paŝo povas inkluzivi reklasifiki la plej proksimajn najbarojn uzante malsaman simileciniciaton.

Profitoj

Vektoraj datumbazoj estas potenca ilo por similecaj serĉoj kaj aliaj kompleksaj operacioj sur grandaj datumbazoj, kiuj ne povas esti faritaj efike uzante tradiciajn datumbazojn. Por konstrui funkcian vektoran datumbazon, enkonstruoj estas esencaj, ĉar ili kaptas la semantikan signifon de la datenoj kaj ebligas precizajn similecserĉojn. Male al vektoraj bibliotekoj, vektoraj datumbazoj estas dizajnitaj por konveni nian uzkazon, igante ilin idealaj por aplikoj kie rendimento kaj skaleblo estas kritikaj. Kun la pliiĝo de maŝinlernado kaj artefarita inteligenteco, vektoraj datumbazoj iĝas ĉiam pli gravaj por larĝa gamo de aplikoj inkluzive de rekomendaj sistemoj, bildserĉo, semantika simileco kaj la listo daŭras. Ĉar la kampo daŭre evoluas, ni povas atendi vidi eĉ pli novigajn aplikojn de vektoraj datumbazoj en la estonteco.

Ercole Palmeri

Informilo pri novigo
Ne maltrafu la plej gravajn novaĵojn pri novigado. Registriĝi por ricevi ilin retpoŝte.

Lastaj artikoloj

Eldonistoj kaj OpenAI subskribas interkonsentojn por reguligi la fluon de informoj prilaboritaj de Artefarita Inteligenteco

Pasintlunde, la Financial Times anoncis interkonsenton kun OpenAI. FT licencas sian mondklasan ĵurnalismon...

30 aprilo 2024

Interretaj Pagoj: Jen Kiel Fluaj Servoj Faras Vin Pagi Eterne

Milionoj da homoj pagas por streaming-servoj, pagante monatajn abonkotizojn. Estas komuna opinio, ke vi...

29 aprilo 2024

Veeam havas la plej ampleksan subtenon por ransomware, de protekto ĝis respondo kaj reakiro

Coveware de Veeam daŭre liveros servojn de respondaj incidentoj pri ciberĉantaĝo. Coveware ofertos krimmedicinajn kaj solvajn kapablojn...

23 aprilo 2024

Verda kaj Cifereca Revolucio: Kiel Prognoza Prizorgado Transformas la Petrolo kaj Gasa Industrio

Prognoza prizorgado revolucias la petrolon kaj gasan sektoron, kun noviga kaj iniciatema aliro al plantadministrado...

22 aprilo 2024