EmbeddingGemma: 308M-мерный on-device текстовый эмбеддинг от Google с топовыми результатами на MTEB

Что такое EmbeddingGemma

EmbeddingGemma — компактная открытая модель текстовых эмбеддингов от Google, оптимизированная для работы на устройстве. Модель сочетает эффективность и высокое качество поиска, позволяя выполнять вычисления локально на мобильных устройствах и в офлайн-сценариях.

Компактность и низкая задержка

С объёмом всего 308 миллионов параметров EmbeddingGemma достаточно лёгкая, чтобы работать на потребительских устройствах и в условиях отсутствия подключения к сети. Несмотря на небольшой размер, она показывает конкурентный уровень качества поиска по сравнению с гораздо более крупными моделями. Время инференса низкое — менее 15 мс для 256 токенов на EdgeTPU — что делает модель пригодной для реального времени и интерактивных приложений.

Многоязычность и результаты на MTEB

Модель обучалась более чем на 100 языках и заняла первое место в рейтинге Massive Text Embedding Benchmark (MTEB) среди моделей с объёмом параметров до 500M. Особенно сильны её возможности для кросс-лингвального поиска и семантического поиска, в ряде задач она соперничает с моделями почти вдвое большего размера.

Архитектура и характеристики эмбеддингов

EmbeddingGemma использует энкодер на базе Gemma 3 с операцией mean pooling. В отличие от мультимодальных версий Gemma 3, где применяются двунаправленные attention-слои для изображений, здесь используется стандартный стек трансформеров с self-attention по всей последовательности — типичное решение для текстовых эмбеддингов. Модель выдаёт векторы размерности 768 и поддерживает последовательности до 2048 токенов, что удобно для RAG и поиска по длинным документам. Шаг mean pooling обеспечивает фиксированную длину вектора независимо от длины входа.

Matryoshka Representation Learning (MRL)

EmbeddingGemma реализует Matryoshka Representation Learning (MRL), что позволяет уменьшать размер эмбеддингов с 768 до 512, 256 или 128 измерений с минимальной потерей качества. Это даёт разработчикам возможность настраивать компромисс между объёмом хранения/вычислений и точностью поиска без дообучения.

Оффлайн и конфиденциальность

Модель специально спроектирована для работы на устройстве и офлайн-режимов. Поскольку она использует тот же токенизатор, что и Gemma 3n, эмбеддинги можно напрямую применять в компактных локальных RAG-пайплайнах, что улучшает приватность за счёт отказа от облачных вызовов.

Интеграции и инструменты

EmbeddingGemma интегрируется с популярными инструментами и фреймворками, что облегчает внедрение:

Такое окружение позволяет быстро встроить модель в существующие рабочие процессы.

Практическая реализация

(1) Load and Embed

from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-300m")
emb = model.encode(["example text to embed"])

(2) Adjust Embedding Size Используйте полные 768 измерений для максимальной точности или усеките до 512/256/128 для экономии памяти и ускорения поиска.

(3) Integrate into RAG Запустите локальный similarity search (косинусная схожесть) и передайте лучшие результаты в Gemma 3n для генерации. Это позволяет построить полностью офлайн-пайплайн RAG.

Зачем это важно

EmbeddingGemma показывает, что небольшие модели эмбеддингов могут достигать уровня лучших в своём классе по задачам retrieval, оставаясь при этом достаточно лёгкими для on-device развёртывания. Модель сочетает эффективность, многоязычную точность, регулируемые размеры эмбеддингов и преимущества приватности для офлайн-пайплайнов. Открытые веса и широкая поддержка экосистемы делают её доступной для разработчиков.