bhadresh-savani/distilbert-base-uncased-emotion

text classificationtransformersentransformerspytorchtfjaxsafetensorsdistilbertapache-2.0
638.7K

Distilbert-base-uncased-emotion

Model description:

Distilbert is created with knowledge distillation during the pre-training phase which reduces the size of a BERT model by 40%, while retaining 97% of its language understanding. It's smaller, faster than Bert and any other Bert-based model.

Distilbert-base-uncased finetuned on the emotion dataset using HuggingFace Trainer with below Hyperparameters

 learning rate 2e-5, 
 batch size 64,
 num_train_epochs=8,

Model Performance Comparision on Emotion Dataset from Twitter:

ModelAccuracyF1 ScoreTest Sample per Second
Distilbert-base-uncased-emotion93.893.79398.69
Bert-base-uncased-emotion94.0594.06190.152
Roberta-base-emotion93.9593.97195.639
Albert-base-v2-emotion93.693.65182.794

How to Use the model:

from transformers import pipeline
classifier = pipeline("text-classification",model='bhadresh-savani/distilbert-base-uncased-emotion', return_all_scores=True)
prediction = classifier("I love using transformers. The best part is wide range of support and its easy to use", )
print(prediction)

"""
Output:
[[
{'label': 'sadness', 'score': 0.0006792712374590337}, 
{'label': 'joy', 'score': 0.9959300756454468}, 
{'label': 'love', 'score': 0.0009452480007894337}, 
{'label': 'anger', 'score': 0.0018055217806249857}, 
{'label': 'fear', 'score': 0.00041110432357527316}, 
{'label': 'surprise', 'score': 0.0002288572577526793}
]]
"""

Dataset:

Twitter-Sentiment-Analysis.

Training procedure

Colab Notebook

Eval results

{
'test_accuracy': 0.938,
 'test_f1': 0.937932884041714,
 'test_loss': 0.1472451239824295,
 'test_mem_cpu_alloc_delta': 0,
 'test_mem_cpu_peaked_delta': 0,
 'test_mem_gpu_alloc_delta': 0,
 'test_mem_gpu_peaked_delta': 163454464,
 'test_runtime': 5.0164,
 'test_samples_per_second': 398.69
 }

Reference:

DEPLOY IN 60 SECONDS

Run distilbert-base-uncased-emotion on Runcrate

Deploy on H100, A100, or RTX GPUs. Pay only for what you use. No setup required.