/ Модель

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

Контекст
514 токенов
Параметры
454 млн
Архитектура
roberta · dense
Опубликована
2 июл 2022

ruRoberta-large-paraphrase-v1

Классификация текстаТекст → label10 профессий

Русскоязычный RoBERTa cross-encoder определяет, эквивалентны ли по смыслу два предложения, и помогает оценивать сохранение содержания при перефразировании.

124скачиваний за 30 дней2лайкавеса обновлены3 апр 2023

Бенчмарки

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

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

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

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

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

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

ruRoberta-large-paraphrase-v1 — русскоязычная модель Sberbank AI на архитектуре RoBERTa Large, дообученная как cross-encoder для оценки семантической эквивалентности двух предложений. Она принимает пару текстов и классифицирует её как парафраз с тем же смыслом или как непарафраз; оценку также можно использовать для проверки сохранения содержания при перефразировании и переносе стиля. Модель обучалась на объединении RuPAWS, ru_paraphraser и размеченных примеров сохранения содержания из коллекции RUSSE-2022 для детоксикации текста.

Модель содержит 454,1 млн параметров, работает с текстом на русском языке и имеет контекст до 514 токенов. В README приведены ROC AUC от 0,857 до 0,906 на тестовых наборах detox, paraphraser, RuPAWS QQP и RuPAWS Wiki. Это классификатор пар предложений, поэтому для сравнения текстов их нужно подавать совместно; модель не генерирует перефразированный текст. Лицензия в предоставленных данных не приведена.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

This is a cross-encoder model trained to predict semantic equivalence of two Russian sentences.

It classifies text pairs as paraphrases (class 1) or non-paraphrases (class 0). Its scores can be used as a metric of content preservation for paraphrasing or text style transfer.

It is a sberbank-ai/ruRoberta-large model fine-tuned on a union of 3 datasets:

  1. RuPAWS: https://github.com/ivkrotova/rupaws_dataset based on Quora and QQP;
  2. ru_paraphraser: https://huggingface.co/merionum/ru_paraphraser;
  3. Results of the manual check of content preservation for the RUSSE-2022 text detoxification dataset collection (content_5.tsv).

The task was formulated as binary classification: whether the two sentences have the same meaning (1) or different (0).

The table shows the training dataset size after duplication (joining text1 + text2 and text2 + text1 pairs):

source \ label01
detox14123843
paraphraser55391688
rupaws_qqp1112792
rupaws_wiki35262166

The model was trained with Adam optimizer and the following hyperparameters:

learning_rate = 1e-5
batch_size = 8
gradient_accumulation_steps = 4
n_epochs = 3
max_grad_norm = 1.0

After training, the model had the following ROC AUC scores on the test sets: set | ROC AUC

  • | - detox | 0.857112 paraphraser | 0.858465 rupaws_qqp | 0.859195 rupaws_wiki | 0.906121

Example usage:

import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer

model = AutoModelForSequenceClassification.from_pretrained('SkolkovoInstitute/ruRoberta-large-paraphrase-v1')
tokenizer = AutoTokenizer.from_pretrained('SkolkovoInstitute/ruRoberta-large-paraphrase-v1')

def get_similarity(text1, text2):
    """ Predict the probability that two Russian sentences are paraphrases of each other. """
    with torch.inference_mode():
        batch = tokenizer(
            text1, text2, 
            truncation=True, max_length=model.config.max_position_embeddings, return_tensors='pt',
        ).to(model.device)
        proba = torch.softmax(model(**batch).logits, -1)
    return proba[0][1].item()

print(get_similarity('Я тебя люблю', 'Ты мне нравишься'))  # 0.9798
print(get_similarity('Я тебя люблю', 'Я тебя ненавижу'))   # 0.0008

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей