/ Модель

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

Контекст
514 токенов
Параметры
137 млн
Лицензия
Apache 2.0
Архитектура
mpnet · dense
Базовая модель
all-mpnet-base-v2
Библиотека
sentence-transformers
Опубликована
11 мар 2026

resumator

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

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

259скачиваний за 30 дней1лайквеса обновлены11 мар 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Resumator v2 — модель Sentence Transformers, дообученная на базе sentence-transformers/all-mpnet-base-v2 для сопоставления резюме кандидатов с описаниями вакансий. Она кодирует оба текста в векторы, которые можно сравнивать по косинусному сходству и использовать для ранжирования кандидатов. Модель содержит 136,7 млн параметров; полная размерность эмбеддингов — 768, рекомендуемая — 384. Благодаря обучению Matryoshka Representation Learning векторы можно сокращать до 256 или 128 измерений с небольшим снижением качества. Контекст ограничен 514 токенами.

Модель предназначена для подбора вакансий по резюме, ранжирования кандидатов и поиска релевантных соответствий в рекрутинговых системах. В карточке сообщается об оценке на 500 парах резюме и вакансий и о заметном улучшении ранжирования относительно базовой модели; эти результаты получены на конкретном наборе данных и не гарантируют такое же качество на других рынках и выборках.

Обучающие данные охватывают технический найм, поэтому модель может хуже работать с нетехническими должностями. Она рассчитана на английский язык и рынок труда США; в карточке также отмечены возможные смещения в оценках, использованных при подготовке обучающих данных. Репозиторий распространяется по лицензии Apache-2.0.

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

  • ранжирование кандидатов по соответствию вакансии
  • поиск вакансий, подходящих под резюме
  • семантическое сравнение резюме и требований должности
  • поиск подходящих кандидатов в базе резюме
  • отбор резюме по навыкам и уровню опыта

Ограничения

Модель ориентирована на английский язык и рынок технического найма США и может хуже работать с нетехническими должностями и другими рынками. Контекст ограничен 514 токенами, поэтому ключевую информацию рекомендуется размещать ближе к началу текста; обучающие оценки могут наследовать смещения модели-оценщика.

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

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

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

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

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

Открыть на Hugging Face

Resumator v2

Fine-tuned sentence-transformer for resume-to-job matching. Encodes resumes and job descriptions into embeddings for cosine similarity search.

Trained with Matryoshka Representation Learning — supports truncation to 384/256/128 dims at inference with minimal quality loss.

PropertyValue
Base Modelall-mpnet-base-v2 (109M params)
Native Dimensions768
Recommended Dimensions384 (Matryoshka truncation)
Max Sequence Length512 tokens
PoolingMean pooling + L2 normalization
Parameters~109.5M
Size~418 MB
TrainingMatryoshkaLoss + MultipleNegativesRankingLoss on 15,600 LLM-scored resume-job pairs

What's New in v2

Improvementv1v2
Base modelall-MiniLM-L6-v2 (22.7M)all-mpnet-base-v2 (109.5M)
Training lossCosineSimilarityLossMatryoshkaLoss + MNRL + CosineSimilarityLoss
Training data624 pairs15,600 LLM-scored pairs
Spearman (held-out)0.4360.796
Ranking accuracy79.9%98.0%

Usage

from sentence_transformers import SentenceTransformer

# Load with Matryoshka truncation to 384 dims
model = SentenceTransformer("shankerram3/resumator", truncate_dim=384)

candidate = "Name: Jane Doe\nSkills: Python, React, PostgreSQL\nResume: Full-stack engineer with 4 years..."
job = "Title: Senior Software Engineer\nCompany: TechCorp\nDescription: Looking for full-stack engineer..."

embeddings = model.encode([candidate, job], normalize_embeddings=True)
similarity = float(embeddings[0] @ embeddings[1])  # cosine similarity

Input Format

Candidate:

Name: {name}
Titles: {title1}, {title2}
Skills: {skill1}, {skill2}, {skill3}
Experience: {years} years
Location: {city}, {state}
Resume: {full_resume_text}

Job:

Title: {job_title}
Company: {company_name}
Location: {city}, {state}
Experience: {years} years
Description: {full_job_description}

Benchmarks

Held-Out Evaluation (Unseen Data)

Evaluated on 500 resume-job pairs using jobs the model never saw during training, scored by Cerebras gpt-oss-120b as ground truth. Run on AMD Instinct MI300X GPU.

ModelDimsParamsSpearmanRanking AccSeparationIQR
resumator-v2 (384)384109.5M0.79698.0%0.2170.185
all-mpnet-base-v2768109.5M0.51178.7%0.1240.160
wynisco-matcher-v138422.7M0.43679.9%0.1030.123
all-MiniLM-L6-v238422.7M0.38776.7%0.1100.140
bge-base-en-v1.5768109.5M0.23861.6%0.0380.088
e5-base-v2768109.5M0.18855.0%0.0110.058
  • Spearman: Rank correlation with LLM recruiter scores (higher = better ranking)
  • Ranking Acc: % of (good, bad) pairs where the good match scores higher
  • Separation: Mean cosine sim gap between good matches (≥0.6) and bad matches (≤0.3)
  • IQR: Interquartile range — higher means better discrimination between matches

MTEB Benchmarks

