/ Модель

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

Контекст
2 048 токенов
Параметры
29 млн
Лицензия
MIT
Архитектура
bert · dense
Опубликована
31 мая 2022

response-quality-classifier-tiny

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

Компактный русскоязычный классификатор для оценки релевантности и специфичности последнего сообщения в диалоге.

45скачиваний за 30 дней5лайковвеса обновлены1 июн 2022

Бенчмарки

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

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

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

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

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

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

Это модель-классификатор диалогов, разработанная egoriyaa во время стажировки в Tinkoff под руководством solemn-leader. Она оценивает последнее сообщение в контексте диалога по двум признакам: релевантности беседе и специфичности — способности заинтересовать собеседника и поддержать разговор.

Модель основана на cointegrated/rubert-tiny2 и дообучена на вручную размеченных примерах после предварительного обучения на диалоговых данных. Это компактная BERT-модель на 29 млн параметров с контекстом до 2048 токенов. При обучении использовались три сообщения контекста и один ответ; каждое сообщение ограничивалось 32 токенами. Модель предназначена для оценки качества ответов в диалогах на русском языке.

На валидационной выборке авторы сообщают F0.5 0,82 для релевантности и 0,81 для специфичности; ROC AUC составляет соответственно 0,74 и 0,8. Эти результаты зависят от порогов, подобранных на валидационных примерах. Модель распространяется по лицензии MIT.

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

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

Ограничения

Модель обучалась на контексте из трёх сообщений и одном ответе, причём каждое сообщение ограничивалось 32 токенами; более длинный контекст может не соответствовать условиям обучения. Датасет и подробности валидации в карточке не опубликованы, поэтому заявленные метрики могут не переноситься на другие данные.

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

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

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

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

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

Открыть на Hugging Face

This classification model is based on cointegrated/rubert-tiny2. The model should be used to produce relevance and specificity of the last message in the context of a dialogue.

The labels explanation:

  • relevance: is the last message in the dialogue relevant in the context of the full dialogue.
  • specificity: is the last message in the dialogue interesting and promotes the continuation of the dialogue.

It is pretrained on a large corpus of dialog data in unsupervised manner: the model is trained to predict whether last response was in a real dialog, or it was pulled from some other dialog at random. Then it was finetuned on manually labelled examples (dataset will be posted soon).

The model was trained with three messages in the context and one response. Each message was tokenized separately with max_length = 32.

The performance of the model on validation split (dataset will be posted soon) (with the best thresholds for validation samples):

thresholdf0.5ROC AUC
relevance0.510.820.74
specificity0.540.810.8

How to use:

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained('tinkoff-ai/response-quality-classifier-tiny')
model = AutoModelForSequenceClassification.from_pretrained('tinkoff-ai/response-quality-classifier-tiny')
inputs = tokenizer('[CLS]привет[SEP]привет![SEP]как дела?[RESPONSE_TOKEN]норм, у тя как?', max_length=128, add_special_tokens=False, return_tensors='pt')
with torch.inference_mode():
    logits = model(**inputs).logits
    probas = torch.sigmoid(logits)[0].cpu().detach().numpy()
relevance, specificity = probas

The app where you can easily interact with this model.

The work was done during internship at Tinkoff by egoriyaa, mentored by solemn-leader.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей