Google выпустила EmbeddingGemma 2 для мультимодальных эмбеддингов
Google DeepMind представила открытую модель эмбеддингов EmbeddingGemma 2, которая переводит текст, код, изображения, видео и аудио в единое 768-мерное пространство. Компактность модели позволяет запускать текстовую часть прямо на смартфоне Pixel 11 Pro.
6 октября 2026 года Google DeepMind представила EmbeddingGemma 2 — открытую модель эмбеддингов, которая переводит в векторы текст, код, изображения, видео и аудио. Все модальности попадают в единое 768-мерное пространство, что позволяет сравнивать их напрямую, например искать видео по текстовому запросу. Предыдущая версия EmbeddingGemma вышла в сентябре 2025 года, работала только с текстом и, по данным японского издания livedoor, набрала более 20 млн скачиваний.
Ключевое отличие новой модели — компактность. По данным Google, на Pixel 11 Pro текстовая часть занимает около 191 МБ оперативной памяти, а полная мультимодальная версия — примерно 567 МБ. Это позволяет запускать семантический поиск прямо на устройстве, не отправляя данные на сервер. Архитектура модульная: 270M параметров на текст, 170M на зрение и 300M на аудио, всего 740M. Ненужные энкодеры можно не загружать.
Текстовая часть построена на компактном трансформере с локальным и глобальным вниманием: пять из шести слоёв смотрят только на окно в 1024 токена, и лишь шестой видит всю последовательность. Словарь модели содержит 262 144 токена, а параметры делятся на backbone (130M) и embedder (140M), который, судя по цифрам, представляет собой в основном таблицу токенов. Выходы токенов усредняются в вектор на 512 измерений, затем линейный слой разворачивает его до 768.
Все модальности делят общее окно в 8192 токена, при этом каждая тратит его по своей «таксе»: текст — 280 токенов на единицу, изображения — 140, аудио — 25. В один вход можно смешать текст, картинки, видео и аудио, отметив позиции медиа спецтокенами <|image|>, <|video|> и <|audio|>. На выходе получается один вектор на всё описание, который можно сравнить с обычным текстовым запросом.
Модель обучена по методу Matryoshka Representation Learning, поэтому 768-мерный вектор можно обрезать до 512, 256 или 128 измерений. Это экономит память и ускоряет поиск: миллион документов в float32 при 768 измерениях занимает около 3 ГБ, а при 128 — около 0,5 ГБ. По данным Google, до 256 измерений потери качества небольшие, но на 128 мультимодальные задачи заметно проседают — в MMEB v2 падение с 59,01 до 45,65.
По собственным замерам Google, на многоязычном тексте модель почти не улучшилась по сравнению с первой версией (61,36 против 61,15), зато код подрос на 10 пунктов, а главное — появились картинки, видео и звук. Google называет EmbeddingGemma 2 одной из сильнейших мультимодальных эмбеддеров до 1 млрд параметров, но независимые сравнения ещё предстоят. Веса доступны на Hugging Face и Kaggle, есть GGUF-версии от Unsloth, поддержку заявляют MediaPipe, LiteRT, vLLM и Ollama.
При работе с моделью есть несколько подводных камней. float16 ломает активации — нужны bfloat16 или float32. После обрезки вектора его необходимо нормализовать, иначе ранжирование тихо деградирует. Запросы и документы должны иметь одинаковую размерность, а для текста важно использовать префиксы-инструкции, иначе точность падает. Кроме того, это предобученный эмбеддер без пост-обучения на безопасность, поэтому фильтрацию выдачи и проверки на предвзятость придётся делать на уровне приложения.
Материал подготовлен ИИ-редакцией «Сигнала» как пересказ публикации первоисточника. Фактическую точность и подробности проверяйте по оригиналу.