File size: 4,305 Bytes
0a293ec
f221c5c
 
 
 
0a293ec
f221c5c
0a293ec
f221c5c
 
 
 
 
 
 
 
0a293ec
 
f221c5c
0a293ec
f221c5c
0a293ec
f221c5c
0a293ec
f221c5c
0a293ec
f221c5c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0a293ec
 
f221c5c
0a293ec
f221c5c
0a293ec
f221c5c
 
 
 
 
 
 
 
 
 
0a293ec
f221c5c
 
 
 
 
9a9c51d
 
 
f221c5c
9a9c51d
 
 
f221c5c
 
9a9c51d
 
f221c5c
 
 
 
0a293ec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f221c5c
 
 
 
 
 
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
---
license: mit
language: en
datasets:
- youssefbelghmi/MNLP_M3_mcqa_dataset
library_name: transformers
pipeline_tag: text-classification
tags:
- mcqa
- multiple-choice
- qwen
- qwen3
- supervised-fine-tuning
- mnlp
- epfl
- stem
---

# MNLP M3 MCQA Model (Qwen3-0.6B fine-tuned)

This model is a fine-tuned version of **Qwen/Qwen3-0.6B-Base** on the [MNLP M3 MCQA dataset](https://huggingface.co/datasets/youssefbelghmi/MNLP_M3_mcqa_dataset), a large-scale collection of multiple-choice questions designed for evaluating and training models in **STEM** domains (science, math, engineering, medicine, etc.).

It was trained as part of the final milestone of the **CS-552: Modern NLP** course at EPFL (Spring 2025).

## Task

**Multiple-Choice Question Answering (MCQA):** Given a question and four answer options (A–D), the model must complete the prompt with the correct option letter only (e.g., `A`, `B`, `C`, or `D`). It was trained with rationales during supervision but outputs only the letter during inference, making it compatible with evaluation frameworks such as LightEval.

## Training Dataset

- **Dataset:** [`youssefbelghmi/MNLP_M3_mcqa_dataset`](https://huggingface.co/datasets/youssefbelghmi/MNLP_M3_mcqa_dataset).
- ~30,000 questions from SciQ, OpenBookQA, MathQA, ARC, and MedMCQA.
- Each sample includes in particular:
  - question,
  - four answer choices (A–D),
  - the correct answer as a letter,
  - a short explanation (`support`) to guide learning.

## Training Setup

- **Base model:** `Qwen/Qwen3-0.6B-Base`.
- **Method:** Supervised Fine-Tuning (SFT) with `trl` and `SFTTrainer`.
- **Tokenizer:** AutoTokenizer (with `eos_token` used as padding).

## Training Prompt Format

During fine-tuning, each training example is converted into a prompt-completion pair. The prompt includes both the question and an explanation to guide the model’s reasoning:

```text
The following is a multiple-choice question (with answers) about knowledge and skills in advanced master's-level STEM fields.
You will be provided with an explanation to help you understand the correct answer.
Select the correct answer by replying with the option letter (A, B, C, or D) only.

Question: <question_text>
A. <option_A>
B. <option_B>
C. <option_C>
D. <option_D>
Explanation: <support_text>
Answer:
```

The completion is a single token: " A", " B", " C", or " D", corresponding to the correct answer.

## Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 2e-5
- num_train_epochs: 1
- per_device_train_batch_size: 4
- per_device_eval_batch_size: 4
- gradient_accumulation_steps: 4
- gradient_checkpointing: true
- eval_strategy: steps
- eval_steps: 100
- logging_steps: 100

## Training Results

|   Epoch |   Training Loss |   Validation Loss |
|--------:|----------------:|------------------:|
|    0.08 |          0.3461 |            0.2748 |
|    0.15 |          0.2881 |            0.2666 |
|    0.23 |          0.2938 |            0.2661 |
|    0.31 |          0.2741 |            0.26   |
|    0.38 |          0.2684 |            0.257  |
|    0.46 |          0.2603 |            0.2539 |
|    0.54 |          0.2635 |            0.2441 |
|    0.61 |          0.2555 |            0.2457 |
|    0.69 |          0.2459 |            0.2414 |
|    0.77 |          0.2383 |            0.2353 |
|    0.84 |          0.2266 |            0.2337 |
|    0.92 |          0.2112 |            0.2338 |
|    0.99 |          0.211  |            0.2335 |

- **Final training loss:** 0.211  
- **Final validation accuracy:** ~92.0%  

### Framework versions

- TRL: 0.17.0
- Transformers: 4.53.0.dev0
- Pytorch: 2.7.0
- Datasets: 3.2.0
- Tokenizers: 0.21.0

## Citations

Cite TRL as:
    
```bibtex
@misc{vonwerra2022trl,
	title        = {{TRL: Transformer Reinforcement Learning}},
	author       = {Leandro von Werra and Younes Belkada and Lewis Tunstall and Edward Beeching and Tristan Thrush and Nathan Lambert and Shengyi Huang and Kashif Rasul and Quentin Gallou{\'e}dec},
	year         = 2020,
	journal      = {GitHub repository},
	publisher    = {GitHub},
	howpublished = {\url{https://github.com/huggingface/trl}}
}
```

## Author

Developed by [**Youssef Belghmi**](https://huggingface.co/youssefbelghmi)  
CS-552: Modern NLP – EPFL, Spring 2025