Instructions to use NTQuoc/OpenRS-GRPO with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use NTQuoc/OpenRS-GRPO with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("NTQuoc/OpenRS-GRPO", dtype="auto") - Notebooks
- Google Colab
- Kaggle
Model save
Browse files- README.md +68 -0
- all_results.json +8 -0
- train_results.json +8 -0
- trainer_state.json +56 -0
- training_metrics.txt +6 -0
README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
base_model: Qwen/Qwen2.5-0.5B-Instruct
|
| 3 |
+
library_name: transformers
|
| 4 |
+
model_name: OpenRS-GRPO
|
| 5 |
+
tags:
|
| 6 |
+
- generated_from_trainer
|
| 7 |
+
- trl
|
| 8 |
+
- grpo
|
| 9 |
+
licence: license
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
# Model Card for OpenRS-GRPO
|
| 13 |
+
|
| 14 |
+
This model is a fine-tuned version of [Qwen/Qwen2.5-0.5B-Instruct](https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct).
|
| 15 |
+
It has been trained using [TRL](https://github.com/huggingface/trl).
|
| 16 |
+
|
| 17 |
+
## Quick start
|
| 18 |
+
|
| 19 |
+
```python
|
| 20 |
+
from transformers import pipeline
|
| 21 |
+
|
| 22 |
+
question = "If you had a time machine, but could only go to the past or the future once and never return, which would you choose and why?"
|
| 23 |
+
generator = pipeline("text-generation", model="NTQuoc/OpenRS-GRPO", device="cuda")
|
| 24 |
+
output = generator([{"role": "user", "content": question}], max_new_tokens=128, return_full_text=False)[0]
|
| 25 |
+
print(output["generated_text"])
|
| 26 |
+
```
|
| 27 |
+
|
| 28 |
+
## Training procedure
|
| 29 |
+
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
This model was trained with GRPO, a method introduced in [DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models](https://huggingface.co/papers/2402.03300).
|
| 34 |
+
|
| 35 |
+
### Framework versions
|
| 36 |
+
|
| 37 |
+
- TRL: 0.16.0.dev0
|
| 38 |
+
- Transformers: 5.8.0.dev0
|
| 39 |
+
- Pytorch: 2.5.1
|
| 40 |
+
- Datasets: 4.8.3
|
| 41 |
+
- Tokenizers: 0.22.2
|
| 42 |
+
|
| 43 |
+
## Citations
|
| 44 |
+
|
| 45 |
+
Cite GRPO as:
|
| 46 |
+
|
| 47 |
+
```bibtex
|
| 48 |
+
@article{zhihong2024deepseekmath,
|
| 49 |
+
title = {{DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models}},
|
| 50 |
+
author = {Zhihong Shao and Peiyi Wang and Qihao Zhu and Runxin Xu and Junxiao Song and Mingchuan Zhang and Y. K. Li and Y. Wu and Daya Guo},
|
| 51 |
+
year = 2024,
|
| 52 |
+
eprint = {arXiv:2402.03300},
|
| 53 |
+
}
|
| 54 |
+
|
| 55 |
+
```
|
| 56 |
+
|
| 57 |
+
Cite TRL as:
|
| 58 |
+
|
| 59 |
+
```bibtex
|
| 60 |
+
@misc{vonwerra2022trl,
|
| 61 |
+
title = {{TRL: Transformer Reinforcement Learning}},
|
| 62 |
+
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édec},
|
| 63 |
+
year = 2020,
|
| 64 |
+
journal = {GitHub repository},
|
| 65 |
+
publisher = {GitHub},
|
| 66 |
+
howpublished = {\url{https://github.com/huggingface/trl}}
|
| 67 |
+
}
|
| 68 |
+
```
|
all_results.json
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"total_flos": 0.0,
|
| 3 |
+
"train_loss": -1.862645149230957e-08,
|
| 4 |
+
"train_runtime": 166.9767,
|
| 5 |
+
"train_samples": 7000,
|
| 6 |
+
"train_samples_per_second": 0.144,
|
| 7 |
+
"train_steps_per_second": 0.006
|
| 8 |
+
}
|
train_results.json
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"total_flos": 0.0,
|
| 3 |
+
"train_loss": -1.862645149230957e-08,
|
| 4 |
+
"train_runtime": 166.9767,
|
| 5 |
+
"train_samples": 7000,
|
| 6 |
+
"train_samples_per_second": 0.144,
|
| 7 |
+
"train_steps_per_second": 0.006
|
| 8 |
+
}
|
trainer_state.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"best_global_step": null,
|
| 3 |
+
"best_metric": null,
|
| 4 |
+
"best_model_checkpoint": null,
|
| 5 |
+
"epoch": 0.0005714285714285715,
|
| 6 |
+
"eval_steps": 500,
|
| 7 |
+
"global_step": 1,
|
| 8 |
+
"is_hyper_param_search": false,
|
| 9 |
+
"is_local_process_zero": true,
|
| 10 |
+
"is_world_process_zero": true,
|
| 11 |
+
"log_history": [
|
| 12 |
+
{
|
| 13 |
+
"clip_ratio": 0.0,
|
| 14 |
+
"completion_length": 512.0,
|
| 15 |
+
"epoch": 0.0005714285714285715,
|
| 16 |
+
"kl": 0.0,
|
| 17 |
+
"learning_rate": 0.0,
|
| 18 |
+
"loss": -1.862645149230957e-08,
|
| 19 |
+
"reward": -0.0564242850523442,
|
| 20 |
+
"reward_std": 0.12631838279776275,
|
| 21 |
+
"rewards/cosine_scaled_reward": -0.0282121425261721,
|
| 22 |
+
"rewards/format_reward": 0.0,
|
| 23 |
+
"step": 1
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"epoch": 0.0005714285714285715,
|
| 27 |
+
"step": 1,
|
| 28 |
+
"total_flos": 0.0,
|
| 29 |
+
"train_loss": -1.862645149230957e-08,
|
| 30 |
+
"train_runtime": 166.9767,
|
| 31 |
+
"train_samples_per_second": 0.144,
|
| 32 |
+
"train_steps_per_second": 0.006
|
| 33 |
+
}
|
| 34 |
+
],
|
| 35 |
+
"logging_steps": 1,
|
| 36 |
+
"max_steps": 1,
|
| 37 |
+
"num_input_tokens_seen": 0,
|
| 38 |
+
"num_train_epochs": 1,
|
| 39 |
+
"save_steps": 50,
|
| 40 |
+
"stateful_callbacks": {
|
| 41 |
+
"TrainerControl": {
|
| 42 |
+
"args": {
|
| 43 |
+
"should_epoch_stop": false,
|
| 44 |
+
"should_evaluate": false,
|
| 45 |
+
"should_log": false,
|
| 46 |
+
"should_save": true,
|
| 47 |
+
"should_training_stop": true
|
| 48 |
+
},
|
| 49 |
+
"attributes": {}
|
| 50 |
+
}
|
| 51 |
+
},
|
| 52 |
+
"total_flos": 0.0,
|
| 53 |
+
"train_batch_size": 3,
|
| 54 |
+
"trial_name": null,
|
| 55 |
+
"trial_params": null
|
| 56 |
+
}
|
training_metrics.txt
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
total_size_before (MB): 959.07
|
| 2 |
+
total_size_after (MB): 950.68
|
| 3 |
+
total_time (seconds): 171.42
|
| 4 |
+
ram_peak (MB): 2923.48
|
| 5 |
+
ram_consump (MB): 979.67
|
| 6 |
+
disk_storage (MB): 323.85
|