Laŭtaksa legotempo: 9 minutoj
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.
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 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.
La vektoraj bibliotekoj stoki enkonstruojn de vektoroj en indeksoj en memoro, por fari similecserĉojn. Vektoraj bibliotekoj havas la sekvajn karakterizaĵojn/limigojn:
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.
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.
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?
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.
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.
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
Pasintlunde, la Financial Times anoncis interkonsenton kun OpenAI. FT licencas sian mondklasan ĵurnalismon...
Milionoj da homoj pagas por streaming-servoj, pagante monatajn abonkotizojn. Estas komuna opinio, ke vi...
Coveware de Veeam daŭre liveros servojn de respondaj incidentoj pri ciberĉantaĝo. Coveware ofertos krimmedicinajn kaj solvajn kapablojn...
Prognoza prizorgado revolucias la petrolon kaj gasan sektoron, kun noviga kaj iniciatema aliro al plantadministrado...