/ Модель

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

Контекст
514 токенов
Параметры
454 млн
Лицензия
MIT
Архитектура
roberta · dense

roberta-large-finetuned-race

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

RoBERTa-large, дообученная на RACE для ответов на вопросы по тексту с выбором из нескольких вариантов.

207скачиваний за 30 дней11лайковвеса обновлены20 мая 2021

Бенчмарки

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

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

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

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

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

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

LIAMF-USP/roberta-large-finetuned-race — модель на архитектуре RoBERTa-large, дообученная на наборе RACE для решения задач с выбором одного варианта ответа. Она предназначена для ответов на вопросы по тексту и чтения с пониманием, включая задания школьного уровня. В карточке приведена точность 84,9% на полном тестовом наборе RACE, 83,5% на тесте старшей школы и 88,0% на тесте средней школы; для оценки указано 85,2%.

Модель содержит 454,1 млн параметров, поддерживает контекст до 514 токенов и опубликована в форматах PyTorch, TensorFlow и Flax. Лицензия — MIT.

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

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

Ограничения

Настроена на задания набора RACE, поэтому качество на других типах вопросов и вне тестового формата не установлено. Контекст ограничен 514 токенами.

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

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

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

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

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

Открыть на Hugging Face

Roberta Large Fine Tuned on RACE

Model description

This model is a fine-tuned model of Roberta-large applied on RACE

How to use


import datasets
from transformers import RobertaTokenizer
from transformers import  RobertaForMultipleChoice

tokenizer = RobertaTokenizer.from_pretrained(
"LIAMF-USP/roberta-large-finetuned-race")
model = RobertaForMultipleChoice.from_pretrained(
"LIAMF-USP/roberta-large-finetuned-race")
dataset = datasets.load_dataset(
    "race",
    "all",
    split=["train", "validation", "test"],
)training_examples = dataset[0]
evaluation_examples = dataset[1]
test_examples = dataset[2]

example=training_examples[0] 
example_id = example["example_id"]
question = example["question"]
context = example["article"]
options = example["options"]
label_example = example["answer"]
label_map = {label: i 
    for i, label in enumerate(["A", "B", "C", "D"])}
choices_inputs = []
for ending_idx, (_, ending) in enumerate(
                                zip(context, options)):
    if question.find("_") != -1:
        # fill in the banks questions
        question_option = question.replace("_", ending)
    else:
        question_option = question + " " + ending
    inputs = tokenizer(
        context,
        question_option,
        add_special_tokens=True,
        max_length=MAX_SEQ_LENGTH,
        padding="max_length",
        truncation=True,
        return_overflowing_tokens=False,
    )    
label = label_map[label_example]
input_ids = [x["input_ids"] for x in choices_inputs]
attention_mask = (
    [x["attention_mask"] for x in choices_inputs]
     # as the senteces follow the same structure, 
     #just one of them is necessary to check
    if "attention_mask" in choices_inputs[0]
    else None
)
example_encoded = {
    "example_id": example_id,
    "input_ids": input_ids,
    "attention_mask": attention_mask,
    "label": label,
}
output = model(**example_encoded)

Training data

The initial model was roberta large model which was then fine-tuned on RACE dataset

Training procedure

It was necessary to preprocess the data with a method that is exemplified for a single instance in the How to use section. The used hyperparameters were the following:

HyperparameterValue
adam_beta10.9
adam_beta20.98
adam_epsilon1.000e-8
eval_batch_size32
train_batch_size1
fp16True
gradient_accumulation_steps16
learning_rate0.00001
warmup_steps1000
max_length512
epochs4

Eval results:

Dataset AccEvalAll TestHigh School TestMiddle School Test
85.284.983.588.0

The model was trained with a Tesla V100-PCIE-16GB

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
RobertaForMultipleChoice
Ревизия весов
671db47

0 моделей