Deweloper Bruno Hays opublikował 28 października 2026 r. na Hugging Face dodatek do modelu EmbeddingGemma 2, który bez ani jednej epoki uczenia przenosi go z 26. na 1. miejsce w części audio benchmarku MAEB. Cały dodatek to jeden plik o rozmiarze 2,37 MB, a model z nim wyprzedza konstrukcje ponad piętnastokrotnie większe.
Najważniejsze w skrócie
- Rozmiar dodatku: 2,37 MB, zero parametrów uczonych w trakcie działania
- MAEB (v1, tylko audio, 19 zadań): awans z 26. na 1. miejsce wśród 70 modeli audio, wynik średni 47,79 → 54,82
- MAEB (v1, pełne 30 zadań): awans z 16. na 1. miejsce, wynik średni 49,31 → 54,40
- Wyprzedzone modele: Qwen2-Audio-7B (8,40 mld parametrów) i LCO-Embedding-Omni-7B (8,93 mld)
- Zgłoszenie do repozytorium MTEB (PR #5775) pozostaje otwarte, wyniki nie przeszły jeszcze weryfikacji zespołu benchmarku
Wyobraźmy sobie taką sytuację
Zespół buduje wyszukiwarkę po archiwum nagrań z infolinii i potrzebuje jednego wektora liczb na nagranie — takiego, który pozwoli znaleźć rozmowy o podobnym tonie emocjonalnym. EmbeddingGemma 2 wygląda na idealnego kandydata, bo jeden model obsługuje tekst i dźwięk w tej samej przestrzeni, więc zapytanie tekstowe może trafić w nagranie.
Problem widać dopiero w liczbach. Na zadaniu CREMA_D, które sprawdza rozpoznawanie emocji w mowie, model trafia w 19,7 proc. przypadków.
Ale pojawia się pytanie: czy informacja o emocji naprawdę nie istnieje w modelu, czy tylko nie dociera do wyjścia?
Odpowiedź brzmi: istnieje, tylko zostaje po drodze odfiltrowana. Na tym opiera się cała konstrukcja opisana niżej — po jej dodaniu ten sam zamrożony model osiąga na CREMA_D 40,16 proc.
Co dokładnie robi ta głowica?
Dodatek nazywa się embeddinggemma-2-nullspace-audio i nie zmienia ani jednej wagi modelu bazowego. Działa wyłącznie na wejściu dźwiękowym, a dla tekstu, obrazu i wideo ścieżka obliczeń pozostaje dokładnie ta sama co w oryginale.
Mechanizm ma trzy etapy. Najpierw z wieży audio, czyli 12-warstwowego enkodera Conformer, pobierane są dwie warstwy pośrednie zamiast samego wyjścia — warstwa 2 (średnia i odchylenie standardowe po czasie, 2048 wymiarów) oraz warstwa 6 (sama średnia, 1024 wymiary). Potem każdy z tych bloków zostaje zrzutowany przez zamrożoną macierz PCA do 128 wymiarów, a oba złączone w jeden wektor jednostkowy?wektor jednostkowy: wektor o długości 1, niosący wyłącznie kierunek, bez informacji o skali o 256 wymiarach. Na końcu ten wektor zostaje dodany do bazowego embeddingu o 768 wymiarach.
Wybór akurat warstw 2 i 6 nie jest przypadkowy. Zgodnie z analizami warstwowymi enkoderów mowy, na które powołuje się karta modelu, różne cechy dźwięku kulminują na różnych głębokościach. Wczesne warstwy niosą płeć mówiącego, barwę i wysokość głosu, a warstwy środkowe — emocję. Ostatnie warstwy, dostrojone do tekstu, tę informację odfiltrowują, bo do dopasowania dźwięku do opisu nie jest potrzebna.
To uproszczony schemat ścieżki obliczeń opisanej w karcie modelu, a nie pełny opis implementacji.
Dlaczego to nie psuje embeddingów tekstowych?
Tu leży najciekawsza część pomysłu. Model kończy się projekcją z 512 na 768 wymiarów, co oznacza, że wszystkie embeddingi tekstowe leżą w 512-wymiarowej podprzestrzeni wewnątrz 768 wymiarów. Pozostałe 256 kierunków nigdy nie jest używanych przez tekst.
Dokładnie w te nieużywane 256 kierunków wstrzykiwana jest informacja audio. Skoro są prostopadłe do przestrzeni tekstu, dodanie czegokolwiek wzdłuż nich nie zmienia ani jednego embeddingu tekstowego i nie może zmienić podobieństw tekst-tekst. To własność matematyczna, nie wynik empiryczny.
Pomiar na zadaniach wyszukiwania między modalnościami?wyszukiwania między modalnościami: wyszukiwanie, w którym zapytanie i wynik mają różne formy, na przykład tekst odnajduje nagranie to potwierdza. Na zbiorze Google SVQ, uśrednionym po 26 lokalizacjach językowych, wyniki przesuwają się o najwyżej około 0,3 punktu przy wyszukiwaniu dźwięk-tekst i około 0,05 punktu w drugą stronę.
Co znaczą te nazwy?
- Embedding — lista liczb opisująca treść nagrania lub zdania. Odpowiednik odcisku palca, po którym da się szukać rzeczy podobnych.
- Przestrzeń zerowa (null space) — zbiór kierunków, których dana operacja nigdy nie wykorzystuje. Można to porównać do nieużywanych kolumn w tabeli, do których wolno dopisać dane bez ruszania reszty.
- PCA — metoda znajdowania kilku kierunków, wzdłuż których dane najbardziej się różnią. Pozwala ścisnąć 2048 liczb do 128 bez gubienia tego, co istotne.
- MAEB — Massive Audio Embedding Benchmark, zestaw 30 zadań audio na platformie Hugging Face, mierzący jakość embeddingów dźwiękowych.
- Conformer — typ enkodera dźwięku łączący konwolucje z mechanizmem uwagi, tutaj użyty jako 12-warstwowa wieża audio.
Te elementy składają się w jedną sztuczkę: PCA wyciąga z warstw Conformera to, co MAEB mierzy, a przestrzeń zerowa daje miejsce, w którym da się to zapisać bez szkody dla reszty modelu.
Dlaczego nie wystarczy po prostu dotrenować modelu?
Najbardziej oczywiste podejście to dostrojenie wieży audio na zadaniach, które kuleją. Kosztuje to jednak czas na GPU, wymaga zbioru treningowego i przy każdej zmianie wag trzeba od nowa sprawdzić, czy model nie zepsuł sobie dopasowania tekstu do dźwięku.
Jest też drugi problem, trudniejszy. Taki model trafia zwykle do bazy wektorowej?bazy wektorowej: baza danych przechowująca embeddingi i wyszukująca po podobieństwie wektorów zamiast po dokładnym dopasowaniu, w której leżą już miliony gotowych embeddingów. Zmiana wag unieważnia je wszystkie, bo nowe wektory przestają być porównywalne ze starymi, więc całe archiwum trzeba przeliczyć od zera.
Głowica?Głowica: lekki moduł doklejany do wyjścia modelu, bez zmiany jego wag w przestrzeni zerowej omija oba problemy. Embeddingi tekstowe pozostają bit w bit takie same, więc tekstowa część bazy nie wymaga przeliczenia, a sam dodatek waży tyle co średniej wielkości zdjęcie. Jest też ograniczenie, którego nie ma w modelu bazowym — wektory audio wymagają pełnych 768 wymiarów i nie można ich skracać metodą Matryoshka do 512, 256 czy 128.
Czy to już działa?
Tak jako gotowy do pobrania model, nie jako potwierdzony wynik na oficjalnym leaderboardzie. Pliki i skrypt uruchomieniowy są publicznie dostępne na Hugging Face od 28 października 2026 r., a model da się uruchomić jedną komendą. Zgłoszenie dodające go do repozytorium MTEB, czyli PR #5775 utworzony 24 października 2026 r., w chwili sprawdzenia pozostawało otwarte i niescalone.
Karta modelu sama wskazuje dwa zastrzeżenia. Wariant metody oraz siła wstrzyknięcia zostały wybrane po obejrzeniu wyników testowych, więc liczby należy traktować jako optymistyczne. Część zadań wyraźnie traci — SIBFLEURS spada o 35,9 punktu procentowego, a NMSQAPairClassification o 19,5.
Dlaczego to ważne?
Wynik podważa założenie, że na benchmarkach embeddingów wygrywa się skalą. Różnica między 26. a 1. miejscem okazała się kwestią dostępu do informacji, którą model już posiadał, a nie jej braku. Dla zespołów działających na własnym sprzęcie oznacza to, że model poniżej miliarda parametrów bywa niedoszacowany, a tańszą ścieżką od wymiany modelu na większy może być zbadanie, co jego ostatnie warstwy wyrzucają.
| Model | Rozmiar | MAEB, tylko audio |
|---|---|---|
| EmbeddingGemma 2 z głowicą PCA | głowica 2,37 MB | 1. miejsce, wynik średni 54,82 |
| EmbeddingGemma 2 bez głowicy | bez dodatku | 26. miejsce, wynik średni 47,79 |
| Qwen2-Audio-7B | 8,40 mld parametrów | wyprzedzony przez wariant z głowicą |
| LCO-Embedding-Omni-7B | 8,93 mld parametrów | wyprzedzony przez wariant z głowicą |
Tabela: rozmiar a pozycja w części audio benchmarku MAEB.
Co dalej?
- Scalenie PR #5775 w repozytorium MTEB zdecyduje, czy pozycja pojawi się na oficjalnym leaderboardzie i czy liczby potwierdzi niezależne przeliczenie
- Karta modelu wskazuje, że siła wstrzyknięcia równa 1,0 była najwyższą przetestowaną wartością, więc optimum może leżeć wyżej i wymaga sprawdzenia
- Metoda opiera się wyłącznie na zamrożonych warstwach pośrednich, więc da się ją przenieść na inne wielomodalne modele embeddingowe z projekcją zwężającą wymiar
Źródła
- Hugging Face — BrunoHays/embeddinggemma-2-nullspace-audio
- Hugging Face — google/embeddinggemma-2
- GitHub — model: add BrunoHays/embeddinggemma-2-nullspace-audio (PR #5775)
- arXiv — Layer-wise Analysis of a Self-supervised Speech Representation Model
- arXiv — EmbeddingGemma: Powerful and Lightweight Text Representations





