# EmbeddingGemma 2 получила нативный MLX-путь для локального поиска на Mac

Источник: https://modelium.tech/zhurnal/embeddinggemma-2-mlx-vlm-local-multimodal-mac/

6 октября 2026 года в основную ветку MLX-VLM вошла поддержка EmbeddingGemma 2: локальный энкодер и процессор для текста, изображений, аудио, видео и смешанных запросов на Apple Silicon. Полный публичный BF16-чекпойнт уже доступен в mlx-community; есть и 8-битный вариант. Это изменение кода в main, а не выпущенный стабильный MLX-VLM 0.7.7. Численные сравнения с исходным PyTorch — данные разработчиков, не испытание Modelium и не замер качества поиска.

## Что изменилось 6 октября

В основную ветку **MLX-VLM** влит PR №2446 с реализацией EmbeddingGemma 2 для Apple Silicon: энкодер и собственный процессор принимают текст, изображения, аудио, видео и их сочетания, возвращая нормализованные векторы размерности 768. Merge-коммит `fec3f50379bb2cb0760ef3c8a68ebce9585e4d97` датирован 6 октября 2026 года. Это **код в main, версия в исходниках 0.7.7**, а не опубликованный стабильный релиз 0.7.7: последним проверенным GitHub release остаётся 0.7.6. Не переносите рецепт на установленную 0.7.6 без обновления реализации. [s1](#src-s1) [s2](#src-s2) [s3](#src-s3)

Для локального семантического поиска практический выигрыш — возможность индексировать разные типы контента в общем векторном пространстве на Mac, не отправляя запросы в облачный inference API. Исходная EmbeddingGemma 2 создана Google; это **новый MLX-путь для уже представленной модели**, а не новая базовая модель. В Google-карточке указаны текстовый блок и отдельно подключаемые зрительный и звуковой энкодеры, а также укороченные векторы 128/256/512 измерений. Для индекса и запроса выбирайте одну размерность и нормализуйте обрезанный вектор заново. [s4](#src-s4) [s2](#src-s2)

## Какие веса доступны и как начать

Публичный `mlx-community/embeddinggemma-2-bf16` при закреплённой ревизии `1a4ffddb7905d3f63486748deabe091a01fb6201` содержит `model.safetensors`, индекс весов, конфигурацию энкодеров и процессора. Карточка связывает конверсию с Google-ревизией `914f7f89142e33e77833254d9c9b90c3cef7303b`; оба репозитория маркированы **Apache-2.0**. Публичен и `mlx-community/embeddinggemma-2-8bit` с ревизией `7505ef2f8ddef45efef6d060865f27989b3c9cec`. Это открытые веса и разрешительная лицензия; реализация MLX-VLM отдельно распространяется по MIT. Размер файла весов не является требованием к RAM. [s4](#src-s4) [s5](#src-s5) [s6](#src-s6) [s7](#src-s7)

Для изучения API закрепите исходники MLX-VLM на указанном merge-коммите и используйте пример из `mlx_vlm/models/embedding_gemma2/README.md`: `mlx_vlm.load` получает модель и локальный процессор, `apply_chat_template(..., return_tensors="mlx")` готовит пакет, а `model(**inputs).text_embeds` возвращает векторы. В примерах разработчиков ID `nativ-community/embeddinggemma-2` сейчас недоступен без авторизации (HF API отвечает 401); **не копируйте этот ID как публичный рецепт**. Вместо него опубликован полный BF16-пакет `mlx-community/embeddinggemma-2-bf16` с `model_type=embedding_gemma2`, однако Modelium не выполнял запуск на Mac и не удостоверял совместимость этой подстановки end-to-end. Начните с text-only проверки на собственном устройстве, затем проверьте обработку изображения/аудио/видео и норму результата. Карточка конверсии написана для более ранней ветки с внешним `EmbeddingGemma2Processor` и предупреждает о несовместимости stock Transformers 5.18.0; в уже влитом PR реализован локальный процессор. Поэтому **закрепляйте именно ревизию реализации**, не смешивая инструкции разных коммитов. [s2](#src-s2) [s5](#src-s5) [s8](#src-s8)

Если нужен меньший файл весов, 8-bit конверсия имеет примерно 1,234 млрд байт против 1,489 млрд у BF16 по индексам моделей; это объём артефактов на диске, а не оценка оперативной памяти. Карточка сообщает, что 8-bit квантует текстовый энкодер и аудиопроекцию, оставляя другие части BF16. Для задач, где ранжирование чувствительно к малым разницам, сначала сравните на своём наборе BF16 и 8-bit. [s5](#src-s5) [s6](#src-s6)

## Что означают тесты разработчиков

По данным авторов PR, 363 теста процессора, 64 специализированных теста без Torch и девять ячеек ноутбука прошли; 51 видеосравнение на их проверенной конфигурации дало минимум косинусного сходства 0,999531 с FP32-эталоном. README указывает Apple M5 Max, MLX 0.32.3, stock Transformers 5.14.0 для локального процессора, а для эталона — предоставленную сборку Transformers 5.18.0.dev0 и FFmpeg 8.1.2. Для неподдерживаемых видеосборок предусмотрен fallback OpenCV: цвет и тайминг кадров могут отличаться. Это **численная близость в выбранных примерах**, а не независимый MTEB-результат или гарантия точности поиска на ваших данных; Modelium модель не тестировал. Авторы также предупреждают, что стандартная 4-bit конверсия не прошла их пороги точности — не выбирайте её только по размеру. [s1](#src-s1) [s2](#src-s2)

**Следующий шаг:** возьмите закреплённые коммит реализации и BF16-ревизию, соберите небольшой набор своих русскоязычных запросов и документов, затем проверьте совпадение размерностей, повторную нормализацию и качество top-k до перехода на 8-bit или мультимодальный индекс. Для выбора альтернативного локального runtime этой же модели см. отдельный материал о LiteRT-LM 0.18.0; возможности двух движков нельзя смешивать. [s2](#src-s2) [s9](#src-s9)

## Источники

1. [MLX-VLM PR #2446: EmbeddingGemma 2 support](https://github.com/Blaizzy/mlx-vlm/pull/2446) — получено 2026-10-07
2. [MLX-VLM EmbeddingGemma 2 README at merged commit fec3f503](https://github.com/Blaizzy/mlx-vlm/blob/fec3f50379bb2cb0760ef3c8a68ebce9585e4d97/mlx_vlm/models/embedding_gemma2/README.md) — получено 2026-10-07
3. [MLX-VLM latest published releases](https://github.com/Blaizzy/mlx-vlm/releases) — получено 2026-10-07
4. [Google EmbeddingGemma 2 at pinned HF revision](https://huggingface.co/google/embeddinggemma-2/tree/914f7f89142e33e77833254d9c9b90c3cef7303b) — получено 2026-10-07
5. [MLX community BF16 conversion and model card](https://huggingface.co/mlx-community/embeddinggemma-2-bf16/tree/1a4ffddb7905d3f63486748deabe091a01fb6201) — получено 2026-10-07
6. [MLX community 8-bit conversion and model card](https://huggingface.co/mlx-community/embeddinggemma-2-8bit/tree/7505ef2f8ddef45efef6d060865f27989b3c9cec) — получено 2026-10-07
7. [MLX-VLM MIT LICENSE at merged commit](https://github.com/Blaizzy/mlx-vlm/blob/fec3f50379bb2cb0760ef3c8a68ebce9585e4d97/LICENSE) — получено 2026-10-07
8. [MLX-VLM embedded EmbeddingGemma 2 processor source](https://github.com/Blaizzy/mlx-vlm/blob/fec3f50379bb2cb0760ef3c8a68ebce9585e4d97/mlx_vlm/models/embedding_gemma2/processing_embedding_gemma2.py) — получено 2026-10-07
9. [LiteRT-LM 0.18.0 release](https://github.com/google-ai-edge/LiteRT-LM/releases/tag/v0.18.0) — получено 2026-10-07
