/ Модель

Характеристики

Контекст
2 048 токенов
Лицензия
Apache 2.0
Архитектура
nomic_bert · MoE
Базовая модель
nomic-embed-text-v2-moe-unsupervised
Библиотека
sentence-transformers
Опубликована
7 фев 2025

nomic-embed-text-v2-moe

ЭмбеддингиТекст → embedding9 профессий

Многоязычная MoE-модель Nomic AI, создающая текстовые эмбеддинги для семантического поиска и извлечения документов.

1,2 млнскачиваний за 30 дней505лайковвеса обновлены1 апр 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки26

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

  • NusaTranslationBitextMining

    main_score

    Результат

    0,39

    MTEB

    Публичная таблицаревизия совпадает

  • TMD

    main_score

    Результат

    0,0919

    MTEB

    Публичная таблицаревизия совпадает

  • EstonianValenceClassification

    main_score

    Результат

    0,4131

    MTEB

    Публичная таблицаревизия совпадает

  • IndicGenBenchFloresBitextMining

    main_score

    Результат

    0,9697

    Общий результат 0,9773Общий результат 0,9761Общий результат 0,9585
    MTEB

    Публичная таблицаревизия совпадает

  • SIB200ClusteringS2S

    main_score

    Результат

    0,0721

    Общий результат 0,425Общий результат 0,4047Общий результат 0,3819
    MTEB

    Публичная таблицаревизия совпадает

  • MassiveIntentClassification

    main_score

    Результат

    0,4948

    Общий результат 0,6844Общий результат 0,6275Общий результат 0,6039
    MTEB

    Публичная таблицаревизия совпадает

  • SemRel24STS

    main_score

    Результат

    0,8511

    Общий результат 0,57
    MTEB

    Публичная таблицаревизия совпадает

  • WikipediaRetrievalMultilingual

    main_score

    Результат

    0,8915

    MTEB

    Публичная таблицаревизия совпадает

  • IndicCrosslingualSTS

    main_score

    Результат

    0,4071

    Общий результат 0,5869
    MTEB

    Публичная таблицаревизия совпадает

  • PawsXPairClassification

    main_score

    Результат

    0,5155

    Общий результат 0,5524
    MTEB

    Публичная таблицаревизия совпадает

  • PlscClusteringP2P.v2

    main_score

    Результат

    0,7151

    MTEB

    Публичная таблицаревизия совпадает

  • EPBench

    main_score

    Результат

    0,6719

    Общий результат 0,8955
    MTEB

    Публичная таблицаревизия совпадает

  • MIRACLReranking

    main_score

    Результат

    0,5261

    Общий результат 0,5173
    MTEB

    Публичная таблицаревизия совпадает

  • MemGovern

    main_score

    Результат

    0,8775

    Общий результат 0,9691
    MTEB

    Публичная таблицаревизия совпадает

  • Tatoeba

    main_score

    Результат

    0,6921

    Общий результат 0,6848
    MTEB

    Публичная таблицаревизия совпадает

  • ScalaClassification

    main_score

    Результат

    0,5065

    MTEB

    Публичная таблицаревизия совпадает

  • SlovakSTS

    main_score

    Результат

    0,7775

    MTEB

    Публичная таблицаревизия совпадает

  • LEMBPasskeyRetrieval

    main_score

    Результат

    0,2

    MTEB

    Публичная таблицаревизия совпадает

  • LoCoMo

    main_score

    Результат

    0,3274

    MTEB

    Публичная таблицаревизия совпадает

  • NusaParagraphEmotionClassification

    main_score

    Результат

    0,4324

    MTEB

    Публичная таблицаревизия совпадает

  • MLQARetrieval

    main_score

    Результат

    0,5868

    Общий результат 0,8452Общий результат 0,4569
    MTEB

    Публичная таблицаревизия совпадает

  • NorwegianCourtsBitextMining

    main_score

    Результат

    0,9371

    MTEB

    Публичная таблицаревизия совпадает

  • XNLI

    main_score

    Результат

    0,6489

    MTEB

    Публичная таблицаревизия совпадает

  • STS22.v2

    main_score

    Результат

    0,7506

    MTEB

    Публичная таблицаревизия совпадает

  • WikiClusteringP2P.v2

    main_score

    Результат

    0,2641

    MTEB

    Публичная таблицаревизия совпадает

  • EnglishFinance2Retrieval

    main_score

    Результат

    0,4992

    MTEB

    Публичная таблицаревизия совпадает

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

