Guen commited on
Commit
b37657c
·
verified ·
1 Parent(s): 057c153

sync 2026-04-23T22:49:53+00:00

Browse files
.gitattributes CHANGED
@@ -37,3 +37,5 @@ sft/checkpoint-200/tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
  sft/checkpoint-400/tokenizer.json filter=lfs diff=lfs merge=lfs -text
38
  sft/checkpoint-490/tokenizer.json filter=lfs diff=lfs merge=lfs -text
39
  sft/final/tokenizer.json filter=lfs diff=lfs merge=lfs -text
 
 
 
37
  sft/checkpoint-400/tokenizer.json filter=lfs diff=lfs merge=lfs -text
38
  sft/checkpoint-490/tokenizer.json filter=lfs diff=lfs merge=lfs -text
39
  sft/final/tokenizer.json filter=lfs diff=lfs merge=lfs -text
40
+ grpo-smoke/checkpoint-50/tokenizer.json filter=lfs diff=lfs merge=lfs -text
41
+ grpo-smoke/final/tokenizer.json filter=lfs diff=lfs merge=lfs -text
grpo-smoke/README.md ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: Qwen/Qwen3-8B
3
+ library_name: transformers
4
+ model_name: grpo-smoke
5
+ tags:
6
+ - generated_from_trainer
7
+ - trl
8
+ - grpo
9
+ licence: license
10
+ ---
11
+
12
+ # Model Card for grpo-smoke
13
+
14
+ This model is a fine-tuned version of [Qwen/Qwen3-8B](https://huggingface.co/Qwen/Qwen3-8B).
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="None", 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
+
34
+ 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).
35
+
36
+ ### Framework versions
37
+
38
+ - TRL: 1.2.0
39
+ - Transformers: 5.6.2
40
+ - Pytorch: 2.11.0
41
+ - Datasets: 4.8.4
42
+ - Tokenizers: 0.22.2
43
+
44
+ ## Citations
45
+
46
+ Cite GRPO as:
47
+
48
+ ```bibtex
49
+ @article{shao2024deepseekmath,
50
+ title = {{DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models}},
51
+ 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},
52
+ year = 2024,
53
+ eprint = {arXiv:2402.03300},
54
+ }
55
+ ```
56
+
57
+ Cite TRL as:
58
+
59
+ ```bibtex
60
+ @software{vonwerra2020trl,
61
+ title = {{TRL: Transformers Reinforcement Learning}},
62
+ author = {von Werra, Leandro and Belkada, Younes and Tunstall, Lewis and Beeching, Edward and Thrush, Tristan and Lambert, Nathan and Huang, Shengyi and Rasul, Kashif and Gallouédec, Quentin},
63
+ license = {Apache-2.0},
64
+ url = {https://github.com/huggingface/trl},
65
+ year = {2020}
66
+ }
67
+ ```
grpo-smoke/checkpoint-50/adapter_config.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "Qwen/Qwen3-8B",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 32,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 16,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": [
33
+ "k_proj",
34
+ "v_proj",
35
+ "o_proj",
36
+ "q_proj"
37
+ ],
38
+ "target_parameters": null,
39
+ "task_type": "CAUSAL_LM",
40
+ "trainable_token_indices": null,
41
+ "use_bdlora": null,
42
+ "use_dora": false,
43
+ "use_qalora": false,
44
+ "use_rslora": false
45
+ }
grpo-smoke/checkpoint-50/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3e9fc456816d9bcaaa9ecb35728dbc6b6deda12ea3762efb8f63fb693f61fe3
3
+ size 30709768
grpo-smoke/checkpoint-50/chat_template.jinja ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0].role == 'system' %}
4
+ {{- messages[0].content + '\n\n' }}
5
+ {%- endif %}
6
+ {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
7
+ {%- for tool in tools %}
8
+ {{- "\n" }}
9
+ {{- tool | tojson }}
10
+ {%- endfor %}
11
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
12
+ {%- else %}
13
+ {%- if messages[0].role == 'system' %}
14
+ {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
15
+ {%- endif %}
16
+ {%- endif %}
17
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
18
+ {%- for message in messages[::-1] %}
19
+ {%- set index = (messages|length - 1) - loop.index0 %}
20
+ {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
21
+ {%- set ns.multi_step_tool = false %}
22
+ {%- set ns.last_query_index = index %}
23
+ {%- endif %}
24
+ {%- endfor %}
25
+ {%- for message in messages %}
26
+ {%- if message.content is string %}
27
+ {%- set content = message.content %}
28
+ {%- else %}
29
+ {%- set content = '' %}
30
+ {%- endif %}
31
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
32
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
33
+ {%- elif message.role == "assistant" %}
34
+ {%- set reasoning_content = '' %}
35
+ {%- if message.reasoning_content is string %}
36
+ {%- set reasoning_content = message.reasoning_content %}
37
+ {%- else %}
38
+ {%- if '</think>' in content %}
39
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
40
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
41
+ {%- endif %}
42
+ {%- endif %}
43
+ {%- if loop.index0 > ns.last_query_index %}
44
+ {%- if loop.last or (not loop.last and reasoning_content) %}
45
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
46
+ {%- else %}
47
+ {{- '<|im_start|>' + message.role + '\n' + content }}
48
+ {%- endif %}
49
+ {%- else %}
50
+ {{- '<|im_start|>' + message.role + '\n' + content }}
51
+ {%- endif %}
52
+ {%- if message.tool_calls %}
53
+ {%- for tool_call in message.tool_calls %}
54
+ {%- if (loop.first and content) or (not loop.first) %}
55
+ {{- '\n' }}
56
+ {%- endif %}
57
+ {%- if tool_call.function %}
58
+ {%- set tool_call = tool_call.function %}
59
+ {%- endif %}
60
+ {{- '<tool_call>\n{"name": "' }}
61
+ {{- tool_call.name }}
62
+ {{- '", "arguments": ' }}
63
+ {%- if tool_call.arguments is string %}
64
+ {{- tool_call.arguments }}
65
+ {%- else %}
66
+ {{- tool_call.arguments | tojson }}
67
+ {%- endif %}
68
+ {{- '}\n</tool_call>' }}
69
+ {%- endfor %}
70
+ {%- endif %}
71
+ {{- '<|im_end|>\n' }}
72
+ {%- elif message.role == "tool" %}
73
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
74
+ {{- '<|im_start|>user' }}
75
+ {%- endif %}
76
+ {{- '\n<tool_response>\n' }}
77
+ {{- content }}
78
+ {{- '\n</tool_response>' }}
79
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
80
+ {{- '<|im_end|>\n' }}
81
+ {%- endif %}
82
+ {%- endif %}
83
+ {%- endfor %}
84
+ {%- if add_generation_prompt %}
85
+ {{- '<|im_start|>assistant\n' }}
86
+ {%- if enable_thinking is defined and enable_thinking is false %}
87
+ {{- '<think>\n\n</think>\n\n' }}
88
+ {%- endif %}
89
+ {%- endif %}
grpo-smoke/checkpoint-50/generation_config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_sample": true,
3
+ "eos_token_id": [
4
+ 151645,
5
+ 151643
6
+ ],
7
+ "pad_token_id": 151643,
8
+ "temperature": 0.6,
9
+ "top_k": 20,
10
+ "top_p": 0.95,
11
+ "transformers_version": "5.6.2"
12
+ }
grpo-smoke/checkpoint-50/optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:46d85ed54a6942e943bfff59860a1d02e8c0d80281f45cdc55c021da3cb3a8f7
3
+ size 61588683
grpo-smoke/checkpoint-50/rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5c0ac97d1ac31a3ce1908d5182503997cd39d3cca6351361d2be9b936ac23207
3
+ size 14645
grpo-smoke/checkpoint-50/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3cf220ca534359fdb729d8e74ed3b0c609c54e6d591e1d2478f5521fc51fba05
3
+ size 1465
grpo-smoke/checkpoint-50/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506
3
+ size 11422650
grpo-smoke/checkpoint-50/tokenizer_config.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "backend": "tokenizers",
4
+ "bos_token": null,
5
+ "clean_up_tokenization_spaces": false,
6
+ "eos_token": "<|im_end|>",
7
+ "errors": "replace",
8
+ "extra_special_tokens": [
9
+ "<|im_start|>",
10
+ "<|im_end|>",
11
+ "<|object_ref_start|>",
12
+ "<|object_ref_end|>",
13
+ "<|box_start|>",
14
+ "<|box_end|>",
15
+ "<|quad_start|>",
16
+ "<|quad_end|>",
17
+ "<|vision_start|>",
18
+ "<|vision_end|>",
19
+ "<|vision_pad|>",
20
+ "<|image_pad|>",
21
+ "<|video_pad|>"
22
+ ],
23
+ "is_local": true,
24
+ "local_files_only": false,
25
+ "max_length": 512,
26
+ "model_max_length": 131072,
27
+ "pad_token": "<|endoftext|>",
28
+ "split_special_tokens": false,
29
+ "stride": 0,
30
+ "tokenizer_class": "Qwen2Tokenizer",
31
+ "truncation_side": "right",
32
+ "truncation_strategy": "longest_first",
33
+ "unk_token": null
34
+ }
grpo-smoke/checkpoint-50/trainer_state.json ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": null,
3
+ "best_metric": null,
4
+ "best_model_checkpoint": null,
5
+ "epoch": 0.008202099737532808,
6
+ "eval_steps": 500,
7
+ "global_step": 50,
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/high_max": 0.0,
14
+ "clip_ratio/high_mean": 0.0,
15
+ "clip_ratio/low_mean": 0.0,
16
+ "clip_ratio/low_min": 0.0,
17
+ "clip_ratio/region_mean": 0.0,
18
+ "completions/clipped_ratio": 0.0,
19
+ "completions/max_length": 6.6,
20
+ "completions/max_terminated_length": 6.6,
21
+ "completions/mean_length": 5.0,
22
+ "completions/mean_terminated_length": 5.0,
23
+ "completions/min_length": 3.9,
24
+ "completions/min_terminated_length": 3.9,
25
+ "entropy": 1.0577006445411825,
26
+ "epoch": 0.0016404199475065617,
27
+ "frac_reward_zero_std": 0.2,
28
+ "grad_norm": 3.8125,
29
+ "learning_rate": 4.1e-06,
30
+ "loss": 0.11770402193069458,
31
+ "num_tokens": 2832.0,
32
+ "reward": 1.1005151331424714,
33
+ "reward_std": 0.05587645497289486,
34
+ "rewards/reward_grounded/mean": 1.0,
35
+ "rewards/reward_grounded/std": 0.0,
36
+ "rewards/reward_length/mean": -0.052197265625,
37
+ "rewards/reward_length/std": 0.01305969776585698,
38
+ "rewards/reward_semantic/mean": 0.34375,
39
+ "rewards/reward_semantic/std": 0.18465015292167664,
40
+ "step": 10,
41
+ "step_time": 1.7249950505018206
42
+ },
43
+ {
44
+ "clip_ratio/high_max": 0.0,
45
+ "clip_ratio/high_mean": 0.0,
46
+ "clip_ratio/low_mean": 0.0,
47
+ "clip_ratio/low_min": 0.0,
48
+ "clip_ratio/region_mean": 0.0,
49
+ "completions/clipped_ratio": 0.0,
50
+ "completions/max_length": 5.3,
51
+ "completions/max_terminated_length": 5.3,
52
+ "completions/mean_length": 4.3875,
53
+ "completions/mean_terminated_length": 4.3875,
54
+ "completions/min_length": 3.6,
55
+ "completions/min_terminated_length": 3.6,
56
+ "entropy": 0.5984056154295103,
57
+ "epoch": 0.0032808398950131233,
58
+ "frac_reward_zero_std": 0.4,
59
+ "grad_norm": 2.890625,
60
+ "learning_rate": 3.1000000000000004e-06,
61
+ "loss": 0.026385024189949036,
62
+ "num_tokens": 5647.0,
63
+ "reward": 1.1543620347976684,
64
+ "reward_std": 0.04348584123072215,
65
+ "rewards/reward_grounded/mean": 1.0,
66
+ "rewards/reward_grounded/std": 0.0,
67
+ "rewards/reward_length/mean": -0.0498046875,
68
+ "rewards/reward_length/std": 0.011624595802277326,
69
+ "rewards/reward_semantic/mean": 0.5228409096598625,
70
+ "rewards/reward_semantic/std": 0.14410758763551712,
71
+ "step": 20,
72
+ "step_time": 1.5963561824000863
73
+ },
74
+ {
75
+ "clip_ratio/high_max": 0.0,
76
+ "clip_ratio/high_mean": 0.0,
77
+ "clip_ratio/low_mean": 0.0,
78
+ "clip_ratio/low_min": 0.0,
79
+ "clip_ratio/region_mean": 0.0,
80
+ "completions/clipped_ratio": 0.0,
81
+ "completions/max_length": 8.0,
82
+ "completions/max_terminated_length": 8.0,
83
+ "completions/mean_length": 5.475,
84
+ "completions/mean_terminated_length": 5.475,
85
+ "completions/min_length": 4.0,
86
+ "completions/min_terminated_length": 4.0,
87
+ "entropy": 1.0645021736621856,
88
+ "epoch": 0.004921259842519685,
89
+ "frac_reward_zero_std": 0.1,
90
+ "grad_norm": 0.0,
91
+ "learning_rate": 2.1000000000000002e-06,
92
+ "loss": 0.06627605557441711,
93
+ "num_tokens": 8757.0,
94
+ "reward": 1.029498815536499,
95
+ "reward_std": 0.014989784102363046,
96
+ "rewards/reward_grounded/mean": 1.0,
97
+ "rewards/reward_grounded/std": 0.0,
98
+ "rewards/reward_length/mean": -0.065380859375,
99
+ "rewards/reward_length/std": 0.01251897350884974,
100
+ "rewards/reward_semantic/mean": 0.10922618731856346,
101
+ "rewards/reward_semantic/std": 0.048260292410850524,
102
+ "step": 30,
103
+ "step_time": 1.7787339144997532
104
+ },
105
+ {
106
+ "clip_ratio/high_max": 0.0,
107
+ "clip_ratio/high_mean": 0.0,
108
+ "clip_ratio/low_mean": 0.0,
109
+ "clip_ratio/low_min": 0.0,
110
+ "clip_ratio/region_mean": 0.0,
111
+ "completions/clipped_ratio": 0.0,
112
+ "completions/max_length": 7.2,
113
+ "completions/max_terminated_length": 7.2,
114
+ "completions/mean_length": 5.0,
115
+ "completions/mean_terminated_length": 5.0,
116
+ "completions/min_length": 3.5,
117
+ "completions/min_terminated_length": 3.5,
118
+ "entropy": 0.7395762197673321,
119
+ "epoch": 0.006561679790026247,
120
+ "frac_reward_zero_std": 0.2,
121
+ "grad_norm": 0.0,
122
+ "learning_rate": 1.1e-06,
123
+ "loss": 0.1514593243598938,
124
+ "num_tokens": 11709.0,
125
+ "reward": 1.0766778945922852,
126
+ "reward_std": 0.016765344672603533,
127
+ "rewards/reward_grounded/mean": 1.0,
128
+ "rewards/reward_grounded/std": 0.0,
129
+ "rewards/reward_length/mean": -0.067578125,
130
+ "rewards/reward_length/std": 0.022341160476207732,
131
+ "rewards/reward_semantic/mean": 0.26685606352984903,
132
+ "rewards/reward_semantic/std": 0.05316778719425201,
133
+ "step": 40,
134
+ "step_time": 1.7076258406990745
135
+ },
136
+ {
137
+ "clip_ratio/high_max": 0.0,
138
+ "clip_ratio/high_mean": 0.0,
139
+ "clip_ratio/low_mean": 0.0,
140
+ "clip_ratio/low_min": 0.0,
141
+ "clip_ratio/region_mean": 0.0,
142
+ "completions/clipped_ratio": 0.0,
143
+ "completions/max_length": 5.8,
144
+ "completions/max_terminated_length": 5.8,
145
+ "completions/mean_length": 4.5375,
146
+ "completions/mean_terminated_length": 4.5375,
147
+ "completions/min_length": 3.6,
148
+ "completions/min_terminated_length": 3.6,
149
+ "entropy": 0.6100972217798699,
150
+ "epoch": 0.008202099737532808,
151
+ "frac_reward_zero_std": 0.4,
152
+ "grad_norm": 6.6875,
153
+ "learning_rate": 1.0000000000000001e-07,
154
+ "loss": 0.0535111665725708,
155
+ "num_tokens": 14520.0,
156
+ "reward": 1.1507817327976226,
157
+ "reward_std": 0.02216847266026889,
158
+ "rewards/reward_grounded/mean": 1.0,
159
+ "rewards/reward_grounded/std": 0.0,
160
+ "rewards/reward_length/mean": -0.049365234375,
161
+ "rewards/reward_length/std": 0.015204544877633452,
162
+ "rewards/reward_semantic/mean": 0.5108333360403776,
163
+ "rewards/reward_semantic/std": 0.0730145163834095,
164
+ "step": 50,
165
+ "step_time": 1.629961347799508
166
+ }
167
+ ],
168
+ "logging_steps": 10,
169
+ "max_steps": 50,
170
+ "num_input_tokens_seen": 14520,
171
+ "num_train_epochs": 1,
172
+ "save_steps": 100,
173
+ "stateful_callbacks": {
174
+ "TrainerControl": {
175
+ "args": {
176
+ "should_epoch_stop": false,
177
+ "should_evaluate": false,
178
+ "should_log": false,
179
+ "should_save": true,
180
+ "should_training_stop": true
181
+ },
182
+ "attributes": {}
183
+ }
184
+ },
185
+ "total_flos": 0.0,
186
+ "train_batch_size": 1,
187
+ "trial_name": null,
188
+ "trial_params": null
189
+ }
grpo-smoke/checkpoint-50/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c986fa55995ff6e6a4fa603eb466f0b786878868e1df8cf0154ff760f75593d0
3
+ size 7249
grpo-smoke/final/adapter_config.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "Qwen/Qwen3-8B",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 32,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 16,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": [
33
+ "k_proj",
34
+ "v_proj",
35
+ "o_proj",
36
+ "q_proj"
37
+ ],
38
+ "target_parameters": null,
39
+ "task_type": "CAUSAL_LM",
40
+ "trainable_token_indices": null,
41
+ "use_bdlora": null,
42
+ "use_dora": false,
43
+ "use_qalora": false,
44
+ "use_rslora": false
45
+ }
grpo-smoke/final/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3e9fc456816d9bcaaa9ecb35728dbc6b6deda12ea3762efb8f63fb693f61fe3
3
+ size 30709768
grpo-smoke/final/chat_template.jinja ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0].role == 'system' %}
4
+ {{- messages[0].content + '\n\n' }}
5
+ {%- endif %}
6
+ {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
7
+ {%- for tool in tools %}
8
+ {{- "\n" }}
9
+ {{- tool | tojson }}
10
+ {%- endfor %}
11
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
12
+ {%- else %}
13
+ {%- if messages[0].role == 'system' %}
14
+ {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
15
+ {%- endif %}
16
+ {%- endif %}
17
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
18
+ {%- for message in messages[::-1] %}
19
+ {%- set index = (messages|length - 1) - loop.index0 %}
20
+ {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
21
+ {%- set ns.multi_step_tool = false %}
22
+ {%- set ns.last_query_index = index %}
23
+ {%- endif %}
24
+ {%- endfor %}
25
+ {%- for message in messages %}
26
+ {%- if message.content is string %}
27
+ {%- set content = message.content %}
28
+ {%- else %}
29
+ {%- set content = '' %}
30
+ {%- endif %}
31
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
32
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
33
+ {%- elif message.role == "assistant" %}
34
+ {%- set reasoning_content = '' %}
35
+ {%- if message.reasoning_content is string %}
36
+ {%- set reasoning_content = message.reasoning_content %}
37
+ {%- else %}
38
+ {%- if '</think>' in content %}
39
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
40
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
41
+ {%- endif %}
42
+ {%- endif %}
43
+ {%- if loop.index0 > ns.last_query_index %}
44
+ {%- if loop.last or (not loop.last and reasoning_content) %}
45
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
46
+ {%- else %}
47
+ {{- '<|im_start|>' + message.role + '\n' + content }}
48
+ {%- endif %}
49
+ {%- else %}
50
+ {{- '<|im_start|>' + message.role + '\n' + content }}
51
+ {%- endif %}
52
+ {%- if message.tool_calls %}
53
+ {%- for tool_call in message.tool_calls %}
54
+ {%- if (loop.first and content) or (not loop.first) %}
55
+ {{- '\n' }}
56
+ {%- endif %}
57
+ {%- if tool_call.function %}
58
+ {%- set tool_call = tool_call.function %}
59
+ {%- endif %}
60
+ {{- '<tool_call>\n{"name": "' }}
61
+ {{- tool_call.name }}
62
+ {{- '", "arguments": ' }}
63
+ {%- if tool_call.arguments is string %}
64
+ {{- tool_call.arguments }}
65
+ {%- else %}
66
+ {{- tool_call.arguments | tojson }}
67
+ {%- endif %}
68
+ {{- '}\n</tool_call>' }}
69
+ {%- endfor %}
70
+ {%- endif %}
71
+ {{- '<|im_end|>\n' }}
72
+ {%- elif message.role == "tool" %}
73
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
74
+ {{- '<|im_start|>user' }}
75
+ {%- endif %}
76
+ {{- '\n<tool_response>\n' }}
77
+ {{- content }}
78
+ {{- '\n</tool_response>' }}
79
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
80
+ {{- '<|im_end|>\n' }}
81
+ {%- endif %}
82
+ {%- endif %}
83
+ {%- endfor %}
84
+ {%- if add_generation_prompt %}
85
+ {{- '<|im_start|>assistant\n' }}
86
+ {%- if enable_thinking is defined and enable_thinking is false %}
87
+ {{- '<think>\n\n</think>\n\n' }}
88
+ {%- endif %}
89
+ {%- endif %}
grpo-smoke/final/generation_config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_sample": true,
3
+ "eos_token_id": [
4
+ 151645,
5
+ 151643
6
+ ],
7
+ "pad_token_id": 151643,
8
+ "temperature": 0.6,
9
+ "top_k": 20,
10
+ "top_p": 0.95,
11
+ "transformers_version": "5.6.2"
12
+ }
grpo-smoke/final/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506
3
+ size 11422650
grpo-smoke/final/tokenizer_config.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "backend": "tokenizers",
4
+ "bos_token": null,
5
+ "clean_up_tokenization_spaces": false,
6
+ "eos_token": "<|im_end|>",
7
+ "errors": "replace",
8
+ "extra_special_tokens": [
9
+ "<|im_start|>",
10
+ "<|im_end|>",
11
+ "<|object_ref_start|>",
12
+ "<|object_ref_end|>",
13
+ "<|box_start|>",
14
+ "<|box_end|>",
15
+ "<|quad_start|>",
16
+ "<|quad_end|>",
17
+ "<|vision_start|>",
18
+ "<|vision_end|>",
19
+ "<|vision_pad|>",
20
+ "<|image_pad|>",
21
+ "<|video_pad|>"
22
+ ],
23
+ "is_local": true,
24
+ "local_files_only": false,
25
+ "max_length": 512,
26
+ "model_max_length": 131072,
27
+ "pad_token": "<|endoftext|>",
28
+ "split_special_tokens": false,
29
+ "stride": 0,
30
+ "tokenizer_class": "Qwen2Tokenizer",
31
+ "truncation_side": "right",
32
+ "truncation_strategy": "longest_first",
33
+ "unk_token": null
34
+ }
grpo-smoke/final/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c986fa55995ff6e6a4fa603eb466f0b786878868e1df8cf0154ff760f75593d0
3
+ size 7249