File size: 2,843 Bytes
a979dba
 
 
 
 
 
 
 
0494de8
a979dba
a0b48f7
 
 
 
a979dba
 
0494de8
 
 
 
 
a536236
a979dba
 
 
 
0494de8
a979dba
f3d89c4
 
a979dba
0494de8
a979dba
0494de8
a979dba
 
abd63cb
a979dba
 
 
 
 
 
 
 
 
 
 
 
 
abd63cb
a979dba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ed9a3d5
0494de8
abd63cb
a979dba
 
 
 
9e39f5a
 
 
0494de8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---
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.