Text Generation
Transformers
Safetensors
qwen3
math
reinforcement-learning
rlsd
verl
conversational
text-generation-inference
Instructions to use SeongryongJung/Qwen-4b-base-RLSD with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use SeongryongJung/Qwen-4b-base-RLSD with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="SeongryongJung/Qwen-4b-base-RLSD") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("SeongryongJung/Qwen-4b-base-RLSD") model = AutoModelForCausalLM.from_pretrained("SeongryongJung/Qwen-4b-base-RLSD", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use SeongryongJung/Qwen-4b-base-RLSD with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "SeongryongJung/Qwen-4b-base-RLSD" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "SeongryongJung/Qwen-4b-base-RLSD", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/SeongryongJung/Qwen-4b-base-RLSD
- SGLang
How to use SeongryongJung/Qwen-4b-base-RLSD with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "SeongryongJung/Qwen-4b-base-RLSD" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "SeongryongJung/Qwen-4b-base-RLSD", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "SeongryongJung/Qwen-4b-base-RLSD" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "SeongryongJung/Qwen-4b-base-RLSD", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use SeongryongJung/Qwen-4b-base-RLSD with Docker Model Runner:
docker model run hf.co/SeongryongJung/Qwen-4b-base-RLSD
Add model card and training score plot
Browse files- README.md +86 -0
- training_score.csv +101 -0
- training_score.png +0 -0
README.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: Qwen/Qwen3-4B-Base
|
| 4 |
+
library_name: transformers
|
| 5 |
+
pipeline_tag: text-generation
|
| 6 |
+
tags:
|
| 7 |
+
- qwen3
|
| 8 |
+
- math
|
| 9 |
+
- reinforcement-learning
|
| 10 |
+
- rlsd
|
| 11 |
+
- verl
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Qwen3-4B-Base RLSD
|
| 15 |
+
|
| 16 |
+
RLSD self-distillation reinforcement learning on the local math training split.
|
| 17 |
+
|
| 18 |
+
This repository contains the final merged Hugging Face checkpoint from `global_step_100`.
|
| 19 |
+
The training checkpoint was saved from FSDP shards and merged to safetensors for this upload.
|
| 20 |
+
|
| 21 |
+
## Training Method
|
| 22 |
+
|
| 23 |
+
- Policy loss mode: `rlsd`.
|
| 24 |
+
- Self-distillation uses reprompt feedback and token reweighting.
|
| 25 |
+
- Token reweighting: lambda 0.5, eps_w 0.2, decay steps 50.
|
| 26 |
+
- Advantage estimator remains `grpo` in the trainer config.
|
| 27 |
+
- Reward function: local math `compute_score` reward manager.
|
| 28 |
+
- Fine-tuning type: full-parameter FSDP training, not LoRA.
|
| 29 |
+
|
| 30 |
+
## Training Hyperparameters
|
| 31 |
+
|
| 32 |
+
| Field | Value |
|
| 33 |
+
|---|---:|
|
| 34 |
+
| Base model | `Qwen/Qwen3-4B-Base` |
|
| 35 |
+
| Train file | `/home1/irteam/SDPO/self-distillation-analysis/data/math/train.parquet` |
|
| 36 |
+
| Validation file | `/home1/irteam/SDPO/self-distillation-analysis/data/math/evaluation/aime24.parquet` |
|
| 37 |
+
| Train max samples | 25600 |
|
| 38 |
+
| Train batch size | 256 |
|
| 39 |
+
| Rollouts per prompt | 8 |
|
| 40 |
+
| PPO mini batch size | 128 |
|
| 41 |
+
| PPO micro batch size per GPU | 1 |
|
| 42 |
+
| Optimizer | AdamW |
|
| 43 |
+
| Learning rate | 1e-06 |
|
| 44 |
+
| Weight decay | 0.01 |
|
| 45 |
+
| LR warmup steps | 10 |
|
| 46 |
+
| Total training steps | 100 |
|
| 47 |
+
| Save frequency | every 10 steps |
|
| 48 |
+
| Validation frequency | every 10 steps |
|
| 49 |
+
| Max prompt length | 2048 |
|
| 50 |
+
| Max response length | 20480 |
|
| 51 |
+
| Rollout backend | vllm |
|
| 52 |
+
| Rollout temperature | 1 |
|
| 53 |
+
| Rollout top_p | 1 |
|
| 54 |
+
| vLLM GPU memory utilization | 0.75 |
|
| 55 |
+
| Actor strategy | fsdp |
|
| 56 |
+
| Dtype | bfloat16 |
|
| 57 |
+
| Advantage estimator | grpo |
|
| 58 |
+
| Gamma / Lambda | 1 / 1 |
|
| 59 |
+
| KL loss enabled | False |
|
| 60 |
+
| KL loss coefficient | 0.001 |
|
| 61 |
+
| Checkpoint uploaded | `math-RLSD-Qwen3-4B-Base-128-train256-rollout8-lr1e-6-vllm0.75-modelQwen-Qwen3-4B-Base/global_step_100` |
|
| 62 |
+
| W&B run id | `3tuehy90` |
|
| 63 |
+
|
| 64 |
+
## Training Score
|
| 65 |
+
|
| 66 |
+
The plot below shows `critic/score/mean` logged during training.
|
| 67 |
+
|
| 68 |
+

|
| 69 |
+
|
| 70 |
+
CSV data is included in [`training_score.csv`](training_score.csv).
|
| 71 |
+
|
| 72 |
+
| Metric | Value |
|
| 73 |
+
|---|---:|
|
| 74 |
+
| Final training step | 100 |
|
| 75 |
+
| Final `critic/score/mean` | 0.304199 |
|
| 76 |
+
| Final `val-core/math_dapo/acc/mean@1` | 0.1 |
|
| 77 |
+
|
| 78 |
+
## Intended Use
|
| 79 |
+
|
| 80 |
+
This model is intended for internal research and analysis of math-focused RL fine-tuning methods.
|
| 81 |
+
It has not been broadly safety evaluated for production use.
|
| 82 |
+
|
| 83 |
+
## Limitations
|
| 84 |
+
|
| 85 |
+
The model was trained for 100 optimization steps on a local math dataset split.
|
| 86 |
+
Reported scores are training-time reward/validation metrics from the same experiment setup and should not be treated as broad benchmark results.
|
training_score.csv
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
step,critic_score_mean,val_math_dapo_acc_mean_at_1
|
| 2 |
+
1,0.1162109375,
|
| 3 |
+
2,0.1142578125,
|
| 4 |
+
3,0.12109375,
|
| 5 |
+
4,0.11328125,
|
| 6 |
+
5,0.1298828125,
|
| 7 |
+
6,0.13525390625,
|
| 8 |
+
7,0.11376953125,
|
| 9 |
+
8,0.13720703125,
|
| 10 |
+
9,0.138671875,
|
| 11 |
+
10,0.14013671875,0.13333333333333333
|
| 12 |
+
11,0.125,
|
| 13 |
+
12,0.15576171875,
|
| 14 |
+
13,0.1279296875,
|
| 15 |
+
14,0.15185546875,
|
| 16 |
+
15,0.1591796875,
|
| 17 |
+
16,0.16796875,
|
| 18 |
+
17,0.1416015625,
|
| 19 |
+
18,0.16552734375,
|
| 20 |
+
19,0.1708984375,
|
| 21 |
+
20,0.1767578125,0.1
|
| 22 |
+
21,0.1787109375,
|
| 23 |
+
22,0.1826171875,
|
| 24 |
+
23,0.22265625,
|
| 25 |
+
24,0.1875,
|
| 26 |
+
25,0.17236328125,
|
| 27 |
+
26,0.23388671875,
|
| 28 |
+
27,0.22216796875,
|
| 29 |
+
28,0.20166015625,
|
| 30 |
+
29,0.26416015625,
|
| 31 |
+
30,0.2275390625,0.13333333333333333
|
| 32 |
+
31,0.25537109375,
|
| 33 |
+
32,0.22705078125,
|
| 34 |
+
33,0.23095703125,
|
| 35 |
+
34,0.24267578125,
|
| 36 |
+
35,0.232421875,
|
| 37 |
+
36,0.24365234375,
|
| 38 |
+
37,0.2421875,
|
| 39 |
+
38,0.21728515625,
|
| 40 |
+
39,0.2431640625,
|
| 41 |
+
40,0.2626953125,0.1
|
| 42 |
+
41,0.2666015625,
|
| 43 |
+
42,0.25634765625,
|
| 44 |
+
43,0.26904296875,
|
| 45 |
+
44,0.2685546875,
|
| 46 |
+
45,0.25341796875,
|
| 47 |
+
46,0.275390625,
|
| 48 |
+
47,0.291015625,
|
| 49 |
+
48,0.26416015625,
|
| 50 |
+
49,0.29345703125,
|
| 51 |
+
50,0.25,0.13333333333333333
|
| 52 |
+
51,0.28515625,
|
| 53 |
+
52,0.2470703125,
|
| 54 |
+
53,0.25390625,
|
| 55 |
+
54,0.31689453125,
|
| 56 |
+
55,0.25048828125,
|
| 57 |
+
56,0.3115234375,
|
| 58 |
+
57,0.25927734375,
|
| 59 |
+
58,0.29345703125,
|
| 60 |
+
59,0.271484375,
|
| 61 |
+
60,0.25732421875,0.16666666666666666
|
| 62 |
+
61,0.30224609375,
|
| 63 |
+
62,0.2783203125,
|
| 64 |
+
63,0.32177734375,
|
| 65 |
+
64,0.2568359375,
|
| 66 |
+
65,0.2900390625,
|
| 67 |
+
66,0.26904296875,
|
| 68 |
+
67,0.265625,
|
| 69 |
+
68,0.2998046875,
|
| 70 |
+
69,0.236328125,
|
| 71 |
+
70,0.27978515625,0.13333333333333333
|
| 72 |
+
71,0.30419921875,
|
| 73 |
+
72,0.27294921875,
|
| 74 |
+
73,0.302734375,
|
| 75 |
+
74,0.27880859375,
|
| 76 |
+
75,0.28466796875,
|
| 77 |
+
76,0.3046875,
|
| 78 |
+
77,0.306640625,
|
| 79 |
+
78,0.31689453125,
|
| 80 |
+
79,0.30029296875,
|
| 81 |
+
80,0.3173828125,0.1
|
| 82 |
+
81,0.29638671875,
|
| 83 |
+
82,0.3330078125,
|
| 84 |
+
83,0.33837890625,
|
| 85 |
+
84,0.287109375,
|
| 86 |
+
85,0.28955078125,
|
| 87 |
+
86,0.30810546875,
|
| 88 |
+
87,0.326171875,
|
| 89 |
+
88,0.3515625,
|
| 90 |
+
89,0.3203125,
|
| 91 |
+
90,0.3046875,0.16666666666666666
|
| 92 |
+
91,0.322265625,
|
| 93 |
+
92,0.33056640625,
|
| 94 |
+
93,0.30224609375,
|
| 95 |
+
94,0.34521484375,
|
| 96 |
+
95,0.33984375,
|
| 97 |
+
96,0.30322265625,
|
| 98 |
+
97,0.31640625,
|
| 99 |
+
98,0.32373046875,
|
| 100 |
+
99,0.3447265625,
|
| 101 |
+
100,0.30419921875,0.1
|
training_score.png
ADDED
|