/ Модель

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

Контекст
131 072 токена
Параметры
494 млн
Лицензия
Apache 2.0
Архитектура
qwen2 · dense
Библиотека
sentence-transformers
Опубликована
25 сен 2026

JevEmbed-KaLM-Embedding-V2.5

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

Дообученная на примерах JevEmbed мультиязычная модель эмбеддингов для выбора и оценки текстовых кандидатов по их смысловому соответствию.

277скачиваний за 30 дней1лайквеса обновлены26 сен 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JevEmbed-KaLM-Embedding-V2.5 — модель эмбеддингов команды HIT-TMG, созданная дообучением KaLM-embedding-multilingual-mini-instruct-v2.5 с помощью LoRA на 1 601 157 обучающих вопросах набора JevEmbed-Data и последующим объединением адаптера с базовыми весами. Модель на архитектуре Qwen2 преобразует текстовые запросы и кандидаты в 896-мерные векторы; метаданные указывают контекст до 131 072 токенов, однако в описанном сценарии JevEmbed используется ограничение 1 024 токена с усечением.

Модель предназначена для сопоставления запросов с кандидатами и определения выбора, оценки по категориям или шкале и бинарного решения Noul. В тестовом разбиении JevEmbed-Data после дообучения точность составила 76,03% для общей задачи выбора и 71,05% для подзадачи Choice; это результаты конкретной конфигурации и набора данных, а не гарантия качества на других данных. Для получения сырых эмбеддингов используется Sentence Transformers; конфигурация JevEmbed задаёт промпты и правила оценки.

Модель принимает текст и выдаёт эмбеддинги, используемые для сравнения текстов; README демонстрирует применение к описаниям состояний и возможных действий в играх Doom и Snake. Репозиторий распространяется по лицензии Apache-2.0. Для загрузки KaLM требуется trust_remote_code=True; данные обучения имеют смешанные лицензии, поэтому условия распространения самого набора следует проверять отдельно.

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

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

Ограничения

В описанной конфигурации JevEmbed входы усекаются до 1 024 токенов, а качество оценивалось на тестовых вопросах JevEmbed-Data и может отличаться на других задачах. Для загрузки KaLM требуется trust_remote_code=True; обучающий набор содержит источники со смешанными лицензиями.

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

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

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

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

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

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

Открыть на Hugging Face

JevEmbed-KaLM-Embedding-V2.5

This KaLM-Embedding v2.5 checkpoint was fine-tuned with LoRA on all 1,601,157 training questions in JevEmbed-Data, then merged for standalone use. The adapter is in lora/.

The model produces 896-dimensional embeddings. JevEmbed applies the prompts and scoring in jevembed.yaml to make Choice, Score, and Noul decisions. For the tested setup, use transformers==4.51.0 and sentence-transformers==5.3.0; KaLM requires trust_remote_code=True.

Use with JevEmbed

Install JevEmbed, then run the CLI from this directory (model_name_or_path: .):

cd /path/to/JevEmbed-KaLM-Embedding-V2.5
python -m jevembed --config jevembed.yaml --input request.json

For the Python API, resolve the model directory explicitly so your working directory does not matter:

import json
from dataclasses import replace
from pathlib import Path
from jevembed import JevEmbed, ModelConfig

model_dir = Path("/path/to/JevEmbed-KaLM-Embedding-V2.5").resolve()
config = replace(
    ModelConfig.load(model_dir / "jevembed.yaml"),
    model_name_or_path=str(model_dir),
)
client = JevEmbed(config=config)
request = json.loads((model_dir / "request.json").read_text())
response = client.evaluate(request)

The configuration uses a 1,024-token limit with truncation, Choice/Score temperature 0.1, and Noul slope 10. For raw embeddings, load the merged weights with SentenceTransformer(model_dir, trust_remote_code=True).

Test-set performance

The base and released merged model were evaluated on the same 66,482 questions in the JevEmbed-Data test split. Both used BF16, identical prompts and scoring, and 1,024-token truncation. Accuracy uses hard labels; Noul MAE includes 22,363 hard and 1,641 soft targets.

MetricBaseAfter LoRA fine-tuning (merged)Change
Overall hard-label accuracy (64,110)32.33%76.03%+43.70 pp
Choice accuracy (17,487)28.61%71.05%+42.44 pp
Score level accuracy (24,260)27.45%66.17%+38.73 pp
Noul binary accuracy (22,363)40.52%90.61%+50.08 pp
Score MAE (24,287; lower is better)0.99900.4943-0.5047
Noul MAE (24,004; lower is better)0.59250.1365-0.4560

The merged weights also matched the LoRA adapter's embeddings within 3.6 × 10⁻⁷ maximum absolute difference on five FP32 inputs; see MERGE_MANIFEST.json.

Training

One epoch on 1,601,157 questions used four GPUs, per-GPU batch 64, accumulation 2 (effective batch 512), BF16, LoRA rank 64, alpha 32, dropout 0.05, Q/K/V targets, learning rate 2 × 10⁻⁴, and 10% warmup. Inputs were truncated at 1,024 tokens. The final adapter is step 3,128.

The training loss uses query–candidate cosine similarities:

  • Choice and categorical Score: cross-entropy against the target distribution after softmax with temperature 0.1. Hard labels are one-hot; soft labels remain soft.
  • Continuous Score: squared error between the target score and the probability-weighted expected level, normalized by the number of level intervals.
  • Noul: binary cross-entropy with logits. The logit is 10 times one cosine similarity without criteria, or 10 times the true-minus-false cosine difference with criteria.

