its-zion-18/music-text-distilbert-predictor
DistilBERT-based Music Era Classifier
This repository contains a fine-tuned text classification model based on distilbert-base-uncased. The model is designed to classify short text descriptions of eras in classical music into one of four historical musical eras: 0, 1, 2, and 3.
Model Architecture & Training
The model was trained using the Hugging Face Trainer API. It utilizes a distilbert-base-uncased pre-trained model with a classification head on top.
- Tokenizer: AutoTokenizer.from_pretrained("distilbert-base-uncased")
- Model: AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased")
- Training Arguments: Learning Rate: 2×10−5
- Epochs: 5
- Batch Size: 8
- Evaluation Strategy: Per epoch
- Metric: accuracy
- Optimizer: AdamW
music-text-distilbert-predictor
This model is a fine-tuned version of distilbert-base-uncased on the samder03/2025-24679-text-dataset. It achieves the following results on the evaluation set:
- Loss: 0.0495
- Accuracy: 1.0
- F1: 1.0
- Precision: 1.0
- Recall: 1.0
Limitations
This model's primary limitations are:
Numerical Labels: The model outputs a numerical label (0, 1, 2, or 3). An external lookup table is required to map these numbers to their corresponding musical era names.
Language & Casing: As the model is based on distilbert-base-uncased, it is designed for English-language text and does not differentiate between uppercase and lowercase letters. It will not work for other languages.
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 2e-05
- trainbatchsize: 8
- evalbatchsize: 8
- seed: 42
- optimizer: Use OptimizerNames.ADAMWTORCHFUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
- lrschedulertype: linear
- num_epochs: 5
Training results
Framework versions
- Transformers 4.56.1
- Pytorch 2.8.0+cu126
- Datasets 4.0.0
- Tokenizers 0.22.0
Potential Errors
There could be a problem with dataleakage because the accuracy is at 100% Because the model has already been trained on the augmented data, which is just a derivative of the original data, the original dataset isn't a true holdout set. The model is essentially being tested on data that it has already seen and, in some cases, memorized.
