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
- Make sure you have Python 3.7+ installed
- 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:
- Download the pre-trained DistilRoBERTa financial sentiment model from Hugging Face Hub (it doesn't use the local model files)
- Convert it to TorchScript format using tracing
- Save the optimized model as
model.ptin 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
Dataset used to train gaepiaz/distilroberta-finetuned-financial-news-sentiment-analysis-java
Evaluation results
- Accuracy on financial_phrasebankself-reported0.982