mcesbrondarnaud commited on
Commit
fe2e175
·
verified ·
1 Parent(s): 16bc549

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +14 -0
  2. README.md +58 -0
  3. chat_template.jinja +89 -0
  4. checkpoint-1000/chat_template.jinja +89 -0
  5. checkpoint-1000/config.json +63 -0
  6. checkpoint-1000/generation_config.json +12 -0
  7. checkpoint-1000/model.safetensors +3 -0
  8. checkpoint-1000/optimizer.pt +3 -0
  9. checkpoint-1000/rng_state.pth +3 -0
  10. checkpoint-1000/scheduler.pt +3 -0
  11. checkpoint-1000/tokenizer.json +3 -0
  12. checkpoint-1000/tokenizer_config.json +30 -0
  13. checkpoint-1000/trainer_state.json +234 -0
  14. checkpoint-1000/training_args.bin +3 -0
  15. checkpoint-1500/chat_template.jinja +89 -0
  16. checkpoint-1500/config.json +63 -0
  17. checkpoint-1500/generation_config.json +12 -0
  18. checkpoint-1500/model.safetensors +3 -0
  19. checkpoint-1500/optimizer.pt +3 -0
  20. checkpoint-1500/rng_state.pth +3 -0
  21. checkpoint-1500/scheduler.pt +3 -0
  22. checkpoint-1500/tokenizer.json +3 -0
  23. checkpoint-1500/tokenizer_config.json +30 -0
  24. checkpoint-1500/trainer_state.json +334 -0
  25. checkpoint-1500/training_args.bin +3 -0
  26. checkpoint-2000/chat_template.jinja +89 -0
  27. checkpoint-2000/config.json +63 -0
  28. checkpoint-2000/generation_config.json +12 -0
  29. checkpoint-2000/model.safetensors +3 -0
  30. checkpoint-2000/optimizer.pt +3 -0
  31. checkpoint-2000/rng_state.pth +3 -0
  32. checkpoint-2000/scheduler.pt +3 -0
  33. checkpoint-2000/tokenizer.json +3 -0
  34. checkpoint-2000/tokenizer_config.json +30 -0
  35. checkpoint-2000/trainer_state.json +434 -0
  36. checkpoint-2000/training_args.bin +3 -0
  37. checkpoint-2500/chat_template.jinja +89 -0
  38. checkpoint-2500/config.json +63 -0
  39. checkpoint-2500/generation_config.json +12 -0
  40. checkpoint-2500/model.safetensors +3 -0
  41. checkpoint-2500/optimizer.pt +3 -0
  42. checkpoint-2500/rng_state.pth +3 -0
  43. checkpoint-2500/scheduler.pt +3 -0
  44. checkpoint-2500/tokenizer.json +3 -0
  45. checkpoint-2500/tokenizer_config.json +30 -0
  46. checkpoint-2500/trainer_state.json +534 -0
  47. checkpoint-2500/training_args.bin +3 -0
  48. checkpoint-3000/chat_template.jinja +89 -0
  49. checkpoint-3000/config.json +63 -0
  50. checkpoint-3000/generation_config.json +12 -0
