/ Модель

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

Контекст
512 токенов
Параметры
124 млн
Лицензия
Apache 2.0
Архитектура
t5 · dense
Опубликована
11 мая 2023

flan-t5-base-imdb-text-classification

Языковая модель3 профессии

Дообученная Flan-T5-base модель определяет положительную или отрицательную тональность отзывов о фильмах на IMDB.

14скачиваний за 30 дней0лайковвеса обновлены12 мая 2023

Бенчмарки

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

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

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

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

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

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

Модель mohammadtaghizadeh/flan-t5-base-imdb-text-classification — дообученная Mohammad Taghizadeh версия google/flan-t5-base для классификации отзывов о фильмах из набора IMDB на положительные и отрицательные. Она построена на архитектуре T5 и содержит 123,8 млн параметров; принимает текст отзыва и генерирует метку класса. В README указаны accuracy 93% и F1 95,084 на тестовом наборе из 25 000 отзывов.

Модель подходит для определения тональности англоязычных отзывов о фильмах и анализа мнений в данных, похожих на IMDB. Контекст составляет 512 токенов. Репозиторий содержит веса PyTorch, лицензия — Apache-2.0. Результаты относятся к указанному набору данных и не гарантируют такое же качество на других темах, языках или форматах текста.

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

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

Ограничения

Оценки приведены только для IMDB; качество на других темах и языках не подтверждено. Контекст ограничен 512 токенами.

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

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

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

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

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

Открыть на Hugging Face

flan-t5-base-imdb-text-classification

This model is a fine-tuned version of google/flan-t5-base on the IMDB dataset. It achieves the following results on the evaluation set:

  • Loss: 0.0767
  • F1: 95.084
  • Gen Len: 2.4976
              precision    recall  f1-score   support

           0       0.97      0.88      0.92     12500
           1       0.89      0.97      0.93     12500

    accuracy                           0.93     25000
   macro avg       0.93      0.93      0.93     25000
weighted avg       0.93      0.93      0.93     25000

Model description

In this implementation, using the Flan T5 large language model, we performed the Text Classification task on the IMDB dataset and obtained a very good accuracy of 93%.

Training and evaluation data

This model was trained on the imdb train dataset with 25,000 data and then tested and evaluated on the imdb test dataset with 25,000 data.

Usage

  1. Install dependencies
!pip install transformers==4.28.1 datasets
  1. Load IMDB Corpus
from datasets import load_dataset

dataset_id = "imdb"

# Load dataset from the hub
dataset = load_dataset(dataset_id)
  1. Load fine tune flan t5 model
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("mohammadtaghizadeh/flan-t5-base-imdb-text-classification")
model = AutoModelForSeq2SeqLM.from_pretrained("mohammadtaghizadeh/flan-t5-base-imdb-text-classification")
model.to('cuda')
  1. Test the model
from tqdm.auto import tqdm

samples_number = len(dataset['test'])
progress_bar = tqdm(range(samples_number))
predictions_list = []
labels_list = []
for i in range(samples_number):
  text = dataset['test']['text'][i]
  inputs = tokenizer.encode_plus(text, padding='max_length', max_length=512, return_tensors='pt').to('cuda')
  outputs = model.generate(inputs['input_ids'], attention_mask=inputs['attention_mask'], max_length=150, num_beams=4, early_stopping=True)
  prediction = tokenizer.decode(outputs[0], skip_special_tokens=True)
  predictions_list.append(prediction)
  labels_list.append(dataset['test']['label'][i])

  progress_bar.update(1)
  1. Classification report
from sklearn.metrics import classification_report

str_labels_list = []
for i in range(len(labels_list)): str_labels_list.append(str(labels_list[i]))

report = classification_report(str_labels_list, predictions_list)
print(report)

Output

              precision    recall  f1-score   support

           0       0.97      0.88      0.92     12500
           1       0.89      0.97      0.93     12500

    accuracy                           0.93     25000
   macro avg       0.93      0.93      0.93     25000
weighted avg       0.93      0.93      0.93     25000

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 0.0003
  • train_batch_size: 8
  • eval_batch_size: 8
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • num_epochs: 2

Training results

Training LossEpochStep
0.1005001.03125
0.0436002.06250

Framework versions

  • Transformers 4.28.1
  • Pytorch 2.0.0+cu118
  • Datasets 2.12.0
  • Tokenizers 0.13.3

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

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

GPU в ailist

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

Нельзя запустить

У модели не указана задача.

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

0 моделей