Mis on text-embedding-3-small?
text-embedding-3-small on OpenAI mudel, mis teisendab teksti embedding'uks ehk arvude loendiks, mis esindab sisendi semantilisi omadusi. Sarnase tähendusega tekstid annavad sobiva sarnasuse mõõtmisviisi kasutamisel tavaliselt üksteisele lähedasemad vektorid. See võimaldab tarkvaral leida asjakohast sisu ilma täpset märksõnavastet nõudmata.
Näiteks võib otsingu „kuidas oma parooli lähtestada?” sobitada tugidokumendiga pealkirjaga „Kontole juurdepääsu taastamine”, kuigi need tekstid kasutavad erinevaid sõnu. Mudel ise vastust ei kirjuta. See loob vektorkujutise, mida mõni muu rakendus saab kasutada asjakohase teabe leidmiseks, sisu klassifitseerimiseks või sarnasuse arvutamiseks.
OpenAI avaldas mudeli text-embedding-3-small 25. jaanuaril 2024 osana mudelite perekonnast text-embedding-3. See on loetletud OpenAI praeguses mudelikataloogis ning sellele pääseb ligi Embeddings API kaudu, kasutades mudeli identifikaatorit text-embedding-3-small.
Võimalused ja tehnilised andmed
| Tehniline näitaja | Üksikasjad |
|---|---|
| Teenusepakkuja | OpenAI |
| Mudeli tüüp | Teksti embedding |
| Avaldamiskuupäev | 25. jaanuar 2024 |
| Sisend | Tekst |
| Väljund | Embedding'u vektor |
| Vaikimisi vektori suurus | 1536 dimensiooni |
| Sisendi maksimumsuurus | 8192 tokenit |
| Teadmiste lõppkuupäev | September 2021 |
| Endpoint | OpenAI Embeddings API |
| Kanooniline mudeli ID | text-embedding-3-small |
Vaikimisi sisaldab väljund 1536 arvulist väärtust. OpenAI toetab ka vektori pikkuse vähendamist parameetri dimensions abil. Lühemad vektorid vajavad vähem salvestusruumi ja võivad vähendada vektoriandmebaasi kulusid, kuid dimensioonide vähendamine võib konkreetse otsingu- või klassifitseerimisülesande puhul tähendada kvaliteedi langust. Sobiv suurus tuleks kindlaks teha rakenduse enda hindamisandmete põhjal.
8192 tokeni sisendipiirang kehtib ühe embedding'u päringu sisendile. Seetõttu tuleb pikad dokumendid enne embedding'ute loomist tavaliselt väiksemateks lõikudeks jagada. Lõikudeks jaotamise strateegia mõjutab otsingutulemuste kvaliteeti: liiga lühikesed lõigud võivad konteksti kaotada, liiga pikad aga ühendada mitu omavahel seotud teemata lõiku.
Mida see mudel suudab ja mida mitte
text-embedding-3-small võtab vastu teksti ja tagastab vektorid. See ei loo loomulikus keeles vastuseid, pilte, heli ega videot. Tegemist ei ole vestlusmudeliga ning see ei paku arutlusvõimet, veebotsingut, tööriistade kutsumist ega funktsioonide käivitamist. Samuti ei vasta see otse kasutaja küsimusele ega loo valmis kokkuvõtet.
Selle väljund on kasulik, sest rakendused saavad vektoreid omavahel võrrelda. Otsingusüsteem võib teisendada kasutaja päringu embedding'uks, võrrelda seda varem salvestatud dokumendivektoritega ja tagastada kõige lähedasemad lõigud. Seejärel saab retrieval-augmented generation'i süsteem edastada need lõigud eraldi teksti genereerivale mudelile, mis kirjutab lõpliku vastuse. Selles ülesehituses tegeleb text-embedding-3-small esitamise ja leidmisega, mitte teksti genereerimisega.
Mudelil ei ole eraldi genereeritud teksti väljundipiirangut, sest see ei genereeri proosateksti. Olulised suurusepiirangud on sisendi maksimaalne pikkus ja iga tagastatud vektori dimensioonide arv.
Jõudlus ja positsioneerimine
text-embedding-3-small on mõeldud kulutõhusaks embedding'u lahenduseks suure mahuga töökoormuste jaoks. See sobib rakendustele, mis vajavad palju vektorkujutisi, kuid ei soovi maksta suuremate embedding'u konfiguratsioonidega kaasnevat kõrgemat hinda ega kanda suuremaid salvestuskulusid.
OpenAI andmetel on text-embedding-3-small valitud otsingu hindamistestides parem kui text-embedding-ada-002. Teenusepakkuja avaldatud võrdluses saavutas see MIRACL-i mitmekeelse otsingu võrdlustestis tulemuse 44,0% ja MTEB-i ingliskeelsete ülesannete võrdlustestis 62,3%. Mudel text-embedding-ada-002 saavutas samades testides vastavalt 31,4% ja 61,0%. Need on teenusepakkuja esitatud võrdlustulemused, mitte garantii jõudlusele kõigi andmekogumite puhul. Tulemused võivad varieeruda sõltuvalt keelest, dokumentide kvaliteedist, lõikudeks jaotamisest, sarnasuse mõõdikust ja rakenduse ülesehitusest.
OpenAI pakub ka suuremat mudelit text-embedding-3-large. Suurem mudel võib olla sobivam siis, kui maksimaalne otsingukvaliteet on olulisem kui hinna, salvestusruumi või töötlemisnõuete minimeerimine. text-embedding-3-small on üldiselt praktilisem lähtepunkt suurte kogude, latentsustundlike otsingute ja rakenduste puhul, mille kvaliteedinõudeid saab väiksema mudeliga täita.
Hinnastamine
Standardhind on 0,02 dollarit 1 miljoni sisendtokeni kohta. Arveldamine põhineb embedding'u jaoks edastatud tekstil. Genereeritud väljundi eest eraldi tasu ei võeta, sest vastus sisaldab genereeritud teksti asemel vektoreid.
Selle hinnaga sobib mudel suurte dokumendikoguste indekseerimiseks ja rakendustele, mis teisendavad sageli kasutajapäringuid embedding'uteks. Süsteemi kogukulu võib siiski sisaldada salvestuse, vektoriandmebaasi toimingute, rakenduse majutuse ja vastuste genereerimiseks kasutatava eraldi keelemudeli kulusid. Kui rakendus kasutab retrieval-augmented generation'i, moodustab embedding'u tasu kogu töövoo kuludest ainult ühe osa.
OpenAI mudeliteave loetleb ka Batch API toe. Partiipõhine töötlemine võib olla kasulik suurte indekseerimistööde puhul, mille päringuid ei ole vaja töödelda interaktiivselt, kuigi esitatud mudeliteave ei täpsusta eraldi partii-hinda.
Milleks text-embedding-3-small kasutatakse?
- Semantiline otsing: dokumentide, abikeskuse artiklite, toodete või kirjete leidmine tähenduse, mitte täpse sõnastuse põhjal.
- Retrieval-augmented generation: asjakohaste lõikude leidmine eraldi genereeriva mudeli jaoks enne, kui see vastuse sõnastab.
- Klasterdamine: dokumentide, pöördumiste, arvustuste või muu teksti rühmitamine sarnasuse põhjal.
- Soovitused: kasutajate, toodete, artiklite või muude üksuste sobitamine vektorsarnasuse abil.
- Anomaaliate tuvastamine: sisendite leidmine, mis erinevad tavapärasest kogumist ebatavaliselt palju.
- Duplikaatide tuvastamine: sarnast sisu väljendavate dokumentide või sõnumite leidmine isegi siis, kui need ei ole identsed.
- Klassifitseerimine: kategooriate määramine tekstile vektorsarnasuse või eraldi klassifikaatori abil.
- Koodi ja sisu sarnasuse tuvastamine: teksti- või koodinäidiste võrdlemine siis, kui semantiline esitus on kasulikum kui sõnasõnaline stringivõrdlus.
Tüüpilise dokumendiotsingu töövoo puhul salvestatakse iga dokumendilõigu embedding vektoriandmebaasi. Kui kasutaja otsib, teisendab rakendus päringu sama mudeli abil embedding'uks, võrdleb päringuvektorit salvestatud vektoritega ja tagastab lähimad vasted. Sama embedding'u mudeli kasutamine indekseerimisel ja päringute tegemisel on oluline, sest eri mudelite vektorid ei ole üldjuhul omavahel vahetatavad.
Piirangud ja tehnilised kompromissid
Mudel ei kaota vajadust rakenduse läbimõeldud ülesehituse järele. Otsingukvaliteet sõltub sellest, kuidas dokumente puhastatakse ja lõikudeks jaotatakse, millist sarnasuse mõõdikut kasutatakse, kas vektorid normaliseeritakse, mitu tulemust leitakse ning kuidas asjakohasuse läviväärtused määratakse. Tehniliselt korrektne embedding'u mudel võib anda kehvad otsingutulemused, kui indekseeritud sisu on puudulik või lõikudel puudub kasulik kontekst.
Mudeli dokumenteeritud teadmiste lõppkuupäev on september 2021. See ei takista rakendusel uuema teksti embedding'uks teisendamist, kuid tähendab, et alusmudel ei ole õppinud pärast seda kuupäeva toimunud sündmuste kohta teadmisi. Praegust teavet indekseerivad rakendused saavad seda siiski leida, sest värsked dokumendid antakse mudelile sisendina.
Embedding'u mudeli vahetamine nõuab tavaliselt kogu andmekogu uuesti embedding'uks teisendamist. Teise mudeli olemasolevaid vektoreid ei tohiks lihtsalt uute vektoritega segada ning pärast migreerimist võib olla vaja sarnasuse läviväärtusi uuesti häälestada. See võib muuta mudeli vahetamise suurte indeksite puhul ulatuslikuks operatiivseks projektiks.
Vektori lühendamine parameetri dimensions abil võib vähendada salvestus- ja taristukulusid, kuid see võib vähendada otsingu täpsust. Kompromiss sõltub konkreetsest rakendusest, mistõttu peaksid meeskonnad enne lühendatud esituse valimist võrdlema leidmistäpsust, järjestuse kvaliteeti, latentsust ja salvestuskulu.
Arutlusvõime, kodeerimine ja tööriistade tugi
text-embedding-3-smallil ei ole tavapärases tähenduses vestluslikku arutlusvõimet. See ei kavanda mitmeastmelist vastust, tõlgenda juhiseid vestlusassistendina ega koosta loomulikus keeles selgitusi. Selle ülesanne on kodeerida sisendtekst numbriliseks esituseks.
Seda saab kasutada koodi või tehniliste dokumentidega sarnasuse tuvastamiseks ja otsinguks, kuid see ei ole koodi genereeriv mudel ning seda ei tohiks valida programmide kirjutamiseks, silumiseks ega käivitamiseks. Samuti puudub sellel loomulik tööriistade või funktsioonide kutsumise tugi, veebotsingu võimalus, voogedastusväljund ja struktureeritud tekstiväljund. Need funktsioonid peab pakkuma ümbritsev rakendus või mõni teine mudel.
Millal valida text-embedding-3-small?
Vali text-embedding-3-small siis, kui peamine vajadus on taskukohane suuremahuline teksti esitamine. See on tugev kandidaat semantilise otsingu, dokumentide leidmise, tugikeskkondade, sisu korrastamise, soovitusfunktsioonide ja muude süsteemide jaoks, kus iga päring või dokument tuleb vektoriks teisendada.
- Vali see kulutundliku indeksi jaoks, mis sisaldab palju dokumente või mille puhul tehakse sageli otsinguid.
- Vali see siis, kui 1536 vaike-dimensioonist piisab kvaliteedi tagamiseks ja salvestusruum on oluline kaalutlus.
- Vali see siis, kui vajad seadistatava pikkusega vektorit ja saad hinnata dimensioonide lühendamise mõju.
- Vali see siis, kui rakendus vajab mitmekeelset või ingliskeelset otsingut ning suudad jõudlust oma sisu põhjal valideerida.
Suurem embedding'u mudel võib olla sobivam siis, kui otsingukvaliteet on kõige olulisem ning suuremad kulud või salvestusvajadus on vastuvõetavad. Genereeriv mudel on sobivam siis, kui rakendus peab vastama küsimustele, dokumente kokku võtma, koodi kirjutama või järgima vestluslikke juhiseid. Pildi-, heli- või videosisendi puhul on vaja hoopis nende modaalsustega mudelit.
Saadavus ja praegune olek
text-embedding-3-small on praegu OpenAI mudelikataloogis loetletud. Saadaolev alias on text-embedding-3-small ning esitatud dokumentatsioon ei nimeta tavakasutuseks eraldi kuupäevaga versiooni. Mudelile pääseb ligi OpenAI v1/embeddings endpointi kaudu.
Arendajate jaoks ei seisne peamine otsus seega selles, kas mudel suudab vastuse genereerida, vaid selles, kas selle hind, vektori suurus, sisendipiirang ja otsingukvaliteet sobivad rakendusega. Kui need nõuded langevad kokku, pakub mudel kompaktset alust otsingu- ja sarnasussüsteemidele; kui mitte, võib paremini sobida suurem embedding'u mudel või genereeriv mudel.

