Google DeepMind 6. oktobrī izlaida EmbeddingGemma 2, iegultņu modeli, kas tekstu, attēlus, video un audio kartē vienā 768 dimensiju vektoru telpā. Modelim ir 740 miljoni parametru. Uz Pixel 11 Pro tālruņa tas kvantizētā veidā aizņem aptuveni 191 MB atmiņas tikai tekstam un aptuveni 567 MB, kad ielādēti visi trīs kodētāji. Svari un kods pieejami ar Apache 2.0 licenci portālā Hugging Face, kā Google paziņoja savā emuārā.
Iegultnes ir skaitļu virknes, kas apraksta satura nozīmi tā, ka līdzīgas lietas sanāk tuvu viena otrai. Uz tām balstās semantiskā meklēšana un RAG sistēmas, kas valodas modelim pievieno savus dokumentus. Iepriekšējā EmbeddingGemma versija strādāja tikai ar tekstu. Jaunā laiž cauri vienam modelim arī attēlus un skaņu, tāpēc viena vektoru datubāze var glabāt dažādu veidu saturu un meklēšana notiek pāri visiem tipiem reizē. Konteksta logs audzis no 2048 līdz 8192 marķieriem.
Ielādē tikai to, kas vajadzīgs
740 miljoni parametru sadalās trīs daļās: 270 miljoni tekstam, 170 miljoni attēliem un 300 miljoni audio. Kodētājus var ielādēt atsevišķi, tāpēc atmiņā nonāk tikai tās daļas, ko lietojums tiešām izmanto.
- tikai teksts: 270 miljoni parametru
- teksts un attēli: 440 miljoni
- teksts un audio: 570 miljoni
- pilns modelis: 740 miljoni
Izejas vektoram ir 768 dimensijas. To var apcirpt līdz 512, 256 vai 128, ja indekss jāsamazina vai meklēšana jāpaātrina. Modelis apmācīts tā, ka arī apcirptais vektors paliek lietojams, tāpēc izstrādātājs var izvēlēties kompromisu starp precizitāti un indeksa izmēru pēc modeļa ielādes, nevis pirms apmācības. Praksē 128 dimensiju vektors aizņem sešas reizes mazāk vietas nekā pilnais 768, tāpēc lielam indeksam atmiņas un diska rēķins krīt attiecīgi.
Cik satura ietilpst vienā izsaukumā
Katrs attēls pēc noklusējuma izmaksā 280 marķierus, tāpēc vienā izsaukumā ietilpst aptuveni 29 attēli. Attēla budžetu var mainīt uz 70, 140, 560 vai 1120 marķieriem, atkarībā no tā, cik sīkumu vajag saglabāt. Video modelis ņem 140 marķierus uz kadru un pēc noklusējuma izlasē vienu kadru sekundē, kas dod aptuveni 58 kadrus. Audio izmaksā 25 marķierus sekundē pie 16 kHz mono, tātad vienā izsaukumā ietilpst ap 327 sekundēm skaņas. Tekstā modelis saprot vairāk nekā 100 valodu.
Teksta režīmā modelis uz Pixel 11 Pro aizņem aptuveni 191 MB, tāpēc iegultņu rēķināšana var notikt uz paša tālruņa, bez servera un bez datu sūtīšanas uz mākoni.
Viens vektors var jaukt tekstu un attēlu
Saturu vienā izsaukumā var sajaukt. Modelis pieņem, piemēram, attēlu kopā ar jautājumu tekstā un atdod vienu vektoru, kas apraksta abus reizē. Tas der gadījumiem, kur jēga rodas no teksta un attēla kopā: produkta foto ar aprakstu, ekrānšāviņš ar kļūdas ziņu vai slaids ar parakstu. Audio pusē tas pats princips ļauj meklēt podkāstā vai balss piezīmēs pēc to satura, nevis pēc faila nosaukuma vai manuāla atšifrējuma.
Kam tas noder
Iegultnes stāv pamatā divām izplatītām lietām. Pirmā ir semantiskā meklēšana, kur vaicājumu salīdzina ar dokumentu vektoriem un atrod tuvākos pēc nozīmes, nevis pēc atslēgvārdiem. Otrā ir RAG, kur valodas modelim pirms atbildes padod dažus atrastos fragmentus no lietotāja datiem. Tā kā EmbeddingGemma 2 strādā uz tālruņa, abas var notikt bez interneta: fotoalbuma meklēšana, piezīmju kārtošana vai atbalsta aģents, kas lasa ierīcē esošos dokumentus. Dati paliek uz ierīces, tāpēc tādu lietojumu vieglāk saskaņot ar privātuma prasībām. Tālrunī tā var sameklēt visus attēlus, kuros redzama kvīts, vai atrast balss piezīmē to vietu, kur minēts konkrēts vārds.
Testu rezultāti nav vienādi visur
Koda meklēšanā lēciens ir liels. MTEB Code testā EmbeddingGemma 2 iegūst 78,68 punktus pret pirmās versijas 68,76. Daudzvalodu MTEB v2 testā rezultāts praktiski nemainās: 61,36 pret 61,15. Angļu valodas MTEB v2 testā jaunā versija ir nedaudz zemāka, 68,46 pret 69,67. Visi šie skaitļi nāk no Google. Neatkarīgu pārbaužu publiski vēl nav, tāpēc vērts tos pārbaudīt uz saviem datiem pirms indeksa pārrakstīšanas. Pāreja no pirmās versijas arī nav bezmaksas: vecie un jaunie vektori nav savstarpēji salīdzināmi, tāpēc visu esošo korpusu nāksies iegult no jauna, pirms meklēšana sāk strādāt uz jaunā modeļa.
Kur to palaist
Svari atrodami Hugging Face kā google/embeddinggemma-2 un arī Kaggle. Modeli atbalsta sentence-transformers no 6.1.0 versijas, Transformers, vLLM, SGLang, MLX, llama.cpp caur GGUF, Ollama un LM Studio. Google izstrādātāju pamācība rāda arī LiteRT ceļu uz tālruņiem. Android ML Kit atbalsts solīts tuvāko nedēļu laikā, tāpēc līdz tam lokāla attēlu un audio meklēšana uz tālruņa jāveido pašrocīgi caur LiteRT vai GGUF.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.