File size: 11,011 Bytes
e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 964655d e2aaf21 |
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 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
---
datasets: WiroAI/dolphin-r1-Italian
library_name: transformers
model_name: OpenR1-Qwen-7B-Italian
tags:
- generated_from_trainer
- trl
- sft
licence: license
license: apache-2.0
language:
- it
base_model:
- Qwen/Qwen2.5-7B-Instruct
---
<div align="center" style="display: flex; justify-content: center; align-items: center;">
<img src="https://huggingface.co/WiroAI/wiroai-turkish-llm-9b/resolve/main/wiro_logo.png" width="15%" alt="Wiro AI" />
<img src="https://upload.wikimedia.org/wikipedia/en/0/03/Flag_of_Italy.svg" width="15%" alt="Italian Flag" style="margin-left: 10px;" />
</div>
<hr>
<div align="center" style="line-height: 1;">
<a href="https://www.wiro.ai/" target="_blank" style="margin: 2px;">
<img alt="Homepage" src="https://huggingface.co/WiroAI/wiroai-turkish-llm-9b/resolve/main/homepage.svg" style="display: inline-block; vertical-align: middle;"/>
</a>
<a href="https://wiro.ai/tools?search=&categories=chat&tags=&page=0" target="_blank" style="margin: 2px;">
<img alt="Chat" src="https://huggingface.co/WiroAI/wiroai-turkish-llm-9b/resolve/main/chat.svg" style="display: inline-block; vertical-align: middle;"/>
</a>
<a href="https://huggingface.co/WiroAI" target="_blank" style="margin: 2px;">
<img alt="Hugging Face" src="https://huggingface.co/WiroAI/wiroai-turkish-llm-9b/resolve/main/huggingface.svg" style="display: inline-block; vertical-align: middle;"/>
</a>
</div>
<div align="center" style="line-height: 1;">
<a href="https://instagram.com/wiroai" target="_blank" style="margin: 2px;">
<img alt="Instagram Follow" src="https://img.shields.io/badge/Instagram-wiroai-555555?logo=instagram&logoColor=white&labelColor=E4405F" style="display: inline-block; vertical-align: middle;"/>
</a>
<a href="https://x.com/wiroai" target="_blank" style="margin: 2px;">
<img alt="X Follow" src="https://img.shields.io/badge/X-wiroai-555555?logo=x&logoColor=white&labelColor=000000" style="display: inline-block; vertical-align: middle;"/>
</a>
</div>
<div align="center" style="line-height: 1;">
<a href="https://wiro.ai/agreement/terms-of-service" style="margin: 2px;">
<img alt="License" src="https://img.shields.io/badge/License-apache 2.0-f5de53?&color=f5de53" style="display: inline-block; vertical-align: middle;"/>
</a>
</div>
# 🚀 OpenR1-Qwen-7B-Italian 🚀
This is a finetune of [Qwen2.5-Instruct](https://huggingface.co/Qwen/Qwen2.5-7B-Instruct) on [WiroAI/dolphin-r1-Italian](https://huggingface.co/datasets/WiroAI/dolphin-r1-Italian).
## 🟢 Overview
- DeepSeek's distilled models sometimes reason in Chinese or English even though prompted in another language.
- Open-Source models still need improvement on relatively low-resource languages.
- A motivation to reproduce R1 and contribute to the community.
## 🟢 Training
- We train the model on the [WiroAI/dolphin-r1-Italian](https://huggingface.co/datasets/WiroAI/dolphin-r1-Italian) for 2 epochs. We use learning rate of 1e-5 and max seq length 4096. The training follows a cosine learning rate schedule with a 10% warmup phase.
- Training took 5 days in 8xA6000 ADA cluster.
- Normally, R1 team compares the performance of OpenR1 models to DeepSeek-Distill-Qwen-7B and OpenThinker-7B using [lighteval](https://github.com/huggingface/open-r1/tree/main?tab=readme-ov-file#evaluating-models). However, the datasets are only MATH oriented so not to conclude anything we won't disclose the default results.
You can find the training and evaluation code at: https://github.com/huggingface/open-r1/
## 🐨 Quick start
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "OpenR1-Qwen-7B-Italian"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "Trova il valore di $x$ che soddisfa l'equazione $4x+5 = 6x+7$."
messages = [
{"role": "system", "content": "Si prega di ragionare passo dopo passo prima di rispondere."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
generated_ids = model.generate(
model_inputs.input_ids,
max_new_tokens=4096
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
```
```
<|begin_of_thought|>
Ok, allora devo risolvere l'equazione 4x + 5 uguale a 6x + 7 per x.
Mmm, vediamo. Ricordo dalle lezioni di algebra che quando hai un'equazione come questa, vuoi isolare la variabile su un lato.
Probabilmente significa portare tutti i termini con la x da una parte e le costanti dall'altra. Cerchiamo di ricordare i passaggi esatti.
Innanzitutto, forse posso sottrarre 4x da entrambi i lati per eliminare il 4x a sinistra. Proviamo. Se sottraggo 4x da entrambi i lati, otterrei:
4x + 5 - 4x = 6x + 7 - 4x
Semplificando entrambi i lati, il 4x e il -4x sul lato sinistro si annullano, lasciando solo 5. Sul lato destro, 6x meno 4x fa 2x. Quindi ora l'equazione è:
5 = 2x + 7\n\nOk, sembra più semplice. Ora, devo ottenere x da sola.
Il termine costante al lato destro è 7, quindi forse posso sottrarre 7 da entrambi i lati per sbarazzarmene.
Facciamolo: 5 - 7 = 2x + 7 - 7\n\nSemplificando entrambi i lati: 5 - 7 fa -2, e 7 - 7 si annulla, lasciando 2x.
Quindi ora abbiamo: -2 = 2x
Mmm, quindi 2x è uguale a -2. Per risolvere per x, dovrei dividere entrambi i lati per 2. Verifichiamo:
(-2) / 2 = (2x)/2
Che si semplifica in: -1 = x
Quindi x è uguale a -1. Vediamo se ha senso. Sostituiamo x = -1 nell'equazione originale per verificare.
Lato sinistro: 4*(-1) + 5 = -4 + 5 = 1
Lato destro: 6*(-1) + 7 = -6 + 7 = 1
Oh, entrambi i lati sono uguali a 1. Funziona! Quindi x = -1 è effettivamente la soluzione corretta.
Aspetta, ma voglio assicurarmi di non aver fatto errori nei miei passaggi. Ripercorriamo di nuovo ogni passaggio.
Equazione originale: 4x + 5 = 6x + 7
Passaggio 1: Sottrai 4x da entrambi i lati. Questo dà 5 = 2x + 7. Sembra giusto perché 4x - 4x è 0, quindi rimane 5, e 6x - 4x è 2x.
Passaggio 2: Sottrai 7 da entrambi i lati. Questo dà 5 - 7 = 2x, che è -2 = 2x. Corretto.
Passaggio 3: Dividi entrambi i lati per 2. -2 diviso per 2 è -1, quindi x = -1. Sì, torna tutto.
Un altro modo per affrontarlo potrebbe essere quello di sottrarre prima 5 da entrambi i lati invece di sottrarre 4x.
Proviamo questo metodo per confermare.\n\nPartendo da 4x + 5 = 6x + 7
Sottrai 5 da entrambi i lati: 4x = 6x + 2
Ora, sottrai 6x da entrambi i lati: 4x - 6x = 2
Che dà -2x = 2\n\nDividi entrambi i lati per -2: x = 2 / (-2) = -1
Stesso risultato. Ok, quindi sia che io sottragga prima 4x o 5, finisco comunque con x = -1. Questo mi dà più fiducia che la soluzione sia corretta.
In alternativa, potrei anche usare l'addizione di equazioni. Vediamo. Se voglio avere tutti i termini con x su un lato e le costanti sull'altro, posso riorganizzare l'equazione iniziale.
Sottrai 4x e 7 da entrambi i lati contemporaneamente.\n\nAspetta, forse no. Pensiamoci. L'idea è quella di spostare tutti i termini con x a sinistra e le costanti a destra.
Quindi partendo da 4x + 5 = 6x + 7\n\nSe sottraggo 4x da entrambi i lati, come ho fatto prima, ottengo 5 = 2x + 7.
In alternativa, se sottraggo 6x e 5 da entrambi i lati, sarebbe: 4x + 5 - 6x - 5 = 6x + 7 - 6x - 5
Semplificando il lato sinistro: (4x - 6x) + (5 - 5) = -2x + 0 = -2x
Lato destro: (6x - 6x) + (7 - 5) = 0 + 2 = 2
Quindi, -2x = 2, portando a x = -1. Stessa risposta. Quindi indipendentemente dal metodo, è coerente.
Un altro controllo: visualizziamo l'equazione. Il lato sinistro è 4x + 5, che è una linea con pendenza 4 e intercetta y a 5.
Il lato destro è 6x + 7, una linea con pendenza 6 e intercetta y a 7. L'equazione chiede dove queste due linee si intersecano.
Poiché hanno pendenze diverse, dovrebbero intersecarsi esattamente in un punto. La nostra soluzione x = -1 è dove si incrociano.
Verifichiamo con un grafico approssimativo.
A x = -1, il lato sinistro è 4*(-1) + 5 = -4 + 5 = 1. Il lato destro è 6*(-1) + 7 = -6 + 7 = 1. Quindi entrambe le linee passano per ( -1, 1 ). Ha senso.
Se le linee avessero la stessa pendenza, sarebbero parallele e non si intersecherebbero mai, ma poiché le loro pendenze sono diverse (4 contro 6), devono intersecarsi esattamente una volta.
Pertanto, x = -1 è l'unica soluzione. C'è qualche possibilità che abbia commesso un errore aritmetico? Ricontrolliamo di nuovo ogni passaggio.
Equazione originale: 4x + 5 = 6x + 7
Sottrai 4x: 5 = 2x + 7 Sottrai 7: -2 = 2x Dividi per 2: -1 = x
Tutte le operazioni sono aritmetiche semplici. Sottrarre 4x e 7, quindi dividere per 2. Nessun problema lì. In alternativa, se inserisco x = -1 nell'equazione originale, come ho fatto prima, entrambi i lati sono uguali a 1, quindi funziona.
Penso che sia completo. Non riesco a vedere errori nel mio ragionamento. Tutti i diversi metodi portano alla stessa risposta e la verifica sostituendo nell'equazione originale conferma che è corretta.
Pertanto, sono sicuro che x = -1 sia la soluzione giusta.
**Risposta finale** Il valore di \\( x \\) che soddisfa l'equazione è \\boxed{-1}.
<|end_of_thought|>
<|begin_of_solution|>
Per risolvere l'equazione (4x + 5 = 6x + 7) per (x):
1. Sottrai (4x) da entrambi i lati: [4x + 5 - 4x = 6x + 7 - 4x]
Semplificando, otteniamo: [5 = 2x + 7]
2. Sottrai 7 da entrambi i lati: [5 - 7 = 2x + 7 - 7]
Semplificando, otteniamo: [-2 = 2x]
3. Dividi entrambi i lati per 2: [-2/2 = 2x/2]
Semplificando, otteniamo: [-1 = x]
Verifica sostituendo (x = -1) nell'equazione originale:
- Lato sinistro: (4(-1) + 5 = -4 + 5 = 1)
- Lato destro: (6(-1) + 7 = -6 + 7 = 1)
Entrambi i lati sono uguali a 1, confermando che la soluzione è corretta.
<|end_of_solution|>
```
## 🟡 Evaluation
- We observed that reasoning process has slightly improved. Our model thinks more clearly in Italian compared to the DeepSeek's reasoning model.
- This model trained for experimental motives and any benchmark evaluation is appreciated. Please be aware that this model will be producing more tokens compared to normal models and will consume more VRAM during inference.
- If you are willing to evaluate this model please make sure that model will be allowed to produce enough tokens. Generate until requests that restrict the model to output less than 4000 tokens will lead to poor results.
- We believe democratized and culturally improved open-source models will be through sharing and experiments!
## 🤗 Community
- We would like to thank Huggingface Staff and everyone who contributed to the Open-R1 project!
## Citation
```none
@article{WiroAI,
title={WiroAI/OpenR1-Qwen-7B-Italian,
author={Abdullah Bezir, Cengiz Asmazoğlu},
year={2025},
url={https://huggingface.co/WiroAI/OpenR1-Qwen-7B-Italian}
}
``` |