/ Модель

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

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

KaLM-embedding-multilingual-mini-instruct-v2.5

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

Мультиязычная модель KaLM-Embedding-V2.5 преобразует тексты в векторы для семантического поиска, ранжирования и других задач сопоставления текстов.

3 688скачиваний за 30 дней68лайковвеса обновлены22 апр 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • LongMemEval

    main_score

    Результат

    0,6742

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

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

  • STS17

    main_score

    Результат

    0,8508

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

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

  • STS16

    main_score

    Результат

    0,8774

    MTEB

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

  • EPBench

    main_score

    Результат

    0,8741

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

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

  • MemGovern

    main_score

    Результат

    0,8681

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

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

  • DeepPlanning

    main_score

    Результат

    0,5097

    MTEB

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

  • TMD

    main_score

    Результат

    0,2652

    MTEB

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

  • TweetSentimentClassification

    main_score

    Результат

    0,5398

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

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

  • ATEC

    main_score

    Результат

    0,5245

    MTEB

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

  • CQADupstackPhysicsRetrieval

    main_score

    Результат

    0,5168

    MTEB

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

  • AmazonReviewsClassification

    main_score

    Результат

    0,6415

    MTEB

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

  • BiorxivClusteringS2S

    main_score

    Результат

    0,4275

    MTEB

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

  • MemBench

    main_score

    Результат

    0,3487

    MTEB

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

  • OnlineShopping

    main_score

    Результат

    0,9502

    MTEB

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

  • FEVER

    main_score

    Результат

    0,8789

    MTEB

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

  • KnowMeBench

    main_score

    Результат

    0,3687

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

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

  • ToxicConversationsClassification

    main_score

    Результат

    0,917

    MTEB

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

  • VideoRetrieval

    main_score

    Результат

    0,7644

    MTEB

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

  • Touche2020

    main_score

    Результат

    0,2894

    MTEB

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

  • StackExchangeClusteringP2P.v2

    main_score

    Результат

    0,5164

    MTEB

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

  • BQ

    main_score

    Результат

    0,7255

    MTEB

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

  • CQADupstackProgrammersRetrieval

    main_score

    Результат

    0,4925

    MTEB

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

  • TRECCOVID

    main_score

    Результат

    0,8298

    MTEB

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

  • CLSClusteringS2S

    main_score

    Результат

    0,6273

    MTEB

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

  • AmazonCounterfactualClassification

    main_score

    Результат

    0,9475

    MTEB

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

  • ThuNewsClusteringP2P

    main_score

    Результат

    0,8464

    MTEB

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

  • STS14

    main_score

    Результат

    0,8599

    MTEB

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

  • STS15

    main_score

    Результат

    0,9033

    MTEB

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

  • STS22.v2

    main_score

    Результат

    0,7269

    MTEB

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

  • NovelQA

    main_score

    Результат

    0,2043

    MTEB

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

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

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

KaLM-Embedding-V2.5 — компактная мультиязычная модель эмбеддингов семейства KaLM, разработанная командой HITsz-TMG. Она предназначена для преобразования текстов в векторы и поддерживает поиск и извлечение документов, ранжирование, классификацию, кластеризацию, оценку семантического сходства и классификацию пар текстов. Для асимметричного поиска предусмотрены инструкции для запросов и документов; в sentence-transformers доступны encode_query и encode_document с шаблоном запроса по умолчанию.

Модель построена на плотной архитектуре Qwen2 с двунаправленным вниманием и mean pooling. Размер — 494 млн параметров, размерность эмбеддингов — 896; поддерживаются сокращённые размерности 512, 256, 128 и 64. README указывает максимум 32 тыс. входных токенов, а метаданные — контекстное окно 131 072 токена. Обучение включало слабоконтролируемое предобучение, контролируемое дообучение и контрастивную дистилляцию. Указаны английский и китайский языки. Лицензия — Apache-2.0.

Модель ориентирована на построение компактных векторных представлений и заявлена авторами как конкурентоспособная с более крупными моделями сопоставимого назначения. Метаданные связывают её с базовыми репозиториями HIT-TMG/KaLM-embedding-multilingual-mini-instruct-v2 и Qwen/Qwen2.5-0.5B. Для использования с Transformers требуется версия 4.37.0 или новее; README также описывает поддержку sentence-transformers и vLLM.

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

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

Ограничения

Для работы с Transformers требуется версия 4.37.0 или новее. README указывает предел в 32 тыс. токенов, тогда как метаданные задают контекстное окно 131 072 токена; доступные сведения расходятся.

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

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

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

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

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

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

Открыть на Hugging Face

Short Description

KaLM-Embedding-V2.5 is a versatile and compact embedding model, which achieves SOTA performance among models of comparable size and competes with models 3–26x larger by leveraging superior training techniques and data. perf

Model Details

  • Model Size: 0.5B
  • Embedding Dimension: 896
  • Max Input Tokens: 32k
  • MRL dimensions: 896, 512, 256, 128, and 64
  • Attn: Bidirectional attention
  • Pooling: Mean pooling

archi

Training Recipe

  • Large-scale weakly supervised pretraining
  • High-quality supervised finetuning
  • Contrastive distillation with fine-grained soft labels

Additionally, focal-style sample reweighting and online hard-negative mixing are employed to emphasize difficult samples and enrich hard negatives.

📑 Open-source Plan

Evaluation

Overall results on MTEB (cmn, v1) and MTEB (eng, v1).

overall

Detailed model performance on MTEB (cmn, v1).

mteb_cmn

Detailed model performance on MTEB (eng, v1).

mteb_cmn

