Metin commited on
Commit
7f9b61a
·
verified ·
1 Parent(s): fbb4884

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +166 -7
README.md CHANGED
@@ -1,7 +1,166 @@
1
- ---
2
- license: llama3
3
- tags:
4
- - unsloth
5
- - trl
6
- - grpo
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
+ ```