/ Модель

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

Контекст
512 токенов
Параметры
129 млн
Лицензия
MIT
Архитектура
bert · dense
Опубликована
7 дек 2023

promcse-bert-base-zh

Сходство предложенийТекст → score6 профессий

Китайскоязычная модель на основе BERT кодирует предложения в эмбеддинги для оценки их семантического сходства.

103скачиваний за 30 дней5лайковвеса обновлены23 сен 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hellonlp/promcse-bert-base-zh — китайскоязычная модель для сравнения предложений, разработанная на основе метода Prompt-based Contrastive Sentence Embeddings (PromCSE). Она кодирует предложения в векторные представления, по которым можно вычислять косинусное сходство; README описывает применение через пакет promcse и оценивание на китайских наборах данных ATEC, BQ, LCQMC и PAWSX.

Модель использует плотную архитектуру BERT с классом BertForCL, содержит 129,5 млн параметров и принимает последовательности длиной до 512 токенов. Репозиторий содержит веса PyTorch. Модель рассчитана на китайский язык; лицензия — MIT. Для переноса на другие языки или задачи в предоставленных сведениях подтверждений нет.

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

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

Ограничения

Максимальная длина входа составляет 512 токенов. Данные README и оценки описаны для китайского языка; качество на других языках не подтверждено.

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

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

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

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

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

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

Открыть на Hugging Face

PromCSE(sup)

Data List

The following datasets are all in Chinese.

Datasize(train)size(valid)size(test)
ATEC624772000020000
BQ1000001000010000
LCQMC238766880212500
PAWSX4940120002000
STS-B523114581361
SNLI14682826992618
MNLI12254729322397

Model List

The evaluation dataset is in Chinese, and we used the same language model RoBERTa base on different methods. In addition, considering that the test set of some datasets is small, which may lead to a large deviation in evaluation accuracy, the evaluation data here uses train, valid and test at the same time, and the final evaluation result adopts the weighted average (w-avg) method.

ModelSTS-B(w-avg)ATECBQLCQMCPAWSXAvg.
BERT-Whitening65.27-----
SimBERT70.01-----
SBERT-Whitening71.75-----
BAAI/bge-base-zh78.61-----
hellonlp/simcse-base-zh80.96-----
hellonlp/promcse-base-zh81.57-----

Uses

To use the tool, first install the promcse package from PyPI

pip install promcse

After installing the package, you can load our model by two lines of code

from promcse import PromCSE
model = PromCSE("hellonlp/promcse-bert-base-zh", "cls", 10)

Then you can use our model for encoding sentences into embeddings

embeddings = model.encode("武汉是一个美丽的城市。")
print(embeddings.shape)
#torch.Size([768])

Compute the cosine similarities between two groups of sentences

sentences_a = ['你好吗']
sentences_b = ['你怎么样','我吃了一个苹果','你过的好吗','你还好吗','你',
               '你好不好','你好不好呢','我不开心','我好开心啊', '你吃饭了吗',
               '你好吗','你现在好吗','你好个鬼']
similarities = model.similarity(sentences_a, sentences_b)
print(similarities)
# [(1.0, '你好吗'),
#  (0.9167, '你好不好'),
#  (0.8956, '你好不好呢'),
#  (0.8431, '你还好吗'),
#  (0.7919, '你怎么样'),
#  (0.7649, '你现在好吗'),
#  (0.7458, '你过的好吗'),
#  (0.6844, '你好个鬼'),
#  (0.6177, '你'),
#  (0.5654, '你吃饭了吗'),
#  (0.3612, '我好开心啊'),
#  (0.1875, '我不开心'),
#  (0.0866, '我吃了一个苹果')]

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

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

GPU в ailist

Универсальный рантайм

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

Подбираем GPU…

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

0 моделей