OOD evaluation: KaLM-Embedding-V2.5 exhibits strong OOD generalization, competing with the 15x larger model in real-world retrieval scenarios.

ood

Matryoshka embedding evaluation: KaLM-Embedding-V2.5 maintains robust performance with matryoshka embeddings even at smaller dimensions.

matry

Requirements

Since we have used the Qwen2 model, we advise you to install transformers>=4.37.0, or you might encounter the following error:

KeyError: 'qwen2'

Usage

sentence-transformers support

Using this model becomes easy when you have sentence-transformers installed:

pip install -U sentence-transformers

Then you can use the model like this:

from sentence_transformers import SentenceTransformer
import torch

model = SentenceTransformer(
    "KaLM-Embedding/KaLM-embedding-multilingual-mini-instruct-v2.5",
    trust_remote_code=True,
    model_kwargs={
        "torch_dtype": torch.bfloat16,
        "attn_implementation": "flash_attention_2",  # Optional
    },
)
model.max_seq_length = 512

sentences = ["This is an example sentence", "Each sentence is converted"]
embeddings = model.encode(
    sentences,
    normalize_embeddings=True,
    batch_size=256,
    show_progress_bar=True,
)
print(embeddings)
'''
[[-0.01043701 -0.02172852  0.0100708  ... -0.02807617  0.00157166
  -0.03637695]
 [-0.00424194  0.02966309  0.03686523 ... -0.02587891  0.01953125
  -0.00125122]]
'''

We add task instructions for asymmetric tasks: retrieval, reranking, classification, and clustering. And, we add task instructions for both queries and passages in symmetric tasks, including STS and pair classification. If you want to add task instructions to the query, you can use the model like this:

from sentence_transformers import SentenceTransformer
import torch

model = SentenceTransformer(
    "KaLM-Embedding/KaLM-embedding-multilingual-mini-instruct-v2.5",
    trust_remote_code=True,
    model_kwargs={
        "torch_dtype": torch.bfloat16,
        "attn_implementation": "flash_attention_2",  # Optional
    },
)
model.max_seq_length = 512

sentences = ["This is an example sentence", "Each sentence is converted"]
prompt = "Instruct: Classifying the category of french news.\nQuery:"
embeddings = model.encode(
    sentences,
    prompt=prompt,
    normalize_embeddings=True,
    batch_size=256,
    show_progress_bar=True,
)
print(embeddings)
'''
[[-0.01867676  0.02319336  0.00280762 ... -0.02075195  0.00196838
  -0.0703125 ]
 [-0.0067749   0.03491211  0.01434326 ... -0.0043335   0.00509644
  -0.04174805]]
'''

Or you can use encode_query and encode_document to automatically add the default prompt for queries ("Instruct: Given a query, retrieve documents that answer the query \n Query: ") and documents (""), respectively.

from sentence_transformers import SentenceTransformer
import torch

model = SentenceTransformer(
    "KaLM-Embedding/KaLM-embedding-multilingual-mini-instruct-v2.5",
    trust_remote_code=True,
    model_kwargs={
        "torch_dtype": torch.bfloat16,
        "attn_implementation": "flash_attention_2",  # Optional
    },
)
model.max_seq_length = 512

queries = [
    "What is the capital of China?",
    "Explain gravity",
]
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.",
]

query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)

similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
'''
tensor([[0.9034, 0.2563],
        [0.3153, 0.7396]])
'''

vllm support

pip install -U vllm==0.8.5
import torch
import vllm
from vllm import LLM
def get_detailed_instruct(task_description: str, query: str) -> str:
    return f'Instruct: {task_description}\nQuery:{query}'

task = 'Given a query, retrieve documents that answer the query'
queries = [
    get_detailed_instruct(task, 'What is the capital of China?'),
    get_detailed_instruct(task, 'Explain gravity')
]
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."
]
input_texts = queries + documents

model = LLM(model="{MODEL_NAME_OR_PATH}", task="embed", trust_remote_code=True, dtype="float16")

outputs = model.embed(input_texts)
embeddings = torch.tensor([o.outputs.embedding for o in outputs])
scores = (embeddings[:2] @ embeddings[2:].T)
print(scores.tolist())

Citation

If you find this model useful, please consider giving a star and citation.

@inproceedings{
      zhao2026kalmembeddingv2,
      title={Ka{LM}-Embedding-V2: Superior Training Techniques and Data Inspire A Versatile Embedding Model},
      author={Xinping Zhao and Xinshuo Hu and Zifei Shan and Shouzheng Huang and Yao Zhou and Xin Zhang and Zetian Sun and zhenyu liu and Dongfang Li and Xinyuan Wei and Youcheng Pan and Yang Xiang and Meishan Zhang and Haofen Wang and Jun Yu and Baotian Hu and Min Zhang},
      booktitle={The Fourteenth International Conference on Learning Representations},
      year={2026},
      url={https://openreview.net/forum?id=Y7qzhvWhcz}
}

@misc{hu2025kalmembedding,
      title={KaLM-Embedding: Superior Training Data Brings A Stronger Embedding Model}, 
      author={Xinshuo Hu and Zifei Shan and Xinping Zhao and Zetian Sun and Zhenyu Liu and Dongfang Li and Shaolin Ye and Xinyuan Wei and Qian Chen and Baotian Hu and Haofen Wang and Jun Yu and Min Zhang},
      year={2025},
      eprint={2501.01028},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2501.01028}, 
}

Contact

If you encounter any issue, feel free to contact us via the email: xinpingzhao@slai.edu.cn, yanshek.woo@gmail.com

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей