Giter Club home page Giter Club logo

encodechka's Introduction

encodechka

encodechka-eval

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

Похожие проекты:

  • RussianSuperGLUE: фокус на дообучаемых моделях
  • MOROCCO: RussianSuperGLUE + оценка производительности, трудновоспроизводим
  • RuSentEval: более академические/лингвистические задачи
  • Статья от Вышки Popov et al, 2019: первая научная статья на эту тему, но маловато моделей и задач
  • SentEvalRu и deepPavlovEval: два хороших, но давно не обновлявшихся бенчмарка.
  • ruMTEB (пост, код MTEB) - русскоязычная часть MTEB. С недавнего времени там есть 23 разнообразных задачи (включая поиск и переранжирование, которых нет в Encodechka), но, кажется, там нет замеров быстродействия. Если последнее вам не критично, рекомендуется использовать ruMTEB вместо Encodechka.

Пример запуска метрик – в блокноте evaluation example.

Блокнот для воспроизведения лидерборда: v2021, v2023.

Лидерборд на HuggingFace Space.

Лидерборд

Ранжирование моделей в по среднему качеству и производительности. Подсвечены Парето-оптимальные модели по каждому из критериев.

model CPU GPU size Mean S Mean S+W dim
deepvk/USER-bge-m3 523.4 22.5 1371.1 0.799 0.709 1024
BAAI/bge-m3 523.4 22.5 2166.0 0.787 0.696 1024
intfloat/multilingual-e5-large-instruct 501.5 25.71 2136.0 0.784 0.684 1024
intfloat/multilingual-e5-large 506.8 30.8 2135.9389 0.78 0.686 1024
deepvk/USER-base 33.1 12.2 473.2402 0.772 0.688 768
sentence-transformers/paraphrase-multilingual-mpnet-base-v2 20.5 19.9 1081.8485 0.762 768
intfloat/multilingual-e5-base 130.61 14.39 1061.0 0.761 0.669 768
sergeyzh/rubert-tiny-turbo 5.5 3.3 111.4 0.749 0.667 312
intfloat/multilingual-e5-small 40.86 12.09 449.0 0.742 0.645 384
symanto/sn-xlm-roberta-base-snli-mnli-anli-xnli 20.2 16.5 1081.8474 0.739 768
cointegrated/LaBSE-en-ru 133.4 15.3 489.6621 0.739 0.668 768
sentence-transformers/LaBSE 135.1 13.3 1796.5078 0.739 0.667 768
MUSE-3 200.1 30.7 303.0 0.736 512
text-embedding-ada-002 ? 0.734 1536
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 18.2 14.9 479.2547 0.734 384
sentence-transformers/distiluse-base-multilingual-cased-v1 11.8 8.0 517.7452 0.722 512
SONAR ? ? 3060.0 0.721 1024
facebook/nllb-200-distilled-600M 252.3 15.9 1577.4828 0.709 0.64 1024
sentence-transformers/distiluse-base-multilingual-cased-v2 11.2 9.2 517.7453 0.708 512
cointegrated/rubert-tiny2 5.5 3.3 111.3823 0.704 0.638 312
ai-forever/sbert_large_mt_nlu_ru 504.5 29.7 1628.6539 0.703 0.626 1024
laser 192.5 13.5 200.0 0.699 1024
laser2 163.4 8.6 175.0 0.694 1024
ai-forever/sbert_large_nlu_ru 497.7 29.9 1628.6539 0.688 0.626 1024
clips/mfaq 18.1 18.2 1081.8576 0.687 768
cointegrated/rut5-base-paraphraser 137.0 15.6 412.0015 0.685 0.634 768
DeepPavlov/rubert-base-cased-sentence 128.4 13.2 678.5215 0.678 0.612 768
DeepPavlov/distilrubert-base-cased-conversational 64.2 10.4 514.002 0.676 0.624 768
DeepPavlov/distilrubert-tiny-cased-conversational 21.2 3.3 405.8292 0.67 0.616 768
cointegrated/rut5-base-multitask 136.9 12.7 412.0015 0.668 0.623 768
ai-forever/ruRoberta-large 512.3 25.5 1355.7162 0.666 0.609 1024
DeepPavlov/rubert-base-cased-conversational 127.5 16.3 678.5215 0.653 0.606 768
deepvk/deberta-v1-base 128.6 19.0 473.2402 0.653 0.591 768
cointegrated/rubert-tiny 7.5 5.9 44.97 0.645 0.575 312
ai-forever/FRED-T5-large 479.4 23.3 1372.9988 0.639 0.551 1024
inkoziev/sbert_synonymy 6.9 4.2 111.3823 0.637 0.566 312
numind/NuNER-multilingual-v0.1 186.9 10 678.0 0.633 0.572 768
cointegrated/rubert-tiny-toxicity 10 5.5 47.2 0.621 0.553 312
ft_geowac_full 0.3 1910.0 0.617 0.55 300
bert-base-multilingual-cased 141.4 13.7 678.5215 0.614 0.565 768
ai-forever/ruT5-large 489.6 20.2 1277.7571 0.61 0.578 1024
cointegrated/rut5-small 37.6 8.6 111.3162 0.602 0.564 512
ft_geowac_21mb 1.2 21.0 0.597 0.531 300
inkoziev/sbert_pq 7.4 4.2 111.3823 0.596 0.526 312
ai-forever/ruT5-base 126.3 12.8 418.2325 0.571 0.544 768
hashing_1000_char 0.5 1.0 0.557 0.464 1000
cointegrated/rut5-base 127.8 15.5 412.0014 0.554 0.53 768
hashing_300_char 0.8 1.0 0.529 0.433 300
hashing_1000 0.2 1.0 0.513 0.416 1000
hashing_300 0.3 1.0 0.491 0.397 300

