# Qwen3 Embedding: выбрать 0.6B, 4B или 8B для локального поиска

Источник: https://modelium.tech/zhurnal/qwen3-embedding/

Qwen3 Embedding — семейство текстовых моделей для векторного поиска: автор опубликовал 0.6B, 4B и 8B с максимальной размерностью вектора 1024, 2560 и 4096 соответственно. Начните с 0.6B и сравните с более крупным вариантом на одинаковых русских вопросах и документах; рост размера сам по себе не доказывает выигрыш на вашей задаче. Вопрос кодируется с инструкцией, документы — без неё. Modelium не запускал эти веса и не измерял качество, скорость или необходимую RAM/VRAM.

Данные проверены 2 октября 2026 года по ревизиям Qwen 0.6B `97b0c614`, 4B `5cf2132a`, 8B `1d8ad4ca`. Поисковая частотность в России не измерялась. Modelium не запускал веса, не проверял время отклика или расход памяти.

## Что такое Qwen3 Embedding и когда он нужен?

Qwen3 Embedding кодирует **текст** в вектор для поиска похожих фрагментов: это звено retrieval в RAG, а не чат-модель, которая сама отвечает по документу. Авторы выпустили три отдельных репозитория — `Qwen/Qwen3-Embedding-0.6B`, `Qwen/Qwen3-Embedding-4B` и `Qwen/Qwen3-Embedding-8B` [s1](#src-s1) [s2](#src-s2) [s3](#src-s3). В прикладном сценарии вопрос и фрагменты документов превращаются в векторы, после чего поиск отбирает фрагменты; отдельная генеративная модель может формулировать ответ с проверяемыми ссылками на исходный документ. Для задачи с артикулами и номерами одного смыслового поиска часто недостаточно: сопоставьте его с [гибридным поиском](/zhurnal/gibridnyy-poisk-rag/).

Qwen заявляет поддержку более 100 языков и публикует оценки мультиязычных тестов [s6](#src-s6). Это **заявления автора**, не результат проверки русского языка в вашем каталоге, договорах или внутренней базе знаний. Размер модели и положение в авторском рейтинге не назначают победителя на конкретной задаче.

## Как выбрать между 0.6B, 4B и 8B?

- **0.6B** — удобный *кандидат для первого измерения*, а не гарантированно достаточный размер. По карточке максимум 1024 измерения вектора; опубликованы основные веса и отдельный официальный GGUF-репозиторий с форматами f16 и Q8_0 [s1](#src-s1) [s5](#src-s5). Для GGUF автор приводит путь через `llama.cpp` с режимом `--embedding --pooling last` [s5](#src-s5). Поддержку конкретной версии runtime и фактическое потребление памяти проверяйте на своей машине: вес файла на диске не равен RAM/VRAM.

- **4B** — вектор до 2560 измерений; самостоятельный репозиторий и отдельный индекс с одной размерностью на все документы [s2](#src-s2). Этот вариант имеет смысл испытывать, если baseline 0.6B упускает нужные фрагменты и ваше оборудование выдерживает выбранный формат, длину контекста и параллельную нагрузку. Обещать фиксированный прирост на русском нельзя.

- **8B** — вектор до 4096 измерений; проверяйте лишь при подтверждённой потребности и доступном ресурсе, сопоставляя качество, задержку и расход памяти на тех же вопросах [s3](#src-s3). Результаты авторских MTEB-таблиц — не замена этой проверке [s6](#src-s6).

Карточки трёх моделей заявляют контекст **32K** [s1](#src-s1) [s2](#src-s2) [s3](#src-s3). При этом `config.json` 4B содержит `max_position_embeddings=40960` [s8](#src-s8): конфигурационное число не разрешает автоматически обещать рабочие 40K токенов или хорошее качество длинного русского документа. Разбивайте документ на осмысленные фрагменты и измеряйте качество поиска на реальной длине текста. Укороченная размерность вектора поддерживается по заявлению автора [s6](#src-s6), но при смене размерности, модели, нормализации или инструкции перестраивайте индекс и фиксируйте настройки, иначе сравнение будет некорректным.

## Как подготовить запрос и документы для retrieval?

В примере авторов на `SentenceTransformers` вопрос кодируется с `prompt_name="query"`, а документы — обычным `encode` без этого prompt [s1](#src-s1) [s6](#src-s6). Альтернативный авторский пример формирует строку `Instruct: ...` и новую строку `Query: ...` для вопроса; не добавляйте эту инструкцию к документам при обычном асимметричном поиске [s6](#src-s6). Сохраняйте конкретную формулировку инструкции рядом с SHA весов и параметрами индекса; изменение инструкции может менять порядок выдачи. Автор рекомендует формулировать инструкции на английском, ссылаясь на собственные эксперименты, но это **не независимый вывод** для русской выборки [s6](#src-s6).

Модуль `1_Pooling/config.json` у 0.6B включает **last-token pooling** и выключает mean/CLS; те же поля доступны в снимках модулей 4B/8B. Карточка GGUF прямо указывает `--pooling last` [s4](#src-s4) [s5](#src-s5). Не переносите настройки mean pooling от другой embedding-модели: вектор может иметь правильную длину, но не соответствовать авторскому способу получения. Для сравнений придерживайтесь нормализации и метода близости из выбранного рабочего пути [s1](#src-s1) [s6](#src-s6). Сам факт, что API выдал вектор нужной длины, ещё не означает правильный retrieval.

## Как запустить и проверить результат без подмены теста?

Для начальной проверки есть два документированных автором пути: модельные карточки показывают загрузку через Sentence Transformers, а карточка официального **0.6B GGUF** показывает `llama.cpp` в режиме embeddings [s1](#src-s1) [s5](#src-s5). Это документация автора, **не запуск Modelium**. Не предполагайте, что любой чат-сервер автоматически применяет query-instruction, last-token pooling и нужную нормализацию. [Гайд по vLLM Embeddings API](/zhurnal/vllm-embeddings-api/) объясняет структуру запроса и ответа, но совместимость выбранного Qwen3-репозитория в вашей версии vLLM проверяется отдельно.

- Подготовьте небольшой обезличенный набор русских документов с несколькими похожими, но неверными фрагментами. Запишите для каждого вопроса корректный `document_id`, идентификатор фрагмента и допустимые альтернативы *до* сравнения моделей. Не переносите закрытые тексты во внешний сервис ради теста.

- Для каждого размера отдельно постройте индекс: сохраните SHA репозитория, формат весов, runtime и версию, параметры разбиения, размерность, pooling и query-instruction. Кодируйте запрос и документ по соответствующему авторскому примеру [s1](#src-s1) [s2](#src-s2) [s3](#src-s3). Выход 1024-, 2560- и 4096-мерных конфигураций не смешивайте в одном векторном поле [s1](#src-s1) [s2](#src-s2) [s3](#src-s3).

- Сверьте долю размеченных фрагментов в первых результатах, ложные находки, задержку и реальный расход памяти **на своём железе**. Документация Sentence Transformers описывает `InformationRetrievalEvaluator` и метрики поиска; условия набора, топ-k и метод близости фиксируйте одинаковыми для всех вариантов [s7](#src-s7). Затем отдельно проверьте, цитирует ли генеративная модель именно найденный источник: retrieval и качество ответа — разные проверки.

Все три карточки размечены **Apache-2.0** [s1](#src-s1) [s2](#src-s2) [s3](#src-s3). Это метки опубликованных артефактов, а не юридическое заключение по вашим данным, коду runtime и зависимостям; проверьте условия фактически скачанного файла и вашей интеграции. Open weights не означают бесплатный сервер, разрешение на чужие документы или готовую изоляцию от сети.

**Следующий шаг:** [составьте протокол оценки RAG](/zhurnal/ocenka-kachestva-rag/) и сравните 0.6B с 4B/8B на одних и тех же русских вопросах. Если больший вариант не улучшает нужные находки при приемлемой задержке и расходе памяти, не выбирайте его из-за числа параметров.

## Источники

1. [Qwen — карточка Qwen3-Embedding-0.6B](https://huggingface.co/Qwen/Qwen3-Embedding-0.6B/blob/97b0c614be4d77ee51c0cef4e5f07c00f9eb65b3/README.md) — получено 2026-10-02
2. [Qwen — карточка Qwen3-Embedding-4B](https://huggingface.co/Qwen/Qwen3-Embedding-4B/blob/5cf2132abc99cad020ac570b19d031efec650f2b/README.md) — получено 2026-10-02
3. [Qwen — карточка Qwen3-Embedding-8B](https://huggingface.co/Qwen/Qwen3-Embedding-8B/blob/1d8ad4ca9b3dd8059ad90a75d4983776a23d44af/README.md) — получено 2026-10-02
4. [Qwen — модуль last-token pooling для 0.6B](https://huggingface.co/Qwen/Qwen3-Embedding-0.6B/blob/97b0c614be4d77ee51c0cef4e5f07c00f9eb65b3/1_Pooling/config.json) — получено 2026-10-02
5. [Qwen — официальный Qwen3-Embedding-0.6B-GGUF](https://huggingface.co/Qwen/Qwen3-Embedding-0.6B-GGUF/blob/370f27d7550e0def9b39c1f16d3fbaa13aa67728/README.md) — получено 2026-10-02
6. [QwenLM — Qwen3-Embedding: README на закреплённом commit](https://raw.githubusercontent.com/QwenLM/Qwen3-Embedding/44548aa5f0a0aed1c76d64e19afe47727a325b8f/README.md) — получено 2026-10-02
7. [Sentence Transformers — InformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html) — получено 2026-10-02
8. [Qwen — config.json Qwen3-Embedding-4B](https://huggingface.co/Qwen/Qwen3-Embedding-4B/blob/5cf2132abc99cad020ac570b19d031efec650f2b/config.json) — получено 2026-10-02
