logo

DistilRoberta-financial-sentiment

This model is a fine-tuned version of distilroberta-base on the financial_phrasebank dataset. It achieves the following results on the evaluation set:

  • Loss: 0.1116
  • Accuracy: 0.9823

Base Model description

This model is a distilled version of the RoBERTa-base model. It follows the same training procedure as DistilBERT. The code for the distillation process can be found here. This model is case-sensitive: it makes a difference between English and English.

The model has 6 layers, 768 dimension and 12 heads, totalizing 82M parameters (compared to 125M parameters for RoBERTa-base). On average DistilRoBERTa is twice as fast as Roberta-base.

Training Data

Polar sentiment dataset of sentences from financial news. The dataset consists of 4840 sentences from English language financial news categorised by sentiment. The dataset is divided by agreement rate of 5-8 annotators.

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 2e-05
  • 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: 5

Training results

Training Loss Epoch Step Validation Loss Accuracy
No log 1.0 255 0.1670 0.9646
0.209 2.0 510 0.2290 0.9558
0.209 3.0 765 0.2044 0.9558
0.0326 4.0 1020 0.1116 0.9823
0.0326 5.0 1275 0.1127 0.9779

Framework versions

  • Transformers 4.10.2
  • Pytorch 1.9.0+cu102
  • Datasets 1.12.1
  • Tokenizers 0.10.3

Converting to TorchScript

This repository includes a script to convert the model to TorchScript format for optimized inference.

Prerequisites

  1. Make sure you have Python 3.7+ installed
  2. Install the required dependencies:
pip install -r requirements.txt

Running the Conversion Script

You can run this script from any directory - it downloads the model from Hugging Face Hub, so you don't need to be in this model repository.

Option 1: Run from any directory

python /path/to/convert_to_torchscript.py

Option 2: Copy the script to your project directory and run it there

# Copy the script to your project
cp convert_to_torchscript.py /your/project/directory/
cd /your/project/directory/
python convert_to_torchscript.py

Option 3: Run from this repository (if you cloned it)

cd distilroberta-finetuned-financial-news-sentiment-analysis
python convert_to_torchscript.py

What the Script Does

The convert_to_torchscript.py script will:

  1. Download the pre-trained DistilRoBERTa financial sentiment model from Hugging Face Hub (it doesn't use the local model files)
  2. Convert it to TorchScript format using tracing
  3. Save the optimized model as model.pt in the current working directory (wherever you run the script)

Output

After successful execution, you'll find:

  • model.pt - The TorchScript version of the model ready for production inference

The script uses an example financial text for tracing: "Operating profit totaled EUR 9.4 mn, down from EUR 11.7 mn in 2004."

Using the Converted Model

Once converted, you can load and use the TorchScript model for inference:

import torch

# Load the TorchScript model
model = torch.jit.load('model.pt')
model.eval()

# Your inference code here
Downloads last month
9
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train gaepiaz/distilroberta-finetuned-financial-news-sentiment-analysis-java

Evaluation results