MetaEmbed: Nowe podejście Meta AI do multimodalnego wyszukiwania z możliwością skalowania w czasie rzeczywistym
Meta Superintelligence Labs, dział Meta AI, wprowadza na rynek MetaEmbed, nowatorskie rozwiązanie w dziedzinie multimodalnego wyszukiwania. Technologia ta umożliwia precyzyjne dostrajanie systemu w czasie rzeczywistym, oferując unikalną kontrolę nad kompromisem między dokładnością, opóźnieniem i rozmiarem indeksu. Kluczowym elementem jest możliwość wyboru liczby tzw. Meta Tokenów, zarówno po stronie zapytania, jak i kandydata, co pozwala na dynamiczne skalowanie systemu bez potrzeby jego ponownego uczenia.
Jak działa MetaEmbed?
System opiera się na koncepcji Matryoshka Multi-Vector Retrieval (MMR). Meta Tokeny są zorganizowane w sposób hierarchiczny, gdzie każdy prefiks jest niezależnie rozróżnialny. Podczas wnioskowania budżet wyszukiwania jest określany przez krotkę ((r_q, r_c)), która definiuje liczbę Meta Tokenów używanych po stronie zapytania i kandydata. Przykładowo, możliwe konfiguracje to ((1,1), (2,4), (4,8), (8,16), (16,64)). Punktacja wykorzystuje mechanizm MaxSim, podobny do tego w ColBERT, bazujący na interakcji między wektorami Meta Tokenów po normalizacji L2. Pozwala to na zachowanie szczegółowości i uwzględnianie niuansów multimodalnych, przy jednoczesnym utrzymaniu niewielkiego rozmiaru zbioru wektorów.
Wyniki benchmarków
MetaEmbed został przetestowany na dwóch wymagających zestawach danych: MMEB (Massive Multimodal Embedding Benchmark) i ViDoRe v2 (Visual Document Retrieval). MMEB koncentruje się na wyszukiwaniu w oparciu o różnorodne modalności, natomiast ViDoRe v2 symuluje realistyczne zapytania dotyczące dokumentów wizualnych. W teście na MMEB, MetaEmbed z wykorzystaniem modeli Qwen2.5-VL osiągnął następujące wyniki dla największego budżetu ((16,64)): 3B = 69.1, 7B = 76.6, 32B = 78.7. Uzyskane wyniki pokazują monotoniczny wzrost wydajności wraz ze zwiększaniem budżetu, a różnice stają się bardziej widoczne przy większych modelach. Na ViDoRe v2, MetaEmbed poprawia średni nDCG@5 w porównaniu z podejściem opartym na pojedynczym wektorze i naiwnym rozwiązaniem multi-wektorowym o stałej długości, przy identycznym procesie trenowania. Co istotne, przewaga MetaEmbed staje się bardziej wyraźna przy większych budżetach. Dodatkowe testy potwierdziły, że MMR umożliwia skalowanie w czasie rzeczywistym bez pogorszenia jakości przy pełnym budżecie.
Efektywność i pamięć
Badania dotyczące kosztów obliczeniowych i zużycia pamięci indeksu przeprowadzono na platformie A100, przy założeniu 100 tysięcy kandydatów na zapytanie i wielkości partii punktującej równej 1000. Wraz ze wzrostem budżetu z ((1,1)) do ((16,64)), koszt punktowania wzrasta z 0.71 GFLOPs do 733.89 GFLOPs, opóźnienie punktowania z 1.67 ms do 6.25 ms, a pamięć indeksu (bfloat16) z 0.68 GiB do 42.72 GiB. Autorzy podkreślają, że kodowanie zapytania dominuje w całkowitym opóźnieniu. Przykładowo, kodowanie zapytania obrazkowego zawierającego 1024 tokeny wymaga 42.72 TFLOPs i zajmuje 788 ms, co jest wartością o kilka rzędów wielkości większą niż punktowanie dla małych zbiorów kandydatów. W związku z tym, kluczowe jest optymalizowanie przepustowości enkodera i zarządzanie wzrostem indeksu poprzez wybór zrównoważonych budżetów lub przenoszenie indeksów do pamięci CPU w razie potrzeby.
Porównanie z innymi metodami
- Podejście oparte na pojedynczym wektorze (CLIP-style) charakteryzuje się minimalnym rozmiarem indeksu i szybkim punktowaniem, ale ma ograniczoną wrażliwość na instrukcje i szczegóły kompozycyjne. MetaEmbed poprawia precyzję dzięki wykorzystaniu małego, kontekstowego zbioru multi-wektorowego, zachowując niezależne kodowanie.
- Naiwne podejście multi-wektorowe (ColBERT-style) oferuje bogate szczegóły na poziomie tokenów, ale wiąże się z nieakceptowalnym rozmiarem indeksu i kosztami obliczeniowymi, szczególnie gdy obie strony (zapytanie i kandydat) zawierają obrazy. Meta Tokeny w MetaEmbed redukują liczbę wektorów o kilka rzędów wielkości i umożliwiają budżetowane MaxSim.
Kluczowe wnioski
- Jeden model, wiele budżetów: Trenuj raz, wybieraj ((r_q, r_c)) w czasie obsługi, dostosowując kompromis między odzyskiwaniem a kosztem. Niskie budżety nadają się do wstępnego wyszukiwania, a wysokie budżety można zarezerwować dla etapów ponownego rankingu.
- Encoder jest wąskim gardłem: Optymalizuj tokenizację obrazu i przepustowość VLM; punktowanie pozostaje lekkie dla typowych rozmiarów zbiorów kandydatów.
- Pamięć skaluje się liniowo z budżetem: Planuj rozmieszczenie indeksu i sharding (GPU vs. CPU) wokół wybranego ((r_q, r_c)).
MetaEmbed stanowi znaczący krok naprzód w dziedzinie multimodalnego wyszukiwania, oferując unikalną kontrolę nad wydajnością i kosztami systemu bez konieczności jego ponownego trenowania. To obiecujące rozwiązanie dla zespołów pracujących nad stosem do wyszukiwania, które muszą łączyć szybkie wyszukiwanie i precyzyjne ponowne rankingowanie w scenariuszach obejmujących połączenia obraz-tekst i dokumenty wizualne.