nomic-embed-text-v2-moe — многоязычная модель текстовых эмбеддингов от Nomic AI для поиска и сопоставления текстов. Она предназначена для семантического поиска, в том числе в системах RAG, где векторные представления документов и запросов используются для извлечения релевантных материалов.

Модель основана на архитектуре NomicBert с разреженной смесью экспертов: 475 млн параметров всего, около 305 млн активны при инференсе, восемь экспертов с маршрутизацией top-2. Она формирует эмбеддинги размерностью от 256 до 768 благодаря Matryoshka-представлениям; README указывает максимальную длину входа 512 токенов, а метаданные — контекст 2048 токенов. Поддерживает множество языков, включая русский, и обучалась на более чем 1,6 млрд пар текстов.

Модель заявлена как конкурентоспособная на многоязычных задачах поиска, а сокращение размерности позволяет уменьшить хранение эмбеддингов с небольшим снижением качества. Для запросов и документов следует использовать префиксы search_query: и search_document:. Ограничения: качество может различаться между языками, а MoE-архитектура может требовать больше ресурсов, чем плотные модели; для пользовательской реализации архитектуры при загрузке через Transformers требуется trust_remote_code=True. Лицензия — Apache-2.0.

Сценарии применения

  • семантический поиск по многоязычным документам
  • поиск релевантных фрагментов для RAG
  • сопоставление пользовательского запроса с документами
  • дедупликация и кластеризация текстов по эмбеддингам

Ограничения

Качество может различаться между языками, а MoE-архитектура может предъявлять более высокие требования к ресурсам, чем плотные модели. При загрузке через Transformers для пользовательской архитектуры требуется trust_remote_code=True.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

nomic-embed-text-v2-moe: Multilingual Mixture of Experts Text Embeddings

Blog | Technical Report | AWS SageMaker | Atlas Embedding and Unstructured Data Analytics Platform

This model was presented in the paper Training Sparse Mixture Of Experts Text Embedding Models.

Model Overview

nomic-embed-text-v2-moe is a SoTA multilingual MoE text embedding model that excels at multilingual retrieval:

  • High Performance: SoTA Multilingual performance compared to ~300M parameter models, competitive with models 2x in size
  • Multilinguality: Supports ~100 languages and trained on over 1.6B pairs
  • Flexible Embedding Dimension: Trained with Matryoshka Embeddings with 3x reductions in storage cost with minimal performance degradations
  • Fully Open-Source: Model weights, code, and training data (see code repo) released
ModelParams (M)Emb DimBEIRMIRACLPretrain DataFinetune DataCode
Nomic Embed v230576852.8665.80✅✅✅
mE5 Base27876848.8862.30❌❌❌
mGTE Base30576851.1063.40❌❌❌
Arctic Embed v2 Base30576855.4059.90❌❌❌
BGE M3568102448.8069.20❌✅❌
Arctic Embed v2 Large568102455.6566.00❌❌❌
mE5 Large560102451.4066.50❌❌❌

Model Architecture

  • Total Parameters: 475M
  • Active Parameters During Inference: 305M
  • Architecture Type: Mixture of Experts (MoE)
  • MoE Configuration: 8 experts with top-2 routing
  • Embedding Dimensions: Supports flexible dimension from 768 to 256 through Matryoshka representation learning
  • Maximum Sequence Length: 512 tokens
  • Languages: Supports dozens of languages (see Performance section)

Paper Abstract

