diff --git a/.gitattributes b/.gitattributes
index cea30e3c58f9c9e909f9928ed4d095f2988157f8..e1c9a61388384b329c8814a46f54d02b2015acd0 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -65,3 +65,10 @@ old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor
old_template_backup/precise_coder/qwen36-27b-GRPO_0.5F1/global_step_328/actor/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
old_template_backup/precise_coder/qwen35-4b-GRPO_U/global_step_200/actor/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
+precise_coder_sft/4b-SFT-27b-hard-2ep/global_step_22/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
+precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
+precise_coder_sft/4b-SFT-rej32/global_step_32/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
+precise_coder_sft/4b-SFT-dsv4pro-1ep/global_step_41/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
+precise_coder_sft/4b-SFT-dsv4pro-hard-2ep/global_step_21/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
+precise_coder_sft/4b-SFT-glm-hard-2ep/global_step_21/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
+precise_coder_sft/4b-SFT-glm-1ep/global_step_31/huggingface/tokenizer.json filter=lfs diff=lfs merge=lfs -text
diff --git a/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/best_ckpt_state.json b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/best_ckpt_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..6eb08094720ec594f3f2a69ee83c4d57c6f22dc6
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/best_ckpt_state.json
@@ -0,0 +1 @@
+{"best_val_score": 0.5869523406801406, "best_global_step": 328, "no_improve_rounds": 0}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/fsdp_config.json b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/fsdp_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..17ff55630675ec23d6a1d79ec7a480aa25faa5de
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/fsdp_config.json
@@ -0,0 +1,4 @@
+{
+ "FSDP_version": 2,
+ "world_size": 4
+}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/chat_template.jinja b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a585dec894e63da457d9440ec6aa7caa16d20860
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/config.json b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..0e8cd2d6f8b5c82e83b6479da2639aa4f7f24473
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 2560,
+ "initializer_range": 0.02,
+ "intermediate_size": 9216,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": true,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": true,
+ "transformers_version": "5.10.2",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 24,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1024,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4096,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 2560,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/generation_config.json b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8f50cfe9f041954a2175966a9ef6f88480f4769
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/generation_config.json
@@ -0,0 +1,9 @@
+{
+ "_from_model_config": true,
+ "eos_token_id": 248046,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "pad_token_id": 248044,
+ "transformers_version": "5.10.2",
+ "use_cache": true
+}
diff --git a/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/tokenizer_config.json b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d134cd298be1e3be25db393d93a1cefe80e3214
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/global_step_328/actor/huggingface/tokenizer_config.json
@@ -0,0 +1,33 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "backend": "tokenizers",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": true,
+ "local_files_only": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
diff --git a/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41a4a819ada66b2e8f7fea82f094eb1314f2e9ca
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-27b-rl_0.5F1/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+328
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/4b-SFT-dsv4pro-rl_0.5F1/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/4b-SFT-dsv4pro-rl_0.5F1/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41a4a819ada66b2e8f7fea82f094eb1314f2e9ca
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-dsv4pro-rl_0.5F1/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+328
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/fsdp_config.json b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/fsdp_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..17ff55630675ec23d6a1d79ec7a480aa25faa5de
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/fsdp_config.json
@@ -0,0 +1,4 @@
+{
+ "FSDP_version": 2,
+ "world_size": 4
+}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/chat_template.jinja b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a585dec894e63da457d9440ec6aa7caa16d20860
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/config.json b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..0e8cd2d6f8b5c82e83b6479da2639aa4f7f24473
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 2560,
+ "initializer_range": 0.02,
+ "intermediate_size": 9216,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": true,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": true,
+ "transformers_version": "5.10.2",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 24,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1024,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4096,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 2560,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/generation_config.json b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8f50cfe9f041954a2175966a9ef6f88480f4769
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/generation_config.json
@@ -0,0 +1,9 @@
+{
+ "_from_model_config": true,
+ "eos_token_id": 248046,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "pad_token_id": 248044,
+ "transformers_version": "5.10.2",
+ "use_cache": true
+}
diff --git a/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/tokenizer_config.json b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d134cd298be1e3be25db393d93a1cefe80e3214
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/global_step_300/actor/huggingface/tokenizer_config.json
@@ -0,0 +1,33 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "backend": "tokenizers",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": true,
+ "local_files_only": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
diff --git a/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41a4a819ada66b2e8f7fea82f094eb1314f2e9ca
--- /dev/null
+++ b/old_template_backup/precise_coder/4b-SFT-glm-rl_0.5F1/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+328
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/best_ckpt_state.json b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/best_ckpt_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..3121da8319c37e6e4ae570ea4a83f34ae19c4e28
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/best_ckpt_state.json
@@ -0,0 +1 @@
+{"best_val_score": 0.6613064573701701, "best_global_step": 250, "no_improve_rounds": 2}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/fsdp_config.json b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/fsdp_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..17ff55630675ec23d6a1d79ec7a480aa25faa5de
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/fsdp_config.json
@@ -0,0 +1,4 @@
+{
+ "FSDP_version": 2,
+ "world_size": 4
+}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/chat_template.jinja b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a585dec894e63da457d9440ec6aa7caa16d20860
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/config.json b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..9767c2df7a0eb06a928081cfe6610a684c2ba51d
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 4096,
+ "initializer_range": 0.02,
+ "intermediate_size": 12288,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": false,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": false,
+ "transformers_version": "5.10.2",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 27,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1152,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4304,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 4096,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/generation_config.json b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8f50cfe9f041954a2175966a9ef6f88480f4769
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/generation_config.json
@@ -0,0 +1,9 @@
+{
+ "_from_model_config": true,
+ "eos_token_id": 248046,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "pad_token_id": 248044,
+ "transformers_version": "5.10.2",
+ "use_cache": true
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/tokenizer_config.json b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d134cd298be1e3be25db393d93a1cefe80e3214
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/global_step_250/actor/huggingface/tokenizer_config.json
@@ -0,0 +1,33 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "backend": "tokenizers",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": true,
+ "local_files_only": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41a4a819ada66b2e8f7fea82f094eb1314f2e9ca
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-27b-rl_0.5F1/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+328
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/best_ckpt_state.json b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/best_ckpt_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..9ffee76bfdbef8d078aabe94e5c16a5e07467d78
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/best_ckpt_state.json
@@ -0,0 +1 @@
+{"best_val_score": 0.6441647629790495, "best_global_step": 250, "no_improve_rounds": 1}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/fsdp_config.json b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/fsdp_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..17ff55630675ec23d6a1d79ec7a480aa25faa5de
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/fsdp_config.json
@@ -0,0 +1,4 @@
+{
+ "FSDP_version": 2,
+ "world_size": 4
+}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/chat_template.jinja b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a585dec894e63da457d9440ec6aa7caa16d20860
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/config.json b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..9767c2df7a0eb06a928081cfe6610a684c2ba51d
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 4096,
+ "initializer_range": 0.02,
+ "intermediate_size": 12288,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": false,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": false,
+ "transformers_version": "5.10.2",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 27,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1152,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4304,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 4096,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/generation_config.json b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8f50cfe9f041954a2175966a9ef6f88480f4769
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/generation_config.json
@@ -0,0 +1,9 @@
+{
+ "_from_model_config": true,
+ "eos_token_id": 248046,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "pad_token_id": 248044,
+ "transformers_version": "5.10.2",
+ "use_cache": true
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/tokenizer_config.json b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d134cd298be1e3be25db393d93a1cefe80e3214
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/global_step_250/actor/huggingface/tokenizer_config.json
@@ -0,0 +1,33 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "backend": "tokenizers",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": true,
+ "local_files_only": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f1efb2054088985fad3cec9900b3f4a7561597b3
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-dsv4pro-rl_0.5F1/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+300
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/best_ckpt_state.json b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/best_ckpt_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..89b72e56ae1ecb8fc6e775f92bae3e93ef8a5ae3
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/best_ckpt_state.json
@@ -0,0 +1 @@
+{"best_val_score": 0.6366156602267299, "best_global_step": 150, "no_improve_rounds": 4}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/fsdp_config.json b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/fsdp_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..17ff55630675ec23d6a1d79ec7a480aa25faa5de
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/fsdp_config.json
@@ -0,0 +1,4 @@
+{
+ "FSDP_version": 2,
+ "world_size": 4
+}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/chat_template.jinja b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a585dec894e63da457d9440ec6aa7caa16d20860
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/config.json b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..9767c2df7a0eb06a928081cfe6610a684c2ba51d
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 4096,
+ "initializer_range": 0.02,
+ "intermediate_size": 12288,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": false,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": false,
+ "transformers_version": "5.10.2",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 27,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1152,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4304,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 4096,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/generation_config.json b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8f50cfe9f041954a2175966a9ef6f88480f4769
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/generation_config.json
@@ -0,0 +1,9 @@
+{
+ "_from_model_config": true,
+ "eos_token_id": 248046,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "pad_token_id": 248044,
+ "transformers_version": "5.10.2",
+ "use_cache": true
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/tokenizer_config.json b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d134cd298be1e3be25db393d93a1cefe80e3214
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/global_step_150/actor/huggingface/tokenizer_config.json
@@ -0,0 +1,33 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "backend": "tokenizers",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": true,
+ "local_files_only": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
diff --git a/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41a4a819ada66b2e8f7fea82f094eb1314f2e9ca
--- /dev/null
+++ b/old_template_backup/precise_coder/9b-SFT-glm-rl_0.5F1/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+328
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/chat_template.jinja b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a585dec894e63da457d9440ec6aa7caa16d20860
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/config.json b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..0e8cd2d6f8b5c82e83b6479da2639aa4f7f24473
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 2560,
+ "initializer_range": 0.02,
+ "intermediate_size": 9216,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": true,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": true,
+ "transformers_version": "5.10.2",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 24,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1024,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4096,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 2560,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/generation_config.json b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8f50cfe9f041954a2175966a9ef6f88480f4769
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/generation_config.json
@@ -0,0 +1,9 @@
+{
+ "_from_model_config": true,
+ "eos_token_id": 248046,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "pad_token_id": 248044,
+ "transformers_version": "5.10.2",
+ "use_cache": true
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/tokenizer_config.json b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d134cd298be1e3be25db393d93a1cefe80e3214
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/global_step_300/actor/huggingface/tokenizer_config.json
@@ -0,0 +1,33 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "backend": "tokenizers",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": true,
+ "local_files_only": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e8930b6df94cf1501f2663918ee3ceb4d40c709a
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-GRPO_0.5F1_min/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+364
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-4b-GRPO_U/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/qwen35-4b-GRPO_U/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a32cf7839cd770c9bf35526cff2a66a770e0951
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-GRPO_U/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+250
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/best_ckpt_state.json b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/best_ckpt_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..b217d9e716276815ac75109394e11207946e2c68
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/best_ckpt_state.json
@@ -0,0 +1 @@
+{"best_val_score": 0.5682609959180753, "best_global_step": 150, "no_improve_rounds": 4}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/fsdp_config.json b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/fsdp_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..17ff55630675ec23d6a1d79ec7a480aa25faa5de
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/fsdp_config.json
@@ -0,0 +1,4 @@
+{
+ "FSDP_version": 2,
+ "world_size": 4
+}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/chat_template.jinja b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a585dec894e63da457d9440ec6aa7caa16d20860
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/config.json b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..0e8cd2d6f8b5c82e83b6479da2639aa4f7f24473
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 2560,
+ "initializer_range": 0.02,
+ "intermediate_size": 9216,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": true,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": true,
+ "transformers_version": "5.10.2",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 24,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1024,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4096,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 2560,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/generation_config.json b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8f50cfe9f041954a2175966a9ef6f88480f4769
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/generation_config.json
@@ -0,0 +1,9 @@
+{
+ "_from_model_config": true,
+ "eos_token_id": 248046,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "pad_token_id": 248044,
+ "transformers_version": "5.10.2",
+ "use_cache": true
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/tokenizer_config.json b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d134cd298be1e3be25db393d93a1cefe80e3214
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/global_step_150/actor/huggingface/tokenizer_config.json
@@ -0,0 +1,33 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "backend": "tokenizers",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": true,
+ "local_files_only": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fa8f08cb6ff8a30dd34a3b442009bdfc798a7316
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-eagrpo_a0.8_b0.05/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+150
diff --git a/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/chat_template.jinja b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a585dec894e63da457d9440ec6aa7caa16d20860
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/config.json b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a50c6c903b4ceb94eb74663bc79d91145c64000b
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 2560,
+ "initializer_range": 0.02,
+ "intermediate_size": 9216,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 1,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": true,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": true,
+ "transformers_version": "5.7.0",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 24,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1024,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4096,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 2560,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/generation_config.json b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..cf71f578cf0d510a8e3062e26a6c05ed1d156c46
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/generation_config.json
@@ -0,0 +1,9 @@
+{
+ "_from_model_config": true,
+ "eos_token_id": 248046,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "pad_token_id": 248044,
+ "transformers_version": "5.7.0",
+ "use_cache": true
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/tokenizer_config.json b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d134cd298be1e3be25db393d93a1cefe80e3214
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/global_step_100/actor/huggingface/tokenizer_config.json
@@ -0,0 +1,33 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "backend": "tokenizers",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": true,
+ "local_files_only": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
diff --git a/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4701cc793111aafe3a1e6f48d82e5b8c8a38943e
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-4b-sftrl-rl_0.5f1/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+150
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/fsdp_config.json b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/fsdp_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..17ff55630675ec23d6a1d79ec7a480aa25faa5de
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/fsdp_config.json
@@ -0,0 +1,4 @@
+{
+ "FSDP_version": 2,
+ "world_size": 4
+}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/chat_template.jinja b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/chat_template.jinja
new file mode 100644
index 0000000000000000000000000000000000000000..a585dec894e63da457d9440ec6aa7caa16d20860
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/chat_template.jinja
@@ -0,0 +1,154 @@
+{%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/config.json b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..9767c2df7a0eb06a928081cfe6610a684c2ba51d
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 4096,
+ "initializer_range": 0.02,
+ "intermediate_size": 12288,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": false,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": false,
+ "transformers_version": "5.10.2",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 27,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1152,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4304,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 4096,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/generation_config.json b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8f50cfe9f041954a2175966a9ef6f88480f4769
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/generation_config.json
@@ -0,0 +1,9 @@
+{
+ "_from_model_config": true,
+ "eos_token_id": 248046,
+ "output_attentions": false,
+ "output_hidden_states": false,
+ "pad_token_id": 248044,
+ "transformers_version": "5.10.2",
+ "use_cache": true
+}
diff --git a/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/tokenizer_config.json b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d134cd298be1e3be25db393d93a1cefe80e3214
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/global_step_300/actor/huggingface/tokenizer_config.json
@@ -0,0 +1,33 @@
+{
+ "add_prefix_space": false,
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "backend": "tokenizers",
+ "bos_token": null,
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "<|im_end|>",
+ "errors": "replace",
+ "image_token": "<|image_pad|>",
+ "is_local": true,
+ "local_files_only": false,
+ "model_max_length": 262144,
+ "model_specific_special_tokens": {
+ "audio_bos_token": "<|audio_start|>",
+ "audio_eos_token": "<|audio_end|>",
+ "audio_token": "<|audio_pad|>",
+ "image_token": "<|image_pad|>",
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+ },
+ "pad_token": "<|endoftext|>",
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
+ "processor_class": "Qwen3VLProcessor",
+ "split_special_tokens": false,
+ "tokenizer_class": "Qwen2Tokenizer",
+ "unk_token": null,
+ "video_token": "<|video_pad|>",
+ "vision_bos_token": "<|vision_start|>",
+ "vision_eos_token": "<|vision_end|>"
+}
diff --git a/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e8930b6df94cf1501f2663918ee3ceb4d40c709a
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-GRPO_0.5F1_min/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+364
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-9b-GRPO_U/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/qwen35-9b-GRPO_U/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a32cf7839cd770c9bf35526cff2a66a770e0951
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-GRPO_U/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+250
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/best_ckpt_state.json b/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/best_ckpt_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..7e6687016573cf3bf6f0e494968932249af41d36
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/best_ckpt_state.json
@@ -0,0 +1 @@
+{"best_val_score": 0.5803733236679957, "best_global_step": 200, "no_improve_rounds": 3}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/global_step_200/actor/huggingface/config.json b/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/global_step_200/actor/huggingface/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..9767c2df7a0eb06a928081cfe6610a684c2ba51d
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/global_step_200/actor/huggingface/config.json
@@ -0,0 +1,112 @@
+{
+ "architectures": [
+ "Qwen3_5ForConditionalGeneration"
+ ],
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248046,
+ "image_token_id": 248056,
+ "model_type": "qwen3_5",
+ "pad_token_id": 248044,
+ "text_config": {
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "attn_output_gate": true,
+ "bos_token_id": null,
+ "dtype": "bfloat16",
+ "eos_token_id": 248044,
+ "full_attention_interval": 4,
+ "head_dim": 256,
+ "hidden_act": "silu",
+ "hidden_size": 4096,
+ "initializer_range": 0.02,
+ "intermediate_size": 12288,
+ "layer_types": [
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention",
+ "linear_attention",
+ "linear_attention",
+ "linear_attention",
+ "full_attention"
+ ],
+ "linear_conv_kernel_dim": 4,
+ "linear_key_head_dim": 128,
+ "linear_num_key_heads": 16,
+ "linear_num_value_heads": 32,
+ "linear_value_head_dim": 128,
+ "mamba_ssm_dtype": "float32",
+ "max_position_embeddings": 262144,
+ "mlp_only_layers": [],
+ "model_type": "qwen3_5_text",
+ "mtp_num_hidden_layers": 0,
+ "mtp_use_dedicated_embeddings": false,
+ "num_attention_heads": 16,
+ "num_hidden_layers": 32,
+ "num_key_value_heads": 4,
+ "pad_token_id": null,
+ "partial_rotary_factor": 0.25,
+ "rms_norm_eps": 1e-06,
+ "rope_parameters": {
+ "mrope_interleaved": true,
+ "mrope_section": [
+ 11,
+ 11,
+ 10
+ ],
+ "partial_rotary_factor": 0.25,
+ "rope_theta": 10000000,
+ "rope_type": "default"
+ },
+ "tie_word_embeddings": false,
+ "use_cache": true,
+ "vocab_size": 248320
+ },
+ "tie_word_embeddings": false,
+ "transformers_version": "5.10.2",
+ "video_token_id": 248057,
+ "vision_config": {
+ "deepstack_visual_indexes": [],
+ "depth": 27,
+ "dtype": "bfloat16",
+ "hidden_act": "gelu_pytorch_tanh",
+ "hidden_size": 1152,
+ "in_channels": 3,
+ "initializer_range": 0.02,
+ "intermediate_size": 4304,
+ "model_type": "qwen3_5_vision",
+ "num_heads": 16,
+ "num_position_embeddings": 2304,
+ "out_hidden_size": 4096,
+ "patch_size": 16,
+ "spatial_merge_size": 2,
+ "temporal_patch_size": 2
+ },
+ "vision_end_token_id": 248054,
+ "vision_start_token_id": 248053
+}
diff --git a/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/global_step_200/actor/huggingface/processor_config.json b/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/global_step_200/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/global_step_200/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41a4a819ada66b2e8f7fea82f094eb1314f2e9ca
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-eagrpo_a0.8_b0.05/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+328
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-9b-rl-strreplace/best_ckpt_state.json b/old_template_backup/precise_coder/qwen35-9b-rl-strreplace/best_ckpt_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..3a54f65cfc68ccf1b71be43efabb7694e44ac36a
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-rl-strreplace/best_ckpt_state.json
@@ -0,0 +1 @@
+{"best_val_score": 0.6551225683059307, "best_global_step": 350, "no_improve_rounds": 0}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen35-9b-rl-strreplace/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/qwen35-9b-rl-strreplace/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0dbf139f8d1a85546880d56c8ff838638c454501
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen35-9b-rl-strreplace/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+350
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen36-27b-GRPO_0.5F1/best_ckpt_state.json b/old_template_backup/precise_coder/qwen36-27b-GRPO_0.5F1/best_ckpt_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..75d45b4db8cc8da53bdf565f885afa66b630a357
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen36-27b-GRPO_0.5F1/best_ckpt_state.json
@@ -0,0 +1 @@
+{"best_val_score": 0.8006791570040722, "best_global_step": 328, "no_improve_rounds": 0}
\ No newline at end of file
diff --git a/old_template_backup/precise_coder/qwen36-27b-GRPO_0.5F1/latest_checkpointed_iteration.txt b/old_template_backup/precise_coder/qwen36-27b-GRPO_0.5F1/latest_checkpointed_iteration.txt
new file mode 100644
index 0000000000000000000000000000000000000000..41a4a819ada66b2e8f7fea82f094eb1314f2e9ca
--- /dev/null
+++ b/old_template_backup/precise_coder/qwen36-27b-GRPO_0.5F1/latest_checkpointed_iteration.txt
@@ -0,0 +1 @@
+328
\ No newline at end of file
diff --git a/precise_coder/4b_rl_bcbfix_eagrpo/global_step_100/data.pt b/precise_coder/4b_rl_bcbfix_eagrpo/global_step_100/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..bd9214536c5699138b9ecc037f0ea7a49ab23f56
--- /dev/null
+++ b/precise_coder/4b_rl_bcbfix_eagrpo/global_step_100/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9ddc8573db7b91f0df155e47a4a89f8842109374bacf10a4a01dcd23a3e919f5
+size 7316
diff --git a/precise_coder/4b_rl_bcbfix_k0.05_f1ur/global_step_325/data.pt b/precise_coder/4b_rl_bcbfix_k0.05_f1ur/global_step_325/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..5ce6f265692749db1c0c882782c1a1faed10f0fa
--- /dev/null
+++ b/precise_coder/4b_rl_bcbfix_k0.05_f1ur/global_step_325/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:515d8b6bd43059ddbf11c623a8a2bc138ceccde1b8132a8585c80184a86f1bda
+size 7316
diff --git a/precise_coder/4b_rl_bcbfix_ugr/global_step_328/data.pt b/precise_coder/4b_rl_bcbfix_ugr/global_step_328/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..ade2e1340d6420c3745861a06e58f9c51f3f4bad
--- /dev/null
+++ b/precise_coder/4b_rl_bcbfix_ugr/global_step_328/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4ec69718d494ffac3dcc14534a773bbe365d4e7d9b345ed0b51ecefa73b28d6e
+size 7316
diff --git a/precise_coder/4b_rl_k0.0/global_step_325/actor/extra_state_world_size_4_rank_0.pt b/precise_coder/4b_rl_k0.0/global_step_325/actor/extra_state_world_size_4_rank_0.pt
new file mode 100644
index 0000000000000000000000000000000000000000..cdcd708b54268fae8ed7e7ed80f2751df82c2be3
--- /dev/null
+++ b/precise_coder/4b_rl_k0.0/global_step_325/actor/extra_state_world_size_4_rank_0.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e5d571331c0af9671ead57885adfe038dab98e81f26b4fa727e4f40e43869063
+size 14973
diff --git a/precise_coder/4b_rl_k0.0/global_step_325/actor/extra_state_world_size_4_rank_2.pt b/precise_coder/4b_rl_k0.0/global_step_325/actor/extra_state_world_size_4_rank_2.pt
new file mode 100644
index 0000000000000000000000000000000000000000..948bb6940f392759b6a38ecc33fb01c3141f6644
--- /dev/null
+++ b/precise_coder/4b_rl_k0.0/global_step_325/actor/extra_state_world_size_4_rank_2.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a66485746c14ee69156c4cb302242d00fb605cbe80a01b658085634ba373e12d
+size 14909
diff --git a/precise_coder/4b_rl_k0.0/global_step_325/data.pt b/precise_coder/4b_rl_k0.0/global_step_325/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..8fe6730adb60fe2fd1055fa37fb46035560c2754
--- /dev/null
+++ b/precise_coder/4b_rl_k0.0/global_step_325/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8c7a0e28d8d2debd2682c7bc8f71773b09088a3fa7d99b68f7e1d65e792c1481
+size 7316
diff --git a/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_0.pt b/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_0.pt
new file mode 100644
index 0000000000000000000000000000000000000000..fcce353c7d117339b4dd3ea0de59a35acfb4b178
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_0.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fd6750a2669f8eeee4ed152012145367402f33d976c7973600d8a9b636db1223
+size 14973
diff --git a/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_1.pt b/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..a852cd601489c5d29923218ab59fe6e0cb4a3e0c
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:70b24313780fd13268b33ed2866939d74eba30208e20ccc5648b158276486b0e
+size 14973
diff --git a/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_2.pt b/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_2.pt
new file mode 100644
index 0000000000000000000000000000000000000000..5826f60133f943bf1f2d20532ff91ee91b21af8b
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_2.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:94437aa403944986338c7cec6b34b0f3ba00a06f697027059021a6903f75450c
+size 14973
diff --git a/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_3.pt b/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_3.pt
new file mode 100644
index 0000000000000000000000000000000000000000..c4c99c7196ccb1b3fd519eea9ba54c7cfc5cdf36
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33/global_step_328/actor/extra_state_world_size_4_rank_3.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f1fdd1017a019b5d3b9bf891cb8f66a1e8c64831245166ef5b682a5575820860
+size 14909
diff --git a/precise_coder/4b_rl_k0.33/global_step_328/data.pt b/precise_coder/4b_rl_k0.33/global_step_328/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..d86615ee7c9e43b7c521bf25f4d128123944cc07
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33/global_step_328/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3851bd9baa4d93ce02fd4563e6180030bb342332cb0fa0c04612d2a8a68ad70d
+size 7316
diff --git a/precise_coder/4b_rl_k0.33_f1ur/global_step_328/actor/extra_state_world_size_4_rank_0.pt b/precise_coder/4b_rl_k0.33_f1ur/global_step_328/actor/extra_state_world_size_4_rank_0.pt
new file mode 100644
index 0000000000000000000000000000000000000000..a4a562222dc9c2e29c269a6be430e86194c116df
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_f1ur/global_step_328/actor/extra_state_world_size_4_rank_0.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d87c1a4e1e5ad7a97bb6b7aa9f9adf09ce5f14efe827fbab0775752585ba829b
+size 14909
diff --git a/precise_coder/4b_rl_k0.33_f1ur/global_step_328/actor/extra_state_world_size_4_rank_2.pt b/precise_coder/4b_rl_k0.33_f1ur/global_step_328/actor/extra_state_world_size_4_rank_2.pt
new file mode 100644
index 0000000000000000000000000000000000000000..efd54185aaad85874a9be1ae9292fdc6990f0038
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_f1ur/global_step_328/actor/extra_state_world_size_4_rank_2.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e1a05527bf279ddab95d99289f13fc5c13d989ce84cbf299cb15927d8e77fac4
+size 14909
diff --git a/precise_coder/4b_rl_k0.33_f1ur/global_step_328/actor/extra_state_world_size_4_rank_3.pt b/precise_coder/4b_rl_k0.33_f1ur/global_step_328/actor/extra_state_world_size_4_rank_3.pt
new file mode 100644
index 0000000000000000000000000000000000000000..3e9c78c5bdc00c1cd803d231ec14be9d8b3847e1
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_f1ur/global_step_328/actor/extra_state_world_size_4_rank_3.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:379973ee7c5595cf5ce9ccf5f4feb499673c6a4adbbd5a75e71b0b37106770ad
+size 14909
diff --git a/precise_coder/4b_rl_k0.33_f1ur/global_step_328/data.pt b/precise_coder/4b_rl_k0.33_f1ur/global_step_328/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..3b5811cae37733f3033d859944c56309936e9739
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_f1ur/global_step_328/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d768123a3fae8309db0a7a3d8f35a585bf7f74512c4b30b6523956d992057306
+size 7316
diff --git a/precise_coder/4b_rl_k0.33_f1ur_think8k/global_step_328/data.pt b/precise_coder/4b_rl_k0.33_f1ur_think8k/global_step_328/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..2af6a126c13e9cda256cd022a42b07de25a5b021
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_f1ur_think8k/global_step_328/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:329412932ab142035735f17a6e23a48c109e721827e3188e88cfd04cbc61a49a
+size 7316
diff --git a/precise_coder/4b_rl_k0.33_gated_v2/global_step_275/actor/huggingface/processor_config.json b/precise_coder/4b_rl_k0.33_gated_v2/global_step_275/actor/huggingface/processor_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..33818c7f9e991ad735fd240209f4fa73e6c28c50
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_gated_v2/global_step_275/actor/huggingface/processor_config.json
@@ -0,0 +1,60 @@
+{
+ "image_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_processor_type": "Qwen2VLImageProcessor",
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "merge_size": 2,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "size": {
+ "longest_edge": 16777216,
+ "shortest_edge": 65536
+ },
+ "temporal_patch_size": 2
+ },
+ "processor_class": "Qwen3VLProcessor",
+ "video_processor": {
+ "do_convert_rgb": true,
+ "do_normalize": true,
+ "do_rescale": true,
+ "do_resize": true,
+ "do_sample_frames": true,
+ "fps": 2,
+ "image_mean": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "image_std": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "max_frames": 768,
+ "merge_size": 2,
+ "min_frames": 4,
+ "patch_size": 16,
+ "resample": 3,
+ "rescale_factor": 0.00392156862745098,
+ "return_metadata": false,
+ "size": {
+ "longest_edge": 25165824,
+ "shortest_edge": 4096
+ },
+ "temporal_patch_size": 2,
+ "video_processor_type": "Qwen3VLVideoProcessor"
+ }
+}
diff --git a/precise_coder/4b_rl_k0.33_gdpo/global_step_328/actor/extra_state_world_size_4_rank_1.pt b/precise_coder/4b_rl_k0.33_gdpo/global_step_328/actor/extra_state_world_size_4_rank_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..88144c5f13f21363800c49302c1e2b9f92a1d5cc
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_gdpo/global_step_328/actor/extra_state_world_size_4_rank_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3d01147bfbb0ef8ee55eb4d1d22418d7745f47528abd8eed3dfddcbb64505bd9
+size 14909
diff --git a/precise_coder/4b_rl_k0.33_gdpo/global_step_328/actor/extra_state_world_size_4_rank_2.pt b/precise_coder/4b_rl_k0.33_gdpo/global_step_328/actor/extra_state_world_size_4_rank_2.pt
new file mode 100644
index 0000000000000000000000000000000000000000..48fcd1fa7f2cbacfc826bf10bbb9852c8931a1aa
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_gdpo/global_step_328/actor/extra_state_world_size_4_rank_2.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:673d43b2df2948de88b8c9f4189c676e5a9fc33ea2c875c1513361c3e385c063
+size 14909
diff --git a/precise_coder/4b_rl_k0.33_gdpo/global_step_328/data.pt b/precise_coder/4b_rl_k0.33_gdpo/global_step_328/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..3bcac67af4b55c3c327191ea1fb31a8a5e442c84
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_gdpo/global_step_328/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:836317daa63470e72e54ea823b75f4c95b65ff3fa9a5455a6662c205994d05ec
+size 7316
diff --git a/precise_coder/4b_rl_k0.33_rec/global_step_250/actor/extra_state_world_size_4_rank_1.pt b/precise_coder/4b_rl_k0.33_rec/global_step_250/actor/extra_state_world_size_4_rank_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..b6460735d7cb9fc029fdef1767baa88bcdc14edc
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_rec/global_step_250/actor/extra_state_world_size_4_rank_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:479647c7633eaa7f10852498848d2b419f0446d95b84ca3cff821e5c8215cf3c
+size 14973
diff --git a/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_0.pt b/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_0.pt
new file mode 100644
index 0000000000000000000000000000000000000000..5c1146f370f5d3eb757d8d4f504f4ecf005c63f5
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_0.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:05fff5fd46a0e98ce13ee4cb728faa222035ce2b7d8e1383c8b668a5ff551865
+size 14973
diff --git a/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_1.pt b/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..e03904c6000397401ef63d2951a0fee91efe219c
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5ed1e6190ef53c08c61fa36e073a5da7e7be681ad9590801d285397d80ecf5a4
+size 14973
diff --git a/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_2.pt b/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_2.pt
new file mode 100644
index 0000000000000000000000000000000000000000..60031ed25856b440d9015549550c9a55efa0fd04
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_2.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:20d6219f73f796761a2269fa9a9972252a7936c372041f4e44ef5e22376f083c
+size 14973
diff --git a/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_3.pt b/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_3.pt
new file mode 100644
index 0000000000000000000000000000000000000000..0faca6b1cba77006ec500efcd95066da5d6c90ff
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_run2/global_step_328/actor/extra_state_world_size_4_rank_3.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:67d295cd1ff0957592ea4d74256564317d844dde14c0566724cd2dcddb4a089b
+size 14973
diff --git a/precise_coder/4b_rl_k0.33_run2/global_step_328/data.pt b/precise_coder/4b_rl_k0.33_run2/global_step_328/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..85b456554d878c7c4b4c0c638116543640961bc9
--- /dev/null
+++ b/precise_coder/4b_rl_k0.33_run2/global_step_328/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:441c28e1831e3131077594ea63ee723f1b6ecc80e8f053b6d3a120f4a6827c36
+size 7316
diff --git a/precise_coder/4b_rl_k0.67/global_step_325/actor/fsdp_config.json b/precise_coder/4b_rl_k0.67/global_step_325/actor/fsdp_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..17ff55630675ec23d6a1d79ec7a480aa25faa5de
--- /dev/null
+++ b/precise_coder/4b_rl_k0.67/global_step_325/actor/fsdp_config.json
@@ -0,0 +1,4 @@
+{
+ "FSDP_version": 2,
+ "world_size": 4
+}
\ No newline at end of file
diff --git a/precise_coder/4b_rl_k0.83/global_step_275/actor/extra_state_world_size_4_rank_3.pt b/precise_coder/4b_rl_k0.83/global_step_275/actor/extra_state_world_size_4_rank_3.pt
new file mode 100644
index 0000000000000000000000000000000000000000..56bc7853480525275acc2082d101df95fa62e17a
--- /dev/null
+++ b/precise_coder/4b_rl_k0.83/global_step_275/actor/extra_state_world_size_4_rank_3.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6f1719327745681a9511ccb96b8b22ad2fff21d72b113b985c439058ad748761
+size 15037
diff --git a/precise_coder/4b_rl_k1.0_f1ur/global_step_328/data.pt b/precise_coder/4b_rl_k1.0_f1ur/global_step_328/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..1113611c41a9601f6bd4395d91317b263ad32980
--- /dev/null
+++ b/precise_coder/4b_rl_k1.0_f1ur/global_step_328/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:86081b183f238cea33f9d87c51d2863dbcee7102870af03856afacd31c0f166c
+size 7316
diff --git a/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_0.pt b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_0.pt
new file mode 100644
index 0000000000000000000000000000000000000000..bce986825725742978b1df25c6701046ee0ce43a
--- /dev/null
+++ b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_0.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6fd59f850bdffc774a55af8980d6af545d47cf46d42ffc4db823887d08c6e37b
+size 14973
diff --git a/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_1.pt b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..c051a243a87769436d17cf673d679554240ba3e3
--- /dev/null
+++ b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06527eca72f06fc8a5ada369424675f17fea42a342475c7895214989555c2290
+size 15037
diff --git a/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_2.pt b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_2.pt
new file mode 100644
index 0000000000000000000000000000000000000000..fdac9c9c99e1bdded0e9ab94b9afffcb645aaa43
--- /dev/null
+++ b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_2.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fd251590c946f912085c95dcb85c8913378f50bf577c0fb6979f3ab14fd0a8b4
+size 14973
diff --git a/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_3.pt b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_3.pt
new file mode 100644
index 0000000000000000000000000000000000000000..acd77d9d134a682b806657e4b300450d87cc137f
--- /dev/null
+++ b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/actor/extra_state_world_size_4_rank_3.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:96669ab1eb30fe1f1ab62f74c543756848f9aa94b1486d841e148164df3350e8
+size 14909
diff --git a/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/data.pt b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/data.pt
new file mode 100644
index 0000000000000000000000000000000000000000..d154c2b19c66a136e0b1a726b09543dcbb399c9f
--- /dev/null
+++ b/precise_coder/qwen35-4b-GRPO_unit_bs96_bypass/global_step_108/data.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:38f1982c6fbfb4b37ef643d943d296615c88e54f550b750fe0a56235f69e8bb1
+size 7316
diff --git a/precise_coder_sft/4b-SFT-27b-1ep/global_step_45/data_0.pt b/precise_coder_sft/4b-SFT-27b-1ep/global_step_45/data_0.pt
new file mode 100644
index 0000000000000000000000000000000000000000..d1356a2ae4d1bab5ef96e0ee030a3ed84f005446
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-27b-1ep/global_step_45/data_0.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ad515a2805e2adab011801f4577ed3e9292a514ae23b458f25e39a705718805c
+size 1959
diff --git a/precise_coder_sft/4b-SFT-27b-hard-2ep/global_step_22/data_1.pt b/precise_coder_sft/4b-SFT-27b-hard-2ep/global_step_22/data_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..7a455461ad050df4e8bd97f637f13ce4d656b3a9
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-27b-hard-2ep/global_step_22/data_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:17d46d2fcfd00fd514d41c44d9e40af9835d20b49194a0851ca85c2bccceac26
+size 1959
diff --git a/precise_coder_sft/4b-SFT-27b-hard-2ep/global_step_22/huggingface/tokenizer.json b/precise_coder_sft/4b-SFT-27b-hard-2ep/global_step_22/huggingface/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..5520bfd2dd834ce386c1312c410fa71af56db5ad
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-27b-hard-2ep/global_step_22/huggingface/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
+size 19989325
diff --git a/precise_coder_sft/4b-SFT-dsv4pro-1ep/global_step_41/huggingface/tokenizer.json b/precise_coder_sft/4b-SFT-dsv4pro-1ep/global_step_41/huggingface/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..5520bfd2dd834ce386c1312c410fa71af56db5ad
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-dsv4pro-1ep/global_step_41/huggingface/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
+size 19989325
diff --git a/precise_coder_sft/4b-SFT-dsv4pro-hard-2ep/global_step_21/huggingface/tokenizer.json b/precise_coder_sft/4b-SFT-dsv4pro-hard-2ep/global_step_21/huggingface/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..5520bfd2dd834ce386c1312c410fa71af56db5ad
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-dsv4pro-hard-2ep/global_step_21/huggingface/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
+size 19989325
diff --git a/precise_coder_sft/4b-SFT-glm-1ep/global_step_31/data_1.pt b/precise_coder_sft/4b-SFT-glm-1ep/global_step_31/data_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..717f909d37991d48dd7b5c59078d135666d5b99a
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-glm-1ep/global_step_31/data_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d647e6c1be88f0c6b340727fc31eef7e1e80107f34418cd4f7c5397827ff82b4
+size 1959
diff --git a/precise_coder_sft/4b-SFT-glm-1ep/global_step_31/huggingface/tokenizer.json b/precise_coder_sft/4b-SFT-glm-1ep/global_step_31/huggingface/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..5520bfd2dd834ce386c1312c410fa71af56db5ad
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-glm-1ep/global_step_31/huggingface/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
+size 19989325
diff --git a/precise_coder_sft/4b-SFT-glm-hard-2ep/global_step_21/data_1.pt b/precise_coder_sft/4b-SFT-glm-hard-2ep/global_step_21/data_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..248d12f32533b672c6972b1d2635255fcfbac1f2
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-glm-hard-2ep/global_step_21/data_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:096936bc1ed7074e3cee4e238930c7ef6ffc5c6c976432a5e859610c1e1c627a
+size 1959
diff --git a/precise_coder_sft/4b-SFT-glm-hard-2ep/global_step_21/huggingface/tokenizer.json b/precise_coder_sft/4b-SFT-glm-hard-2ep/global_step_21/huggingface/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..5520bfd2dd834ce386c1312c410fa71af56db5ad
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-glm-hard-2ep/global_step_21/huggingface/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
+size 19989325
diff --git a/precise_coder_sft/4b-SFT-rej32-think7k/global_step_29/data_1.pt b/precise_coder_sft/4b-SFT-rej32-think7k/global_step_29/data_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..7e42973a9ea7695f20c3c5ff9647dfad44a5a3a3
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-rej32-think7k/global_step_29/data_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:68caf357a86eedead8850bec98d3d9efcdcfed443d9ef8c39a139e001b827cc9
+size 1959
diff --git a/precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/data_0.pt b/precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/data_0.pt
new file mode 100644
index 0000000000000000000000000000000000000000..bfef1a7d8e743c081e65a6773540352c15498a13
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/data_0.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:acfd56970badd199fafc2c9731e5535c3341ab013a90b048466cfcb62e679bfd
+size 1959
diff --git a/precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/data_1.pt b/precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/data_1.pt
new file mode 100644
index 0000000000000000000000000000000000000000..5fd227a975991620152b0361ff1c41982c750733
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/data_1.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e285f4f5f8dcc8e3ed9b6088f2e0a51894a461a19d3030e33ed5471902ade558
+size 1959
diff --git a/precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/huggingface/tokenizer.json b/precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/huggingface/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..5520bfd2dd834ce386c1312c410fa71af56db5ad
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-rej32-trackC/global_step_18/huggingface/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
+size 19989325
diff --git a/precise_coder_sft/4b-SFT-rej32/global_step_32/huggingface/tokenizer.json b/precise_coder_sft/4b-SFT-rej32/global_step_32/huggingface/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..5520bfd2dd834ce386c1312c410fa71af56db5ad
--- /dev/null
+++ b/precise_coder_sft/4b-SFT-rej32/global_step_32/huggingface/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
+size 19989325