.gitattributes CHANGED
@@ -33,3 +33,17 @@ 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
+ checkpoint-1000/tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
+ checkpoint-1500/tokenizer.json filter=lfs diff=lfs merge=lfs -text
38
+ checkpoint-2000/tokenizer.json filter=lfs diff=lfs merge=lfs -text
39
+ checkpoint-2500/tokenizer.json filter=lfs diff=lfs merge=lfs -text
40
+ checkpoint-3000/tokenizer.json filter=lfs diff=lfs merge=lfs -text
41
+ checkpoint-3500/tokenizer.json filter=lfs diff=lfs merge=lfs -text
42
+ checkpoint-4000/tokenizer.json filter=lfs diff=lfs merge=lfs -text
43
+ checkpoint-4500/tokenizer.json filter=lfs diff=lfs merge=lfs -text
44
+ checkpoint-500/tokenizer.json filter=lfs diff=lfs merge=lfs -text
45
+ checkpoint-5000/tokenizer.json filter=lfs diff=lfs merge=lfs -text
46
+ checkpoint-5500/tokenizer.json filter=lfs diff=lfs merge=lfs -text
47
+ checkpoint-6000/tokenizer.json filter=lfs diff=lfs merge=lfs -text
48
+ checkpoint-6241/tokenizer.json filter=lfs diff=lfs merge=lfs -text
49
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: Qwen/Qwen3-1.7B
3
+ library_name: transformers
4
+ model_name: general_knowledge_model
5
+ tags:
6
+ - generated_from_trainer
7
+ - sft
8
+ - trl
9
+ licence: license
10
+ ---
11
+
12
+ # Model Card for general_knowledge_model
13
+
14
+ This model is a fine-tuned version of [Qwen/Qwen3-1.7B](https://huggingface.co/Qwen/Qwen3-1.7B).
15
+ It has been trained using [TRL](https://github.com/huggingface/trl).
16
+
17
+ ## Quick start
18
+
19
+ ```python
20
+ from transformers import pipeline
21
+
22
+ question = "If you had a time machine, but could only go to the past or the future once and never return, which would you choose and why?"
23
+ generator = pipeline("text-generation", model="None", device="cuda")
24
+ output = generator([{"role": "user", "content": question}], max_new_tokens=128, return_full_text=False)[0]
25
+ print(output["generated_text"])
26
+ ```
27
+
28
+ ## Training procedure
29
+
30
+
31
+
32
+
33
+
34
+ This model was trained with SFT.
35
+
36
+ ### Framework versions
37
+
38
+ - TRL: 1.3.0
39
+ - Transformers: 5.7.0
40
+ - Pytorch: 2.10.0+cu128
41
+ - Datasets: 4.8.5
42
+ - Tokenizers: 0.22.2
43
+
44
+ ## Citations
45
+
46
+
47
+
48
+ Cite TRL as:
49
+
50
+ ```bibtex
51
+ @software{vonwerra2020trl,
52
+ title = {{TRL: Transformers Reinforcement Learning}},
53
+ author = {von Werra, Leandro and Belkada, Younes and Tunstall, Lewis and Beeching, Edward and Thrush, Tristan and Lambert, Nathan and Huang, Shengyi and Rasul, Kashif and Gallouédec, Quentin},
54
+ license = {Apache-2.0},
55
+ url = {https://github.com/huggingface/trl},
56
+ year = {2020}
57
+ }
58
+ ```
chat_template.jinja ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0].role == 'system' %}
4
+ {{- messages[0].content + '\n\n' }}
5
+ {%- endif %}
6
+ {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
7
+ {%- for tool in tools %}
8
+ {{- "\n" }}
9
+ {{- tool | tojson }}
10
+ {%- endfor %}
11
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
12
+ {%- else %}
13
+ {%- if messages[0].role == 'system' %}
14
+ {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
15
+ {%- endif %}
16
+ {%- endif %}
17
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
18
+ {%- for message in messages[::-1] %}
19
+ {%- set index = (messages|length - 1) - loop.index0 %}
20
+ {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
21
+ {%- set ns.multi_step_tool = false %}
22
+ {%- set ns.last_query_index = index %}
23
+ {%- endif %}
24
+ {%- endfor %}
25
+ {%- for message in messages %}
26
+ {%- if message.content is string %}
27
+ {%- set content = message.content %}
28
+ {%- else %}
29
+ {%- set content = '' %}
30
+ {%- endif %}
31
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
32
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
33
+ {%- elif message.role == "assistant" %}
34
+ {%- set reasoning_content = '' %}
35
+ {%- if message.reasoning_content is string %}
36
+ {%- set reasoning_content = message.reasoning_content %}
37
+ {%- else %}
38
+ {%- if '</think>' in content %}
39
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
40
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
41
+ {%- endif %}
42
+ {%- endif %}
43
+ {%- if loop.index0 > ns.last_query_index %}
44
+ {%- if loop.last or (not loop.last and reasoning_content) %}
45
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
46
+ {%- else %}
47
+ {{- '<|im_start|>' + message.role + '\n' + content }}
48
+ {%- endif %}
49
+ {%- else %}
50
+ {{- '<|im_start|>' + message.role + '\n' + content }}
51
+ {%- endif %}
52
+ {%- if message.tool_calls %}
53
+ {%- for tool_call in message.tool_calls %}
54
+ {%- if (loop.first and content) or (not loop.first) %}
55
+ {{- '\n' }}
56
+ {%- endif %}
57
+ {%- if tool_call.function %}
58
+ {%- set tool_call = tool_call.function %}
59
+ {%- endif %}
60
+ {{- '<tool_call>\n{"name": "' }}
61
+ {{- tool_call.name }}
62
+ {{- '", "arguments": ' }}
63
+ {%- if tool_call.arguments is string %}
64
+ {{- tool_call.arguments }}
65
+ {%- else %}
66
+ {{- tool_call.arguments | tojson }}
67
+ {%- endif %}
68
+ {{- '}\n</tool_call>' }}
69
+ {%- endfor %}
70
+ {%- endif %}
71
+ {{- '<|im_end|>\n' }}
72
+ {%- elif message.role == "tool" %}
73
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
74
+ {{- '<|im_start|>user' }}
75
+ {%- endif %}
76
+ {{- '\n<tool_response>\n' }}
77
+ {{- content }}
78
+ {{- '\n</tool_response>' }}
79
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
80
+ {{- '<|im_end|>\n' }}
81
+ {%- endif %}
82
+ {%- endif %}
83
+ {%- endfor %}
84
+ {%- if add_generation_prompt %}
85
+ {{- '<|im_start|>assistant\n' }}
86
+ {%- if enable_thinking is defined and enable_thinking is false %}
87
+ {{- '<think>\n\n</think>\n\n' }}
88
+ {%- endif %}
89
+ {%- endif %}
checkpoint-1000/chat_template.jinja ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0].role == 'system' %}
4
+ {{- messages[0].content + '\n\n' }}
5
+ {%- endif %}
6
+ {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
7
+ {%- for tool in tools %}
8
+ {{- "\n" }}
9
+ {{- tool | tojson }}
10
+ {%- endfor %}
11
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
12
+ {%- else %}
13
+ {%- if messages[0].role == 'system' %}
14
+ {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
15
+ {%- endif %}
16
+ {%- endif %}
17
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
18
+ {%- for message in messages[::-1] %}
19
+ {%- set index = (messages|length - 1) - loop.index0 %}
20
+ {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
21
+ {%- set ns.multi_step_tool = false %}
22
+ {%- set ns.last_query_index = index %}
23
+ {%- endif %}
24
+ {%- endfor %}
25
+ {%- for message in messages %}
26
+ {%- if message.content is string %}
27
+ {%- set content = message.content %}
28
+ {%- else %}
29
+ {%- set content = '' %}
30
+ {%- endif %}
31
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
32
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
33
+ {%- elif message.role == "assistant" %}
34
+ {%- set reasoning_content = '' %}
35
+ {%- if message.reasoning_content is string %}
36
+ {%- set reasoning_content = message.reasoning_content %}
37
+ {%- else %}
38
+ {%- if '</think>' in content %}
39
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
40
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
41
+ {%- endif %}
42
+ {%- endif %}
43
+ {%- if loop.index0 > ns.last_query_index %}
44
+ {%- if loop.last or (not loop.last and reasoning_content) %}
45
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
46
+ {%- else %}
47
+ {{- '<|im_start|>' + message.role + '\n' + content }}
48
+ {%- endif %}
49
+ {%- else %}
50
+ {{- '<|im_start|>' + message.role + '\n' + content }}
51
+ {%- endif %}
52
+ {%- if message.tool_calls %}
53
+ {%- for tool_call in message.tool_calls %}
54
+ {%- if (loop.first and content) or (not loop.first) %}
55
+ {{- '\n' }}
56
+ {%- endif %}
57
+ {%- if tool_call.function %}
58
+ {%- set tool_call = tool_call.function %}
59
+ {%- endif %}
60
+ {{- '<tool_call>\n{"name": "' }}
61
+ {{- tool_call.name }}
62
+ {{- '", "arguments": ' }}
63
+ {%- if tool_call.arguments is string %}
64
+ {{- tool_call.arguments }}
65
+ {%- else %}
66
+ {{- tool_call.arguments | tojson }}
67
+ {%- endif %}
68
+ {{- '}\n</tool_call>' }}
69
+ {%- endfor %}
70
+ {%- endif %}
71
+ {{- '<|im_end|>\n' }}
72
+ {%- elif message.role == "tool" %}
73
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
74
+ {{- '<|im_start|>user' }}
75
+ {%- endif %}
76
+ {{- '\n<tool_response>\n' }}
77
+ {{- content }}
78
+ {{- '\n</tool_response>' }}
79
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
80
+ {{- '<|im_end|>\n' }}
81
+ {%- endif %}
82
+ {%- endif %}
83
+ {%- endfor %}
84
+ {%- if add_generation_prompt %}
85
+ {{- '<|im_start|>assistant\n' }}
86
+ {%- if enable_thinking is defined and enable_thinking is false %}
87
+ {{- '<think>\n\n</think>\n\n' }}
88
+ {%- endif %}
89
+ {%- endif %}
checkpoint-1000/config.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3ForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": null,
8
+ "dtype": "bfloat16",
9
+ "eos_token_id": 151645,
10
+ "head_dim": 128,
11
+ "hidden_act": "silu",
12
+ "hidden_size": 2048,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 6144,
15
+ "layer_types": [
16
+ "full_attention",
17
+ "full_attention",
18
+ "full_attention",
19
+ "full_attention",
20
+ "full_attention",
21
+ "full_attention",
22
+ "full_attention",
23
+ "full_attention",
24
+ "full_attention",
25
+ "full_attention",
26
+ "full_attention",
27
+ "full_attention",
28
+ "full_attention",
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention"
44
+ ],
45
+ "max_position_embeddings": 40960,
46
+ "max_window_layers": 28,
47
+ "model_type": "qwen3",
48
+ "num_attention_heads": 16,
49
+ "num_hidden_layers": 28,
50
+ "num_key_value_heads": 8,
51
+ "pad_token_id": 151643,
52
+ "rms_norm_eps": 1e-06,
53
+ "rope_parameters": {
54
+ "rope_theta": 1000000,
55
+ "rope_type": "default"
56
+ },
57
+ "sliding_window": null,
58
+ "tie_word_embeddings": true,
59
+ "transformers_version": "5.7.0",
60
+ "use_cache": false,
61
+ "use_sliding_window": false,
62
+ "vocab_size": 151936
63
+ }
checkpoint-1000/generation_config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_sample": true,
3
+ "eos_token_id": [
4
+ 151645,
5
+ 151643
6
+ ],
7
+ "pad_token_id": 151643,
8
+ "temperature": 0.6,
9
+ "top_k": 20,
10
+ "top_p": 0.95,
11
+ "transformers_version": "5.7.0"
12
+ }
checkpoint-1000/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fa6a5ffa325a42521faee189eed67b3922773291e206e209e90b3c770b4d4539
3
+ size 3441185608
checkpoint-1000/optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2c51b9e4e783c1596ac7d185b6f7589123a938675998d0d32a5f077dfa2dfefd
3
+ size 6882572207
checkpoint-1000/rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61c19bab1174704a4a4441475683bf1270277af15d2e2c95e964789128e482c4
3
+ size 14645
checkpoint-1000/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:03766410d0ee20761a88c2327709b696e608f6be1dc35ba4d82dcb2eea2325f7
3
+ size 1465
checkpoint-1000/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506
3
+ size 11422650
checkpoint-1000/tokenizer_config.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "backend": "tokenizers",
4
+ "bos_token": null,
5
+ "clean_up_tokenization_spaces": false,
6
+ "eos_token": "<|im_end|>",
7
+ "errors": "replace",
8
+ "extra_special_tokens": [
9
+ "<|im_start|>",
10
+ "<|im_end|>",
11
+ "<|object_ref_start|>",
12
+ "<|object_ref_end|>",
13
+ "<|box_start|>",
14
+ "<|box_end|>",
15
+ "<|quad_start|>",
16
+ "<|quad_end|>",
17
+ "<|vision_start|>",
18
+ "<|vision_end|>",
19
+ "<|vision_pad|>",
20
+ "<|image_pad|>",
21
+ "<|video_pad|>"
22
+ ],
23
+ "is_local": false,
24
+ "local_files_only": false,
25
+ "model_max_length": 131072,
26
+ "pad_token": "<|endoftext|>",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null
30
+ }
checkpoint-1000/trainer_state.json ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": null,
3
+ "best_metric": null,
4
+ "best_model_checkpoint": null,
5
+ "epoch": 0.16024998998437562,
6
+ "eval_steps": 500,
7
+ "global_step": 1000,
8
+ "is_hyper_param_search": false,
9
+ "is_local_process_zero": true,
10
+ "is_world_process_zero": true,
11
+ "log_history": [
12
+ {
13
+ "entropy": 2.223189059495926,
14
+ "epoch": 0.008012499499218782,
15
+ "grad_norm": 2.875,
16
+ "learning_rate": 1.9842973882390643e-05,
17
+ "loss": 2.3428109741210936,
18
+ "mean_token_accuracy": 0.4963963569700718,
19
+ "num_tokens": 305366.0,
20
+ "step": 50
21
+ },
22
+ {
23
+ "entropy": 2.188130117058754,
24
+ "epoch": 0.016024998998437564,
25
+ "grad_norm": 3.328125,
26
+ "learning_rate": 1.96827431501362e-05,
27
+ "loss": 2.225358734130859,
28
+ "mean_token_accuracy": 0.5110921229422093,
29
+ "num_tokens": 605042.0,
30
+ "step": 100
31
+ },
32
+ {
33
+ "entropy": 2.197347580194473,
34
+ "epoch": 0.024037498497656344,
35
+ "grad_norm": 3.453125,
36
+ "learning_rate": 1.952251241788175e-05,
37
+ "loss": 2.2299420166015627,
38
+ "mean_token_accuracy": 0.5093490639328957,
39
+ "num_tokens": 906888.0,
40
+ "step": 150
41
+ },
42
+ {
43
+ "entropy": 2.1913950395584108,
44
+ "epoch": 0.03204999799687513,
45
+ "grad_norm": 2.90625,
46
+ "learning_rate": 1.9362281685627303e-05,
47
+ "loss": 2.210995941162109,
48
+ "mean_token_accuracy": 0.5097909501194954,
49
+ "num_tokens": 1213125.0,
50
+ "step": 200
51
+ },
52
+ {
53
+ "entropy": 2.1611998677253723,
54
+ "epoch": 0.040062497496093905,
55
+ "grad_norm": 3.25,
56
+ "learning_rate": 1.920205095337286e-05,
57
+ "loss": 2.1867474365234374,
58
+ "mean_token_accuracy": 0.5154410660266876,
59
+ "num_tokens": 1509026.0,
60
+ "step": 250
61
+ },
62
+ {
63
+ "entropy": 2.168051454424858,
64
+ "epoch": 0.04807499699531269,
65
+ "grad_norm": 2.9375,
66
+ "learning_rate": 1.904182022111841e-05,
67
+ "loss": 2.190071716308594,
68
+ "mean_token_accuracy": 0.5156884534657001,
69
+ "num_tokens": 1806850.0,
70
+ "step": 300
71
+ },
72
+ {
73
+ "entropy": 2.1737154543399813,
74
+ "epoch": 0.05608749649453147,
75
+ "grad_norm": 3.421875,
76
+ "learning_rate": 1.8881589488863967e-05,
77
+ "loss": 2.199147186279297,
78
+ "mean_token_accuracy": 0.514045044630766,
79
+ "num_tokens": 2104505.0,
80
+ "step": 350
81
+ },
82
+ {
83
+ "entropy": 2.148039159178734,
84
+ "epoch": 0.06409999599375026,
85
+ "grad_norm": 3.109375,
86
+ "learning_rate": 1.872135875660952e-05,
87
+ "loss": 2.176946105957031,
88
+ "mean_token_accuracy": 0.5177112428843975,
89
+ "num_tokens": 2391088.0,
90
+ "step": 400
91
+ },
92
+ {
93
+ "entropy": 2.194890711903572,
94
+ "epoch": 0.07211249549296903,
95
+ "grad_norm": 3.28125,
96
+ "learning_rate": 1.856112802435507e-05,
97
+ "loss": 2.216288757324219,
98
+ "mean_token_accuracy": 0.5110335703194141,
99
+ "num_tokens": 2691272.0,
100
+ "step": 450
101
+ },
102
+ {
103
+ "entropy": 2.1557786524295808,
104
+ "epoch": 0.08012499499218781,
105
+ "grad_norm": 4.15625,
106
+ "learning_rate": 1.8400897292100627e-05,
107
+ "loss": 2.1812680053710936,
108
+ "mean_token_accuracy": 0.5176697050035,
109
+ "num_tokens": 2991855.0,
110
+ "step": 500
111
+ },
112
+ {
113
+ "entropy": 2.1708167713880537,
114
+ "epoch": 0.08813749449140659,
115
+ "grad_norm": 4.34375,
116
+ "learning_rate": 1.824066655984618e-05,
117
+ "loss": 2.1921002197265627,
118
+ "mean_token_accuracy": 0.5156507430970669,
119
+ "num_tokens": 3295049.0,
120
+ "step": 550
121
+ },
122
+ {
123
+ "entropy": 2.1686314886808393,
124
+ "epoch": 0.09614999399062538,
125
+ "grad_norm": 2.875,
126
+ "learning_rate": 1.8080435827591735e-05,
127
+ "loss": 2.1914617919921877,
128
+ "mean_token_accuracy": 0.5139613692462445,
129
+ "num_tokens": 3597206.0,
130
+ "step": 600
131
+ },
132
+ {
133
+ "entropy": 2.15742906332016,
134
+ "epoch": 0.10416249348984416,
135
+ "grad_norm": 3.109375,
136
+ "learning_rate": 1.7920205095337287e-05,
137
+ "loss": 2.174853973388672,
138
+ "mean_token_accuracy": 0.5159518288075924,
139
+ "num_tokens": 3905268.0,
140
+ "step": 650
141
+ },
142
+ {
143
+ "entropy": 2.162363375425339,
144
+ "epoch": 0.11217499298906294,
145
+ "grad_norm": 3.171875,
146
+ "learning_rate": 1.7759974363082843e-05,
147
+ "loss": 2.184231872558594,
148
+ "mean_token_accuracy": 0.516631413847208,
149
+ "num_tokens": 4207934.0,
150
+ "step": 700
151
+ },
152
+ {
153
+ "entropy": 2.1516289287805557,
154
+ "epoch": 0.12018749248828171,
155
+ "grad_norm": 3.609375,
156
+ "learning_rate": 1.7599743630828395e-05,
157
+ "loss": 2.167020263671875,
158
+ "mean_token_accuracy": 0.516358617246151,
159
+ "num_tokens": 4515774.0,
160
+ "step": 750
161
+ },
162
+ {
163
+ "entropy": 2.1549544781446457,
164
+ "epoch": 0.1281999919875005,
165
+ "grad_norm": 3.28125,
166
+ "learning_rate": 1.7439512898573947e-05,
167
+ "loss": 2.181917877197266,
168
+ "mean_token_accuracy": 0.5182220858335495,
169
+ "num_tokens": 4814709.0,
170
+ "step": 800
171
+ },
172
+ {
173
+ "entropy": 2.1532615756988527,
174
+ "epoch": 0.1362124914867193,
175
+ "grad_norm": 3.078125,
176
+ "learning_rate": 1.7279282166319503e-05,
177
+ "loss": 2.1659007263183594,
178
+ "mean_token_accuracy": 0.5180425970256328,
179
+ "num_tokens": 5112585.0,
180
+ "step": 850
181
+ },
182
+ {
183
+ "entropy": 2.1704017293453215,
184
+ "epoch": 0.14422499098593805,
185
+ "grad_norm": 2.921875,
186
+ "learning_rate": 1.7119051434065055e-05,
187
+ "loss": 2.1934996032714844,
188
+ "mean_token_accuracy": 0.5154964691400528,
189
+ "num_tokens": 5411369.0,
190
+ "step": 900
191
+ },
192
+ {
193
+ "entropy": 2.1349107217788696,
194
+ "epoch": 0.15223749048515683,
195
+ "grad_norm": 2.984375,
196
+ "learning_rate": 1.6958820701810608e-05,
197
+ "loss": 2.1598545837402345,
198
+ "mean_token_accuracy": 0.5208920259773732,
199
+ "num_tokens": 5707060.0,
200
+ "step": 950
201
+ },
202
+ {
203
+ "entropy": 2.1541705918312073,
204
+ "epoch": 0.16024998998437562,
205
+ "grad_norm": 3.203125,
206
+ "learning_rate": 1.6798589969556163e-05,
207
+ "loss": 2.170956573486328,
208
+ "mean_token_accuracy": 0.5204938448965549,
209
+ "num_tokens": 6004079.0,
210
+ "step": 1000
211
+ }
212
+ ],
213
+ "logging_steps": 50,
214
+ "max_steps": 6241,
215
+ "num_input_tokens_seen": 0,
216
+ "num_train_epochs": 1,
217
+ "save_steps": 500,
218
+ "stateful_callbacks": {
219
+ "TrainerControl": {
220
+ "args": {
221
+ "should_epoch_stop": false,
222
+ "should_evaluate": false,
223
+ "should_log": false,
224
+ "should_save": true,
225
+ "should_training_stop": false
226
+ },
227
+ "attributes": {}
228
+ }
229
+ },
230
+ "total_flos": 7.095551986099814e+16,
231
+ "train_batch_size": 4,
232
+ "trial_name": null,
233
+ "trial_params": null
234
+ }
checkpoint-1000/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:78622f63304ec0913ed0b4ea7a1b26c08a5621b3661a380d798c4ea426235671
3
+ size 5713
checkpoint-1500/chat_template.jinja ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0].role == 'system' %}
4
+ {{- messages[0].content + '\n\n' }}
5
+ {%- endif %}
6
+ {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
7
+ {%- for tool in tools %}
8
+ {{- "\n" }}
9
+ {{- tool | tojson }}
10
+ {%- endfor %}
11
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
12
+ {%- else %}
13
+ {%- if messages[0].role == 'system' %}
14
+ {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
15
+ {%- endif %}
16
+ {%- endif %}
17
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
18
+ {%- for message in messages[::-1] %}
19
+ {%- set index = (messages|length - 1) - loop.index0 %}
20
+ {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
21
+ {%- set ns.multi_step_tool = false %}
22
+ {%- set ns.last_query_index = index %}
23
+ {%- endif %}
24
+ {%- endfor %}
25
+ {%- for message in messages %}
26
+ {%- if message.content is string %}
27
+ {%- set content = message.content %}
28
+ {%- else %}
29
+ {%- set content = '' %}
30
+ {%- endif %}
31
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
32
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
33
+ {%- elif message.role == "assistant" %}
34
+ {%- set reasoning_content = '' %}
35
+ {%- if message.reasoning_content is string %}
36
+ {%- set reasoning_content = message.reasoning_content %}
37
+ {%- else %}
38
+ {%- if '</think>' in content %}
39
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
40
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
41
+ {%- endif %}
42
+ {%- endif %}
43
+ {%- if loop.index0 > ns.last_query_index %}
44
+ {%- if loop.last or (not loop.last and reasoning_content) %}
45
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
46
+ {%- else %}
47
+ {{- '<|im_start|>' + message.role + '\n' + content }}
48
+ {%- endif %}
49
+ {%- else %}
50
+ {{- '<|im_start|>' + message.role + '\n' + content }}
51
+ {%- endif %}
52
+ {%- if message.tool_calls %}
53
+ {%- for tool_call in message.tool_calls %}
54
+ {%- if (loop.first and content) or (not loop.first) %}
55
+ {{- '\n' }}
56
+ {%- endif %}
57
+ {%- if tool_call.function %}
58
+ {%- set tool_call = tool_call.function %}
59
+ {%- endif %}
60
+ {{- '<tool_call>\n{"name": "' }}
61
+ {{- tool_call.name }}
62
+ {{- '", "arguments": ' }}
63
+ {%- if tool_call.arguments is string %}
64
+ {{- tool_call.arguments }}
65
+ {%- else %}
66
+ {{- tool_call.arguments | tojson }}
67
+ {%- endif %}
68
+ {{- '}\n</tool_call>' }}
69
+ {%- endfor %}
70
+ {%- endif %}
71
+ {{- '<|im_end|>\n' }}
72
+ {%- elif message.role == "tool" %}
73
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
74
+ {{- '<|im_start|>user' }}
75
+ {%- endif %}
76
+ {{- '\n<tool_response>\n' }}
77
+ {{- content }}
78
+ {{- '\n</tool_response>' }}
79
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
80
+ {{- '<|im_end|>\n' }}
81
+ {%- endif %}
82
+ {%- endif %}
83
+ {%- endfor %}
84
+ {%- if add_generation_prompt %}
85
+ {{- '<|im_start|>assistant\n' }}
86
+ {%- if enable_thinking is defined and enable_thinking is false %}
87
+ {{- '<think>\n\n</think>\n\n' }}
88
+ {%- endif %}
89
+ {%- endif %}
checkpoint-1500/config.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3ForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": null,
8
+ "dtype": "bfloat16",
9
+ "eos_token_id": 151645,
10
+ "head_dim": 128,
11
+ "hidden_act": "silu",
12
+ "hidden_size": 2048,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 6144,
15
+ "layer_types": [
16
+ "full_attention",
17
+ "full_attention",
18
+ "full_attention",
19
+ "full_attention",
20
+ "full_attention",
21
+ "full_attention",
22
+ "full_attention",
23
+ "full_attention",
24
+ "full_attention",
25
+ "full_attention",
26
+ "full_attention",
27
+ "full_attention",
28
+ "full_attention",
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention"
44
+ ],
45
+ "max_position_embeddings": 40960,
46
+ "max_window_layers": 28,
47
+ "model_type": "qwen3",
48
+ "num_attention_heads": 16,
49
+ "num_hidden_layers": 28,
50
+ "num_key_value_heads": 8,
51
+ "pad_token_id": 151643,
52
+ "rms_norm_eps": 1e-06,
53
+ "rope_parameters": {
54
+ "rope_theta": 1000000,
55
+ "rope_type": "default"
56
+ },
57
+ "sliding_window": null,
58
+ "tie_word_embeddings": true,
59
+ "transformers_version": "5.7.0",
60
+ "use_cache": false,
61
+ "use_sliding_window": false,
62
+ "vocab_size": 151936
63
+ }
checkpoint-1500/generation_config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_sample": true,
3
+ "eos_token_id": [
4
+ 151645,
5
+ 151643
6
+ ],
7
+ "pad_token_id": 151643,
8
+ "temperature": 0.6,
9
+ "top_k": 20,
10
+ "top_p": 0.95,
11
+ "transformers_version": "5.7.0"
12
+ }
checkpoint-1500/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:438e34183f5e94f608c7669e0b2cb247069e6a47ebcded96167ec3afb7af8101
3
+ size 3441185608
checkpoint-1500/optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:11e561d4c48540c45fb0712b82d5ffdd92c408f08ae4ed12ecbced4e409b1208
3
+ size 6882572207
checkpoint-1500/rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61c19bab1174704a4a4441475683bf1270277af15d2e2c95e964789128e482c4
3
+ size 14645
checkpoint-1500/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b666bb023db840fb022cfa0357e113ba9d208c4303ad969fafd6098567ba3038
3
+ size 1465
checkpoint-1500/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506
3
+ size 11422650
checkpoint-1500/tokenizer_config.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "backend": "tokenizers",
4
+ "bos_token": null,
5
+ "clean_up_tokenization_spaces": false,
6
+ "eos_token": "<|im_end|>",
7
+ "errors": "replace",
8
+ "extra_special_tokens": [
9
+ "<|im_start|>",
10
+ "<|im_end|>",
11
+ "<|object_ref_start|>",
12
+ "<|object_ref_end|>",
13
+ "<|box_start|>",
14
+ "<|box_end|>",
15
+ "<|quad_start|>",
16
+ "<|quad_end|>",
17
+ "<|vision_start|>",
18
+ "<|vision_end|>",
19
+ "<|vision_pad|>",
20
+ "<|image_pad|>",
21
+ "<|video_pad|>"
22
+ ],
23
+ "is_local": false,
24
+ "local_files_only": false,
25
+ "model_max_length": 131072,
26
+ "pad_token": "<|endoftext|>",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null
30
+ }
checkpoint-1500/trainer_state.json ADDED
@@ -0,0 +1,334 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": null,
3
+ "best_metric": null,
4
+ "best_model_checkpoint": null,
5
+ "epoch": 0.24037498497656343,
6
+ "eval_steps": 500,
7
+ "global_step": 1500,
8
+ "is_hyper_param_search": false,
9
+ "is_local_process_zero": true,
10
+ "is_world_process_zero": true,
11
+ "log_history": [
12
+ {
13
+ "entropy": 2.223189059495926,
14
+ "epoch": 0.008012499499218782,
15
+ "grad_norm": 2.875,
16
+ "learning_rate": 1.9842973882390643e-05,
17
+ "loss": 2.3428109741210936,
18
+ "mean_token_accuracy": 0.4963963569700718,
19
+ "num_tokens": 305366.0,
20
+ "step": 50
21
+ },
22
+ {
23
+ "entropy": 2.188130117058754,
24
+ "epoch": 0.016024998998437564,
25
+ "grad_norm": 3.328125,
26
+ "learning_rate": 1.96827431501362e-05,
27
+ "loss": 2.225358734130859,
28
+ "mean_token_accuracy": 0.5110921229422093,
29
+ "num_tokens": 605042.0,
30
+ "step": 100
31
+ },
32
+ {
33
+ "entropy": 2.197347580194473,
34
+ "epoch": 0.024037498497656344,
35
+ "grad_norm": 3.453125,
36
+ "learning_rate": 1.952251241788175e-05,
37
+ "loss": 2.2299420166015627,
38
+ "mean_token_accuracy": 0.5093490639328957,
39
+ "num_tokens": 906888.0,
40
+ "step": 150
41
+ },
42
+ {
43
+ "entropy": 2.1913950395584108,
44
+ "epoch": 0.03204999799687513,
45
+ "grad_norm": 2.90625,
46
+ "learning_rate": 1.9362281685627303e-05,
47
+ "loss": 2.210995941162109,
48
+ "mean_token_accuracy": 0.5097909501194954,
49
+ "num_tokens": 1213125.0,
50
+ "step": 200
51
+ },
52
+ {
53
+ "entropy": 2.1611998677253723,
54
+ "epoch": 0.040062497496093905,
55
+ "grad_norm": 3.25,
56
+ "learning_rate": 1.920205095337286e-05,
57
+ "loss": 2.1867474365234374,
58
+ "mean_token_accuracy": 0.5154410660266876,
59
+ "num_tokens": 1509026.0,
60
+ "step": 250
61
+ },
62
+ {
63
+ "entropy": 2.168051454424858,
64
+ "epoch": 0.04807499699531269,
65
+ "grad_norm": 2.9375,
66
+ "learning_rate": 1.904182022111841e-05,
67
+ "loss": 2.190071716308594,
68
+ "mean_token_accuracy": 0.5156884534657001,
69
+ "num_tokens": 1806850.0,
70
+ "step": 300
71
+ },
72
+ {
73
+ "entropy": 2.1737154543399813,
74
+ "epoch": 0.05608749649453147,
75
+ "grad_norm": 3.421875,
76
+ "learning_rate": 1.8881589488863967e-05,
77
+ "loss": 2.199147186279297,
78
+ "mean_token_accuracy": 0.514045044630766,
79
+ "num_tokens": 2104505.0,
80
+ "step": 350
81
+ },
82
+ {
83
+ "entropy": 2.148039159178734,
84
+ "epoch": 0.06409999599375026,
85
+ "grad_norm": 3.109375,
86
+ "learning_rate": 1.872135875660952e-05,
87
+ "loss": 2.176946105957031,
88
+ "mean_token_accuracy": 0.5177112428843975,
89
+ "num_tokens": 2391088.0,
90
+ "step": 400
91
+ },
92
+ {
93
+ "entropy": 2.194890711903572,
94
+ "epoch": 0.07211249549296903,
95
+ "grad_norm": 3.28125,
96
+ "learning_rate": 1.856112802435507e-05,
97
+ "loss": 2.216288757324219,
98
+ "mean_token_accuracy": 0.5110335703194141,
99
+ "num_tokens": 2691272.0,
100
+ "step": 450
101
+ },
102
+ {
103
+ "entropy": 2.1557786524295808,
104
+ "epoch": 0.08012499499218781,
105
+ "grad_norm": 4.15625,
106
+ "learning_rate": 1.8400897292100627e-05,
107
+ "loss": 2.1812680053710936,
108
+ "mean_token_accuracy": 0.5176697050035,
109
+ "num_tokens": 2991855.0,
110
+ "step": 500
111
+ },
112
+ {
113
+ "entropy": 2.1708167713880537,
114
+ "epoch": 0.08813749449140659,
115
+ "grad_norm": 4.34375,
116
+ "learning_rate": 1.824066655984618e-05,
117
+ "loss": 2.1921002197265627,
118
+ "mean_token_accuracy": 0.5156507430970669,
119
+ "num_tokens": 3295049.0,
120
+ "step": 550
121
+ },
122
+ {
123
+ "entropy": 2.1686314886808393,
124
+ "epoch": 0.09614999399062538,
125
+ "grad_norm": 2.875,
126
+ "learning_rate": 1.8080435827591735e-05,
127
+ "loss": 2.1914617919921877,
128
+ "mean_token_accuracy": 0.5139613692462445,
129
+ "num_tokens": 3597206.0,
130
+ "step": 600
131
+ },
132
+ {
133
+ "entropy": 2.15742906332016,
134
+ "epoch": 0.10416249348984416,
135
+ "grad_norm": 3.109375,
136
+ "learning_rate": 1.7920205095337287e-05,
137
+ "loss": 2.174853973388672,
138
+ "mean_token_accuracy": 0.5159518288075924,
139
+ "num_tokens": 3905268.0,
140
+ "step": 650
141
+ },
142
+ {
143
+ "entropy": 2.162363375425339,
144
+ "epoch": 0.11217499298906294,
145
+ "grad_norm": 3.171875,
146
+ "learning_rate": 1.7759974363082843e-05,
147
+ "loss": 2.184231872558594,
148
+ "mean_token_accuracy": 0.516631413847208,
149
+ "num_tokens": 4207934.0,
150
+ "step": 700
151
+ },
152
+ {
153
+ "entropy": 2.1516289287805557,
154
+ "epoch": 0.12018749248828171,
155
+ "grad_norm": 3.609375,
156
+ "learning_rate": 1.7599743630828395e-05,
157
+ "loss": 2.167020263671875,
158
+ "mean_token_accuracy": 0.516358617246151,
159
+ "num_tokens": 4515774.0,
160
+ "step": 750
161
+ },
162
+ {
163
+ "entropy": 2.1549544781446457,
164
+ "epoch": 0.1281999919875005,
165
+ "grad_norm": 3.28125,
166
+ "learning_rate": 1.7439512898573947e-05,
167
+ "loss": 2.181917877197266,
168
+ "mean_token_accuracy": 0.5182220858335495,
169
+ "num_tokens": 4814709.0,
170
+ "step": 800
171
+ },
172
+ {
173
+ "entropy": 2.1532615756988527,
174
+ "epoch": 0.1362124914867193,
175
+ "grad_norm": 3.078125,
176
+ "learning_rate": 1.7279282166319503e-05,
177
+ "loss": 2.1659007263183594,
178
+ "mean_token_accuracy": 0.5180425970256328,
179
+ "num_tokens": 5112585.0,
180
+ "step": 850
181
+ },
182
+ {
183
+ "entropy": 2.1704017293453215,
184
+ "epoch": 0.14422499098593805,
185
+ "grad_norm": 2.921875,
186
+ "learning_rate": 1.7119051434065055e-05,
187
+ "loss": 2.1934996032714844,
188
+ "mean_token_accuracy": 0.5154964691400528,
189
+ "num_tokens": 5411369.0,
190
+ "step": 900
191
+ },
192
+ {
193
+ "entropy": 2.1349107217788696,
194
+ "epoch": 0.15223749048515683,
195
+ "grad_norm": 2.984375,
196
+ "learning_rate": 1.6958820701810608e-05,
197
+ "loss": 2.1598545837402345,
198
+ "mean_token_accuracy": 0.5208920259773732,
199
+ "num_tokens": 5707060.0,
200
+ "step": 950
201
+ },
202
+ {
203
+ "entropy": 2.1541705918312073,
204
+ "epoch": 0.16024998998437562,
205
+ "grad_norm": 3.203125,
206
+ "learning_rate": 1.6798589969556163e-05,
207
+ "loss": 2.170956573486328,
208
+ "mean_token_accuracy": 0.5204938448965549,
209
+ "num_tokens": 6004079.0,
210
+ "step": 1000
211
+ },
212
+ {
213
+ "entropy": 2.1523867017030716,
214
+ "epoch": 0.1682624894835944,
215
+ "grad_norm": 3.09375,
216
+ "learning_rate": 1.6638359237301716e-05,
217
+ "loss": 2.1695118713378907,
218
+ "mean_token_accuracy": 0.5177376234531402,
219
+ "num_tokens": 6315462.0,
220
+ "step": 1050
221
+ },
222
+ {
223
+ "entropy": 2.1356022965908052,
224
+ "epoch": 0.17627498898281319,
225
+ "grad_norm": 3.21875,
226
+ "learning_rate": 1.6478128505047268e-05,
227
+ "loss": 2.1513107299804686,
228
+ "mean_token_accuracy": 0.5217180585861206,
229
+ "num_tokens": 6613060.0,
230
+ "step": 1100
231
+ },
232
+ {
233
+ "entropy": 2.1483460652828215,
234
+ "epoch": 0.18428748848203197,
235
+ "grad_norm": 3.21875,
236
+ "learning_rate": 1.6317897772792824e-05,
237
+ "loss": 2.1671595764160156,
238
+ "mean_token_accuracy": 0.5199222292006016,
239
+ "num_tokens": 6909655.0,
240
+ "step": 1150
241
+ },
242
+ {
243
+ "entropy": 2.1074040442705155,
244
+ "epoch": 0.19229998798125075,
245
+ "grad_norm": 3.828125,
246
+ "learning_rate": 1.6157667040538376e-05,
247
+ "loss": 2.12770751953125,
248
+ "mean_token_accuracy": 0.5252153894305229,
249
+ "num_tokens": 7203263.0,
250
+ "step": 1200
251
+ },
252
+ {
253
+ "entropy": 2.1354027593135836,
254
+ "epoch": 0.20031248748046954,
255
+ "grad_norm": 2.921875,
256
+ "learning_rate": 1.5997436308283932e-05,
257
+ "loss": 2.156183166503906,
258
+ "mean_token_accuracy": 0.518907299786806,
259
+ "num_tokens": 7505411.0,
260
+ "step": 1250
261
+ },
262
+ {
263
+ "entropy": 2.142924894094467,
264
+ "epoch": 0.20832498697968832,
265
+ "grad_norm": 3.5625,
266
+ "learning_rate": 1.5837205576029484e-05,
267
+ "loss": 2.158486633300781,
268
+ "mean_token_accuracy": 0.5205909128487111,
269
+ "num_tokens": 7803562.0,
270
+ "step": 1300
271
+ },
272
+ {
273
+ "entropy": 2.1305291467905043,
274
+ "epoch": 0.2163374864789071,
275
+ "grad_norm": 3.34375,
276
+ "learning_rate": 1.5676974843775036e-05,
277
+ "loss": 2.151043701171875,
278
+ "mean_token_accuracy": 0.5211617235839366,
279
+ "num_tokens": 8108037.0,
280
+ "step": 1350
281
+ },
282
+ {
283
+ "entropy": 2.160947166085243,
284
+ "epoch": 0.2243499859781259,
285
+ "grad_norm": 3.234375,
286
+ "learning_rate": 1.5516744111520592e-05,
287
+ "loss": 2.177792663574219,
288
+ "mean_token_accuracy": 0.5167004990577698,
289
+ "num_tokens": 8408674.0,
290
+ "step": 1400
291
+ },
292
+ {
293
+ "entropy": 2.120403967499733,
294
+ "epoch": 0.23236248547734467,
295
+ "grad_norm": 3.375,
296
+ "learning_rate": 1.5356513379266144e-05,
297
+ "loss": 2.1462562561035154,
298
+ "mean_token_accuracy": 0.5225985661149025,
299
+ "num_tokens": 8707650.0,
300
+ "step": 1450
301
+ },
302
+ {
303
+ "entropy": 2.138882914185524,
304
+ "epoch": 0.24037498497656343,
305
+ "grad_norm": 3.171875,
306
+ "learning_rate": 1.5196282647011698e-05,
307
+ "loss": 2.1499905395507812,
308
+ "mean_token_accuracy": 0.5204668046534061,
309
+ "num_tokens": 9006296.0,
310
+ "step": 1500
311
+ }
312
+ ],
313
+ "logging_steps": 50,
314
+ "max_steps": 6241,
315
+ "num_input_tokens_seen": 0,
316
+ "num_train_epochs": 1,
317
+ "save_steps": 500,
318
+ "stateful_callbacks": {
319
+ "TrainerControl": {
320
+ "args": {
321
+ "should_epoch_stop": false,
322
+ "should_evaluate": false,
323
+ "should_log": false,
324
+ "should_save": true,
325
+ "should_training_stop": false
326
+ },
327
+ "attributes": {}
328
+ }
329
+ },
330
+ "total_flos": 1.064051705174999e+17,
331
+ "train_batch_size": 4,
332
+ "trial_name": null,
333
+ "trial_params": null
334
+ }
checkpoint-1500/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:78622f63304ec0913ed0b4ea7a1b26c08a5621b3661a380d798c4ea426235671
3
+ size 5713
checkpoint-2000/chat_template.jinja ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0].role == 'system' %}
4
+ {{- messages[0].content + '\n\n' }}
5
+ {%- endif %}
6
+ {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
7
+ {%- for tool in tools %}
8
+ {{- "\n" }}
9
+ {{- tool | tojson }}
10
+ {%- endfor %}
11
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
12
+ {%- else %}
13
+ {%- if messages[0].role == 'system' %}
14
+ {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
15
+ {%- endif %}
16
+ {%- endif %}
17
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
18
+ {%- for message in messages[::-1] %}
19
+ {%- set index = (messages|length - 1) - loop.index0 %}
20
+ {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
21
+ {%- set ns.multi_step_tool = false %}
22
+ {%- set ns.last_query_index = index %}
23
+ {%- endif %}
24
+ {%- endfor %}
25
+ {%- for message in messages %}
26
+ {%- if message.content is string %}
27
+ {%- set content = message.content %}
28
+ {%- else %}
29
+ {%- set content = '' %}
30
+ {%- endif %}
31
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
32
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
33
+ {%- elif message.role == "assistant" %}
34
+ {%- set reasoning_content = '' %}
35
+ {%- if message.reasoning_content is string %}
36
+ {%- set reasoning_content = message.reasoning_content %}
37
+ {%- else %}
38
+ {%- if '</think>' in content %}
39
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
40
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
41
+ {%- endif %}
42
+ {%- endif %}
43
+ {%- if loop.index0 > ns.last_query_index %}
44
+ {%- if loop.last or (not loop.last and reasoning_content) %}
45
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
46
+ {%- else %}
47
+ {{- '<|im_start|>' + message.role + '\n' + content }}
48
+ {%- endif %}
49
+ {%- else %}
50
+ {{- '<|im_start|>' + message.role + '\n' + content }}
51
+ {%- endif %}
52
+ {%- if message.tool_calls %}
53
+ {%- for tool_call in message.tool_calls %}
54
+ {%- if (loop.first and content) or (not loop.first) %}
55
+ {{- '\n' }}
56
+ {%- endif %}
57
+ {%- if tool_call.function %}
58
+ {%- set tool_call = tool_call.function %}
59
+ {%- endif %}
60
+ {{- '<tool_call>\n{"name": "' }}
61
+ {{- tool_call.name }}
62
+ {{- '", "arguments": ' }}
63
+ {%- if tool_call.arguments is string %}
64
+ {{- tool_call.arguments }}
65
+ {%- else %}
66
+ {{- tool_call.arguments | tojson }}
67
+ {%- endif %}
68
+ {{- '}\n</tool_call>' }}
69
+ {%- endfor %}
70
+ {%- endif %}
71
+ {{- '<|im_end|>\n' }}
72
+ {%- elif message.role == "tool" %}
73
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
74
+ {{- '<|im_start|>user' }}
75
+ {%- endif %}
76
+ {{- '\n<tool_response>\n' }}
77
+ {{- content }}
78
+ {{- '\n</tool_response>' }}
79
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
80
+ {{- '<|im_end|>\n' }}
81
+ {%- endif %}
82
+ {%- endif %}
83
+ {%- endfor %}
84
+ {%- if add_generation_prompt %}
85
+ {{- '<|im_start|>assistant\n' }}
86
+ {%- if enable_thinking is defined and enable_thinking is false %}
87
+ {{- '<think>\n\n</think>\n\n' }}
88
+ {%- endif %}
89
+ {%- endif %}
checkpoint-2000/config.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3ForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": null,
8
+ "dtype": "bfloat16",
9
+ "eos_token_id": 151645,
10
+ "head_dim": 128,
11
+ "hidden_act": "silu",
12
+ "hidden_size": 2048,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 6144,
15
+ "layer_types": [
16
+ "full_attention",
17
+ "full_attention",
18
+ "full_attention",
19
+ "full_attention",
20
+ "full_attention",
21
+ "full_attention",
22
+ "full_attention",
23
+ "full_attention",
24
+ "full_attention",
25
+ "full_attention",
26
+ "full_attention",
27
+ "full_attention",
28
+ "full_attention",
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention"
44
+ ],
45
+ "max_position_embeddings": 40960,
46
+ "max_window_layers": 28,
47
+ "model_type": "qwen3",
48
+ "num_attention_heads": 16,
49
+ "num_hidden_layers": 28,
50
+ "num_key_value_heads": 8,
51
+ "pad_token_id": 151643,
52
+ "rms_norm_eps": 1e-06,
53
+ "rope_parameters": {
54
+ "rope_theta": 1000000,
55
+ "rope_type": "default"
56
+ },
57
+ "sliding_window": null,
58
+ "tie_word_embeddings": true,
59
+ "transformers_version": "5.7.0",
60
+ "use_cache": false,
61
+ "use_sliding_window": false,
62
+ "vocab_size": 151936
63
+ }
checkpoint-2000/generation_config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_sample": true,
3
+ "eos_token_id": [
4
+ 151645,
5
+ 151643
6
+ ],
7
+ "pad_token_id": 151643,
8
+ "temperature": 0.6,
9
+ "top_k": 20,
10
+ "top_p": 0.95,
11
+ "transformers_version": "5.7.0"
12
+ }
checkpoint-2000/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ec88ee383178456b8f8ab7ee942be2785b0a32656809f229cae94c76dff1b810
3
+ size 3441185608
checkpoint-2000/optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ea2dc818dc38c52000eeebc5b101562caf8fb11d4790f976bb066ee636e4f14d
3
+ size 6882572207
checkpoint-2000/rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61c19bab1174704a4a4441475683bf1270277af15d2e2c95e964789128e482c4
3
+ size 14645
checkpoint-2000/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:11b128c7c709b8b18f78ca21ff87ee25957a3215823c4227b4ba298165c8d222
3
+ size 1465
checkpoint-2000/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506
3
+ size 11422650
checkpoint-2000/tokenizer_config.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "backend": "tokenizers",
4
+ "bos_token": null,
5
+ "clean_up_tokenization_spaces": false,
6
+ "eos_token": "<|im_end|>",
7
+ "errors": "replace",
8
+ "extra_special_tokens": [
9
+ "<|im_start|>",
10
+ "<|im_end|>",
11
+ "<|object_ref_start|>",
12
+ "<|object_ref_end|>",
13
+ "<|box_start|>",
14
+ "<|box_end|>",
15
+ "<|quad_start|>",
16
+ "<|quad_end|>",
17
+ "<|vision_start|>",
18
+ "<|vision_end|>",
19
+ "<|vision_pad|>",
20
+ "<|image_pad|>",
21
+ "<|video_pad|>"
22
+ ],
23
+ "is_local": false,
24
+ "local_files_only": false,
25
+ "model_max_length": 131072,
26
+ "pad_token": "<|endoftext|>",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null
30
+ }
checkpoint-2000/trainer_state.json ADDED
@@ -0,0 +1,434 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": null,
3
+ "best_metric": null,
4
+ "best_model_checkpoint": null,
5
+ "epoch": 0.32049997996875124,
6
+ "eval_steps": 500,
7
+ "global_step": 2000,
8
+ "is_hyper_param_search": false,
9
+ "is_local_process_zero": true,
10
+ "is_world_process_zero": true,
11
+ "log_history": [
12
+ {
13
+ "entropy": 2.223189059495926,
14
+ "epoch": 0.008012499499218782,
15
+ "grad_norm": 2.875,
16
+ "learning_rate": 1.9842973882390643e-05,
17
+ "loss": 2.3428109741210936,
18
+ "mean_token_accuracy": 0.4963963569700718,
19
+ "num_tokens": 305366.0,
20
+ "step": 50
21
+ },
22
+ {
23
+ "entropy": 2.188130117058754,
24
+ "epoch": 0.016024998998437564,
25
+ "grad_norm": 3.328125,
26
+ "learning_rate": 1.96827431501362e-05,
27
+ "loss": 2.225358734130859,
28
+ "mean_token_accuracy": 0.5110921229422093,
29
+ "num_tokens": 605042.0,
30
+ "step": 100
31
+ },
32
+ {
33
+ "entropy": 2.197347580194473,
34
+ "epoch": 0.024037498497656344,
35
+ "grad_norm": 3.453125,
36
+ "learning_rate": 1.952251241788175e-05,
37
+ "loss": 2.2299420166015627,
38
+ "mean_token_accuracy": 0.5093490639328957,
39
+ "num_tokens": 906888.0,
40
+ "step": 150
41
+ },
42
+ {
43
+ "entropy": 2.1913950395584108,
44
+ "epoch": 0.03204999799687513,
45
+ "grad_norm": 2.90625,
46
+ "learning_rate": 1.9362281685627303e-05,
47
+ "loss": 2.210995941162109,
48
+ "mean_token_accuracy": 0.5097909501194954,
49
+ "num_tokens": 1213125.0,
50
+ "step": 200
51
+ },
52
+ {
53
+ "entropy": 2.1611998677253723,
54
+ "epoch": 0.040062497496093905,
55
+ "grad_norm": 3.25,
56
+ "learning_rate": 1.920205095337286e-05,
57
+ "loss": 2.1867474365234374,
58
+ "mean_token_accuracy": 0.5154410660266876,
59
+ "num_tokens": 1509026.0,
60
+ "step": 250
61
+ },
62
+ {
63
+ "entropy": 2.168051454424858,
64
+ "epoch": 0.04807499699531269,
65
+ "grad_norm": 2.9375,
66
+ "learning_rate": 1.904182022111841e-05,
67
+ "loss": 2.190071716308594,
68
+ "mean_token_accuracy": 0.5156884534657001,
69
+ "num_tokens": 1806850.0,
70
+ "step": 300
71
+ },
72
+ {
73
+ "entropy": 2.1737154543399813,
74
+ "epoch": 0.05608749649453147,
75
+ "grad_norm": 3.421875,
76
+ "learning_rate": 1.8881589488863967e-05,
77
+ "loss": 2.199147186279297,
78
+ "mean_token_accuracy": 0.514045044630766,
79
+ "num_tokens": 2104505.0,
80
+ "step": 350
81
+ },
82
+ {
83
+ "entropy": 2.148039159178734,
84
+ "epoch": 0.06409999599375026,
85
+ "grad_norm": 3.109375,
86
+ "learning_rate": 1.872135875660952e-05,
87
+ "loss": 2.176946105957031,
88
+ "mean_token_accuracy": 0.5177112428843975,
89
+ "num_tokens": 2391088.0,
90
+ "step": 400
91
+ },
92
+ {
93
+ "entropy": 2.194890711903572,
94
+ "epoch": 0.07211249549296903,
95
+ "grad_norm": 3.28125,
96
+ "learning_rate": 1.856112802435507e-05,
97
+ "loss": 2.216288757324219,
98
+ "mean_token_accuracy": 0.5110335703194141,
99
+ "num_tokens": 2691272.0,
100
+ "step": 450
101
+ },
102
+ {
103
+ "entropy": 2.1557786524295808,
104
+ "epoch": 0.08012499499218781,
105
+ "grad_norm": 4.15625,
106
+ "learning_rate": 1.8400897292100627e-05,
107
+ "loss": 2.1812680053710936,
108
+ "mean_token_accuracy": 0.5176697050035,
109
+ "num_tokens": 2991855.0,
110
+ "step": 500
111
+ },
112
+ {
113
+ "entropy": 2.1708167713880537,
114
+ "epoch": 0.08813749449140659,
115
+ "grad_norm": 4.34375,
116
+ "learning_rate": 1.824066655984618e-05,
117
+ "loss": 2.1921002197265627,
118
+ "mean_token_accuracy": 0.5156507430970669,
119
+ "num_tokens": 3295049.0,
120
+ "step": 550
121
+ },
122
+ {
123
+ "entropy": 2.1686314886808393,
124
+ "epoch": 0.09614999399062538,
125
+ "grad_norm": 2.875,
126
+ "learning_rate": 1.8080435827591735e-05,
127
+ "loss": 2.1914617919921877,
128
+ "mean_token_accuracy": 0.5139613692462445,
129
+ "num_tokens": 3597206.0,
130
+ "step": 600
131
+ },
132
+ {
133
+ "entropy": 2.15742906332016,
134
+ "epoch": 0.10416249348984416,
135
+ "grad_norm": 3.109375,
136
+ "learning_rate": 1.7920205095337287e-05,
137
+ "loss": 2.174853973388672,
138
+ "mean_token_accuracy": 0.5159518288075924,
139
+ "num_tokens": 3905268.0,
140
+ "step": 650
141
+ },
142
+ {
143
+ "entropy": 2.162363375425339,
144
+ "epoch": 0.11217499298906294,
145
+ "grad_norm": 3.171875,
146
+ "learning_rate": 1.7759974363082843e-05,
147
+ "loss": 2.184231872558594,
148
+ "mean_token_accuracy": 0.516631413847208,
149
+ "num_tokens": 4207934.0,
150
+ "step": 700
151
+ },
152
+ {
153
+ "entropy": 2.1516289287805557,
154
+ "epoch": 0.12018749248828171,
155
+ "grad_norm": 3.609375,
156
+ "learning_rate": 1.7599743630828395e-05,
157
+ "loss": 2.167020263671875,
158
+ "mean_token_accuracy": 0.516358617246151,
159
+ "num_tokens": 4515774.0,
160
+ "step": 750
161
+ },
162
+ {
163
+ "entropy": 2.1549544781446457,
164
+ "epoch": 0.1281999919875005,
165
+ "grad_norm": 3.28125,
166
+ "learning_rate": 1.7439512898573947e-05,
167
+ "loss": 2.181917877197266,
168
+ "mean_token_accuracy": 0.5182220858335495,
169
+ "num_tokens": 4814709.0,
170
+ "step": 800
171
+ },
172
+ {
173
+ "entropy": 2.1532615756988527,
174
+ "epoch": 0.1362124914867193,
175
+ "grad_norm": 3.078125,
176
+ "learning_rate": 1.7279282166319503e-05,
177
+ "loss": 2.1659007263183594,
178
+ "mean_token_accuracy": 0.5180425970256328,
179
+ "num_tokens": 5112585.0,
180
+ "step": 850
181
+ },
182
+ {
183
+ "entropy": 2.1704017293453215,
184
+ "epoch": 0.14422499098593805,
185
+ "grad_norm": 2.921875,
186
+ "learning_rate": 1.7119051434065055e-05,
187
+ "loss": 2.1934996032714844,
188
+ "mean_token_accuracy": 0.5154964691400528,
189
+ "num_tokens": 5411369.0,
190
+ "step": 900
191
+ },
192
+ {
193
+ "entropy": 2.1349107217788696,
194
+ "epoch": 0.15223749048515683,
195
+ "grad_norm": 2.984375,
196
+ "learning_rate": 1.6958820701810608e-05,
197
+ "loss": 2.1598545837402345,
198
+ "mean_token_accuracy": 0.5208920259773732,
199
+ "num_tokens": 5707060.0,
200
+ "step": 950
201
+ },
202
+ {
203
+ "entropy": 2.1541705918312073,
204
+ "epoch": 0.16024998998437562,
205
+ "grad_norm": 3.203125,
206
+ "learning_rate": 1.6798589969556163e-05,
207
+ "loss": 2.170956573486328,
208
+ "mean_token_accuracy": 0.5204938448965549,
209
+ "num_tokens": 6004079.0,
210
+ "step": 1000
211
+ },
212
+ {
213
+ "entropy": 2.1523867017030716,
214
+ "epoch": 0.1682624894835944,
215
+ "grad_norm": 3.09375,
216
+ "learning_rate": 1.6638359237301716e-05,
217
+ "loss": 2.1695118713378907,
218
+ "mean_token_accuracy": 0.5177376234531402,
219
+ "num_tokens": 6315462.0,
220
+ "step": 1050
221
+ },
222
+ {
223
+ "entropy": 2.1356022965908052,
224
+ "epoch": 0.17627498898281319,
225
+ "grad_norm": 3.21875,
226
+ "learning_rate": 1.6478128505047268e-05,
227
+ "loss": 2.1513107299804686,
228
+ "mean_token_accuracy": 0.5217180585861206,
229
+ "num_tokens": 6613060.0,
230
+ "step": 1100
231
+ },
232
+ {
233
+ "entropy": 2.1483460652828215,
234
+ "epoch": 0.18428748848203197,
235
+ "grad_norm": 3.21875,
236
+ "learning_rate": 1.6317897772792824e-05,
237
+ "loss": 2.1671595764160156,
238
+ "mean_token_accuracy": 0.5199222292006016,
239
+ "num_tokens": 6909655.0,
240
+ "step": 1150
241
+ },
242
+ {
243
+ "entropy": 2.1074040442705155,
244
+ "epoch": 0.19229998798125075,
245
+ "grad_norm": 3.828125,
246
+ "learning_rate": 1.6157667040538376e-05,
247
+ "loss": 2.12770751953125,
248
+ "mean_token_accuracy": 0.5252153894305229,
249
+ "num_tokens": 7203263.0,
250
+ "step": 1200
251
+ },
252
+ {
253
+ "entropy": 2.1354027593135836,
254
+ "epoch": 0.20031248748046954,
255
+ "grad_norm": 2.921875,
256
+ "learning_rate": 1.5997436308283932e-05,
257
+ "loss": 2.156183166503906,
258
+ "mean_token_accuracy": 0.518907299786806,
259
+ "num_tokens": 7505411.0,
260
+ "step": 1250
261
+ },
262
+ {
263
+ "entropy": 2.142924894094467,
264
+ "epoch": 0.20832498697968832,
265
+ "grad_norm": 3.5625,
266
+ "learning_rate": 1.5837205576029484e-05,
267
+ "loss": 2.158486633300781,
268
+ "mean_token_accuracy": 0.5205909128487111,
269
+ "num_tokens": 7803562.0,
270
+ "step": 1300
271
+ },
272
+ {
273
+ "entropy": 2.1305291467905043,
274
+ "epoch": 0.2163374864789071,
275
+ "grad_norm": 3.34375,
276
+ "learning_rate": 1.5676974843775036e-05,
277
+ "loss": 2.151043701171875,
278
+ "mean_token_accuracy": 0.5211617235839366,
279
+ "num_tokens": 8108037.0,
280
+ "step": 1350
281
+ },
282
+ {
283
+ "entropy": 2.160947166085243,
284
+ "epoch": 0.2243499859781259,
285
+ "grad_norm": 3.234375,
286
+ "learning_rate": 1.5516744111520592e-05,
287
+ "loss": 2.177792663574219,
288
+ "mean_token_accuracy": 0.5167004990577698,
289
+ "num_tokens": 8408674.0,
290
+ "step": 1400
291
+ },
292
+ {
293
+ "entropy": 2.120403967499733,
294
+ "epoch": 0.23236248547734467,
295
+ "grad_norm": 3.375,
296
+ "learning_rate": 1.5356513379266144e-05,
297
+ "loss": 2.1462562561035154,
298
+ "mean_token_accuracy": 0.5225985661149025,
299
+ "num_tokens": 8707650.0,
300
+ "step": 1450
301
+ },
302
+ {
303
+ "entropy": 2.138882914185524,
304
+ "epoch": 0.24037498497656343,
305
+ "grad_norm": 3.171875,
306
+ "learning_rate": 1.5196282647011698e-05,
307
+ "loss": 2.1499905395507812,
308
+ "mean_token_accuracy": 0.5204668046534061,
309
+ "num_tokens": 9006296.0,
310
+ "step": 1500
311
+ },
312
+ {
313
+ "entropy": 2.131927245259285,
314
+ "epoch": 0.2483874844757822,
315
+ "grad_norm": 3.546875,
316
+ "learning_rate": 1.5036051914757252e-05,
317
+ "loss": 2.157076416015625,
318
+ "mean_token_accuracy": 0.5220408822596073,
319
+ "num_tokens": 9307203.0,
320
+ "step": 1550
321
+ },
322
+ {
323
+ "entropy": 2.1308567851781843,
324
+ "epoch": 0.256399983975001,
325
+ "grad_norm": 3.546875,
326
+ "learning_rate": 1.4875821182502805e-05,
327
+ "loss": 2.146601104736328,
328
+ "mean_token_accuracy": 0.5219539681077003,
329
+ "num_tokens": 9610070.0,
330
+ "step": 1600
331
+ },
332
+ {
333
+ "entropy": 2.1097783839702604,
334
+ "epoch": 0.2644124834742198,
335
+ "grad_norm": 3.84375,
336
+ "learning_rate": 1.4715590450248359e-05,
337
+ "loss": 2.1268209838867187,
338
+ "mean_token_accuracy": 0.5236652019619942,
339
+ "num_tokens": 9909117.0,
340
+ "step": 1650
341
+ },
342
+ {
343
+ "entropy": 2.123499180674553,
344
+ "epoch": 0.2724249829734386,
345
+ "grad_norm": 3.46875,
346
+ "learning_rate": 1.4555359717993913e-05,
347
+ "loss": 2.1409934997558593,
348
+ "mean_token_accuracy": 0.5225465354323388,
349
+ "num_tokens": 10209461.0,
350
+ "step": 1700
351
+ },
352
+ {
353
+ "entropy": 2.13052960395813,
354
+ "epoch": 0.2804374824726573,
355
+ "grad_norm": 2.71875,
356
+ "learning_rate": 1.4395128985739467e-05,
357
+ "loss": 2.151373291015625,
358
+ "mean_token_accuracy": 0.5227928113937378,
359
+ "num_tokens": 10509282.0,
360
+ "step": 1750
361
+ },
362
+ {
363
+ "entropy": 2.1226114094257356,
364
+ "epoch": 0.2884499819718761,
365
+ "grad_norm": 3.65625,
366
+ "learning_rate": 1.4234898253485019e-05,
367
+ "loss": 2.144451141357422,
368
+ "mean_token_accuracy": 0.5233827362954616,
369
+ "num_tokens": 10811056.0,
370
+ "step": 1800
371
+ },
372
+ {
373
+ "entropy": 2.126143154501915,
374
+ "epoch": 0.2964624814710949,
375
+ "grad_norm": 3.359375,
376
+ "learning_rate": 1.4074667521230575e-05,
377
+ "loss": 2.1457598876953123,
378
+ "mean_token_accuracy": 0.5221967925131321,
379
+ "num_tokens": 11111153.0,
380
+ "step": 1850
381
+ },
382
+ {
383
+ "entropy": 2.1048326581716537,
384
+ "epoch": 0.30447498097031367,
385
+ "grad_norm": 3.59375,
386
+ "learning_rate": 1.3914436788976127e-05,
387
+ "loss": 2.1260116577148436,
388
+ "mean_token_accuracy": 0.5272719909250736,
389
+ "num_tokens": 11405606.0,
390
+ "step": 1900
391
+ },
392
+ {
393
+ "entropy": 2.1236617982387545,
394
+ "epoch": 0.31248748046953245,
395
+ "grad_norm": 3.0,
396
+ "learning_rate": 1.375420605672168e-05,
397
+ "loss": 2.151782684326172,
398
+ "mean_token_accuracy": 0.5227546173334122,
399
+ "num_tokens": 11703943.0,
400
+ "step": 1950
401
+ },
402
+ {
403
+ "entropy": 2.121563429236412,
404
+ "epoch": 0.32049997996875124,
405
+ "grad_norm": 3.34375,
406
+ "learning_rate": 1.3593975324467235e-05,
407
+ "loss": 2.1370144653320313,
408
+ "mean_token_accuracy": 0.5235123547911644,
409
+ "num_tokens": 12002522.0,
410
+ "step": 2000
411
+ }
412
+ ],
413
+ "logging_steps": 50,
414
+ "max_steps": 6241,
415
+ "num_input_tokens_seen": 0,
416
+ "num_train_epochs": 1,
417
+ "save_steps": 500,
418
+ "stateful_callbacks": {
419
+ "TrainerControl": {
420
+ "args": {
421
+ "should_epoch_stop": false,
422
+ "should_evaluate": false,
423
+ "should_log": false,
424
+ "should_save": true,
425
+ "should_training_stop": false
426
+ },
427
+ "attributes": {}
428
+ }
429
+ },
430
+ "total_flos": 1.4174735647666176e+17,
431
+ "train_batch_size": 4,
432
+ "trial_name": null,
433
+ "trial_params": null
434
+ }
checkpoint-2000/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:78622f63304ec0913ed0b4ea7a1b26c08a5621b3661a380d798c4ea426235671
3
+ size 5713
checkpoint-2500/chat_template.jinja ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0].role == 'system' %}
4
+ {{- messages[0].content + '\n\n' }}
5
+ {%- endif %}
6
+ {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
7
+ {%- for tool in tools %}
8
+ {{- "\n" }}
9
+ {{- tool | tojson }}
10
+ {%- endfor %}
11
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
12
+ {%- else %}
13
+ {%- if messages[0].role == 'system' %}
14
+ {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
15
+ {%- endif %}
16
+ {%- endif %}
17
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
18
+ {%- for message in messages[::-1] %}
19
+ {%- set index = (messages|length - 1) - loop.index0 %}
20
+ {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
21
+ {%- set ns.multi_step_tool = false %}
22
+ {%- set ns.last_query_index = index %}
23
+ {%- endif %}
24
+ {%- endfor %}
25
+ {%- for message in messages %}
26
+ {%- if message.content is string %}
27
+ {%- set content = message.content %}
28
+ {%- else %}
29
+ {%- set content = '' %}
30
+ {%- endif %}
31
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
32
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
33
+ {%- elif message.role == "assistant" %}
34
+ {%- set reasoning_content = '' %}
35
+ {%- if message.reasoning_content is string %}
36
+ {%- set reasoning_content = message.reasoning_content %}
37
+ {%- else %}
38
+ {%- if '</think>' in content %}
39
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
40
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
41
+ {%- endif %}
42
+ {%- endif %}
43
+ {%- if loop.index0 > ns.last_query_index %}
44
+ {%- if loop.last or (not loop.last and reasoning_content) %}
45
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
46
+ {%- else %}
47
+ {{- '<|im_start|>' + message.role + '\n' + content }}
48
+ {%- endif %}
49
+ {%- else %}
50
+ {{- '<|im_start|>' + message.role + '\n' + content }}
51
+ {%- endif %}
52
+ {%- if message.tool_calls %}
53
+ {%- for tool_call in message.tool_calls %}
54
+ {%- if (loop.first and content) or (not loop.first) %}
55
+ {{- '\n' }}
56
+ {%- endif %}
57
+ {%- if tool_call.function %}
58
+ {%- set tool_call = tool_call.function %}
59
+ {%- endif %}
60
+ {{- '<tool_call>\n{"name": "' }}
61
+ {{- tool_call.name }}
62
+ {{- '", "arguments": ' }}
63
+ {%- if tool_call.arguments is string %}
64
+ {{- tool_call.arguments }}
65
+ {%- else %}
66
+ {{- tool_call.arguments | tojson }}
67
+ {%- endif %}
68
+ {{- '}\n</tool_call>' }}
69
+ {%- endfor %}
70
+ {%- endif %}
71
+ {{- '<|im_end|>\n' }}
72
+ {%- elif message.role == "tool" %}
73
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
74
+ {{- '<|im_start|>user' }}
75
+ {%- endif %}
76
+ {{- '\n<tool_response>\n' }}
77
+ {{- content }}
78
+ {{- '\n</tool_response>' }}
79
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
80
+ {{- '<|im_end|>\n' }}
81
+ {%- endif %}
82
+ {%- endif %}
83
+ {%- endfor %}
84
+ {%- if add_generation_prompt %}
85
+ {{- '<|im_start|>assistant\n' }}
86
+ {%- if enable_thinking is defined and enable_thinking is false %}
87
+ {{- '<think>\n\n</think>\n\n' }}
88
+ {%- endif %}
89
+ {%- endif %}
checkpoint-2500/config.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3ForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": null,
8
+ "dtype": "bfloat16",
9
+ "eos_token_id": 151645,
10
+ "head_dim": 128,
11
+ "hidden_act": "silu",
12
+ "hidden_size": 2048,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 6144,
15
+ "layer_types": [
16
+ "full_attention",
17
+ "full_attention",
18
+ "full_attention",
19
+ "full_attention",
20
+ "full_attention",
21
+ "full_attention",
22
+ "full_attention",
23
+ "full_attention",
24
+ "full_attention",
25
+ "full_attention",
26
+ "full_attention",
27
+ "full_attention",
28
+ "full_attention",
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention"
44
+ ],
45
+ "max_position_embeddings": 40960,
46
+ "max_window_layers": 28,
47
+ "model_type": "qwen3",
48
+ "num_attention_heads": 16,
49
+ "num_hidden_layers": 28,
50
+ "num_key_value_heads": 8,
51
+ "pad_token_id": 151643,
52
+ "rms_norm_eps": 1e-06,
53
+ "rope_parameters": {
54
+ "rope_theta": 1000000,
55
+ "rope_type": "default"
56
+ },
57
+ "sliding_window": null,
58
+ "tie_word_embeddings": true,
59
+ "transformers_version": "5.7.0",
60
+ "use_cache": false,
61
+ "use_sliding_window": false,
62
+ "vocab_size": 151936
63
+ }
checkpoint-2500/generation_config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_sample": true,
3
+ "eos_token_id": [
4
+ 151645,
5
+ 151643
6
+ ],
7
+ "pad_token_id": 151643,
8
+ "temperature": 0.6,
9
+ "top_k": 20,
10
+ "top_p": 0.95,
11
+ "transformers_version": "5.7.0"
12
+ }
checkpoint-2500/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:98a04b91a11ec1c0b526f91d12bdfb28ff4c3c69e104271b9e28a2f75f44f891
3
+ size 3441185608
checkpoint-2500/optimizer.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7535b338ca59a9c376634a6fbbef04a836c5c21962e653fe7794832854643965
3
+ size 6882572207
checkpoint-2500/rng_state.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61c19bab1174704a4a4441475683bf1270277af15d2e2c95e964789128e482c4
3
+ size 14645
checkpoint-2500/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c863cc66645dc4964c4c4f2cf30406fef13cbea85c7c7bd73c333d72670c821e
3
+ size 1465
checkpoint-2500/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506
3
+ size 11422650
checkpoint-2500/tokenizer_config.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "backend": "tokenizers",
4
+ "bos_token": null,
5
+ "clean_up_tokenization_spaces": false,
6
+ "eos_token": "<|im_end|>",
7
+ "errors": "replace",
8
+ "extra_special_tokens": [
9
+ "<|im_start|>",
10
+ "<|im_end|>",
11
+ "<|object_ref_start|>",
12
+ "<|object_ref_end|>",
13
+ "<|box_start|>",
14
+ "<|box_end|>",
15
+ "<|quad_start|>",
16
+ "<|quad_end|>",
17
+ "<|vision_start|>",
18
+ "<|vision_end|>",
19
+ "<|vision_pad|>",
20
+ "<|image_pad|>",
21
+ "<|video_pad|>"
22
+ ],
23
+ "is_local": false,
24
+ "local_files_only": false,
25
+ "model_max_length": 131072,
26
+ "pad_token": "<|endoftext|>",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null
30
+ }
checkpoint-2500/trainer_state.json ADDED
@@ -0,0 +1,534 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": null,
3
+ "best_metric": null,
4
+ "best_model_checkpoint": null,
5
+ "epoch": 0.4006249749609391,
6
+ "eval_steps": 500,
7
+ "global_step": 2500,
8
+ "is_hyper_param_search": false,
9
+ "is_local_process_zero": true,
10
+ "is_world_process_zero": true,
11
+ "log_history": [
12
+ {
13
+ "entropy": 2.223189059495926,
14
+ "epoch": 0.008012499499218782,
15
+ "grad_norm": 2.875,
16
+ "learning_rate": 1.9842973882390643e-05,
17
+ "loss": 2.3428109741210936,
18
+ "mean_token_accuracy": 0.4963963569700718,
19
+ "num_tokens": 305366.0,
20
+ "step": 50
21
+ },
22
+ {
23
+ "entropy": 2.188130117058754,
24
+ "epoch": 0.016024998998437564,
25
+ "grad_norm": 3.328125,
26
+ "learning_rate": 1.96827431501362e-05,
27
+ "loss": 2.225358734130859,
28
+ "mean_token_accuracy": 0.5110921229422093,
29
+ "num_tokens": 605042.0,
30
+ "step": 100
31
+ },
32
+ {
33
+ "entropy": 2.197347580194473,
34
+ "epoch": 0.024037498497656344,
35
+ "grad_norm": 3.453125,
36
+ "learning_rate": 1.952251241788175e-05,
37
+ "loss": 2.2299420166015627,
38
+ "mean_token_accuracy": 0.5093490639328957,
39
+ "num_tokens": 906888.0,
40
+ "step": 150
41
+ },
42
+ {
43
+ "entropy": 2.1913950395584108,
44
+ "epoch": 0.03204999799687513,
45
+ "grad_norm": 2.90625,
46
+ "learning_rate": 1.9362281685627303e-05,
47
+ "loss": 2.210995941162109,
48
+ "mean_token_accuracy": 0.5097909501194954,
49
+ "num_tokens": 1213125.0,
50
+ "step": 200
51
+ },
52
+ {
53
+ "entropy": 2.1611998677253723,
54
+ "epoch": 0.040062497496093905,
55
+ "grad_norm": 3.25,
56
+ "learning_rate": 1.920205095337286e-05,
57
+ "loss": 2.1867474365234374,
58
+ "mean_token_accuracy": 0.5154410660266876,
59
+ "num_tokens": 1509026.0,
60
+ "step": 250
61
+ },
62
+ {
63
+ "entropy": 2.168051454424858,
64
+ "epoch": 0.04807499699531269,
65
+ "grad_norm": 2.9375,
66
+ "learning_rate": 1.904182022111841e-05,
67
+ "loss": 2.190071716308594,
68
+ "mean_token_accuracy": 0.5156884534657001,
69
+ "num_tokens": 1806850.0,
70
+ "step": 300
71
+ },
72
+ {
73
+ "entropy": 2.1737154543399813,
74
+ "epoch": 0.05608749649453147,
75
+ "grad_norm": 3.421875,
76
+ "learning_rate": 1.8881589488863967e-05,
77
+ "loss": 2.199147186279297,
78
+ "mean_token_accuracy": 0.514045044630766,
79
+ "num_tokens": 2104505.0,
80
+ "step": 350
81
+ },
82
+ {
83
+ "entropy": 2.148039159178734,
84
+ "epoch": 0.06409999599375026,
85
+ "grad_norm": 3.109375,
86
+ "learning_rate": 1.872135875660952e-05,
87
+ "loss": 2.176946105957031,
88
+ "mean_token_accuracy": 0.5177112428843975,
89
+ "num_tokens": 2391088.0,
90
+ "step": 400
91
+ },
92
+ {
93
+ "entropy": 2.194890711903572,
94
+ "epoch": 0.07211249549296903,
95
+ "grad_norm": 3.28125,
96
+ "learning_rate": 1.856112802435507e-05,
97
+ "loss": 2.216288757324219,
98
+ "mean_token_accuracy": 0.5110335703194141,
99
+ "num_tokens": 2691272.0,
100
+ "step": 450
101
+ },
102
+ {
103
+ "entropy": 2.1557786524295808,
104
+ "epoch": 0.08012499499218781,
105
+ "grad_norm": 4.15625,
106
+ "learning_rate": 1.8400897292100627e-05,
107
+ "loss": 2.1812680053710936,
108
+ "mean_token_accuracy": 0.5176697050035,
109
+ "num_tokens": 2991855.0,
110
+ "step": 500
111
+ },
112
+ {
113
+ "entropy": 2.1708167713880537,
114
+ "epoch": 0.08813749449140659,
115
+ "grad_norm": 4.34375,
116
+ "learning_rate": 1.824066655984618e-05,
117
+ "loss": 2.1921002197265627,
118
+ "mean_token_accuracy": 0.5156507430970669,
119
+ "num_tokens": 3295049.0,
120
+ "step": 550
121
+ },
122
+ {
123
+ "entropy": 2.1686314886808393,
124
+ "epoch": 0.09614999399062538,
125
+ "grad_norm": 2.875,
126
+ "learning_rate": 1.8080435827591735e-05,
127
+ "loss": 2.1914617919921877,
128
+ "mean_token_accuracy": 0.5139613692462445,
129
+ "num_tokens": 3597206.0,
130
+ "step": 600
131
+ },
132
+ {
133
+ "entropy": 2.15742906332016,
134
+ "epoch": 0.10416249348984416,
135
+ "grad_norm": 3.109375,
136
+ "learning_rate": 1.7920205095337287e-05,
137
+ "loss": 2.174853973388672,
138
+ "mean_token_accuracy": 0.5159518288075924,
139
+ "num_tokens": 3905268.0,
140
+ "step": 650
141
+ },
142
+ {
143
+ "entropy": 2.162363375425339,
144
+ "epoch": 0.11217499298906294,
145
+ "grad_norm": 3.171875,
146
+ "learning_rate": 1.7759974363082843e-05,
147
+ "loss": 2.184231872558594,
148
+ "mean_token_accuracy": 0.516631413847208,
149
+ "num_tokens": 4207934.0,
150
+ "step": 700
151
+ },
152
+ {
153
+ "entropy": 2.1516289287805557,
154
+ "epoch": 0.12018749248828171,
155
+ "grad_norm": 3.609375,
156
+ "learning_rate": 1.7599743630828395e-05,
157
+ "loss": 2.167020263671875,
158
+ "mean_token_accuracy": 0.516358617246151,
159
+ "num_tokens": 4515774.0,
160
+ "step": 750
161
+ },
162
+ {
163
+ "entropy": 2.1549544781446457,
164
+ "epoch": 0.1281999919875005,
165
+ "grad_norm": 3.28125,
166
+ "learning_rate": 1.7439512898573947e-05,
167
+ "loss": 2.181917877197266,
168
+ "mean_token_accuracy": 0.5182220858335495,
169
+ "num_tokens": 4814709.0,
170
+ "step": 800
171
+ },
172
+ {
173
+ "entropy": 2.1532615756988527,
174
+ "epoch": 0.1362124914867193,
175
+ "grad_norm": 3.078125,
176
+ "learning_rate": 1.7279282166319503e-05,
177
+ "loss": 2.1659007263183594,
178
+ "mean_token_accuracy": 0.5180425970256328,
179
+ "num_tokens": 5112585.0,
180
+ "step": 850
181
+ },
182
+ {
183
+ "entropy": 2.1704017293453215,
184
+ "epoch": 0.14422499098593805,
185
+ "grad_norm": 2.921875,
186
+ "learning_rate": 1.7119051434065055e-05,
187
+ "loss": 2.1934996032714844,
188
+ "mean_token_accuracy": 0.5154964691400528,
189
+ "num_tokens": 5411369.0,
190
+ "step": 900
191
+ },
192
+ {
193
+ "entropy": 2.1349107217788696,
194
+ "epoch": 0.15223749048515683,
195
+ "grad_norm": 2.984375,
196
+ "learning_rate": 1.6958820701810608e-05,
197
+ "loss": 2.1598545837402345,
198
+ "mean_token_accuracy": 0.5208920259773732,
199
+ "num_tokens": 5707060.0,
200
+ "step": 950
201
+ },
202
+ {
203
+ "entropy": 2.1541705918312073,
204
+ "epoch": 0.16024998998437562,
205
+ "grad_norm": 3.203125,
206
+ "learning_rate": 1.6798589969556163e-05,
207
+ "loss": 2.170956573486328,
208
+ "mean_token_accuracy": 0.5204938448965549,
209
+ "num_tokens": 6004079.0,
210
+ "step": 1000
211
+ },
212
+ {
213
+ "entropy": 2.1523867017030716,
214
+ "epoch": 0.1682624894835944,
215
+ "grad_norm": 3.09375,
216
+ "learning_rate": 1.6638359237301716e-05,
217
+ "loss": 2.1695118713378907,
218
+ "mean_token_accuracy": 0.5177376234531402,
219
+ "num_tokens": 6315462.0,
220
+ "step": 1050
221
+ },
222
+ {
223
+ "entropy": 2.1356022965908052,
224
+ "epoch": 0.17627498898281319,
225
+ "grad_norm": 3.21875,
226
+ "learning_rate": 1.6478128505047268e-05,
227
+ "loss": 2.1513107299804686,
228
+ "mean_token_accuracy": 0.5217180585861206,
229
+ "num_tokens": 6613060.0,
230
+ "step": 1100
231
+ },
232
+ {
233
+ "entropy": 2.1483460652828215,
234
+ "epoch": 0.18428748848203197,
235
+ "grad_norm": 3.21875,
236
+ "learning_rate": 1.6317897772792824e-05,
237
+ "loss": 2.1671595764160156,
238
+ "mean_token_accuracy": 0.5199222292006016,
239
+ "num_tokens": 6909655.0,
240
+ "step": 1150
241
+ },
242
+ {
243
+ "entropy": 2.1074040442705155,
244
+ "epoch": 0.19229998798125075,
245
+ "grad_norm": 3.828125,
246
+ "learning_rate": 1.6157667040538376e-05,
247
+ "loss": 2.12770751953125,
248
+ "mean_token_accuracy": 0.5252153894305229,
249
+ "num_tokens": 7203263.0,
250
+ "step": 1200
251
+ },
252
+ {
253
+ "entropy": 2.1354027593135836,
254
+ "epoch": 0.20031248748046954,
255
+ "grad_norm": 2.921875,
256
+ "learning_rate": 1.5997436308283932e-05,
257
+ "loss": 2.156183166503906,
258
+ "mean_token_accuracy": 0.518907299786806,
259
+ "num_tokens": 7505411.0,
260
+ "step": 1250
261
+ },
262
+ {
263
+ "entropy": 2.142924894094467,
264
+ "epoch": 0.20832498697968832,
265
+ "grad_norm": 3.5625,
266
+ "learning_rate": 1.5837205576029484e-05,
267
+ "loss": 2.158486633300781,
268
+ "mean_token_accuracy": 0.5205909128487111,
269
+ "num_tokens": 7803562.0,
270
+ "step": 1300
271
+ },
272
+ {
273
+ "entropy": 2.1305291467905043,
274
+ "epoch": 0.2163374864789071,
275
+ "grad_norm": 3.34375,
276
+ "learning_rate": 1.5676974843775036e-05,
277
+ "loss": 2.151043701171875,
278
+ "mean_token_accuracy": 0.5211617235839366,
279
+ "num_tokens": 8108037.0,
280
+ "step": 1350
281
+ },
282
+ {
283
+ "entropy": 2.160947166085243,
284
+ "epoch": 0.2243499859781259,
285
+ "grad_norm": 3.234375,
286
+ "learning_rate": 1.5516744111520592e-05,
287
+ "loss": 2.177792663574219,
288
+ "mean_token_accuracy": 0.5167004990577698,
289
+ "num_tokens": 8408674.0,
290
+ "step": 1400
291
+ },
292
+ {
293
+ "entropy": 2.120403967499733,
294
+ "epoch": 0.23236248547734467,
295
+ "grad_norm": 3.375,
296
+ "learning_rate": 1.5356513379266144e-05,
297
+ "loss": 2.1462562561035154,
298
+ "mean_token_accuracy": 0.5225985661149025,
299
+ "num_tokens": 8707650.0,
300
+ "step": 1450
301
+ },
302
+ {
303
+ "entropy": 2.138882914185524,
304
+ "epoch": 0.24037498497656343,
305
+ "grad_norm": 3.171875,
306
+ "learning_rate": 1.5196282647011698e-05,
307
+ "loss": 2.1499905395507812,
308
+ "mean_token_accuracy": 0.5204668046534061,
309
+ "num_tokens": 9006296.0,
310
+ "step": 1500
311
+ },
312
+ {
313
+ "entropy": 2.131927245259285,
314
+ "epoch": 0.2483874844757822,
315
+ "grad_norm": 3.546875,
316
+ "learning_rate": 1.5036051914757252e-05,
317
+ "loss": 2.157076416015625,
318
+ "mean_token_accuracy": 0.5220408822596073,
319
+ "num_tokens": 9307203.0,
320
+ "step": 1550
321
+ },
322
+ {
323
+ "entropy": 2.1308567851781843,
324
+ "epoch": 0.256399983975001,
325
+ "grad_norm": 3.546875,
326
+ "learning_rate": 1.4875821182502805e-05,
327
+ "loss": 2.146601104736328,
328
+ "mean_token_accuracy": 0.5219539681077003,
329
+ "num_tokens": 9610070.0,
330
+ "step": 1600
331
+ },
332
+ {
333
+ "entropy": 2.1097783839702604,
334
+ "epoch": 0.2644124834742198,
335
+ "grad_norm": 3.84375,
336
+ "learning_rate": 1.4715590450248359e-05,
337
+ "loss": 2.1268209838867187,
338
+ "mean_token_accuracy": 0.5236652019619942,
339
+ "num_tokens": 9909117.0,
340
+ "step": 1650
341
+ },
342
+ {
343
+ "entropy": 2.123499180674553,
344
+ "epoch": 0.2724249829734386,
345
+ "grad_norm": 3.46875,
346
+ "learning_rate": 1.4555359717993913e-05,
347
+ "loss": 2.1409934997558593,
348
+ "mean_token_accuracy": 0.5225465354323388,
349
+ "num_tokens": 10209461.0,
350
+ "step": 1700
351
+ },
352
+ {
353
+ "entropy": 2.13052960395813,
354
+ "epoch": 0.2804374824726573,
355
+ "grad_norm": 2.71875,
356
+ "learning_rate": 1.4395128985739467e-05,
357
+ "loss": 2.151373291015625,
358
+ "mean_token_accuracy": 0.5227928113937378,
359
+ "num_tokens": 10509282.0,
360
+ "step": 1750
361
+ },
362
+ {
363
+ "entropy": 2.1226114094257356,
364
+ "epoch": 0.2884499819718761,
365
+ "grad_norm": 3.65625,
366
+ "learning_rate": 1.4234898253485019e-05,
367
+ "loss": 2.144451141357422,
368
+ "mean_token_accuracy": 0.5233827362954616,
369
+ "num_tokens": 10811056.0,
370
+ "step": 1800
371
+ },
372
+ {
373
+ "entropy": 2.126143154501915,
374
+ "epoch": 0.2964624814710949,
375
+ "grad_norm": 3.359375,
376
+ "learning_rate": 1.4074667521230575e-05,
377
+ "loss": 2.1457598876953123,
378
+ "mean_token_accuracy": 0.5221967925131321,
379
+ "num_tokens": 11111153.0,
380
+ "step": 1850
381
+ },
382
+ {
383
+ "entropy": 2.1048326581716537,
384
+ "epoch": 0.30447498097031367,
385
+ "grad_norm": 3.59375,
386
+ "learning_rate": 1.3914436788976127e-05,
387
+ "loss": 2.1260116577148436,
388
+ "mean_token_accuracy": 0.5272719909250736,
389
+ "num_tokens": 11405606.0,
390
+ "step": 1900
391
+ },
392
+ {
393
+ "entropy": 2.1236617982387545,
394
+ "epoch": 0.31248748046953245,
395
+ "grad_norm": 3.0,
396
+ "learning_rate": 1.375420605672168e-05,
397
+ "loss": 2.151782684326172,
398
+ "mean_token_accuracy": 0.5227546173334122,
399
+ "num_tokens": 11703943.0,
400
+ "step": 1950
401
+ },
402
+ {
403
+ "entropy": 2.121563429236412,
404
+ "epoch": 0.32049997996875124,
405
+ "grad_norm": 3.34375,
406
+ "learning_rate": 1.3593975324467235e-05,
407
+ "loss": 2.1370144653320313,
408
+ "mean_token_accuracy": 0.5235123547911644,
409
+ "num_tokens": 12002522.0,
410
+ "step": 2000
411
+ },
412
+ {
413
+ "entropy": 2.1155461168289182,
414
+ "epoch": 0.32851247946797,
415
+ "grad_norm": 3.46875,
416
+ "learning_rate": 1.3433744592212787e-05,
417
+ "loss": 2.1364064025878906,
418
+ "mean_token_accuracy": 0.5237135806679726,
419
+ "num_tokens": 12303098.0,
420
+ "step": 2050
421
+ },
422
+ {
423
+ "entropy": 2.1386052322387696,
424
+ "epoch": 0.3365249789671888,
425
+ "grad_norm": 3.484375,
426
+ "learning_rate": 1.327351385995834e-05,
427
+ "loss": 2.149888458251953,
428
+ "mean_token_accuracy": 0.522669050693512,
429
+ "num_tokens": 12605534.0,
430
+ "step": 2100
431
+ },
432
+ {
433
+ "entropy": 2.102600795030594,
434
+ "epoch": 0.3445374784664076,
435
+ "grad_norm": 3.796875,
436
+ "learning_rate": 1.3113283127703895e-05,
437
+ "loss": 2.1236566162109374,
438
+ "mean_token_accuracy": 0.5279092155396938,
439
+ "num_tokens": 12901218.0,
440
+ "step": 2150
441
+ },
442
+ {
443
+ "entropy": 2.132645187973976,
444
+ "epoch": 0.35254997796562637,
445
+ "grad_norm": 3.53125,
446
+ "learning_rate": 1.2953052395449447e-05,
447
+ "loss": 2.1523503112792968,
448
+ "mean_token_accuracy": 0.5198129612207413,
449
+ "num_tokens": 13213018.0,
450
+ "step": 2200
451
+ },
452
+ {
453
+ "entropy": 2.1204321217536926,
454
+ "epoch": 0.36056247746484515,
455
+ "grad_norm": 3.25,
456
+ "learning_rate": 1.2792821663195001e-05,
457
+ "loss": 2.1325447082519533,
458
+ "mean_token_accuracy": 0.5243636940419674,
459
+ "num_tokens": 13514408.0,
460
+ "step": 2250
461
+ },
462
+ {
463
+ "entropy": 2.102410731315613,
464
+ "epoch": 0.36857497696406394,
465
+ "grad_norm": 3.1875,
466
+ "learning_rate": 1.2632590930940555e-05,
467
+ "loss": 2.123565368652344,
468
+ "mean_token_accuracy": 0.5257614709436893,
469
+ "num_tokens": 13818272.0,
470
+ "step": 2300
471
+ },
472
+ {
473
+ "entropy": 2.0876205080747603,
474
+ "epoch": 0.3765874764632827,
475
+ "grad_norm": 3.328125,
476
+ "learning_rate": 1.247236019868611e-05,
477
+ "loss": 2.116696472167969,
478
+ "mean_token_accuracy": 0.5275124031305313,
479
+ "num_tokens": 14110702.0,
480
+ "step": 2350
481
+ },
482
+ {
483
+ "entropy": 2.1078518223762512,
484
+ "epoch": 0.3845999759625015,
485
+ "grad_norm": 3.453125,
486
+ "learning_rate": 1.2312129466431662e-05,
487
+ "loss": 2.1291993713378905,
488
+ "mean_token_accuracy": 0.524967464953661,
489
+ "num_tokens": 14407015.0,
490
+ "step": 2400
491
+ },
492
+ {
493
+ "entropy": 2.0930898267030718,
494
+ "epoch": 0.3926124754617203,
495
+ "grad_norm": 3.5,
496
+ "learning_rate": 1.2151898734177216e-05,
497
+ "loss": 2.1094123840332033,
498
+ "mean_token_accuracy": 0.5290587748587131,
499
+ "num_tokens": 14696565.0,
500
+ "step": 2450
501
+ },
502
+ {
503
+ "entropy": 2.1109757220745085,
504
+ "epoch": 0.4006249749609391,
505
+ "grad_norm": 3.5,
506
+ "learning_rate": 1.199166800192277e-05,
507
+ "loss": 2.1246888732910154,
508
+ "mean_token_accuracy": 0.5258957357704639,
509
+ "num_tokens": 14994401.0,
510
+ "step": 2500
511
+ }
512
+ ],
513
+ "logging_steps": 50,
514
+ "max_steps": 6241,
515
+ "num_input_tokens_seen": 0,
516
+ "num_train_epochs": 1,
517
+ "save_steps": 500,
518
+ "stateful_callbacks": {
519
+ "TrainerControl": {
520
+ "args": {
521
+ "should_epoch_stop": false,
522
+ "should_evaluate": false,
523
+ "should_log": false,
524
+ "should_save": true,
525
+ "should_training_stop": false
526
+ },
527
+ "attributes": {}
528
+ }
529
+ },
530
+ "total_flos": 1.773461452668027e+17,
531
+ "train_batch_size": 4,
532
+ "trial_name": null,
533
+ "trial_params": null
534
+ }
checkpoint-2500/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:78622f63304ec0913ed0b4ea7a1b26c08a5621b3661a380d798c4ea426235671
3
+ size 5713
checkpoint-3000/chat_template.jinja ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0].role == 'system' %}
4
+ {{- messages[0].content + '\n\n' }}
5
+ {%- endif %}
6
+ {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
7
+ {%- for tool in tools %}
8
+ {{- "\n" }}
9
+ {{- tool | tojson }}
10
+ {%- endfor %}
11
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
12
+ {%- else %}
13
+ {%- if messages[0].role == 'system' %}
14
+ {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
15
+ {%- endif %}
16
+ {%- endif %}
17
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
18
+ {%- for message in messages[::-1] %}
19
+ {%- set index = (messages|length - 1) - loop.index0 %}
20
+ {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
21
+ {%- set ns.multi_step_tool = false %}
22
+ {%- set ns.last_query_index = index %}
23
+ {%- endif %}
24
+ {%- endfor %}
25
+ {%- for message in messages %}
26
+ {%- if message.content is string %}
27
+ {%- set content = message.content %}
28
+ {%- else %}
29
+ {%- set content = '' %}
30
+ {%- endif %}
31
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
32
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
33
+ {%- elif message.role == "assistant" %}
34
+ {%- set reasoning_content = '' %}
35
+ {%- if message.reasoning_content is string %}
36
+ {%- set reasoning_content = message.reasoning_content %}
37
+ {%- else %}
38
+ {%- if '</think>' in content %}
39
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
40
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
41
+ {%- endif %}
42
+ {%- endif %}
43
+ {%- if loop.index0 > ns.last_query_index %}
44
+ {%- if loop.last or (not loop.last and reasoning_content) %}
45
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
46
+ {%- else %}
47
+ {{- '<|im_start|>' + message.role + '\n' + content }}
48
+ {%- endif %}
49
+ {%- else %}
50
+ {{- '<|im_start|>' + message.role + '\n' + content }}
51
+ {%- endif %}
52
+ {%- if message.tool_calls %}
53
+ {%- for tool_call in message.tool_calls %}
54
+ {%- if (loop.first and content) or (not loop.first) %}
55
+ {{- '\n' }}
56
+ {%- endif %}
57
+ {%- if tool_call.function %}
58
+ {%- set tool_call = tool_call.function %}
59
+ {%- endif %}
60
+ {{- '<tool_call>\n{"name": "' }}
61
+ {{- tool_call.name }}
62
+ {{- '", "arguments": ' }}
63
+ {%- if tool_call.arguments is string %}
64
+ {{- tool_call.arguments }}
65
+ {%- else %}
66
+ {{- tool_call.arguments | tojson }}
67
+ {%- endif %}
68
+ {{- '}\n</tool_call>' }}
69
+ {%- endfor %}
70
+ {%- endif %}
71
+ {{- '<|im_end|>\n' }}
72
+ {%- elif message.role == "tool" %}
73
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
74
+ {{- '<|im_start|>user' }}
75
+ {%- endif %}
76
+ {{- '\n<tool_response>\n' }}
77
+ {{- content }}
78
+ {{- '\n</tool_response>' }}
79
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
80
+ {{- '<|im_end|>\n' }}
81
+ {%- endif %}
82
+ {%- endif %}
83
+ {%- endfor %}
84
+ {%- if add_generation_prompt %}
85
+ {{- '<|im_start|>assistant\n' }}
86
+ {%- if enable_thinking is defined and enable_thinking is false %}
87
+ {{- '<think>\n\n</think>\n\n' }}
88
+ {%- endif %}
89
+ {%- endif %}
checkpoint-3000/config.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3ForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": null,
8
+ "dtype": "bfloat16",
9
+ "eos_token_id": 151645,
10
+ "head_dim": 128,
11
+ "hidden_act": "silu",
12
+ "hidden_size": 2048,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 6144,
15
+ "layer_types": [
16
+ "full_attention",
17
+ "full_attention",
18
+ "full_attention",
19
+ "full_attention",
20
+ "full_attention",
21
+ "full_attention",
22
+ "full_attention",
23
+ "full_attention",
24
+ "full_attention",
25
+ "full_attention",
26
+ "full_attention",
27
+ "full_attention",
28
+ "full_attention",
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention"
44
+ ],
45
+ "max_position_embeddings": 40960,
46
+ "max_window_layers": 28,
47
+ "model_type": "qwen3",
48
+ "num_attention_heads": 16,
49
+ "num_hidden_layers": 28,
50
+ "num_key_value_heads": 8,
51
+ "pad_token_id": 151643,
52
+ "rms_norm_eps": 1e-06,
53
+ "rope_parameters": {
54
+ "rope_theta": 1000000,
55
+ "rope_type": "default"
56
+ },
57
+ "sliding_window": null,
58
+ "tie_word_embeddings": true,
59
+ "transformers_version": "5.7.0",
60
+ "use_cache": false,
61
+ "use_sliding_window": false,
62
+ "vocab_size": 151936
63
+ }
checkpoint-3000/generation_config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_sample": true,
3
+ "eos_token_id": [
4
+ 151645,
5
+ 151643
6
+ ],
7
+ "pad_token_id": 151643,
8
+ "temperature": 0.6,
9
+ "top_k": 20,
10
+ "top_p": 0.95,
11
+ "transformers_version": "5.7.0"
12
+ }