mxz commited on
Commit
525f7a3
·
verified ·
1 Parent(s): a7d681a

Upload 17 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
added_tokens.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "</tool_call>": 151658,
3
+ "<tool_call>": 151657,
4
+ "<|box_end|>": 151649,
5
+ "<|box_start|>": 151648,
6
+ "<|endoftext|>": 151643,
7
+ "<|file_sep|>": 151664,
8
+ "<|fim_middle|>": 151660,
9
+ "<|fim_pad|>": 151662,
10
+ "<|fim_prefix|>": 151659,
11
+ "<|fim_suffix|>": 151661,
12
+ "<|im_end|>": 151645,
13
+ "<|im_start|>": 151644,
14
+ "<|image_pad|>": 151655,
15
+ "<|object_ref_end|>": 151647,
16
+ "<|object_ref_start|>": 151646,
17
+ "<|quad_end|>": 151651,
18
+ "<|quad_start|>": 151650,
19
+ "<|repo_name|>": 151663,
20
+ "<|video_pad|>": 151656,
21
+ "<|vision_end|>": 151653,
22
+ "<|vision_pad|>": 151654,
23
+ "<|vision_start|>": 151652
24
+ }
config.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "Qwen/Qwen2.5-0.5B",
3
+ "architectures": [
4
+ "Qwen2ForCausalLM"
5
+ ],
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 151643,
8
+ "eos_token_id": 151643,
9
+ "hidden_act": "silu",
10
+ "hidden_size": 896,
11
+ "initializer_range": 0.02,
12
+ "intermediate_size": 4864,
13
+ "max_position_embeddings": 32768,
14
+ "max_window_layers": 24,
15
+ "model_type": "qwen2",
16
+ "num_attention_heads": 14,
17
+ "num_hidden_layers": 24,
18
+ "num_key_value_heads": 2,
19
+ "rms_norm_eps": 1e-06,
20
+ "rope_scaling": null,
21
+ "rope_theta": 1000000.0,
22
+ "sliding_window": null,
23
+ "tie_word_embeddings": true,
24
+ "torch_dtype": "bfloat16",
25
+ "transformers_version": "4.48.2",
26
+ "use_cache": true,
27
+ "use_mrope": false,
28
+ "use_sliding_window": false,
29
+ "vocab_size": 151936
30
+ }
generation_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 151643,
3
+ "eos_token_id": 151643,
4
+ "max_new_tokens": 2048,
5
+ "transformers_version": "4.48.2"
6
+ }
latest ADDED
@@ -0,0 +1 @@
 
 
1
+ global_step185
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a466322107f68f0a3c43f872627c4b7280c0ed1d3ebc7c839ab644da8de518d6
3
+ size 988097824
rng_state_0.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b3d22bceae33d8fa6a9e820d963f99d0f227ce7b3477aa4373ed2fbe3a43f885
3
+ size 14960
rng_state_1.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ecd010a86fd576fcd29315fc3a11d52719bd00ffa884e166f0be898f8838904d
3
+ size 14960
rng_state_2.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4dcaaaf463d3940cee4cc80fe5010ffb143ff956ebdf8094b13819faf9882797
3
+ size 14960
scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fafb6eac3438bdded8cbd63e49dc9dc46e78320e402770e1f7a0035f1dae4984
3
+ size 1064
special_tokens_map.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<|im_start|>",
4
+ "<|im_end|>",
5
+ "<|object_ref_start|>",
6
+ "<|object_ref_end|>",
7
+ "<|box_start|>",
8
+ "<|box_end|>",
9
+ "<|quad_start|>",
10
+ "<|quad_end|>",
11
+ "<|vision_start|>",
12
+ "<|vision_end|>",
13
+ "<|vision_pad|>",
14
+ "<|image_pad|>",
15
+ "<|video_pad|>"
16
+ ],
17
+ "eos_token": {
18
+ "content": "<|endoftext|>",
19
+ "lstrip": false,
20
+ "normalized": false,
21
+ "rstrip": false,
22
+ "single_word": false
23
+ },
24
+ "pad_token": {
25
+ "content": "<|endoftext|>",
26
+ "lstrip": false,
27
+ "normalized": false,
28
+ "rstrip": false,
29
+ "single_word": false
30
+ }
31
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5eee858c5123a4279c3e1f7b81247343f356ac767940b2692a928ad929543214
3
+ size 11422063
tokenizer_config.json ADDED
@@ -0,0 +1,209 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_prefix_space": false,
4
+ "added_tokens_decoder": {
5
+ "151643": {
6
+ "content": "<|endoftext|>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false,
11
+ "special": true
12
+ },
13
+ "151644": {
14
+ "content": "<|im_start|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false,
19
+ "special": true
20
+ },
21
+ "151645": {
22
+ "content": "<|im_end|>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false,
27
+ "special": true
28
+ },
29
+ "151646": {
30
+ "content": "<|object_ref_start|>",
31
+ "lstrip": false,
32
+ "normalized": false,
33
+ "rstrip": false,
34
+ "single_word": false,
35
+ "special": true
36
+ },
37
+ "151647": {
38
+ "content": "<|object_ref_end|>",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false,
43
+ "special": true
44
+ },
45
+ "151648": {
46
+ "content": "<|box_start|>",
47
+ "lstrip": false,
48
+ "normalized": false,
49
+ "rstrip": false,
50
+ "single_word": false,
51
+ "special": true
52
+ },
53
+ "151649": {
54
+ "content": "<|box_end|>",
55
+ "lstrip": false,
56
+ "normalized": false,
57
+ "rstrip": false,
58
+ "single_word": false,
59
+ "special": true
60
+ },
61
+ "151650": {
62
+ "content": "<|quad_start|>",
63
+ "lstrip": false,
64
+ "normalized": false,
65
+ "rstrip": false,
66
+ "single_word": false,
67
+ "special": true
68
+ },
69
+ "151651": {
70
+ "content": "<|quad_end|>",
71
+ "lstrip": false,
72
+ "normalized": false,
73
+ "rstrip": false,
74
+ "single_word": false,
75
+ "special": true
76
+ },
77
+ "151652": {
78
+ "content": "<|vision_start|>",
79
+ "lstrip": false,
80
+ "normalized": false,
81
+ "rstrip": false,
82
+ "single_word": false,
83
+ "special": true
84
+ },
85
+ "151653": {
86
+ "content": "<|vision_end|>",
87
+ "lstrip": false,
88
+ "normalized": false,
89
+ "rstrip": false,
90
+ "single_word": false,
91
+ "special": true
92
+ },
93
+ "151654": {
94
+ "content": "<|vision_pad|>",
95
+ "lstrip": false,
96
+ "normalized": false,
97
+ "rstrip": false,
98
+ "single_word": false,
99
+ "special": true
100
+ },
101
+ "151655": {
102
+ "content": "<|image_pad|>",
103
+ "lstrip": false,
104
+ "normalized": false,
105
+ "rstrip": false,
106
+ "single_word": false,
107
+ "special": true
108
+ },
109
+ "151656": {
110
+ "content": "<|video_pad|>",
111
+ "lstrip": false,
112
+ "normalized": false,
113
+ "rstrip": false,
114
+ "single_word": false,
115
+ "special": true
116
+ },
117
+ "151657": {
118
+ "content": "<tool_call>",
119
+ "lstrip": false,
120
+ "normalized": false,
121
+ "rstrip": false,
122
+ "single_word": false,
123
+ "special": false
124
+ },
125
+ "151658": {
126
+ "content": "</tool_call>",
127
+ "lstrip": false,
128
+ "normalized": false,
129
+ "rstrip": false,
130
+ "single_word": false,
131
+ "special": false
132
+ },
133
+ "151659": {
134
+ "content": "<|fim_prefix|>",
135
+ "lstrip": false,
136
+ "normalized": false,
137
+ "rstrip": false,
138
+ "single_word": false,
139
+ "special": false
140
+ },
141
+ "151660": {
142
+ "content": "<|fim_middle|>",
143
+ "lstrip": false,
144
+ "normalized": false,
145
+ "rstrip": false,
146
+ "single_word": false,
147
+ "special": false
148
+ },
149
+ "151661": {
150
+ "content": "<|fim_suffix|>",
151
+ "lstrip": false,
152
+ "normalized": false,
153
+ "rstrip": false,
154
+ "single_word": false,
155
+ "special": false
156
+ },
157
+ "151662": {
158
+ "content": "<|fim_pad|>",
159
+ "lstrip": false,
160
+ "normalized": false,
161
+ "rstrip": false,
162
+ "single_word": false,
163
+ "special": false
164
+ },
165
+ "151663": {
166
+ "content": "<|repo_name|>",
167
+ "lstrip": false,
168
+ "normalized": false,
169
+ "rstrip": false,
170
+ "single_word": false,
171
+ "special": false
172
+ },
173
+ "151664": {
174
+ "content": "<|file_sep|>",
175
+ "lstrip": false,
176
+ "normalized": false,
177
+ "rstrip": false,
178
+ "single_word": false,
179
+ "special": false
180
+ }
181
+ },
182
+ "additional_special_tokens": [
183
+ "<|im_start|>",
184
+ "<|im_end|>",
185
+ "<|object_ref_start|>",
186
+ "<|object_ref_end|>",
187
+ "<|box_start|>",
188
+ "<|box_end|>",
189
+ "<|quad_start|>",
190
+ "<|quad_end|>",
191
+ "<|vision_start|>",
192
+ "<|vision_end|>",
193
+ "<|vision_pad|>",
194
+ "<|image_pad|>",
195
+ "<|video_pad|>"
196
+ ],
197
+ "bos_token": null,
198
+ "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- 'You are a helpful assistant.' }}\n {%- endif %}\n {{- \"\\n\\n# 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>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\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\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- else %}\n {{- '<|im_start|>system\\nYou are a helpful assistant.<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) or (message.role == \"assistant\" and not message.tool_calls) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + message.content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n",
199
+ "clean_up_tokenization_spaces": false,
200
+ "eos_token": "<|endoftext|>",
201
+ "errors": "replace",
202
+ "extra_special_tokens": {},
203
+ "model_max_length": 131072,
204
+ "pad_token": "<|endoftext|>",
205
+ "padding_side": "left",
206
+ "split_special_tokens": false,
207
+ "tokenizer_class": "Qwen2Tokenizer",
208
+ "unk_token": null
209
+ }
trainer_state.json ADDED
@@ -0,0 +1,2451 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_metric": null,
3
+ "best_model_checkpoint": null,
4
+ "epoch": 1.9813333333333332,
5
+ "eval_steps": 10,
6
+ "global_step": 186,
7
+ "is_hyper_param_search": false,
8
+ "is_local_process_zero": true,
9
+ "is_world_process_zero": true,
10
+ "log_history": [
11
+ {
12
+ "completion_length": 535.1041831970215,
13
+ "epoch": 0.010666666666666666,
14
+ "grad_norm": 0.10447478294372559,
15
+ "kl": 0.0,
16
+ "learning_rate": 1.5789473684210525e-07,
17
+ "loss": -0.0025,
18
+ "reward": 0.031250000931322575,
19
+ "reward_std": 0.10825317353010178,
20
+ "rewards/accuracy_reward": 0.031250000931322575,
21
+ "rewards/format_reward": 0.0,
22
+ "step": 1
23
+ },
24
+ {
25
+ "completion_length": 555.5937728881836,
26
+ "epoch": 0.021333333333333333,
27
+ "grad_norm": 0.05305163562297821,
28
+ "kl": 0.0,
29
+ "learning_rate": 3.157894736842105e-07,
30
+ "loss": 0.009,
31
+ "reward": 0.02083333395421505,
32
+ "reward_std": 0.04865618050098419,
33
+ "rewards/accuracy_reward": 0.02083333395421505,
34
+ "rewards/format_reward": 0.0,
35
+ "step": 2
36
+ },
37
+ {
38
+ "completion_length": 510.41668701171875,
39
+ "epoch": 0.032,
40
+ "grad_norm": 0.0009671024745330215,
41
+ "kl": 0.00044345855712890625,
42
+ "learning_rate": 4.736842105263158e-07,
43
+ "loss": 0.0,
44
+ "reward": 0.0,
45
+ "reward_std": 0.0,
46
+ "rewards/accuracy_reward": 0.0,
47
+ "rewards/format_reward": 0.0,
48
+ "step": 3
49
+ },
50
+ {
51
+ "completion_length": 570.4166831970215,
52
+ "epoch": 0.042666666666666665,
53
+ "grad_norm": 0.06929787248373032,
54
+ "kl": 0.00043070316314697266,
55
+ "learning_rate": 6.31578947368421e-07,
56
+ "loss": -0.0023,
57
+ "reward": 0.02083333395421505,
58
+ "reward_std": 0.04865618050098419,
59
+ "rewards/accuracy_reward": 0.02083333395421505,
60
+ "rewards/format_reward": 0.0,
61
+ "step": 4
62
+ },
63
+ {
64
+ "completion_length": 564.0833435058594,
65
+ "epoch": 0.05333333333333334,
66
+ "grad_norm": 0.03304513171315193,
67
+ "kl": 0.0004966259002685547,
68
+ "learning_rate": 7.894736842105263e-07,
69
+ "loss": 0.0287,
70
+ "reward": 0.010416666977107525,
71
+ "reward_std": 0.03608439117670059,
72
+ "rewards/accuracy_reward": 0.010416666977107525,
73
+ "rewards/format_reward": 0.0,
74
+ "step": 5
75
+ },
76
+ {
77
+ "completion_length": 434.66668701171875,
78
+ "epoch": 0.064,
79
+ "grad_norm": 0.0016080428613349795,
80
+ "kl": 0.0005583763122558594,
81
+ "learning_rate": 9.473684210526316e-07,
82
+ "loss": 0.0,
83
+ "reward": 0.0,
84
+ "reward_std": 0.0,
85
+ "rewards/accuracy_reward": 0.0,
86
+ "rewards/format_reward": 0.0,
87
+ "step": 6
88
+ },
89
+ {
90
+ "completion_length": 617.7396087646484,
91
+ "epoch": 0.07466666666666667,
92
+ "grad_norm": 0.08006145060062408,
93
+ "kl": 0.000385284423828125,
94
+ "learning_rate": 1.1052631578947369e-06,
95
+ "loss": 0.0445,
96
+ "reward": 0.052083334885537624,
97
+ "reward_std": 0.13339675962924957,
98
+ "rewards/accuracy_reward": 0.052083334885537624,
99
+ "rewards/format_reward": 0.0,
100
+ "step": 7
101
+ },
102
+ {
103
+ "completion_length": 527.3333511352539,
104
+ "epoch": 0.08533333333333333,
105
+ "grad_norm": 0.0587327815592289,
106
+ "kl": 0.0003993511199951172,
107
+ "learning_rate": 1.263157894736842e-06,
108
+ "loss": 0.0507,
109
+ "reward": 0.031250000931322575,
110
+ "reward_std": 0.10825317353010178,
111
+ "rewards/accuracy_reward": 0.031250000931322575,
112
+ "rewards/format_reward": 0.0,
113
+ "step": 8
114
+ },
115
+ {
116
+ "completion_length": 551.2083435058594,
117
+ "epoch": 0.096,
118
+ "grad_norm": 0.001157123246230185,
119
+ "kl": 0.0004718303680419922,
120
+ "learning_rate": 1.4210526315789473e-06,
121
+ "loss": 0.0,
122
+ "reward": 0.0,
123
+ "reward_std": 0.0,
124
+ "rewards/accuracy_reward": 0.0,
125
+ "rewards/format_reward": 0.0,
126
+ "step": 9
127
+ },
128
+ {
129
+ "completion_length": 486.7291793823242,
130
+ "epoch": 0.10666666666666667,
131
+ "grad_norm": 0.12886527180671692,
132
+ "kl": 0.00043964385986328125,
133
+ "learning_rate": 1.5789473684210526e-06,
134
+ "loss": -0.0082,
135
+ "reward": 0.08333333395421505,
136
+ "reward_std": 0.13744790107011795,
137
+ "rewards/accuracy_reward": 0.08333333395421505,
138
+ "rewards/format_reward": 0.0,
139
+ "step": 10
140
+ },
141
+ {
142
+ "completion_length": 512.5000114440918,
143
+ "epoch": 0.11733333333333333,
144
+ "grad_norm": 0.10466578602790833,
145
+ "kl": 0.0008594989776611328,
146
+ "learning_rate": 1.736842105263158e-06,
147
+ "loss": 0.0013,
148
+ "reward": 0.031250000931322575,
149
+ "reward_std": 0.10825317353010178,
150
+ "rewards/accuracy_reward": 0.031250000931322575,
151
+ "rewards/format_reward": 0.0,
152
+ "step": 11
153
+ },
154
+ {
155
+ "completion_length": 485.0000114440918,
156
+ "epoch": 0.128,
157
+ "grad_norm": 0.17413121461868286,
158
+ "kl": 0.0007164478302001953,
159
+ "learning_rate": 1.8947368421052632e-06,
160
+ "loss": -0.0509,
161
+ "reward": 0.031250000931322575,
162
+ "reward_std": 0.10825317353010178,
163
+ "rewards/accuracy_reward": 0.031250000931322575,
164
+ "rewards/format_reward": 0.0,
165
+ "step": 12
166
+ },
167
+ {
168
+ "completion_length": 495.39584732055664,
169
+ "epoch": 0.13866666666666666,
170
+ "grad_norm": 0.0025116761680692434,
171
+ "kl": 0.0007200241088867188,
172
+ "learning_rate": 2.0526315789473687e-06,
173
+ "loss": 0.0,
174
+ "reward": 0.0,
175
+ "reward_std": 0.0,
176
+ "rewards/accuracy_reward": 0.0,
177
+ "rewards/format_reward": 0.0,
178
+ "step": 13
179
+ },
180
+ {
181
+ "completion_length": 579.197925567627,
182
+ "epoch": 0.14933333333333335,
183
+ "grad_norm": 0.10607028752565384,
184
+ "kl": 0.001117706298828125,
185
+ "learning_rate": 2.2105263157894738e-06,
186
+ "loss": 0.0997,
187
+ "reward": 0.05208333395421505,
188
+ "reward_std": 0.12870215997099876,
189
+ "rewards/accuracy_reward": 0.05208333395421505,
190
+ "rewards/format_reward": 0.0,
191
+ "step": 14
192
+ },
193
+ {
194
+ "completion_length": 618.0729370117188,
195
+ "epoch": 0.16,
196
+ "grad_norm": 0.04636254161596298,
197
+ "kl": 0.00128936767578125,
198
+ "learning_rate": 2.368421052631579e-06,
199
+ "loss": -0.0278,
200
+ "reward": 0.010416666977107525,
201
+ "reward_std": 0.03608439117670059,
202
+ "rewards/accuracy_reward": 0.010416666977107525,
203
+ "rewards/format_reward": 0.0,
204
+ "step": 15
205
+ },
206
+ {
207
+ "completion_length": 529.8020973205566,
208
+ "epoch": 0.17066666666666666,
209
+ "grad_norm": 0.12151255458593369,
210
+ "kl": 0.0032758712768554688,
211
+ "learning_rate": 2.526315789473684e-06,
212
+ "loss": 0.0198,
213
+ "reward": 0.0416666679084301,
214
+ "reward_std": 0.14433756470680237,
215
+ "rewards/accuracy_reward": 0.0416666679084301,
216
+ "rewards/format_reward": 0.0,
217
+ "step": 16
218
+ },
219
+ {
220
+ "completion_length": 583.6979370117188,
221
+ "epoch": 0.18133333333333335,
222
+ "grad_norm": 0.09600550681352615,
223
+ "kl": 0.0034093856811523438,
224
+ "learning_rate": 2.6842105263157895e-06,
225
+ "loss": 0.0187,
226
+ "reward": 0.0729166679084301,
227
+ "reward_std": 0.17735834047198296,
228
+ "rewards/accuracy_reward": 0.0729166679084301,
229
+ "rewards/format_reward": 0.0,
230
+ "step": 17
231
+ },
232
+ {
233
+ "completion_length": 526.9583473205566,
234
+ "epoch": 0.192,
235
+ "grad_norm": 0.09340275824069977,
236
+ "kl": 0.005596160888671875,
237
+ "learning_rate": 2.8421052631578946e-06,
238
+ "loss": 0.026,
239
+ "reward": 0.0416666679084301,
240
+ "reward_std": 0.12082496285438538,
241
+ "rewards/accuracy_reward": 0.0416666679084301,
242
+ "rewards/format_reward": 0.0,
243
+ "step": 18
244
+ },
245
+ {
246
+ "completion_length": 465.8645935058594,
247
+ "epoch": 0.20266666666666666,
248
+ "grad_norm": 0.08133361488580704,
249
+ "kl": 0.006252288818359375,
250
+ "learning_rate": 3e-06,
251
+ "loss": -0.0449,
252
+ "reward": 0.052083334885537624,
253
+ "reward_std": 0.13339675962924957,
254
+ "rewards/accuracy_reward": 0.052083334885537624,
255
+ "rewards/format_reward": 0.0,
256
+ "step": 19
257
+ },
258
+ {
259
+ "completion_length": 525.0937690734863,
260
+ "epoch": 0.21333333333333335,
261
+ "grad_norm": 0.1193581074476242,
262
+ "kl": 0.008209228515625,
263
+ "learning_rate": 2.9997345912364375e-06,
264
+ "loss": -0.0093,
265
+ "reward": 0.07291666883975267,
266
+ "reward_std": 0.16979892551898956,
267
+ "rewards/accuracy_reward": 0.07291666883975267,
268
+ "rewards/format_reward": 0.0,
269
+ "step": 20
270
+ },
271
+ {
272
+ "completion_length": 504.42709732055664,
273
+ "epoch": 0.224,
274
+ "grad_norm": 0.1320876032114029,
275
+ "kl": 0.011646270751953125,
276
+ "learning_rate": 2.9989384588681657e-06,
277
+ "loss": -0.027,
278
+ "reward": 0.13541666697710752,
279
+ "reward_std": 0.21443026512861252,
280
+ "rewards/accuracy_reward": 0.13541666697710752,
281
+ "rewards/format_reward": 0.0,
282
+ "step": 21
283
+ },
284
+ {
285
+ "completion_length": 566.2187690734863,
286
+ "epoch": 0.23466666666666666,
287
+ "grad_norm": 0.11368165165185928,
288
+ "kl": 0.012992382049560547,
289
+ "learning_rate": 2.9976118846291945e-06,
290
+ "loss": 0.0194,
291
+ "reward": 0.06250000186264515,
292
+ "reward_std": 0.19299374520778656,
293
+ "rewards/accuracy_reward": 0.06250000186264515,
294
+ "rewards/format_reward": 0.0,
295
+ "step": 22
296
+ },
297
+ {
298
+ "completion_length": 457.18751525878906,
299
+ "epoch": 0.24533333333333332,
300
+ "grad_norm": 0.21248622238636017,
301
+ "kl": 0.023479461669921875,
302
+ "learning_rate": 2.995755337965428e-06,
303
+ "loss": 0.0218,
304
+ "reward": 0.11458333767950535,
305
+ "reward_std": 0.2338472306728363,
306
+ "rewards/accuracy_reward": 0.11458333767950535,
307
+ "rewards/format_reward": 0.0,
308
+ "step": 23
309
+ },
310
+ {
311
+ "completion_length": 559.9166831970215,
312
+ "epoch": 0.256,
313
+ "grad_norm": 0.129845529794693,
314
+ "kl": 0.02849578857421875,
315
+ "learning_rate": 2.99336947586854e-06,
316
+ "loss": -0.035,
317
+ "reward": 0.12500000186264515,
318
+ "reward_std": 0.28254789859056473,
319
+ "rewards/accuracy_reward": 0.12500000186264515,
320
+ "rewards/format_reward": 0.0,
321
+ "step": 24
322
+ },
323
+ {
324
+ "completion_length": 564.6979446411133,
325
+ "epoch": 0.26666666666666666,
326
+ "grad_norm": 0.10117102414369583,
327
+ "kl": 0.0623321533203125,
328
+ "learning_rate": 2.9904551426434754e-06,
329
+ "loss": 0.0704,
330
+ "reward": 0.1145833358168602,
331
+ "reward_std": 0.23890409246087074,
332
+ "rewards/accuracy_reward": 0.1145833358168602,
333
+ "rewards/format_reward": 0.0,
334
+ "step": 25
335
+ },
336
+ {
337
+ "completion_length": 605.0937690734863,
338
+ "epoch": 0.2773333333333333,
339
+ "grad_norm": 0.1382395625114441,
340
+ "kl": 0.037479400634765625,
341
+ "learning_rate": 2.987013369609672e-06,
342
+ "loss": -0.0203,
343
+ "reward": 0.10416666977107525,
344
+ "reward_std": 0.26679351180791855,
345
+ "rewards/accuracy_reward": 0.10416666977107525,
346
+ "rewards/format_reward": 0.0,
347
+ "step": 26
348
+ },
349
+ {
350
+ "completion_length": 517.604190826416,
351
+ "epoch": 0.288,
352
+ "grad_norm": 0.21559005975723267,
353
+ "kl": 0.061981201171875,
354
+ "learning_rate": 2.983045374736096e-06,
355
+ "loss": 0.0576,
356
+ "reward": 0.14583333767950535,
357
+ "reward_std": 0.17174768447875977,
358
+ "rewards/accuracy_reward": 0.14583333767950535,
359
+ "rewards/format_reward": 0.0,
360
+ "step": 27
361
+ },
362
+ {
363
+ "completion_length": 594.8958473205566,
364
+ "epoch": 0.2986666666666667,
365
+ "grad_norm": 0.1260552555322647,
366
+ "kl": 0.02332305908203125,
367
+ "learning_rate": 2.978552562210232e-06,
368
+ "loss": 0.0939,
369
+ "reward": 0.12500000279396772,
370
+ "reward_std": 0.25147588923573494,
371
+ "rewards/accuracy_reward": 0.12500000279396772,
372
+ "rewards/format_reward": 0.0,
373
+ "step": 28
374
+ },
375
+ {
376
+ "completion_length": 546.0312690734863,
377
+ "epoch": 0.30933333333333335,
378
+ "grad_norm": 0.12078198045492172,
379
+ "kl": 0.0504302978515625,
380
+ "learning_rate": 2.9735365219411707e-06,
381
+ "loss": -0.0113,
382
+ "reward": 0.18750001024454832,
383
+ "reward_std": 0.14910665899515152,
384
+ "rewards/accuracy_reward": 0.18750001024454832,
385
+ "rewards/format_reward": 0.0,
386
+ "step": 29
387
+ },
388
+ {
389
+ "completion_length": 469.4896049499512,
390
+ "epoch": 0.32,
391
+ "grad_norm": 0.16322949528694153,
392
+ "kl": 0.0821685791015625,
393
+ "learning_rate": 2.9679990289969723e-06,
394
+ "loss": -0.011,
395
+ "reward": 0.15625000186264515,
396
+ "reward_std": 0.2555270306766033,
397
+ "rewards/accuracy_reward": 0.15625000186264515,
398
+ "rewards/format_reward": 0.0,
399
+ "step": 30
400
+ },
401
+ {
402
+ "completion_length": 556.3125152587891,
403
+ "epoch": 0.33066666666666666,
404
+ "grad_norm": 0.12340069562196732,
405
+ "kl": 0.03859710693359375,
406
+ "learning_rate": 2.9619420429765106e-06,
407
+ "loss": -0.0312,
408
+ "reward": 0.18750000093132257,
409
+ "reward_std": 0.2543407045304775,
410
+ "rewards/accuracy_reward": 0.18750000093132257,
411
+ "rewards/format_reward": 0.0,
412
+ "step": 31
413
+ },
414
+ {
415
+ "completion_length": 469.6770896911621,
416
+ "epoch": 0.3413333333333333,
417
+ "grad_norm": 0.1940806806087494,
418
+ "kl": 0.06516265869140625,
419
+ "learning_rate": 2.955367707316014e-06,
420
+ "loss": -0.0537,
421
+ "reward": 0.1979166716337204,
422
+ "reward_std": 0.2885033190250397,
423
+ "rewards/accuracy_reward": 0.1979166716337204,
424
+ "rewards/format_reward": 0.0,
425
+ "step": 32
426
+ },
427
+ {
428
+ "completion_length": 602.7396011352539,
429
+ "epoch": 0.352,
430
+ "grad_norm": 0.09024544060230255,
431
+ "kl": 0.02783203125,
432
+ "learning_rate": 2.948278348530547e-06,
433
+ "loss": 0.0558,
434
+ "reward": 0.12500000186264515,
435
+ "reward_std": 0.21124766021966934,
436
+ "rewards/accuracy_reward": 0.12500000186264515,
437
+ "rewards/format_reward": 0.0,
438
+ "step": 33
439
+ },
440
+ {
441
+ "completion_length": 593.6770935058594,
442
+ "epoch": 0.3626666666666667,
443
+ "grad_norm": 0.08488824963569641,
444
+ "kl": 0.05257415771484375,
445
+ "learning_rate": 2.9406764753907096e-06,
446
+ "loss": 0.0303,
447
+ "reward": 0.07291666883975267,
448
+ "reward_std": 0.18205294013023376,
449
+ "rewards/accuracy_reward": 0.07291666883975267,
450
+ "rewards/format_reward": 0.0,
451
+ "step": 34
452
+ },
453
+ {
454
+ "completion_length": 574.5312728881836,
455
+ "epoch": 0.37333333333333335,
456
+ "grad_norm": 0.12150894105434418,
457
+ "kl": 0.03229522705078125,
458
+ "learning_rate": 2.9325647780348364e-06,
459
+ "loss": 0.0854,
460
+ "reward": 0.1041666679084301,
461
+ "reward_std": 0.23389172554016113,
462
+ "rewards/accuracy_reward": 0.1041666679084301,
463
+ "rewards/format_reward": 0.0,
464
+ "step": 35
465
+ },
466
+ {
467
+ "completion_length": 626.3750152587891,
468
+ "epoch": 0.384,
469
+ "grad_norm": 0.12855271995067596,
470
+ "kl": 0.02007293701171875,
471
+ "learning_rate": 2.9239461270170137e-06,
472
+ "loss": 0.0565,
473
+ "reward": 0.17708333674818277,
474
+ "reward_std": 0.3208988308906555,
475
+ "rewards/accuracy_reward": 0.17708333674818277,
476
+ "rewards/format_reward": 0.0,
477
+ "step": 36
478
+ },
479
+ {
480
+ "completion_length": 628.3437652587891,
481
+ "epoch": 0.39466666666666667,
482
+ "grad_norm": 0.14817272126674652,
483
+ "kl": 0.03232574462890625,
484
+ "learning_rate": 2.914823572291257e-06,
485
+ "loss": 0.0374,
486
+ "reward": 0.20833333767950535,
487
+ "reward_std": 0.2605394050478935,
488
+ "rewards/accuracy_reward": 0.20833333767950535,
489
+ "rewards/format_reward": 0.0,
490
+ "step": 37
491
+ },
492
+ {
493
+ "completion_length": 580.7604331970215,
494
+ "epoch": 0.4053333333333333,
495
+ "grad_norm": 0.17469142377376556,
496
+ "kl": 0.0690155029296875,
497
+ "learning_rate": 2.9052003421321917e-06,
498
+ "loss": 0.038,
499
+ "reward": 0.0729166679084301,
500
+ "reward_std": 0.15384574607014656,
501
+ "rewards/accuracy_reward": 0.0729166679084301,
502
+ "rewards/format_reward": 0.0,
503
+ "step": 38
504
+ },
505
+ {
506
+ "completion_length": 609.6666831970215,
507
+ "epoch": 0.416,
508
+ "grad_norm": 0.16530297696590424,
509
+ "kl": 0.06507110595703125,
510
+ "learning_rate": 2.8950798419926422e-06,
511
+ "loss": 0.0371,
512
+ "reward": 0.22916667629033327,
513
+ "reward_std": 0.37515120208263397,
514
+ "rewards/accuracy_reward": 0.22916667629033327,
515
+ "rewards/format_reward": 0.0,
516
+ "step": 39
517
+ },
518
+ {
519
+ "completion_length": 589.1979293823242,
520
+ "epoch": 0.4266666666666667,
521
+ "grad_norm": 0.16562184691429138,
522
+ "kl": 0.0455322265625,
523
+ "learning_rate": 2.884465653298514e-06,
524
+ "loss": 0.1025,
525
+ "reward": 0.17708334047347307,
526
+ "reward_std": 0.2671857886016369,
527
+ "rewards/accuracy_reward": 0.17708334047347307,
528
+ "rewards/format_reward": 0.0,
529
+ "step": 40
530
+ },
531
+ {
532
+ "completion_length": 597.1875190734863,
533
+ "epoch": 0.43733333333333335,
534
+ "grad_norm": 0.46513137221336365,
535
+ "kl": 0.05785369873046875,
536
+ "learning_rate": 2.8733615321814036e-06,
537
+ "loss": 0.1034,
538
+ "reward": 0.2291666753590107,
539
+ "reward_std": 0.339111290872097,
540
+ "rewards/accuracy_reward": 0.2291666753590107,
541
+ "rewards/format_reward": 0.0,
542
+ "step": 41
543
+ },
544
+ {
545
+ "completion_length": 553.8333435058594,
546
+ "epoch": 0.448,
547
+ "grad_norm": 0.12673671543598175,
548
+ "kl": 0.06561279296875,
549
+ "learning_rate": 2.8617714081493856e-06,
550
+ "loss": 0.0195,
551
+ "reward": 0.19791667815297842,
552
+ "reward_std": 0.28564153611660004,
553
+ "rewards/accuracy_reward": 0.19791667815297842,
554
+ "rewards/format_reward": 0.0,
555
+ "step": 42
556
+ },
557
+ {
558
+ "completion_length": 502.4479331970215,
559
+ "epoch": 0.45866666666666667,
560
+ "grad_norm": 0.20127542316913605,
561
+ "kl": 0.103759765625,
562
+ "learning_rate": 2.849699382696445e-06,
563
+ "loss": -0.0076,
564
+ "reward": 0.22916667256504297,
565
+ "reward_std": 0.2759315297007561,
566
+ "rewards/accuracy_reward": 0.22916667256504297,
567
+ "rewards/format_reward": 0.0,
568
+ "step": 43
569
+ },
570
+ {
571
+ "completion_length": 490.50000762939453,
572
+ "epoch": 0.4693333333333333,
573
+ "grad_norm": 0.231169655919075,
574
+ "kl": 0.0522918701171875,
575
+ "learning_rate": 2.8371497278510474e-06,
576
+ "loss": 0.1514,
577
+ "reward": 0.3645833432674408,
578
+ "reward_std": 0.427349217236042,
579
+ "rewards/accuracy_reward": 0.3645833432674408,
580
+ "rewards/format_reward": 0.0,
581
+ "step": 44
582
+ },
583
+ {
584
+ "completion_length": 597.1875228881836,
585
+ "epoch": 0.48,
586
+ "grad_norm": 0.48629194498062134,
587
+ "kl": 0.05603790283203125,
588
+ "learning_rate": 2.8241268846643613e-06,
589
+ "loss": 0.0505,
590
+ "reward": 0.15625000279396772,
591
+ "reward_std": 0.22226297482848167,
592
+ "rewards/accuracy_reward": 0.15625000279396772,
593
+ "rewards/format_reward": 0.0,
594
+ "step": 45
595
+ },
596
+ {
597
+ "completion_length": 529.3333587646484,
598
+ "epoch": 0.49066666666666664,
599
+ "grad_norm": 0.14516475796699524,
600
+ "kl": 0.0585784912109375,
601
+ "learning_rate": 2.8106354616386633e-06,
602
+ "loss": 0.0372,
603
+ "reward": 0.3229166744276881,
604
+ "reward_std": 0.3968754820525646,
605
+ "rewards/accuracy_reward": 0.3229166744276881,
606
+ "rewards/format_reward": 0.0,
607
+ "step": 46
608
+ },
609
+ {
610
+ "completion_length": 586.8333549499512,
611
+ "epoch": 0.5013333333333333,
612
+ "grad_norm": 0.13861708343029022,
613
+ "kl": 0.0889892578125,
614
+ "learning_rate": 2.796680233096492e-06,
615
+ "loss": -0.0095,
616
+ "reward": 0.1770833358168602,
617
+ "reward_std": 0.21539149805903435,
618
+ "rewards/accuracy_reward": 0.1770833358168602,
619
+ "rewards/format_reward": 0.0,
620
+ "step": 47
621
+ },
622
+ {
623
+ "completion_length": 578.0312614440918,
624
+ "epoch": 0.512,
625
+ "grad_norm": 0.14956602454185486,
626
+ "kl": 0.1368408203125,
627
+ "learning_rate": 2.7822661374911177e-06,
628
+ "loss": 0.0516,
629
+ "reward": 0.2708333395421505,
630
+ "reward_std": 0.30700354650616646,
631
+ "rewards/accuracy_reward": 0.2708333395421505,
632
+ "rewards/format_reward": 0.0,
633
+ "step": 48
634
+ },
635
+ {
636
+ "completion_length": 623.2916870117188,
637
+ "epoch": 0.5226666666666666,
638
+ "grad_norm": 0.18586260080337524,
639
+ "kl": 0.120880126953125,
640
+ "learning_rate": 2.7673982756589312e-06,
641
+ "loss": 0.0158,
642
+ "reward": 0.22916667070239782,
643
+ "reward_std": 0.3167550005018711,
644
+ "rewards/accuracy_reward": 0.22916667070239782,
645
+ "rewards/format_reward": 0.0,
646
+ "step": 49
647
+ },
648
+ {
649
+ "completion_length": 697.7291793823242,
650
+ "epoch": 0.5333333333333333,
651
+ "grad_norm": 6.404502868652344,
652
+ "kl": 0.319976806640625,
653
+ "learning_rate": 2.7520819090143655e-06,
654
+ "loss": 0.0299,
655
+ "reward": 0.1562500037252903,
656
+ "reward_std": 0.2504701688885689,
657
+ "rewards/accuracy_reward": 0.1562500037252903,
658
+ "rewards/format_reward": 0.0,
659
+ "step": 50
660
+ },
661
+ {
662
+ "completion_length": 584.5208435058594,
663
+ "epoch": 0.544,
664
+ "grad_norm": 0.21096980571746826,
665
+ "kl": 0.162750244140625,
666
+ "learning_rate": 2.736322457687999e-06,
667
+ "loss": -0.0173,
668
+ "reward": 0.19791667070239782,
669
+ "reward_std": 0.3315218612551689,
670
+ "rewards/accuracy_reward": 0.19791667070239782,
671
+ "rewards/format_reward": 0.0,
672
+ "step": 51
673
+ },
674
+ {
675
+ "completion_length": 646.1875152587891,
676
+ "epoch": 0.5546666666666666,
677
+ "grad_norm": 0.34582799673080444,
678
+ "kl": 0.1904296875,
679
+ "learning_rate": 2.720125498608487e-06,
680
+ "loss": 0.0753,
681
+ "reward": 0.10416666883975267,
682
+ "reward_std": 0.20281970128417015,
683
+ "rewards/accuracy_reward": 0.10416666883975267,
684
+ "rewards/format_reward": 0.0,
685
+ "step": 52
686
+ },
687
+ {
688
+ "completion_length": 722.7604370117188,
689
+ "epoch": 0.5653333333333334,
690
+ "grad_norm": 0.16253501176834106,
691
+ "kl": 0.1534423828125,
692
+ "learning_rate": 2.7034967635290054e-06,
693
+ "loss": 0.1153,
694
+ "reward": 0.23958333674818277,
695
+ "reward_std": 0.25935307890176773,
696
+ "rewards/accuracy_reward": 0.23958333674818277,
697
+ "rewards/format_reward": 0.0,
698
+ "step": 53
699
+ },
700
+ {
701
+ "completion_length": 713.0312652587891,
702
+ "epoch": 0.576,
703
+ "grad_norm": 0.1711745262145996,
704
+ "kl": 0.2108154296875,
705
+ "learning_rate": 2.6864421369989112e-06,
706
+ "loss": 0.0778,
707
+ "reward": 0.16666667070239782,
708
+ "reward_std": 0.27498848363757133,
709
+ "rewards/accuracy_reward": 0.16666667070239782,
710
+ "rewards/format_reward": 0.0,
711
+ "step": 54
712
+ },
713
+ {
714
+ "completion_length": 709.7916946411133,
715
+ "epoch": 0.5866666666666667,
716
+ "grad_norm": 0.21810775995254517,
717
+ "kl": 0.18017578125,
718
+ "learning_rate": 2.668967654281324e-06,
719
+ "loss": 0.0342,
720
+ "reward": 0.2395833469927311,
721
+ "reward_std": 0.254644013941288,
722
+ "rewards/accuracy_reward": 0.2395833469927311,
723
+ "rewards/format_reward": 0.0,
724
+ "step": 55
725
+ },
726
+ {
727
+ "completion_length": 673.8229293823242,
728
+ "epoch": 0.5973333333333334,
729
+ "grad_norm": 0.3457491099834442,
730
+ "kl": 0.2532958984375,
731
+ "learning_rate": 2.65107949921738e-06,
732
+ "loss": 0.1691,
733
+ "reward": 0.20833333674818277,
734
+ "reward_std": 0.3889237828552723,
735
+ "rewards/accuracy_reward": 0.20833333674818277,
736
+ "rewards/format_reward": 0.0,
737
+ "step": 56
738
+ },
739
+ {
740
+ "completion_length": 575.7500152587891,
741
+ "epoch": 0.608,
742
+ "grad_norm": 0.8664973974227905,
743
+ "kl": 0.773681640625,
744
+ "learning_rate": 2.632784002037904e-06,
745
+ "loss": 0.1391,
746
+ "reward": 0.3229166716337204,
747
+ "reward_std": 0.4173244684934616,
748
+ "rewards/accuracy_reward": 0.3229166716337204,
749
+ "rewards/format_reward": 0.0,
750
+ "step": 57
751
+ },
752
+ {
753
+ "completion_length": 687.2500152587891,
754
+ "epoch": 0.6186666666666667,
755
+ "grad_norm": 0.33583614230155945,
756
+ "kl": 0.62158203125,
757
+ "learning_rate": 2.6140876371232755e-06,
758
+ "loss": 0.051,
759
+ "reward": 0.17708334047347307,
760
+ "reward_std": 0.2671857886016369,
761
+ "rewards/accuracy_reward": 0.17708334047347307,
762
+ "rewards/format_reward": 0.0,
763
+ "step": 58
764
+ },
765
+ {
766
+ "completion_length": 726.1875076293945,
767
+ "epoch": 0.6293333333333333,
768
+ "grad_norm": 2.140490770339966,
769
+ "kl": 1.1827392578125,
770
+ "learning_rate": 2.594997020712288e-06,
771
+ "loss": 0.043,
772
+ "reward": 0.08333333395421505,
773
+ "reward_std": 0.13744790107011795,
774
+ "rewards/accuracy_reward": 0.08333333395421505,
775
+ "rewards/format_reward": 0.0,
776
+ "step": 59
777
+ },
778
+ {
779
+ "completion_length": 749.4895935058594,
780
+ "epoch": 0.64,
781
+ "grad_norm": 0.2817237377166748,
782
+ "kl": 0.57421875,
783
+ "learning_rate": 2.5755189085608046e-06,
784
+ "loss": 0.0747,
785
+ "reward": 0.09375000279396772,
786
+ "reward_std": 0.24196770787239075,
787
+ "rewards/accuracy_reward": 0.09375000279396772,
788
+ "rewards/format_reward": 0.0,
789
+ "step": 60
790
+ },
791
+ {
792
+ "completion_length": 735.6354370117188,
793
+ "epoch": 0.6506666666666666,
794
+ "grad_norm": 0.3483006954193115,
795
+ "kl": 0.52978515625,
796
+ "learning_rate": 2.5556601935510422e-06,
797
+ "loss": 0.0503,
798
+ "reward": 0.15625000186264515,
799
+ "reward_std": 0.2912936396896839,
800
+ "rewards/accuracy_reward": 0.15625000186264515,
801
+ "rewards/format_reward": 0.0,
802
+ "step": 61
803
+ },
804
+ {
805
+ "completion_length": 692.6041793823242,
806
+ "epoch": 0.6613333333333333,
807
+ "grad_norm": 0.3014882206916809,
808
+ "kl": 0.6661376953125,
809
+ "learning_rate": 2.53542790325233e-06,
810
+ "loss": 0.0723,
811
+ "reward": 0.0416666679084301,
812
+ "reward_std": 0.06154575198888779,
813
+ "rewards/accuracy_reward": 0.0416666679084301,
814
+ "rewards/format_reward": 0.0,
815
+ "step": 62
816
+ },
817
+ {
818
+ "completion_length": 617.5937728881836,
819
+ "epoch": 0.672,
820
+ "grad_norm": 0.887993335723877,
821
+ "kl": 0.4677734375,
822
+ "learning_rate": 2.5148291974342035e-06,
823
+ "loss": 0.1084,
824
+ "reward": 0.322916672565043,
825
+ "reward_std": 0.41752326115965843,
826
+ "rewards/accuracy_reward": 0.322916672565043,
827
+ "rewards/format_reward": 0.0,
828
+ "step": 63
829
+ },
830
+ {
831
+ "completion_length": 653.7395973205566,
832
+ "epoch": 0.6826666666666666,
833
+ "grad_norm": 0.3804032802581787,
834
+ "kl": 0.9503173828125,
835
+ "learning_rate": 2.493871365532719e-06,
836
+ "loss": 0.0645,
837
+ "reward": 0.17708333767950535,
838
+ "reward_std": 0.2633597403764725,
839
+ "rewards/accuracy_reward": 0.17708333767950535,
840
+ "rewards/format_reward": 0.0,
841
+ "step": 64
842
+ },
843
+ {
844
+ "completion_length": 558.3646011352539,
845
+ "epoch": 0.6933333333333334,
846
+ "grad_norm": 0.8641887903213501,
847
+ "kl": 0.542236328125,
848
+ "learning_rate": 2.4725618240708804e-06,
849
+ "loss": 0.1947,
850
+ "reward": 0.3125000037252903,
851
+ "reward_std": 0.3014373779296875,
852
+ "rewards/accuracy_reward": 0.3125000037252903,
853
+ "rewards/format_reward": 0.0,
854
+ "step": 65
855
+ },
856
+ {
857
+ "completion_length": 554.1041793823242,
858
+ "epoch": 0.704,
859
+ "grad_norm": 0.7259989380836487,
860
+ "kl": 1.319580078125,
861
+ "learning_rate": 2.4509081140340877e-06,
862
+ "loss": 0.0516,
863
+ "reward": 0.3020833423361182,
864
+ "reward_std": 0.33246491476893425,
865
+ "rewards/accuracy_reward": 0.3020833423361182,
866
+ "rewards/format_reward": 0.0,
867
+ "step": 66
868
+ },
869
+ {
870
+ "completion_length": 534.1146011352539,
871
+ "epoch": 0.7146666666666667,
872
+ "grad_norm": 0.7615457773208618,
873
+ "kl": 1.759307861328125,
874
+ "learning_rate": 2.428917898201553e-06,
875
+ "loss": 0.1123,
876
+ "reward": 0.2812500027939677,
877
+ "reward_std": 0.2837342247366905,
878
+ "rewards/accuracy_reward": 0.2812500027939677,
879
+ "rewards/format_reward": 0.0,
880
+ "step": 67
881
+ },
882
+ {
883
+ "completion_length": 536.3125152587891,
884
+ "epoch": 0.7253333333333334,
885
+ "grad_norm": 0.9113590121269226,
886
+ "kl": 0.890380859375,
887
+ "learning_rate": 2.4065989584346e-06,
888
+ "loss": 0.1048,
889
+ "reward": 0.22916667629033327,
890
+ "reward_std": 0.3314773738384247,
891
+ "rewards/accuracy_reward": 0.22916667629033327,
892
+ "rewards/format_reward": 0.0,
893
+ "step": 68
894
+ },
895
+ {
896
+ "completion_length": 524.9895935058594,
897
+ "epoch": 0.736,
898
+ "grad_norm": 0.4094133973121643,
899
+ "kl": 0.77490234375,
900
+ "learning_rate": 2.3839591929228413e-06,
901
+ "loss": 0.0492,
902
+ "reward": 0.2708333423361182,
903
+ "reward_std": 0.41816671192646027,
904
+ "rewards/accuracy_reward": 0.2708333423361182,
905
+ "rewards/format_reward": 0.0,
906
+ "step": 69
907
+ },
908
+ {
909
+ "completion_length": 532.0625133514404,
910
+ "epoch": 0.7466666666666667,
911
+ "grad_norm": 2.149420976638794,
912
+ "kl": 0.80133056640625,
913
+ "learning_rate": 2.3610066133891706e-06,
914
+ "loss": 0.0904,
915
+ "reward": 0.260416672565043,
916
+ "reward_std": 0.35224414244294167,
917
+ "rewards/accuracy_reward": 0.260416672565043,
918
+ "rewards/format_reward": 0.0,
919
+ "step": 70
920
+ },
921
+ {
922
+ "completion_length": 639.7916870117188,
923
+ "epoch": 0.7573333333333333,
924
+ "grad_norm": 0.29616329073905945,
925
+ "kl": 0.350982666015625,
926
+ "learning_rate": 2.337749342254595e-06,
927
+ "loss": 0.0271,
928
+ "reward": 0.2708333395421505,
929
+ "reward_std": 0.2885478064417839,
930
+ "rewards/accuracy_reward": 0.2708333395421505,
931
+ "rewards/format_reward": 0.0,
932
+ "step": 71
933
+ },
934
+ {
935
+ "completion_length": 584.4166831970215,
936
+ "epoch": 0.768,
937
+ "grad_norm": 0.42845651507377625,
938
+ "kl": 0.38970947265625,
939
+ "learning_rate": 2.3141956097638817e-06,
940
+ "loss": 0.0633,
941
+ "reward": 0.17708334047347307,
942
+ "reward_std": 0.3029524050652981,
943
+ "rewards/accuracy_reward": 0.17708334047347307,
944
+ "rewards/format_reward": 0.0,
945
+ "step": 72
946
+ },
947
+ {
948
+ "completion_length": 543.7083435058594,
949
+ "epoch": 0.7786666666666666,
950
+ "grad_norm": 0.6256530284881592,
951
+ "kl": 0.306884765625,
952
+ "learning_rate": 2.2903537510730547e-06,
953
+ "loss": 0.1157,
954
+ "reward": 0.4583333535119891,
955
+ "reward_std": 0.4731736220419407,
956
+ "rewards/accuracy_reward": 0.4583333535119891,
957
+ "rewards/format_reward": 0.0,
958
+ "step": 73
959
+ },
960
+ {
961
+ "completion_length": 560.2812614440918,
962
+ "epoch": 0.7893333333333333,
963
+ "grad_norm": 0.5944956541061401,
964
+ "kl": 0.662353515625,
965
+ "learning_rate": 2.2662322032997616e-06,
966
+ "loss": 0.1079,
967
+ "reward": 0.19791667349636555,
968
+ "reward_std": 0.29912634938955307,
969
+ "rewards/accuracy_reward": 0.19791667349636555,
970
+ "rewards/format_reward": 0.0,
971
+ "step": 74
972
+ },
973
+ {
974
+ "completion_length": 699.5521011352539,
975
+ "epoch": 0.8,
976
+ "grad_norm": 0.554081380367279,
977
+ "kl": 0.7374267578125,
978
+ "learning_rate": 2.241839502537563e-06,
979
+ "loss": 0.0715,
980
+ "reward": 0.15625000651925802,
981
+ "reward_std": 0.22636231780052185,
982
+ "rewards/accuracy_reward": 0.15625000651925802,
983
+ "rewards/format_reward": 0.0,
984
+ "step": 75
985
+ },
986
+ {
987
+ "completion_length": 646.3437652587891,
988
+ "epoch": 0.8106666666666666,
989
+ "grad_norm": 1.3772621154785156,
990
+ "kl": 1.7783203125,
991
+ "learning_rate": 2.21718428083519e-06,
992
+ "loss": 0.0255,
993
+ "reward": 0.17708333767950535,
994
+ "reward_std": 0.28982681408524513,
995
+ "rewards/accuracy_reward": 0.17708333767950535,
996
+ "rewards/format_reward": 0.0,
997
+ "step": 76
998
+ },
999
+ {
1000
+ "completion_length": 632.2500152587891,
1001
+ "epoch": 0.8213333333333334,
1002
+ "grad_norm": 0.865872859954834,
1003
+ "kl": 0.7518310546875,
1004
+ "learning_rate": 2.1922752631418534e-06,
1005
+ "loss": 0.035,
1006
+ "reward": 0.2500000074505806,
1007
+ "reward_std": 0.28194961696863174,
1008
+ "rewards/accuracy_reward": 0.2500000074505806,
1009
+ "rewards/format_reward": 0.0,
1010
+ "step": 77
1011
+ },
1012
+ {
1013
+ "completion_length": 702.2395935058594,
1014
+ "epoch": 0.832,
1015
+ "grad_norm": 0.4784860908985138,
1016
+ "kl": 0.572998046875,
1017
+ "learning_rate": 2.167121264219669e-06,
1018
+ "loss": 0.0299,
1019
+ "reward": 0.15625000186264515,
1020
+ "reward_std": 0.23201442882418633,
1021
+ "rewards/accuracy_reward": 0.15625000186264515,
1022
+ "rewards/format_reward": 0.0,
1023
+ "step": 78
1024
+ },
1025
+ {
1026
+ "completion_length": 673.2396087646484,
1027
+ "epoch": 0.8426666666666667,
1028
+ "grad_norm": 1.1683677434921265,
1029
+ "kl": 0.584228515625,
1030
+ "learning_rate": 2.1417311855243084e-06,
1031
+ "loss": 0.1041,
1032
+ "reward": 0.18750000465661287,
1033
+ "reward_std": 0.29944413155317307,
1034
+ "rewards/accuracy_reward": 0.18750000465661287,
1035
+ "rewards/format_reward": 0.0,
1036
+ "step": 79
1037
+ },
1038
+ {
1039
+ "completion_length": 561.9270973205566,
1040
+ "epoch": 0.8533333333333334,
1041
+ "grad_norm": 0.7934542894363403,
1042
+ "kl": 1.1396484375,
1043
+ "learning_rate": 2.116114012054961e-06,
1044
+ "loss": 0.1309,
1045
+ "reward": 0.27083334047347307,
1046
+ "reward_std": 0.38526491820812225,
1047
+ "rewards/accuracy_reward": 0.27083334047347307,
1048
+ "rewards/format_reward": 0.0,
1049
+ "step": 80
1050
+ },
1051
+ {
1052
+ "completion_length": 486.2395935058594,
1053
+ "epoch": 0.864,
1054
+ "grad_norm": 1.099777340888977,
1055
+ "kl": 1.2906494140625,
1056
+ "learning_rate": 2.0902788091747436e-06,
1057
+ "loss": 0.0744,
1058
+ "reward": 0.22916667256504297,
1059
+ "reward_std": 0.3494238071143627,
1060
+ "rewards/accuracy_reward": 0.22916667256504297,
1061
+ "rewards/format_reward": 0.0,
1062
+ "step": 81
1063
+ },
1064
+ {
1065
+ "completion_length": 573.5729293823242,
1066
+ "epoch": 0.8746666666666667,
1067
+ "grad_norm": 0.3417358994483948,
1068
+ "kl": 0.5443115234375,
1069
+ "learning_rate": 2.064234719402658e-06,
1070
+ "loss": 0.1249,
1071
+ "reward": 0.2812500037252903,
1072
+ "reward_std": 0.30425771325826645,
1073
+ "rewards/accuracy_reward": 0.2812500037252903,
1074
+ "rewards/format_reward": 0.0,
1075
+ "step": 82
1076
+ },
1077
+ {
1078
+ "completion_length": 600.3646011352539,
1079
+ "epoch": 0.8853333333333333,
1080
+ "grad_norm": 0.3621276021003723,
1081
+ "kl": 0.4794921875,
1082
+ "learning_rate": 2.037990959178259e-06,
1083
+ "loss": 0.0338,
1084
+ "reward": 0.281250006519258,
1085
+ "reward_std": 0.2800753600895405,
1086
+ "rewards/accuracy_reward": 0.281250006519258,
1087
+ "rewards/format_reward": 0.0,
1088
+ "step": 83
1089
+ },
1090
+ {
1091
+ "completion_length": 584.6458473205566,
1092
+ "epoch": 0.896,
1093
+ "grad_norm": 0.5323257446289062,
1094
+ "kl": 0.467041015625,
1095
+ "learning_rate": 2.0115568156001488e-06,
1096
+ "loss": 0.0821,
1097
+ "reward": 0.27083334513008595,
1098
+ "reward_std": 0.3042132258415222,
1099
+ "rewards/accuracy_reward": 0.27083334513008595,
1100
+ "rewards/format_reward": 0.0,
1101
+ "step": 84
1102
+ },
1103
+ {
1104
+ "completion_length": 585.9166870117188,
1105
+ "epoch": 0.9066666666666666,
1106
+ "grad_norm": 0.467734694480896,
1107
+ "kl": 0.3864898681640625,
1108
+ "learning_rate": 1.984941643139478e-06,
1109
+ "loss": 0.1324,
1110
+ "reward": 0.3229166753590107,
1111
+ "reward_std": 0.1980806216597557,
1112
+ "rewards/accuracy_reward": 0.3229166753590107,
1113
+ "rewards/format_reward": 0.0,
1114
+ "step": 85
1115
+ },
1116
+ {
1117
+ "completion_length": 619.7187652587891,
1118
+ "epoch": 0.9173333333333333,
1119
+ "grad_norm": 0.3862552344799042,
1120
+ "kl": 0.523406982421875,
1121
+ "learning_rate": 1.9581548603295995e-06,
1122
+ "loss": 0.0401,
1123
+ "reward": 0.19791667256504297,
1124
+ "reward_std": 0.2671857886016369,
1125
+ "rewards/accuracy_reward": 0.19791667256504297,
1126
+ "rewards/format_reward": 0.0,
1127
+ "step": 86
1128
+ },
1129
+ {
1130
+ "completion_length": 613.7083511352539,
1131
+ "epoch": 0.928,
1132
+ "grad_norm": 0.27887099981307983,
1133
+ "kl": 0.801605224609375,
1134
+ "learning_rate": 1.9312059464330545e-06,
1135
+ "loss": 0.0648,
1136
+ "reward": 0.1875000037252903,
1137
+ "reward_std": 0.2856829836964607,
1138
+ "rewards/accuracy_reward": 0.1875000037252903,
1139
+ "rewards/format_reward": 0.0,
1140
+ "step": 87
1141
+ },
1142
+ {
1143
+ "completion_length": 588.0521049499512,
1144
+ "epoch": 0.9386666666666666,
1145
+ "grad_norm": 0.4169585704803467,
1146
+ "kl": 0.687591552734375,
1147
+ "learning_rate": 1.9041044380870643e-06,
1148
+ "loss": 0.0083,
1149
+ "reward": 0.1979166716337204,
1150
+ "reward_std": 0.32426992803812027,
1151
+ "rewards/accuracy_reward": 0.1979166716337204,
1152
+ "rewards/format_reward": 0.0,
1153
+ "step": 88
1154
+ },
1155
+ {
1156
+ "completion_length": 581.4687614440918,
1157
+ "epoch": 0.9493333333333334,
1158
+ "grad_norm": 0.6219002604484558,
1159
+ "kl": 0.71435546875,
1160
+ "learning_rate": 1.8768599259287235e-06,
1161
+ "loss": 0.0248,
1162
+ "reward": 0.26041667349636555,
1163
+ "reward_std": 0.20783207565546036,
1164
+ "rewards/accuracy_reward": 0.26041667349636555,
1165
+ "rewards/format_reward": 0.0,
1166
+ "step": 89
1167
+ },
1168
+ {
1169
+ "completion_length": 576.2916831970215,
1170
+ "epoch": 0.96,
1171
+ "grad_norm": 0.5098808407783508,
1172
+ "kl": 0.950927734375,
1173
+ "learning_rate": 1.8494820512010797e-06,
1174
+ "loss": 0.1095,
1175
+ "reward": 0.2291666753590107,
1176
+ "reward_std": 0.2797575779259205,
1177
+ "rewards/accuracy_reward": 0.2291666753590107,
1178
+ "rewards/format_reward": 0.0,
1179
+ "step": 90
1180
+ },
1181
+ {
1182
+ "completion_length": 624.4271087646484,
1183
+ "epoch": 0.9706666666666667,
1184
+ "grad_norm": 0.6733171343803406,
1185
+ "kl": 0.8636474609375,
1186
+ "learning_rate": 1.821980502341308e-06,
1187
+ "loss": 0.0614,
1188
+ "reward": 0.15625000651925802,
1189
+ "reward_std": 0.2185296081006527,
1190
+ "rewards/accuracy_reward": 0.15625000651925802,
1191
+ "rewards/format_reward": 0.0,
1192
+ "step": 91
1193
+ },
1194
+ {
1195
+ "completion_length": 587.5208587646484,
1196
+ "epoch": 0.9813333333333333,
1197
+ "grad_norm": 1.0600099563598633,
1198
+ "kl": 0.5804443359375,
1199
+ "learning_rate": 1.7943650115521788e-06,
1200
+ "loss": 0.1491,
1201
+ "reward": 0.281250006519258,
1202
+ "reward_std": 0.2633597403764725,
1203
+ "rewards/accuracy_reward": 0.281250006519258,
1204
+ "rewards/format_reward": 0.0,
1205
+ "step": 92
1206
+ },
1207
+ {
1208
+ "completion_length": 635.9375152587891,
1209
+ "epoch": 0.992,
1210
+ "grad_norm": 0.22917693853378296,
1211
+ "kl": 0.6182861328125,
1212
+ "learning_rate": 1.766645351358047e-06,
1213
+ "loss": 0.085,
1214
+ "reward": 0.2395833395421505,
1215
+ "reward_std": 0.24681130424141884,
1216
+ "rewards/accuracy_reward": 0.2395833395421505,
1217
+ "rewards/format_reward": 0.0,
1218
+ "step": 93
1219
+ },
1220
+ {
1221
+ "completion_length": 693.3055826822916,
1222
+ "epoch": 1.0,
1223
+ "grad_norm": 0.22917693853378296,
1224
+ "kl": 1.232421875,
1225
+ "learning_rate": 1.7388313311465638e-06,
1226
+ "loss": 0.07,
1227
+ "reward": 0.22222223257025084,
1228
+ "reward_std": 0.2980559766292572,
1229
+ "rewards/accuracy_reward": 0.22222223257025084,
1230
+ "rewards/format_reward": 0.0,
1231
+ "step": 94
1232
+ },
1233
+ {
1234
+ "completion_length": 568.6562652587891,
1235
+ "epoch": 1.0106666666666666,
1236
+ "grad_norm": 0.39828255772590637,
1237
+ "kl": 1.0860595703125,
1238
+ "learning_rate": 1.7109327936973479e-06,
1239
+ "loss": 0.1009,
1240
+ "reward": 0.22916667349636555,
1241
+ "reward_std": 0.2341650128364563,
1242
+ "rewards/accuracy_reward": 0.22916667349636555,
1243
+ "rewards/format_reward": 0.0,
1244
+ "step": 95
1245
+ },
1246
+ {
1247
+ "completion_length": 568.7083549499512,
1248
+ "epoch": 1.0213333333333334,
1249
+ "grad_norm": 0.3863210380077362,
1250
+ "kl": 0.499755859375,
1251
+ "learning_rate": 1.6829596116988381e-06,
1252
+ "loss": 0.0364,
1253
+ "reward": 0.43750001676380634,
1254
+ "reward_std": 0.44166112691164017,
1255
+ "rewards/accuracy_reward": 0.43750001676380634,
1256
+ "rewards/format_reward": 0.0,
1257
+ "step": 96
1258
+ },
1259
+ {
1260
+ "completion_length": 576.3958549499512,
1261
+ "epoch": 1.032,
1262
+ "grad_norm": 0.621791660785675,
1263
+ "kl": 0.8270263671875,
1264
+ "learning_rate": 1.6549216842545649e-06,
1265
+ "loss": -0.0011,
1266
+ "reward": 0.18750000465661287,
1267
+ "reward_std": 0.35948578268289566,
1268
+ "rewards/accuracy_reward": 0.18750000465661287,
1269
+ "rewards/format_reward": 0.0,
1270
+ "step": 97
1271
+ },
1272
+ {
1273
+ "completion_length": 618.697925567627,
1274
+ "epoch": 1.0426666666666666,
1275
+ "grad_norm": 0.27708661556243896,
1276
+ "kl": 0.358612060546875,
1277
+ "learning_rate": 1.6268289333800686e-06,
1278
+ "loss": 0.1116,
1279
+ "reward": 0.41666668001562357,
1280
+ "reward_std": 0.35948577523231506,
1281
+ "rewards/accuracy_reward": 0.41666668001562357,
1282
+ "rewards/format_reward": 0.0,
1283
+ "step": 98
1284
+ },
1285
+ {
1286
+ "completion_length": 602.5625152587891,
1287
+ "epoch": 1.0533333333333332,
1288
+ "grad_norm": 1.2479599714279175,
1289
+ "kl": 0.67333984375,
1290
+ "learning_rate": 1.598691300491716e-06,
1291
+ "loss": 0.1111,
1292
+ "reward": 0.33333334513008595,
1293
+ "reward_std": 0.28194961696863174,
1294
+ "rewards/accuracy_reward": 0.33333334513008595,
1295
+ "rewards/format_reward": 0.0,
1296
+ "step": 99
1297
+ },
1298
+ {
1299
+ "completion_length": 664.4062576293945,
1300
+ "epoch": 1.064,
1301
+ "grad_norm": 0.31423419713974,
1302
+ "kl": 0.4830322265625,
1303
+ "learning_rate": 1.5705187428886465e-06,
1304
+ "loss": 0.0806,
1305
+ "reward": 0.3437500139698386,
1306
+ "reward_std": 0.3402976170182228,
1307
+ "rewards/accuracy_reward": 0.3437500139698386,
1308
+ "rewards/format_reward": 0.0,
1309
+ "step": 100
1310
+ },
1311
+ {
1312
+ "completion_length": 620.0312652587891,
1313
+ "epoch": 1.0746666666666667,
1314
+ "grad_norm": 0.2487853467464447,
1315
+ "kl": 0.7161865234375,
1316
+ "learning_rate": 1.542321230229099e-06,
1317
+ "loss": 0.1072,
1318
+ "reward": 0.36458333767950535,
1319
+ "reward_std": 0.35291389375925064,
1320
+ "rewards/accuracy_reward": 0.36458333767950535,
1321
+ "rewards/format_reward": 0.0,
1322
+ "step": 101
1323
+ },
1324
+ {
1325
+ "completion_length": 554.6875152587891,
1326
+ "epoch": 1.0853333333333333,
1327
+ "grad_norm": 0.3372454047203064,
1328
+ "kl": 0.9202880859375,
1329
+ "learning_rate": 1.5141087410023688e-06,
1330
+ "loss": 0.1058,
1331
+ "reward": 0.27083334140479565,
1332
+ "reward_std": 0.3755134642124176,
1333
+ "rewards/accuracy_reward": 0.27083334140479565,
1334
+ "rewards/format_reward": 0.0,
1335
+ "step": 102
1336
+ },
1337
+ {
1338
+ "completion_length": 661.9583587646484,
1339
+ "epoch": 1.096,
1340
+ "grad_norm": 0.3665924668312073,
1341
+ "kl": 0.68231201171875,
1342
+ "learning_rate": 1.485891258997632e-06,
1343
+ "loss": 0.071,
1344
+ "reward": 0.20833333767950535,
1345
+ "reward_std": 0.29638051614165306,
1346
+ "rewards/accuracy_reward": 0.20833333767950535,
1347
+ "rewards/format_reward": 0.0,
1348
+ "step": 103
1349
+ },
1350
+ {
1351
+ "completion_length": 570.8541793823242,
1352
+ "epoch": 1.1066666666666667,
1353
+ "grad_norm": 0.4261507987976074,
1354
+ "kl": 0.9154052734375,
1355
+ "learning_rate": 1.4576787697709012e-06,
1356
+ "loss": 0.0776,
1357
+ "reward": 0.27083334047347307,
1358
+ "reward_std": 0.4203435964882374,
1359
+ "rewards/accuracy_reward": 0.27083334047347307,
1360
+ "rewards/format_reward": 0.0,
1361
+ "step": 104
1362
+ },
1363
+ {
1364
+ "completion_length": 570.9791793823242,
1365
+ "epoch": 1.1173333333333333,
1366
+ "grad_norm": 1.0135829448699951,
1367
+ "kl": 0.7562255859375,
1368
+ "learning_rate": 1.429481257111354e-06,
1369
+ "loss": 0.1382,
1370
+ "reward": 0.5000000102445483,
1371
+ "reward_std": 0.39492369070649147,
1372
+ "rewards/accuracy_reward": 0.5000000102445483,
1373
+ "rewards/format_reward": 0.0,
1374
+ "step": 105
1375
+ },
1376
+ {
1377
+ "completion_length": 485.27084732055664,
1378
+ "epoch": 1.1280000000000001,
1379
+ "grad_norm": 0.5100330710411072,
1380
+ "kl": 0.30596923828125,
1381
+ "learning_rate": 1.401308699508284e-06,
1382
+ "loss": 0.139,
1383
+ "reward": 0.5729166828095913,
1384
+ "reward_std": 0.3619955964386463,
1385
+ "rewards/accuracy_reward": 0.5729166828095913,
1386
+ "rewards/format_reward": 0.0,
1387
+ "step": 106
1388
+ },
1389
+ {
1390
+ "completion_length": 745.677116394043,
1391
+ "epoch": 1.1386666666666667,
1392
+ "grad_norm": 0.6321167349815369,
1393
+ "kl": 0.743896484375,
1394
+ "learning_rate": 1.3731710666199315e-06,
1395
+ "loss": 0.1902,
1396
+ "reward": 0.29166667349636555,
1397
+ "reward_std": 0.39369287714362144,
1398
+ "rewards/accuracy_reward": 0.29166667349636555,
1399
+ "rewards/format_reward": 0.0,
1400
+ "step": 107
1401
+ },
1402
+ {
1403
+ "completion_length": 683.0833587646484,
1404
+ "epoch": 1.1493333333333333,
1405
+ "grad_norm": 0.19921176135540009,
1406
+ "kl": 0.631439208984375,
1407
+ "learning_rate": 1.3450783157454354e-06,
1408
+ "loss": 0.0708,
1409
+ "reward": 0.3437500102445483,
1410
+ "reward_std": 0.29825781285762787,
1411
+ "rewards/accuracy_reward": 0.3437500102445483,
1412
+ "rewards/format_reward": 0.0,
1413
+ "step": 108
1414
+ },
1415
+ {
1416
+ "completion_length": 543.0416831970215,
1417
+ "epoch": 1.16,
1418
+ "grad_norm": 0.653483510017395,
1419
+ "kl": 0.3345947265625,
1420
+ "learning_rate": 1.317040388301162e-06,
1421
+ "loss": 0.2456,
1422
+ "reward": 0.45833335164934397,
1423
+ "reward_std": 0.34686949849128723,
1424
+ "rewards/accuracy_reward": 0.45833335164934397,
1425
+ "rewards/format_reward": 0.0,
1426
+ "step": 109
1427
+ },
1428
+ {
1429
+ "completion_length": 568.3125114440918,
1430
+ "epoch": 1.1706666666666667,
1431
+ "grad_norm": 1.6327720880508423,
1432
+ "kl": 0.2816009521484375,
1433
+ "learning_rate": 1.289067206302653e-06,
1434
+ "loss": 0.0651,
1435
+ "reward": 0.45833334885537624,
1436
+ "reward_std": 0.3930976279079914,
1437
+ "rewards/accuracy_reward": 0.45833334885537624,
1438
+ "rewards/format_reward": 0.0,
1439
+ "step": 110
1440
+ },
1441
+ {
1442
+ "completion_length": 613.6250114440918,
1443
+ "epoch": 1.1813333333333333,
1444
+ "grad_norm": 0.16312555968761444,
1445
+ "kl": 0.50360107421875,
1446
+ "learning_rate": 1.2611686688534365e-06,
1447
+ "loss": 0.0214,
1448
+ "reward": 0.19791667349636555,
1449
+ "reward_std": 0.27467070892453194,
1450
+ "rewards/accuracy_reward": 0.19791667349636555,
1451
+ "rewards/format_reward": 0.0,
1452
+ "step": 111
1453
+ },
1454
+ {
1455
+ "completion_length": 548.9583587646484,
1456
+ "epoch": 1.192,
1457
+ "grad_norm": 0.5374172329902649,
1458
+ "kl": 0.38507080078125,
1459
+ "learning_rate": 1.2333546486419533e-06,
1460
+ "loss": 0.0715,
1461
+ "reward": 0.42708334047347307,
1462
+ "reward_std": 0.3080092594027519,
1463
+ "rewards/accuracy_reward": 0.42708334047347307,
1464
+ "rewards/format_reward": 0.0,
1465
+ "step": 112
1466
+ },
1467
+ {
1468
+ "completion_length": 542.7083549499512,
1469
+ "epoch": 1.2026666666666666,
1470
+ "grad_norm": 0.6037431955337524,
1471
+ "kl": 0.6873931884765625,
1472
+ "learning_rate": 1.2056349884478213e-06,
1473
+ "loss": 0.1474,
1474
+ "reward": 0.4375000149011612,
1475
+ "reward_std": 0.35419290140271187,
1476
+ "rewards/accuracy_reward": 0.4375000149011612,
1477
+ "rewards/format_reward": 0.0,
1478
+ "step": 113
1479
+ },
1480
+ {
1481
+ "completion_length": 563.3645935058594,
1482
+ "epoch": 1.2133333333333334,
1483
+ "grad_norm": 0.7209116220474243,
1484
+ "kl": 0.3206329345703125,
1485
+ "learning_rate": 1.178019497658692e-06,
1486
+ "loss": 0.0499,
1487
+ "reward": 0.3854166744276881,
1488
+ "reward_std": 0.31488074362277985,
1489
+ "rewards/accuracy_reward": 0.3854166744276881,
1490
+ "rewards/format_reward": 0.0,
1491
+ "step": 114
1492
+ },
1493
+ {
1494
+ "completion_length": 641.1041831970215,
1495
+ "epoch": 1.224,
1496
+ "grad_norm": 0.1957225352525711,
1497
+ "kl": 0.39288330078125,
1498
+ "learning_rate": 1.1505179487989203e-06,
1499
+ "loss": 0.038,
1500
+ "reward": 0.30208333395421505,
1501
+ "reward_std": 0.2357477955520153,
1502
+ "rewards/accuracy_reward": 0.30208333395421505,
1503
+ "rewards/format_reward": 0.0,
1504
+ "step": 115
1505
+ },
1506
+ {
1507
+ "completion_length": 507.43751525878906,
1508
+ "epoch": 1.2346666666666666,
1509
+ "grad_norm": 0.23401759564876556,
1510
+ "kl": 0.369598388671875,
1511
+ "learning_rate": 1.123140074071277e-06,
1512
+ "loss": 0.0856,
1513
+ "reward": 0.4479166818782687,
1514
+ "reward_std": 0.47189461439847946,
1515
+ "rewards/accuracy_reward": 0.4479166818782687,
1516
+ "rewards/format_reward": 0.0,
1517
+ "step": 116
1518
+ },
1519
+ {
1520
+ "completion_length": 629.677116394043,
1521
+ "epoch": 1.2453333333333334,
1522
+ "grad_norm": 0.4538763463497162,
1523
+ "kl": 0.764892578125,
1524
+ "learning_rate": 1.0958955619129364e-06,
1525
+ "loss": -0.0148,
1526
+ "reward": 0.09375000279396772,
1527
+ "reward_std": 0.1569838561117649,
1528
+ "rewards/accuracy_reward": 0.09375000279396772,
1529
+ "rewards/format_reward": 0.0,
1530
+ "step": 117
1531
+ },
1532
+ {
1533
+ "completion_length": 507.5937614440918,
1534
+ "epoch": 1.256,
1535
+ "grad_norm": 0.48793312907218933,
1536
+ "kl": 0.26214599609375,
1537
+ "learning_rate": 1.068794053566946e-06,
1538
+ "loss": 0.0633,
1539
+ "reward": 0.5000000102445483,
1540
+ "reward_std": 0.2546139992773533,
1541
+ "rewards/accuracy_reward": 0.5000000102445483,
1542
+ "rewards/format_reward": 0.0,
1543
+ "step": 118
1544
+ },
1545
+ {
1546
+ "completion_length": 633.2291946411133,
1547
+ "epoch": 1.2666666666666666,
1548
+ "grad_norm": 0.45710209012031555,
1549
+ "kl": 0.2803955078125,
1550
+ "learning_rate": 1.0418451396704008e-06,
1551
+ "loss": 0.0682,
1552
+ "reward": 0.2395833395421505,
1553
+ "reward_std": 0.22601452842354774,
1554
+ "rewards/accuracy_reward": 0.2395833395421505,
1555
+ "rewards/format_reward": 0.0,
1556
+ "step": 119
1557
+ },
1558
+ {
1559
+ "completion_length": 471.57293701171875,
1560
+ "epoch": 1.2773333333333334,
1561
+ "grad_norm": 0.4903794229030609,
1562
+ "kl": 0.21380615234375,
1563
+ "learning_rate": 1.0150583568605221e-06,
1564
+ "loss": 0.1971,
1565
+ "reward": 0.5833333507180214,
1566
+ "reward_std": 0.4508173316717148,
1567
+ "rewards/accuracy_reward": 0.5833333507180214,
1568
+ "rewards/format_reward": 0.0,
1569
+ "step": 120
1570
+ },
1571
+ {
1572
+ "completion_length": 668.8020935058594,
1573
+ "epoch": 1.288,
1574
+ "grad_norm": 0.42050671577453613,
1575
+ "kl": 0.277130126953125,
1576
+ "learning_rate": 9.884431843998509e-07,
1577
+ "loss": 0.1015,
1578
+ "reward": 0.34375000558793545,
1579
+ "reward_std": 0.2768445611000061,
1580
+ "rewards/accuracy_reward": 0.34375000558793545,
1581
+ "rewards/format_reward": 0.0,
1582
+ "step": 121
1583
+ },
1584
+ {
1585
+ "completion_length": 497.5000228881836,
1586
+ "epoch": 1.2986666666666666,
1587
+ "grad_norm": 0.38155919313430786,
1588
+ "kl": 0.33343505859375,
1589
+ "learning_rate": 9.620090408217412e-07,
1590
+ "loss": 0.0934,
1591
+ "reward": 0.593750013038516,
1592
+ "reward_std": 0.3603988066315651,
1593
+ "rewards/accuracy_reward": 0.593750013038516,
1594
+ "rewards/format_reward": 0.0,
1595
+ "step": 122
1596
+ },
1597
+ {
1598
+ "completion_length": 613.1666870117188,
1599
+ "epoch": 1.3093333333333335,
1600
+ "grad_norm": 2.1156508922576904,
1601
+ "kl": 0.541748046875,
1602
+ "learning_rate": 9.357652805973417e-07,
1603
+ "loss": 0.0729,
1604
+ "reward": 0.2291666716337204,
1605
+ "reward_std": 0.24179892987012863,
1606
+ "rewards/accuracy_reward": 0.2291666716337204,
1607
+ "rewards/format_reward": 0.0,
1608
+ "step": 123
1609
+ },
1610
+ {
1611
+ "completion_length": 648.8229331970215,
1612
+ "epoch": 1.32,
1613
+ "grad_norm": 0.4442153871059418,
1614
+ "kl": 0.259307861328125,
1615
+ "learning_rate": 9.097211908252569e-07,
1616
+ "loss": 0.0742,
1617
+ "reward": 0.41666668467223644,
1618
+ "reward_std": 0.3726486414670944,
1619
+ "rewards/accuracy_reward": 0.41666668467223644,
1620
+ "rewards/format_reward": 0.0,
1621
+ "step": 124
1622
+ },
1623
+ {
1624
+ "completion_length": 593.2708511352539,
1625
+ "epoch": 1.3306666666666667,
1626
+ "grad_norm": 0.5561993718147278,
1627
+ "kl": 0.417083740234375,
1628
+ "learning_rate": 8.838859879450389e-07,
1629
+ "loss": 0.1325,
1630
+ "reward": 0.36458334140479565,
1631
+ "reward_std": 0.4144596457481384,
1632
+ "rewards/accuracy_reward": 0.36458334140479565,
1633
+ "rewards/format_reward": 0.0,
1634
+ "step": 125
1635
+ },
1636
+ {
1637
+ "completion_length": 622.2083511352539,
1638
+ "epoch": 1.3413333333333333,
1639
+ "grad_norm": 0.29431644082069397,
1640
+ "kl": 0.33892822265625,
1641
+ "learning_rate": 8.582688144756916e-07,
1642
+ "loss": -0.0189,
1643
+ "reward": 0.3229166781529784,
1644
+ "reward_std": 0.2596263736486435,
1645
+ "rewards/accuracy_reward": 0.3229166781529784,
1646
+ "rewards/format_reward": 0.0,
1647
+ "step": 126
1648
+ },
1649
+ {
1650
+ "completion_length": 553.5104370117188,
1651
+ "epoch": 1.3519999999999999,
1652
+ "grad_norm": 0.35601741075515747,
1653
+ "kl": 0.4847412109375,
1654
+ "learning_rate": 8.328787357803312e-07,
1655
+ "loss": 0.0578,
1656
+ "reward": 0.21875000186264515,
1657
+ "reward_std": 0.3450811840593815,
1658
+ "rewards/accuracy_reward": 0.21875000186264515,
1659
+ "rewards/format_reward": 0.0,
1660
+ "step": 127
1661
+ },
1662
+ {
1663
+ "completion_length": 556.8958396911621,
1664
+ "epoch": 1.3626666666666667,
1665
+ "grad_norm": 0.2601093351840973,
1666
+ "kl": 0.44805908203125,
1667
+ "learning_rate": 8.077247368581468e-07,
1668
+ "loss": 0.0774,
1669
+ "reward": 0.43750000931322575,
1670
+ "reward_std": 0.2957107648253441,
1671
+ "rewards/accuracy_reward": 0.43750000931322575,
1672
+ "rewards/format_reward": 0.0,
1673
+ "step": 128
1674
+ },
1675
+ {
1676
+ "completion_length": 671.4896011352539,
1677
+ "epoch": 1.3733333333333333,
1678
+ "grad_norm": 0.3361031711101532,
1679
+ "kl": 0.432769775390625,
1680
+ "learning_rate": 7.828157191648098e-07,
1681
+ "loss": 0.0428,
1682
+ "reward": 0.07291666977107525,
1683
+ "reward_std": 0.13653486967086792,
1684
+ "rewards/accuracy_reward": 0.07291666977107525,
1685
+ "rewards/format_reward": 0.0,
1686
+ "step": 129
1687
+ },
1688
+ {
1689
+ "completion_length": 533.1354370117188,
1690
+ "epoch": 1.384,
1691
+ "grad_norm": 0.4666847288608551,
1692
+ "kl": 0.45465087890625,
1693
+ "learning_rate": 7.581604974624371e-07,
1694
+ "loss": 0.1254,
1695
+ "reward": 0.3750000027939677,
1696
+ "reward_std": 0.21944263949990273,
1697
+ "rewards/accuracy_reward": 0.3750000027939677,
1698
+ "rewards/format_reward": 0.0,
1699
+ "step": 130
1700
+ },
1701
+ {
1702
+ "completion_length": 493.0937614440918,
1703
+ "epoch": 1.3946666666666667,
1704
+ "grad_norm": 0.47746792435646057,
1705
+ "kl": 0.385833740234375,
1706
+ "learning_rate": 7.337677967002385e-07,
1707
+ "loss": 0.0853,
1708
+ "reward": 0.4166666781529784,
1709
+ "reward_std": 0.3755134642124176,
1710
+ "rewards/accuracy_reward": 0.4166666781529784,
1711
+ "rewards/format_reward": 0.0,
1712
+ "step": 131
1713
+ },
1714
+ {
1715
+ "completion_length": 625.0104331970215,
1716
+ "epoch": 1.4053333333333333,
1717
+ "grad_norm": 0.8601658940315247,
1718
+ "kl": 0.3341064453125,
1719
+ "learning_rate": 7.096462489269454e-07,
1720
+ "loss": 0.1341,
1721
+ "reward": 0.28125000931322575,
1722
+ "reward_std": 0.32490549236536026,
1723
+ "rewards/accuracy_reward": 0.28125000931322575,
1724
+ "rewards/format_reward": 0.0,
1725
+ "step": 132
1726
+ },
1727
+ {
1728
+ "completion_length": 595.4583473205566,
1729
+ "epoch": 1.416,
1730
+ "grad_norm": 0.45403310656547546,
1731
+ "kl": 0.3372802734375,
1732
+ "learning_rate": 6.858043902361181e-07,
1733
+ "loss": 0.0947,
1734
+ "reward": 0.32291667629033327,
1735
+ "reward_std": 0.4055767357349396,
1736
+ "rewards/accuracy_reward": 0.32291667629033327,
1737
+ "rewards/format_reward": 0.0,
1738
+ "step": 133
1739
+ },
1740
+ {
1741
+ "completion_length": 478.6666717529297,
1742
+ "epoch": 1.4266666666666667,
1743
+ "grad_norm": 1.0305501222610474,
1744
+ "kl": 0.44744873046875,
1745
+ "learning_rate": 6.622506577454054e-07,
1746
+ "loss": 0.2416,
1747
+ "reward": 0.5416666809469461,
1748
+ "reward_std": 0.3745673857629299,
1749
+ "rewards/accuracy_reward": 0.5416666809469461,
1750
+ "rewards/format_reward": 0.0,
1751
+ "step": 134
1752
+ },
1753
+ {
1754
+ "completion_length": 591.9895973205566,
1755
+ "epoch": 1.4373333333333334,
1756
+ "grad_norm": 1.416900873184204,
1757
+ "kl": 0.714111328125,
1758
+ "learning_rate": 6.389933866108296e-07,
1759
+ "loss": 0.1579,
1760
+ "reward": 0.3020833395421505,
1761
+ "reward_std": 0.42134930938482285,
1762
+ "rewards/accuracy_reward": 0.3020833395421505,
1763
+ "rewards/format_reward": 0.0,
1764
+ "step": 135
1765
+ },
1766
+ {
1767
+ "completion_length": 578.6146011352539,
1768
+ "epoch": 1.448,
1769
+ "grad_norm": 0.6322238445281982,
1770
+ "kl": 1.034423828125,
1771
+ "learning_rate": 6.160408070771595e-07,
1772
+ "loss": 0.1152,
1773
+ "reward": 0.18750000651925802,
1774
+ "reward_std": 0.28289569541811943,
1775
+ "rewards/accuracy_reward": 0.18750000651925802,
1776
+ "rewards/format_reward": 0.0,
1777
+ "step": 136
1778
+ },
1779
+ {
1780
+ "completion_length": 669.4375228881836,
1781
+ "epoch": 1.4586666666666668,
1782
+ "grad_norm": 1.085103154182434,
1783
+ "kl": 1.0677490234375,
1784
+ "learning_rate": 5.934010415653995e-07,
1785
+ "loss": 0.0643,
1786
+ "reward": 0.25000001210719347,
1787
+ "reward_std": 0.3393845856189728,
1788
+ "rewards/accuracy_reward": 0.25000001210719347,
1789
+ "rewards/format_reward": 0.0,
1790
+ "step": 137
1791
+ },
1792
+ {
1793
+ "completion_length": 716.8229293823242,
1794
+ "epoch": 1.4693333333333334,
1795
+ "grad_norm": 0.7747601270675659,
1796
+ "kl": 1.439208984375,
1797
+ "learning_rate": 5.710821017984476e-07,
1798
+ "loss": 0.1124,
1799
+ "reward": 0.21875001024454832,
1800
+ "reward_std": 0.22636231780052185,
1801
+ "rewards/accuracy_reward": 0.21875001024454832,
1802
+ "rewards/format_reward": 0.0,
1803
+ "step": 138
1804
+ },
1805
+ {
1806
+ "completion_length": 531.7916793823242,
1807
+ "epoch": 1.48,
1808
+ "grad_norm": 1.2720061540603638,
1809
+ "kl": 0.59039306640625,
1810
+ "learning_rate": 5.490918859659122e-07,
1811
+ "loss": 0.1796,
1812
+ "reward": 0.38541667722165585,
1813
+ "reward_std": 0.3657289706170559,
1814
+ "rewards/accuracy_reward": 0.38541667722165585,
1815
+ "rewards/format_reward": 0.0,
1816
+ "step": 139
1817
+ },
1818
+ {
1819
+ "completion_length": 592.1666831970215,
1820
+ "epoch": 1.4906666666666666,
1821
+ "grad_norm": 0.8733373284339905,
1822
+ "kl": 0.7615966796875,
1823
+ "learning_rate": 5.2743817592912e-07,
1824
+ "loss": 0.119,
1825
+ "reward": 0.27083334140479565,
1826
+ "reward_std": 0.2904551103711128,
1827
+ "rewards/accuracy_reward": 0.27083334140479565,
1828
+ "rewards/format_reward": 0.0,
1829
+ "step": 140
1830
+ },
1831
+ {
1832
+ "completion_length": 509.00001525878906,
1833
+ "epoch": 1.5013333333333332,
1834
+ "grad_norm": 0.5739810466766357,
1835
+ "kl": 0.782470703125,
1836
+ "learning_rate": 5.061286344672812e-07,
1837
+ "loss": 0.2072,
1838
+ "reward": 0.4270833460614085,
1839
+ "reward_std": 0.3695550188422203,
1840
+ "rewards/accuracy_reward": 0.4270833460614085,
1841
+ "rewards/format_reward": 0.0,
1842
+ "step": 141
1843
+ },
1844
+ {
1845
+ "completion_length": 632.4166793823242,
1846
+ "epoch": 1.512,
1847
+ "grad_norm": 0.5129138231277466,
1848
+ "kl": 0.471435546875,
1849
+ "learning_rate": 4.85170802565797e-07,
1850
+ "loss": 0.0212,
1851
+ "reward": 0.2083333395421505,
1852
+ "reward_std": 0.30546221882104874,
1853
+ "rewards/accuracy_reward": 0.2083333395421505,
1854
+ "rewards/format_reward": 0.0,
1855
+ "step": 142
1856
+ },
1857
+ {
1858
+ "completion_length": 675.6354293823242,
1859
+ "epoch": 1.5226666666666666,
1860
+ "grad_norm": 0.6775838136672974,
1861
+ "kl": 1.49658203125,
1862
+ "learning_rate": 4.645720967476709e-07,
1863
+ "loss": 0.1271,
1864
+ "reward": 0.16666666977107525,
1865
+ "reward_std": 0.3798602595925331,
1866
+ "rewards/accuracy_reward": 0.16666666977107525,
1867
+ "rewards/format_reward": 0.0,
1868
+ "step": 143
1869
+ },
1870
+ {
1871
+ "completion_length": 599.3333473205566,
1872
+ "epoch": 1.5333333333333332,
1873
+ "grad_norm": 0.7139673233032227,
1874
+ "kl": 1.02490234375,
1875
+ "learning_rate": 4.443398064489581e-07,
1876
+ "loss": 0.1713,
1877
+ "reward": 0.32291667629033327,
1878
+ "reward_std": 0.4055767357349396,
1879
+ "rewards/accuracy_reward": 0.32291667629033327,
1880
+ "rewards/format_reward": 0.0,
1881
+ "step": 144
1882
+ },
1883
+ {
1884
+ "completion_length": 571.4687652587891,
1885
+ "epoch": 1.544,
1886
+ "grad_norm": 0.5391110181808472,
1887
+ "kl": 0.8048095703125,
1888
+ "learning_rate": 4.244810914391956e-07,
1889
+ "loss": 0.0891,
1890
+ "reward": 0.3020833348855376,
1891
+ "reward_std": 0.2281883805990219,
1892
+ "rewards/accuracy_reward": 0.3020833348855376,
1893
+ "rewards/format_reward": 0.0,
1894
+ "step": 145
1895
+ },
1896
+ {
1897
+ "completion_length": 616.6250267028809,
1898
+ "epoch": 1.5546666666666666,
1899
+ "grad_norm": 0.23279787600040436,
1900
+ "kl": 0.5025634765625,
1901
+ "learning_rate": 4.050029792877119e-07,
1902
+ "loss": 0.1257,
1903
+ "reward": 0.17708333767950535,
1904
+ "reward_std": 0.22828106209635735,
1905
+ "rewards/accuracy_reward": 0.17708333767950535,
1906
+ "rewards/format_reward": 0.0,
1907
+ "step": 146
1908
+ },
1909
+ {
1910
+ "completion_length": 546.5104331970215,
1911
+ "epoch": 1.5653333333333332,
1912
+ "grad_norm": 0.29375898838043213,
1913
+ "kl": 0.83935546875,
1914
+ "learning_rate": 3.8591236287672435e-07,
1915
+ "loss": 0.161,
1916
+ "reward": 0.40625001210719347,
1917
+ "reward_std": 0.44266683980822563,
1918
+ "rewards/accuracy_reward": 0.40625001210719347,
1919
+ "rewards/format_reward": 0.0,
1920
+ "step": 147
1921
+ },
1922
+ {
1923
+ "completion_length": 602.1250190734863,
1924
+ "epoch": 1.576,
1925
+ "grad_norm": 0.38167208433151245,
1926
+ "kl": 0.68280029296875,
1927
+ "learning_rate": 3.6721599796209593e-07,
1928
+ "loss": 0.0954,
1929
+ "reward": 0.2916666688397527,
1930
+ "reward_std": 0.3333779387176037,
1931
+ "rewards/accuracy_reward": 0.2916666688397527,
1932
+ "rewards/format_reward": 0.0,
1933
+ "step": 148
1934
+ },
1935
+ {
1936
+ "completion_length": 528.9479370117188,
1937
+ "epoch": 1.5866666666666667,
1938
+ "grad_norm": 0.2693575322628021,
1939
+ "kl": 0.5400390625,
1940
+ "learning_rate": 3.489205007826196e-07,
1941
+ "loss": 0.1159,
1942
+ "reward": 0.4166666818782687,
1943
+ "reward_std": 0.31082959473133087,
1944
+ "rewards/accuracy_reward": 0.4166666818782687,
1945
+ "rewards/format_reward": 0.0,
1946
+ "step": 149
1947
+ },
1948
+ {
1949
+ "completion_length": 623.6250152587891,
1950
+ "epoch": 1.5973333333333333,
1951
+ "grad_norm": 0.4524155557155609,
1952
+ "kl": 0.508544921875,
1953
+ "learning_rate": 3.3103234571867633e-07,
1954
+ "loss": 0.1098,
1955
+ "reward": 0.22916666977107525,
1956
+ "reward_std": 0.22326868772506714,
1957
+ "rewards/accuracy_reward": 0.22916666977107525,
1958
+ "rewards/format_reward": 0.0,
1959
+ "step": 150
1960
+ },
1961
+ {
1962
+ "completion_length": 543.322925567627,
1963
+ "epoch": 1.608,
1964
+ "grad_norm": 0.3804190456867218,
1965
+ "kl": 0.6044921875,
1966
+ "learning_rate": 3.135578630010894e-07,
1967
+ "loss": 0.139,
1968
+ "reward": 0.3020833469927311,
1969
+ "reward_std": 0.2718803808093071,
1970
+ "rewards/accuracy_reward": 0.3020833469927311,
1971
+ "rewards/format_reward": 0.0,
1972
+ "step": 151
1973
+ },
1974
+ {
1975
+ "completion_length": 605.7708473205566,
1976
+ "epoch": 1.6186666666666667,
1977
+ "grad_norm": 0.2589690685272217,
1978
+ "kl": 0.49359130859375,
1979
+ "learning_rate": 2.965032364709947e-07,
1980
+ "loss": 0.1063,
1981
+ "reward": 0.3020833367481828,
1982
+ "reward_std": 0.3481447994709015,
1983
+ "rewards/accuracy_reward": 0.3020833367481828,
1984
+ "rewards/format_reward": 0.0,
1985
+ "step": 152
1986
+ },
1987
+ {
1988
+ "completion_length": 596.3541793823242,
1989
+ "epoch": 1.6293333333333333,
1990
+ "grad_norm": 0.31066620349884033,
1991
+ "kl": 0.743408203125,
1992
+ "learning_rate": 2.798745013915132e-07,
1993
+ "loss": 0.1456,
1994
+ "reward": 0.3333333497866988,
1995
+ "reward_std": 0.3522741571068764,
1996
+ "rewards/accuracy_reward": 0.3333333497866988,
1997
+ "rewards/format_reward": 0.0,
1998
+ "step": 153
1999
+ },
2000
+ {
2001
+ "completion_length": 630.0312614440918,
2002
+ "epoch": 1.6400000000000001,
2003
+ "grad_norm": 0.30095869302749634,
2004
+ "kl": 0.455352783203125,
2005
+ "learning_rate": 2.636775423120007e-07,
2006
+ "loss": 0.0601,
2007
+ "reward": 0.27083334140479565,
2008
+ "reward_std": 0.2546139992773533,
2009
+ "rewards/accuracy_reward": 0.27083334140479565,
2010
+ "rewards/format_reward": 0.0,
2011
+ "step": 154
2012
+ },
2013
+ {
2014
+ "completion_length": 626.2812652587891,
2015
+ "epoch": 1.6506666666666665,
2016
+ "grad_norm": 0.4043548107147217,
2017
+ "kl": 0.3909912109375,
2018
+ "learning_rate": 2.479180909856347e-07,
2019
+ "loss": 0.0545,
2020
+ "reward": 0.18750000465661287,
2021
+ "reward_std": 0.28787805512547493,
2022
+ "rewards/accuracy_reward": 0.18750000465661287,
2023
+ "rewards/format_reward": 0.0,
2024
+ "step": 155
2025
+ },
2026
+ {
2027
+ "completion_length": 611.9791870117188,
2028
+ "epoch": 1.6613333333333333,
2029
+ "grad_norm": 0.22528155148029327,
2030
+ "kl": 0.381103515625,
2031
+ "learning_rate": 2.3260172434106913e-07,
2032
+ "loss": 0.0343,
2033
+ "reward": 0.2708333386108279,
2034
+ "reward_std": 0.19899365305900574,
2035
+ "rewards/accuracy_reward": 0.2708333386108279,
2036
+ "rewards/format_reward": 0.0,
2037
+ "step": 156
2038
+ },
2039
+ {
2040
+ "completion_length": 681.979175567627,
2041
+ "epoch": 1.6720000000000002,
2042
+ "grad_norm": 0.22992321848869324,
2043
+ "kl": 0.5267333984375,
2044
+ "learning_rate": 2.177338625088826e-07,
2045
+ "loss": 0.2209,
2046
+ "reward": 0.3020833395421505,
2047
+ "reward_std": 0.33629096299409866,
2048
+ "rewards/accuracy_reward": 0.3020833395421505,
2049
+ "rewards/format_reward": 0.0,
2050
+ "step": 157
2051
+ },
2052
+ {
2053
+ "completion_length": 550.0833511352539,
2054
+ "epoch": 1.6826666666666665,
2055
+ "grad_norm": 1.0294519662857056,
2056
+ "kl": 0.4268798828125,
2057
+ "learning_rate": 2.0331976690350844e-07,
2058
+ "loss": 0.0676,
2059
+ "reward": 0.30208334885537624,
2060
+ "reward_std": 0.2103346362709999,
2061
+ "rewards/accuracy_reward": 0.30208334885537624,
2062
+ "rewards/format_reward": 0.0,
2063
+ "step": 158
2064
+ },
2065
+ {
2066
+ "completion_length": 541.1458396911621,
2067
+ "epoch": 1.6933333333333334,
2068
+ "grad_norm": 0.44960758090019226,
2069
+ "kl": 0.64111328125,
2070
+ "learning_rate": 1.893645383613371e-07,
2071
+ "loss": 0.1856,
2072
+ "reward": 0.4583333423361182,
2073
+ "reward_std": 0.3755134642124176,
2074
+ "rewards/accuracy_reward": 0.4583333423361182,
2075
+ "rewards/format_reward": 0.0,
2076
+ "step": 159
2077
+ },
2078
+ {
2079
+ "completion_length": 585.1354293823242,
2080
+ "epoch": 1.704,
2081
+ "grad_norm": 0.2397642582654953,
2082
+ "kl": 0.6611480712890625,
2083
+ "learning_rate": 1.7587311533563887e-07,
2084
+ "loss": 0.1011,
2085
+ "reward": 0.34375000186264515,
2086
+ "reward_std": 0.3033146671950817,
2087
+ "rewards/accuracy_reward": 0.34375000186264515,
2088
+ "rewards/format_reward": 0.0,
2089
+ "step": 160
2090
+ },
2091
+ {
2092
+ "completion_length": 618.8854446411133,
2093
+ "epoch": 1.7146666666666666,
2094
+ "grad_norm": 0.30194056034088135,
2095
+ "kl": 0.41375732421875,
2096
+ "learning_rate": 1.6285027214895227e-07,
2097
+ "loss": 0.0246,
2098
+ "reward": 0.21875000558793545,
2099
+ "reward_std": 0.32490549236536026,
2100
+ "rewards/accuracy_reward": 0.21875000558793545,
2101
+ "rewards/format_reward": 0.0,
2102
+ "step": 161
2103
+ },
2104
+ {
2105
+ "completion_length": 480.3020896911621,
2106
+ "epoch": 1.7253333333333334,
2107
+ "grad_norm": 0.3240108788013458,
2108
+ "kl": 0.6272735595703125,
2109
+ "learning_rate": 1.503006173035552e-07,
2110
+ "loss": 0.0577,
2111
+ "reward": 0.3020833348855376,
2112
+ "reward_std": 0.21069689840078354,
2113
+ "rewards/accuracy_reward": 0.3020833348855376,
2114
+ "rewards/format_reward": 0.0,
2115
+ "step": 162
2116
+ },
2117
+ {
2118
+ "completion_length": 655.1562614440918,
2119
+ "epoch": 1.736,
2120
+ "grad_norm": 0.16485954821109772,
2121
+ "kl": 0.4539642333984375,
2122
+ "learning_rate": 1.3822859185061453e-07,
2123
+ "loss": 0.0482,
2124
+ "reward": 0.34375000558793545,
2125
+ "reward_std": 0.3551059402525425,
2126
+ "rewards/accuracy_reward": 0.34375000558793545,
2127
+ "rewards/format_reward": 0.0,
2128
+ "step": 163
2129
+ },
2130
+ {
2131
+ "completion_length": 551.5833549499512,
2132
+ "epoch": 1.7466666666666666,
2133
+ "grad_norm": 0.33394524455070496,
2134
+ "kl": 0.3665771484375,
2135
+ "learning_rate": 1.2663846781859673e-07,
2136
+ "loss": 0.0863,
2137
+ "reward": 0.43750001303851604,
2138
+ "reward_std": 0.2447880432009697,
2139
+ "rewards/accuracy_reward": 0.43750001303851604,
2140
+ "rewards/format_reward": 0.0,
2141
+ "step": 164
2142
+ },
2143
+ {
2144
+ "completion_length": 633.9687728881836,
2145
+ "epoch": 1.7573333333333334,
2146
+ "grad_norm": 0.5149164795875549,
2147
+ "kl": 0.45458984375,
2148
+ "learning_rate": 1.1553434670148605e-07,
2149
+ "loss": 0.0203,
2150
+ "reward": 0.1666666716337204,
2151
+ "reward_std": 0.18463725596666336,
2152
+ "rewards/accuracy_reward": 0.1666666716337204,
2153
+ "rewards/format_reward": 0.0,
2154
+ "step": 165
2155
+ },
2156
+ {
2157
+ "completion_length": 551.354175567627,
2158
+ "epoch": 1.768,
2159
+ "grad_norm": 0.5073640942573547,
2160
+ "kl": 0.592529296875,
2161
+ "learning_rate": 1.049201580073576e-07,
2162
+ "loss": 0.1616,
2163
+ "reward": 0.3125000111758709,
2164
+ "reward_std": 0.35565972700715065,
2165
+ "rewards/accuracy_reward": 0.3125000111758709,
2166
+ "rewards/format_reward": 0.0,
2167
+ "step": 166
2168
+ },
2169
+ {
2170
+ "completion_length": 652.8750228881836,
2171
+ "epoch": 1.7786666666666666,
2172
+ "grad_norm": 0.38101547956466675,
2173
+ "kl": 0.4947509765625,
2174
+ "learning_rate": 9.479965786780847e-08,
2175
+ "loss": 0.0703,
2176
+ "reward": 0.28125000838190317,
2177
+ "reward_std": 0.31957534328103065,
2178
+ "rewards/accuracy_reward": 0.28125000838190317,
2179
+ "rewards/format_reward": 0.0,
2180
+ "step": 167
2181
+ },
2182
+ {
2183
+ "completion_length": 664.114616394043,
2184
+ "epoch": 1.7893333333333334,
2185
+ "grad_norm": 0.29761403799057007,
2186
+ "kl": 0.537353515625,
2187
+ "learning_rate": 8.517642770874318e-08,
2188
+ "loss": 0.0996,
2189
+ "reward": 0.4062500111758709,
2190
+ "reward_std": 0.2633597403764725,
2191
+ "rewards/accuracy_reward": 0.4062500111758709,
2192
+ "rewards/format_reward": 0.0,
2193
+ "step": 168
2194
+ },
2195
+ {
2196
+ "completion_length": 566.6146087646484,
2197
+ "epoch": 1.8,
2198
+ "grad_norm": 0.5472803115844727,
2199
+ "kl": 0.47998046875,
2200
+ "learning_rate": 7.60538729829861e-08,
2201
+ "loss": 0.1289,
2202
+ "reward": 0.36458334885537624,
2203
+ "reward_std": 0.27501849830150604,
2204
+ "rewards/accuracy_reward": 0.36458334885537624,
2205
+ "rewards/format_reward": 0.0,
2206
+ "step": 169
2207
+ },
2208
+ {
2209
+ "completion_length": 566.8750228881836,
2210
+ "epoch": 1.8106666666666666,
2211
+ "grad_norm": 0.4136505722999573,
2212
+ "kl": 0.71148681640625,
2213
+ "learning_rate": 6.743522196516388e-08,
2214
+ "loss": 0.1041,
2215
+ "reward": 0.21875000838190317,
2216
+ "reward_std": 0.2671857886016369,
2217
+ "rewards/accuracy_reward": 0.21875000838190317,
2218
+ "rewards/format_reward": 0.0,
2219
+ "step": 170
2220
+ },
2221
+ {
2222
+ "completion_length": 616.1458587646484,
2223
+ "epoch": 1.8213333333333335,
2224
+ "grad_norm": 0.42460325360298157,
2225
+ "kl": 0.53466796875,
2226
+ "learning_rate": 5.932352460929052e-08,
2227
+ "loss": 0.1008,
2228
+ "reward": 0.2604166688397527,
2229
+ "reward_std": 0.2951196953654289,
2230
+ "rewards/accuracy_reward": 0.2604166688397527,
2231
+ "rewards/format_reward": 0.0,
2232
+ "step": 171
2233
+ },
2234
+ {
2235
+ "completion_length": 569.2083435058594,
2236
+ "epoch": 1.8319999999999999,
2237
+ "grad_norm": 0.3544805347919464,
2238
+ "kl": 0.1856689453125,
2239
+ "learning_rate": 5.172165146945296e-08,
2240
+ "loss": 0.1447,
2241
+ "reward": 0.3645833395421505,
2242
+ "reward_std": 0.359878059476614,
2243
+ "rewards/accuracy_reward": 0.3645833395421505,
2244
+ "rewards/format_reward": 0.0,
2245
+ "step": 172
2246
+ },
2247
+ {
2248
+ "completion_length": 539.2812652587891,
2249
+ "epoch": 1.8426666666666667,
2250
+ "grad_norm": 0.19653554260730743,
2251
+ "kl": 0.3319091796875,
2252
+ "learning_rate": 4.463229268398611e-08,
2253
+ "loss": 0.1411,
2254
+ "reward": 0.3125000139698386,
2255
+ "reward_std": 0.3444414474070072,
2256
+ "rewards/accuracy_reward": 0.3125000139698386,
2257
+ "rewards/format_reward": 0.0,
2258
+ "step": 173
2259
+ },
2260
+ {
2261
+ "completion_length": 485.46876525878906,
2262
+ "epoch": 1.8533333333333335,
2263
+ "grad_norm": 0.3276241421699524,
2264
+ "kl": 0.443328857421875,
2265
+ "learning_rate": 3.805795702348941e-08,
2266
+ "loss": 0.0521,
2267
+ "reward": 0.41666667722165585,
2268
+ "reward_std": 0.3042132332921028,
2269
+ "rewards/accuracy_reward": 0.41666667722165585,
2270
+ "rewards/format_reward": 0.0,
2271
+ "step": 174
2272
+ },
2273
+ {
2274
+ "completion_length": 619.3125076293945,
2275
+ "epoch": 1.8639999999999999,
2276
+ "grad_norm": 0.6277369856834412,
2277
+ "kl": 0.71484375,
2278
+ "learning_rate": 3.200097100302812e-08,
2279
+ "loss": 0.0719,
2280
+ "reward": 0.17708333488553762,
2281
+ "reward_std": 0.21069689840078354,
2282
+ "rewards/accuracy_reward": 0.17708333488553762,
2283
+ "rewards/format_reward": 0.0,
2284
+ "step": 175
2285
+ },
2286
+ {
2287
+ "completion_length": 574.572940826416,
2288
+ "epoch": 1.8746666666666667,
2289
+ "grad_norm": 0.5137563347816467,
2290
+ "kl": 0.8292236328125,
2291
+ "learning_rate": 2.6463478058829426e-08,
2292
+ "loss": 0.0123,
2293
+ "reward": 0.11458333861082792,
2294
+ "reward_std": 0.1569838561117649,
2295
+ "rewards/accuracy_reward": 0.11458333861082792,
2296
+ "rewards/format_reward": 0.0,
2297
+ "step": 176
2298
+ },
2299
+ {
2300
+ "completion_length": 495.9583511352539,
2301
+ "epoch": 1.8853333333333333,
2302
+ "grad_norm": 0.7497807145118713,
2303
+ "kl": 0.44970703125,
2304
+ "learning_rate": 2.144743778976782e-08,
2305
+ "loss": 0.0592,
2306
+ "reward": 0.43750000931322575,
2307
+ "reward_std": 0.3692372292280197,
2308
+ "rewards/accuracy_reward": 0.43750000931322575,
2309
+ "rewards/format_reward": 0.0,
2310
+ "step": 177
2311
+ },
2312
+ {
2313
+ "completion_length": 630.9271049499512,
2314
+ "epoch": 1.896,
2315
+ "grad_norm": 0.29420143365859985,
2316
+ "kl": 0.35113525390625,
2317
+ "learning_rate": 1.6954625263904177e-08,
2318
+ "loss": 0.1362,
2319
+ "reward": 0.312500006519258,
2320
+ "reward_std": 0.37610871344804764,
2321
+ "rewards/accuracy_reward": 0.312500006519258,
2322
+ "rewards/format_reward": 0.0,
2323
+ "step": 178
2324
+ },
2325
+ {
2326
+ "completion_length": 545.3750114440918,
2327
+ "epoch": 1.9066666666666667,
2328
+ "grad_norm": 0.38894397020339966,
2329
+ "kl": 0.6158599853515625,
2330
+ "learning_rate": 1.2986630390328214e-08,
2331
+ "loss": 0.0661,
2332
+ "reward": 0.44791667722165585,
2333
+ "reward_std": 0.31957533583045006,
2334
+ "rewards/accuracy_reward": 0.44791667722165585,
2335
+ "rewards/format_reward": 0.0,
2336
+ "step": 179
2337
+ },
2338
+ {
2339
+ "completion_length": 590.3020973205566,
2340
+ "epoch": 1.9173333333333333,
2341
+ "grad_norm": 0.2821875810623169,
2342
+ "kl": 0.53765869140625,
2343
+ "learning_rate": 9.54485735652455e-09,
2344
+ "loss": 0.0518,
2345
+ "reward": 0.3125000102445483,
2346
+ "reward_std": 0.18237072229385376,
2347
+ "rewards/accuracy_reward": 0.3125000102445483,
2348
+ "rewards/format_reward": 0.0,
2349
+ "step": 180
2350
+ },
2351
+ {
2352
+ "completion_length": 635.7187690734863,
2353
+ "epoch": 1.928,
2354
+ "grad_norm": 0.24759963154792786,
2355
+ "kl": 0.51806640625,
2356
+ "learning_rate": 6.630524131460037e-09,
2357
+ "loss": 0.0553,
2358
+ "reward": 0.23958333674818277,
2359
+ "reward_std": 0.24263745918869972,
2360
+ "rewards/accuracy_reward": 0.23958333674818277,
2361
+ "rewards/format_reward": 0.0,
2362
+ "step": 181
2363
+ },
2364
+ {
2365
+ "completion_length": 558.8333377838135,
2366
+ "epoch": 1.9386666666666668,
2367
+ "grad_norm": 0.2948830723762512,
2368
+ "kl": 0.4090576171875,
2369
+ "learning_rate": 4.244662034572022e-09,
2370
+ "loss": 0.0335,
2371
+ "reward": 0.29166667722165585,
2372
+ "reward_std": 0.298287820070982,
2373
+ "rewards/accuracy_reward": 0.29166667722165585,
2374
+ "rewards/format_reward": 0.0,
2375
+ "step": 182
2376
+ },
2377
+ {
2378
+ "completion_length": 596.3646049499512,
2379
+ "epoch": 1.9493333333333334,
2380
+ "grad_norm": 0.23650887608528137,
2381
+ "kl": 0.533660888671875,
2382
+ "learning_rate": 2.3881153708059656e-09,
2383
+ "loss": 0.1084,
2384
+ "reward": 0.3229166669771075,
2385
+ "reward_std": 0.2319217473268509,
2386
+ "rewards/accuracy_reward": 0.3229166669771075,
2387
+ "rewards/format_reward": 0.0,
2388
+ "step": 183
2389
+ },
2390
+ {
2391
+ "completion_length": 461.8020896911621,
2392
+ "epoch": 1.96,
2393
+ "grad_norm": 0.697127640247345,
2394
+ "kl": 0.49359130859375,
2395
+ "learning_rate": 1.0615411318344315e-09,
2396
+ "loss": 0.1386,
2397
+ "reward": 0.4895833460614085,
2398
+ "reward_std": 0.45709774643182755,
2399
+ "rewards/accuracy_reward": 0.4895833460614085,
2400
+ "rewards/format_reward": 0.0,
2401
+ "step": 184
2402
+ },
2403
+ {
2404
+ "completion_length": 533.010425567627,
2405
+ "epoch": 1.9706666666666668,
2406
+ "grad_norm": 0.9241780042648315,
2407
+ "kl": 0.367156982421875,
2408
+ "learning_rate": 2.6540876356256906e-10,
2409
+ "loss": 0.1469,
2410
+ "reward": 0.5104166744276881,
2411
+ "reward_std": 0.3491060249507427,
2412
+ "rewards/accuracy_reward": 0.5104166744276881,
2413
+ "rewards/format_reward": 0.0,
2414
+ "step": 185
2415
+ },
2416
+ {
2417
+ "completion_length": 609.9062728881836,
2418
+ "epoch": 1.9813333333333332,
2419
+ "grad_norm": 0.3692702353000641,
2420
+ "kl": 0.4107666015625,
2421
+ "learning_rate": 0.0,
2422
+ "loss": 0.1591,
2423
+ "reward": 0.31250001303851604,
2424
+ "reward_std": 0.34694400057196617,
2425
+ "rewards/accuracy_reward": 0.31250001303851604,
2426
+ "rewards/format_reward": 0.0,
2427
+ "step": 186
2428
+ }
2429
+ ],
2430
+ "logging_steps": 1,
2431
+ "max_steps": 186,
2432
+ "num_input_tokens_seen": 0,
2433
+ "num_train_epochs": 2,
2434
+ "save_steps": 500,
2435
+ "stateful_callbacks": {
2436
+ "TrainerControl": {
2437
+ "args": {
2438
+ "should_epoch_stop": false,
2439
+ "should_evaluate": false,
2440
+ "should_log": false,
2441
+ "should_save": true,
2442
+ "should_training_stop": true
2443
+ },
2444
+ "attributes": {}
2445
+ }
2446
+ },
2447
+ "total_flos": 0.0,
2448
+ "train_batch_size": 4,
2449
+ "trial_name": null,
2450
+ "trial_params": null
2451
+ }
training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7aafec21dede675d85d68d8609623d0ef4748bc3194704cb64502b4163145136
3
+ size 7544
vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
zero_to_fp32.py ADDED
@@ -0,0 +1,674 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+
3
+ # Copyright (c) Microsoft Corporation.
4
+ # SPDX-License-Identifier: Apache-2.0
5
+
6
+ # DeepSpeed Team
7
+
8
+ # This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets
9
+ # copied into the top level checkpoint dir, so the user can easily do the conversion at any point in
10
+ # the future. Once extracted, the weights don't require DeepSpeed and can be used in any
11
+ # application.
12
+ #
13
+ # example:
14
+ # python zero_to_fp32.py . output_dir/
15
+ # or
16
+ # python zero_to_fp32.py . output_dir/ --safe_serialization
17
+
18
+ import argparse
19
+ import torch
20
+ import glob
21
+ import math
22
+ import os
23
+ import re
24
+ import json
25
+ from tqdm import tqdm
26
+ from collections import OrderedDict
27
+ from dataclasses import dataclass
28
+
29
+ # while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with
30
+ # DeepSpeed data structures it has to be available in the current python environment.
31
+ from deepspeed.utils import logger
32
+ from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS,
33
+ FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES,
34
+ FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS)
35
+
36
+
37
+ @dataclass
38
+ class zero_model_state:
39
+ buffers: dict()
40
+ param_shapes: dict()
41
+ shared_params: list
42
+ ds_version: int
43
+ frozen_param_shapes: dict()
44
+ frozen_param_fragments: dict()
45
+
46
+
47
+ debug = 0
48
+
49
+ # load to cpu
50
+ device = torch.device('cpu')
51
+
52
+
53
+ def atoi(text):
54
+ return int(text) if text.isdigit() else text
55
+
56
+
57
+ def natural_keys(text):
58
+ '''
59
+ alist.sort(key=natural_keys) sorts in human order
60
+ http://nedbatchelder.com/blog/200712/human_sorting.html
61
+ (See Toothy's implementation in the comments)
62
+ '''
63
+ return [atoi(c) for c in re.split(r'(\d+)', text)]
64
+
65
+
66
+ def get_model_state_file(checkpoint_dir, zero_stage):
67
+ if not os.path.isdir(checkpoint_dir):
68
+ raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist")
69
+
70
+ # there should be only one file
71
+ if zero_stage <= 2:
72
+ file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt")
73
+ elif zero_stage == 3:
74
+ file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt")
75
+
76
+ if not os.path.exists(file):
77
+ raise FileNotFoundError(f"can't find model states file at '{file}'")
78
+
79
+ return file
80
+
81
+
82
+ def get_checkpoint_files(checkpoint_dir, glob_pattern):
83
+ # XXX: need to test that this simple glob rule works for multi-node setup too
84
+ ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys)
85
+
86
+ if len(ckpt_files) == 0:
87
+ raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'")
88
+
89
+ return ckpt_files
90
+
91
+
92
+ def get_optim_files(checkpoint_dir):
93
+ return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt")
94
+
95
+
96
+ def get_model_state_files(checkpoint_dir):
97
+ return get_checkpoint_files(checkpoint_dir, "*_model_states.pt")
98
+
99
+
100
+ def parse_model_states(files):
101
+ zero_model_states = []
102
+ for file in files:
103
+ state_dict = torch.load(file, map_location=device)
104
+
105
+ if BUFFER_NAMES not in state_dict:
106
+ raise ValueError(f"{file} is not a model state checkpoint")
107
+ buffer_names = state_dict[BUFFER_NAMES]
108
+ if debug:
109
+ print("Found buffers:", buffer_names)
110
+
111
+ # recover just the buffers while restoring them to fp32 if they were saved in fp16
112
+ buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names}
113
+ param_shapes = state_dict[PARAM_SHAPES]
114
+
115
+ # collect parameters that are included in param_shapes
116
+ param_names = []
117
+ for s in param_shapes:
118
+ for name in s.keys():
119
+ param_names.append(name)
120
+
121
+ # update with frozen parameters
122
+ frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None)
123
+ if frozen_param_shapes is not None:
124
+ if debug:
125
+ print(f"Found frozen_param_shapes: {frozen_param_shapes}")
126
+ param_names += list(frozen_param_shapes.keys())
127
+
128
+ # handle shared params
129
+ shared_params = [[k, v] for k, v in state_dict["shared_params"].items()]
130
+
131
+ ds_version = state_dict.get(DS_VERSION, None)
132
+
133
+ frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None)
134
+
135
+ z_model_state = zero_model_state(buffers=buffers,
136
+ param_shapes=param_shapes,
137
+ shared_params=shared_params,
138
+ ds_version=ds_version,
139
+ frozen_param_shapes=frozen_param_shapes,
140
+ frozen_param_fragments=frozen_param_fragments)
141
+ zero_model_states.append(z_model_state)
142
+
143
+ return zero_model_states
144
+
145
+
146
+ def parse_optim_states(files, ds_checkpoint_dir):
147
+ total_files = len(files)
148
+ state_dicts = []
149
+ for f in files:
150
+ state_dict = torch.load(f, map_location=device)
151
+ # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights
152
+ # and also handle the case where it was already removed by another helper script
153
+ state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None)
154
+ state_dicts.append(state_dict)
155
+
156
+ if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]:
157
+ raise ValueError(f"{files[0]} is not a zero checkpoint")
158
+ zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE]
159
+ world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT]
160
+
161
+ # For ZeRO-2 each param group can have different partition_count as data parallelism for expert
162
+ # parameters can be different from data parallelism for non-expert parameters. So we can just
163
+ # use the max of the partition_count to get the dp world_size.
164
+
165
+ if type(world_size) is list:
166
+ world_size = max(world_size)
167
+
168
+ if world_size != total_files:
169
+ raise ValueError(
170
+ f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. "
171
+ "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes."
172
+ )
173
+
174
+ # the groups are named differently in each stage
175
+ if zero_stage <= 2:
176
+ fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS
177
+ elif zero_stage == 3:
178
+ fp32_groups_key = FP32_FLAT_GROUPS
179
+ else:
180
+ raise ValueError(f"unknown zero stage {zero_stage}")
181
+
182
+ if zero_stage <= 2:
183
+ fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))]
184
+ elif zero_stage == 3:
185
+ # if there is more than one param group, there will be multiple flattened tensors - one
186
+ # flattened tensor per group - for simplicity merge them into a single tensor
187
+ #
188
+ # XXX: could make the script more memory efficient for when there are multiple groups - it
189
+ # will require matching the sub-lists of param_shapes for each param group flattened tensor
190
+
191
+ fp32_flat_groups = [
192
+ torch.cat(state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key], 0) for i in range(len(state_dicts))
193
+ ]
194
+
195
+ return zero_stage, world_size, fp32_flat_groups
196
+
197
+
198
+ def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters):
199
+ """
200
+ Returns fp32 state_dict reconstructed from ds checkpoint
201
+
202
+ Args:
203
+ - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are)
204
+
205
+ """
206
+ print(f"Processing zero checkpoint '{ds_checkpoint_dir}'")
207
+
208
+ optim_files = get_optim_files(ds_checkpoint_dir)
209
+ zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir)
210
+ print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}")
211
+
212
+ model_files = get_model_state_files(ds_checkpoint_dir)
213
+
214
+ zero_model_states = parse_model_states(model_files)
215
+ print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}')
216
+
217
+ if zero_stage <= 2:
218
+ return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
219
+ exclude_frozen_parameters)
220
+ elif zero_stage == 3:
221
+ return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
222
+ exclude_frozen_parameters)
223
+
224
+
225
+ def _zero2_merge_frozen_params(state_dict, zero_model_states):
226
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
227
+ return
228
+
229
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
230
+ frozen_param_fragments = zero_model_states[0].frozen_param_fragments
231
+
232
+ if debug:
233
+ num_elem = sum(s.numel() for s in frozen_param_shapes.values())
234
+ print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
235
+
236
+ wanted_params = len(frozen_param_shapes)
237
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
238
+ avail_numel = sum([p.numel() for p in frozen_param_fragments.values()])
239
+ print(f'Frozen params: Have {avail_numel} numels to process.')
240
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
241
+
242
+ total_params = 0
243
+ total_numel = 0
244
+ for name, shape in frozen_param_shapes.items():
245
+ total_params += 1
246
+ unpartitioned_numel = shape.numel()
247
+ total_numel += unpartitioned_numel
248
+
249
+ state_dict[name] = frozen_param_fragments[name]
250
+
251
+ if debug:
252
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
253
+
254
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
255
+
256
+
257
+ def _has_callable(obj, fn):
258
+ attr = getattr(obj, fn, None)
259
+ return callable(attr)
260
+
261
+
262
+ def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
263
+ param_shapes = zero_model_states[0].param_shapes
264
+
265
+ # Reconstruction protocol:
266
+ #
267
+ # XXX: document this
268
+
269
+ if debug:
270
+ for i in range(world_size):
271
+ for j in range(len(fp32_flat_groups[0])):
272
+ print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}")
273
+
274
+ # XXX: memory usage doubles here (zero2)
275
+ num_param_groups = len(fp32_flat_groups[0])
276
+ merged_single_partition_of_fp32_groups = []
277
+ for i in range(num_param_groups):
278
+ merged_partitions = [sd[i] for sd in fp32_flat_groups]
279
+ full_single_fp32_vector = torch.cat(merged_partitions, 0)
280
+ merged_single_partition_of_fp32_groups.append(full_single_fp32_vector)
281
+ avail_numel = sum(
282
+ [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups])
283
+
284
+ if debug:
285
+ wanted_params = sum([len(shapes) for shapes in param_shapes])
286
+ wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes])
287
+ # not asserting if there is a mismatch due to possible padding
288
+ print(f"Have {avail_numel} numels to process.")
289
+ print(f"Need {wanted_numel} numels in {wanted_params} params.")
290
+
291
+ # params
292
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
293
+ # out-of-core computing solution
294
+ total_numel = 0
295
+ total_params = 0
296
+ for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups):
297
+ offset = 0
298
+ avail_numel = full_single_fp32_vector.numel()
299
+ for name, shape in shapes.items():
300
+
301
+ unpartitioned_numel = shape.numel() if _has_callable(shape, 'numel') else math.prod(shape)
302
+ total_numel += unpartitioned_numel
303
+ total_params += 1
304
+
305
+ if debug:
306
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
307
+ state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape)
308
+ offset += unpartitioned_numel
309
+
310
+ # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and
311
+ # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex
312
+ # paddings performed in the code it's almost impossible to predict the exact numbers w/o the
313
+ # live optimizer object, so we are checking that the numbers are within the right range
314
+ align_to = 2 * world_size
315
+
316
+ def zero2_align(x):
317
+ return align_to * math.ceil(x / align_to)
318
+
319
+ if debug:
320
+ print(f"original offset={offset}, avail_numel={avail_numel}")
321
+
322
+ offset = zero2_align(offset)
323
+ avail_numel = zero2_align(avail_numel)
324
+
325
+ if debug:
326
+ print(f"aligned offset={offset}, avail_numel={avail_numel}")
327
+
328
+ # Sanity check
329
+ if offset != avail_numel:
330
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
331
+
332
+ print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements")
333
+
334
+
335
+ def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
336
+ exclude_frozen_parameters):
337
+ state_dict = OrderedDict()
338
+
339
+ # buffers
340
+ buffers = zero_model_states[0].buffers
341
+ state_dict.update(buffers)
342
+ if debug:
343
+ print(f"added {len(buffers)} buffers")
344
+
345
+ if not exclude_frozen_parameters:
346
+ _zero2_merge_frozen_params(state_dict, zero_model_states)
347
+
348
+ _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
349
+
350
+ # recover shared parameters
351
+ for pair in zero_model_states[0].shared_params:
352
+ if pair[1] in state_dict:
353
+ state_dict[pair[0]] = state_dict[pair[1]]
354
+
355
+ return state_dict
356
+
357
+
358
+ def zero3_partitioned_param_info(unpartitioned_numel, world_size):
359
+ remainder = unpartitioned_numel % world_size
360
+ padding_numel = (world_size - remainder) if remainder else 0
361
+ partitioned_numel = math.ceil(unpartitioned_numel / world_size)
362
+ return partitioned_numel, padding_numel
363
+
364
+
365
+ def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states):
366
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
367
+ return
368
+
369
+ if debug:
370
+ for i in range(world_size):
371
+ num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values())
372
+ print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
373
+
374
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
375
+ wanted_params = len(frozen_param_shapes)
376
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
377
+ avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size
378
+ print(f'Frozen params: Have {avail_numel} numels to process.')
379
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
380
+
381
+ total_params = 0
382
+ total_numel = 0
383
+ for name, shape in zero_model_states[0].frozen_param_shapes.items():
384
+ total_params += 1
385
+ unpartitioned_numel = shape.numel()
386
+ total_numel += unpartitioned_numel
387
+
388
+ param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states)
389
+ state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape)
390
+
391
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
392
+
393
+ if debug:
394
+ print(
395
+ f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
396
+ )
397
+
398
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
399
+
400
+
401
+ def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
402
+ param_shapes = zero_model_states[0].param_shapes
403
+ avail_numel = fp32_flat_groups[0].numel() * world_size
404
+ # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each
405
+ # param, re-consolidating each param, while dealing with padding if any
406
+
407
+ # merge list of dicts, preserving order
408
+ param_shapes = {k: v for d in param_shapes for k, v in d.items()}
409
+
410
+ if debug:
411
+ for i in range(world_size):
412
+ print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}")
413
+
414
+ wanted_params = len(param_shapes)
415
+ wanted_numel = sum(shape.numel() for shape in param_shapes.values())
416
+ # not asserting if there is a mismatch due to possible padding
417
+ avail_numel = fp32_flat_groups[0].numel() * world_size
418
+ print(f"Trainable params: Have {avail_numel} numels to process.")
419
+ print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.")
420
+
421
+ # params
422
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
423
+ # out-of-core computing solution
424
+ offset = 0
425
+ total_numel = 0
426
+ total_params = 0
427
+ for name, shape in tqdm(param_shapes.items(), desc='Gathering Sharded Weights'):
428
+ unpartitioned_numel = shape.numel()
429
+ total_numel += unpartitioned_numel
430
+ total_params += 1
431
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
432
+
433
+ if debug:
434
+ print(
435
+ f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
436
+ )
437
+
438
+ # XXX: memory usage doubles here
439
+ state_dict[name] = torch.cat(
440
+ tuple(fp32_flat_groups[i].narrow(0, offset, partitioned_numel) for i in range(world_size)),
441
+ 0).narrow(0, 0, unpartitioned_numel).view(shape)
442
+ offset += partitioned_numel
443
+
444
+ offset *= world_size
445
+
446
+ # Sanity check
447
+ if offset != avail_numel:
448
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
449
+
450
+ print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements")
451
+
452
+
453
+ def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
454
+ exclude_frozen_parameters):
455
+ state_dict = OrderedDict()
456
+
457
+ # buffers
458
+ buffers = zero_model_states[0].buffers
459
+ state_dict.update(buffers)
460
+ if debug:
461
+ print(f"added {len(buffers)} buffers")
462
+
463
+ if not exclude_frozen_parameters:
464
+ _zero3_merge_frozen_params(state_dict, world_size, zero_model_states)
465
+
466
+ _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
467
+
468
+ # recover shared parameters
469
+ for pair in zero_model_states[0].shared_params:
470
+ if pair[1] in state_dict:
471
+ state_dict[pair[0]] = state_dict[pair[1]]
472
+
473
+ return state_dict
474
+
475
+
476
+ def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag=None, exclude_frozen_parameters=False):
477
+ """
478
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with
479
+ ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example
480
+ via a model hub.
481
+
482
+ Args:
483
+ - ``checkpoint_dir``: path to the desired checkpoint folder
484
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in 'latest' file. e.g., ``global_step14``
485
+ - ``exclude_frozen_parameters``: exclude frozen parameters
486
+
487
+ Returns:
488
+ - pytorch ``state_dict``
489
+
490
+ Note: this approach may not work if your application doesn't have sufficient free CPU memory and
491
+ you may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with
492
+ the checkpoint.
493
+
494
+ A typical usage might be ::
495
+
496
+ from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint
497
+ # do the training and checkpoint saving
498
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu
499
+ model = model.cpu() # move to cpu
500
+ model.load_state_dict(state_dict)
501
+ # submit to model hub or save the model to share with others
502
+
503
+ In this example the ``model`` will no longer be usable in the deepspeed context of the same
504
+ application. i.e. you will need to re-initialize the deepspeed engine, since
505
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
506
+
507
+ If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead.
508
+
509
+ """
510
+ if tag is None:
511
+ latest_path = os.path.join(checkpoint_dir, 'latest')
512
+ if os.path.isfile(latest_path):
513
+ with open(latest_path, 'r') as fd:
514
+ tag = fd.read().strip()
515
+ else:
516
+ raise ValueError(f"Unable to find 'latest' file at {latest_path}")
517
+
518
+ ds_checkpoint_dir = os.path.join(checkpoint_dir, tag)
519
+
520
+ if not os.path.isdir(ds_checkpoint_dir):
521
+ raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist")
522
+
523
+ return _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters)
524
+
525
+
526
+ def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir,
527
+ output_dir,
528
+ max_shard_size="5GB",
529
+ safe_serialization=False,
530
+ tag=None,
531
+ exclude_frozen_parameters=False):
532
+ """
533
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be
534
+ loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed.
535
+
536
+ Args:
537
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
538
+ - ``output_dir``: directory to the pytorch fp32 state_dict output files
539
+ - ``max_shard_size``: the maximum size for a checkpoint before being sharded, default value is 5GB
540
+ - ``safe_serialization``: whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).
541
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
542
+ - ``exclude_frozen_parameters``: exclude frozen parameters
543
+ """
544
+ # Dependency pre-check
545
+ if safe_serialization:
546
+ try:
547
+ from safetensors.torch import save_file
548
+ except ImportError:
549
+ print('If you want to use `safe_serialization`, please `pip install safetensors`')
550
+ raise
551
+ if max_shard_size is not None:
552
+ try:
553
+ from huggingface_hub import split_torch_state_dict_into_shards
554
+ except ImportError:
555
+ print('If you want to use `max_shard_size`, please `pip install huggingface_hub`')
556
+ raise
557
+
558
+ # Convert zero checkpoint to state_dict
559
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag, exclude_frozen_parameters)
560
+
561
+ # Shard the model if it is too big.
562
+ weights_name = "model.safetensors" if safe_serialization else "pytorch_model.bin"
563
+ if max_shard_size is not None:
564
+ filename_pattern = weights_name.replace(".bin", "{suffix}.bin").replace(".safetensors", "{suffix}.safetensors")
565
+ state_dict_split = split_torch_state_dict_into_shards(state_dict,
566
+ filename_pattern=filename_pattern,
567
+ max_shard_size=max_shard_size)
568
+ else:
569
+ from collections import namedtuple
570
+ StateDictSplit = namedtuple("StateDictSplit", ["is_sharded", "filename_to_tensors"])
571
+ state_dict_split = StateDictSplit(is_sharded=False,
572
+ filename_to_tensors={weights_name: list(state_dict.keys())})
573
+
574
+ # Save the model
575
+ filename_to_tensors = state_dict_split.filename_to_tensors.items()
576
+ for shard_file, tensors in tqdm(filename_to_tensors, desc="Saving checkpoint shards"):
577
+ shard = {tensor: state_dict[tensor].contiguous() for tensor in tensors}
578
+ output_path = os.path.join(output_dir, shard_file)
579
+ if safe_serialization:
580
+ save_file(shard, output_path, metadata={"format": "pt"})
581
+ else:
582
+ torch.save(shard, output_path)
583
+
584
+ # Save index if sharded
585
+ if state_dict_split.is_sharded:
586
+ index = {
587
+ "metadata": state_dict_split.metadata,
588
+ "weight_map": state_dict_split.tensor_to_filename,
589
+ }
590
+ save_index_file = "model.safetensors.index.json" if safe_serialization else "pytorch_model.bin.index.json"
591
+ save_index_file = os.path.join(output_dir, save_index_file)
592
+ with open(save_index_file, "w", encoding="utf-8") as f:
593
+ content = json.dumps(index, indent=2, sort_keys=True) + "\n"
594
+ f.write(content)
595
+
596
+
597
+ def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None):
598
+ """
599
+ 1. Put the provided model to cpu
600
+ 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict``
601
+ 3. Load it into the provided model
602
+
603
+ Args:
604
+ - ``model``: the model object to update
605
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
606
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
607
+
608
+ Returns:
609
+ - ``model`: modified model
610
+
611
+ Make sure you have plenty of CPU memory available before you call this function. If you don't
612
+ have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it
613
+ conveniently placed for you in the checkpoint folder.
614
+
615
+ A typical usage might be ::
616
+
617
+ from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint
618
+ model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir)
619
+ # submit to model hub or save the model to share with others
620
+
621
+ Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context
622
+ of the same application. i.e. you will need to re-initialize the deepspeed engine, since
623
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
624
+
625
+ """
626
+ logger.info(f"Extracting fp32 weights")
627
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag)
628
+
629
+ logger.info(f"Overwriting model with fp32 weights")
630
+ model = model.cpu()
631
+ model.load_state_dict(state_dict, strict=False)
632
+
633
+ return model
634
+
635
+
636
+ if __name__ == "__main__":
637
+ parser = argparse.ArgumentParser()
638
+ parser.add_argument("checkpoint_dir",
639
+ type=str,
640
+ help="path to the desired checkpoint folder, e.g., path/checkpoint-12")
641
+ parser.add_argument("output_dir",
642
+ type=str,
643
+ help="directory to the pytorch fp32 state_dict output files"
644
+ "(e.g. path/checkpoint-12-output/)")
645
+ parser.add_argument(
646
+ "--max_shard_size",
647
+ type=str,
648
+ default="5GB",
649
+ help="The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size"
650
+ "lower than this size. If expressed as a string, needs to be digits followed by a unit (like `5MB`"
651
+ "We default it to 5GB in order for models to be able to run easily on free-tier google colab instances"
652
+ "without CPU OOM issues.")
653
+ parser.add_argument(
654
+ "--safe_serialization",
655
+ default=False,
656
+ action='store_true',
657
+ help="Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).")
658
+ parser.add_argument("-t",
659
+ "--tag",
660
+ type=str,
661
+ default=None,
662
+ help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1")
663
+ parser.add_argument("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters")
664
+ parser.add_argument("-d", "--debug", action='store_true', help="enable debug")
665
+ args = parser.parse_args()
666
+
667
+ debug = args.debug
668
+
669
+ convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir,
670
+ args.output_dir,
671
+ max_shard_size=args.max_shard_size,
672
+ safe_serialization=args.safe_serialization,
673
+ tag=args.tag,
674
+ exclude_frozen_parameters=args.exclude_frozen_parameters)