Update README.md
Browse files
README.md
CHANGED
@@ -1,7 +1,166 @@
|
|
1 |
-
---
|
2 |
-
license: llama3
|
3 |
-
|
4 |
-
-
|
5 |
-
|
6 |
-
-
|
7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: llama3
|
3 |
+
language:
|
4 |
+
- tr
|
5 |
+
base_model:
|
6 |
+
- ytu-ce-cosmos/Turkish-Llama-8b-DPO-v0.1
|
7 |
+
pipeline_tag: text-generation
|
8 |
+
tags:
|
9 |
+
- unsloth
|
10 |
+
- trl
|
11 |
+
- grpo
|
12 |
+
---
|
13 |
+
|
14 |
+
<img src="https://huggingface.co/Metin/LLaMA-3-8B-GRPO-Finance-Math-TR/resolve/main/a_llamazing_mind.png"
|
15 |
+
alt="Movie Poster for The Model" width="800"/>
|
16 |
+
|
17 |
+
# LLaMA-3-8B-GRPO-Finance-Math-TR
|
18 |
+
|
19 |
+
Metin/LLaMA-3-8B-GRPO-Finance-Math-TR is a RL trained version of ytu-ce-cosmos/Turkish-Llama-8b-DPO-v0.1. It is trained on finance math questions using GRPO method.
|
20 |
+
|
21 |
+
## Training Info
|
22 |
+
|
23 |
+
- **Base Model**: [Turkish-Llama-8b-DPO-v0.1](https://huggingface.co/ytu-ce-cosmos/Turkish-Llama-8b-DPO-v0.1)
|
24 |
+
- **Training Data**: 442 open-ended finance math word problems. No proprietary data was included.
|
25 |
+
- **Training Time**: 6 hours on a single L40S
|
26 |
+
|
27 |
+
- **LoRA Configs**:
|
28 |
+
- lora_r: 32
|
29 |
+
- lora_alpha: 32
|
30 |
+
- lora_dropout: 0.05
|
31 |
+
- lora_target_linear: true
|
32 |
+
|
33 |
+
The goal was to train a model that can reason before generating the answer. It uses the below template:
|
34 |
+
|
35 |
+
```xml
|
36 |
+
<matematik>
|
37 |
+
...
|
38 |
+
</matematik>
|
39 |
+
<cevap>
|
40 |
+
</cevap>
|
41 |
+
```
|
42 |
+
|
43 |
+
It should be noted that the model will still generate **incorrect** or **nonsensical** outputs, so please verify the outputs before using them.
|
44 |
+
|
45 |
+
## Output Examples:
|
46 |
+
|
47 |
+
Question:
|
48 |
+
|
49 |
+
```
|
50 |
+
Ezgi, biriktirdiği 7.000 lira ile üç yıllık mevduat hesabı açtırmıştır. Faiz oranı %10 ise süre sonunda Ezgi’nin birikimi kaç liraya ulaşır?
|
51 |
+
```
|
52 |
+
|
53 |
+
|
54 |
+
Output:
|
55 |
+
|
56 |
+
```xml
|
57 |
+
<matematik>
|
58 |
+
Ezgi'nin başlangıçta 7.000 lira ile 3 yıl boyunca %10 faiz oranıyla biriktirdiği parayı hesaplamak için, ilk olarak faiz oranını ondalık olarak 0,10 olarak yazalım. Daha sonra, faiz formülünü uygulayalım:
|
59 |
+
|
60 |
+
Mevcut Bakiye = Başlangıç Bakiyesi + (Başlangıç Bakiyesi * Faiz Oranı * Süre)
|
61 |
+
|
62 |
+
Bu formülü kullanarak:
|
63 |
+
|
64 |
+
Mevcut Bakiye = 7.000 + (7.000 * 0,10 * 3)
|
65 |
+
|
66 |
+
Öncelikle 7.000 ile 0,10'lık çarpımı yapalım:
|
67 |
+
|
68 |
+
7.000 * 0,10 = 700
|
69 |
+
|
70 |
+
Şimdi bu sonucu 3 ile çarpalım:
|
71 |
+
|
72 |
+
700 * 3 = 2.100
|
73 |
+
|
74 |
+
Son olarak 7.000 ile 2.100'ü ekleyelim:
|
75 |
+
|
76 |
+
7.000 + 2.100 = 9.100
|
77 |
+
|
78 |
+
</matematik>
|
79 |
+
|
80 |
+
<cevap>9.100</cevap>
|
81 |
+
```
|
82 |
+
|
83 |
+
Question:
|
84 |
+
|
85 |
+
```
|
86 |
+
6000 lira yıllık %5 bileşik faizle bankaya yatırılmıştır. 2. yılın sonunda değeri ne kadar olur?
|
87 |
+
```
|
88 |
+
|
89 |
+
|
90 |
+
Output:
|
91 |
+
|
92 |
+
```xml
|
93 |
+
<matematik>
|
94 |
+
1. Yıllık %5 bileşik faizle, ilk yılın sonunda 6000 lira tutarındaki paranın faizini hesaplayalım.
|
95 |
+
Faiz = Anapara × Oran × Zaman
|
96 |
+
Faiz = 6000 × 0,05 × 1 = 300 lira
|
97 |
+
|
98 |
+
Yani ilk yılın sonunda 6000 + 300 = 6300 lira olur.
|
99 |
+
|
100 |
+
2. Şimdi 2. yılın sonunda paranın değerini bulalım. 2. yılda bileşik faizle faiz hesaplanır.
|
101 |
+
İlk yılın sonunda kalan tutar = 6300 lira
|
102 |
+
İkinci yıl için faiz = 6300 × 0,05 × 1 = 315 lira
|
103 |
+
2. yılın sonunda toplam tutar = 6300 + 315 = 6615 lira
|
104 |
+
</matematik>
|
105 |
+
|
106 |
+
<cevap>6615</cevap>
|
107 |
+
```
|
108 |
+
|
109 |
+
## How to use
|
110 |
+
|
111 |
+
1. Install vLLM
|
112 |
+
```bash
|
113 |
+
pip install vllm
|
114 |
+
```
|
115 |
+
2.
|
116 |
+
```python
|
117 |
+
from vllm import LLM, SamplingParams
|
118 |
+
import json
|
119 |
+
|
120 |
+
llm = LLM(model="Metin/LLaMA-3-8B-GRPO-Finance-Math-TR")
|
121 |
+
|
122 |
+
sampling_params = SamplingParams(temperature=0.5)
|
123 |
+
|
124 |
+
SYSTEM_PROMPT = """
|
125 |
+
Aşağıdaki formatta cevap ver.
|
126 |
+
<matematik> etiketlerinin arasında soru için yaptığın akıl yürütme aşamalarına ve işlemlere yer ver.
|
127 |
+
<cevap> etiketlerinin arasında yalnızca rakam, nokta ve virgül kullanarak cevap ver.
|
128 |
+
<matematik>
|
129 |
+
...
|
130 |
+
</matematik>
|
131 |
+
<cevap>
|
132 |
+
...
|
133 |
+
</cevap>
|
134 |
+
"""
|
135 |
+
|
136 |
+
conversation = [
|
137 |
+
{
|
138 |
+
"role": "system",
|
139 |
+
"content": SYSTEM_PROMPT
|
140 |
+
}
|
141 |
+
{
|
142 |
+
"role": "user",
|
143 |
+
"content": "6000 lira yıllık %5 bileşik faizle bankaya yatırılmıştır. 2. yılın sonunda değeri ne kadar olur?"
|
144 |
+
}
|
145 |
+
]
|
146 |
+
|
147 |
+
outputs = llm.chat(
|
148 |
+
conversation,
|
149 |
+
sampling_params=sampling_params,
|
150 |
+
use_tqdm=False
|
151 |
+
)
|
152 |
+
|
153 |
+
result = json.loads(outputs[0].outputs[0].text)
|
154 |
+
|
155 |
+
print(result)
|
156 |
+
```
|
157 |
+
|
158 |
+
# Citation
|
159 |
+
```
|
160 |
+
@article{Metin,
|
161 |
+
title={Metin/LLaMA-3-8B-GRPO-Finance-Math-TR},
|
162 |
+
author={Metin Usta},
|
163 |
+
year={2024},
|
164 |
+
url={https://huggingface.co/Metin/LLaMA-3-8B-GRPO-Finance-Math-TR}
|
165 |
+
}
|
166 |
+
```
|