Ранжирование моделей по задачам. Подсвечены наилучшие модели по каждой из задач.

model STS PI NLI SA TI IA IC ICX NE1 NE2
deepvk/USER-bge-m3 0.87 0.76 0.58 0.82 0.97 0.79 0.81 0.78 0.28 0.43
BAAI/bge-m3 0.86 0.75 0.51 0.82 0.97 0.79 0.81 0.78 0.24 0.42
intfloat/multilingual-e5-large-instruct 0.86 0.74 0.47 0.81 0.98 0.8 0.82 0.77 0.21 0.35
intfloat/multilingual-e5-large 0.86 0.73 0.47 0.81 0.98 0.8 0.82 0.77 0.24 0.37
deepvk/USER-base 0.85 0.74 0.48 0.81 0.99 0.81 0.8 0.7 0.29 0.41
sentence-transformers/paraphrase-multilingual-mpnet-base-v2 0.85 0.66 0.54 0.79 0.95 0.78 0.79 0.74
intfloat/multilingual-e5-base 0.83 0.7 0.46 0.8 0.96 0.78 0.8 0.74 0.23 0.38
sergeyzh/rubert-tiny-turbo 0.83 0.72 0.48 0.79 0.95 0.76 0.78 0.68 0.30 0.37
intfloat/multilingual-e5-small 0.82 0.71 0.46 0.76 0.96 0.76 0.78 0.69 0.23 0.27
symanto/sn-xlm-roberta-base-snli-mnli-anli-xnli 0.76 0.6 0.86 0.76 0.91 0.72 0.71 0.6
cointegrated/LaBSE-en-ru 0.79 0.66 0.43 0.76 0.95 0.77 0.79 0.77 0.35 0.42
sentence-transformers/LaBSE 0.79 0.66 0.43 0.76 0.95 0.77 0.79 0.76 0.35 0.41
MUSE-3 0.81 0.61 0.42 0.77 0.96 0.79 0.77 0.75
text-embedding-ada-002 0.78 0.66 0.44 0.77 0.96 0.77 0.75 0.73
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 0.84 0.62 0.5 0.76 0.92 0.74 0.77 0.72
sentence-transformers/distiluse-base-multilingual-cased-v1 0.8 0.6 0.43 0.75 0.94 0.76 0.76 0.74
SONAR 0.71 0.58 0.41 0.77 0.98 0.79 0.78 0.74
facebook/nllb-200-distilled-600M 0.71 0.54 0.41 0.76 0.95 0.76 0.8 0.75 0.31 0.42
sentence-transformers/distiluse-base-multilingual-cased-v2 0.79 0.55 0.42 0.75 0.91 0.75 0.76 0.73
cointegrated/rubert-tiny2 0.75 0.65 0.42 0.74 0.94 0.75 0.76 0.64 0.36 0.39
ai-forever/sbert_large_mt_nlu_ru 0.78 0.65 0.4 0.8 0.98 0.8 0.76 0.45 0.3 0.34
laser 0.75 0.6 0.41 0.73 0.96 0.72 0.72 0.7
laser2 0.74 0.6 0.41 0.73 0.95 0.72 0.72 0.69
ai-forever/sbert_large_nlu_ru 0.68 0.62 0.39 0.78 0.98 0.8 0.78 0.48 0.36 0.4
clips/mfaq 0.63 0.59 0.35 0.79 0.95 0.74 0.76 0.69
cointegrated/rut5-base-paraphraser 0.65 0.53 0.4 0.78 0.95 0.75 0.75 0.67 0.45 0.41
DeepPavlov/rubert-base-cased-sentence 0.74 0.66 0.49 0.75 0.92 0.75 0.72 0.39 0.36 0.34
DeepPavlov/distilrubert-base-cased-conversational 0.7 0.56 0.39 0.76 0.98 0.78 0.76 0.48 0.4 0.43
DeepPavlov/distilrubert-tiny-cased-conversational 0.7 0.55 0.4 0.74 0.98 0.78 0.76 0.45 0.35 0.44
cointegrated/rut5-base-multitask 0.65 0.54 0.38 0.76 0.95 0.75 0.72 0.59 0.47 0.41
ai-forever/ruRoberta-large 0.7 0.6 0.35 0.78 0.98 0.8 0.78 0.32 0.3 0.46
DeepPavlov/rubert-base-cased-conversational 0.68 0.52 0.38 0.73 0.98 0.78 0.75 0.42 0.41 0.43
deepvk/deberta-v1-base 0.68 0.54 0.38 0.76 0.98 0.8 0.78 0.29 0.29 0.4
cointegrated/rubert-tiny 0.66 0.53 0.4 0.71 0.89 0.68 0.7 0.58 0.24 0.34
ai-forever/FRED-T5-large 0.62 0.44 0.37 0.78 0.98 0.81 0.67 0.45 0.25 0.15
inkoziev/sbert_synonymy 0.69 0.49 0.41 0.71 0.91 0.72 0.69 0.47 0.32 0.24
numind/NuNER-multilingual-v0.1 0.67 0.53 0.4 0.71 0.89 0.72 0.7 0.46 0.32 0.34
cointegrated/rubert-tiny-toxicity 0.57 0.44 0.37 0.68 1.0 0.78 0.7 0.43 0.24 0.32
ft_geowac_full 0.69 0.53 0.37 0.72 0.97 0.76 0.66 0.26 0.22 0.34
bert-base-multilingual-cased 0.66 0.53 0.37 0.7 0.89 0.7 0.69 0.38 0.36 0.38
ai-forever/ruT5-large 0.51 0.39 0.35 0.77 0.97 0.79 0.72 0.38 0.46 0.44
cointegrated/rut5-small 0.61 0.53 0.34 0.73 0.92 0.71 0.7 0.27 0.44 0.38
ft_geowac_21mb 0.68 0.52 0.36 0.72 0.96 0.74 0.65 0.15 0.21 0.32
inkoziev/sbert_pq 0.57 0.41 0.38 0.7 0.92 0.69 0.68 0.43 0.26 0.24
ai-forever/ruT5-base 0.5 0.28 0.34 0.73 0.97 0.76 0.7 0.29 0.45 0.41
hashing_1000_char 0.7 0.53 0.4 0.7 0.84 0.59 0.63 0.05 0.05 0.14
cointegrated/rut5-base 0.44 0.28 0.33 0.74 0.92 0.75 0.58 0.39 0.48 0.39
hashing_300_char 0.69 0.51 0.39 0.67 0.75 0.57 0.61 0.04 0.03 0.08
hashing_1000 0.63 0.49 0.39 0.66 0.77 0.55 0.57 0.05 0.02 0.04
hashing_300 0.61 0.48 0.4 0.64 0.71 0.54 0.5 0.05 0.02 0.02