Transformer-based text embedding models have improved their performance on benchmarks like MIRACL and BEIR by increasing their parameter counts. However, this scaling approach introduces significant deployment challenges, including increased inference latency and memory usage. These challenges are particularly severe in retrieval-augmented generation (RAG) applications, where large models' increased memory requirements constrain dataset ingestion capacity, and their higher latency directly impacts query-time performance. While causal language models have addressed similar efficiency challenges using Mixture of Experts (MoE) architectures, this approach hasn't been successfully adapted to the general text embedding setting. In this paper, we introduce Nomic Embed v2, the first general purpose MoE text embedding model. Our model outperforms models in the same parameter class on both monolingual and multilingual benchmarks while also maintaining competitive performance with models twice its size. We open-source all code, models, and evaluation data to ensure full reproducibility of our training pipeline at https://github.com/nomic-ai/contrastors.

Usage Guide

Installation

The model can be used through SentenceTransformers and Transformers.

For best performance on GPU, please install

pip install torch transformers einops git+https://github.com/nomic-ai/megablocks.git

[!IMPORTANT] Important! The text prompt must include a task instruction prefix, instructing the model which task is being performed.

Please use search_query: before your queries/questions, and search_document: before your documents.

Transformers

If using Transformers, make sure to prepend the task instruction prefix.

import torch
import torch.nn.functional as F
from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("nomic-ai/nomic-embed-text-v2-moe")
model = AutoModel.from_pretrained("nomic-ai/nomic-embed-text-v2-moe", trust_remote_code=True)

sentences = ['search_document: Hello!', 'search_document: ¡Hola!']

def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0]
    input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
    return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)

encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
model.eval()
with torch.no_grad():
    model_output = model(**encoded_input)
embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
embeddings = F.normalize(embeddings, p=2, dim=1)
print(embeddings.shape)
# torch.Size([2, 768])

similarity = F.cosine_similarity(embeddings[0], embeddings[1], dim=0)
print(similarity)
# tensor(0.9118)

For truncation, you can trucate before applying normalization

+ embeddings = embeddings[:, :matryoshka_dim]
embeddings = F.normalize(embeddings, p=2, dim=1)

SentenceTransformers

With SentenceTransformers, you can specify the prompt_name as either "query" or "passage", and the task instruction will be included automatically.

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("nomic-ai/nomic-embed-text-v2-moe", trust_remote_code=True)
sentences = ["Hello!", "¡Hola!"]
embeddings = model.encode(sentences, prompt_name="passage")
print(embeddings.shape)
# (2, 768)

similarity = model.similarity(embeddings[0], embeddings[1])
print(similarity)
# tensor([[0.9118]])

For truncation/Matryoshka embeddings, you can specify truncate_dim and use the model similarly

model = SentenceTransformer("nomic-ai/nomic-embed-text-v2-moe", trust_remote_code=True, truncate_dim=256)
...

Performance

nomic-embed-text-v2-moe performance on BEIR and MIRACL compared to other open-weights embedding models:

image/png

nomic-embed-text-v2-moe performance on BEIR at 768 dimension and truncated to 256 dimensions:

image/png

Best Practices

  • Add appropriate prefixes to your text:
    • For queries: "search_query: "
    • For documents: "search_document: "
  • Maximum input length is 512 tokens
  • For optimal efficiency, consider using the 256-dimension embeddings if storage/compute is a concern

Limitations

  • Performance may vary across different languages
  • Resource requirements may be higher than traditional dense models due to MoE architecture
  • Must use trust_remote_code=True when loading the model to use our custom architecture implementation

Training Details

image/png

  • Trained on 1.6 billion high-quality pairs across multiple languages
  • Uses consistency filtering to ensure high-quality training data
  • Incorporates Matryoshka representation learning for dimension flexibility
  • Training includes both weakly-supervised contrastive pretraining and supervised finetuning

For more details, please check out the blog post and technical report.

Join the Nomic Community

Citation

If you find the model, dataset, or training code useful, please cite our work

@misc{nussbaum2025trainingsparsemixtureexperts,
      title={Training Sparse Mixture Of Experts Text Embedding Models}, 
      author={Zach Nussbaum and Brandon Duderstadt},
      year={2025},
      eprint={2502.07972},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2502.07972}, 
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
NomicBertModel
Ревизия весов
1066b65

0 моделей