grpo-finetune-walkthrough

A Qwen/Qwen2.5-0.5B-Instruct policy fine-tuned with GRPO (Group Relative Policy Optimization) on a verifiable arithmetic task, using a from-scratch implementation of the group-relative advantage and policy-gradient loss (no TRL for the core math). Code: https://github.com/narinzar/grpo-finetune-walkthrough

What this is

This is a minimal 20-step demonstration run on a single RTX 5090, not a converged model. Its purpose is to show that the from-scratch GRPO training loop works end to end and produces a rising reward signal. Run configuration: 20 steps, group size 4, 2 prompts per step, max_new_tokens 64, evaluated on 80 held-out arithmetic items.

Results

Metric Value
Mean reward, step 0 0.125
Mean reward, step 19 0.250
Eval exact-match accuracy before 0.000 (0/80)
Eval exact-match accuracy after 0.013 (1/80)

The mean reward roughly doubles across the run (0.125 to 0.25), confirming the GRPO update is optimizing the policy in the right direction. At this tiny scale the eval accuracy barely moves (0/80 to 1/80) and format compliance has not emerged yet. Real accuracy and format gains need far more steps, many more prompts per step, and longer generations. Treat these numbers as a correctness check on the training loop, not as a measure of how well GRPO can do on this task.

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("narinzar/grpo-finetune-walkthrough")
tokenizer = AutoTokenizer.from_pretrained("narinzar/grpo-finetune-walkthrough")
  • Base model: Qwen/Qwen2.5-0.5B-Instruct
  • Task: text generation / GRPO RL fine-tuning on verifiable arithmetic
  • License: apache-2.0
Downloads last month
227
Safetensors
Model size
0.5B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for narinzar/grpo-finetune-walkthrough

Finetuned
(893)
this model