Задачи

  • Semantic text similarity (STS) на основе переведённого датасета STS-B;
  • Paraphrase identification (PI) на основе датасета paraphraser.ru;
  • Natural language inference (NLI) на датасете XNLI;
  • Sentiment analysis (SA) на данных SentiRuEval2016.
  • Toxicity identification (TI) на датасете токсичных комментариев из OKMLCup;
  • Inappropriateness identification (IA) на датасете Сколтеха;
  • Intent classification (IC) и её кросс-язычная версия ICX на датасете NLU-evaluation-data, который я автоматически перевёл на русский. В IC классификатор обучается на русских данных, а в ICX – на английских, а тестируется в обоих случаях на русских.
  • Распознавание именованных сущностей на датасетах factRuEval-2016 (NE1) и RuDReC (NE2). Эти две задачи требуют получать эмбеддинги отдельных токенов, а не целых предложений; поэтому там участвуют не все модели.

Changelog

  • Август 2023 - обновил рейтинг:
    • поправив ошибку в вычислении mean token embeddings
    • добавил несколько моделей, включая нового лидера - intfloat/multilingual-e5-large
    • по просьбам трудящихся, добавил text-embedding-ada-002 (размер и производительность указаны от балды)
  • Лето 2022 - опубликовал первый рейтинг

Цитирование

Если вы упоминаете бенчмарк в научной работе, можете сослаться на мой пост на Хабре следующим образом (bibtex):

@misc{dale_encodechka, 
   author = "Dale, David",
   title  = "Рейтинг русскоязычных энкодеров предложений", 
   editor = "habr.com", 
   url    = "https://habr.com/ru/articles/669674/", 
   month  = {June},
   year   = {2022},   
   note = {[Online; posted 12-June-2022]},
}

encodechka's People

Contributors

avidale avatar blessedtatonka avatar e0xextazy avatar samoed avatar sergeyshlepakov avatar sergeyz-zh avatar swipe4057 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

encodechka's Issues

HF Space

Решил сделать отдельное issue для обсуждения leaderboard (из #9).

Я посмотрел как делает MTEB и они собирают evaluation metrics, которые хранятся в readme.md у каждой модели отдельно (например Alibaba-NLP/gte-Qwen2-7B-instruct), поэтому не думаю что получится подтягивать информацию о метриках. Пока можно просто какую-то мета-информамцию только получать о моделях.

Документация по evaluation metrics. Как запускать MTEB. Как метрики создаются в MTEB. Можно сделать по аналогии (генерировать yaml для каждой метрики), чтобы можно было сразу на карточку модели добавить.

add xlmr

xlm-Roberta (base, large, xl, xxl)

[ Feature ] Перенос данных в Google Таблицы

Для более удобной сортировки / визуализации данных, было бы полезно перенести данные в Google Таблицы, и в дальнейшем обновлять данные только там, вместо таблиц в README. Предлагаю использовать данный шаблон: https://docs.google.com/spreadsheets/d/1prUJ_zI5kJPUgcaEpEcz2A8VY5yfX-KlnbPFLxLi7KM/edit

add distilrubert-tiny-cased-conversational-v1

В DeepPavlov еще делали вот такую модельку
https://huggingface.co/DeepPavlov/distilrubert-tiny-cased-conversational-v1
она на наших бенчмарках была лучше, чем https://huggingface.co/DeepPavlov/distilrubert-tiny-cased-conversational, которую ты сравнивал и очень близка к rubert-tiny-2.
Бенчмарки есть в таблице 1 (строка distil-tiny30, RF, MLM, MSE) и 2 (строка distil-tiny-3) в https://arxiv.org/abs/2205.02340.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.