|
--- |
|
license: apache-2.0 |
|
base_model: mistralai/Mistral-7B-Instruct-v0.2 |
|
tags: |
|
- trl |
|
- sft |
|
- generated_from_trainer |
|
model-index: |
|
- name: AmsterdamDocClassificationMistral200T2Epochs |
|
results: [] |
|
datasets: |
|
- FemkeBakker/AmsterdamBalancedFirst200Tokens |
|
language: |
|
- nl |
|
--- |
|
|
|
# AmsterdamDocClassificationMistral200T2Epochs |
|
|
|
As part of the Assessing Large Language Models for Document Classification project by the Municipality of Amsterdam, we fine-tune Mistral, Llama, and GEITje for document classification. |
|
The fine-tuning is performed using the [AmsterdamBalancedFirst200Tokens](https://huggingface.co/datasets/FemkeBakker/AmsterdamBalancedFirst200Tokens) dataset, which consists of documents truncated to the first 200 tokens. |
|
In our research, we evaluate the fine-tuning of these LLMs across one, two, and three epochs. |
|
This model is a fine-tuned version of [mistralai/Mistral-7B-Instruct-v0.2](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2) and has been fine-tuned for two epochs. |
|
|
|
It achieves the following results on the evaluation set: |
|
- Loss: 0.6601 |
|
|
|
## Training and evaluation data |
|
|
|
- The training data consists of 9900 documents and their labels formatted into conversations. |
|
- The evaluation data consists of 1100 documents and their labels formatted into conversations. |
|
|
|
## Training procedure |
|
|
|
See the [GitHub](https://github.com/Amsterdam-Internships/document-classification-using-large-language-models) for specifics about the training and the code. |
|
|
|
|
|
### Training hyperparameters |
|
|
|
The following hyperparameters were used during training: |
|
- learning_rate: 1e-05 |
|
- train_batch_size: 2 |
|
- eval_batch_size: 8 |
|
- seed: 42 |
|
- gradient_accumulation_steps: 8 |
|
- total_train_batch_size: 16 |
|
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 |
|
- lr_scheduler_type: cosine |
|
- lr_scheduler_warmup_ratio: 0.1 |
|
- num_epochs: 2 |
|
|
|
### Training results |
|
|
|
| Training Loss | Epoch | Step | Validation Loss | |
|
|:-------------:|:------:|:----:|:---------------:| |
|
| 0.9863 | 0.1988 | 123 | 0.8790 | |
|
| 0.7918 | 0.3976 | 246 | 0.8324 | |
|
| 0.5133 | 0.5964 | 369 | 0.7915 | |
|
| 0.5702 | 0.7952 | 492 | 0.7591 | |
|
| 0.7897 | 0.9939 | 615 | 0.6976 | |
|
| 0.5872 | 1.1927 | 738 | 0.6768 | |
|
| 0.4242 | 1.3915 | 861 | 0.6649 | |
|
| 0.5222 | 1.5903 | 984 | 0.6609 | |
|
| 0.2609 | 1.7891 | 1107 | 0.6599 | |
|
| 0.4834 | 1.9879 | 1230 | 0.6601 | |
|
|
|
|
|
Training time: it took in total 1 hour and 22 minutes to fine-tune the model for two epochs. |
|
|
|
### Framework versions |
|
|
|
- Transformers 4.41.1 |
|
- Pytorch 2.3.0+cu121 |
|
- Datasets 2.19.1 |
|
- Tokenizers 0.19.1 |
|
|
|
### Acknowledgements |
|
This model was trained as part of [insert thesis info] in collaboration with Amsterdam Intelligence for the City of Amsterdam. |
|
|