/ Модель

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

Контекст
131 072 токена
Параметры
1,5 млрд
Лицензия
Apache 2.0
Архитектура
qwen2 · dense
Базовая модель
Qwen2.5-1.5B
Библиотека
sentence-transformers
Опубликована
19 ноя 2025

Qwen2.5-1.5B-Reasoning-Embedding

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

Мультиязычная модель эмбеддингов на базе Qwen2.5 для семантического поиска и сравнения текстов.

96скачиваний за 30 дней0лайковвеса обновлены1 фев 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

В подключённых источниках результатов для этой модели пока нет.

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

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

lucaswychan/Qwen2.5-1.5B-Reasoning-Embedding — мультиязычная модель эмбеддингов на базе плотной архитектуры Qwen2.5 с 1,5 млрд параметров, разработанная Lucas Wun Yu CHAN. Она дообучена контрастивным обучением для получения семантических представлений текста и оценки сходства предложений; поддерживает работу с длинным контекстом до 131 072 токенов. Модель предназначена для поиска семантически близких текстов, ранжирования кандидатов по сходству и использования в системах поиска и retrieval-augmented generation.

В README описана работа о влиянии reasoning-обучения RLVR на качество эмбеддингов: в оценках MTEB и BRIGHT устойчивого преимущества над базовыми моделями не обнаружено. Для использования указаны библиотеки Sentence Transformers и Transformers; требуется включить trust_remote_code. Модель распространяется по лицензии Apache-2.0.

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

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

Ограничения

По оценкам MTEB и BRIGHT, эмбеддинги, инициализированные reasoning-моделями RLVR, не показывают устойчивого преимущества над базовыми аналогами при одинаковом обучении. Для загрузки через Sentence Transformers или Transformers требуется trust_remote_code.

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

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

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

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

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

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

Открыть на Hugging Face

Do Reasoning Models Enhance Embedding Models?

Introduction

State-of-the-art embedding models are increasingly derived from decoder-only Large Language Model (LLM) backbones adapted via contrastive learning. Given the emergence of reasoning models trained via Reinforcement Learning with Verifiable Rewards (RLVR), a natural question arises: do enhanced reasoning translate to superior semantic representations when these models serve as embedding initializations? Contrary to expectation, our evaluation on MTEB and BRIGHT reveals a null effect: embedding models initialized from RLVR-tuned backbones yield no consistent performance advantage over their base counterparts when subjected to identical training recipes. To unpack this paradox, we introduce Hierarchical Representation Similarity Analysis (HRSA), a framework that decomposes similarity across representation, geometry, and function levels. HRSA reveals that while RLVR induces irreversible latent manifold's local geometry reorganization and reversible coordinate basis drift, it preserves the global manifold geometry and linear readout. Consequently, subsequent contrastive learning drives strong alignment between base- and reasoning-initialized models, a phenomenon we term Manifold Realignment. Empirically, our findings suggest that unlike Supervised Fine-Tuning (SFT), RLVR optimizes trajectories within an existing semantic landscape rather than fundamentally restructuring the landscape itself.

🚀 Quickstart

If you received the following error (or something like that):

[ERROR] `is_causal` is part of Qwen2Model.forward's signature, but not documented. Make sure to add it to the docstring of the function in /.../modeling_qwen2.py.

Just ignore it. It's even a good sign to indicate your success in setting up the bidirectional attention.

Sentence Transformers

Remember to set trust_remote_code=True.

# Requires transformers>=5.0.0.
# Requires sentence-transformers>=5.0.0

from sentence_transformers import SentenceTransformer

# Load the model
model = SentenceTransformer("lucaswychan/Qwen2.5-1.5B-Reasoning-Embedding", trust_remote_code=True, model_kwargs={"attn_implementation": "flash_attention_2", "device_map": "cuda"})

# The queries and documents to embed
queries = [
    "What is the capital of China?",
    "Explain gravity",
]
# No need to add prompt to the documents
documents = [
    "The capital of China is Beijing.",
    "Gravity is a force that attracts two bodies towards each other. It gives weight to physical objects and is responsible for the movement of planets around the sun.",
]

# Encode the queries and documents. Note that queries benefit from using a prompt
# Here we use the prompt called "query" stored under `model.prompts`, but you can
# also pass your own prompt via the `prompt` argument
query_embeddings = model.encode(queries, prompt_name="query")
document_embeddings = model.encode(documents)

# Compute the (cosine) similarity between the query and document embeddings
similarity = model.similarity(query_embeddings, document_embeddings)
print(similarity)

Transformers

Remember to set trust_remote_code=True.

# Requires transformers>=5.0.0.
# Requires sentence-transformers>=5.0.0

import torch.nn.functional as F

from torch import Tensor
from transformers import AutoTokenizer, AutoModel


def average_pool(last_hidden_states: Tensor,
                 attention_mask: Tensor) -> Tensor:
    last_hidden = last_hidden_states.masked_fill(~attention_mask[..., None].bool(), 0.0)
    return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None]

def get_detailed_instruct(task_description: str, query: str) -> str:
    return f'Instruct: {task_description}\nQuery: {query}'

# Each query must come with a one-sentence instruction that describes the task
task = 'Given a web search query, retrieve relevant passages that answer the query'

# The queries and documents to embed
queries = [
    get_detailed_instruct(task, "What is the capital of China?"),
    get_detailed_instruct(task, "Explain gravity"),
]
# No need to add prompt to the documents
documents = [
    "The capital of China is Beijing.",
    "Gravity is a force that attracts two bodies towards each other. It gives weight to physical objects and is responsible for the movement of planets around the sun.",
]

tokenizer = AutoTokenizer.from_pretrained("lucaswychan/Qwen2.5-1.5B-Reasoning-Embedding")
model = AutoModel.from_pretrained("lucaswychan/Qwen2.5-1.5B-Reasoning-Embedding", trust_remote_code=True, attn_implementation="flash_attention_2", device="cuda")

# Tokenize the input texts
query_inputs = tokenizer(queries, max_length=512, padding=True, truncation=True, return_tensors='pt').to(model.device)
document_inputs = tokenizer(documents, max_length=512, padding=True, truncation=True, return_tensors='pt').to(model.device)

# Run the forward pass for both of the inputs
query_outputs = model(**query_inputs)
document_outputs = model(**document_inputs)

# Pool the last hidden states with mean pooling
query_embeddings = average_pool(query_outputs.last_hidden_state, query_inputs['attention_mask'])
document_embeddings = average_pool(document_outputs.last_hidden_state, document_inputs['attention_mask'])

# normalize embeddings
query_embeddings = F.normalize(query_embeddings, p=2, dim=1)
document_embeddings = F.normalize(document_embeddings, p=2, dim=1)

scores = (query_embeddings @ document_embeddings.T) * 100
print(scores.tolist())

📚 Citation

If you have used our models and datasets, please cite our paper:

@misc{chan2026reasoningmodelsenhanceembedding,
      title={Do Reasoning Models Enhance Embedding Models?}, 
      author={Wun Yu Chan and Shaojin Chen and Huihao Jing and Kwun Hang Lau and Elton Chun-Chai Li and Zihao Wang and Haoran Li and Yangqiu Song},
      year={2026},
      eprint={2601.21192},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2601.21192}, 
}

📞 Contact

Lucas Wun Yu CHAN
lucaswychanlc@gmail.com / wychanbu@connect.ust.hk

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
Qwen2Model
Ревизия весов
2713198

0 моделей