Įdiegus vaizdų pakartotinį rikiavimą, pradiniai paieškos rezultatai yra patikslinami naudojant gilų vektorių panašumą, o vieno paieškos rikiavimas pateikia vieno etapo rezultatus iš vieningo modelio. Abu metodai sprendžia vaizdų paieškos problemas, tačiau skiriasi srauto sudėtingumu, delsa ir tikslumu.
Akcentai
Pakartotinis reitingavimas prideda antrą taškų skaičiavimo etapą, kad būtų užtikrintas didesnis tikslumas, tačiau sumažėtų delsa.
Vieno paieškos reitingavimo funkcija pateikia rezultatus vienu kartu, todėl diegimas tampa greitesnis ir paprastesnis.
Pakartotinis reitingavimas leidžia nepriklausomai atnaujinti modelį, neindeksuojant visos kolekcijos iš naujo.
Vieno etapo sistemos efektyviau pritaikomos milijardams vaizdų gamybos aplinkoje.
Kas yra Vaizdų pakartotinio reitingavimo įterpimas?
Dviejų pakopų paieškos metodas, kuris po pradinės grubios paieškos pertvarko kandidatų vaizdus, naudodamas išmoktą įterpimo panašumą.
Paprastai veikia kaip antrinis etapas po greito pirmojo etapo paieškos, pvz., BM25 arba apytikslės artimiausio kaimyno paieškos.
Remiasi tankiais vektoriniais įterpimais, sukurtais neuroninių tinklų, tokių kaip CNN arba regėjimo transformatoriai.
Žymiai pagerina tikslumą aukščiausiuose ranguose, palyginti su vien tik pirmojo etapo paieška.
Prideda skaičiavimo išlaidas ir delsą, nes kiekvienas kandidatas turi būti įvertintas iš naujo.
Dažnai naudojamas gamybinėse vaizdų paieškos sistemose, kur rezultatų kokybė yra svarbesnė už neapdoroto formato paieškos greitį.
Kas yra Vieno paieškos reitingas?
Vieningas reitingavimo metodas, kuris nuskaito ir surūšiuoja vaizdus vienu modelio etapu be atskiro pakartotinio reitingavimo etapo.
Sujungia paiešką ir reitingavimą į vieną visapusišką modelį, dažnai naudodamas dvigubus kodavimo įrenginius arba kryžminius kodavimo įrenginius.
Sumažina sistemos sudėtingumą, nes nereikia atskirų indeksavimo ir pervertinimo procesų.
Paprastai siūlo mažesnį delsos laiką, nes rezultatai gaunami vienu perdavimu.
Gali paaukoti smulkų reitingavimo tikslumą, palyginti su specialiais pakartotinio reitingavimo etapais.
Populiaru realaus laiko programose, tokiose kaip vizualinė produktų paieška ir turinio moderavimas.
Palyginimo lentelė
Funkcija
Vaizdų pakartotinio reitingavimo įterpimas
Vieno paieškos reitingas
Vamzdynų architektūra
Dviejų etapų (paieškoti, o tada iš naujo įvertinti)
Vieno etapo nuo galo iki galo
Vėlavimas
Didesnis dėl antrojo perdavimo taškų skaičiavimo
Sumažinkite su vieno etapo išvada
Tikslumas „Top-K“ lygoje
Didesnis tikslumas po pakartotinio reitingavimo
Vidutinis, priklauso nuo modelio talpos
Skaičiavimo kaina
Aukštesnis (visi kandidatai įvertinami iš naujo)
Žemesnis (vienas perdavimas į priekį)
Įgyvendinimo sudėtingumas
Sudėtingesni, du modeliai, kuriuos reikia valdyti
Paprastesnis, vienas vieningas modelis
Mastelio keitimas
Svarstyklės su kandidatų grupės dydžiu
Efektyviau keičiasi dideliu mastu
Geriausias naudojimo atvejis
Kokybei svarbi vaizdų paieška
Realaus laiko arba didelio masto paieška
Tipiniai modeliai
CLIP, BLIP, tiksliai sureguliuoti ViT reitinguotojai
Dvigubi kodavimo įrenginiai, „ColBERT“ stiliaus modeliai
Išsamus palyginimas
Architektūra ir vamzdynų projektavimas
Vaizdų pakartotinis įterpimas atliekamas pagal klasikinį dviejų etapų dizainą, kai greitas pirmojo etapo paieškos įrankis susiaurina milijonus vaizdų iki kelių šimtų kandidatų, o tada galingesnis įterpimo modelis juos iš naujo įvertina. Vieno paieškos reitingavimo metu abu etapai sujungiami į vieną modelį, paprastai dvigubą kodavimo įrenginį, kuris susieja užklausas ir vaizdus į tą pačią vektorinę erdvę ir tiesiogiai pateikia reitinguotus rezultatus. Architektūrinis skirtumas reiškia, kad pakartotinio reitingavimo sistemoms reikia dviejų atskirų indeksų ir modelių, o vieno etapo sistemoms – tik vieno.
Tikslumo ir greičio kompromisas
Pakartotinis reitingavimas nuosekliai užtikrina geresnį „top-K“ tikslumą, nes antrajame etape galima naudoti skaičiavimo požiūriu brangius modelius, tokius kaip kryžminiai kodavimo įrenginiai arba dideli vaizdo transformatoriai, kurių būtų nepraktiška paleisti su visa vaizdų kolekcija. Vieno paieškos reitingavimas dalį šio tikslumo atima iš greičio, nes galutinius reitingus jis turi pateikti vienu bandymu. Praktiškai tikslumo skirtumas gali būti didelis tokiuose etalonuose kaip MS-COCO ar Flickr30k, tačiau vieno etapo sistemų delsos sutaupymas dažnai yra svarbesnis gamyboje.
Mastelio keitimas ir išteklių reikalavimai
Dirbant su milijardais vaizdų, vieno paieškos etapo reitingavimas yra sklandesnis, nes išvengiama kvadratinių kiekvieno kandidato pakartotinio vertinimo išlaidų. Pakartotinio reitingavimo sistemos turi kruopščiai subalansuoti kandidatų grupės dydį, nes per daug elementų pateikimas pakartotinio reitingavimo sistemai sumažina delsą, o per mažas elementų pateikimas rizikuoja praleisti teisingą atsakymą. Debesijos platformos, tokios kaip „Pinecone“ ir FAISS, sukūrė optimizacijas, skirtas specialiai vieno etapo paieškai, o pakartotiniam reitingavimui dažnai reikalinga speciali GPU infrastruktūra.
Lankstumas ir modelių atnaujinimai
Vienas iš pakartotinio reitingavimo metodo privalumų yra tas, kad galite savarankiškai pakeisti arba tiksliai suderinti pakartotinio reitingavimo įrankį, neiš naujo kurdami viso paieškos indekso. Tai pagreitina eksperimentavimą ir leidžia komandoms A/B testuoti naujus modelius su gamybiniu srautu. Vieno paieškos reitingavimas susieja viską su vienu modeliu, todėl bet koks atnaujinimas reikalauja visos kolekcijos indeksavimo iš naujo, o tai gali būti brangu dideliems katalogams.
Realaus pasaulio diegimas
Didelės technologijų įmonės dažnai naudoja hibridinius metodus, tačiau, kai priverstos rinktis vieną iš jų, el. prekybos vizualinė paieška linkusi pirmenybę teikti vieno paieškos rezultato reitingavimui dėl mažo delsos laiko, o archyvinė ar į tyrimus orientuota vaizdų paieška linkusi į pakartotinį reitingavimą dėl tikslumo. Pasirinkimas galiausiai priklauso nuo to, ar programa teikia pirmenybę vartotojo suvokiamam greičiui, ar rezultato kokybei.
Pakartotinis reitingavimas visada duoda geresnių rezultatų nei vieno etapo paieška.
Realybė
Pakartotinis reitingavimas pagerina tikslumą tik tada, kai pirmasis etapas atranda atitinkamus elementus iš kandidatų rinkinio. Jei pradinis paieškos įrankis visiškai praleidžia reikiamą vaizdą, joks pakartotinis reitingavimas negali jo atkurti. Vieno etapo sistemos su stipriais kodavimo įrenginiais kartais gali prilygti pakartotinio reitingavimo kokybei lengvesniuose etalonuose.
Mitas
Vieno paieškos reitingavimas negali naudoti didelių neuroninių modelių.
Realybė
Šiuolaikinės vieno etapo sistemos dažnai naudoja didelius vizualinės kalbos modelius, tokius kaip CLIP arba SigLIP, kaip pagrindą. Skirtumas yra ne modelio dydis, o tai, ar paieška ir reitingavimas vyksta vienu, ar dviem etapais.
Mitas
Perkvalifikavimas yra per lėtas bet kokiam gamybiniam naudojimui.
Realybė
Daugelyje gamybinių sistemų naudojamas pakartotinis reitingavimas su mažais kandidatų telkiniais (paprastai 100–1000 elementų) ir GPU spartinimas, pasiekiant mažesnę nei 100 ms delsą. Suvokiamas lėtumas tampa problema tik tada, kai kandidatų telkiniai per dideli arba aparatinė įranga yra per maža.
Mitas
Vieno paieškos reitingavimas visada yra pigesnis.
Realybė
Nors vieno etapo sistemos išvengia antrojo etapo išlaidų, joms dažnai reikia didesnių įterpimo modelių, kad būtų kompensuotas pakartotinio reitingavimo trūkumas, todėl jų išlaidos vienai užklausai gali būti panašios. Bendra kaina priklauso nuo modelio dydžio, indekso dydžio ir srauto modelių.
Mitas
Jums reikia pasirinkti vieną arba kitą požiūrį.
Realybė
Dauguma vaizdų paieškos sistemų, skirtų gamybinėms reikmėms, naudoja hibridinį metodą, kai greitas vieno etapo paieškos įrankis derinamas su lengvu geriausių kandidatų perrinkimo įrankiu. Šie du metodai vienas kitą papildo, o ne vienas kitą paneigia.
Dažnai užduodami klausimai
Kas yra įterptų vaizdų pakartotinis reitingavimas?
Vaizdų pakartotinis įterpimas yra dviejų etapų paieškos technika, kai pradinė greita paieška grąžina kandidatų vaizdų rinkinį, o tada neuroninis įterpimo modelis iš naujo įvertina tuos kandidatus, kad būtų gautas tikslesnis galutinis reitingas. Jis plačiai naudojamas siekiant padidinti tikslumą vizualinėse paieškos sistemose.
Kuo skiriasi vieno paieškos rezultatų reitingavimas nuo pakartotinio reitingavimo?
Vieno paieškos reitingavimo etapas sujungia paiešką ir reitingavimą į vieną modelio etapą, pateikiant galutinius rezultatus be atskiro pakartotinio vertinimo etapo. Tai leidžia šį procesą pagreitinti ir supaprastinti, tačiau paprastai mažiau tiksliai aukščiausiuose reitinguose, palyginti su specialiu pakartotinio reitingavimo etapu.
Kuris vaizdų paieškos metodas yra greitesnis?
Vieno paieškos būdu atliekamas reitingavimas paprastai yra greitesnis, nes išvengiama antrinio skaičiavimo, kurio reikia pakartotiniam reitingavimui. Tačiau faktinis delsos laikas priklauso nuo modelio dydžio, kandidatų telkinio dydžio ir techninės įrangos. Gerai optimizuota pakartotinio reitingavimo sistema su nedideliu kandidatų telkiniu vis tiek gali būti pakankamai greita daugeliui programų.
Ar galiu naudoti CLIP abiem būdais?
Taip, CLIP gerai veikia kaip įterpimo modelis abiejose konfigūracijose. Vieno paieškos reitingavimo metu CLIP veikia kaip dvigubas kodavimo įrenginys, kuris susieja užklausas ir vaizdus į bendrą erdvę. Perkvalifikuojant srautus, CLIP gali veikti kaip pirmojo etapo paieškos įrenginys arba kaip antrojo etapo perkvalifikavimo įrenginys, priklausomai nuo konfigūracijos.
Koks yra tipinis kandidatų grupės dydis perkvalifikavimui?
Dauguma gamybinių perkvalifikavimo sistemų veikia su kandidatų telkiniais nuo 100 iki 1000 vaizdų. Mažesni telkiniai sumažina delsą, tačiau rizikuoja praleisti svarbius rezultatus, o didesni telkiniai pagerina atkūrimą, bet padidina skaičiavimo sąnaudas. Optimalus taškas priklauso nuo užklausos sudėtingumo ir pirmojo etapo paieškos įrankio stiprumo.
Ar pakartotiniam reitingavimui reikalingas GPU spartinimas?
Daugeliu atvejų taip. Perkvalifikavimo modeliai paprastai yra dideli neuroniniai tinklai, kurie labai naudojasi GPU išvadomis. Mažiems modeliams arba nedideliems kandidatų rinkiniams galimas tik CPU perkvalifikavimas, tačiau gamybinėse sistemose beveik visada naudojami GPU arba specializuoti greitintuvai.
Kaip įvertinti, kuris metodas mano atveju yra geresnis?
Paleiskite abu metodus su reprezentatyviu vertinimo rinkiniu ir išmatuokite tokius rodiklius kaip „recall@K“, vidutinis abipusis rangas ir viso proceso delsa. Taip pat atsižvelkite į veiklos veiksnius, tokius kaip indekso atnaujinimo dažnumas, infrastruktūros kaina ir tai, kaip dažnai planuojate iš naujo apmokyti modelius. Geriausias pasirinkimas priklauso nuo jūsų konkrečių tikslumo ir greičio reikalavimų.
Ar pavienių paieškų reitingavimas yra toks pat kaip tankių paieškų?
Jie žymiai sutampa, bet nėra identiški. Tankus paieškos metodas reiškia neuroninių įterpimų naudojimą paieškai, kuri gali būti vieno etapo arba dviejų etapų srauto dalis. Vieno paieškos reitingavimas konkrečiai reiškia, kad visas reitingavimo procesas vyksta vienu metu, o tai paprastai, bet ne visada, yra tanku.
Kokie kriterijai naudojami šiems metodams palyginti?
Įprasti etalonai apima MS-COCO, „Flickr30k“, „ImageNet“ paiešką ir „ROxford“ / „RParis“ duomenų rinkinius orientyrų paieškai. Šie duomenų rinkiniai tikrina tiek atkūrimą, tiek tikslumą esant įvairioms riboms, padėdami tyrėjams įvertinti kompromisus tarp vieno ir dviejų pakopų sistemų.
Ar galiu abu metodus sujungti vienoje sistemoje?
Be abejo, ir daugelis gamybinių sistemų daro būtent tai. Įprasta hibridinė sistema naudoja greitą vieno etapo paieškos įrankį, kad surastų 500 geriausių kandidatų, o tada taiko pakartotinio reitingavimo modelį, kad patikslintų 50 geriausių. Tai suteikia vieno etapo paieškos greitį su tikslumo padidėjimu, kurį suteikia pakartotinis reitingavimas ten, kur to labiausiai reikia.
Nuosprendis
Rinkitės įterptinį vaizdų pakartotinį reitingavimą, kai labai svarbus tikslumas iki K ir galite sau leisti papildomą delsą, pvz., profesionaliose vaizdų paieškos ar tyrimų priemonėse. Rinkitės vieno paieškos reitingavimą, kai jums reikia greitų, keičiamo dydžio rezultatų, tačiau sumažės tikslumas, kuris būdingas vartotojams skirtoms programoms ir didelio masto diegimams.