Google DeepMind выпустила EmbeddingGemma 2 — открытую модель для построения эмбеддингов. Она приводит текст, код, изображения, видео и звук к общему векторному пространству и может работать прямо на устройстве. Разбираю, что это меняет для поиска и RAG и какие у модели есть ограничения.

Семантический поиск по разным форматам обычно требует нескольких моделей. Например, для поиска по видео сначала распознают речь или описывают кадры, а затем отдельная модель превращает полученный текст в эмбеддинги. Каждый дополнительный этап увеличивает задержку, расход памяти и число возможных ошибок. Если обработка идёт в облаке, туда же приходится отправлять данные.

EmbeddingGemma 2 сокращает эту цепочку. Одна компактная модель приводит текст, код, изображения, видео и звук к общему 768-мерному пространству. Модель выпущена 6 октября 2026 года, распространяется по лицензии Apache 2.0 и построена на архитектуре Gemma 4.

Одна модель вместо нескольких

Полная конфигурация содержит 740 млн параметров и состоит из нескольких модулей. Текстовая часть отвечает за текст и код и содержит 270 млн параметров. К ней можно подключить модуль для изображений на 170 млн параметров и модуль для звука на 300 млн. Их можно загружать отдельно: если нужен только поиск по тексту, вся мультимодальная конфигурация не требуется.

Все данные попадают в одно 768-мерное пространство. Поэтому текстовый запрос можно напрямую сравнивать с вектором изображения или звука. Одна модель может искать фотографию по текстовому описанию или нужный момент в видео по голосовому запросу. Контекст составляет 8192 токена, у первой EmbeddingGemma было 2048. Модель обрабатывает до 327 секунд аудио, то есть примерно пять с половиной минут.

Результаты бенчмарков EmbeddingGemma 2 в официальной карточке модели Google: сравнение качества для текста, изображений, видео и звука с EmbeddingGemma 1

Главная ставка — работа без облака

Google показывает работу модели на Pixel 11 Pro. Текстовая часть занимает около 191 МБ активной памяти, а полная мультимодальная конфигурация после квантизации, то есть хранения весов с меньшей точностью, — около 567 МБ. Это позволяет запускать поиск прямо на устройстве, не отправляя пользовательские данные на сторонние серверы и не полагаясь на постоянное подключение к интернету.

Ещё одна полезная возможность — Matryoshka Representation Learning. Вектор из 768 измерений можно сокращать до 512, 256 или 128, сохраняя рабочее представление данных. Миллион векторов размерностью 768 в bfloat16 занимает около 1,5 ГБ, а размерностью 128 — около 250 МБ. Для крупных векторных баз это примерно шестикратная экономия места и меньшая нагрузка при поиске.

Google также показывает zero-shot intent routing — маршрутизацию запросов без дополнительного обучения. Модель сопоставляет запрос пользователя с описаниями доступных действий и выбирает подходящее. Здесь EmbeddingGemma 2 используется уже не для поиска, а для маршрутизации внутри приложения.

Что это даёт на практике

Самый понятный сценарий — локальный мультимодальный поиск. Пользователь вводит текстовый запрос, а приложение ищет по фотографиям, видео и аудио прямо на устройстве, без загрузки личных файлов в облако. Другой вариант — единая база из документов, изображений и видео, поверх которой работает RAG. То же векторное пространство можно использовать и для маршрутизации запросов внутри агента или приложения.

Главное здесь в том, что мультимодальный поиск можно собрать на одной компактной модели. Она распространяется по лицензии Apache 2.0 и поддерживается через sentence-transformers, MediaPipe Tasks и LiteRT. Google также готовит интеграцию с ML Kit на Android.

О чём стоит помнить до первого запуска

Сокращение вектора до 128 измерений заметно снижает качество мультимодального поиска. По оценкам Google, для изображений, видео и речи результат падает примерно до 75% от исходного уровня, тогда как текст и код сохраняют около 90%. Поэтому для изображений и звука Google рекомендует не опускаться ниже 256 измерений.

Оценка качества при усечении размерности векторов MRL в документации Google: сохранение метрик на размерностях 768d, 512d, 256d и 128d

Есть и технические ограничения. Модель рассчитана на bfloat16 или float32; использование float16 может привести к некорректным векторам без явной ошибки. Аудио принимается в моно с частотой 16 кГц. Для видео по умолчанию берётся один кадр в секунду. Общий контекст в 8192 токенов делят все модальности, поэтому при смешанном вводе доступный объём для каждой из них уменьшается.

Кому пригодится

Важно не путать её с Gemini Embedding 2. Это более крупная мультимодальная модель эмбеддингов, доступная через Gemini API. EmbeddingGemma 2 рассчитана на открытые веса, локальный запуск и устройства с ограниченными ресурсами. Это разные сценарии использования.

Модель особенно интересна разработчикам мобильных приложений с локальным поиском по фото, видео и аудио, командам, которые собирают собственный RAG на устройствах с ограниченными ресурсами, и тем, кому нужна быстрая маршрутизация запросов без отдельного классификатора. Если вы уже запускали BGE-M3 на своём сервере, EmbeddingGemma 2 решает немного другую задачу: её сильная сторона — локальная работа на устройствах и офлайн-сценарии.

Проверять модель лучше на небольшом наборе собственных файлов. Постройте для них эмбеддинги, прогоните реальные запросы и сравните результаты. Отдельно стоит измерить расход памяти в текстовой конфигурации и проверить, насколько меняется качество при сокращении векторов до 256 измерений.

Векторный поиск переезжает на устройство

Здесь важен не сам факт выхода ещё одной модели эмбеддингов, а то, где теперь можно запускать векторный поиск. Если мультимодальная модель помещается примерно в полгигабайта памяти на телефоне, локальный поиск по личным фотографиям, видео и заметкам становится гораздо доступнее. Облачный поиск никуда не исчезнет, но часть данных, которые пользователь не хочет отправлять на сервер, можно будет индексировать прямо на устройстве.

Ссылки

Ссылки