
OpenAI vai Voyage ieguldījumi: mazāks vektors var būt vērtīgāks par līderi

OpenAI un Voyage ieguldījumu modeļu izvēlē Latvijas RAG sistēmai svarīga ir izguve pašu latviešu un jauktās valodas dokumentos kopā ar visa indeksa izmaksām. Mazāks vektors var būt izdevīgāks par modeli, kas uzvarējis citā korpusā. BulkMD angļu Markdown salīdzinājumā ar 1200 dokumentiem un 240 jautājumiem Voyage-3-large sasniedza 0,78 nDCG@10, bet OpenAI text-embedding-3-small — 0,71.
Latvijas daudzvalodu projektam saprātīgi sākuma kandidāti ir text-embedding-3-small un voyage-4-lite. Ja viens atrod tikpat daudz pareizo fragmentu ar mazāku indeksu, tā kopējā vērtība var būt lielāka. Dārgāks modelis savukārt var attaisnot cenu, ja tas būtiski uzlabo izguvi tieši jautājumos, no kuriem atkarīga sistēmas atbilžu kvalitāte.
Ko angļu etalons ļauj secināt
Publicētais pārbaudījums aptver tehniskus rakstus, bibliotēku dokumentāciju, API aprakstus un garākus pētnieciskus tekstus Markdown formātā. Tas ir noderīgs angļu tehniska satura modeļu atlasei, taču tā rezultāts neparedz, kā tie sarindos fragmentus ar latviešu locījumiem, vietvārdiem vai abu valodu terminiem. Vienāds kopējais nDCG rādītājs turklāt var slēpt atšķirības jautājumos, kuros atbilde atrodama tikai vienā valodā.
Arī modeļu paaudzes jānošķir. Minētais līderis ir Voyage-3-large; izmaksu salīdzinājumā zemāk izmantota Voyage 4 saime. Vecākā modeļa rezultātu nevar piešķirt voyage-4-lite vai voyage-4-large. Tādēļ etalons dod iemeslu salīdzināt vairākus kandidātus, bet ne gatavu uzvarētāju Latvijas dokumentu kopai.
Ko maina vektora garums
OpenAI ieguldījumu dokumentācijā text-embedding-3-small noklusējuma vektors ir 1536 dimensiju, bet text-embedding-3-large — 3072; parametrs dimensions ļauj vektoru saīsināt. Voyage modeļu dokumentācijā Voyage 4 saimei norādīta 256, 512, 1024 vai 2048 dimensiju izvade, ar 1024 dimensijām pēc noklusējuma. Tajā pašā dokumentācijā float izvade aprakstīta kā 32 bitu skaitļi, un izguvei ieteikts lietot atšķirīgus document un query ievades tipus.
Pie četriem baitiem katrai float vērtībai 256 dimensiju vektora neapstrādātie dati aizņem divpadsmit reižu mazāk vietas nekā 3072 dimensiju vektora dati. Tā ir izmēra attiecība, nevis solījums par divpadsmit reižu mazāku datubāzes rēķinu: pakalpojums glabā arī indeksu un metadatus, var veidot rezerves kopijas un piemērot savus cenu sliekšņus. Turklāt īsāka vektora ietekme uz pareizo fragmentu atrašanu ir jāmēra, nevis jāizsecina no baitu skaita.
Salīdzinot dimensijas, vienlaikus jāņem vērā arī pats modelis. Voyage modelis ar 256 dimensijām un saīsināts OpenAI modelis ar tikpat dimensijām nav viens un tas pats izguves risinājums. Vienāds ieraksta garums padara salīdzināmu neapstrādāto glabāšanas apjomu, bet ne garantē vienādu rezultātu latviešu tekstā.
Izmaksas dažāda lieluma korpusiem
OpenAI cenu lapā text-embedding-3-small likme ir 0,02 ASV dolāri par miljonu tokenu, bet text-embedding-3-large — 0,13 dolāri. Voyage cenu tabulā par miljonu tokenu norādīti 0,02 dolāri voyage-4-lite, 0,06 dolāri voyage-4 un 0,12 dolāri voyage-4-large; šiem modeļiem konta pirmie 200 miljoni tokenu ir bez maksas. Tālākajam ilgtermiņa salīdzinājumam izmantotas pilnās likmes bez šī sākotnējā atvieglojuma.
Pieņemsim nosacītu korpusu, kurā katrs indeksētais fragments satur vidēji 500 tokenu un rada vienu float32 vektoru. Tas ļauj atsevišķi aprēķināt vienreizēju fragmentu ieguldījumu veidošanu un vektoru neapstrādāto datu apjomu. Skaitļos nav iekļauti vaicājumu ieguldījumi, fragmentu pārklāšanās, atkārtota indeksēšana vai datubāzes pakalpojuma maksa.
- Pie 100 000 fragmentu kopā ir 50 miljoni tokenu. Ieguldījumu veidošana maksātu 1 dolāru ar OpenAI small vai Voyage 4 lite, 3 dolārus ar Voyage 4, 6 dolārus ar Voyage 4 large un 6,50 dolārus ar OpenAI large. Vektoru dati pie 256, 1024, 1536 un 3072 dimensijām aizņemtu attiecīgi aptuveni 0,10; 0,41; 0,61 un 1,23 GB.
- Pie viena miljona fragmentu kopā ir 500 miljoni tokenu. Tās pašas modeļu secības veidošanas izmaksas būtu 10; 10; 30; 60 un 65 dolāri. Vektoru dati minētajā dimensiju secībā aizņemtu aptuveni 1,02; 4,10; 6,14 un 12,29 GB.
- Pie desmit miljoniem fragmentu kopā ir pieci miljardi tokenu. Veidošanas izmaksas būtu 100; 100; 300; 600 un 650 dolāri, bet vektoru dati aizņemtu aptuveni 10,24; 40,96; 61,44 un 122,88 GB.
Šie ir aritmētiski piemēri, nevis datubāzes pakalpojumu cenu piedāvājumi. Mazā korpusā modeļu tokenu tarifu starpība var būt neliela; lielā korpusā arī indeksa izmērs kļūst par būtisku budžeta daļu. Faktisko cenu nosaka izmantotās datubāzes noteikumi, indeksēšanas veids, glabātie metadati un tas, cik bieži dokumenti jāveido no jauna.
Latviešu, angļu un jauktā satura pārbaude
Modeļiem jādod vienādi sadalīti dokumenti un tie paši jautājumi, saglabājot vienādus meklēšanas iestatījumus. Pirms rezultātu apskates katram jautājumam jāatzīmē fragmenti, kuros tiešām ir atbilde. Daļēji noderīgiem fragmentiem var piešķirt zemāku atbilstības pakāpi, lai precīza atbilde rezultātu sākumā iegūtu augstāku vērtējumu nekā vispārīgs tēmas pieminējums.
- Latviešu kopā jāiekļauj latviski jautājumi par latviskiem dokumentiem, arī jautājumi ar citām vārdu formām, vietvārdiem un nozares saīsinājumiem.
- Angļu kopā jāizmanto tāda paša veida angļu dokumenti un angliski jautājumi. Šādi var redzēt, vai projekta tehniskajā saturā atkārtojas publiskajā angļu etalonā vērotā modeļu secība.
- Jauktajā kopā jāiekļauj jautājumi vienā valodā ar atbildi otras valodas dokumentā, kā arī vaicājumi ar abu valodu terminiem. Šis uzdevums jāvērtē atsevišķi, jo kopējais vidējais rezultāts var paslēpt vāju starpvalodu izguvi.
Katrai kopai atsevišķi jāaprēķina nDCG@10 un Recall@10. Pirmais rādītājs ņem vērā atbilstošo fragmentu vietu pirmajos desmit rezultātos; otrais rāda, kāda daļa no visiem atzīmētajiem noderīgajiem fragmentiem tajos nonākusi. Līdzās vidējam rādītājam jāsaglabā jautājumi, kuros pareizais fragments nav atrasts, lai redzētu, vai kļūdas koncentrējas latviešu vai starpvalodu meklēšanā.
To pašu pārbaudi var atkārtot ar īsākiem vektoriem, nemainot fragmentus un vērtēšanas noteikumus. Tad kvalitātes izmaiņas var salīdzināt ar faktiski izmērīto indeksa apjomu. Voyage gadījumā dokumentu un jautājumu ieguldījumi jāveido ar attiecīgajiem document un query ievades tipiem visās pārbaudītajās konfigurācijās.
Kad piemaksa ir pamatota
Ja text-embedding-3-small un voyage-4-lite vietējā pārbaudē dod līdzvērtīgu izguvi, priekšroka pienākas konfigurācijai ar mazākām kopējām veidošanas, glabāšanas un uzturēšanas izmaksām. Ja dārgāks modelis būtiski uzlabo nDCG@10 un Recall@10 svarīgajos latviešu vai jauktās valodas jautājumos, piemaksai ir izmērāms pamats. Īsākais vektors atmaksājas tikai tad, ja ietaupītais indeksa apjoms atsver konkrētajā korpusā izmērīto izguves zudumu.
Lasiet arī:
Saistītie raksti


LangChain vai LlamaIndex: vienāda precizitāte, trīskārša latentuma starpība

Corti salīdzina klīnisko piezīmju MI — viens uzvarētājs neparādās

DeepL vai ChatGPT latviešu tulkojumiem: mērījumi dod skaidru signālu

Pinecone vai Qdrant: bezserveru ērtība sadārdzinās pie lielas slodzes

Otter vai Fireflies: sešas valodas pret vairāk nekā 100
Abonējiet mūsu jaunumu vēstuli
Saņemiet jaunākās Web3, MI un kriptovalūtu ziņas tieši savā e-pastā.