Standard sentence-transformer evaluation on public benchmarks (not domain-specific):

Taskv1v2 (384)Delta
STS120.7240.716-0.008
STS130.8080.833+0.025
STS140.7550.776+0.021
STS150.8510.852+0.001
STS160.7850.793+0.007
STSBenchmark0.8170.828+0.012
SICK-R0.7750.804+0.028
BIOSSES0.7980.812+0.014
SprintDuplicateQuestions0.9410.907-0.034
TwitterSemEval20150.6750.730+0.056
AskUbuntuDupQuestions0.6330.654+0.021
SciDocsRR0.8720.873+0.001
StackOverflowDupQuestions0.5070.513+0.007
Average0.7650.777+0.012

v2 improves on 11 of 13 MTEB tasks despite being fine-tuned for a specific domain.

Speed

MI300X GPU:

ModelSingleBatch of 50
resumator-v2 (384)6.15 ms13.3 ms (0.27 ms/item)
all-mpnet-base-v26.09 ms13.0 ms (0.26 ms/item)
wynisco-matcher-v13.48 ms7.6 ms (0.15 ms/item)

Apple M-series CPU:

ModelSingleBatch of 50
resumator-v2 (384)9.6 ms72 ms (1.4 ms/item)
all-mpnet-base-v28.2 ms61 ms (1.2 ms/item)
wynisco-matcher-v15.7 ms15 ms (0.3 ms/item)

Score Distribution (2,500 resume-job pairs)

Metricv1v2 (384)
Mean0.5460.376
Std Dev0.0980.124
IQR0.1330.186
Min / Max0.211 / 0.8590.025 / 0.714
v2 distribution:
0.0-0.1:                                             13 (  0.5%)
0.1-0.2: ########                                   149 (  6.0%)
0.2-0.3: ################################           590 ( 23.6%)
0.3-0.4: ########################################   722 ( 28.9%)
0.4-0.5: ##############################             543 ( 21.7%)
0.5-0.6: ######################                     410 ( 16.4%)
0.6-0.7: ###                                         72 (  2.9%)
0.7-0.8:                                              1 (  0.0%)

v2 spreads scores more widely (IQR 0.186 vs 0.133), making it easier to set thresholds and distinguish good matches from mediocre ones.

Matryoshka Dimension Quality

Trained with Matryoshka Representation Learning — quality at different truncation levels:

DimensionsGood Match ScoreBad Match ScoreDelta
768 (full)0.6910.2280.462
384 (recommended)0.6960.1860.510

384-dim truncation actually improves separation — Matryoshka loss concentrates the most discriminative information in the first 384 dimensions.

Training Details

Data

  • 15,600 resume-job pairs scored 0.0–1.0 by Cerebras gpt-oss-120b
  • 51 candidates × 300 random jobs each
  • Scoring criteria: technical skills overlap (50%), role/title alignment (30%), experience level match (20%)

Training Pipeline

  1. Phase 1: MatryoshkaLoss wrapping MultipleNegativesRankingLoss (5 epochs)
    • Triplets: anchor (candidate) + positive (score ≥ 0.6) + hard negative (score ≤ 0.3)
    • 2,702 triplets, effective batch size 32 (8 × 4 gradient accumulation)
    • Matryoshka dims: [768, 384, 256, 128]
  2. Phase 2: CosineSimilarityLoss refinement (2 epochs)
    • Mid-range pairs (0.3 < score < 0.6) for calibrating the middle of the score range
    • 2,503 pairs, learning rate 5e-6

Training Logs

Phase 1 — MatryoshkaLoss + MNRL (5 epochs):

EpochStepLoss
0.12102.942
1.06901.856
2.001701.792
3.062601.757
4.003401.684
4.954201.634

Phase 2 — CosineSimilarityLoss (2 epochs):

EpochStepLoss
0.13100.044
0.51400.009
1.01800.007
1.911500.006

Hardware

  • Training: AMD Instinct MI300X (ROCm 6.2), ~3 minutes total
  • Evaluation: AMD Instinct MI300X + Apple M-series CPU

Framework Versions

  • Python: 3.12.3
  • Sentence Transformers: 5.2.3
  • Transformers: 5.3.0
  • PyTorch: 2.5.1+rocm6.2
  • Accelerate: 1.13.0
  • Datasets: 4.7.0

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 384, 'do_lower_case': False, 'architecture': 'MPNetModel'})
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_mean_tokens': True})
  (2): Normalize()
)

Why Fine-Tune?

Generic sentence-transformers treat resumes as arbitrary text. Fine-tuning teaches:

  • Domain vocabulary: "OPT", "H1B", "C2C" are visa types, not random acronyms
  • Structural alignment: Match skills sections to requirements sections
  • Experience calibration: "3 years Java" → "mid-level Java developer", not "senior architect"
  • Description reading: v2 matches on actual job description content, not just title keywords

General-purpose models (bge, e5) score 0.19–0.24 Spearman on resume-job matching despite leading MTEB leaderboards. Domain fine-tuning is essential for this task.

Limitations

  • English only, US tech market bias
  • 512 token limit — key information should appear early in the text
  • Trained on tech/IT recruiting data — may underperform on non-tech roles
  • LLM-scored training data inherits any biases from the scoring model

Citation

BibTeX

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

License

Apache 2.0

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей