- PVSM.RU - https://www.pvsm.ru -
Всем привет! Меня зовут Роман Соломатин, я представляю команду AI-Run из X5 Tech, мы занимаемся генеративными сетями в целом и языковыми моделями в частности. Несколько месяцев назад русскоязычное сообщество разработчиков искусственного интеллекта получило инструмент для оценки моделей — бенчмарк ruMTEB [1] (Massive Text Embedding Benchmark). Он предназначен для оценки репрезентации русскоязычных текстов и позволяет объективно сравнивать различные эмбеддинговые модели, которые превращают текст в вектора чисел, ориентированные на работу с русским языком (подробнее в статье авторов [2]). Однако, первая версия ruMTEB имела 6 протестированных моделей, но при этом отсутствовал удобный лидерборд.
Мы решили улучшить ситуацию и провести дополнительное тестирование, чтобы сделать бенчмарк более репрезентативным и полезным для сообщества. А именно: мы протестировали ещё 20 моделей и добавили вкладку для лидерборда [3], где можно увидеть результаты каждой модели. Это поможет разработчикам лучше ориентироваться в выборе моделей для своих проектов.
Модель преобразует текст в числовые векторы, что позволяет эффективно работать с текстовыми данными.
Вот ключевые области его применения:
Классификация текста (Classification) — распределения текста по категориям.
Семантический анализ (STS) — определение схожести предложений.
Кластеризация текста (Clustering) — кластеризация текстов.
Машинный перевод (Bitextmining) — поиск наиболее подходящего предложения на другом языке.
Поиск (Retrieval) — поиск похожих текстов по запросу.
Подробнее о применении LLM и эмбеддингов читайте в нашей статье «Интеграция LLM в корпоративные чат-боты: RAG-подход и эксперименты [4]».
Мы протестировали следующие модели:
BAAI/bge-m3 [7]
deepvk/USER-base [8]
и модели из семейства sentence transformers
На основе бенчмарка можно сделать следующие выводы:
Максимальная производительность: если у вас есть возможность выделить значительные ресурсы, то лучшим выбором будет модель intfloat/e5-mistral-7b-instruct. Она показывает лучшие результаты, но требует много памяти и вычислительной мощности.
Оптимальный баланс: если у вас есть немного свободных гигабайт VRAM, то стоит обратить внимание на модели deepvk/USER-bge-m3, BAAI/bge-m3 и intfloat/multilingual-e5-large-instruct. Они предлагают хорошее соотношение между производительностью и потреблением ресурсов.
Ресурсоэффективные решения: для разработчиков с ограниченными ресурсами подойдут модели sergeyzh/LaBSE-ru-turbo и deepvk/USER-base. Эти модели способны работать на средних конфигурациях и обеспечивают достойное качество репрезентации текста.
Минимальные требования: Если у вас практически нет ресурсов, то модель sergeyzh/rubert-tiny-turbo будет лучшим выбором. Она может работать даже на очень скромных конфигурациях, оставаясь при этом достаточно эффективной.
Если вы хотите протестировать свою модель и добавить её в лидерборд ruMTEB, выполните следующие шаги [12]:
Для начала вам нужно запустить вашу модель на MTEB (Multilingual Task Embedding Benchmark). Это можно сделать двумя способами:
через Python API;
используя командную строку.
Использование Python API:
import mteb
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(model_name)
benchmark = mteb.get_benchmark("MTEB(rus)")
evaluation = mteb.MTEB(tasks=benchmark)
evaluation.run(model, output_folder="results")
Использование командной строки:
mteb run -m {название_вашей_модели} -t {названия_задач}
Эти команды сохранят результаты в папке results/{model_name}/{model_revision}.
После того, как вы получите результаты, вам нужно их отформатировать для добавления в лидерборд. Используйте следующую команду:
mteb create_meta --results_folder results/{model_name}/{model_revision} --output_path model_card.md
Если у вашей модели уже существует файл README.md, вы можете объединить результаты с существующим описанием:
mteb create_meta --results_folder results/{model_name}/{model_revision} --output_path model_card.md --from_existing ваш_существующий_readme.md
Скопируйте содержимое файла model_card.md в начало файла README.md вашего репозитория модели на Hugging Face. Это необходимо для того, чтобы ваши результаты были учтены в лидерборде. Пример файла README.md [13]
После добавления метаданных в README.md вашей модели, просто подождите, пока лидерборд автоматически обновится. Обновление происходит ежедневно, и ваша модель появится в списке при следующем обновлении.
Новый лидерборд и расширенный список протестированных моделей помогут вам выбрать наиболее подходящий инструмент для ваших задач, будь то работа на мощных серверах или на устройствах с минимальными ресурсами.
Авторы: Роман Соломатин [14], Мичил Егоров [15]
Автор: SamoedR
Источник [16]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/iskusstvenny-j-intellekt/397422
Ссылки в тексте:
[1] ruMTEB: https://github.com/embeddings-benchmark/mteb/pull/815
[2] подробнее в статье авторов: https://habr.com/ru/companies/sberdevices/articles/831150/
[3] лидерборда: https://huggingface.co/spaces/mteb/leaderboard
[4] Интеграция LLM в корпоративные чат-боты: RAG-подход и эксперименты: https://habr.com/ru/companies/X5Tech/articles/834832/
[5] intfloat/e5-mistral-7b-instruct: https://huggingface.co/intfloat/e5-mistral-7b-instruct
[6] deepvk/USER-bge-m3: https://huggingface.co/deepvk/USER-bge-m3
[7] BAAI/bge-m3: https://huggingface.co/BAAI/bge-m3
[8] deepvk/USER-base: https://huggingface.co/deepvk/USER-base
[9] sergeyzh/LaBSE-ru-turbo: https://huggingface.co/sergeyzh/LaBSE-ru-turbo
[10] sergeyzh/rubert-tiny-turbo: https://huggingface.co/sergeyzh/rubert-tiny-turbo
[11] cointegrated/LaBSE-en-ru: https://huggingface.co/cointegrated/LaBSE-en-ru
[12] следующие шаги: https://github.com/embeddings-benchmark/mteb/blob/main/docs/adding_a_model.md
[13] Пример файла README.md: https://huggingface.co/intfloat/multilingual-e5-small/blob/main/README.md
[14] Роман Соломатин: https://habr.com/ru/users/SamoedR/
[15] Мичил Егоров: https://habr.com/ru/users/EgorovM/
[16] Источник: https://habr.com/ru/companies/X5Tech/articles/845398/?utm_campaign=845398&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.