The training objective is the mean of per-question losses in each batch. The implementation is in JevEmbed/src/jevembed/training/objective.py.

The base revision is 753c6fe26abc20a32aeb162003aa03457d15db2f. The training dataset has mixed source licenses; consult its source report when choosing release terms.

Test-set examples

Choice: target tracking

This illustrative Choice case comes from the JevEmbed-Data test split (Open-Jev Doom tracking; ID openjev:vizdoom-basic-v1:190919:id:205:0:choice).

Top-down schematic showing the player facing a target 8.9 degrees to the left, with Strafe left selected at 87.63 percent probability

Save the exact request as request.json:

{
  "model": "jevembed-kalm-embedding-v2.5",
  "state": {
    "action_window_tics": 4,
    "ammo": 50.0,
    "elapsed_tics": 14,
    "health": 100.0,
    "movement": {"forward_units_per_tic": 0.0, "lateral_units_per_tic": 0.0},
    "nearest_visible_enemy": {
      "distance_units": 388.67414,
      "name": "Cacodemon",
      "relative_bearing_deg": 8.894711
    },
    "player": {"heading_deg": 0.0, "x_units": -384.0, "y_units": 32.0},
    "visible_enemy_count": 1
  },
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Which lateral movement does the momentum-aware tracking policy choose to align with the nearest visible target?",
      "criteria": {
        "Strafe left": null,
        "Strafe right": null,
        "Hold lateral movement": null
      }
    }
  }
}

JevEmbed-KaLM-Embedding-V2.5 selects Strafe left, matching the test label. Its Choice probabilities are:

Strafe leftStrafe rightHold lateral movement
0.87630.10960.0140

Score: lining up a Doom shot

Three Open-Jev Doom states from the JevEmbed-Data test split (group ID openjev:vizdoom-basic-v1:190919:id:55) show the player strafing as a visible Cacodemon moves toward the crosshair. The relative bearing narrows from 8.57° to 1.74°. Score levels 0–4 rate shot alignment, not game reward.

Three schematic Doom views showing a Cacodemon approaching the crosshair while the shot-alignment Score rises from level 2 to level 4

The final frame (tick 42; ID openjev:vizdoom-basic-v1:190919:id:55:7:score) is a runnable request. Save it as request.json:

{
  "model": "jevembed-kalm-embedding-v2.5",
  "state": {
    "action_window_tics": 4,
    "ammo": 50.0,
    "elapsed_tics": 42,
    "health": 100.0,
    "movement": {
      "forward_units_per_tic": 0.0,
      "lateral_units_per_tic": 0.690659
    },
    "nearest_visible_enemy": {
      "distance_units": 384.176958,
      "name": "Cacodemon",
      "relative_bearing_deg": 1.739094
    },
    "player": {
      "heading_deg": 0.0,
      "x_units": -384.0,
      "y_units": 120.630661
    },
    "visible_enemy_count": 1
  },
  "questions": {
    "decision": {
      "type": "score",
      "instructions": "Rate the current shot alignment using the supplied ordered suitability grades. These grades are an aiming heuristic, not expected game reward.",
      "criteria": [
        "Cannot usefully aim a shot: no live visible target, no ammunition, dead player, or absolute target bearing above 22 degrees.",
        "Very poor alignment: live visible target and ammunition, player alive, absolute target bearing above 12 and at most 22 degrees.",
        "Coarse alignment: live visible target and ammunition, player alive, absolute target bearing above 6 and at most 12 degrees.",
        "Near alignment: live visible target and ammunition, player alive, absolute target bearing above 3 and at most 6 degrees.",
        "Aligned for the script's shot: live visible target and ammunition, player alive, absolute target bearing at most 3 degrees."
      ]
    }
  }
}

JevEmbed-KaLM-Embedding-V2.5 predicts the test label at each moment:

Game tickRelative bearingTest levelModel levelModel probability of that level
268.57°2 (coarse)20.6924
343.05°3 (near)30.5907
421.74°4 (aligned)40.8995

Noul: a safe move into the snake's tail

This Open-Jev test case (ID openjev:snake-v1:677b4c40f40fd3be2ca642ed:collision_up) asks whether moving up causes a collision. The destination is the tail's current cell, but the snake does not eat food on this move, so the tail vacates it. The test label is no collision.

A six-by-six Snake board where moving up enters the tail's vacated cell; the model assigns 18.66 percent probability to collision

{
  "model": "jevembed-kalm-embedding-v2.5",
  "state": {
    "coordinates": "x increases right; y increases down; walls are outside the board",
    "direction": "right",
    "food": [3, 2],
    "game": "snake",
    "height": 6,
    "snake_head_first": [[1, 1], [0, 1], [0, 0], [1, 0]],
    "width": 6
  },
  "questions": {
    "decision": {
      "type": "noul",
      "instructions": "Will moving up cause an immediate wall or body collision? The tail vacates unless food is eaten."
    }
  }
}

JevEmbed-KaLM-Embedding-V2.5 returns 0.1866 for the Noul probability of a collision.

Citation

If you find JevEmbed-KaLM-Embedding-V2.5 useful, please consider citing the following papers:

@misc{zhao2025kalmembeddingv2,
      title={KaLM-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},
      year={2025},
      eprint={2506.20923},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2506.20923},
}

@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},
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей