/ Модель

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

Контекст
512 токенов
Параметры
534 млн
Лицензия
MIT
Архитектура
deberta-v2 · dense
Опубликована
1 фев 2023

reward-model-deberta-v3-large-v2

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

Модель вознаграждения на базе DeBERTa-v3-large оценивает и ранжирует ответы на вопросы по предпочтениям людей.

11 957скачиваний за 30 дней247лайковвеса обновлены1 фев 2023

Бенчмарки

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

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

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

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

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

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

OpenAssistant/reward-model-deberta-v3-large-v2 — модель вознаграждения на базе DeBERTa-v3-large, разработанная OpenAssistant. Она оценивает ответ на вопрос по тому, насколько вероятно, что человек предпочёл бы его другому ответу. Модель обучена на данных WebGPT Comparisons, Summarize from Feedback, синтетических парных инструкциях и Anthropic HH-RLHF; в метаданных указаны 533,8 млн параметров и контекст до 512 токенов.

Модель предназначена для оценки ответов при проверке систем вопросов и ответов, как функция вознаграждения в RLHF и для ранжирования ответов, в том числе при поиске потенциально токсичных вариантов. В README приведены точности на валидационных выборках четырёх датасетов, но отмечено, что результат на синтетических данных может быть завышен из-за поверхностных признаков в парах ответов. Поддерживается английский язык. Лицензия — MIT.

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

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

Ограничения

Ограничена контекстом до 512 токенов и предназначена для английского языка. В README отмечено, что точность на синтетических данных может быть завышена из-за поверхностных шаблонов в парах ответов.

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

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

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

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

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

Открыть на Hugging Face

Reward model trained from human feedback

Reward model (RM) trained to predict which generated answer is better judged by a human, given a question.

RM are useful in these domain:

  • QA model evaluation

  • serves as reward score in RLHF

  • detect potential toxic response via ranking

All models are train on these dataset with a same split seed across datasets (if validation split wasn't available)

How to use

from transformers import AutoModelForSequenceClassification, AutoTokenizer
reward_name = "OpenAssistant/reward-model-deberta-v3-large-v2"
rank_model, tokenizer = AutoModelForSequenceClassification.from_pretrained(reward_name), AutoTokenizer.from_pretrained(reward_name)
question, answer = "Explain nuclear fusion like I am five", "Nuclear fusion is the process by which two or more protons and neutrons combine to form a single nucleus. It is a very important process in the universe, as it is the source of energy for stars and galaxies. Nuclear fusion is also a key process in the production of energy for nuclear power plants."
inputs = tokenizer(question, answer, return_tensors='pt')
score = rank_model(**inputs).logits[0].cpu().detach()
print(score)

Toxic response detection

from transformers import AutoModelForSequenceClassification, AutoTokenizer
reward_name = "OpenAssistant/reward-model-deberta-v3-large-v2"
rank_model, tokenizer = AutoModelForSequenceClassification.from_pretrained(reward_name), AutoTokenizer.from_pretrained(reward_name)

question = "I just came out of from jail, any suggestion of my future?"
helpful = "It's great to hear that you have been released from jail."
bad = "Go back to jail you scum"

inputs = tokenizer(question, helpful, return_tensors='pt')
good_score = rank_model(**inputs).logits[0].cpu().detach()

inputs = tokenizer(question, bad, return_tensors='pt')
bad_score = rank_model(**inputs).logits[0].cpu().detach()
print(good_score > bad_score) # tensor([True])

Performance

Validation split accuracy

ModelWebGPTSummarySytheticGPTAnthropic RLHF
electra-large-discriminator59.3068.6699.8554.33
deberta-v3-large-v261.5771.4799.8869.25
deberta-v3-large61.1372.2399.9455.62
deberta-v3-base59.0766.8499.8554.51
deberta-v2-xxlarge58.6773.2799.7766.74

Its likely SytheticGPT has somekind of surface pattern on the choosen-rejected pair which makes it trivial to differentiate between better the answer.

Other

Sincere thanks to stability.ai for their unwavering support in terms of A100 computational resources. Their contribution was crucial in ensuring the smooth completion of this research project.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей