Teksta iegulumi: kā tie darbojas [+piemēri]
Šajā rokasgrāmatā skaidrots, kas ir teksta iegulumi, kā tie pārvērš tekstu vektoros, kas atspoguļo nozīmi, un kā izvēlēties, novērtēt un lietot iegulumu modeļus meklēšanā, RAG un citos reālos lietojuma scenārijos.

Ja jums ir zināms teksta iegulumu pamatjēdziens, bet jūs interesē, kā tos likt lietā, šī ir īstā vieta. Mēs sīki aplūkosim vektorus, tokenizāciju un līdzības aprēķināšanu, iedziļināsimies iegulumu modeļu novērtēšanā un parādīsim reālus lietojuma piemērus.
Kas ir teksta iegulumi?
Teksta iegulumi ir vārdu, teikumu vai dokumentu skaitliski attēlojumi, kas atspoguļo to semantisko nozīmi un savstarpējās sakarības. Tos ģenerē iegulumu modeļi, kas pārvērš tekstu vektoros — skaitļu masīvos, kurus mašīnmācīšanās algoritmi var apstrādāt un salīdzināt.
ML inženieri izmanto teksta iegulumus, lai palīdzētu lietojumprogrammām atpazīt sakarības starp vārdiem un teikumiem, tādējādi atvieglojot liela datu apjoma meklēšanu, kategorizēšanu un analīzi.
Pieņemsim, ka katru dienu saņemat tūkstošiem atbalsta pieteikumu. Klienti ziņo par visdažādākajām problēmām, bet jums tās ir jākategorizē un jāmarķē. Viens no veidiem, kā automatizēt šo procesu, ir izmantot iepriekš apmācītu teksta iegulumu modeli, lai katru pieteikumu pārvērstu vektorā.
Piemēram, divi klienti iesūta šādus ziņojumus:
- „Man divreiz tika iekasēta maksa par abonementu”: [0.21, -0.47, 0.83, ...]
- „Manā kontā ir dubults maksājums”: [0.19, -0.45, 0.80, ...]
Šie ir vienkāršoti, ilustratīvi vektori.
Lai gan klienti izmanto atšķirīgus vārdus, viņi apraksta vienu un to pašu problēmu. Iegulumu modelis uztver šo sakarību, izvietojot abu ziņojumu vektorus tuvu vienu otram matemātiskā telpā. Abi pieteikumi tiek kategorizēti un novirzīti norēķinu komandai.
Teksta iegulumu lietojuma gadījumi uzņēmējdarbībā
Teksta iegulumus izmanto dažādos dabiskās valodas apstrādes (NLP) uzdevumos, tostarp:
- Semantiskā meklēšana: atbilstošas informācijas atrašana pēc nozīmes. Delivery Hero līdztekus atslēgvārdu meklēšanai izmanto produktu un vaicājumu iegulumus, lai palīdzētu pārtikas preču pircējiem atrast atbilstošus produktus. Piemēram, meklējot „jogurts ar zemu tauku saturu”, var tikt parādīts grieķu jogurts vai jogurts ar 0,5 % tauku saturu, pat ja formulējums precīzi nesakrīt.
- Teksta klasifikācija: teksta kategorizēšana, piemēram, surogātpasta e-pasta ziņojumu identificēšana vai dokumentu kārtošana pēc tēmas. MindCraft.ai izstrādāja dokumentu klasifikācijas sistēmu, kas izmanto uz transformeriem balstītus teksta iegulumus un mašīnmācīšanos, lai kategorizētu uzņēmumu dokumentus un identificētu sensitīvu informāciju VDAR prasību ievērošanai.
- Klasterizācija: līdzīgu dokumentu vai teksta fragmentu grupēšana, lai identificētu likumsakarības. Doczy.ai pārvērš līgumu tekstu iegulumos un grupē semantiski saistītas klauzulas un jēdzienus pat tad, ja dažādos līgumos līdzīgas saistības ir izteiktas ar atšķirīgu formulējumu.
- Izgūšanā papildināta ģenerēšana (RAG): atbilstošas informācijas izgūšana, ko LLM var izmantot, lai ģenerētu precīzākas, kontekstam atbilstošas atbildes. Ring izmanto Amazon Titan teksta iegulumus daudzvalodu RAG tērzēšanas robotā, lai pirms atbilžu ģenerēšanas uz klientu jautājumiem starptautiskajos tirgos izgūtu atbilstošo atbalsta dokumentāciju.
- Ieteikumu sistēmas: saistītu rakstu, produktu vai cita satura ieteikšana, pamatojoties uz teksta līdzību. LinkedIn JUDE sistēma izmanto LLM ģenerētus darba aprakstu un dalībnieku profilu teksta iegulumus, lai uzlabotu darba piedāvājumu ieteikumus, uztverot sakarības starp kandidātu pieredzi un pieejamajām vakancēm.
- Nosaukto entītiju atpazīšana (NER): palīdz identificēt un klasificēt tekstā minēto personu, organizāciju un vietu nosaukumus. Amazon Health Services izmanto NER, lai klientu vaicājumos identificētu medicīniskus jēdzienus, piemēram, slimības, simptomus, medikamentus un ārstēšanas veidus. Šo izpratni tas apvieno ar uz iegulumiem balstītu līdzības meklēšanu, lai savienotu vaicājumus ar atbilstošiem veselības aprūpes produktiem un pakalpojumiem.
- Mašīntulkošana: atbalsts modeļiem, kas tulko tekstu no vienas valodas citā. Transglot izmanto teksta iegulumus semantiskajā tulkojumu atmiņā, lai identificētu iepriekš tulkotus fragmentus ar līdzīgu nozīmi, tādējādi palīdzot lokalizācijas darbplūsmās atkārtoti izmantot esošos tulkojumus.
Kā darbojas teksta iegulumi?
Kā tad iegulumu modelis izlemj, kādas skaitliskās vērtības piešķirt teksta fragmentam, un kāpēc mums tam būtu jāuzticas?
Viss sākas ar apmācību. Iegulumu modeļi mācās no lieliem tekstu krājumiem, meklējot likumsakarības tajā, kā vārdi tiek lietoti kopā. Tradicionālie modeļi, piemēram, Word2Vec, mācās, prognozējot vārdu pēc apkārtējiem vārdiem vai otrādi. Mūsdienu uz izgūšanu orientētie modeļi bieži izmanto kontrastīvo mācīšanos. Tie tiek apmācīti piešķirt augstākus līdzības rādītājus atbilstošiem vaicājuma un dokumenta pāriem nekā nesaistītiem pāriem.
Kad modelis ir apmācīts, lūk, kas notiek, kad tam iedodat jaunu teksta fragmentu:
- Tokenizācija. Vispirms modelis sadala tekstu mazākās daļās, ko sauc par tokeniem. Tie var būt veseli vārdi, vārdu daļas vai pieturzīmes. Katrs tokens saņem skaitlisku ID no modeļa vārdnīcas, un pats par sevi šis ID nekādu nozīmi nenes.
- Kodēšana un apvienošana. Modelis apstrādā šos tokenus, izmantojot apmācības laikā apgūtās likumsakarības, un izveido vektoru. Katrs vektora skaitlis ir koordināta jeb komponente, un dimensija ir ass, pa kuru šis skaitlis nosaka vektora pozīciju. Katra vērtība ietekmē teksta pozīciju matemātiskā telpā, ko sauc par iegulumu telpu.
- Līdzības aprēķināšana. Lai atrastu saistītu tekstu, izgūšanas sistēma salīdzina vaicājuma iegulumu ar dokumentu iegulumiem, izmantojot līdzības mēru, piemēram, kosinusa līdzību vai skalāro reizinājumu
Tieši šādi, piemēram, interneta veikali atgriež lietotāja vaicājumam atbilstošas preces.
Kāda ir atšķirība starp vārdu, teikumu un dokumentu iegulumiem?
Galvenā atšķirība ir tajā, cik daudz teksta katrs iegulums attēlo vienā vektorā. Iegulumus var izveidot atsevišķiem vārdiem, veseliem teikumiem vai pat veseliem dokumentiem atkarībā no tā, kādu informāciju vēlaties uztvert.
- Vārdu iegulumi uztver sakarības starp atsevišķiem vārdiem, atpazīstot, ka „darbības traucējums” un „dīkstāve” ir saistīti jēdzieni.
- Teikumu iegulumi izprot veselu teikumu nozīmi pat tad, ja viena un tā pati doma ir izteikta atšķirīgiem vārdiem.
- Dokumentu iegulumi attēlo visu dokumentu kā vienu vektoru, nevis izveido atsevišķu vektoru katram teikumam. Tas palīdz saglabāt vispārējo tēmu un atrast citus dokumentus par to pašu tēmu, taču detaļas var būt grūtāk (ja ne neiespējami) izgūt.
Cik detalizētu līmeni izvēlēties? Piemērotais līmenis ir atkarīgs no jūsu datiem un no tā, ko vēlaties sasniegt.
Lielākiem dokumentiem ierasta prakse ir sadalīt tekstu mazākos fragmentos un katram no tiem ģenerēt atsevišķu iegulumu. Šādi jūs iegūsiet gan dokumenta vispārējo nozīmi, GAN konkrētas detaļas, kas, izmantojot dokumentu iegulumus, varētu tikt zaudētas.
Cik lielā mērā fragmenta lielums ietekmē iegulumu kvalitāti?
Ievērojami. Kā norāda Rahul Kumar, uzņēmuma Xenoss MI inženierijas viceprezidents, izaicinājums ir atrast tādu fragmenta lielumu, kas aptver vienu pilnīgu ideju, nezaudējot svarīgu kontekstu. Viņš skaidro šo kompromisu:
„Fragmenta lielums nosaka, cik daudz semantiskā konteksta ietver viens iegulums. Lielāks fragments sniedz vektoram vairāk konteksta, taču vienā vektorā tas arī sapludina vairākas tēmas. Fragments, kas aptver trīs tēmas, nonāk kaut kur pa vidu un labi neatbilst nevienai no tām. Mazāks fragments saglabā precīzu nozīmi, taču var zaudēt kontekstu, kura dēļ to bija iespējams atrast.”
Tāpēc Kumar iesaka izvēlēties fragmentēšanas stratēģiju atkarībā no satura, nevis turēties pie viena fiksēta lieluma. Kā viņš saka: „fiksēta lieluma fragmenti ar pārklāšanos ir piemēroti tikai viendabīgam tekstam, piemēram, e-pasta ziņojumiem vai automātiski savāktām tīmekļa lapām.”
Strukturētiem dokumentiem, piemēram, līgumiem vai politikām, labāk piemērota ir rekursīva sadalīšana, kas ņem vērā struktūru. Savukārt semantiskā fragmentēšana var labi darboties ar transkriptiem, jo tā sadala tekstu vietās, kur mainās tēma vai nozīme.
Teksta iegulumi salīdzinājumā ar atslēgvārdu meklēšanu
Kāpēc izmantot teksta iegulumus, ja var vienkārši meklēt pēc atslēgvārdiem? Tāpēc, ka atslēgvārdu meklēšana balstās uz terminu sakritību, savukārt uz iegulumiem balstīta semantiskā meklēšana var izgūt atbilstošu informāciju pat tad, ja vaicājumā un dokumentā ir izmantoti atšķirīgi vārdi.
Taču semantiskā līdzība ne vienmēr nozīmē atbilstību. Shaw Talebi, AI Builder Academy dibinātājs, demonstrē šo ierobežojumu, izmantojot CV meklēšanas sistēmu. Talebi gadījumā, meklējot „datu inženieris ar Apache Airflow pieredzi”, tikai vienā no pirmajiem pieciem rezultātiem bija minēts Apache Airflow, un tas ierindojās trešajā vietā, lai gan vēl trīs citos datu kopas CV šī prasme bija norādīta.
Tas nozīmē, ka semantiskā meklēšana ir noderīga konceptuāli saistītas informācijas atrašanai, taču tā var nepamanīt precīzas prasības, piemēram, tehniskās prasmes, produktu identifikatorus vai kļūdu kodus.
Lai atrisinātu šo problēmu, Rahul Kumar iesaka izvēlēties izgūšanas pieeju atkarībā no tā, kur izgūšanas sistēmai ir nepilnības:
- Hibrīdmeklēšana (atslēgvārdu sakritības apvienojums ar semantisko meklēšanu) ir noklusējuma izvēle, ja vaicājumos ir precīzi termini, piemēram, SKU, kļūdu kodi vai atsauces uz tiesību aktiem.
- Pārranžētāji attaisno savas izmaksas, ja nozīme ir tikai dažiem pirmajiem rezultātiem, piemēram, atbildēm, kas ģenerētas no izgūtā konteksta.
- Grafu izgūšana palīdz, ja atbilde aptver vairākus savstarpēji saistītus datu avotus.
Kumar arī pastāstīja, kā viņa komanda šīs pieejas ieviesa praksē. Vienā projektā viņi paralēli izmantoja BM25 atslēgvārdu meklēšanu un vektoru meklēšanu, apvienoja rezultātus ar abpusējās ranga saplūdināšanas (RRF) metodi un ar LLM palīdzību pārranžēja 124 labākos rezultātus, atlasot no tiem 6.
„Pāreja uz izgūšanu, kurā prioritāte ir grafam — vektoru meklēšana atrod līdzīgas latentās telpas, pēc tam seko divu soļu grafa pārstaigāšana —, paaugstināja ranžēšanas kvalitāti (nDCG) no 0,58 līdz 0,67 un samazināja p90 izgūšanas laiku no 19 s līdz mazāk nekā 3 s,” piebilst Kumar.
Teksta iegulumu modeļu veidi
Visi iegulumu modeļi kopumā dara vienu un to pašu — apgūst sakarības tekstā. Tomēr tie atšķiras pēc uzdevuma, kuram tie apmācīti, pēc informācijas, ko tie ņem vērā, un pēc uzdevumiem, kuru veikšanai tie paredzēti.
Statisko vārdu iegulumu modeļi
Tradicionālie vārdu iegulumu modeļi apgūst blīvus vārdu skaitliskos attēlojumus, pamatojoties uz vārdu lietojuma likumsakarībām lielos tekstu krājumos. Šie iegulumi ir statiski, kas nozīmē, ka katrs vārds saņem vienu un to pašu vektoru neatkarīgi no tā nozīmes konkrētā kontekstā.
Divas labi zināmas metodes ir šādas:
- Word2Vec: izstrādājis Google 2013. gadā; tas apgūst attēlojumus no blakus esošajiem vārdiem, izmantojot divas arhitektūras: Continuous Bag of Words (CBOW), kas prognozē vārdu pēc tā kaimiņiem, un skip-gram, kas prognozē blakus esošos vārdus pēc dotā vārda.
- GloVe (Global Vectors for Word Representation): izstrādāts Stenfordā 2014. gadā; tas izmanto vārdu kopīgas sastopamības statistiku, lai apgūtu sakarības starp vārdiem.
Kontekstualizēti valodas modeļi
Atšķirībā no statiskajiem iegulumiem vispārējas nozīmes valodas modeļi veido kontekstuālus attēlojumus, kas mainās atkarībā no apkārtējā teksta. Tas palīdz modeļiem atšķirt viena un tā paša vārda dažādas nozīmes.
- BERT (2018, Google): izmanto divvirzienu pašuzmanību, lai ņemtu vērā vārdus abās tokena pusēs. Piemēram, tas ģenerē atšķirīgus attēlojumus vārdam „bank” teikumos „I deposited money at the bank” (es noguldīju naudu bankā) un „I sat on the bank of a river” (es sēdēju upes krastā).
- GPT (2018, OpenAI): izmanto uz transformeriem balstītus attēlojumus, kas ņem vērā iepriekšējo tekstu, prognozējot nākamo tokenu. GPT modeļi galvenokārt ir paredzēti valodas ģenerēšanai.
Teikumu un dokumentu iegulumu modeļi
Tie attēlo garākus teksta fragmentus — no atsevišķiem teikumiem līdz rindkopām un veseliem dokumentiem — kā vektorus.
- Doc2Vec: paplašina Word2Vec tipa mācīšanos uz teikumiem, rindkopām un dokumentiem. Tas var palīdzēt grupēt saistītus rakstus vai klasificēt dokumentus pēc tēmas.
- Universal Sentence Encoder (USE): izstrādājis Google 2018. gadā, lai ģenerētu fiksēta garuma teikumu un īsu rindkopu attēlojumus semantiskās līdzības noteikšanai un teksta klasifikācijai.
- Sentence-BERT (SBERT, 2019): to izstrādāja Nils Reimers un Iryna Gurevych Darmštates Tehniskajā universitātē; tas balstās uz Google BERT modeli un tiek plaši izmantots semantiskajā meklēšanā, parafrāžu noteikšanā un klasterizācijā.
- pplx-embed-v1 (2026, Perplexity): modernākais teksta iegulumu modelis, kas izveidots reālai izgūšanai tīmekļa mērogā; šī modeļu saime izmanto uz difūziju balstītu priekšapmācību, lai kauzālu valodas modeli pārvērstu divvirzienu kodētājā. Tas ģenerē blīvus iegulumus neatkarīgi kodētiem vaicājumiem un dokumentiem un izmanto apmācību, kas ņem vērā kvantēšanu, lai samazinātu glabāšanas izmaksas. Mūsu 4B INT8 modelis daudzvalodu MTEB izgūšanas etalontestā sasniedza 69,66 nDCG@10, salīdzinot ar Google gemini-embedding-001 rezultātu 67,71.
- pplx-embed-context-v1 (2026, Perplexity): risina bieži sastopamu dokumentu sadalīšanas fragmentos problēmu: atdalīti no apkārtējā teksta, fragmenti var zaudēt savu nozīmi. Izmantojot vēlīno fragmentēšanu, modelis apstrādā dokumentu pirms kontekstualizēto tokenu attēlojumu apvienošanas atsevišķos fragmentu iegulumos. Mūsu 4B modelis ConTEB etalontestā sasniedza 81,96 nDCG@10, salīdzinot ar voyage-context-3 rezultātu 79,45.
- pplx-embed-v2-context (2026, Perplexity): virza kontekstuālo izgūšanu vēl tālāk. Tā vietā, lai mācītos tikai atrast fragmentu, kurā ir atbilde, tas mācās identificēt atbalstošus fragmentus, kas palīdz šo atbildi izskaidrot vai pārbaudīt. Apmācības laikā modelis izmanto atbilstības signālus, kas destilēti no konteksta saspiešanas modeļa, un secināšanas laikā šis skolotājmodelis nav nepieciešams. Mūsu 9B priekšskatījuma versija context-bench etalontestā sasniedza 45,5 % atbilžu pilnīgumu (recall) un 40,6 % pierādījumu pilnīgumu pie 10 rezultātiem.
Perplexity modeļi ļauj arī glabāt iegulumus lielā mērogā. Modeļi veido INT8 un binārus iegulumus, kas salīdzinājumā ar FP32 samazina glabāšanas prasības attiecīgi 4 un 32 reizes.
Modelis | Dimensijas | Konteksts | MRL | Kvantēšana | Instrukcija | Apvienošana |
pplx-embed-v1-0.6B | 1024 | 32K | Jā | INT8/BINĀRA | Nē | Vidējā |
pplx-embed-v1-4B | 2560 | 32K | Jā | INT8/BINĀRA | Nē | Vidējā |
pplx-embed-context-v1-0.6B | 1024 | 32K | Jā | INT8/BINĀRA | Nē | Vidējā |
pplx-embed-context-v1-4B | 2560 | 32K | Jā | INT8/BINĀRA | Nē | Vidējā |
pplx-embed modeļu dimensijas, konteksta garums, kvantēšana un apvienošanas konfigurācija
Blīvie, retie un daudzvektoru iegulumi
Ir vēl viena atšķirība, kuru ir vērts izprast, īpaši semantiskās meklēšanas kontekstā. Iegulumu modeļi var atšķirties pēc tā, kā tie attēlo tekstu un aprēķina atbilstību.
- Blīvie iegulumi: attēlo tekstu, izmantojot kompaktus vektorus, kuros lielākā daļa vērtību ir atšķirīgas no nulles.
- Retie iegulumi: izmanto vektorus, kuros lielākoties ir nulles vērtības, ar apgūtiem svariem, kas saistīti ar svarīgiem terminiem. Tādi modeļi kā SPLADE (2021) apgūst, kuri termini ir svarīgi atbilstošu dokumentu izgūšanai.
- Daudzvektoru iegulumi: saglabā vairākus vektorus vienam teksta fragmentam, ļaujot detalizētāk salīdzināt vaicājumus un dokumentus. Tādi modeļi kā ColBERT (2020) izmanto šos attēlojumus detalizētākai vaicājumu un dokumentu salīdzināšanai.
- Modeļi, kas apvieno vairākas pieejas: BGE-M3 (2024), ko izstrādājis BAAI, vienā modelī atbalsta blīvo, reto un daudzvektoru izgūšanu.
Kā izvēlēties un novērtēt teksta iegulumu modeli
Publiski etalontesti, piemēram, MTEB, ir labs sākumpunkts. Izmantojiet tos, lai atlasītu divus vai trīs modeļus, kas atbalsta jūsu valodas, ievades garumus un izvietošanas prasības. Taču vēl nesteidzieties izvēlēties uzvarētāju. Mēs nevaram pietiekami uzsvērt, cik svarīgi ir pārbaudīt šos modeļus ar saviem datiem.
Lūk, praktiska novērtēšanas darbplūsma:
- Izveidojiet testa datu kopu. Savāciet 50–100 reprezentatīvus meklēšanas vaicājumus kā sākotnējo novērtēšanas kopu (iespējams, būs nepieciešams vairāk), ietverot arī sarežģītus gadījumus, piemēram, parafrāzes, tehnisko terminoloģiju un precīzus kļūdu kodus. Katram vaicājumam nosakiet, kuros dokumentos vai fragmentos ir atbilstošas atbildes. Šīs atbilstības iezīmes kļūs par jūsu etalona datiem (ground truth).
- Izmēriet izguves kvalitāti. Pārbaudiet katru modeli ar vienu un to pašu novērtēšanas datu kopu, nodrošinot salīdzināmus dokumentu sagatavošanas un izguves apstākļus, vienlaikus ievērojot katra modeļa specifiskās prasības vaicājumu formatēšanai, normalizācijai un līdzības novērtēšanai. Pēc tam aprēķiniet šādus rādītājus, izmantojot Sentence Transformers rīku InformationRetrievalEvaluator:
- Recall@k: Norāda, kāda daļa atbilstošo fragmentu ir iekļauta pirmajos k rezultātos.
- MRR: Mēra, cik augstu rangu sarakstā atrodas pirmais atbilstošais rezultāts.
- nDCG@k: Mēra, cik labi pirmie k rezultāti ir sakārtoti pēc to atbilstības.
- Veiciet latentuma un caurlaidspējas etalontestus. Izmēriet, cik ilgā laikā katrs modelis izveido vaicājuma iegulumu, ideālā gadījumā norādot mediānas (p50) un 95. procentiles (p95) latentumu reālistiskas slodzes apstākļos.
- Aprēķiniet glabāšanas un darbības izmaksas. Vektoru krātuves apjoms ir atkarīgs no iegulumu skaita, to dimensiju skaita un skaitliskās precizitātes. Piemēram, vienam miljonam 768 dimensiju FP32 iegulumu nepieciešami aptuveni 3,1 GB neapstrādātu vektoru krātuves, neskaitot indeksēšanai nepieciešamo papildu vietu. Lai samazinātu krātuves prasības, vektorus var kvantizēt līdz zemākai skaitliskajai precizitātei. Pārejot, piemēram, no FP32 uz INT8, neapstrādāto vektoru krātuves apjoms samazinās aptuveni 4 reizes. Tomēr saspiešana var ietekmēt izguves kvalitāti, tāpēc atkārtoti veiciet novērtēšanu, lai pārbaudītu šo kompromisu.
Visbeidzot salīdziniet rezultātus līdzās: izguves rādītājus, p95 latentumu, caurlaidspēju, krātuvi un izmaksas. Izvēlieties modeli, kas atbilst jūsu kvalitātes prasībām, ievērojot produkcijas vides ierobežojumus.
Kad izmantot iegulumus, nevis LLM?
Tā kā LLM spēj paveikt visu – no dokumentu analīzes līdz sarežģītai spriešanai –, ir ļoti vilinoši iebarot modelim visu savu tekstu un ļaut tam pašam visu izdomāt. Taču maksāt par to jums, visticamāk, nepatiks.
Turklāt LLM labāk prot vērtēt un veidot tekstu, taču tos ierobežo informācijas apjoms, ko var ietilpināt vienā uzvednē. Savukārt iegulumi ir lēti, ātri, konsekventi un darbojas ar miljoniem vienumu.
„Iegulumi ir pārāki meklēšanā, ieteikumos („vairāk līdzīgu”), dublikātu, piemēram, atkārtotu atbalsta pieteikumu, noteikšanā un liela satura apjoma grupēšanā pēc tēmām. Tie labi darbojas arī dažādās valodās. LLM ir pārāks, ja uzdevumam nepieciešama spriešana: kopsavilkumu veidošana, iespēju salīdzināšana vai atbildes rakstīšana. Lielākajai daļai reālu sistēmu ir vajadzīgi abi, un katrs no tiem veic to daļu, kas tam padodas vislabāk,” secina Kumar.
Kļūdas, ko izstrādātāji pieļauj darbā ar teksta iegulumiem
Lai noskaidrotu, ko izstrādātāji mēdz neievērot, es runāju ar Rahul Kumar un Xibeijia Guan, datu zinātnieci uzņēmumā Ahrefs. Viņi izcēla sešas kļūdas, no kurām vērts uzmanīties:
- Teksta priekšapstrādes izlaišana. Ja ievades datos ir HTML, navigācijas izvēlnes, reklāmas vai cits nebūtisks saturs, priekšapstrādes darbības, piemēram, šablonveida satura noņemšana, var palīdzēt uzlabot iegulumu kvalitāti, atbrīvojoties no nevajadzīgas informācijas.
- Modeļa maksimālā ievades garuma ignorēšana. Dažādiem modeļiem ir atšķirīgi tokenu ierobežojumi un apgriešanas veidi. Teksts, kas pārsniedz ierobežojumu, var tikt apgriezts, un svarīga informācija var tikt zaudēta.
- Modeļa specifisko prasību neievērošana. Dažiem iegulumu modeļiem ir nepieciešami noteikti prefiksi, piemēram, query: un passage:, vai atšķirīgas instrukcijas dažādiem uzdevumiem. Šo prasību neievērošana var pasliktināt izguves veiktspēju.
- Nesaderīga līdzības mēra izmantošana. Kosinusa līdzība un skalārais reizinājums ne vienmēr ir savstarpēji aizvietojami. Pārbaudiet, vai iegulumi ir normalizēti, un izmantojiet vērtēšanas metodi, kas ieteikta konkrētajam modelim un vektoru indeksam.
- Tematiskās līdzības sajaukšana ar atbilstību. Šauras jomas kolekcijās daudzi dokumenti var būt semantiski līdzīgi, lai gan neatbild uz vienu un to pašu jautājumu. Analizējiet neveiksmīgos vaicājumus un ranžējuma sadalījumu. Ja lietotājiem nepieciešama precīza informācija, izmēģiniet leksisko vai hibrīdo izguvi, pārranžēšanu un metadatu filtrus.
- Iegulumu normalizācijas ignorēšana. Dažādi iegulumu modeļi var izvadīt normalizētus vai nenormalizētus vektorus. Pārbaudiet, vai iegulumi ir normalizēti un vai ir nepieciešama papildu normalizācija atkarībā no izmantotā līdzības rādītāja.
Bieži uzdotie jautājumi par teksta iegulumiem
1. Kā ģenerēt teksta iegulumus?
Vienkāršākā pieeja ir izmantot iepriekš apmācītu iegulumu modeli. Piemēram, ar Python bibliotēku Sentence Transformers varat ielādēt tādu modeli kā all-MiniLM-L6-v2, nodot tekstu funkcijai model.encode(), un saņemt skaitlisku vektoru. Iegulumus var ģenerēt arī, izmantojot API.
Semantiskajai meklēšanai vai RAG dokumentus parasti sadala fragmentos, katram fragmentam ģenerē iegulumu un vektorus saglabā meklējamā indeksā.
2. Kuri ir labākie teksta iegulumu modeļi?
Atkarībā no tā, ko veidojat, ir vērts apsvērt vairākus modeļus:
- Perplexity pplx-embed-v1: Izstrādāts liela mēroga blīvajai izguvei, ar INT8 un binārajiem iegulumiem, kas samazina vektoru krātuves prasības.
- Perplexity pplx-embed-context-v1: Noderīgs teksta fragmentu izguvei no gariem dokumentiem, kuros atsevišķas daļas bez apkārtējā konteksta zaudē nozīmi.
- all-MiniLM-L6-v2: Piemērots vieglai lokālai semantiskajai meklēšanai, klasterizācijai un teikumu līdzības uzdevumiem. Veido kompaktus 384 dimensiju vektorus, taču apgriež ievadi, kas garāka par 256 vārdu daļām.
- BGE-M3: Noderīgs daudzvalodu RAG un hibrīdajai izguvei. Atbalsta vairāk nekā 100 valodas un apvieno blīvos, retos un vairāku vektoru attēlojumus.
- Qwen3-Embedding: Spēcīgs kandidāts daudzvalodu meklēšanai, koda izguvei un konkrētiem uzdevumiem pielāgotiem iegulumiem. Piedāvā atvērtu svaru modeļus 0.6B, 4B un 8B ar instrukciju atbalstu.
- OpenAI text-embedding-3-large: Uz API balstīta iespēja semantiskajai meklēšanai un dokumentu izguvei, ja nevēlaties paši mitināt modeli. Atbalsta līdz 3072 dimensijām, kuras var samazināt, lai ietaupītu krātuvi.
- Google Gemini Embedding modeļi: Noderīgi pārvaldītām izguves lietojumprogrammām. Gemini Embedding 2 atbalsta arī meklēšanu teksta, attēlu, audio, video un PDF failos kopīgā iegulumu telpā.
3. Vai LLM var izmantot kā iegulumu modeli?
Jā, taču pastāv atšķirība starp vispārēja lietojuma LLM un tādu, kas optimizēts iegulumiem. LLM veido iekšējus teksta vektoru attēlojumus, kurus var izgūt un apvienot vienā iegulumā. Tomēr bez papildu apmācības šie vektori ne vienmēr ir noderīgi semantiskajai meklēšanai.
Piemēram, Qwen3-Embedding izmanto LLM pamatu, kas papildus apmācīts iegulumu un izguves uzdevumiem. Tātad, lai gan LLM var pielāgot iegulumu ģenerēšanai, specializēts iegulumu modelis parasti ir praktiskāks sākumpunkts.