|
|
--- |
|
|
license: llama3 |
|
|
language: |
|
|
- tr |
|
|
base_model: |
|
|
- ytu-ce-cosmos/Turkish-Llama-8b-DPO-v0.1 |
|
|
pipeline_tag: text-generation |
|
|
tags: |
|
|
- unsloth |
|
|
- trl |
|
|
- grpo |
|
|
--- |
|
|
|
|
|
<img src="https://huggingface.co/Metin/LLaMA-3-8B-GRPO-Finance-Math-TR/resolve/main/a_llamazing_mind.png" |
|
|
alt="Movie Poster for The Model" width="800"/> |
|
|
|
|
|
# LLaMA-3-8B-GRPO-Finance-Math-TR |
|
|
|
|
|
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. |
|
|
|
|
|
## Training Info |
|
|
|
|
|
- **Base Model**: [Turkish-Llama-8b-DPO-v0.1](https://huggingface.co/ytu-ce-cosmos/Turkish-Llama-8b-DPO-v0.1) |
|
|
- **Training Data**: 442 open-ended finance math word problems. No proprietary data was included. |
|
|
- **Training Time**: 6 hours on a single L40S |
|
|
|
|
|
- **LoRA Configs**: |
|
|
- lora_r: 32 |
|
|
- lora_alpha: 32 |
|
|
- lora_dropout: 0.05 |
|
|
- lora_target_linear: true |
|
|
|
|
|
The goal was to train a model that can reason before generating the answer. It uses the below template: |
|
|
|
|
|
```xml |
|
|
<matematik> |
|
|
... |
|
|
</matematik> |
|
|
<cevap> |
|
|
</cevap> |
|
|
``` |
|
|
|
|
|
It should be noted that the model will still generate **incorrect** or **nonsensical** outputs, so please verify the outputs before using them. |
|
|
|
|
|
## Output Examples: |
|
|
|
|
|
Question: |
|
|
|
|
|
``` |
|
|
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? |
|
|
``` |
|
|
|
|
|
|
|
|
Output: |
|
|
|
|
|
```xml |
|
|
<matematik> |
|
|
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: |
|
|
|
|
|
Mevcut Bakiye = Başlangıç Bakiyesi + (Başlangıç Bakiyesi * Faiz Oranı * Süre) |
|
|
|
|
|
Bu formülü kullanarak: |
|
|
|
|
|
Mevcut Bakiye = 7.000 + (7.000 * 0,10 * 3) |
|
|
|
|
|
Öncelikle 7.000 ile 0,10'lık çarpımı yapalım: |
|
|
|
|
|
7.000 * 0,10 = 700 |
|
|
|
|
|
Şimdi bu sonucu 3 ile çarpalım: |
|
|
|
|
|
700 * 3 = 2.100 |
|
|
|
|
|
Son olarak 7.000 ile 2.100'ü ekleyelim: |
|
|
|
|
|
7.000 + 2.100 = 9.100 |
|
|
|
|
|
</matematik> |
|
|
|
|
|
<cevap>9.100</cevap> |
|
|
``` |
|
|
|
|
|
Question: |
|
|
|
|
|
``` |
|
|
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? |
|
|
``` |
|
|
|
|
|
|
|
|
Output: |
|
|
|
|
|
```xml |
|
|
<matematik> |
|
|
1. Yıllık %5 bileşik faizle, ilk yılın sonunda 6000 lira tutarındaki paranın faizini hesaplayalım. |
|
|
Faiz = Anapara × Oran × Zaman |
|
|
Faiz = 6000 × 0,05 × 1 = 300 lira |
|
|
|
|
|
Yani ilk yılın sonunda 6000 + 300 = 6300 lira olur. |
|
|
|
|
|
2. Şimdi 2. yılın sonunda paranın değerini bulalım. 2. yılda bileşik faizle faiz hesaplanır. |
|
|
İlk yılın sonunda kalan tutar = 6300 lira |
|
|
İkinci yıl için faiz = 6300 × 0,05 × 1 = 315 lira |
|
|
2. yılın sonunda toplam tutar = 6300 + 315 = 6615 lira |
|
|
</matematik> |
|
|
|
|
|
<cevap>6615</cevap> |
|
|
``` |
|
|
|
|
|
## How to use |
|
|
|
|
|
1. Install vLLM |
|
|
```bash |
|
|
pip install vllm |
|
|
``` |
|
|
2. |
|
|
```python |
|
|
from vllm import LLM, SamplingParams |
|
|
import json |
|
|
|
|
|
llm = LLM(model="Metin/LLaMA-3-8B-GRPO-Finance-Math-TR") |
|
|
|
|
|
sampling_params = SamplingParams(temperature=0.5) |
|
|
|
|
|
SYSTEM_PROMPT = """ |
|
|
Aşağıdaki formatta cevap ver. |
|
|
<matematik> etiketlerinin arasında soru için yaptığın akıl yürütme aşamalarına ve işlemlere yer ver. |
|
|
<cevap> etiketlerinin arasında yalnızca rakam, nokta ve virgül kullanarak cevap ver. |
|
|
<matematik> |
|
|
... |
|
|
</matematik> |
|
|
<cevap> |
|
|
... |
|
|
</cevap> |
|
|
""" |
|
|
|
|
|
conversation = [ |
|
|
{ |
|
|
"role": "system", |
|
|
"content": SYSTEM_PROMPT |
|
|
} |
|
|
{ |
|
|
"role": "user", |
|
|
"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?" |
|
|
} |
|
|
] |
|
|
|
|
|
outputs = llm.chat( |
|
|
conversation, |
|
|
sampling_params=sampling_params, |
|
|
use_tqdm=False |
|
|
) |
|
|
|
|
|
result = json.loads(outputs[0].outputs[0].text) |
|
|
|
|
|
print(result) |
|
|
``` |
|
|
|
|
|
# Citation |
|
|
``` |
|
|
@article{Metin, |
|
|
title={Metin/LLaMA-3-8B-GRPO-Finance-Math-TR}, |
|
|
author={Metin Usta}, |
|
|
year={2024}, |
|
|
url={https://huggingface.co/Metin/LLaMA-3-8B-GRPO-Finance-Math-TR} |
|
|
} |
|
|
``` |