RuModernBERT-base-anekdot-scorer
Оценщик русскоязычных анекдотов на основе deepvk/RuModernBERT-base. Дообучен на текстовом подмножестве anekdots датасета d0rj/anekdot: train 618 470, val 77 308, test 77 310. Оценка 0–1 предсказывает сглаженную долю положительных голосов читателей anekdot.ru.
LR 2e-5, seed 42, 3 эпохи; опубликован лучший по val checkpoint 19328. 149 млн параметров, CLS + линейная голова. Вход — до 512 токенов; длинные тексты: первые 128 + последние 382 токена тела.
Использование
from transformers import AutoModelForSequenceClassification, AutoTokenizer
repo = "d0rj/RuModernBERT-base-anekdot-scorer"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForSequenceClassification.from_pretrained(
repo, trust_remote_code=True
).eval()
scores = model.score_texts(["Ваш анекдот здесь."], tokenizer, calibrated=True)
score_texts сохраняет исходное head+tail усечение. calibrated=False возвращает исходную оценку; True применяет сохранённую val-калибровку. trust_remote_code=True загружает адаптер исходной обученной головы. Проверено с Transformers 5.17.0 / PyTorch 2.11.0.
Сравнение на тестовой выборке
Показать полный лидерборд (77 310 анекдотов)| Модель | k | Spearman ↑ | BCE ↓ | MAE ↓ | RMSE ↓ | BCE после калибровки ↓ | Текстов/с ↑ |
|---|---|---|---|---|---|---|---|
| RuModernBERT-base finetuned (эта модель) | — | 0.493307 | 0.668627 | 0.134345 | 0.166647 | 0.667212 | 583.30 |
| USER2-base finetuned · kNN | 83 | 0.488074 | 0.670447 | 0.136037 | 0.169017 | — | — |
| RuModernBERT-base finetuned · kNN | 193 | 0.487860 | 0.672360 | 0.136756 | 0.171351 | — | — |
| USER2-base finetuned | — | 0.484747 | 0.667992 | 0.136079 | 0.165848 | 0.667952 | 591.40 |
| BERTA finetuned | — | 0.465572 | 0.671611 | 0.138913 | 0.170892 | 0.669411 | 1212.65 |
| rubert-large-uncased-sts finetuned | — | 0.458802 | 0.678835 | 0.143284 | 0.179376 | 0.669654 | 903.01 |
| rubert-large-uncased-sts finetuned · kNN | 152 | 0.457834 | 0.673193 | 0.139021 | 0.172718 | — | — |
| rubert-tiny-sts-v2 finetuned · kNN | 197 | 0.402426 | 0.673642 | 0.142689 | 0.173882 | — | — |
| rubert-tiny-turbo finetuned | — | 0.401041 | 0.674516 | 0.143250 | 0.175036 | 0.673780 | 3096.27 |
| rubert-tiny-sts-v2 finetuned | — | 0.399357 | 0.677228 | 0.144530 | 0.178323 | 0.673669 | 3613.54 |
| USER2-base · kNN | 60 | 0.351947 | 0.677055 | 0.147805 | 0.178602 | — | — |
| Gemma4-E4B-it (5-shot, USER2-base) | — | 0.284549 | 0.700509 | 0.162909 | 0.203271 | 0.680104 | 16.02 |
| rubert-tiny-sts-v2 · kNN | 44 | 0.272373 | 0.680615 | 0.152068 | 0.183402 | — | — |
| RuModernBERT-base · kNN | 178 | 0.268293 | 0.681258 | 0.153587 | 0.184261 | — | — |
| rubert-large-uncased-sts · kNN | 37 | 0.268131 | 0.680618 | 0.152086 | 0.183417 | — | — |
| Gemma4-E4B-it (zero-shot) | — | 0.139759 | 0.752367 | 0.203531 | 0.252056 | 0.684739 | 10.53 |
| Среднее train (константа) | — | — | 0.686258 | 0.159808 | 0.190811 | — | — |
- Метрики. Все 17 строк рассчитаны на одних и тех же 77 310 анекдотах из test. Для Spearman выше лучше. Для BCE, MAE и RMSE ниже лучше. Ошибки приведены до калибровки, кроме отдельного столбца BCE после калибровки.
- Веса.
finetunedозначает дообучение на анекдотах. Ссылки в таблице ведут на использованные ревизии моделей с исходными весами. - Бейзлайны. kNN предсказывает средний target у
kближайших анекдотов из train по косинусной близости.kвыбран по Spearman на val. Константа равна среднему target по всему train. - Gemma. В 5-shot промпт добавлены пять примеров из разных train-групп среди 60 ближайших соседей исходного USER2-base. Zero-shot выполнялся в Transformers, 5-shot в vLLM. Калибровка обученных оценщиков использует 77 308 примеров val, Gemma — 2 048 примеров val для каждой конфигурации.
- Скорость. Пропускная способность после прогрева на RTX 5070 Ti. Прочерк обозначает неприменимую или отсутствующую метрику. Обученные оценщики сравнивались при seed 42 на ранее исследованном корпусе.
Метаданные опубликованного чекпоинта и его исходный отчёт об оценке: training_metadata.json, evaluation_results.json.