Laramie2 commited on
Commit
3268bee
·
verified ·
1 Parent(s): d161590

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/args.json +403 -0
  2. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/README.md +207 -0
  3. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/adapter_config.json +40 -0
  4. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/adapter_model.safetensors +3 -0
  5. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/additional_config.json +1 -0
  6. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/args.json +403 -0
  7. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt +3 -0
  8. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt +3 -0
  9. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt +3 -0
  10. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt +3 -0
  11. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/zero_pp_rank_0_mp_rank_00_model_states.pt +3 -0
  12. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/zero_pp_rank_1_mp_rank_00_model_states.pt +3 -0
  13. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/zero_pp_rank_2_mp_rank_00_model_states.pt +3 -0
  14. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/zero_pp_rank_3_mp_rank_00_model_states.pt +3 -0
  15. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/latest +1 -0
  16. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/rng_state_0.pth +3 -0
  17. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/rng_state_1.pth +3 -0
  18. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/rng_state_2.pth +3 -0
  19. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/rng_state_3.pth +3 -0
  20. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/scheduler.pt +3 -0
  21. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/trainer_state.json +3195 -0
  22. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/training_args.bin +3 -0
  23. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/zero_to_fp32.py +760 -0
  24. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/README.md +207 -0
  25. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/adapter_config.json +40 -0
  26. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/adapter_model.safetensors +3 -0
  27. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/additional_config.json +1 -0
  28. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/args.json +403 -0
  29. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt +3 -0
  30. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt +3 -0
  31. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt +3 -0
  32. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt +3 -0
  33. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/zero_pp_rank_0_mp_rank_00_model_states.pt +3 -0
  34. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/zero_pp_rank_1_mp_rank_00_model_states.pt +3 -0
  35. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/zero_pp_rank_2_mp_rank_00_model_states.pt +3 -0
  36. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/zero_pp_rank_3_mp_rank_00_model_states.pt +3 -0
  37. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/latest +1 -0
  38. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/rng_state_0.pth +3 -0
  39. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/rng_state_1.pth +3 -0
  40. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/rng_state_2.pth +3 -0
  41. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/rng_state_3.pth +3 -0
  42. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/scheduler.pt +3 -0
  43. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/trainer_state.json +0 -0
  44. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/training_args.bin +3 -0
  45. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/zero_to_fp32.py +760 -0
  46. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_loss.png +0 -0
  47. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_runtime.png +0 -0
  48. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_samples_per_second.png +0 -0
  49. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_steps_per_second.png +0 -0
  50. Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_token_acc.png +0 -0
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/args.json ADDED
@@ -0,0 +1,403 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "output_dir": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057",
3
+ "overwrite_output_dir": false,
4
+ "do_train": false,
5
+ "do_eval": false,
6
+ "do_predict": false,
7
+ "eval_strategy": "epoch",
8
+ "prediction_loss_only": false,
9
+ "per_device_train_batch_size": 1,
10
+ "per_device_eval_batch_size": 1,
11
+ "per_gpu_train_batch_size": null,
12
+ "per_gpu_eval_batch_size": null,
13
+ "gradient_accumulation_steps": 8,
14
+ "eval_accumulation_steps": null,
15
+ "eval_delay": 0,
16
+ "torch_empty_cache_steps": null,
17
+ "learning_rate": 5e-05,
18
+ "weight_decay": 0.1,
19
+ "adam_beta1": 0.9,
20
+ "adam_beta2": 0.95,
21
+ "adam_epsilon": 1e-08,
22
+ "max_grad_norm": 1.0,
23
+ "num_train_epochs": 2.0,
24
+ "max_steps": -1,
25
+ "lr_scheduler_type": "cosine",
26
+ "lr_scheduler_kwargs": null,
27
+ "warmup_ratio": 0.2,
28
+ "warmup_steps": 0,
29
+ "log_level": "passive",
30
+ "log_level_replica": "warning",
31
+ "log_on_each_node": true,
32
+ "logging_dir": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/runs",
33
+ "logging_strategy": "steps",
34
+ "logging_first_step": true,
35
+ "logging_steps": 1,
36
+ "logging_nan_inf_filter": true,
37
+ "save_strategy": "epoch",
38
+ "save_steps": 500,
39
+ "save_total_limit": null,
40
+ "save_safetensors": true,
41
+ "save_on_each_node": false,
42
+ "save_only_model": false,
43
+ "restore_callback_states_from_checkpoint": false,
44
+ "no_cuda": false,
45
+ "use_cpu": false,
46
+ "use_mps_device": false,
47
+ "seed": 42,
48
+ "data_seed": 42,
49
+ "jit_mode_eval": false,
50
+ "bf16": true,
51
+ "fp16": false,
52
+ "fp16_opt_level": "O1",
53
+ "half_precision_backend": "auto",
54
+ "bf16_full_eval": false,
55
+ "fp16_full_eval": false,
56
+ "tf32": null,
57
+ "local_rank": 0,
58
+ "ddp_backend": null,
59
+ "tpu_num_cores": null,
60
+ "tpu_metrics_debug": false,
61
+ "debug": null,
62
+ "dataloader_drop_last": false,
63
+ "eval_steps": 2000.0,
64
+ "dataloader_num_workers": 48,
65
+ "dataloader_prefetch_factor": null,
66
+ "past_index": -1,
67
+ "run_name": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057",
68
+ "disable_tqdm": null,
69
+ "remove_unused_columns": true,
70
+ "label_names": null,
71
+ "load_best_model_at_end": false,
72
+ "metric_for_best_model": "loss",
73
+ "greater_is_better": false,
74
+ "ignore_data_skip": false,
75
+ "fsdp": [],
76
+ "fsdp_min_num_params": 0,
77
+ "fsdp_config": null,
78
+ "fsdp_transformer_layer_cls_to_wrap": null,
79
+ "accelerator_config": {
80
+ "dispatch_batches": false
81
+ },
82
+ "parallelism_config": null,
83
+ "deepspeed": {
84
+ "fp16": {
85
+ "enabled": "auto",
86
+ "loss_scale": 0,
87
+ "loss_scale_window": 1000,
88
+ "initial_scale_power": 16,
89
+ "hysteresis": 2,
90
+ "min_loss_scale": 1
91
+ },
92
+ "bf16": {
93
+ "enabled": "auto"
94
+ },
95
+ "zero_optimization": {
96
+ "stage": 3,
97
+ "offload_optimizer": {
98
+ "device": "none",
99
+ "pin_memory": true
100
+ },
101
+ "offload_param": {
102
+ "device": "none",
103
+ "pin_memory": true
104
+ },
105
+ "overlap_comm": false,
106
+ "contiguous_gradients": true,
107
+ "sub_group_size": 1000000000.0,
108
+ "reduce_bucket_size": "auto",
109
+ "zero_quantized_weights": false,
110
+ "zero_quantized_gradients": false,
111
+ "stage3_prefetch_bucket_size": "auto",
112
+ "stage3_param_persistence_threshold": "auto",
113
+ "stage3_max_live_parameters": 1000000000.0,
114
+ "stage3_max_reuse_distance": 1000000000.0,
115
+ "stage3_gather_16bit_weights_on_model_save": true
116
+ },
117
+ "gradient_accumulation_steps": "auto",
118
+ "gradient_clipping": "auto",
119
+ "steps_per_print": 2000,
120
+ "train_batch_size": "auto",
121
+ "train_micro_batch_size_per_gpu": "auto",
122
+ "wall_clock_breakdown": false
123
+ },
124
+ "label_smoothing_factor": 0.0,
125
+ "optim": "adamw_torch_fused",
126
+ "optim_args": null,
127
+ "adafactor": false,
128
+ "group_by_length": false,
129
+ "length_column_name": "length",
130
+ "report_to": [
131
+ "tensorboard"
132
+ ],
133
+ "project": "huggingface",
134
+ "trackio_space_id": "trackio",
135
+ "ddp_find_unused_parameters": null,
136
+ "ddp_bucket_cap_mb": null,
137
+ "ddp_broadcast_buffers": null,
138
+ "dataloader_pin_memory": true,
139
+ "dataloader_persistent_workers": false,
140
+ "skip_memory_metrics": true,
141
+ "use_legacy_prediction_loop": false,
142
+ "push_to_hub": false,
143
+ "resume_from_checkpoint": null,
144
+ "hub_model_id": null,
145
+ "hub_strategy": "every_save",
146
+ "hub_token": null,
147
+ "hub_private_repo": null,
148
+ "hub_always_push": false,
149
+ "hub_revision": null,
150
+ "gradient_checkpointing": true,
151
+ "gradient_checkpointing_kwargs": null,
152
+ "include_inputs_for_metrics": false,
153
+ "include_for_metrics": [],
154
+ "eval_do_concat_batches": true,
155
+ "fp16_backend": "auto",
156
+ "push_to_hub_model_id": null,
157
+ "push_to_hub_organization": null,
158
+ "push_to_hub_token": null,
159
+ "mp_parameters": "",
160
+ "auto_find_batch_size": false,
161
+ "full_determinism": false,
162
+ "torchdynamo": null,
163
+ "ray_scope": "last",
164
+ "ddp_timeout": 18000000,
165
+ "torch_compile": false,
166
+ "torch_compile_backend": null,
167
+ "torch_compile_mode": null,
168
+ "include_tokens_per_second": false,
169
+ "include_num_input_tokens_seen": false,
170
+ "neftune_noise_alpha": null,
171
+ "optim_target_modules": null,
172
+ "batch_eval_metrics": false,
173
+ "eval_on_start": false,
174
+ "use_liger_kernel": false,
175
+ "liger_kernel_config": null,
176
+ "eval_use_gather_object": false,
177
+ "average_tokens_across_devices": true,
178
+ "sortish_sampler": false,
179
+ "predict_with_generate": false,
180
+ "generation_max_length": null,
181
+ "generation_num_beams": null,
182
+ "generation_config": null,
183
+ "tuner_backend": "peft",
184
+ "vit_gradient_checkpointing": true,
185
+ "router_aux_loss_coef": 0.0,
186
+ "enable_dft_loss": false,
187
+ "enable_channel_loss": false,
188
+ "safe_serialization": true,
189
+ "max_shard_size": "5GB",
190
+ "check_model": true,
191
+ "acc_strategy": "token",
192
+ "train_dataloader_shuffle": true,
193
+ "max_epochs": null,
194
+ "aligner_lr": null,
195
+ "vit_lr": null,
196
+ "use_logits_to_keep": null,
197
+ "ds3_gather_for_generation": true,
198
+ "resume_only_model": false,
199
+ "optimizer": null,
200
+ "loss_type": null,
201
+ "eval_metric": null,
202
+ "callbacks": [],
203
+ "early_stop_interval": null,
204
+ "eval_use_evalscope": false,
205
+ "eval_dataset": [],
206
+ "eval_dataset_args": null,
207
+ "eval_limit": null,
208
+ "eval_generation_config": null,
209
+ "extra_eval_args": null,
210
+ "tuner_type": "lora",
211
+ "use_galore": false,
212
+ "galore_target_modules": null,
213
+ "galore_rank": 128,
214
+ "galore_update_proj_gap": 50,
215
+ "galore_scale": 1.0,
216
+ "galore_proj_type": "std",
217
+ "galore_optim_per_parameter": false,
218
+ "galore_with_embedding": false,
219
+ "galore_quantization": false,
220
+ "galore_proj_quant": false,
221
+ "galore_proj_bits": 4,
222
+ "galore_proj_group_size": 256,
223
+ "galore_cos_threshold": 0.4,
224
+ "galore_gamma_proj": 2,
225
+ "galore_queue_size": 5,
226
+ "lisa_activated_layers": 0,
227
+ "lisa_step_interval": 20,
228
+ "use_flash_ckpt": false,
229
+ "use_ray": false,
230
+ "ray_exp_name": null,
231
+ "device_groups": null,
232
+ "model": "/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct",
233
+ "model_type": "qwen2_5_vl",
234
+ "model_revision": null,
235
+ "task_type": "causal_lm",
236
+ "torch_dtype": "bfloat16",
237
+ "attn_impl": null,
238
+ "experts_impl": null,
239
+ "new_special_tokens": [],
240
+ "num_labels": null,
241
+ "problem_type": null,
242
+ "rope_scaling": null,
243
+ "device_map": null,
244
+ "max_memory": {},
245
+ "max_model_len": null,
246
+ "local_repo_path": null,
247
+ "init_strategy": null,
248
+ "template": "qwen2_5_vl",
249
+ "system": null,
250
+ "max_length": 16240,
251
+ "truncation_strategy": "delete",
252
+ "max_pixels": null,
253
+ "agent_template": null,
254
+ "norm_bbox": null,
255
+ "use_chat_template": true,
256
+ "padding_side": "right",
257
+ "padding_free": false,
258
+ "loss_scale": "default",
259
+ "sequence_parallel_size": 1,
260
+ "template_backend": "swift",
261
+ "response_prefix": null,
262
+ "enable_thinking": null,
263
+ "add_non_thinking_prefix": true,
264
+ "dataset": [
265
+ "data.jsonl"
266
+ ],
267
+ "val_dataset": [],
268
+ "cached_dataset": [],
269
+ "cached_val_dataset": [],
270
+ "split_dataset_ratio": 0.001,
271
+ "dataset_num_proc": 100,
272
+ "load_from_cache_file": false,
273
+ "dataset_shuffle": true,
274
+ "val_dataset_shuffle": false,
275
+ "streaming": false,
276
+ "interleave_prob": null,
277
+ "stopping_strategy": "first_exhausted",
278
+ "shuffle_buffer_size": 1000,
279
+ "download_mode": "reuse_dataset_if_exists",
280
+ "columns": {},
281
+ "strict": false,
282
+ "model_name": null,
283
+ "model_author": null,
284
+ "custom_dataset_info": [],
285
+ "quant_method": null,
286
+ "quant_bits": null,
287
+ "hqq_axis": null,
288
+ "bnb_4bit_compute_dtype": "bfloat16",
289
+ "bnb_4bit_quant_type": "nf4",
290
+ "bnb_4bit_use_double_quant": true,
291
+ "bnb_4bit_quant_storage": null,
292
+ "max_new_tokens": 64,
293
+ "temperature": 0.0,
294
+ "top_k": null,
295
+ "top_p": null,
296
+ "repetition_penalty": null,
297
+ "num_beams": 1,
298
+ "stream": false,
299
+ "stop_words": [],
300
+ "logprobs": false,
301
+ "top_logprobs": null,
302
+ "structured_outputs_regex": null,
303
+ "adapters": [],
304
+ "external_plugins": [],
305
+ "custom_register_path": [],
306
+ "model_kwargs": {},
307
+ "load_args": false,
308
+ "load_data_args": false,
309
+ "packing": false,
310
+ "packing_length": null,
311
+ "packing_num_proc": 1,
312
+ "lazy_tokenize": true,
313
+ "use_hf": false,
314
+ "ignore_args_error": false,
315
+ "use_swift_lora": false,
316
+ "freeze_parameters": [],
317
+ "freeze_parameters_regex": null,
318
+ "freeze_parameters_ratio": 0.0,
319
+ "trainable_parameters": [],
320
+ "trainable_parameters_regex": null,
321
+ "freeze_llm": false,
322
+ "freeze_vit": false,
323
+ "freeze_aligner": true,
324
+ "target_modules": [
325
+ "all-linear"
326
+ ],
327
+ "target_regex": null,
328
+ "target_parameters": null,
329
+ "modules_to_save": [],
330
+ "lora_rank": 16,
331
+ "lora_alpha": 32,
332
+ "lora_dropout": 0.05,
333
+ "lora_bias": "none",
334
+ "lora_dtype": null,
335
+ "lorap_lr_ratio": null,
336
+ "use_rslora": false,
337
+ "use_dora": false,
338
+ "lora_ga_batch_size": 2,
339
+ "lora_ga_iters": 2,
340
+ "lora_ga_max_length": 1024,
341
+ "lora_ga_direction": "ArB2r",
342
+ "lora_ga_scale": "stable",
343
+ "lora_ga_stable_gamma": 16,
344
+ "init_weights": true,
345
+ "fourier_n_frequency": 2000,
346
+ "fourier_scaling": 300.0,
347
+ "boft_block_size": 4,
348
+ "boft_block_num": 0,
349
+ "boft_n_butterfly_factor": 1,
350
+ "boft_dropout": 0.0,
351
+ "vera_rank": 256,
352
+ "vera_projection_prng_key": 0,
353
+ "vera_dropout": 0.0,
354
+ "vera_d_initial": 0.1,
355
+ "adapter_act": "gelu",
356
+ "adapter_length": 128,
357
+ "adalora_target_r": 8,
358
+ "adalora_init_r": 12,
359
+ "adalora_tinit": 0,
360
+ "adalora_tfinal": 0,
361
+ "adalora_deltaT": 1,
362
+ "adalora_beta1": 0.85,
363
+ "adalora_beta2": 0.85,
364
+ "adalora_orth_reg_weight": 0.5,
365
+ "llamapro_num_new_blocks": 4,
366
+ "llamapro_num_groups": null,
367
+ "reft_layer_key": null,
368
+ "reft_layers": null,
369
+ "reft_rank": 4,
370
+ "reft_intervention_type": "LoreftIntervention",
371
+ "reft_args": null,
372
+ "swanlab_token": null,
373
+ "swanlab_project": "ms-swift",
374
+ "swanlab_workspace": null,
375
+ "swanlab_exp_name": null,
376
+ "swanlab_notification_method": null,
377
+ "swanlab_webhook_url": null,
378
+ "swanlab_secret": null,
379
+ "swanlab_sender_email": null,
380
+ "swanlab_receiver_email": null,
381
+ "swanlab_smtp_server": null,
382
+ "swanlab_smtp_port": null,
383
+ "swanlab_email_language": "zh",
384
+ "swanlab_mode": "cloud",
385
+ "add_version": true,
386
+ "create_checkpoint_symlink": false,
387
+ "zero_hpz_partition_size": null,
388
+ "deepspeed_autotp_size": null,
389
+ "swift_version": "4.1.3",
390
+ "ckpt_dir": null,
391
+ "rank": 0,
392
+ "global_world_size": 4,
393
+ "local_world_size": 4,
394
+ "model_suffix": "Qwen2.5-VL-7B-Instruct",
395
+ "model_info": "ModelInfo(model_type='qwen2_5_vl', model_dir='/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct', torch_dtype=torch.bfloat16, max_model_len=128000, quant_method=None, quant_bits=None, rope_scaling={'type': 'default', 'mrope_section': [16, 24, 24], 'rope_type': 'default'}, is_moe_model=False, is_multimodal=True, config=None, task_type='causal_lm', num_labels=None)",
396
+ "model_meta": "ModelMeta(model_type='qwen2_5_vl', model_groups=[ModelGroup(models=[Model(ms_model_id='Qwen/Qwen2.5-VL-3B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-3B-Instruct', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-7B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-7B-Instruct', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-32B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-32B-Instruct', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-72B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-72B-Instruct', model_path=None, ms_revision=None, hf_revision=None)], template='qwen2_5_vl', ignore_patterns=None, requires=None, tags=[]), ModelGroup(models=[Model(ms_model_id='Qwen/Qwen2.5-VL-3B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-3B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-7B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-7B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-32B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-32B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-72B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-72B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None)], template='qwen2_5_vl', ignore_patterns=None, requires=None, tags=[]), ModelGroup(models=[Model(ms_model_id='XiaomiMiMo/MiMo-VL-7B-SFT', hf_model_id='XiaomiMiMo/MiMo-VL-7B-SFT', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='XiaomiMiMo/MiMo-VL-7B-RL', hf_model_id='XiaomiMiMo/MiMo-VL-7B-RL', model_path=None, ms_revision=None, hf_revision=None)], template='mimo_vl', ignore_patterns=None, requires=None, tags=[])], loader=<class 'swift.model.models.qwen.Qwen2_5VLLoader'>, template='qwen2_5_vl', model_arch=MultiModelKeys(arch_name='qwen2_vl', embedding=None, module_list=None, lm_head=None, q_proj=None, k_proj=None, v_proj=None, o_proj=None, attention=None, mlp=None, down_proj=None, qkv_proj=None, qk_proj=None, qa_proj=None, qb_proj=None, kv_proj=None, kva_proj=None, kvb_proj=None, language_model=['model.language_model', 'lm_head'], aligner=['model.visual.merger'], vision_tower=['model.visual'], generator=[]), mcore_model_type=None, architectures=['Qwen2_5_VLForConditionalGeneration'], additional_saved_files=[], torch_dtype=None, is_multimodal=True, is_reward=False, task_type=None, ignore_patterns=None, requires=['transformers>=4.49', 'qwen_vl_utils>=0.0.6', 'decord'], tags=[])",
397
+ "model_dir": "/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct",
398
+ "template_meta": "QwenTemplateMeta(template_type='qwen2_5_vl', prefix=[], prompt=['<|im_start|>user\\n{{QUERY}}<|im_end|>\\n<|im_start|>assistant\\n'], chat_sep=['<|im_end|>\\n'], suffix=['<|im_end|>\\n'], template_cls=<class 'swift.template.templates.qwen.Qwen2_5VLTemplate'>, system_prefix=['<|im_start|>system\\n{{SYSTEM}}<|im_end|>\\n'], default_system='You are a helpful assistant.', auto_add_bos=False, stop_words=['<|endoftext|>'], agent_template='hermes', is_thinking=False, thinking_prefix='', non_thinking_prefix='', history_thinking_prefix='')",
399
+ "_val_dataset_exists": true,
400
+ "hub": "<class 'swift.hub.hub.MSHub'>",
401
+ "evaluation_strategy": "epoch",
402
+ "training_args": "Seq2SeqTrainingArguments(output_dir='/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057', overwrite_output_dir=False, do_train=False, do_eval=True, do_predict=False, eval_strategy=<IntervalStrategy.EPOCH: 'epoch'>, prediction_loss_only=False, per_device_train_batch_size=1, per_device_eval_batch_size=1, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=8, eval_accumulation_steps=None, eval_delay=0, torch_empty_cache_steps=None, learning_rate=5e-05, weight_decay=0.1, adam_beta1=0.9, adam_beta2=0.95, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=2.0, max_steps=-1, lr_scheduler_type=<SchedulerType.COSINE: 'cosine'>, lr_scheduler_kwargs=None, warmup_ratio=0.2, warmup_steps=0, log_level='passive', log_level_replica='warning', log_on_each_node=True, logging_dir='/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/runs', logging_strategy=<IntervalStrategy.STEPS: 'steps'>, logging_first_step=True, logging_steps=1, logging_nan_inf_filter=True, save_strategy=<SaveStrategy.EPOCH: 'epoch'>, save_steps=500, save_total_limit=None, save_safetensors=True, save_on_each_node=False, save_only_model=False, restore_callback_states_from_checkpoint=False, no_cuda=False, use_cpu=False, use_mps_device=False, seed=42, data_seed=42, jit_mode_eval=False, bf16=True, fp16=False, fp16_opt_level='O1', half_precision_backend='auto', bf16_full_eval=False, fp16_full_eval=False, tf32=None, local_rank=0, ddp_backend=None, tpu_num_cores=None, tpu_metrics_debug=False, debug=[], dataloader_drop_last=False, eval_steps=2000.0, dataloader_num_workers=48, dataloader_prefetch_factor=2, past_index=-1, run_name='/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057', disable_tqdm=False, remove_unused_columns=False, label_names=None, load_best_model_at_end=False, metric_for_best_model='loss', greater_is_better=False, ignore_data_skip=False, fsdp=[], fsdp_min_num_params=0, fsdp_config={'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}, fsdp_transformer_layer_cls_to_wrap=None, accelerator_config=AcceleratorConfig(split_batches=False, dispatch_batches=False, even_batches=True, use_seedable_sampler=True, non_blocking=False, gradient_accumulation_kwargs=None, use_configured_state=False), parallelism_config=None, deepspeed={'fp16': {'enabled': 'auto', 'loss_scale': 0, 'loss_scale_window': 1000, 'initial_scale_power': 16, 'hysteresis': 2, 'min_loss_scale': 1}, 'bf16': {'enabled': 'auto'}, 'zero_optimization': {'stage': 3, 'offload_optimizer': {'device': 'none', 'pin_memory': True}, 'offload_param': {'device': 'none', 'pin_memory': True}, 'overlap_comm': False, 'contiguous_gradients': True, 'sub_group_size': 1000000000.0, 'reduce_bucket_size': 'auto', 'zero_quantized_weights': False, 'zero_quantized_gradients': False, 'stage3_prefetch_bucket_size': 'auto', 'stage3_param_persistence_threshold': 'auto', 'stage3_max_live_parameters': 1000000000.0, 'stage3_max_reuse_distance': 1000000000.0, 'stage3_gather_16bit_weights_on_model_save': True}, 'gradient_accumulation_steps': 'auto', 'gradient_clipping': 'auto', 'steps_per_print': 2000, 'train_batch_size': 'auto', 'train_micro_batch_size_per_gpu': 'auto', 'wall_clock_breakdown': False}, label_smoothing_factor=0.0, optim=<OptimizerNames.ADAMW_TORCH_FUSED: 'adamw_torch_fused'>, optim_args=None, adafactor=False, group_by_length=False, length_column_name='length', report_to=['tensorboard'], project='huggingface', trackio_space_id='trackio', ddp_find_unused_parameters=None, ddp_bucket_cap_mb=None, ddp_broadcast_buffers=None, dataloader_pin_memory=True, dataloader_persistent_workers=False, skip_memory_metrics=True, use_legacy_prediction_loop=False, push_to_hub=False, resume_from_checkpoint=None, hub_model_id=None, hub_strategy=<HubStrategy.EVERY_SAVE: 'every_save'>, hub_token=None, hub_private_repo=None, hub_always_push=False, hub_revision=None, gradient_checkpointing=True, gradient_checkpointing_kwargs=None, include_inputs_for_metrics=False, include_for_metrics=[], eval_do_concat_batches=True, fp16_backend='auto', push_to_hub_model_id=None, push_to_hub_organization=None, push_to_hub_token=None, mp_parameters='', auto_find_batch_size=False, full_determinism=False, torchdynamo=None, ray_scope='last', ddp_timeout=18000000, torch_compile=False, torch_compile_backend=None, torch_compile_mode=None, include_tokens_per_second=None, include_num_input_tokens_seen=None, neftune_noise_alpha=None, optim_target_modules=None, batch_eval_metrics=False, eval_on_start=False, use_liger_kernel=False, liger_kernel_config=None, eval_use_gather_object=False, average_tokens_across_devices=None, sortish_sampler=False, predict_with_generate=False, generation_max_length=None, generation_num_beams=None, generation_config=None, tuner_backend='peft', vit_gradient_checkpointing=True, router_aux_loss_coef=0.0, enable_dft_loss=False, enable_channel_loss=False, safe_serialization=True, max_shard_size='5GB', check_model=True, acc_strategy='token', train_dataloader_shuffle=True, max_epochs=None, aligner_lr=None, vit_lr=None, use_logits_to_keep=None, ds3_gather_for_generation=True, resume_only_model=False, optimizer=None, loss_type=None, eval_metric=None, callbacks=[], early_stop_interval=None, eval_use_evalscope=False, eval_dataset=[], eval_dataset_args=None, eval_limit=None, eval_generation_config=None, extra_eval_args=None, tuner_type='lora', use_galore=False, galore_target_modules=None, galore_rank=128, galore_update_proj_gap=50, galore_scale=1.0, galore_proj_type='std', galore_optim_per_parameter=False, galore_with_embedding=False, galore_quantization=False, galore_proj_quant=False, galore_proj_bits=4, galore_proj_group_size=256, galore_cos_threshold=0.4, galore_gamma_proj=2, galore_queue_size=5, lisa_activated_layers=0, lisa_step_interval=20, use_flash_ckpt=False)"
403
+ }
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/README.md ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: /data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct
7
+ - lora
8
+ - transformers
9
+ ---
10
+
11
+ # Model Card for Model ID
12
+
13
+ <!-- Provide a quick summary of what the model is/does. -->
14
+
15
+
16
+
17
+ ## Model Details
18
+
19
+ ### Model Description
20
+
21
+ <!-- Provide a longer summary of what this model is. -->
22
+
23
+
24
+
25
+ - **Developed by:** [More Information Needed]
26
+ - **Funded by [optional]:** [More Information Needed]
27
+ - **Shared by [optional]:** [More Information Needed]
28
+ - **Model type:** [More Information Needed]
29
+ - **Language(s) (NLP):** [More Information Needed]
30
+ - **License:** [More Information Needed]
31
+ - **Finetuned from model [optional]:** [More Information Needed]
32
+
33
+ ### Model Sources [optional]
34
+
35
+ <!-- Provide the basic links for the model. -->
36
+
37
+ - **Repository:** [More Information Needed]
38
+ - **Paper [optional]:** [More Information Needed]
39
+ - **Demo [optional]:** [More Information Needed]
40
+
41
+ ## Uses
42
+
43
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
44
+
45
+ ### Direct Use
46
+
47
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
48
+
49
+ [More Information Needed]
50
+
51
+ ### Downstream Use [optional]
52
+
53
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
54
+
55
+ [More Information Needed]
56
+
57
+ ### Out-of-Scope Use
58
+
59
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
60
+
61
+ [More Information Needed]
62
+
63
+ ## Bias, Risks, and Limitations
64
+
65
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
66
+
67
+ [More Information Needed]
68
+
69
+ ### Recommendations
70
+
71
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
72
+
73
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
74
+
75
+ ## How to Get Started with the Model
76
+
77
+ Use the code below to get started with the model.
78
+
79
+ [More Information Needed]
80
+
81
+ ## Training Details
82
+
83
+ ### Training Data
84
+
85
+ <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
86
+
87
+ [More Information Needed]
88
+
89
+ ### Training Procedure
90
+
91
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
92
+
93
+ #### Preprocessing [optional]
94
+
95
+ [More Information Needed]
96
+
97
+
98
+ #### Training Hyperparameters
99
+
100
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
101
+
102
+ #### Speeds, Sizes, Times [optional]
103
+
104
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
105
+
106
+ [More Information Needed]
107
+
108
+ ## Evaluation
109
+
110
+ <!-- This section describes the evaluation protocols and provides the results. -->
111
+
112
+ ### Testing Data, Factors & Metrics
113
+
114
+ #### Testing Data
115
+
116
+ <!-- This should link to a Dataset Card if possible. -->
117
+
118
+ [More Information Needed]
119
+
120
+ #### Factors
121
+
122
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
123
+
124
+ [More Information Needed]
125
+
126
+ #### Metrics
127
+
128
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
129
+
130
+ [More Information Needed]
131
+
132
+ ### Results
133
+
134
+ [More Information Needed]
135
+
136
+ #### Summary
137
+
138
+
139
+
140
+ ## Model Examination [optional]
141
+
142
+ <!-- Relevant interpretability work for the model goes here -->
143
+
144
+ [More Information Needed]
145
+
146
+ ## Environmental Impact
147
+
148
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
149
+
150
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
151
+
152
+ - **Hardware Type:** [More Information Needed]
153
+ - **Hours used:** [More Information Needed]
154
+ - **Cloud Provider:** [More Information Needed]
155
+ - **Compute Region:** [More Information Needed]
156
+ - **Carbon Emitted:** [More Information Needed]
157
+
158
+ ## Technical Specifications [optional]
159
+
160
+ ### Model Architecture and Objective
161
+
162
+ [More Information Needed]
163
+
164
+ ### Compute Infrastructure
165
+
166
+ [More Information Needed]
167
+
168
+ #### Hardware
169
+
170
+ [More Information Needed]
171
+
172
+ #### Software
173
+
174
+ [More Information Needed]
175
+
176
+ ## Citation [optional]
177
+
178
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
179
+
180
+ **BibTeX:**
181
+
182
+ [More Information Needed]
183
+
184
+ **APA:**
185
+
186
+ [More Information Needed]
187
+
188
+ ## Glossary [optional]
189
+
190
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
191
+
192
+ [More Information Needed]
193
+
194
+ ## More Information [optional]
195
+
196
+ [More Information Needed]
197
+
198
+ ## Model Card Authors [optional]
199
+
200
+ [More Information Needed]
201
+
202
+ ## Model Card Contact
203
+
204
+ [More Information Needed]
205
+ ### Framework versions
206
+
207
+ - PEFT 0.19.1
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/adapter_config.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 32,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": [],
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 16,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": "^(model\\.language_model(?=\\.).*\\.(up_proj|o_proj|down_proj|q_proj|v_proj|gate_proj|k_proj)|(?!(model.visual.merger))model\\.visual(?=\\.).*\\.(qkv|up_proj|mlp.2|down_proj|mlp.0|attn.proj|gate_proj))$",
33
+ "target_parameters": null,
34
+ "task_type": "CAUSAL_LM",
35
+ "trainable_token_indices": null,
36
+ "use_bdlora": null,
37
+ "use_dora": false,
38
+ "use_qalora": false,
39
+ "use_rslora": false
40
+ }
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4d95481f2456b40bbce0c8ed48286384ee4f90642b04060131c9b20f7447c4d1
3
+ size 103145560
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/additional_config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lora_dtype": null, "lorap_lr_ratio": null, "lorap_emb_lr": 1e-06}
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/args.json ADDED
@@ -0,0 +1,403 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "output_dir": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057",
3
+ "overwrite_output_dir": false,
4
+ "do_train": false,
5
+ "do_eval": false,
6
+ "do_predict": false,
7
+ "eval_strategy": "epoch",
8
+ "prediction_loss_only": false,
9
+ "per_device_train_batch_size": 1,
10
+ "per_device_eval_batch_size": 1,
11
+ "per_gpu_train_batch_size": null,
12
+ "per_gpu_eval_batch_size": null,
13
+ "gradient_accumulation_steps": 8,
14
+ "eval_accumulation_steps": null,
15
+ "eval_delay": 0,
16
+ "torch_empty_cache_steps": null,
17
+ "learning_rate": 5e-05,
18
+ "weight_decay": 0.1,
19
+ "adam_beta1": 0.9,
20
+ "adam_beta2": 0.95,
21
+ "adam_epsilon": 1e-08,
22
+ "max_grad_norm": 1.0,
23
+ "num_train_epochs": 2.0,
24
+ "max_steps": -1,
25
+ "lr_scheduler_type": "cosine",
26
+ "lr_scheduler_kwargs": null,
27
+ "warmup_ratio": 0.2,
28
+ "warmup_steps": 0,
29
+ "log_level": "passive",
30
+ "log_level_replica": "warning",
31
+ "log_on_each_node": true,
32
+ "logging_dir": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/runs",
33
+ "logging_strategy": "steps",
34
+ "logging_first_step": true,
35
+ "logging_steps": 1,
36
+ "logging_nan_inf_filter": true,
37
+ "save_strategy": "epoch",
38
+ "save_steps": 500,
39
+ "save_total_limit": null,
40
+ "save_safetensors": true,
41
+ "save_on_each_node": false,
42
+ "save_only_model": false,
43
+ "restore_callback_states_from_checkpoint": false,
44
+ "no_cuda": false,
45
+ "use_cpu": false,
46
+ "use_mps_device": false,
47
+ "seed": 42,
48
+ "data_seed": 42,
49
+ "jit_mode_eval": false,
50
+ "bf16": true,
51
+ "fp16": false,
52
+ "fp16_opt_level": "O1",
53
+ "half_precision_backend": "auto",
54
+ "bf16_full_eval": false,
55
+ "fp16_full_eval": false,
56
+ "tf32": null,
57
+ "local_rank": 0,
58
+ "ddp_backend": null,
59
+ "tpu_num_cores": null,
60
+ "tpu_metrics_debug": false,
61
+ "debug": null,
62
+ "dataloader_drop_last": false,
63
+ "eval_steps": 2000.0,
64
+ "dataloader_num_workers": 48,
65
+ "dataloader_prefetch_factor": null,
66
+ "past_index": -1,
67
+ "run_name": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057",
68
+ "disable_tqdm": null,
69
+ "remove_unused_columns": true,
70
+ "label_names": null,
71
+ "load_best_model_at_end": false,
72
+ "metric_for_best_model": "loss",
73
+ "greater_is_better": false,
74
+ "ignore_data_skip": false,
75
+ "fsdp": [],
76
+ "fsdp_min_num_params": 0,
77
+ "fsdp_config": null,
78
+ "fsdp_transformer_layer_cls_to_wrap": null,
79
+ "accelerator_config": {
80
+ "dispatch_batches": false
81
+ },
82
+ "parallelism_config": null,
83
+ "deepspeed": {
84
+ "fp16": {
85
+ "enabled": "auto",
86
+ "loss_scale": 0,
87
+ "loss_scale_window": 1000,
88
+ "initial_scale_power": 16,
89
+ "hysteresis": 2,
90
+ "min_loss_scale": 1
91
+ },
92
+ "bf16": {
93
+ "enabled": "auto"
94
+ },
95
+ "zero_optimization": {
96
+ "stage": 3,
97
+ "offload_optimizer": {
98
+ "device": "none",
99
+ "pin_memory": true
100
+ },
101
+ "offload_param": {
102
+ "device": "none",
103
+ "pin_memory": true
104
+ },
105
+ "overlap_comm": false,
106
+ "contiguous_gradients": true,
107
+ "sub_group_size": 1000000000.0,
108
+ "reduce_bucket_size": "auto",
109
+ "zero_quantized_weights": false,
110
+ "zero_quantized_gradients": false,
111
+ "stage3_prefetch_bucket_size": "auto",
112
+ "stage3_param_persistence_threshold": "auto",
113
+ "stage3_max_live_parameters": 1000000000.0,
114
+ "stage3_max_reuse_distance": 1000000000.0,
115
+ "stage3_gather_16bit_weights_on_model_save": true
116
+ },
117
+ "gradient_accumulation_steps": "auto",
118
+ "gradient_clipping": "auto",
119
+ "steps_per_print": 2000,
120
+ "train_batch_size": "auto",
121
+ "train_micro_batch_size_per_gpu": "auto",
122
+ "wall_clock_breakdown": false
123
+ },
124
+ "label_smoothing_factor": 0.0,
125
+ "optim": "adamw_torch_fused",
126
+ "optim_args": null,
127
+ "adafactor": false,
128
+ "group_by_length": false,
129
+ "length_column_name": "length",
130
+ "report_to": [
131
+ "tensorboard"
132
+ ],
133
+ "project": "huggingface",
134
+ "trackio_space_id": "trackio",
135
+ "ddp_find_unused_parameters": null,
136
+ "ddp_bucket_cap_mb": null,
137
+ "ddp_broadcast_buffers": null,
138
+ "dataloader_pin_memory": true,
139
+ "dataloader_persistent_workers": false,
140
+ "skip_memory_metrics": true,
141
+ "use_legacy_prediction_loop": false,
142
+ "push_to_hub": false,
143
+ "resume_from_checkpoint": null,
144
+ "hub_model_id": null,
145
+ "hub_strategy": "every_save",
146
+ "hub_token": null,
147
+ "hub_private_repo": null,
148
+ "hub_always_push": false,
149
+ "hub_revision": null,
150
+ "gradient_checkpointing": true,
151
+ "gradient_checkpointing_kwargs": null,
152
+ "include_inputs_for_metrics": false,
153
+ "include_for_metrics": [],
154
+ "eval_do_concat_batches": true,
155
+ "fp16_backend": "auto",
156
+ "push_to_hub_model_id": null,
157
+ "push_to_hub_organization": null,
158
+ "push_to_hub_token": null,
159
+ "mp_parameters": "",
160
+ "auto_find_batch_size": false,
161
+ "full_determinism": false,
162
+ "torchdynamo": null,
163
+ "ray_scope": "last",
164
+ "ddp_timeout": 18000000,
165
+ "torch_compile": false,
166
+ "torch_compile_backend": null,
167
+ "torch_compile_mode": null,
168
+ "include_tokens_per_second": false,
169
+ "include_num_input_tokens_seen": false,
170
+ "neftune_noise_alpha": null,
171
+ "optim_target_modules": null,
172
+ "batch_eval_metrics": false,
173
+ "eval_on_start": false,
174
+ "use_liger_kernel": false,
175
+ "liger_kernel_config": null,
176
+ "eval_use_gather_object": false,
177
+ "average_tokens_across_devices": true,
178
+ "sortish_sampler": false,
179
+ "predict_with_generate": false,
180
+ "generation_max_length": null,
181
+ "generation_num_beams": null,
182
+ "generation_config": null,
183
+ "tuner_backend": "peft",
184
+ "vit_gradient_checkpointing": true,
185
+ "router_aux_loss_coef": 0.0,
186
+ "enable_dft_loss": false,
187
+ "enable_channel_loss": false,
188
+ "safe_serialization": true,
189
+ "max_shard_size": "5GB",
190
+ "check_model": true,
191
+ "acc_strategy": "token",
192
+ "train_dataloader_shuffle": true,
193
+ "max_epochs": null,
194
+ "aligner_lr": null,
195
+ "vit_lr": null,
196
+ "use_logits_to_keep": null,
197
+ "ds3_gather_for_generation": true,
198
+ "resume_only_model": false,
199
+ "optimizer": null,
200
+ "loss_type": null,
201
+ "eval_metric": null,
202
+ "callbacks": [],
203
+ "early_stop_interval": null,
204
+ "eval_use_evalscope": false,
205
+ "eval_dataset": [],
206
+ "eval_dataset_args": null,
207
+ "eval_limit": null,
208
+ "eval_generation_config": null,
209
+ "extra_eval_args": null,
210
+ "tuner_type": "lora",
211
+ "use_galore": false,
212
+ "galore_target_modules": null,
213
+ "galore_rank": 128,
214
+ "galore_update_proj_gap": 50,
215
+ "galore_scale": 1.0,
216
+ "galore_proj_type": "std",
217
+ "galore_optim_per_parameter": false,
218
+ "galore_with_embedding": false,
219
+ "galore_quantization": false,
220
+ "galore_proj_quant": false,
221
+ "galore_proj_bits": 4,
222
+ "galore_proj_group_size": 256,
223
+ "galore_cos_threshold": 0.4,
224
+ "galore_gamma_proj": 2,
225
+ "galore_queue_size": 5,
226
+ "lisa_activated_layers": 0,
227
+ "lisa_step_interval": 20,
228
+ "use_flash_ckpt": false,
229
+ "use_ray": false,
230
+ "ray_exp_name": null,
231
+ "device_groups": null,
232
+ "model": "/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct",
233
+ "model_type": "qwen2_5_vl",
234
+ "model_revision": null,
235
+ "task_type": "causal_lm",
236
+ "torch_dtype": "bfloat16",
237
+ "attn_impl": null,
238
+ "experts_impl": null,
239
+ "new_special_tokens": [],
240
+ "num_labels": null,
241
+ "problem_type": null,
242
+ "rope_scaling": null,
243
+ "device_map": null,
244
+ "max_memory": {},
245
+ "max_model_len": null,
246
+ "local_repo_path": null,
247
+ "init_strategy": null,
248
+ "template": "qwen2_5_vl",
249
+ "system": null,
250
+ "max_length": 16240,
251
+ "truncation_strategy": "delete",
252
+ "max_pixels": null,
253
+ "agent_template": null,
254
+ "norm_bbox": null,
255
+ "use_chat_template": true,
256
+ "padding_side": "right",
257
+ "padding_free": false,
258
+ "loss_scale": "default",
259
+ "sequence_parallel_size": 1,
260
+ "template_backend": "swift",
261
+ "response_prefix": null,
262
+ "enable_thinking": null,
263
+ "add_non_thinking_prefix": true,
264
+ "dataset": [
265
+ "data.jsonl"
266
+ ],
267
+ "val_dataset": [],
268
+ "cached_dataset": [],
269
+ "cached_val_dataset": [],
270
+ "split_dataset_ratio": 0.001,
271
+ "dataset_num_proc": 100,
272
+ "load_from_cache_file": false,
273
+ "dataset_shuffle": true,
274
+ "val_dataset_shuffle": false,
275
+ "streaming": false,
276
+ "interleave_prob": null,
277
+ "stopping_strategy": "first_exhausted",
278
+ "shuffle_buffer_size": 1000,
279
+ "download_mode": "reuse_dataset_if_exists",
280
+ "columns": {},
281
+ "strict": false,
282
+ "model_name": null,
283
+ "model_author": null,
284
+ "custom_dataset_info": [],
285
+ "quant_method": null,
286
+ "quant_bits": null,
287
+ "hqq_axis": null,
288
+ "bnb_4bit_compute_dtype": "bfloat16",
289
+ "bnb_4bit_quant_type": "nf4",
290
+ "bnb_4bit_use_double_quant": true,
291
+ "bnb_4bit_quant_storage": null,
292
+ "max_new_tokens": 64,
293
+ "temperature": 0.0,
294
+ "top_k": null,
295
+ "top_p": null,
296
+ "repetition_penalty": null,
297
+ "num_beams": 1,
298
+ "stream": false,
299
+ "stop_words": [],
300
+ "logprobs": false,
301
+ "top_logprobs": null,
302
+ "structured_outputs_regex": null,
303
+ "adapters": [],
304
+ "external_plugins": [],
305
+ "custom_register_path": [],
306
+ "model_kwargs": {},
307
+ "load_args": false,
308
+ "load_data_args": false,
309
+ "packing": false,
310
+ "packing_length": null,
311
+ "packing_num_proc": 1,
312
+ "lazy_tokenize": true,
313
+ "use_hf": false,
314
+ "ignore_args_error": false,
315
+ "use_swift_lora": false,
316
+ "freeze_parameters": [],
317
+ "freeze_parameters_regex": null,
318
+ "freeze_parameters_ratio": 0.0,
319
+ "trainable_parameters": [],
320
+ "trainable_parameters_regex": null,
321
+ "freeze_llm": false,
322
+ "freeze_vit": false,
323
+ "freeze_aligner": true,
324
+ "target_modules": [
325
+ "all-linear"
326
+ ],
327
+ "target_regex": null,
328
+ "target_parameters": null,
329
+ "modules_to_save": [],
330
+ "lora_rank": 16,
331
+ "lora_alpha": 32,
332
+ "lora_dropout": 0.05,
333
+ "lora_bias": "none",
334
+ "lora_dtype": null,
335
+ "lorap_lr_ratio": null,
336
+ "use_rslora": false,
337
+ "use_dora": false,
338
+ "lora_ga_batch_size": 2,
339
+ "lora_ga_iters": 2,
340
+ "lora_ga_max_length": 1024,
341
+ "lora_ga_direction": "ArB2r",
342
+ "lora_ga_scale": "stable",
343
+ "lora_ga_stable_gamma": 16,
344
+ "init_weights": true,
345
+ "fourier_n_frequency": 2000,
346
+ "fourier_scaling": 300.0,
347
+ "boft_block_size": 4,
348
+ "boft_block_num": 0,
349
+ "boft_n_butterfly_factor": 1,
350
+ "boft_dropout": 0.0,
351
+ "vera_rank": 256,
352
+ "vera_projection_prng_key": 0,
353
+ "vera_dropout": 0.0,
354
+ "vera_d_initial": 0.1,
355
+ "adapter_act": "gelu",
356
+ "adapter_length": 128,
357
+ "adalora_target_r": 8,
358
+ "adalora_init_r": 12,
359
+ "adalora_tinit": 0,
360
+ "adalora_tfinal": 0,
361
+ "adalora_deltaT": 1,
362
+ "adalora_beta1": 0.85,
363
+ "adalora_beta2": 0.85,
364
+ "adalora_orth_reg_weight": 0.5,
365
+ "llamapro_num_new_blocks": 4,
366
+ "llamapro_num_groups": null,
367
+ "reft_layer_key": null,
368
+ "reft_layers": null,
369
+ "reft_rank": 4,
370
+ "reft_intervention_type": "LoreftIntervention",
371
+ "reft_args": null,
372
+ "swanlab_token": null,
373
+ "swanlab_project": "ms-swift",
374
+ "swanlab_workspace": null,
375
+ "swanlab_exp_name": null,
376
+ "swanlab_notification_method": null,
377
+ "swanlab_webhook_url": null,
378
+ "swanlab_secret": null,
379
+ "swanlab_sender_email": null,
380
+ "swanlab_receiver_email": null,
381
+ "swanlab_smtp_server": null,
382
+ "swanlab_smtp_port": null,
383
+ "swanlab_email_language": "zh",
384
+ "swanlab_mode": "cloud",
385
+ "add_version": true,
386
+ "create_checkpoint_symlink": false,
387
+ "zero_hpz_partition_size": null,
388
+ "deepspeed_autotp_size": null,
389
+ "swift_version": "4.1.3",
390
+ "ckpt_dir": null,
391
+ "rank": 0,
392
+ "global_world_size": 4,
393
+ "local_world_size": 4,
394
+ "model_suffix": "Qwen2.5-VL-7B-Instruct",
395
+ "model_info": "ModelInfo(model_type='qwen2_5_vl', model_dir='/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct', torch_dtype=torch.bfloat16, max_model_len=128000, quant_method=None, quant_bits=None, rope_scaling={'type': 'default', 'mrope_section': [16, 24, 24], 'rope_type': 'default'}, is_moe_model=False, is_multimodal=True, config=None, task_type='causal_lm', num_labels=None)",
396
+ "model_meta": "ModelMeta(model_type='qwen2_5_vl', model_groups=[ModelGroup(models=[Model(ms_model_id='Qwen/Qwen2.5-VL-3B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-3B-Instruct', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-7B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-7B-Instruct', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-32B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-32B-Instruct', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-72B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-72B-Instruct', model_path=None, ms_revision=None, hf_revision=None)], template='qwen2_5_vl', ignore_patterns=None, requires=None, tags=[]), ModelGroup(models=[Model(ms_model_id='Qwen/Qwen2.5-VL-3B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-3B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-7B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-7B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-32B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-32B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-72B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-72B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None)], template='qwen2_5_vl', ignore_patterns=None, requires=None, tags=[]), ModelGroup(models=[Model(ms_model_id='XiaomiMiMo/MiMo-VL-7B-SFT', hf_model_id='XiaomiMiMo/MiMo-VL-7B-SFT', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='XiaomiMiMo/MiMo-VL-7B-RL', hf_model_id='XiaomiMiMo/MiMo-VL-7B-RL', model_path=None, ms_revision=None, hf_revision=None)], template='mimo_vl', ignore_patterns=None, requires=None, tags=[])], loader=<class 'swift.model.models.qwen.Qwen2_5VLLoader'>, template='qwen2_5_vl', model_arch=MultiModelKeys(arch_name='qwen2_vl', embedding=None, module_list=None, lm_head=None, q_proj=None, k_proj=None, v_proj=None, o_proj=None, attention=None, mlp=None, down_proj=None, qkv_proj=None, qk_proj=None, qa_proj=None, qb_proj=None, kv_proj=None, kva_proj=None, kvb_proj=None, language_model=['model.language_model', 'lm_head'], aligner=['model.visual.merger'], vision_tower=['model.visual'], generator=[]), mcore_model_type=None, architectures=['Qwen2_5_VLForConditionalGeneration'], additional_saved_files=[], torch_dtype=None, is_multimodal=True, is_reward=False, task_type=None, ignore_patterns=None, requires=['transformers>=4.49', 'qwen_vl_utils>=0.0.6', 'decord'], tags=[])",
397
+ "model_dir": "/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct",
398
+ "template_meta": "QwenTemplateMeta(template_type='qwen2_5_vl', prefix=[], prompt=['<|im_start|>user\\n{{QUERY}}<|im_end|>\\n<|im_start|>assistant\\n'], chat_sep=['<|im_end|>\\n'], suffix=['<|im_end|>\\n'], template_cls=<class 'swift.template.templates.qwen.Qwen2_5VLTemplate'>, system_prefix=['<|im_start|>system\\n{{SYSTEM}}<|im_end|>\\n'], default_system='You are a helpful assistant.', auto_add_bos=False, stop_words=['<|endoftext|>'], agent_template='hermes', is_thinking=False, thinking_prefix='', non_thinking_prefix='', history_thinking_prefix='')",
399
+ "_val_dataset_exists": true,
400
+ "hub": "<class 'swift.hub.hub.MSHub'>",
401
+ "evaluation_strategy": "epoch",
402
+ "training_args": "Seq2SeqTrainingArguments(output_dir='/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057', overwrite_output_dir=False, do_train=False, do_eval=True, do_predict=False, eval_strategy=<IntervalStrategy.EPOCH: 'epoch'>, prediction_loss_only=False, per_device_train_batch_size=1, per_device_eval_batch_size=1, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=8, eval_accumulation_steps=None, eval_delay=0, torch_empty_cache_steps=None, learning_rate=5e-05, weight_decay=0.1, adam_beta1=0.9, adam_beta2=0.95, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=2.0, max_steps=-1, lr_scheduler_type=<SchedulerType.COSINE: 'cosine'>, lr_scheduler_kwargs=None, warmup_ratio=0.2, warmup_steps=0, log_level='passive', log_level_replica='warning', log_on_each_node=True, logging_dir='/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/runs', logging_strategy=<IntervalStrategy.STEPS: 'steps'>, logging_first_step=True, logging_steps=1, logging_nan_inf_filter=True, save_strategy=<SaveStrategy.EPOCH: 'epoch'>, save_steps=500, save_total_limit=None, save_safetensors=True, save_on_each_node=False, save_only_model=False, restore_callback_states_from_checkpoint=False, no_cuda=False, use_cpu=False, use_mps_device=False, seed=42, data_seed=42, jit_mode_eval=False, bf16=True, fp16=False, fp16_opt_level='O1', half_precision_backend='auto', bf16_full_eval=False, fp16_full_eval=False, tf32=None, local_rank=0, ddp_backend=None, tpu_num_cores=None, tpu_metrics_debug=False, debug=[], dataloader_drop_last=False, eval_steps=2000.0, dataloader_num_workers=48, dataloader_prefetch_factor=2, past_index=-1, run_name='/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057', disable_tqdm=False, remove_unused_columns=False, label_names=None, load_best_model_at_end=False, metric_for_best_model='loss', greater_is_better=False, ignore_data_skip=False, fsdp=[], fsdp_min_num_params=0, fsdp_config={'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}, fsdp_transformer_layer_cls_to_wrap=None, accelerator_config=AcceleratorConfig(split_batches=False, dispatch_batches=False, even_batches=True, use_seedable_sampler=True, non_blocking=False, gradient_accumulation_kwargs=None, use_configured_state=False), parallelism_config=None, deepspeed={'fp16': {'enabled': 'auto', 'loss_scale': 0, 'loss_scale_window': 1000, 'initial_scale_power': 16, 'hysteresis': 2, 'min_loss_scale': 1}, 'bf16': {'enabled': 'auto'}, 'zero_optimization': {'stage': 3, 'offload_optimizer': {'device': 'none', 'pin_memory': True}, 'offload_param': {'device': 'none', 'pin_memory': True}, 'overlap_comm': False, 'contiguous_gradients': True, 'sub_group_size': 1000000000.0, 'reduce_bucket_size': 'auto', 'zero_quantized_weights': False, 'zero_quantized_gradients': False, 'stage3_prefetch_bucket_size': 'auto', 'stage3_param_persistence_threshold': 'auto', 'stage3_max_live_parameters': 1000000000.0, 'stage3_max_reuse_distance': 1000000000.0, 'stage3_gather_16bit_weights_on_model_save': True}, 'gradient_accumulation_steps': 'auto', 'gradient_clipping': 'auto', 'steps_per_print': 2000, 'train_batch_size': 'auto', 'train_micro_batch_size_per_gpu': 'auto', 'wall_clock_breakdown': False}, label_smoothing_factor=0.0, optim=<OptimizerNames.ADAMW_TORCH_FUSED: 'adamw_torch_fused'>, optim_args=None, adafactor=False, group_by_length=False, length_column_name='length', report_to=['tensorboard'], project='huggingface', trackio_space_id='trackio', ddp_find_unused_parameters=None, ddp_bucket_cap_mb=None, ddp_broadcast_buffers=None, dataloader_pin_memory=True, dataloader_persistent_workers=False, skip_memory_metrics=True, use_legacy_prediction_loop=False, push_to_hub=False, resume_from_checkpoint=None, hub_model_id=None, hub_strategy=<HubStrategy.EVERY_SAVE: 'every_save'>, hub_token=None, hub_private_repo=None, hub_always_push=False, hub_revision=None, gradient_checkpointing=True, gradient_checkpointing_kwargs=None, include_inputs_for_metrics=False, include_for_metrics=[], eval_do_concat_batches=True, fp16_backend='auto', push_to_hub_model_id=None, push_to_hub_organization=None, push_to_hub_token=None, mp_parameters='', auto_find_batch_size=False, full_determinism=False, torchdynamo=None, ray_scope='last', ddp_timeout=18000000, torch_compile=False, torch_compile_backend=None, torch_compile_mode=None, include_tokens_per_second=None, include_num_input_tokens_seen=None, neftune_noise_alpha=None, optim_target_modules=None, batch_eval_metrics=False, eval_on_start=False, use_liger_kernel=False, liger_kernel_config=None, eval_use_gather_object=False, average_tokens_across_devices=None, sortish_sampler=False, predict_with_generate=False, generation_max_length=None, generation_num_beams=None, generation_config=None, tuner_backend='peft', vit_gradient_checkpointing=True, router_aux_loss_coef=0.0, enable_dft_loss=False, enable_channel_loss=False, safe_serialization=True, max_shard_size='5GB', check_model=True, acc_strategy='token', train_dataloader_shuffle=True, max_epochs=None, aligner_lr=None, vit_lr=None, use_logits_to_keep=None, ds3_gather_for_generation=True, resume_only_model=False, optimizer=None, loss_type=None, eval_metric=None, callbacks=[], early_stop_interval=None, eval_use_evalscope=False, eval_dataset=[], eval_dataset_args=None, eval_limit=None, eval_generation_config=None, extra_eval_args=None, tuner_type='lora', use_galore=False, galore_target_modules=None, galore_rank=128, galore_update_proj_gap=50, galore_scale=1.0, galore_proj_type='std', galore_optim_per_parameter=False, galore_with_embedding=False, galore_quantization=False, galore_proj_quant=False, galore_proj_bits=4, galore_proj_group_size=256, galore_cos_threshold=0.4, galore_gamma_proj=2, galore_queue_size=5, lisa_activated_layers=0, lisa_step_interval=20, use_flash_ckpt=False)"
403
+ }
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:287e2bcefb6253ed8b45b79ad807f2697967afce025b2ba2d1c51a097ce5024c
3
+ size 154569157
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:799db15bb7cde0de8f4342bcbcf1a9e4b9d6973423d668b1923f680acff74800
3
+ size 154569157
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6443033bb25191b7d9a576f71fbcbdb94d2b50ae603d093fd14175d673b1ef59
3
+ size 154569157
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ba54cb957fbe12c2b986bf9b17ebe6da85375d808cc06cf5c56365f1c55e431d
3
+ size 154569157
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/zero_pp_rank_0_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dee1d0bfff9a1227418e4a67d588529eb69aabf6ecc018d57b368c26eda4ef20
3
+ size 766241
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/zero_pp_rank_1_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ccdc6f17819e84c4ce50109643efce192a115d4ed049838f9e626385a1094859
3
+ size 766241
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/zero_pp_rank_2_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c2e8fa754c15642022fa305fc6ea93d522d6b74481587c164939d512b11b842a
3
+ size 766241
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/global_step394/zero_pp_rank_3_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7d6ebbfc364320d2d153672e6bd3deda1a7aa72c2854f22bd64c16403d008d5a
3
+ size 766241
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/latest ADDED
@@ -0,0 +1 @@
 
 
1
+ global_step394
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/rng_state_0.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:896573e771d74e064376d38881cd4b078122797c17126dc4dfc997b621cc5ac6
3
+ size 15429
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/rng_state_1.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:54c981c54ebaac3235bea9791ea4db035522184b0ae26ff26eeb7f3a4e5835f9
3
+ size 15429
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/rng_state_2.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a1623a15e509683723159ea15c0ebe929e6c6579925f349f18eb0d280ef0ceea
3
+ size 15429
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/rng_state_3.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:85851983cd092edf0ed4f6e2d0b855da520b1f9d044c8d96897eecf8ab218ae9
3
+ size 15429
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e5231310b50f521b1700af4c096de931cb9a32e5a4590c23558cb566596c5699
3
+ size 1465
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/trainer_state.json ADDED
@@ -0,0 +1,3195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": 394,
3
+ "best_metric": 0.38288021,
4
+ "best_model_checkpoint": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394",
5
+ "epoch": 1.0,
6
+ "eval_steps": 2000.0,
7
+ "global_step": 394,
8
+ "is_hyper_param_search": false,
9
+ "is_local_process_zero": true,
10
+ "is_world_process_zero": true,
11
+ "log_history": [
12
+ {
13
+ "epoch": 0.0025388765471278957,
14
+ "grad_norm": 3.644420246106802,
15
+ "learning_rate": 3.1645569620253163e-07,
16
+ "loss": 1.318245530128479,
17
+ "step": 1,
18
+ "token_acc": 0.7163964997848228
19
+ },
20
+ {
21
+ "epoch": 0.0050777530942557915,
22
+ "grad_norm": 7.066332979169105,
23
+ "learning_rate": 6.329113924050633e-07,
24
+ "loss": 1.3213859796524048,
25
+ "step": 2,
26
+ "token_acc": 0.7273305758829144
27
+ },
28
+ {
29
+ "epoch": 0.007616629641383688,
30
+ "grad_norm": 10.199557510236037,
31
+ "learning_rate": 9.493670886075951e-07,
32
+ "loss": 1.3628352880477905,
33
+ "step": 3,
34
+ "token_acc": 0.7068235294117647
35
+ },
36
+ {
37
+ "epoch": 0.010155506188511583,
38
+ "grad_norm": 2.8758103179283525,
39
+ "learning_rate": 1.2658227848101265e-06,
40
+ "loss": 1.365400791168213,
41
+ "step": 4,
42
+ "token_acc": 0.7117047560222359
43
+ },
44
+ {
45
+ "epoch": 0.012694382735639479,
46
+ "grad_norm": 3.297140385498391,
47
+ "learning_rate": 1.5822784810126583e-06,
48
+ "loss": 1.400863528251648,
49
+ "step": 5,
50
+ "token_acc": 0.698011137629276
51
+ },
52
+ {
53
+ "epoch": 0.015233259282767376,
54
+ "grad_norm": 5.493150648764733,
55
+ "learning_rate": 1.8987341772151901e-06,
56
+ "loss": 1.35938560962677,
57
+ "step": 6,
58
+ "token_acc": 0.7149187592319055
59
+ },
60
+ {
61
+ "epoch": 0.017772135829895272,
62
+ "grad_norm": 8.171500030817667,
63
+ "learning_rate": 2.2151898734177215e-06,
64
+ "loss": 1.3011455535888672,
65
+ "step": 7,
66
+ "token_acc": 0.7231049321416749
67
+ },
68
+ {
69
+ "epoch": 0.020311012377023166,
70
+ "grad_norm": 5.827210745414414,
71
+ "learning_rate": 2.531645569620253e-06,
72
+ "loss": 1.417736291885376,
73
+ "step": 8,
74
+ "token_acc": 0.714411093558013
75
+ },
76
+ {
77
+ "epoch": 0.022849888924151063,
78
+ "grad_norm": 6.1293874585644526,
79
+ "learning_rate": 2.848101265822785e-06,
80
+ "loss": 1.378328800201416,
81
+ "step": 9,
82
+ "token_acc": 0.7031924072476272
83
+ },
84
+ {
85
+ "epoch": 0.025388765471278957,
86
+ "grad_norm": 3.520366609215098,
87
+ "learning_rate": 3.1645569620253167e-06,
88
+ "loss": 1.343224287033081,
89
+ "step": 10,
90
+ "token_acc": 0.7227991691963572
91
+ },
92
+ {
93
+ "epoch": 0.027927642018406855,
94
+ "grad_norm": 3.6585128819526824,
95
+ "learning_rate": 3.4810126582278482e-06,
96
+ "loss": 1.390702724456787,
97
+ "step": 11,
98
+ "token_acc": 0.7076406649616368
99
+ },
100
+ {
101
+ "epoch": 0.030466518565534752,
102
+ "grad_norm": 6.217581279052289,
103
+ "learning_rate": 3.7974683544303802e-06,
104
+ "loss": 1.3524142503738403,
105
+ "step": 12,
106
+ "token_acc": 0.7028127313101407
107
+ },
108
+ {
109
+ "epoch": 0.03300539511266265,
110
+ "grad_norm": 3.388086422416274,
111
+ "learning_rate": 4.113924050632911e-06,
112
+ "loss": 1.3935208320617676,
113
+ "step": 13,
114
+ "token_acc": 0.7046906654199782
115
+ },
116
+ {
117
+ "epoch": 0.035544271659790544,
118
+ "grad_norm": 8.332931037303998,
119
+ "learning_rate": 4.430379746835443e-06,
120
+ "loss": 1.3878122568130493,
121
+ "step": 14,
122
+ "token_acc": 0.7046968687541639
123
+ },
124
+ {
125
+ "epoch": 0.03808314820691844,
126
+ "grad_norm": 17.896380479546966,
127
+ "learning_rate": 4.746835443037975e-06,
128
+ "loss": 1.2754666805267334,
129
+ "step": 15,
130
+ "token_acc": 0.7242310577644411
131
+ },
132
+ {
133
+ "epoch": 0.04062202475404633,
134
+ "grad_norm": 11.46365102116194,
135
+ "learning_rate": 5.063291139240506e-06,
136
+ "loss": 1.3468568325042725,
137
+ "step": 16,
138
+ "token_acc": 0.7084963229541543
139
+ },
140
+ {
141
+ "epoch": 0.04316090130117423,
142
+ "grad_norm": 4.2821219745746655,
143
+ "learning_rate": 5.379746835443038e-06,
144
+ "loss": 1.40608549118042,
145
+ "step": 17,
146
+ "token_acc": 0.6968503937007874
147
+ },
148
+ {
149
+ "epoch": 0.04569977784830213,
150
+ "grad_norm": 13.278823682877052,
151
+ "learning_rate": 5.69620253164557e-06,
152
+ "loss": 1.300422191619873,
153
+ "step": 18,
154
+ "token_acc": 0.7242131505141789
155
+ },
156
+ {
157
+ "epoch": 0.04823865439543002,
158
+ "grad_norm": 2.778568201618841,
159
+ "learning_rate": 6.012658227848101e-06,
160
+ "loss": 1.3542265892028809,
161
+ "step": 19,
162
+ "token_acc": 0.7110212691158376
163
+ },
164
+ {
165
+ "epoch": 0.050777530942557915,
166
+ "grad_norm": 10.575315873473542,
167
+ "learning_rate": 6.329113924050633e-06,
168
+ "loss": 1.3549412488937378,
169
+ "step": 20,
170
+ "token_acc": 0.7120073608342279
171
+ },
172
+ {
173
+ "epoch": 0.053316407489685816,
174
+ "grad_norm": 4.651761760848563,
175
+ "learning_rate": 6.6455696202531645e-06,
176
+ "loss": 1.3315010070800781,
177
+ "step": 21,
178
+ "token_acc": 0.7172937521574042
179
+ },
180
+ {
181
+ "epoch": 0.05585528403681371,
182
+ "grad_norm": 11.039499603303584,
183
+ "learning_rate": 6.9620253164556965e-06,
184
+ "loss": 1.3607463836669922,
185
+ "step": 22,
186
+ "token_acc": 0.7119058535839828
187
+ },
188
+ {
189
+ "epoch": 0.058394160583941604,
190
+ "grad_norm": 21.786442056735186,
191
+ "learning_rate": 7.2784810126582285e-06,
192
+ "loss": 1.3679276704788208,
193
+ "step": 23,
194
+ "token_acc": 0.7060693204177387
195
+ },
196
+ {
197
+ "epoch": 0.060933037131069505,
198
+ "grad_norm": 3.8926457068624027,
199
+ "learning_rate": 7.5949367088607605e-06,
200
+ "loss": 1.230813980102539,
201
+ "step": 24,
202
+ "token_acc": 0.7303050847457627
203
+ },
204
+ {
205
+ "epoch": 0.06347191367819739,
206
+ "grad_norm": 27.273056033594486,
207
+ "learning_rate": 7.911392405063292e-06,
208
+ "loss": 1.2661793231964111,
209
+ "step": 25,
210
+ "token_acc": 0.7191495088144261
211
+ },
212
+ {
213
+ "epoch": 0.0660107902253253,
214
+ "grad_norm": 17.170751148909975,
215
+ "learning_rate": 8.227848101265822e-06,
216
+ "loss": 1.3003311157226562,
217
+ "step": 26,
218
+ "token_acc": 0.7185164292765477
219
+ },
220
+ {
221
+ "epoch": 0.0685496667724532,
222
+ "grad_norm": 4.4377062155304925,
223
+ "learning_rate": 8.544303797468354e-06,
224
+ "loss": 1.3472293615341187,
225
+ "step": 27,
226
+ "token_acc": 0.7084078711985689
227
+ },
228
+ {
229
+ "epoch": 0.07108854331958109,
230
+ "grad_norm": 28.824459578387078,
231
+ "learning_rate": 8.860759493670886e-06,
232
+ "loss": 1.2210255861282349,
233
+ "step": 28,
234
+ "token_acc": 0.7316366961292289
235
+ },
236
+ {
237
+ "epoch": 0.07362741986670898,
238
+ "grad_norm": 6.453710147572056,
239
+ "learning_rate": 9.177215189873418e-06,
240
+ "loss": 1.3194985389709473,
241
+ "step": 29,
242
+ "token_acc": 0.7122530736289543
243
+ },
244
+ {
245
+ "epoch": 0.07616629641383688,
246
+ "grad_norm": 5.834087298103824,
247
+ "learning_rate": 9.49367088607595e-06,
248
+ "loss": 1.2912172079086304,
249
+ "step": 30,
250
+ "token_acc": 0.7186076772934288
251
+ },
252
+ {
253
+ "epoch": 0.07870517296096477,
254
+ "grad_norm": 2.871547428905148,
255
+ "learning_rate": 9.81012658227848e-06,
256
+ "loss": 1.315631628036499,
257
+ "step": 31,
258
+ "token_acc": 0.7080590902442592
259
+ },
260
+ {
261
+ "epoch": 0.08124404950809266,
262
+ "grad_norm": 3.6221352179116657,
263
+ "learning_rate": 1.0126582278481012e-05,
264
+ "loss": 1.2459921836853027,
265
+ "step": 32,
266
+ "token_acc": 0.7226173541963016
267
+ },
268
+ {
269
+ "epoch": 0.08378292605522057,
270
+ "grad_norm": 8.000389558921656,
271
+ "learning_rate": 1.0443037974683544e-05,
272
+ "loss": 1.271647334098816,
273
+ "step": 33,
274
+ "token_acc": 0.7218111867416396
275
+ },
276
+ {
277
+ "epoch": 0.08632180260234847,
278
+ "grad_norm": 4.361540191205865,
279
+ "learning_rate": 1.0759493670886076e-05,
280
+ "loss": 1.274230718612671,
281
+ "step": 34,
282
+ "token_acc": 0.7135694646611677
283
+ },
284
+ {
285
+ "epoch": 0.08886067914947636,
286
+ "grad_norm": 4.9147142745551164,
287
+ "learning_rate": 1.1075949367088608e-05,
288
+ "loss": 1.2685215473175049,
289
+ "step": 35,
290
+ "token_acc": 0.7207676044885347
291
+ },
292
+ {
293
+ "epoch": 0.09139955569660425,
294
+ "grad_norm": 3.195151105054266,
295
+ "learning_rate": 1.139240506329114e-05,
296
+ "loss": 1.299472451210022,
297
+ "step": 36,
298
+ "token_acc": 0.7125310717941219
299
+ },
300
+ {
301
+ "epoch": 0.09393843224373215,
302
+ "grad_norm": 2.6222925030737736,
303
+ "learning_rate": 1.170886075949367e-05,
304
+ "loss": 1.184287428855896,
305
+ "step": 37,
306
+ "token_acc": 0.7353410097431355
307
+ },
308
+ {
309
+ "epoch": 0.09647730879086004,
310
+ "grad_norm": 2.8207306382492585,
311
+ "learning_rate": 1.2025316455696203e-05,
312
+ "loss": 1.2705498933792114,
313
+ "step": 38,
314
+ "token_acc": 0.7183790421612771
315
+ },
316
+ {
317
+ "epoch": 0.09901618533798794,
318
+ "grad_norm": 4.451363242439522,
319
+ "learning_rate": 1.2341772151898735e-05,
320
+ "loss": 1.1410255432128906,
321
+ "step": 39,
322
+ "token_acc": 0.7343029443064917
323
+ },
324
+ {
325
+ "epoch": 0.10155506188511583,
326
+ "grad_norm": 5.113673628483296,
327
+ "learning_rate": 1.2658227848101267e-05,
328
+ "loss": 1.1782591342926025,
329
+ "step": 40,
330
+ "token_acc": 0.7327224724336077
331
+ },
332
+ {
333
+ "epoch": 0.10409393843224374,
334
+ "grad_norm": 3.5593986457435083,
335
+ "learning_rate": 1.2974683544303799e-05,
336
+ "loss": 1.1586289405822754,
337
+ "step": 41,
338
+ "token_acc": 0.7429899957728617
339
+ },
340
+ {
341
+ "epoch": 0.10663281497937163,
342
+ "grad_norm": 2.9195256626560684,
343
+ "learning_rate": 1.3291139240506329e-05,
344
+ "loss": 1.139272689819336,
345
+ "step": 42,
346
+ "token_acc": 0.7421777221526908
347
+ },
348
+ {
349
+ "epoch": 0.10917169152649953,
350
+ "grad_norm": 20.803104301053065,
351
+ "learning_rate": 1.3607594936708861e-05,
352
+ "loss": 1.1704292297363281,
353
+ "step": 43,
354
+ "token_acc": 0.7285796434732605
355
+ },
356
+ {
357
+ "epoch": 0.11171056807362742,
358
+ "grad_norm": 3.471589836187823,
359
+ "learning_rate": 1.3924050632911393e-05,
360
+ "loss": 1.1391760110855103,
361
+ "step": 44,
362
+ "token_acc": 0.7379228837346727
363
+ },
364
+ {
365
+ "epoch": 0.11424944462075531,
366
+ "grad_norm": 5.205417449479473,
367
+ "learning_rate": 1.4240506329113925e-05,
368
+ "loss": 1.1042394638061523,
369
+ "step": 45,
370
+ "token_acc": 0.7448979591836735
371
+ },
372
+ {
373
+ "epoch": 0.11678832116788321,
374
+ "grad_norm": 4.3574672102801015,
375
+ "learning_rate": 1.4556962025316457e-05,
376
+ "loss": 1.0657453536987305,
377
+ "step": 46,
378
+ "token_acc": 0.7489454347530277
379
+ },
380
+ {
381
+ "epoch": 0.1193271977150111,
382
+ "grad_norm": 23.053778423920146,
383
+ "learning_rate": 1.4873417721518987e-05,
384
+ "loss": 1.1951930522918701,
385
+ "step": 47,
386
+ "token_acc": 0.7246397287369314
387
+ },
388
+ {
389
+ "epoch": 0.12186607426213901,
390
+ "grad_norm": 3.803629904444073,
391
+ "learning_rate": 1.5189873417721521e-05,
392
+ "loss": 1.0914082527160645,
393
+ "step": 48,
394
+ "token_acc": 0.745520801700577
395
+ },
396
+ {
397
+ "epoch": 0.1244049508092669,
398
+ "grad_norm": 6.689336514482712,
399
+ "learning_rate": 1.550632911392405e-05,
400
+ "loss": 1.1104226112365723,
401
+ "step": 49,
402
+ "token_acc": 0.7371739753511035
403
+ },
404
+ {
405
+ "epoch": 0.12694382735639478,
406
+ "grad_norm": 13.295611456338577,
407
+ "learning_rate": 1.5822784810126583e-05,
408
+ "loss": 1.114711880683899,
409
+ "step": 50,
410
+ "token_acc": 0.734084314729476
411
+ },
412
+ {
413
+ "epoch": 0.12948270390352268,
414
+ "grad_norm": 3.6818930607365474,
415
+ "learning_rate": 1.6139240506329115e-05,
416
+ "loss": 1.0886123180389404,
417
+ "step": 51,
418
+ "token_acc": 0.7460102378801566
419
+ },
420
+ {
421
+ "epoch": 0.1320215804506506,
422
+ "grad_norm": 2.068572818027539,
423
+ "learning_rate": 1.6455696202531644e-05,
424
+ "loss": 0.9962466359138489,
425
+ "step": 52,
426
+ "token_acc": 0.7619711761971176
427
+ },
428
+ {
429
+ "epoch": 0.1345604569977785,
430
+ "grad_norm": 2.3029328438465955,
431
+ "learning_rate": 1.677215189873418e-05,
432
+ "loss": 1.048902153968811,
433
+ "step": 53,
434
+ "token_acc": 0.7497123130034522
435
+ },
436
+ {
437
+ "epoch": 0.1370993335449064,
438
+ "grad_norm": 5.7047860384924505,
439
+ "learning_rate": 1.7088607594936708e-05,
440
+ "loss": 1.0195245742797852,
441
+ "step": 54,
442
+ "token_acc": 0.7620052770448549
443
+ },
444
+ {
445
+ "epoch": 0.13963821009203428,
446
+ "grad_norm": 6.477061508345248,
447
+ "learning_rate": 1.7405063291139243e-05,
448
+ "loss": 1.081801176071167,
449
+ "step": 55,
450
+ "token_acc": 0.7465539422900203
451
+ },
452
+ {
453
+ "epoch": 0.14217708663916218,
454
+ "grad_norm": 6.2376824743665855,
455
+ "learning_rate": 1.7721518987341772e-05,
456
+ "loss": 1.0337473154067993,
457
+ "step": 56,
458
+ "token_acc": 0.7620926243567753
459
+ },
460
+ {
461
+ "epoch": 0.14471596318629007,
462
+ "grad_norm": 2.5584859222177037,
463
+ "learning_rate": 1.8037974683544304e-05,
464
+ "loss": 1.0235919952392578,
465
+ "step": 57,
466
+ "token_acc": 0.7479560191711305
467
+ },
468
+ {
469
+ "epoch": 0.14725483973341796,
470
+ "grad_norm": 1.6007308463984253,
471
+ "learning_rate": 1.8354430379746836e-05,
472
+ "loss": 1.026627540588379,
473
+ "step": 58,
474
+ "token_acc": 0.7545010680500458
475
+ },
476
+ {
477
+ "epoch": 0.14979371628054586,
478
+ "grad_norm": 3.5256130287772764,
479
+ "learning_rate": 1.8670886075949368e-05,
480
+ "loss": 1.0003381967544556,
481
+ "step": 59,
482
+ "token_acc": 0.7527782006393667
483
+ },
484
+ {
485
+ "epoch": 0.15233259282767375,
486
+ "grad_norm": 3.7023204963636838,
487
+ "learning_rate": 1.89873417721519e-05,
488
+ "loss": 0.9081876873970032,
489
+ "step": 60,
490
+ "token_acc": 0.7770368222673238
491
+ },
492
+ {
493
+ "epoch": 0.15487146937480165,
494
+ "grad_norm": 13.207752417441773,
495
+ "learning_rate": 1.9303797468354432e-05,
496
+ "loss": 1.0521725416183472,
497
+ "step": 61,
498
+ "token_acc": 0.7498269417139692
499
+ },
500
+ {
501
+ "epoch": 0.15741034592192954,
502
+ "grad_norm": 5.75860602043051,
503
+ "learning_rate": 1.962025316455696e-05,
504
+ "loss": 0.9959630966186523,
505
+ "step": 62,
506
+ "token_acc": 0.7539973595423207
507
+ },
508
+ {
509
+ "epoch": 0.15994922246905743,
510
+ "grad_norm": 2.1358911014473065,
511
+ "learning_rate": 1.9936708860759496e-05,
512
+ "loss": 0.9936040639877319,
513
+ "step": 63,
514
+ "token_acc": 0.7573317125056982
515
+ },
516
+ {
517
+ "epoch": 0.16248809901618533,
518
+ "grad_norm": 3.6065860167804553,
519
+ "learning_rate": 2.0253164556962025e-05,
520
+ "loss": 0.9302588701248169,
521
+ "step": 64,
522
+ "token_acc": 0.7660311958405546
523
+ },
524
+ {
525
+ "epoch": 0.16502697556331322,
526
+ "grad_norm": 3.4010076126873536,
527
+ "learning_rate": 2.056962025316456e-05,
528
+ "loss": 0.9686568975448608,
529
+ "step": 65,
530
+ "token_acc": 0.7588071919310042
531
+ },
532
+ {
533
+ "epoch": 0.16756585211044114,
534
+ "grad_norm": 8.25772123801425,
535
+ "learning_rate": 2.088607594936709e-05,
536
+ "loss": 0.9752371907234192,
537
+ "step": 66,
538
+ "token_acc": 0.7534704800133801
539
+ },
540
+ {
541
+ "epoch": 0.17010472865756904,
542
+ "grad_norm": 2.759694488314889,
543
+ "learning_rate": 2.120253164556962e-05,
544
+ "loss": 0.8781665563583374,
545
+ "step": 67,
546
+ "token_acc": 0.7766960284345542
547
+ },
548
+ {
549
+ "epoch": 0.17264360520469693,
550
+ "grad_norm": 6.065387925549159,
551
+ "learning_rate": 2.1518987341772153e-05,
552
+ "loss": 0.8539150953292847,
553
+ "step": 68,
554
+ "token_acc": 0.7778531456672885
555
+ },
556
+ {
557
+ "epoch": 0.17518248175182483,
558
+ "grad_norm": 6.273759879651115,
559
+ "learning_rate": 2.1835443037974685e-05,
560
+ "loss": 0.8206325173377991,
561
+ "step": 69,
562
+ "token_acc": 0.7851107226107226
563
+ },
564
+ {
565
+ "epoch": 0.17772135829895272,
566
+ "grad_norm": 6.797725562475832,
567
+ "learning_rate": 2.2151898734177217e-05,
568
+ "loss": 0.899059534072876,
569
+ "step": 70,
570
+ "token_acc": 0.7692409240924093
571
+ },
572
+ {
573
+ "epoch": 0.1802602348460806,
574
+ "grad_norm": 14.741247422293133,
575
+ "learning_rate": 2.246835443037975e-05,
576
+ "loss": 0.9375818371772766,
577
+ "step": 71,
578
+ "token_acc": 0.7635605006954103
579
+ },
580
+ {
581
+ "epoch": 0.1827991113932085,
582
+ "grad_norm": 2.91554003314857,
583
+ "learning_rate": 2.278481012658228e-05,
584
+ "loss": 0.8030121326446533,
585
+ "step": 72,
586
+ "token_acc": 0.7937145989402521
587
+ },
588
+ {
589
+ "epoch": 0.1853379879403364,
590
+ "grad_norm": 3.256147486736755,
591
+ "learning_rate": 2.3101265822784813e-05,
592
+ "loss": 0.9064524173736572,
593
+ "step": 73,
594
+ "token_acc": 0.7655107017068545
595
+ },
596
+ {
597
+ "epoch": 0.1878768644874643,
598
+ "grad_norm": 2.189919100543407,
599
+ "learning_rate": 2.341772151898734e-05,
600
+ "loss": 0.7569831609725952,
601
+ "step": 74,
602
+ "token_acc": 0.7891252955082743
603
+ },
604
+ {
605
+ "epoch": 0.1904157410345922,
606
+ "grad_norm": 3.0168260923297563,
607
+ "learning_rate": 2.3734177215189873e-05,
608
+ "loss": 0.8783301115036011,
609
+ "step": 75,
610
+ "token_acc": 0.7689860284963342
611
+ },
612
+ {
613
+ "epoch": 0.19295461758172008,
614
+ "grad_norm": 14.13725393363498,
615
+ "learning_rate": 2.4050632911392405e-05,
616
+ "loss": 0.8693279027938843,
617
+ "step": 76,
618
+ "token_acc": 0.7832378223495702
619
+ },
620
+ {
621
+ "epoch": 0.19549349412884798,
622
+ "grad_norm": 4.663170307038689,
623
+ "learning_rate": 2.4367088607594937e-05,
624
+ "loss": 0.9367852807044983,
625
+ "step": 77,
626
+ "token_acc": 0.7587620685094564
627
+ },
628
+ {
629
+ "epoch": 0.19803237067597587,
630
+ "grad_norm": 2.0251332116596314,
631
+ "learning_rate": 2.468354430379747e-05,
632
+ "loss": 0.9105110764503479,
633
+ "step": 78,
634
+ "token_acc": 0.7696913251729643
635
+ },
636
+ {
637
+ "epoch": 0.20057124722310377,
638
+ "grad_norm": 2.9353487138799976,
639
+ "learning_rate": 2.5e-05,
640
+ "loss": 0.812760055065155,
641
+ "step": 79,
642
+ "token_acc": 0.7861037544788908
643
+ },
644
+ {
645
+ "epoch": 0.20311012377023166,
646
+ "grad_norm": 6.81850589494243,
647
+ "learning_rate": 2.5316455696202533e-05,
648
+ "loss": 0.8404111266136169,
649
+ "step": 80,
650
+ "token_acc": 0.7826737386100912
651
+ },
652
+ {
653
+ "epoch": 0.20564900031735958,
654
+ "grad_norm": 5.8636033139277925,
655
+ "learning_rate": 2.5632911392405062e-05,
656
+ "loss": 0.7662273049354553,
657
+ "step": 81,
658
+ "token_acc": 0.7912533814247069
659
+ },
660
+ {
661
+ "epoch": 0.20818787686448748,
662
+ "grad_norm": 3.1667411014534554,
663
+ "learning_rate": 2.5949367088607597e-05,
664
+ "loss": 0.8550683259963989,
665
+ "step": 82,
666
+ "token_acc": 0.7763946519133241
667
+ },
668
+ {
669
+ "epoch": 0.21072675341161537,
670
+ "grad_norm": 2.9382867326927786,
671
+ "learning_rate": 2.626582278481013e-05,
672
+ "loss": 0.728255033493042,
673
+ "step": 83,
674
+ "token_acc": 0.7997798049701164
675
+ },
676
+ {
677
+ "epoch": 0.21326562995874326,
678
+ "grad_norm": 4.413930575957828,
679
+ "learning_rate": 2.6582278481012658e-05,
680
+ "loss": 0.7953159213066101,
681
+ "step": 84,
682
+ "token_acc": 0.7851035843472542
683
+ },
684
+ {
685
+ "epoch": 0.21580450650587116,
686
+ "grad_norm": 2.2548226528829085,
687
+ "learning_rate": 2.689873417721519e-05,
688
+ "loss": 0.8843717575073242,
689
+ "step": 85,
690
+ "token_acc": 0.7768637532133676
691
+ },
692
+ {
693
+ "epoch": 0.21834338305299905,
694
+ "grad_norm": 13.172644883413941,
695
+ "learning_rate": 2.7215189873417722e-05,
696
+ "loss": 0.8480836749076843,
697
+ "step": 86,
698
+ "token_acc": 0.7769437756691687
699
+ },
700
+ {
701
+ "epoch": 0.22088225960012695,
702
+ "grad_norm": 13.962359276231266,
703
+ "learning_rate": 2.7531645569620257e-05,
704
+ "loss": 0.7050020098686218,
705
+ "step": 87,
706
+ "token_acc": 0.8056864831990269
707
+ },
708
+ {
709
+ "epoch": 0.22342113614725484,
710
+ "grad_norm": 4.2019275549330555,
711
+ "learning_rate": 2.7848101265822786e-05,
712
+ "loss": 0.7555727958679199,
713
+ "step": 88,
714
+ "token_acc": 0.7975503308461214
715
+ },
716
+ {
717
+ "epoch": 0.22596001269438273,
718
+ "grad_norm": 5.0153336369322,
719
+ "learning_rate": 2.8164556962025318e-05,
720
+ "loss": 0.7249046564102173,
721
+ "step": 89,
722
+ "token_acc": 0.8017741935483871
723
+ },
724
+ {
725
+ "epoch": 0.22849888924151063,
726
+ "grad_norm": 11.63320257189594,
727
+ "learning_rate": 2.848101265822785e-05,
728
+ "loss": 0.688890814781189,
729
+ "step": 90,
730
+ "token_acc": 0.8080682699767261
731
+ },
732
+ {
733
+ "epoch": 0.23103776578863852,
734
+ "grad_norm": 5.457398735429565,
735
+ "learning_rate": 2.879746835443038e-05,
736
+ "loss": 0.7510577440261841,
737
+ "step": 91,
738
+ "token_acc": 0.7953611274221961
739
+ },
740
+ {
741
+ "epoch": 0.23357664233576642,
742
+ "grad_norm": 4.530006374919538,
743
+ "learning_rate": 2.9113924050632914e-05,
744
+ "loss": 0.7740436792373657,
745
+ "step": 92,
746
+ "token_acc": 0.7910108958837773
747
+ },
748
+ {
749
+ "epoch": 0.2361155188828943,
750
+ "grad_norm": 3.283408990769055,
751
+ "learning_rate": 2.9430379746835446e-05,
752
+ "loss": 0.6994897127151489,
753
+ "step": 93,
754
+ "token_acc": 0.8084580953850903
755
+ },
756
+ {
757
+ "epoch": 0.2386543954300222,
758
+ "grad_norm": 3.74567677581687,
759
+ "learning_rate": 2.9746835443037974e-05,
760
+ "loss": 0.6745874285697937,
761
+ "step": 94,
762
+ "token_acc": 0.8121098626716604
763
+ },
764
+ {
765
+ "epoch": 0.2411932719771501,
766
+ "grad_norm": 2.481160635241608,
767
+ "learning_rate": 3.0063291139240506e-05,
768
+ "loss": 0.7404159307479858,
769
+ "step": 95,
770
+ "token_acc": 0.8046498830650709
771
+ },
772
+ {
773
+ "epoch": 0.24373214852427802,
774
+ "grad_norm": 3.011989315773918,
775
+ "learning_rate": 3.0379746835443042e-05,
776
+ "loss": 0.6883790493011475,
777
+ "step": 96,
778
+ "token_acc": 0.8137285986049461
779
+ },
780
+ {
781
+ "epoch": 0.2462710250714059,
782
+ "grad_norm": 3.977588680498373,
783
+ "learning_rate": 3.0696202531645574e-05,
784
+ "loss": 0.7354066371917725,
785
+ "step": 97,
786
+ "token_acc": 0.8012324221835994
787
+ },
788
+ {
789
+ "epoch": 0.2488099016185338,
790
+ "grad_norm": 2.4417231744019787,
791
+ "learning_rate": 3.10126582278481e-05,
792
+ "loss": 0.7102183103561401,
793
+ "step": 98,
794
+ "token_acc": 0.801501463290495
795
+ },
796
+ {
797
+ "epoch": 0.2513487781656617,
798
+ "grad_norm": 5.211297364565694,
799
+ "learning_rate": 3.132911392405064e-05,
800
+ "loss": 0.7254366278648376,
801
+ "step": 99,
802
+ "token_acc": 0.8042974184572577
803
+ },
804
+ {
805
+ "epoch": 0.25388765471278957,
806
+ "grad_norm": 4.740070832115608,
807
+ "learning_rate": 3.1645569620253167e-05,
808
+ "loss": 0.71342533826828,
809
+ "step": 100,
810
+ "token_acc": 0.8091580057237536
811
+ },
812
+ {
813
+ "epoch": 0.2564265312599175,
814
+ "grad_norm": 5.296776098340419,
815
+ "learning_rate": 3.1962025316455695e-05,
816
+ "loss": 0.7370377779006958,
817
+ "step": 101,
818
+ "token_acc": 0.8084075636818253
819
+ },
820
+ {
821
+ "epoch": 0.25896540780704536,
822
+ "grad_norm": 4.396582033002235,
823
+ "learning_rate": 3.227848101265823e-05,
824
+ "loss": 0.671318531036377,
825
+ "step": 102,
826
+ "token_acc": 0.8183896782622897
827
+ },
828
+ {
829
+ "epoch": 0.2615042843541733,
830
+ "grad_norm": 2.6335454183216696,
831
+ "learning_rate": 3.2594936708860766e-05,
832
+ "loss": 0.6583906412124634,
833
+ "step": 103,
834
+ "token_acc": 0.8211532014750251
835
+ },
836
+ {
837
+ "epoch": 0.2640431609013012,
838
+ "grad_norm": 6.236411278449773,
839
+ "learning_rate": 3.291139240506329e-05,
840
+ "loss": 0.7536572217941284,
841
+ "step": 104,
842
+ "token_acc": 0.7975090397750101
843
+ },
844
+ {
845
+ "epoch": 0.26658203744842907,
846
+ "grad_norm": 2.5341922649732602,
847
+ "learning_rate": 3.322784810126582e-05,
848
+ "loss": 0.6701930165290833,
849
+ "step": 105,
850
+ "token_acc": 0.8116928446771379
851
+ },
852
+ {
853
+ "epoch": 0.269120913995557,
854
+ "grad_norm": 11.881079085435806,
855
+ "learning_rate": 3.354430379746836e-05,
856
+ "loss": 0.5909067392349243,
857
+ "step": 106,
858
+ "token_acc": 0.8345961631468645
859
+ },
860
+ {
861
+ "epoch": 0.27165979054268485,
862
+ "grad_norm": 2.384697440414924,
863
+ "learning_rate": 3.386075949367089e-05,
864
+ "loss": 0.6282612085342407,
865
+ "step": 107,
866
+ "token_acc": 0.823628821631587
867
+ },
868
+ {
869
+ "epoch": 0.2741986670898128,
870
+ "grad_norm": 2.1995079597886673,
871
+ "learning_rate": 3.4177215189873416e-05,
872
+ "loss": 0.6936606764793396,
873
+ "step": 108,
874
+ "token_acc": 0.8020663404023926
875
+ },
876
+ {
877
+ "epoch": 0.27673754363694064,
878
+ "grad_norm": 4.861432353099602,
879
+ "learning_rate": 3.449367088607595e-05,
880
+ "loss": 0.778184175491333,
881
+ "step": 109,
882
+ "token_acc": 0.78875
883
+ },
884
+ {
885
+ "epoch": 0.27927642018406856,
886
+ "grad_norm": 9.57103993272581,
887
+ "learning_rate": 3.4810126582278487e-05,
888
+ "loss": 0.6751368641853333,
889
+ "step": 110,
890
+ "token_acc": 0.8148423557406306
891
+ },
892
+ {
893
+ "epoch": 0.28181529673119643,
894
+ "grad_norm": 13.549564951896668,
895
+ "learning_rate": 3.5126582278481015e-05,
896
+ "loss": 0.7030066251754761,
897
+ "step": 111,
898
+ "token_acc": 0.805439330543933
899
+ },
900
+ {
901
+ "epoch": 0.28435417327832435,
902
+ "grad_norm": 5.1073725117939475,
903
+ "learning_rate": 3.5443037974683544e-05,
904
+ "loss": 0.6886919736862183,
905
+ "step": 112,
906
+ "token_acc": 0.8083333333333333
907
+ },
908
+ {
909
+ "epoch": 0.2868930498254522,
910
+ "grad_norm": 22.063583297317187,
911
+ "learning_rate": 3.575949367088608e-05,
912
+ "loss": 0.6610169410705566,
913
+ "step": 113,
914
+ "token_acc": 0.8150403409955853
915
+ },
916
+ {
917
+ "epoch": 0.28943192637258014,
918
+ "grad_norm": 18.72026765015026,
919
+ "learning_rate": 3.607594936708861e-05,
920
+ "loss": 0.6841698884963989,
921
+ "step": 114,
922
+ "token_acc": 0.8123032904148784
923
+ },
924
+ {
925
+ "epoch": 0.291970802919708,
926
+ "grad_norm": 2.864881799429328,
927
+ "learning_rate": 3.639240506329114e-05,
928
+ "loss": 0.6466969847679138,
929
+ "step": 115,
930
+ "token_acc": 0.8172187406744256
931
+ },
932
+ {
933
+ "epoch": 0.2945096794668359,
934
+ "grad_norm": 6.716337706090099,
935
+ "learning_rate": 3.670886075949367e-05,
936
+ "loss": 0.6078028678894043,
937
+ "step": 116,
938
+ "token_acc": 0.8346497252747253
939
+ },
940
+ {
941
+ "epoch": 0.2970485560139638,
942
+ "grad_norm": 5.564745491758841,
943
+ "learning_rate": 3.70253164556962e-05,
944
+ "loss": 0.664849042892456,
945
+ "step": 117,
946
+ "token_acc": 0.8190188679245283
947
+ },
948
+ {
949
+ "epoch": 0.2995874325610917,
950
+ "grad_norm": 28.630717891823956,
951
+ "learning_rate": 3.7341772151898736e-05,
952
+ "loss": 0.6384534239768982,
953
+ "step": 118,
954
+ "token_acc": 0.8220830070477682
955
+ },
956
+ {
957
+ "epoch": 0.30212630910821964,
958
+ "grad_norm": 12.273392356907912,
959
+ "learning_rate": 3.765822784810127e-05,
960
+ "loss": 0.6201878190040588,
961
+ "step": 119,
962
+ "token_acc": 0.8250733897427042
963
+ },
964
+ {
965
+ "epoch": 0.3046651856553475,
966
+ "grad_norm": 4.192852448588315,
967
+ "learning_rate": 3.79746835443038e-05,
968
+ "loss": 0.6979496479034424,
969
+ "step": 120,
970
+ "token_acc": 0.8104520945665699
971
+ },
972
+ {
973
+ "epoch": 0.3072040622024754,
974
+ "grad_norm": 3.4657196050906567,
975
+ "learning_rate": 3.829113924050633e-05,
976
+ "loss": 0.6550031304359436,
977
+ "step": 121,
978
+ "token_acc": 0.8187575798409917
979
+ },
980
+ {
981
+ "epoch": 0.3097429387496033,
982
+ "grad_norm": 27.787374024365484,
983
+ "learning_rate": 3.8607594936708864e-05,
984
+ "loss": 0.6515278220176697,
985
+ "step": 122,
986
+ "token_acc": 0.8171852329517976
987
+ },
988
+ {
989
+ "epoch": 0.3122818152967312,
990
+ "grad_norm": 4.0417548472450715,
991
+ "learning_rate": 3.89240506329114e-05,
992
+ "loss": 0.605487585067749,
993
+ "step": 123,
994
+ "token_acc": 0.8265876933201711
995
+ },
996
+ {
997
+ "epoch": 0.3148206918438591,
998
+ "grad_norm": 3.8292748886400765,
999
+ "learning_rate": 3.924050632911392e-05,
1000
+ "loss": 0.6631138324737549,
1001
+ "step": 124,
1002
+ "token_acc": 0.8129932356257046
1003
+ },
1004
+ {
1005
+ "epoch": 0.317359568390987,
1006
+ "grad_norm": 8.960479693493973,
1007
+ "learning_rate": 3.9556962025316456e-05,
1008
+ "loss": 0.6087026596069336,
1009
+ "step": 125,
1010
+ "token_acc": 0.8281978055012776
1011
+ },
1012
+ {
1013
+ "epoch": 0.31989844493811487,
1014
+ "grad_norm": 4.011722457924042,
1015
+ "learning_rate": 3.987341772151899e-05,
1016
+ "loss": 0.7122887372970581,
1017
+ "step": 126,
1018
+ "token_acc": 0.8093482748451785
1019
+ },
1020
+ {
1021
+ "epoch": 0.3224373214852428,
1022
+ "grad_norm": 31.39830164995725,
1023
+ "learning_rate": 4.018987341772152e-05,
1024
+ "loss": 0.6663644313812256,
1025
+ "step": 127,
1026
+ "token_acc": 0.8180548501777553
1027
+ },
1028
+ {
1029
+ "epoch": 0.32497619803237066,
1030
+ "grad_norm": 4.425596331791689,
1031
+ "learning_rate": 4.050632911392405e-05,
1032
+ "loss": 0.6300691366195679,
1033
+ "step": 128,
1034
+ "token_acc": 0.8203907404367099
1035
+ },
1036
+ {
1037
+ "epoch": 0.3275150745794986,
1038
+ "grad_norm": 16.1083849209539,
1039
+ "learning_rate": 4.0822784810126584e-05,
1040
+ "loss": 0.6704287528991699,
1041
+ "step": 129,
1042
+ "token_acc": 0.8078627591136526
1043
+ },
1044
+ {
1045
+ "epoch": 0.33005395112662644,
1046
+ "grad_norm": 2.2389483956009752,
1047
+ "learning_rate": 4.113924050632912e-05,
1048
+ "loss": 0.7170148491859436,
1049
+ "step": 130,
1050
+ "token_acc": 0.8084219603334292
1051
+ },
1052
+ {
1053
+ "epoch": 0.33259282767375437,
1054
+ "grad_norm": 3.613513118589346,
1055
+ "learning_rate": 4.145569620253165e-05,
1056
+ "loss": 0.6717650890350342,
1057
+ "step": 131,
1058
+ "token_acc": 0.8138652912621359
1059
+ },
1060
+ {
1061
+ "epoch": 0.3351317042208823,
1062
+ "grad_norm": 5.5827028571809105,
1063
+ "learning_rate": 4.177215189873418e-05,
1064
+ "loss": 0.6085385084152222,
1065
+ "step": 132,
1066
+ "token_acc": 0.8274016203703703
1067
+ },
1068
+ {
1069
+ "epoch": 0.33767058076801015,
1070
+ "grad_norm": 5.37295628319291,
1071
+ "learning_rate": 4.208860759493671e-05,
1072
+ "loss": 0.6445047855377197,
1073
+ "step": 133,
1074
+ "token_acc": 0.8134654130288784
1075
+ },
1076
+ {
1077
+ "epoch": 0.3402094573151381,
1078
+ "grad_norm": 2.1788757767041003,
1079
+ "learning_rate": 4.240506329113924e-05,
1080
+ "loss": 0.5425457954406738,
1081
+ "step": 134,
1082
+ "token_acc": 0.837465564738292
1083
+ },
1084
+ {
1085
+ "epoch": 0.34274833386226594,
1086
+ "grad_norm": 4.649401574423171,
1087
+ "learning_rate": 4.2721518987341776e-05,
1088
+ "loss": 0.5962692499160767,
1089
+ "step": 135,
1090
+ "token_acc": 0.8225226767071709
1091
+ },
1092
+ {
1093
+ "epoch": 0.34528721040939386,
1094
+ "grad_norm": 3.1742303151683506,
1095
+ "learning_rate": 4.3037974683544305e-05,
1096
+ "loss": 0.6038417816162109,
1097
+ "step": 136,
1098
+ "token_acc": 0.8316648698598491
1099
+ },
1100
+ {
1101
+ "epoch": 0.34782608695652173,
1102
+ "grad_norm": 5.696983011175984,
1103
+ "learning_rate": 4.3354430379746834e-05,
1104
+ "loss": 0.6016777753829956,
1105
+ "step": 137,
1106
+ "token_acc": 0.8321018707750354
1107
+ },
1108
+ {
1109
+ "epoch": 0.35036496350364965,
1110
+ "grad_norm": 5.797388182589766,
1111
+ "learning_rate": 4.367088607594937e-05,
1112
+ "loss": 0.6565921306610107,
1113
+ "step": 138,
1114
+ "token_acc": 0.8184429761562769
1115
+ },
1116
+ {
1117
+ "epoch": 0.3529038400507775,
1118
+ "grad_norm": 6.854274250412749,
1119
+ "learning_rate": 4.3987341772151904e-05,
1120
+ "loss": 0.691247820854187,
1121
+ "step": 139,
1122
+ "token_acc": 0.8143437786810017
1123
+ },
1124
+ {
1125
+ "epoch": 0.35544271659790544,
1126
+ "grad_norm": 2.6184869642829267,
1127
+ "learning_rate": 4.430379746835443e-05,
1128
+ "loss": 0.6285054683685303,
1129
+ "step": 140,
1130
+ "token_acc": 0.8222631355332106
1131
+ },
1132
+ {
1133
+ "epoch": 0.3579815931450333,
1134
+ "grad_norm": 4.653346904540878,
1135
+ "learning_rate": 4.462025316455696e-05,
1136
+ "loss": 0.5671603679656982,
1137
+ "step": 141,
1138
+ "token_acc": 0.8380648412565094
1139
+ },
1140
+ {
1141
+ "epoch": 0.3605204696921612,
1142
+ "grad_norm": 4.522681266549905,
1143
+ "learning_rate": 4.49367088607595e-05,
1144
+ "loss": 0.6068707704544067,
1145
+ "step": 142,
1146
+ "token_acc": 0.8331301432490095
1147
+ },
1148
+ {
1149
+ "epoch": 0.3630593462392891,
1150
+ "grad_norm": 3.181075099904124,
1151
+ "learning_rate": 4.525316455696203e-05,
1152
+ "loss": 0.5732223987579346,
1153
+ "step": 143,
1154
+ "token_acc": 0.836748182419035
1155
+ },
1156
+ {
1157
+ "epoch": 0.365598222786417,
1158
+ "grad_norm": 5.248411142229925,
1159
+ "learning_rate": 4.556962025316456e-05,
1160
+ "loss": 0.7090050578117371,
1161
+ "step": 144,
1162
+ "token_acc": 0.8088770652478298
1163
+ },
1164
+ {
1165
+ "epoch": 0.3681370993335449,
1166
+ "grad_norm": 2.2841820115958877,
1167
+ "learning_rate": 4.588607594936709e-05,
1168
+ "loss": 0.6395794153213501,
1169
+ "step": 145,
1170
+ "token_acc": 0.8251766217084137
1171
+ },
1172
+ {
1173
+ "epoch": 0.3706759758806728,
1174
+ "grad_norm": 3.192951403479268,
1175
+ "learning_rate": 4.6202531645569625e-05,
1176
+ "loss": 0.5619275569915771,
1177
+ "step": 146,
1178
+ "token_acc": 0.8353532367720957
1179
+ },
1180
+ {
1181
+ "epoch": 0.3732148524278007,
1182
+ "grad_norm": 6.184982774052421,
1183
+ "learning_rate": 4.6518987341772154e-05,
1184
+ "loss": 0.6076276302337646,
1185
+ "step": 147,
1186
+ "token_acc": 0.8321759259259259
1187
+ },
1188
+ {
1189
+ "epoch": 0.3757537289749286,
1190
+ "grad_norm": 3.9260670039543686,
1191
+ "learning_rate": 4.683544303797468e-05,
1192
+ "loss": 0.5210973024368286,
1193
+ "step": 148,
1194
+ "token_acc": 0.8457633053221288
1195
+ },
1196
+ {
1197
+ "epoch": 0.3782926055220565,
1198
+ "grad_norm": 3.6953261186445467,
1199
+ "learning_rate": 4.715189873417722e-05,
1200
+ "loss": 0.4648306369781494,
1201
+ "step": 149,
1202
+ "token_acc": 0.8572195383789587
1203
+ },
1204
+ {
1205
+ "epoch": 0.3808314820691844,
1206
+ "grad_norm": 4.9921203101786045,
1207
+ "learning_rate": 4.7468354430379746e-05,
1208
+ "loss": 0.676045835018158,
1209
+ "step": 150,
1210
+ "token_acc": 0.8171926006528836
1211
+ },
1212
+ {
1213
+ "epoch": 0.3833703586163123,
1214
+ "grad_norm": 20.42938551967448,
1215
+ "learning_rate": 4.778481012658228e-05,
1216
+ "loss": 0.619693398475647,
1217
+ "step": 151,
1218
+ "token_acc": 0.8338338338338338
1219
+ },
1220
+ {
1221
+ "epoch": 0.38590923516344017,
1222
+ "grad_norm": 8.755403481608779,
1223
+ "learning_rate": 4.810126582278481e-05,
1224
+ "loss": 0.5743368864059448,
1225
+ "step": 152,
1226
+ "token_acc": 0.8412815319462346
1227
+ },
1228
+ {
1229
+ "epoch": 0.3884481117105681,
1230
+ "grad_norm": 3.2072760680708425,
1231
+ "learning_rate": 4.8417721518987346e-05,
1232
+ "loss": 0.6492601633071899,
1233
+ "step": 153,
1234
+ "token_acc": 0.8137201735357917
1235
+ },
1236
+ {
1237
+ "epoch": 0.39098698825769596,
1238
+ "grad_norm": 3.8316550813580914,
1239
+ "learning_rate": 4.8734177215189874e-05,
1240
+ "loss": 0.6361663341522217,
1241
+ "step": 154,
1242
+ "token_acc": 0.8231698225734307
1243
+ },
1244
+ {
1245
+ "epoch": 0.3935258648048239,
1246
+ "grad_norm": 3.972772394188529,
1247
+ "learning_rate": 4.905063291139241e-05,
1248
+ "loss": 0.6939312815666199,
1249
+ "step": 155,
1250
+ "token_acc": 0.8113469274517964
1251
+ },
1252
+ {
1253
+ "epoch": 0.39606474135195174,
1254
+ "grad_norm": 16.657647846984553,
1255
+ "learning_rate": 4.936708860759494e-05,
1256
+ "loss": 0.6008589863777161,
1257
+ "step": 156,
1258
+ "token_acc": 0.8316379183252248
1259
+ },
1260
+ {
1261
+ "epoch": 0.39860361789907967,
1262
+ "grad_norm": 2.814742590512491,
1263
+ "learning_rate": 4.968354430379747e-05,
1264
+ "loss": 0.5716952085494995,
1265
+ "step": 157,
1266
+ "token_acc": 0.8305734227453128
1267
+ },
1268
+ {
1269
+ "epoch": 0.40114249444620753,
1270
+ "grad_norm": 3.3183075108254605,
1271
+ "learning_rate": 5e-05,
1272
+ "loss": 0.5892596244812012,
1273
+ "step": 158,
1274
+ "token_acc": 0.823594674556213
1275
+ },
1276
+ {
1277
+ "epoch": 0.40368137099333545,
1278
+ "grad_norm": 3.805622229512587,
1279
+ "learning_rate": 4.9999689166542295e-05,
1280
+ "loss": 0.5727576017379761,
1281
+ "step": 159,
1282
+ "token_acc": 0.832796486090776
1283
+ },
1284
+ {
1285
+ "epoch": 0.4062202475404633,
1286
+ "grad_norm": 2.9959092236114975,
1287
+ "learning_rate": 4.999875667389858e-05,
1288
+ "loss": 0.5001785159111023,
1289
+ "step": 160,
1290
+ "token_acc": 0.8474907244678773
1291
+ },
1292
+ {
1293
+ "epoch": 0.40875912408759124,
1294
+ "grad_norm": 2.926865350121703,
1295
+ "learning_rate": 4.999720254525684e-05,
1296
+ "loss": 0.6166025400161743,
1297
+ "step": 161,
1298
+ "token_acc": 0.820961340585036
1299
+ },
1300
+ {
1301
+ "epoch": 0.41129800063471916,
1302
+ "grad_norm": 2.2665405249006403,
1303
+ "learning_rate": 4.999502681926309e-05,
1304
+ "loss": 0.5835655927658081,
1305
+ "step": 162,
1306
+ "token_acc": 0.8314150304671631
1307
+ },
1308
+ {
1309
+ "epoch": 0.41383687718184703,
1310
+ "grad_norm": 6.077225672698818,
1311
+ "learning_rate": 4.999222955002041e-05,
1312
+ "loss": 0.6306543350219727,
1313
+ "step": 163,
1314
+ "token_acc": 0.8202965582913889
1315
+ },
1316
+ {
1317
+ "epoch": 0.41637575372897495,
1318
+ "grad_norm": 9.205523914845546,
1319
+ "learning_rate": 4.9988810807087584e-05,
1320
+ "loss": 0.6070675253868103,
1321
+ "step": 164,
1322
+ "token_acc": 0.8314500941619586
1323
+ },
1324
+ {
1325
+ "epoch": 0.4189146302761028,
1326
+ "grad_norm": 2.520164837218412,
1327
+ "learning_rate": 4.99847706754774e-05,
1328
+ "loss": 0.5549716949462891,
1329
+ "step": 165,
1330
+ "token_acc": 0.8379689521345407
1331
+ },
1332
+ {
1333
+ "epoch": 0.42145350682323074,
1334
+ "grad_norm": 2.3723529006989215,
1335
+ "learning_rate": 4.998010925565448e-05,
1336
+ "loss": 0.5140861868858337,
1337
+ "step": 166,
1338
+ "token_acc": 0.8497000856898029
1339
+ },
1340
+ {
1341
+ "epoch": 0.4239923833703586,
1342
+ "grad_norm": 3.168399232927889,
1343
+ "learning_rate": 4.997482666353287e-05,
1344
+ "loss": 0.5713208913803101,
1345
+ "step": 167,
1346
+ "token_acc": 0.8342638379326847
1347
+ },
1348
+ {
1349
+ "epoch": 0.4265312599174865,
1350
+ "grad_norm": 3.1544527876057353,
1351
+ "learning_rate": 4.996892303047306e-05,
1352
+ "loss": 0.5652569532394409,
1353
+ "step": 168,
1354
+ "token_acc": 0.8433680398370303
1355
+ },
1356
+ {
1357
+ "epoch": 0.4290701364646144,
1358
+ "grad_norm": 4.050502290302643,
1359
+ "learning_rate": 4.99623985032788e-05,
1360
+ "loss": 0.6010338068008423,
1361
+ "step": 169,
1362
+ "token_acc": 0.8299908842297175
1363
+ },
1364
+ {
1365
+ "epoch": 0.4316090130117423,
1366
+ "grad_norm": 2.3208744483079924,
1367
+ "learning_rate": 4.9955253244193375e-05,
1368
+ "loss": 0.625551700592041,
1369
+ "step": 170,
1370
+ "token_acc": 0.8214095744680852
1371
+ },
1372
+ {
1373
+ "epoch": 0.4341478895588702,
1374
+ "grad_norm": 3.5752910543983734,
1375
+ "learning_rate": 4.994748743089566e-05,
1376
+ "loss": 0.5763528347015381,
1377
+ "step": 171,
1378
+ "token_acc": 0.8370288248337029
1379
+ },
1380
+ {
1381
+ "epoch": 0.4366867661059981,
1382
+ "grad_norm": 5.186367702439989,
1383
+ "learning_rate": 4.993910125649561e-05,
1384
+ "loss": 0.583060085773468,
1385
+ "step": 172,
1386
+ "token_acc": 0.8326601269474899
1387
+ },
1388
+ {
1389
+ "epoch": 0.43922564265312597,
1390
+ "grad_norm": 2.314721989016231,
1391
+ "learning_rate": 4.9930094929529506e-05,
1392
+ "loss": 0.6205261945724487,
1393
+ "step": 173,
1394
+ "token_acc": 0.8203899721448468
1395
+ },
1396
+ {
1397
+ "epoch": 0.4417645192002539,
1398
+ "grad_norm": 3.3583225237625016,
1399
+ "learning_rate": 4.992046867395478e-05,
1400
+ "loss": 0.5230633020401001,
1401
+ "step": 174,
1402
+ "token_acc": 0.8419920582395765
1403
+ },
1404
+ {
1405
+ "epoch": 0.44430339574738176,
1406
+ "grad_norm": 4.042306283685085,
1407
+ "learning_rate": 4.99102227291444e-05,
1408
+ "loss": 0.5143859386444092,
1409
+ "step": 175,
1410
+ "token_acc": 0.8474544778892605
1411
+ },
1412
+ {
1413
+ "epoch": 0.4468422722945097,
1414
+ "grad_norm": 2.6321524863816603,
1415
+ "learning_rate": 4.989935734988098e-05,
1416
+ "loss": 0.6144051551818848,
1417
+ "step": 176,
1418
+ "token_acc": 0.8175049636002647
1419
+ },
1420
+ {
1421
+ "epoch": 0.4493811488416376,
1422
+ "grad_norm": 2.361660215036252,
1423
+ "learning_rate": 4.988787280635038e-05,
1424
+ "loss": 0.49258965253829956,
1425
+ "step": 177,
1426
+ "token_acc": 0.8459661430532256
1427
+ },
1428
+ {
1429
+ "epoch": 0.45192002538876547,
1430
+ "grad_norm": 2.0369998726790266,
1431
+ "learning_rate": 4.987576938413504e-05,
1432
+ "loss": 0.5039229393005371,
1433
+ "step": 178,
1434
+ "token_acc": 0.8487822609960014
1435
+ },
1436
+ {
1437
+ "epoch": 0.4544589019358934,
1438
+ "grad_norm": 6.93229029448243,
1439
+ "learning_rate": 4.9863047384206835e-05,
1440
+ "loss": 0.5814566612243652,
1441
+ "step": 179,
1442
+ "token_acc": 0.8274802458296752
1443
+ },
1444
+ {
1445
+ "epoch": 0.45699777848302126,
1446
+ "grad_norm": 1.9442137330470775,
1447
+ "learning_rate": 4.984970712291963e-05,
1448
+ "loss": 0.5427694916725159,
1449
+ "step": 180,
1450
+ "token_acc": 0.8449736295349208
1451
+ },
1452
+ {
1453
+ "epoch": 0.4595366550301492,
1454
+ "grad_norm": 3.8278365677194706,
1455
+ "learning_rate": 4.983574893200139e-05,
1456
+ "loss": 0.5021108388900757,
1457
+ "step": 181,
1458
+ "token_acc": 0.8494821249582358
1459
+ },
1460
+ {
1461
+ "epoch": 0.46207553157727704,
1462
+ "grad_norm": 3.898165087457517,
1463
+ "learning_rate": 4.9821173158545936e-05,
1464
+ "loss": 0.529310941696167,
1465
+ "step": 182,
1466
+ "token_acc": 0.8456512269493248
1467
+ },
1468
+ {
1469
+ "epoch": 0.46461440812440497,
1470
+ "grad_norm": 5.784138022488126,
1471
+ "learning_rate": 4.9805980165004304e-05,
1472
+ "loss": 0.5193842053413391,
1473
+ "step": 183,
1474
+ "token_acc": 0.8486529318541997
1475
+ },
1476
+ {
1477
+ "epoch": 0.46715328467153283,
1478
+ "grad_norm": 2.7860896602561755,
1479
+ "learning_rate": 4.9790170329175754e-05,
1480
+ "loss": 0.5510420799255371,
1481
+ "step": 184,
1482
+ "token_acc": 0.8427399903521466
1483
+ },
1484
+ {
1485
+ "epoch": 0.46969216121866075,
1486
+ "grad_norm": 2.391478502605225,
1487
+ "learning_rate": 4.977374404419837e-05,
1488
+ "loss": 0.565636396408081,
1489
+ "step": 185,
1490
+ "token_acc": 0.8384972889233152
1491
+ },
1492
+ {
1493
+ "epoch": 0.4722310377657886,
1494
+ "grad_norm": 2.7381469955000233,
1495
+ "learning_rate": 4.975670171853926e-05,
1496
+ "loss": 0.5837178230285645,
1497
+ "step": 186,
1498
+ "token_acc": 0.8304386223138063
1499
+ },
1500
+ {
1501
+ "epoch": 0.47476991431291654,
1502
+ "grad_norm": 4.436221537482703,
1503
+ "learning_rate": 4.973904377598443e-05,
1504
+ "loss": 0.5879358649253845,
1505
+ "step": 187,
1506
+ "token_acc": 0.8254743303571429
1507
+ },
1508
+ {
1509
+ "epoch": 0.4773087908600444,
1510
+ "grad_norm": 3.161812435220317,
1511
+ "learning_rate": 4.972077065562821e-05,
1512
+ "loss": 0.5809712409973145,
1513
+ "step": 188,
1514
+ "token_acc": 0.8361007729745205
1515
+ },
1516
+ {
1517
+ "epoch": 0.47984766740717233,
1518
+ "grad_norm": 1.5520306180347663,
1519
+ "learning_rate": 4.970188281186241e-05,
1520
+ "loss": 0.5579955577850342,
1521
+ "step": 189,
1522
+ "token_acc": 0.837281009110021
1523
+ },
1524
+ {
1525
+ "epoch": 0.4823865439543002,
1526
+ "grad_norm": 3.727248476475511,
1527
+ "learning_rate": 4.9682380714364897e-05,
1528
+ "loss": 0.58579421043396,
1529
+ "step": 190,
1530
+ "token_acc": 0.8350501304765829
1531
+ },
1532
+ {
1533
+ "epoch": 0.4849254205014281,
1534
+ "grad_norm": 3.0795046455062614,
1535
+ "learning_rate": 4.9662264848088034e-05,
1536
+ "loss": 0.4905577301979065,
1537
+ "step": 191,
1538
+ "token_acc": 0.8543485289363077
1539
+ },
1540
+ {
1541
+ "epoch": 0.48746429704855604,
1542
+ "grad_norm": 2.222320433523395,
1543
+ "learning_rate": 4.964153571324658e-05,
1544
+ "loss": 0.6000843048095703,
1545
+ "step": 192,
1546
+ "token_acc": 0.8202116862403944
1547
+ },
1548
+ {
1549
+ "epoch": 0.4900031735956839,
1550
+ "grad_norm": 3.054493416036562,
1551
+ "learning_rate": 4.962019382530521e-05,
1552
+ "loss": 0.553142786026001,
1553
+ "step": 193,
1554
+ "token_acc": 0.8378803028138837
1555
+ },
1556
+ {
1557
+ "epoch": 0.4925420501428118,
1558
+ "grad_norm": 1.48942863662551,
1559
+ "learning_rate": 4.959823971496574e-05,
1560
+ "loss": 0.49760788679122925,
1561
+ "step": 194,
1562
+ "token_acc": 0.848271341962969
1563
+ },
1564
+ {
1565
+ "epoch": 0.4950809266899397,
1566
+ "grad_norm": 1.4337417758608024,
1567
+ "learning_rate": 4.9575673928153957e-05,
1568
+ "loss": 0.5126315355300903,
1569
+ "step": 195,
1570
+ "token_acc": 0.846869578930768
1571
+ },
1572
+ {
1573
+ "epoch": 0.4976198032370676,
1574
+ "grad_norm": 1.8216377101814463,
1575
+ "learning_rate": 4.9552497026005974e-05,
1576
+ "loss": 0.5140909552574158,
1577
+ "step": 196,
1578
+ "token_acc": 0.8483076923076923
1579
+ },
1580
+ {
1581
+ "epoch": 0.5001586797841955,
1582
+ "grad_norm": 3.6989217579732125,
1583
+ "learning_rate": 4.952870958485432e-05,
1584
+ "loss": 0.5483355522155762,
1585
+ "step": 197,
1586
+ "token_acc": 0.8436149991359945
1587
+ },
1588
+ {
1589
+ "epoch": 0.5026975563313234,
1590
+ "grad_norm": 1.4793601703477388,
1591
+ "learning_rate": 4.9504312196213596e-05,
1592
+ "loss": 0.5258674621582031,
1593
+ "step": 198,
1594
+ "token_acc": 0.844776119402985
1595
+ },
1596
+ {
1597
+ "epoch": 0.5052364328784513,
1598
+ "grad_norm": 3.320358649604752,
1599
+ "learning_rate": 4.947930546676579e-05,
1600
+ "loss": 0.5483481287956238,
1601
+ "step": 199,
1602
+ "token_acc": 0.8407105847520355
1603
+ },
1604
+ {
1605
+ "epoch": 0.5077753094255791,
1606
+ "grad_norm": 1.4836965410501335,
1607
+ "learning_rate": 4.9453690018345144e-05,
1608
+ "loss": 0.5698910355567932,
1609
+ "step": 200,
1610
+ "token_acc": 0.8355416991426344
1611
+ },
1612
+ {
1613
+ "epoch": 0.5103141859727071,
1614
+ "grad_norm": 1.9840806554207313,
1615
+ "learning_rate": 4.942746648792274e-05,
1616
+ "loss": 0.6226257681846619,
1617
+ "step": 201,
1618
+ "token_acc": 0.821941594317285
1619
+ },
1620
+ {
1621
+ "epoch": 0.512853062519835,
1622
+ "grad_norm": 3.4200124483670358,
1623
+ "learning_rate": 4.940063552759061e-05,
1624
+ "loss": 0.5485865473747253,
1625
+ "step": 202,
1626
+ "token_acc": 0.8423786494716102
1627
+ },
1628
+ {
1629
+ "epoch": 0.5153919390669629,
1630
+ "grad_norm": 1.4137645693467988,
1631
+ "learning_rate": 4.937319780454559e-05,
1632
+ "loss": 0.4833056330680847,
1633
+ "step": 203,
1634
+ "token_acc": 0.8569816188326347
1635
+ },
1636
+ {
1637
+ "epoch": 0.5179308156140907,
1638
+ "grad_norm": 2.216132222614037,
1639
+ "learning_rate": 4.934515400107266e-05,
1640
+ "loss": 0.4503518342971802,
1641
+ "step": 204,
1642
+ "token_acc": 0.8646072954321393
1643
+ },
1644
+ {
1645
+ "epoch": 0.5204696921612186,
1646
+ "grad_norm": 4.426951079644797,
1647
+ "learning_rate": 4.931650481452801e-05,
1648
+ "loss": 0.5067535638809204,
1649
+ "step": 205,
1650
+ "token_acc": 0.8500777604976671
1651
+ },
1652
+ {
1653
+ "epoch": 0.5230085687083466,
1654
+ "grad_norm": 7.154300916510774,
1655
+ "learning_rate": 4.928725095732169e-05,
1656
+ "loss": 0.5493313670158386,
1657
+ "step": 206,
1658
+ "token_acc": 0.8378132118451025
1659
+ },
1660
+ {
1661
+ "epoch": 0.5255474452554745,
1662
+ "grad_norm": 1.965712161044352,
1663
+ "learning_rate": 4.925739315689991e-05,
1664
+ "loss": 0.4918142557144165,
1665
+ "step": 207,
1666
+ "token_acc": 0.8530601240226476
1667
+ },
1668
+ {
1669
+ "epoch": 0.5280863218026024,
1670
+ "grad_norm": 1.5124863710410141,
1671
+ "learning_rate": 4.922693215572695e-05,
1672
+ "loss": 0.5023689270019531,
1673
+ "step": 208,
1674
+ "token_acc": 0.8512195121951219
1675
+ },
1676
+ {
1677
+ "epoch": 0.5306251983497302,
1678
+ "grad_norm": 2.3375825804294723,
1679
+ "learning_rate": 4.919586871126667e-05,
1680
+ "loss": 0.5670746564865112,
1681
+ "step": 209,
1682
+ "token_acc": 0.8375552282768778
1683
+ },
1684
+ {
1685
+ "epoch": 0.5331640748968581,
1686
+ "grad_norm": 1.8418248968647637,
1687
+ "learning_rate": 4.916420359596368e-05,
1688
+ "loss": 0.5001412630081177,
1689
+ "step": 210,
1690
+ "token_acc": 0.8473023413640991
1691
+ },
1692
+ {
1693
+ "epoch": 0.535702951443986,
1694
+ "grad_norm": 2.4235777237942924,
1695
+ "learning_rate": 4.9131937597224185e-05,
1696
+ "loss": 0.5839577913284302,
1697
+ "step": 211,
1698
+ "token_acc": 0.8330151270377442
1699
+ },
1700
+ {
1701
+ "epoch": 0.538241827991114,
1702
+ "grad_norm": 15.841289330503669,
1703
+ "learning_rate": 4.909907151739633e-05,
1704
+ "loss": 0.5890910625457764,
1705
+ "step": 212,
1706
+ "token_acc": 0.8299887822510283
1707
+ },
1708
+ {
1709
+ "epoch": 0.5407807045382418,
1710
+ "grad_norm": 2.1298845605680197,
1711
+ "learning_rate": 4.90656061737503e-05,
1712
+ "loss": 0.5155512094497681,
1713
+ "step": 213,
1714
+ "token_acc": 0.8465608465608465
1715
+ },
1716
+ {
1717
+ "epoch": 0.5433195810853697,
1718
+ "grad_norm": 2.1579493985693454,
1719
+ "learning_rate": 4.9031542398457974e-05,
1720
+ "loss": 0.5869525671005249,
1721
+ "step": 214,
1722
+ "token_acc": 0.8264487369985141
1723
+ },
1724
+ {
1725
+ "epoch": 0.5458584576324976,
1726
+ "grad_norm": 3.015091026973871,
1727
+ "learning_rate": 4.899688103857223e-05,
1728
+ "loss": 0.5348740816116333,
1729
+ "step": 215,
1730
+ "token_acc": 0.8366959820658735
1731
+ },
1732
+ {
1733
+ "epoch": 0.5483973341796256,
1734
+ "grad_norm": 1.4983193386255376,
1735
+ "learning_rate": 4.896162295600589e-05,
1736
+ "loss": 0.5215170383453369,
1737
+ "step": 216,
1738
+ "token_acc": 0.8455044322498945
1739
+ },
1740
+ {
1741
+ "epoch": 0.5509362107267534,
1742
+ "grad_norm": 7.6369461867236215,
1743
+ "learning_rate": 4.892576902751031e-05,
1744
+ "loss": 0.6286407709121704,
1745
+ "step": 217,
1746
+ "token_acc": 0.8244441744623983
1747
+ },
1748
+ {
1749
+ "epoch": 0.5534750872738813,
1750
+ "grad_norm": 1.909191100547535,
1751
+ "learning_rate": 4.888932014465352e-05,
1752
+ "loss": 0.5405088663101196,
1753
+ "step": 218,
1754
+ "token_acc": 0.8398148148148148
1755
+ },
1756
+ {
1757
+ "epoch": 0.5560139638210092,
1758
+ "grad_norm": 2.1249944661063713,
1759
+ "learning_rate": 4.8852277213798106e-05,
1760
+ "loss": 0.5207107067108154,
1761
+ "step": 219,
1762
+ "token_acc": 0.8505783057205377
1763
+ },
1764
+ {
1765
+ "epoch": 0.5585528403681371,
1766
+ "grad_norm": 4.590133511444357,
1767
+ "learning_rate": 4.881464115607865e-05,
1768
+ "loss": 0.5813536643981934,
1769
+ "step": 220,
1770
+ "token_acc": 0.831871745683749
1771
+ },
1772
+ {
1773
+ "epoch": 0.561091716915265,
1774
+ "grad_norm": 1.641052016603602,
1775
+ "learning_rate": 4.877641290737884e-05,
1776
+ "loss": 0.5410237312316895,
1777
+ "step": 221,
1778
+ "token_acc": 0.8366046831955923
1779
+ },
1780
+ {
1781
+ "epoch": 0.5636305934623929,
1782
+ "grad_norm": 2.277495246079136,
1783
+ "learning_rate": 4.8737593418308156e-05,
1784
+ "loss": 0.5533527135848999,
1785
+ "step": 222,
1786
+ "token_acc": 0.8363823756763721
1787
+ },
1788
+ {
1789
+ "epoch": 0.5661694700095208,
1790
+ "grad_norm": 4.159566523283519,
1791
+ "learning_rate": 4.86981836541783e-05,
1792
+ "loss": 0.559136152267456,
1793
+ "step": 223,
1794
+ "token_acc": 0.8388266834884087
1795
+ },
1796
+ {
1797
+ "epoch": 0.5687083465566487,
1798
+ "grad_norm": 225.83355044511626,
1799
+ "learning_rate": 4.865818459497911e-05,
1800
+ "loss": 0.4840168356895447,
1801
+ "step": 224,
1802
+ "token_acc": 0.8560429982568274
1803
+ },
1804
+ {
1805
+ "epoch": 0.5712472231037766,
1806
+ "grad_norm": 1.7941761886315637,
1807
+ "learning_rate": 4.861759723535426e-05,
1808
+ "loss": 0.5671250224113464,
1809
+ "step": 225,
1810
+ "token_acc": 0.8405020448455789
1811
+ },
1812
+ {
1813
+ "epoch": 0.5737860996509044,
1814
+ "grad_norm": 1.6927695579956952,
1815
+ "learning_rate": 4.8576422584576514e-05,
1816
+ "loss": 0.5532321929931641,
1817
+ "step": 226,
1818
+ "token_acc": 0.8365077158348394
1819
+ },
1820
+ {
1821
+ "epoch": 0.5763249761980324,
1822
+ "grad_norm": 1.3677369838188163,
1823
+ "learning_rate": 4.8534661666522584e-05,
1824
+ "loss": 0.5039372444152832,
1825
+ "step": 227,
1826
+ "token_acc": 0.8533067362283259
1827
+ },
1828
+ {
1829
+ "epoch": 0.5788638527451603,
1830
+ "grad_norm": 3.1985990377060944,
1831
+ "learning_rate": 4.849231551964771e-05,
1832
+ "loss": 0.4986110031604767,
1833
+ "step": 228,
1834
+ "token_acc": 0.8453477868112015
1835
+ },
1836
+ {
1837
+ "epoch": 0.5814027292922882,
1838
+ "grad_norm": 2.5449576622123646,
1839
+ "learning_rate": 4.844938519695984e-05,
1840
+ "loss": 0.5104832649230957,
1841
+ "step": 229,
1842
+ "token_acc": 0.8486502433987314
1843
+ },
1844
+ {
1845
+ "epoch": 0.583941605839416,
1846
+ "grad_norm": 1.3118749339834277,
1847
+ "learning_rate": 4.8405871765993433e-05,
1848
+ "loss": 0.505854606628418,
1849
+ "step": 230,
1850
+ "token_acc": 0.8532082324455206
1851
+ },
1852
+ {
1853
+ "epoch": 0.5864804823865439,
1854
+ "grad_norm": 2.18900446561014,
1855
+ "learning_rate": 4.836177630878289e-05,
1856
+ "loss": 0.5590152144432068,
1857
+ "step": 231,
1858
+ "token_acc": 0.8363560267857143
1859
+ },
1860
+ {
1861
+ "epoch": 0.5890193589336719,
1862
+ "grad_norm": 15.30797015176157,
1863
+ "learning_rate": 4.8317099921835697e-05,
1864
+ "loss": 0.4845745265483856,
1865
+ "step": 232,
1866
+ "token_acc": 0.8525514089870525
1867
+ },
1868
+ {
1869
+ "epoch": 0.5915582354807998,
1870
+ "grad_norm": 1.7181163596035074,
1871
+ "learning_rate": 4.827184371610511e-05,
1872
+ "loss": 0.5797554850578308,
1873
+ "step": 233,
1874
+ "token_acc": 0.8373081140350878
1875
+ },
1876
+ {
1877
+ "epoch": 0.5940971120279276,
1878
+ "grad_norm": 1.1288420718760477,
1879
+ "learning_rate": 4.822600881696256e-05,
1880
+ "loss": 0.5012973546981812,
1881
+ "step": 234,
1882
+ "token_acc": 0.8529411764705882
1883
+ },
1884
+ {
1885
+ "epoch": 0.5966359885750555,
1886
+ "grad_norm": 1.437368423568747,
1887
+ "learning_rate": 4.817959636416969e-05,
1888
+ "loss": 0.5510119199752808,
1889
+ "step": 235,
1890
+ "token_acc": 0.8344022575679836
1891
+ },
1892
+ {
1893
+ "epoch": 0.5991748651221834,
1894
+ "grad_norm": 1.2890032605357924,
1895
+ "learning_rate": 4.813260751184992e-05,
1896
+ "loss": 0.5216597318649292,
1897
+ "step": 236,
1898
+ "token_acc": 0.8493268404468634
1899
+ },
1900
+ {
1901
+ "epoch": 0.6017137416693114,
1902
+ "grad_norm": 1.405196489873568,
1903
+ "learning_rate": 4.808504342845986e-05,
1904
+ "loss": 0.6565842032432556,
1905
+ "step": 237,
1906
+ "token_acc": 0.8143687707641196
1907
+ },
1908
+ {
1909
+ "epoch": 0.6042526182164393,
1910
+ "grad_norm": 1.6519014060456265,
1911
+ "learning_rate": 4.803690529676019e-05,
1912
+ "loss": 0.4384632706642151,
1913
+ "step": 238,
1914
+ "token_acc": 0.8647027694478744
1915
+ },
1916
+ {
1917
+ "epoch": 0.6067914947635671,
1918
+ "grad_norm": 1.8927813931053827,
1919
+ "learning_rate": 4.7988194313786275e-05,
1920
+ "loss": 0.504548192024231,
1921
+ "step": 239,
1922
+ "token_acc": 0.8548215641609719
1923
+ },
1924
+ {
1925
+ "epoch": 0.609330371310695,
1926
+ "grad_norm": 1.3750618958063838,
1927
+ "learning_rate": 4.7938911690818347e-05,
1928
+ "loss": 0.5044655799865723,
1929
+ "step": 240,
1930
+ "token_acc": 0.8456818530449456
1931
+ },
1932
+ {
1933
+ "epoch": 0.6118692478578229,
1934
+ "grad_norm": 1.7791425452801302,
1935
+ "learning_rate": 4.7889058653351485e-05,
1936
+ "loss": 0.4389927089214325,
1937
+ "step": 241,
1938
+ "token_acc": 0.8615710435117443
1939
+ },
1940
+ {
1941
+ "epoch": 0.6144081244049509,
1942
+ "grad_norm": 3.174913815120615,
1943
+ "learning_rate": 4.783863644106502e-05,
1944
+ "loss": 0.5367846488952637,
1945
+ "step": 242,
1946
+ "token_acc": 0.841294538665007
1947
+ },
1948
+ {
1949
+ "epoch": 0.6169470009520787,
1950
+ "grad_norm": 2.447734108467047,
1951
+ "learning_rate": 4.778764630779183e-05,
1952
+ "loss": 0.5005022287368774,
1953
+ "step": 243,
1954
+ "token_acc": 0.8491663435440093
1955
+ },
1956
+ {
1957
+ "epoch": 0.6194858774992066,
1958
+ "grad_norm": 2.807814103600755,
1959
+ "learning_rate": 4.773608952148706e-05,
1960
+ "loss": 0.5408118367195129,
1961
+ "step": 244,
1962
+ "token_acc": 0.8354211087420043
1963
+ },
1964
+ {
1965
+ "epoch": 0.6220247540463345,
1966
+ "grad_norm": 2.227992234463683,
1967
+ "learning_rate": 4.7683967364196624e-05,
1968
+ "loss": 0.5159645080566406,
1969
+ "step": 245,
1970
+ "token_acc": 0.8429188135357193
1971
+ },
1972
+ {
1973
+ "epoch": 0.6245636305934624,
1974
+ "grad_norm": 3.9276559319284314,
1975
+ "learning_rate": 4.763128113202537e-05,
1976
+ "loss": 0.5435395240783691,
1977
+ "step": 246,
1978
+ "token_acc": 0.8381928868952259
1979
+ },
1980
+ {
1981
+ "epoch": 0.6271025071405902,
1982
+ "grad_norm": 21.07592625562304,
1983
+ "learning_rate": 4.7578032135104796e-05,
1984
+ "loss": 0.528008222579956,
1985
+ "step": 247,
1986
+ "token_acc": 0.8437879893022125
1987
+ },
1988
+ {
1989
+ "epoch": 0.6296413836877182,
1990
+ "grad_norm": 2.4305528198591606,
1991
+ "learning_rate": 4.752422169756048e-05,
1992
+ "loss": 0.5454938411712646,
1993
+ "step": 248,
1994
+ "token_acc": 0.8377711162052548
1995
+ },
1996
+ {
1997
+ "epoch": 0.6321802602348461,
1998
+ "grad_norm": 4.774445766197441,
1999
+ "learning_rate": 4.7469851157479177e-05,
2000
+ "loss": 0.5896109342575073,
2001
+ "step": 249,
2002
+ "token_acc": 0.8303083960454478
2003
+ },
2004
+ {
2005
+ "epoch": 0.634719136781974,
2006
+ "grad_norm": 2.9285874898965036,
2007
+ "learning_rate": 4.7414921866875524e-05,
2008
+ "loss": 0.5258548259735107,
2009
+ "step": 250,
2010
+ "token_acc": 0.8459306342407075
2011
+ },
2012
+ {
2013
+ "epoch": 0.6372580133291019,
2014
+ "grad_norm": 1.1551732083505906,
2015
+ "learning_rate": 4.7359435191658425e-05,
2016
+ "loss": 0.4973874092102051,
2017
+ "step": 251,
2018
+ "token_acc": 0.8523009950248757
2019
+ },
2020
+ {
2021
+ "epoch": 0.6397968898762297,
2022
+ "grad_norm": 1.404758000704147,
2023
+ "learning_rate": 4.730339251159709e-05,
2024
+ "loss": 0.48979347944259644,
2025
+ "step": 252,
2026
+ "token_acc": 0.8519233625427002
2027
+ },
2028
+ {
2029
+ "epoch": 0.6423357664233577,
2030
+ "grad_norm": 1.1599030830108534,
2031
+ "learning_rate": 4.724679522028672e-05,
2032
+ "loss": 0.4671449661254883,
2033
+ "step": 253,
2034
+ "token_acc": 0.8547652417659425
2035
+ },
2036
+ {
2037
+ "epoch": 0.6448746429704856,
2038
+ "grad_norm": 9.767857767777004,
2039
+ "learning_rate": 4.718964472511386e-05,
2040
+ "loss": 0.5248907208442688,
2041
+ "step": 254,
2042
+ "token_acc": 0.8436238600687697
2043
+ },
2044
+ {
2045
+ "epoch": 0.6474135195176135,
2046
+ "grad_norm": 1.5836269105977552,
2047
+ "learning_rate": 4.713194244722138e-05,
2048
+ "loss": 0.492233008146286,
2049
+ "step": 255,
2050
+ "token_acc": 0.8537440902851914
2051
+ },
2052
+ {
2053
+ "epoch": 0.6499523960647413,
2054
+ "grad_norm": 1.676133573613313,
2055
+ "learning_rate": 4.707368982147318e-05,
2056
+ "loss": 0.49239009618759155,
2057
+ "step": 256,
2058
+ "token_acc": 0.8473175021987687
2059
+ },
2060
+ {
2061
+ "epoch": 0.6524912726118692,
2062
+ "grad_norm": 12.420578245961337,
2063
+ "learning_rate": 4.701488829641845e-05,
2064
+ "loss": 0.55488121509552,
2065
+ "step": 257,
2066
+ "token_acc": 0.835998984513836
2067
+ },
2068
+ {
2069
+ "epoch": 0.6550301491589972,
2070
+ "grad_norm": 2.7460132417830643,
2071
+ "learning_rate": 4.6955539334255716e-05,
2072
+ "loss": 0.5333112478256226,
2073
+ "step": 258,
2074
+ "token_acc": 0.8431862832648688
2075
+ },
2076
+ {
2077
+ "epoch": 0.6575690257061251,
2078
+ "grad_norm": 2.143768931475659,
2079
+ "learning_rate": 4.6895644410796416e-05,
2080
+ "loss": 0.5408412218093872,
2081
+ "step": 259,
2082
+ "token_acc": 0.8437373601186463
2083
+ },
2084
+ {
2085
+ "epoch": 0.6601079022532529,
2086
+ "grad_norm": 1.552814047782724,
2087
+ "learning_rate": 4.6835205015428246e-05,
2088
+ "loss": 0.5155550241470337,
2089
+ "step": 260,
2090
+ "token_acc": 0.8499210110584519
2091
+ },
2092
+ {
2093
+ "epoch": 0.6626467788003808,
2094
+ "grad_norm": 1.2034458590422716,
2095
+ "learning_rate": 4.6774222651078106e-05,
2096
+ "loss": 0.5099776983261108,
2097
+ "step": 261,
2098
+ "token_acc": 0.8472036789793799
2099
+ },
2100
+ {
2101
+ "epoch": 0.6651856553475087,
2102
+ "grad_norm": 2.924220695079595,
2103
+ "learning_rate": 4.671269883417473e-05,
2104
+ "loss": 0.5947083234786987,
2105
+ "step": 262,
2106
+ "token_acc": 0.8290450928381963
2107
+ },
2108
+ {
2109
+ "epoch": 0.6677245318946367,
2110
+ "grad_norm": 1.455955314620601,
2111
+ "learning_rate": 4.665063509461097e-05,
2112
+ "loss": 0.5068027973175049,
2113
+ "step": 263,
2114
+ "token_acc": 0.8482072342441952
2115
+ },
2116
+ {
2117
+ "epoch": 0.6702634084417646,
2118
+ "grad_norm": 3.344945263340371,
2119
+ "learning_rate": 4.658803297570577e-05,
2120
+ "loss": 0.5365261435508728,
2121
+ "step": 264,
2122
+ "token_acc": 0.8415192190359976
2123
+ },
2124
+ {
2125
+ "epoch": 0.6728022849888924,
2126
+ "grad_norm": 1.9005203964312098,
2127
+ "learning_rate": 4.652489403416579e-05,
2128
+ "loss": 0.4796498417854309,
2129
+ "step": 265,
2130
+ "token_acc": 0.8555090206185567
2131
+ },
2132
+ {
2133
+ "epoch": 0.6753411615360203,
2134
+ "grad_norm": 2.8726899682034412,
2135
+ "learning_rate": 4.6461219840046654e-05,
2136
+ "loss": 0.49148356914520264,
2137
+ "step": 266,
2138
+ "token_acc": 0.8587875255027688
2139
+ },
2140
+ {
2141
+ "epoch": 0.6778800380831482,
2142
+ "grad_norm": 3.620289535245779,
2143
+ "learning_rate": 4.639701197671397e-05,
2144
+ "loss": 0.5379594564437866,
2145
+ "step": 267,
2146
+ "token_acc": 0.844286636539703
2147
+ },
2148
+ {
2149
+ "epoch": 0.6804189146302762,
2150
+ "grad_norm": 1.880048630363598,
2151
+ "learning_rate": 4.6332272040803895e-05,
2152
+ "loss": 0.40906715393066406,
2153
+ "step": 268,
2154
+ "token_acc": 0.8677865920049774
2155
+ },
2156
+ {
2157
+ "epoch": 0.682957791177404,
2158
+ "grad_norm": 3.2529749263524854,
2159
+ "learning_rate": 4.6267001642183496e-05,
2160
+ "loss": 0.5698261857032776,
2161
+ "step": 269,
2162
+ "token_acc": 0.8295176385889129
2163
+ },
2164
+ {
2165
+ "epoch": 0.6854966677245319,
2166
+ "grad_norm": 1.4115756433255298,
2167
+ "learning_rate": 4.620120240391065e-05,
2168
+ "loss": 0.5403001308441162,
2169
+ "step": 270,
2170
+ "token_acc": 0.8392932267564156
2171
+ },
2172
+ {
2173
+ "epoch": 0.6880355442716598,
2174
+ "grad_norm": 1.5731929659655102,
2175
+ "learning_rate": 4.613487596219376e-05,
2176
+ "loss": 0.4380991756916046,
2177
+ "step": 271,
2178
+ "token_acc": 0.8581743166580712
2179
+ },
2180
+ {
2181
+ "epoch": 0.6905744208187877,
2182
+ "grad_norm": 2.429353942954586,
2183
+ "learning_rate": 4.606802396635098e-05,
2184
+ "loss": 0.4497607946395874,
2185
+ "step": 272,
2186
+ "token_acc": 0.8668831168831169
2187
+ },
2188
+ {
2189
+ "epoch": 0.6931132973659155,
2190
+ "grad_norm": 1.4740422171009888,
2191
+ "learning_rate": 4.600064807876929e-05,
2192
+ "loss": 0.4794745445251465,
2193
+ "step": 273,
2194
+ "token_acc": 0.8582345601996257
2195
+ },
2196
+ {
2197
+ "epoch": 0.6956521739130435,
2198
+ "grad_norm": 1.4962672531000716,
2199
+ "learning_rate": 4.593274997486309e-05,
2200
+ "loss": 0.5734583735466003,
2201
+ "step": 274,
2202
+ "token_acc": 0.8358989687640114
2203
+ },
2204
+ {
2205
+ "epoch": 0.6981910504601714,
2206
+ "grad_norm": 2.582140206521716,
2207
+ "learning_rate": 4.586433134303257e-05,
2208
+ "loss": 0.47569674253463745,
2209
+ "step": 275,
2210
+ "token_acc": 0.851392632524708
2211
+ },
2212
+ {
2213
+ "epoch": 0.7007299270072993,
2214
+ "grad_norm": 2.0299052997394145,
2215
+ "learning_rate": 4.579539388462173e-05,
2216
+ "loss": 0.4513978362083435,
2217
+ "step": 276,
2218
+ "token_acc": 0.8595333128645993
2219
+ },
2220
+ {
2221
+ "epoch": 0.7032688035544271,
2222
+ "grad_norm": 1.4683236839939144,
2223
+ "learning_rate": 4.572593931387604e-05,
2224
+ "loss": 0.4924212694168091,
2225
+ "step": 277,
2226
+ "token_acc": 0.8509630565203663
2227
+ },
2228
+ {
2229
+ "epoch": 0.705807680101555,
2230
+ "grad_norm": 1.6692647992426015,
2231
+ "learning_rate": 4.5655969357899874e-05,
2232
+ "loss": 0.50971919298172,
2233
+ "step": 278,
2234
+ "token_acc": 0.8504672897196262
2235
+ },
2236
+ {
2237
+ "epoch": 0.708346556648683,
2238
+ "grad_norm": 2.772573768796691,
2239
+ "learning_rate": 4.5585485756613486e-05,
2240
+ "loss": 0.4721433222293854,
2241
+ "step": 279,
2242
+ "token_acc": 0.8584571832979476
2243
+ },
2244
+ {
2245
+ "epoch": 0.7108854331958109,
2246
+ "grad_norm": 2.0060707686440407,
2247
+ "learning_rate": 4.551449026270979e-05,
2248
+ "loss": 0.5175821781158447,
2249
+ "step": 280,
2250
+ "token_acc": 0.8468809073724007
2251
+ },
2252
+ {
2253
+ "epoch": 0.7134243097429388,
2254
+ "grad_norm": 1.8487986104225613,
2255
+ "learning_rate": 4.544298464161079e-05,
2256
+ "loss": 0.5257778763771057,
2257
+ "step": 281,
2258
+ "token_acc": 0.8475199020208206
2259
+ },
2260
+ {
2261
+ "epoch": 0.7159631862900666,
2262
+ "grad_norm": 2.127782753744905,
2263
+ "learning_rate": 4.537097067142363e-05,
2264
+ "loss": 0.562999427318573,
2265
+ "step": 282,
2266
+ "token_acc": 0.8408823529411765
2267
+ },
2268
+ {
2269
+ "epoch": 0.7185020628371945,
2270
+ "grad_norm": 2.5685178275153957,
2271
+ "learning_rate": 4.529845014289642e-05,
2272
+ "loss": 0.5207107067108154,
2273
+ "step": 283,
2274
+ "token_acc": 0.8469147432878003
2275
+ },
2276
+ {
2277
+ "epoch": 0.7210409393843225,
2278
+ "grad_norm": 6.2775274916114014,
2279
+ "learning_rate": 4.522542485937369e-05,
2280
+ "loss": 0.5115345120429993,
2281
+ "step": 284,
2282
+ "token_acc": 0.8454268292682927
2283
+ },
2284
+ {
2285
+ "epoch": 0.7235798159314504,
2286
+ "grad_norm": 1.2979163949839545,
2287
+ "learning_rate": 4.5151896636751556e-05,
2288
+ "loss": 0.4864828586578369,
2289
+ "step": 285,
2290
+ "token_acc": 0.855954855954856
2291
+ },
2292
+ {
2293
+ "epoch": 0.7261186924785782,
2294
+ "grad_norm": 1.9952838067379783,
2295
+ "learning_rate": 4.5077867303432546e-05,
2296
+ "loss": 0.49415430426597595,
2297
+ "step": 286,
2298
+ "token_acc": 0.8480227882037533
2299
+ },
2300
+ {
2301
+ "epoch": 0.7286575690257061,
2302
+ "grad_norm": 1.7314556438703808,
2303
+ "learning_rate": 4.500333870028016e-05,
2304
+ "loss": 0.5226168036460876,
2305
+ "step": 287,
2306
+ "token_acc": 0.8493612242032851
2307
+ },
2308
+ {
2309
+ "epoch": 0.731196445572834,
2310
+ "grad_norm": 4.40006164102703,
2311
+ "learning_rate": 4.4928312680573064e-05,
2312
+ "loss": 0.4729849100112915,
2313
+ "step": 288,
2314
+ "token_acc": 0.8531379420197515
2315
+ },
2316
+ {
2317
+ "epoch": 0.733735322119962,
2318
+ "grad_norm": 6.394724509170586,
2319
+ "learning_rate": 4.485279110995903e-05,
2320
+ "loss": 0.5564934611320496,
2321
+ "step": 289,
2322
+ "token_acc": 0.8377503852080124
2323
+ },
2324
+ {
2325
+ "epoch": 0.7362741986670898,
2326
+ "grad_norm": 1.4562222001050333,
2327
+ "learning_rate": 4.477677586640854e-05,
2328
+ "loss": 0.5449815988540649,
2329
+ "step": 290,
2330
+ "token_acc": 0.8387928419775553
2331
+ },
2332
+ {
2333
+ "epoch": 0.7388130752142177,
2334
+ "grad_norm": 2.12916421678339,
2335
+ "learning_rate": 4.4700268840168045e-05,
2336
+ "loss": 0.5377695560455322,
2337
+ "step": 291,
2338
+ "token_acc": 0.840630472854641
2339
+ },
2340
+ {
2341
+ "epoch": 0.7413519517613456,
2342
+ "grad_norm": 2.4123707155531,
2343
+ "learning_rate": 4.4623271933713065e-05,
2344
+ "loss": 0.4623599648475647,
2345
+ "step": 292,
2346
+ "token_acc": 0.8558679912443172
2347
+ },
2348
+ {
2349
+ "epoch": 0.7438908283084735,
2350
+ "grad_norm": 2.3146814777436333,
2351
+ "learning_rate": 4.454578706170075e-05,
2352
+ "loss": 0.5539848804473877,
2353
+ "step": 293,
2354
+ "token_acc": 0.8411723411723412
2355
+ },
2356
+ {
2357
+ "epoch": 0.7464297048556015,
2358
+ "grad_norm": 1.9969775879325171,
2359
+ "learning_rate": 4.446781615092235e-05,
2360
+ "loss": 0.48377200961112976,
2361
+ "step": 294,
2362
+ "token_acc": 0.8496886046120182
2363
+ },
2364
+ {
2365
+ "epoch": 0.7489685814027293,
2366
+ "grad_norm": 2.8675177730517296,
2367
+ "learning_rate": 4.4389361140255306e-05,
2368
+ "loss": 0.5668104887008667,
2369
+ "step": 295,
2370
+ "token_acc": 0.8326268464996789
2371
+ },
2372
+ {
2373
+ "epoch": 0.7515074579498572,
2374
+ "grad_norm": 2.7875164416704923,
2375
+ "learning_rate": 4.431042398061499e-05,
2376
+ "loss": 0.4774082601070404,
2377
+ "step": 296,
2378
+ "token_acc": 0.8559006211180125
2379
+ },
2380
+ {
2381
+ "epoch": 0.7540463344969851,
2382
+ "grad_norm": 3.728199688522229,
2383
+ "learning_rate": 4.4231006634906224e-05,
2384
+ "loss": 0.5095118284225464,
2385
+ "step": 297,
2386
+ "token_acc": 0.8488716956802064
2387
+ },
2388
+ {
2389
+ "epoch": 0.756585211044113,
2390
+ "grad_norm": 2.5412776821938974,
2391
+ "learning_rate": 4.415111107797445e-05,
2392
+ "loss": 0.5145753622055054,
2393
+ "step": 298,
2394
+ "token_acc": 0.8456885637923759
2395
+ },
2396
+ {
2397
+ "epoch": 0.7591240875912408,
2398
+ "grad_norm": 3.109090657017562,
2399
+ "learning_rate": 4.407073929655666e-05,
2400
+ "loss": 0.4358251094818115,
2401
+ "step": 299,
2402
+ "token_acc": 0.8618875369944098
2403
+ },
2404
+ {
2405
+ "epoch": 0.7616629641383688,
2406
+ "grad_norm": 1.6297548376808046,
2407
+ "learning_rate": 4.3989893289231954e-05,
2408
+ "loss": 0.4839688539505005,
2409
+ "step": 300,
2410
+ "token_acc": 0.8528946535906359
2411
+ },
2412
+ {
2413
+ "epoch": 0.7642018406854967,
2414
+ "grad_norm": 1.6139429460706416,
2415
+ "learning_rate": 4.3908575066371835e-05,
2416
+ "loss": 0.5315079092979431,
2417
+ "step": 301,
2418
+ "token_acc": 0.8464961067853171
2419
+ },
2420
+ {
2421
+ "epoch": 0.7667407172326246,
2422
+ "grad_norm": 1.958784000024998,
2423
+ "learning_rate": 4.382678665009028e-05,
2424
+ "loss": 0.43339255452156067,
2425
+ "step": 302,
2426
+ "token_acc": 0.8655923195611178
2427
+ },
2428
+ {
2429
+ "epoch": 0.7692795937797524,
2430
+ "grad_norm": 2.9343918370531257,
2431
+ "learning_rate": 4.374453007419336e-05,
2432
+ "loss": 0.4361863434314728,
2433
+ "step": 303,
2434
+ "token_acc": 0.859846630771741
2435
+ },
2436
+ {
2437
+ "epoch": 0.7718184703268803,
2438
+ "grad_norm": 3.237940469376079,
2439
+ "learning_rate": 4.366180738412876e-05,
2440
+ "loss": 0.511203408241272,
2441
+ "step": 304,
2442
+ "token_acc": 0.8461118690313779
2443
+ },
2444
+ {
2445
+ "epoch": 0.7743573468740083,
2446
+ "grad_norm": 2.274147737832287,
2447
+ "learning_rate": 4.357862063693486e-05,
2448
+ "loss": 0.4454347491264343,
2449
+ "step": 305,
2450
+ "token_acc": 0.8601151774103659
2451
+ },
2452
+ {
2453
+ "epoch": 0.7768962234211362,
2454
+ "grad_norm": 4.944015444600801,
2455
+ "learning_rate": 4.34949719011896e-05,
2456
+ "loss": 0.5148607492446899,
2457
+ "step": 306,
2458
+ "token_acc": 0.8461761718183137
2459
+ },
2460
+ {
2461
+ "epoch": 0.779435099968264,
2462
+ "grad_norm": 1.192919570288064,
2463
+ "learning_rate": 4.341086325695905e-05,
2464
+ "loss": 0.4589368402957916,
2465
+ "step": 307,
2466
+ "token_acc": 0.8554825669530066
2467
+ },
2468
+ {
2469
+ "epoch": 0.7819739765153919,
2470
+ "grad_norm": 2.321389755226125,
2471
+ "learning_rate": 4.332629679574566e-05,
2472
+ "loss": 0.4466659128665924,
2473
+ "step": 308,
2474
+ "token_acc": 0.8586858685868587
2475
+ },
2476
+ {
2477
+ "epoch": 0.7845128530625198,
2478
+ "grad_norm": 1.7507551558813503,
2479
+ "learning_rate": 4.324127462043627e-05,
2480
+ "loss": 0.5438239574432373,
2481
+ "step": 309,
2482
+ "token_acc": 0.8434806403064715
2483
+ },
2484
+ {
2485
+ "epoch": 0.7870517296096478,
2486
+ "grad_norm": 1.779981899957501,
2487
+ "learning_rate": 4.3155798845249827e-05,
2488
+ "loss": 0.45011502504348755,
2489
+ "step": 310,
2490
+ "token_acc": 0.8603988603988604
2491
+ },
2492
+ {
2493
+ "epoch": 0.7895906061567757,
2494
+ "grad_norm": 1.1173424722276424,
2495
+ "learning_rate": 4.306987159568479e-05,
2496
+ "loss": 0.474408894777298,
2497
+ "step": 311,
2498
+ "token_acc": 0.8555719678319383
2499
+ },
2500
+ {
2501
+ "epoch": 0.7921294827039035,
2502
+ "grad_norm": 1.6608650795823556,
2503
+ "learning_rate": 4.2983495008466276e-05,
2504
+ "loss": 0.4456779360771179,
2505
+ "step": 312,
2506
+ "token_acc": 0.8610570687418937
2507
+ },
2508
+ {
2509
+ "epoch": 0.7946683592510314,
2510
+ "grad_norm": 1.5083288797918926,
2511
+ "learning_rate": 4.2896671231492966e-05,
2512
+ "loss": 0.4788318872451782,
2513
+ "step": 313,
2514
+ "token_acc": 0.8551842330762639
2515
+ },
2516
+ {
2517
+ "epoch": 0.7972072357981593,
2518
+ "grad_norm": 1.2937780524566131,
2519
+ "learning_rate": 4.2809402423783624e-05,
2520
+ "loss": 0.4659798741340637,
2521
+ "step": 314,
2522
+ "token_acc": 0.8593476531424026
2523
+ },
2524
+ {
2525
+ "epoch": 0.7997461123452873,
2526
+ "grad_norm": 1.0233055916579001,
2527
+ "learning_rate": 4.272169075542348e-05,
2528
+ "loss": 0.5088976621627808,
2529
+ "step": 315,
2530
+ "token_acc": 0.8429627141417534
2531
+ },
2532
+ {
2533
+ "epoch": 0.8022849888924151,
2534
+ "grad_norm": 1.0571728981681126,
2535
+ "learning_rate": 4.263353840751022e-05,
2536
+ "loss": 0.4456738829612732,
2537
+ "step": 316,
2538
+ "token_acc": 0.8666382616105667
2539
+ },
2540
+ {
2541
+ "epoch": 0.804823865439543,
2542
+ "grad_norm": 1.8198326747222258,
2543
+ "learning_rate": 4.254494757209979e-05,
2544
+ "loss": 0.4678633213043213,
2545
+ "step": 317,
2546
+ "token_acc": 0.8546817674270218
2547
+ },
2548
+ {
2549
+ "epoch": 0.8073627419866709,
2550
+ "grad_norm": 1.5377357010824237,
2551
+ "learning_rate": 4.245592045215182e-05,
2552
+ "loss": 0.5010336637496948,
2553
+ "step": 318,
2554
+ "token_acc": 0.8465278833004103
2555
+ },
2556
+ {
2557
+ "epoch": 0.8099016185337988,
2558
+ "grad_norm": 1.4181630525718223,
2559
+ "learning_rate": 4.2366459261474933e-05,
2560
+ "loss": 0.5233482718467712,
2561
+ "step": 319,
2562
+ "token_acc": 0.843609022556391
2563
+ },
2564
+ {
2565
+ "epoch": 0.8124404950809266,
2566
+ "grad_norm": 2.7968517592507247,
2567
+ "learning_rate": 4.227656622467162e-05,
2568
+ "loss": 0.45297539234161377,
2569
+ "step": 320,
2570
+ "token_acc": 0.8587121852290012
2571
+ },
2572
+ {
2573
+ "epoch": 0.8149793716280546,
2574
+ "grad_norm": 3.9632559263367324,
2575
+ "learning_rate": 4.2186243577082954e-05,
2576
+ "loss": 0.49113717675209045,
2577
+ "step": 321,
2578
+ "token_acc": 0.8499593165174939
2579
+ },
2580
+ {
2581
+ "epoch": 0.8175182481751825,
2582
+ "grad_norm": 1.5212678599870548,
2583
+ "learning_rate": 4.2095493564733005e-05,
2584
+ "loss": 0.4760684370994568,
2585
+ "step": 322,
2586
+ "token_acc": 0.8581730769230769
2587
+ },
2588
+ {
2589
+ "epoch": 0.8200571247223104,
2590
+ "grad_norm": 1.1979894810329197,
2591
+ "learning_rate": 4.2004318444272985e-05,
2592
+ "loss": 0.5287943482398987,
2593
+ "step": 323,
2594
+ "token_acc": 0.8400316247199895
2595
+ },
2596
+ {
2597
+ "epoch": 0.8225960012694383,
2598
+ "grad_norm": 13.231283362213604,
2599
+ "learning_rate": 4.191272048292513e-05,
2600
+ "loss": 0.45438772439956665,
2601
+ "step": 324,
2602
+ "token_acc": 0.8593374939990398
2603
+ },
2604
+ {
2605
+ "epoch": 0.8251348778165661,
2606
+ "grad_norm": 1.9566355667367066,
2607
+ "learning_rate": 4.1820701958426325e-05,
2608
+ "loss": 0.4688713550567627,
2609
+ "step": 325,
2610
+ "token_acc": 0.8610249593856151
2611
+ },
2612
+ {
2613
+ "epoch": 0.8276737543636941,
2614
+ "grad_norm": 4.323839382951773,
2615
+ "learning_rate": 4.172826515897146e-05,
2616
+ "loss": 0.5428496599197388,
2617
+ "step": 326,
2618
+ "token_acc": 0.841347459929367
2619
+ },
2620
+ {
2621
+ "epoch": 0.830212630910822,
2622
+ "grad_norm": 2.713639671675627,
2623
+ "learning_rate": 4.163541238315653e-05,
2624
+ "loss": 0.5651642680168152,
2625
+ "step": 327,
2626
+ "token_acc": 0.8335643015521065
2627
+ },
2628
+ {
2629
+ "epoch": 0.8327515074579499,
2630
+ "grad_norm": 2.2005640892547205,
2631
+ "learning_rate": 4.154214593992149e-05,
2632
+ "loss": 0.42816388607025146,
2633
+ "step": 328,
2634
+ "token_acc": 0.8655292606861127
2635
+ },
2636
+ {
2637
+ "epoch": 0.8352903840050777,
2638
+ "grad_norm": 1.7693852546194808,
2639
+ "learning_rate": 4.144846814849282e-05,
2640
+ "loss": 0.5406675934791565,
2641
+ "step": 329,
2642
+ "token_acc": 0.8363126015659624
2643
+ },
2644
+ {
2645
+ "epoch": 0.8378292605522056,
2646
+ "grad_norm": 1.2824936447977062,
2647
+ "learning_rate": 4.1354381338325864e-05,
2648
+ "loss": 0.47528088092803955,
2649
+ "step": 330,
2650
+ "token_acc": 0.8529364953047907
2651
+ },
2652
+ {
2653
+ "epoch": 0.8403681370993336,
2654
+ "grad_norm": 2.1290755841224964,
2655
+ "learning_rate": 4.1259887849046906e-05,
2656
+ "loss": 0.47919371724128723,
2657
+ "step": 331,
2658
+ "token_acc": 0.8517776664997496
2659
+ },
2660
+ {
2661
+ "epoch": 0.8429070136464615,
2662
+ "grad_norm": 1.7923254144391947,
2663
+ "learning_rate": 4.116499003039499e-05,
2664
+ "loss": 0.4583389163017273,
2665
+ "step": 332,
2666
+ "token_acc": 0.8578696865255211
2667
+ },
2668
+ {
2669
+ "epoch": 0.8454458901935893,
2670
+ "grad_norm": 3.831696945491014,
2671
+ "learning_rate": 4.1069690242163484e-05,
2672
+ "loss": 0.4751017093658447,
2673
+ "step": 333,
2674
+ "token_acc": 0.8565161762017912
2675
+ },
2676
+ {
2677
+ "epoch": 0.8479847667407172,
2678
+ "grad_norm": 1.3534101044854359,
2679
+ "learning_rate": 4.09739908541414e-05,
2680
+ "loss": 0.5170926451683044,
2681
+ "step": 334,
2682
+ "token_acc": 0.844575246579701
2683
+ },
2684
+ {
2685
+ "epoch": 0.8505236432878451,
2686
+ "grad_norm": 1.7263471686071763,
2687
+ "learning_rate": 4.087789424605447e-05,
2688
+ "loss": 0.560020923614502,
2689
+ "step": 335,
2690
+ "token_acc": 0.8369974874371859
2691
+ },
2692
+ {
2693
+ "epoch": 0.853062519834973,
2694
+ "grad_norm": 1.976895260311541,
2695
+ "learning_rate": 4.078140280750597e-05,
2696
+ "loss": 0.48105573654174805,
2697
+ "step": 336,
2698
+ "token_acc": 0.8486519607843137
2699
+ },
2700
+ {
2701
+ "epoch": 0.8556013963821009,
2702
+ "grad_norm": 1.3618234100955324,
2703
+ "learning_rate": 4.0684518937917315e-05,
2704
+ "loss": 0.535722553730011,
2705
+ "step": 337,
2706
+ "token_acc": 0.8411811652035116
2707
+ },
2708
+ {
2709
+ "epoch": 0.8581402729292288,
2710
+ "grad_norm": 1.7410934714261248,
2711
+ "learning_rate": 4.058724504646834e-05,
2712
+ "loss": 0.5101606845855713,
2713
+ "step": 338,
2714
+ "token_acc": 0.8413575374901342
2715
+ },
2716
+ {
2717
+ "epoch": 0.8606791494763567,
2718
+ "grad_norm": 1.6462446903462482,
2719
+ "learning_rate": 4.048958355203746e-05,
2720
+ "loss": 0.4928050637245178,
2721
+ "step": 339,
2722
+ "token_acc": 0.8460967646185812
2723
+ },
2724
+ {
2725
+ "epoch": 0.8632180260234846,
2726
+ "grad_norm": 1.228936011236623,
2727
+ "learning_rate": 4.039153688314145e-05,
2728
+ "loss": 0.5174915194511414,
2729
+ "step": 340,
2730
+ "token_acc": 0.8437601824698598
2731
+ },
2732
+ {
2733
+ "epoch": 0.8657569025706126,
2734
+ "grad_norm": 1.4612143586664255,
2735
+ "learning_rate": 4.029310747787516e-05,
2736
+ "loss": 0.41705322265625,
2737
+ "step": 341,
2738
+ "token_acc": 0.8653099269846202
2739
+ },
2740
+ {
2741
+ "epoch": 0.8682957791177404,
2742
+ "grad_norm": 1.797059242292307,
2743
+ "learning_rate": 4.0194297783850755e-05,
2744
+ "loss": 0.5154389142990112,
2745
+ "step": 342,
2746
+ "token_acc": 0.8439297831538575
2747
+ },
2748
+ {
2749
+ "epoch": 0.8708346556648683,
2750
+ "grad_norm": 2.068548395822149,
2751
+ "learning_rate": 4.009511025813694e-05,
2752
+ "loss": 0.45814093947410583,
2753
+ "step": 343,
2754
+ "token_acc": 0.8591615638247763
2755
+ },
2756
+ {
2757
+ "epoch": 0.8733735322119962,
2758
+ "grad_norm": 2.106347854495477,
2759
+ "learning_rate": 3.9995547367197845e-05,
2760
+ "loss": 0.5106515884399414,
2761
+ "step": 344,
2762
+ "token_acc": 0.8444444444444444
2763
+ },
2764
+ {
2765
+ "epoch": 0.8759124087591241,
2766
+ "grad_norm": 2.277599588151966,
2767
+ "learning_rate": 3.9895611586831685e-05,
2768
+ "loss": 0.5230048894882202,
2769
+ "step": 345,
2770
+ "token_acc": 0.8413416536661467
2771
+ },
2772
+ {
2773
+ "epoch": 0.8784512853062519,
2774
+ "grad_norm": 2.12251688559056,
2775
+ "learning_rate": 3.9795305402109195e-05,
2776
+ "loss": 0.4795979857444763,
2777
+ "step": 346,
2778
+ "token_acc": 0.8566383257030739
2779
+ },
2780
+ {
2781
+ "epoch": 0.8809901618533799,
2782
+ "grad_norm": 6.771491520442473,
2783
+ "learning_rate": 3.969463130731183e-05,
2784
+ "loss": 0.41639000177383423,
2785
+ "step": 347,
2786
+ "token_acc": 0.869641912153819
2787
+ },
2788
+ {
2789
+ "epoch": 0.8835290384005078,
2790
+ "grad_norm": 8.929919537256396,
2791
+ "learning_rate": 3.959359180586975e-05,
2792
+ "loss": 0.4425828158855438,
2793
+ "step": 348,
2794
+ "token_acc": 0.8597887647328946
2795
+ },
2796
+ {
2797
+ "epoch": 0.8860679149476357,
2798
+ "grad_norm": 7.530785543727866,
2799
+ "learning_rate": 3.9492189410299566e-05,
2800
+ "loss": 0.44385579228401184,
2801
+ "step": 349,
2802
+ "token_acc": 0.865767878077374
2803
+ },
2804
+ {
2805
+ "epoch": 0.8886067914947635,
2806
+ "grad_norm": 2.6343520915908716,
2807
+ "learning_rate": 3.939042664214184e-05,
2808
+ "loss": 0.48342394828796387,
2809
+ "step": 350,
2810
+ "token_acc": 0.8567626018965231
2811
+ },
2812
+ {
2813
+ "epoch": 0.8911456680418914,
2814
+ "grad_norm": 1.5801412806386852,
2815
+ "learning_rate": 3.928830603189844e-05,
2816
+ "loss": 0.4776611030101776,
2817
+ "step": 351,
2818
+ "token_acc": 0.8521291530182499
2819
+ },
2820
+ {
2821
+ "epoch": 0.8936845445890194,
2822
+ "grad_norm": 3.7389218036878478,
2823
+ "learning_rate": 3.918583011896955e-05,
2824
+ "loss": 0.45217645168304443,
2825
+ "step": 352,
2826
+ "token_acc": 0.8585561910650796
2827
+ },
2828
+ {
2829
+ "epoch": 0.8962234211361473,
2830
+ "grad_norm": 1.6890575760456612,
2831
+ "learning_rate": 3.908300145159055e-05,
2832
+ "loss": 0.5242031216621399,
2833
+ "step": 353,
2834
+ "token_acc": 0.8453546152687849
2835
+ },
2836
+ {
2837
+ "epoch": 0.8987622976832752,
2838
+ "grad_norm": 1.992965354554827,
2839
+ "learning_rate": 3.897982258676867e-05,
2840
+ "loss": 0.4830443859100342,
2841
+ "step": 354,
2842
+ "token_acc": 0.8554014932195643
2843
+ },
2844
+ {
2845
+ "epoch": 0.901301174230403,
2846
+ "grad_norm": 1.2964405728485144,
2847
+ "learning_rate": 3.887629609021938e-05,
2848
+ "loss": 0.4663028419017792,
2849
+ "step": 355,
2850
+ "token_acc": 0.8561201572150478
2851
+ },
2852
+ {
2853
+ "epoch": 0.9038400507775309,
2854
+ "grad_norm": 8.39081588467176,
2855
+ "learning_rate": 3.8772424536302564e-05,
2856
+ "loss": 0.5014960169792175,
2857
+ "step": 356,
2858
+ "token_acc": 0.8504262120404902
2859
+ },
2860
+ {
2861
+ "epoch": 0.9063789273246589,
2862
+ "grad_norm": 1.8861771407475878,
2863
+ "learning_rate": 3.866821050795859e-05,
2864
+ "loss": 0.5827922821044922,
2865
+ "step": 357,
2866
+ "token_acc": 0.8322280231409623
2867
+ },
2868
+ {
2869
+ "epoch": 0.9089178038717868,
2870
+ "grad_norm": 1.631982885362827,
2871
+ "learning_rate": 3.856365659664399e-05,
2872
+ "loss": 0.5254430770874023,
2873
+ "step": 358,
2874
+ "token_acc": 0.8455894342083808
2875
+ },
2876
+ {
2877
+ "epoch": 0.9114566804189146,
2878
+ "grad_norm": 1.6184938593440648,
2879
+ "learning_rate": 3.845876540226706e-05,
2880
+ "loss": 0.5034159421920776,
2881
+ "step": 359,
2882
+ "token_acc": 0.8477827221114009
2883
+ },
2884
+ {
2885
+ "epoch": 0.9139955569660425,
2886
+ "grad_norm": 2.616866018868145,
2887
+ "learning_rate": 3.835353953312322e-05,
2888
+ "loss": 0.4409644603729248,
2889
+ "step": 360,
2890
+ "token_acc": 0.8624558168126633
2891
+ },
2892
+ {
2893
+ "epoch": 0.9165344335131704,
2894
+ "grad_norm": 1.1082161386999507,
2895
+ "learning_rate": 3.824798160583012e-05,
2896
+ "loss": 0.4826850891113281,
2897
+ "step": 361,
2898
+ "token_acc": 0.8542769573697409
2899
+ },
2900
+ {
2901
+ "epoch": 0.9190733100602984,
2902
+ "grad_norm": 1.4706520431007584,
2903
+ "learning_rate": 3.814209424526262e-05,
2904
+ "loss": 0.5543685555458069,
2905
+ "step": 362,
2906
+ "token_acc": 0.8411547002220577
2907
+ },
2908
+ {
2909
+ "epoch": 0.9216121866074262,
2910
+ "grad_norm": 1.4937567660832907,
2911
+ "learning_rate": 3.803588008448745e-05,
2912
+ "loss": 0.46426546573638916,
2913
+ "step": 363,
2914
+ "token_acc": 0.8584509156409487
2915
+ },
2916
+ {
2917
+ "epoch": 0.9241510631545541,
2918
+ "grad_norm": 1.164319366810129,
2919
+ "learning_rate": 3.7929341764697816e-05,
2920
+ "loss": 0.43454286456108093,
2921
+ "step": 364,
2922
+ "token_acc": 0.869382677655108
2923
+ },
2924
+ {
2925
+ "epoch": 0.926689939701682,
2926
+ "grad_norm": 1.4647461875367664,
2927
+ "learning_rate": 3.782248193514766e-05,
2928
+ "loss": 0.40108054876327515,
2929
+ "step": 365,
2930
+ "token_acc": 0.8742168674698795
2931
+ },
2932
+ {
2933
+ "epoch": 0.9292288162488099,
2934
+ "grad_norm": 1.6339280778635523,
2935
+ "learning_rate": 3.771530325308579e-05,
2936
+ "loss": 0.48394569754600525,
2937
+ "step": 366,
2938
+ "token_acc": 0.8536367122587243
2939
+ },
2940
+ {
2941
+ "epoch": 0.9317676927959379,
2942
+ "grad_norm": 1.4990029947108798,
2943
+ "learning_rate": 3.7607808383689856e-05,
2944
+ "loss": 0.5164212584495544,
2945
+ "step": 367,
2946
+ "token_acc": 0.8487874465049928
2947
+ },
2948
+ {
2949
+ "epoch": 0.9343065693430657,
2950
+ "grad_norm": 1.246505387725808,
2951
+ "learning_rate": 3.7500000000000003e-05,
2952
+ "loss": 0.5112602710723877,
2953
+ "step": 368,
2954
+ "token_acc": 0.8492902446390819
2955
+ },
2956
+ {
2957
+ "epoch": 0.9368454458901936,
2958
+ "grad_norm": 3.107413430389552,
2959
+ "learning_rate": 3.739188078285244e-05,
2960
+ "loss": 0.4383936822414398,
2961
+ "step": 369,
2962
+ "token_acc": 0.8606896551724138
2963
+ },
2964
+ {
2965
+ "epoch": 0.9393843224373215,
2966
+ "grad_norm": 37.635995940969075,
2967
+ "learning_rate": 3.7283453420812786e-05,
2968
+ "loss": 0.46092715859413147,
2969
+ "step": 370,
2970
+ "token_acc": 0.8597212294496068
2971
+ },
2972
+ {
2973
+ "epoch": 0.9419231989844494,
2974
+ "grad_norm": 3.577937521692329,
2975
+ "learning_rate": 3.717472061010918e-05,
2976
+ "loss": 0.5413942337036133,
2977
+ "step": 371,
2978
+ "token_acc": 0.8350426115845732
2979
+ },
2980
+ {
2981
+ "epoch": 0.9444620755315772,
2982
+ "grad_norm": 5.47409206936157,
2983
+ "learning_rate": 3.706568505456527e-05,
2984
+ "loss": 0.48648974299430847,
2985
+ "step": 372,
2986
+ "token_acc": 0.8585890540968049
2987
+ },
2988
+ {
2989
+ "epoch": 0.9470009520787052,
2990
+ "grad_norm": 1.4741286710796073,
2991
+ "learning_rate": 3.695634946553296e-05,
2992
+ "loss": 0.47160500288009644,
2993
+ "step": 373,
2994
+ "token_acc": 0.8502487562189055
2995
+ },
2996
+ {
2997
+ "epoch": 0.9495398286258331,
2998
+ "grad_norm": 2.090944147666011,
2999
+ "learning_rate": 3.6846716561824965e-05,
3000
+ "loss": 0.5264440774917603,
3001
+ "step": 374,
3002
+ "token_acc": 0.84245960502693
3003
+ },
3004
+ {
3005
+ "epoch": 0.952078705172961,
3006
+ "grad_norm": 5.396217963829348,
3007
+ "learning_rate": 3.673678906964727e-05,
3008
+ "loss": 0.46441876888275146,
3009
+ "step": 375,
3010
+ "token_acc": 0.8582541054451167
3011
+ },
3012
+ {
3013
+ "epoch": 0.9546175817200888,
3014
+ "grad_norm": 2.5487410815491325,
3015
+ "learning_rate": 3.662656972253127e-05,
3016
+ "loss": 0.4945961534976959,
3017
+ "step": 376,
3018
+ "token_acc": 0.849025974025974
3019
+ },
3020
+ {
3021
+ "epoch": 0.9571564582672167,
3022
+ "grad_norm": 1.4487108456202973,
3023
+ "learning_rate": 3.651606126126581e-05,
3024
+ "loss": 0.44490116834640503,
3025
+ "step": 377,
3026
+ "token_acc": 0.8634252090430474
3027
+ },
3028
+ {
3029
+ "epoch": 0.9596953348143447,
3030
+ "grad_norm": 2.4501839034153567,
3031
+ "learning_rate": 3.6405266433829075e-05,
3032
+ "loss": 0.45414626598358154,
3033
+ "step": 378,
3034
+ "token_acc": 0.8611764705882353
3035
+ },
3036
+ {
3037
+ "epoch": 0.9622342113614726,
3038
+ "grad_norm": 2.498672242292354,
3039
+ "learning_rate": 3.6294187995320214e-05,
3040
+ "loss": 0.4957122206687927,
3041
+ "step": 379,
3042
+ "token_acc": 0.8477234401349073
3043
+ },
3044
+ {
3045
+ "epoch": 0.9647730879086004,
3046
+ "grad_norm": 1.5923271833585566,
3047
+ "learning_rate": 3.6182828707890816e-05,
3048
+ "loss": 0.5208961963653564,
3049
+ "step": 380,
3050
+ "token_acc": 0.8432196541134637
3051
+ },
3052
+ {
3053
+ "epoch": 0.9673119644557283,
3054
+ "grad_norm": 4.277533304496898,
3055
+ "learning_rate": 3.607119134067629e-05,
3056
+ "loss": 0.5402977466583252,
3057
+ "step": 381,
3058
+ "token_acc": 0.8438965563446336
3059
+ },
3060
+ {
3061
+ "epoch": 0.9698508410028562,
3062
+ "grad_norm": 1.391785836034451,
3063
+ "learning_rate": 3.5959278669726935e-05,
3064
+ "loss": 0.5133845210075378,
3065
+ "step": 382,
3066
+ "token_acc": 0.8467186095295175
3067
+ },
3068
+ {
3069
+ "epoch": 0.9723897175499842,
3070
+ "grad_norm": 1.6652300791673929,
3071
+ "learning_rate": 3.5847093477938956e-05,
3072
+ "loss": 0.4607965350151062,
3073
+ "step": 383,
3074
+ "token_acc": 0.8581548321808062
3075
+ },
3076
+ {
3077
+ "epoch": 0.9749285940971121,
3078
+ "grad_norm": 3.047516730060917,
3079
+ "learning_rate": 3.5734638554985236e-05,
3080
+ "loss": 0.558885931968689,
3081
+ "step": 384,
3082
+ "token_acc": 0.8354353441726181
3083
+ },
3084
+ {
3085
+ "epoch": 0.9774674706442399,
3086
+ "grad_norm": 1.7394548434827772,
3087
+ "learning_rate": 3.562191669724597e-05,
3088
+ "loss": 0.45114433765411377,
3089
+ "step": 385,
3090
+ "token_acc": 0.8557377049180328
3091
+ },
3092
+ {
3093
+ "epoch": 0.9800063471913678,
3094
+ "grad_norm": 2.3715567586043527,
3095
+ "learning_rate": 3.550893070773914e-05,
3096
+ "loss": 0.4739205837249756,
3097
+ "step": 386,
3098
+ "token_acc": 0.8504549457000293
3099
+ },
3100
+ {
3101
+ "epoch": 0.9825452237384957,
3102
+ "grad_norm": 2.7051039254253944,
3103
+ "learning_rate": 3.5395683396050825e-05,
3104
+ "loss": 0.47992223501205444,
3105
+ "step": 387,
3106
+ "token_acc": 0.8514475557664927
3107
+ },
3108
+ {
3109
+ "epoch": 0.9850841002856237,
3110
+ "grad_norm": 2.9508108026603526,
3111
+ "learning_rate": 3.5282177578265296e-05,
3112
+ "loss": 0.41233572363853455,
3113
+ "step": 388,
3114
+ "token_acc": 0.8679525222551929
3115
+ },
3116
+ {
3117
+ "epoch": 0.9876229768327515,
3118
+ "grad_norm": 1.4813660303012237,
3119
+ "learning_rate": 3.516841607689501e-05,
3120
+ "loss": 0.5352930426597595,
3121
+ "step": 389,
3122
+ "token_acc": 0.8431159981415518
3123
+ },
3124
+ {
3125
+ "epoch": 0.9901618533798794,
3126
+ "grad_norm": 3.1303557072936457,
3127
+ "learning_rate": 3.505440172081044e-05,
3128
+ "loss": 0.4628872275352478,
3129
+ "step": 390,
3130
+ "token_acc": 0.86190833959429
3131
+ },
3132
+ {
3133
+ "epoch": 0.9927007299270073,
3134
+ "grad_norm": 1.4674915872936216,
3135
+ "learning_rate": 3.494013734516971e-05,
3136
+ "loss": 0.4559894800186157,
3137
+ "step": 391,
3138
+ "token_acc": 0.8610082138830729
3139
+ },
3140
+ {
3141
+ "epoch": 0.9952396064741352,
3142
+ "grad_norm": 1.953348901842891,
3143
+ "learning_rate": 3.4825625791348096e-05,
3144
+ "loss": 0.4409753978252411,
3145
+ "step": 392,
3146
+ "token_acc": 0.862080370431619
3147
+ },
3148
+ {
3149
+ "epoch": 0.997778483021263,
3150
+ "grad_norm": 4.310074710886207,
3151
+ "learning_rate": 3.471086990686737e-05,
3152
+ "loss": 0.4559399485588074,
3153
+ "step": 393,
3154
+ "token_acc": 0.8591592988987126
3155
+ },
3156
+ {
3157
+ "epoch": 1.0,
3158
+ "grad_norm": 1.7219046332106547,
3159
+ "learning_rate": 3.459587254532502e-05,
3160
+ "loss": 0.48068922758102417,
3161
+ "step": 394,
3162
+ "token_acc": 0.8567295770767324
3163
+ },
3164
+ {
3165
+ "epoch": 1.0,
3166
+ "eval_loss": 0.38288021087646484,
3167
+ "eval_runtime": 8.607,
3168
+ "eval_samples_per_second": 1.394,
3169
+ "eval_steps_per_second": 0.349,
3170
+ "eval_token_acc": 0.8742701440249124,
3171
+ "step": 394
3172
+ }
3173
+ ],
3174
+ "logging_steps": 1,
3175
+ "max_steps": 788,
3176
+ "num_input_tokens_seen": 0,
3177
+ "num_train_epochs": 2,
3178
+ "save_steps": 500,
3179
+ "stateful_callbacks": {
3180
+ "TrainerControl": {
3181
+ "args": {
3182
+ "should_epoch_stop": false,
3183
+ "should_evaluate": false,
3184
+ "should_log": false,
3185
+ "should_save": true,
3186
+ "should_training_stop": false
3187
+ },
3188
+ "attributes": {}
3189
+ }
3190
+ },
3191
+ "total_flos": 2082783438045184.0,
3192
+ "train_batch_size": 1,
3193
+ "trial_name": null,
3194
+ "trial_params": null
3195
+ }
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:127702dae975ef36e1701c2735de30b8da42177c8aab9767eeec06a55c650d06
3
+ size 9873
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-394/zero_to_fp32.py ADDED
@@ -0,0 +1,760 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+
3
+ # Copyright (c) Microsoft Corporation.
4
+ # SPDX-License-Identifier: Apache-2.0
5
+
6
+ # DeepSpeed Team
7
+
8
+ # This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets
9
+ # copied into the top level checkpoint dir, so the user can easily do the conversion at any point in
10
+ # the future. Once extracted, the weights don't require DeepSpeed and can be used in any
11
+ # application.
12
+ #
13
+ # example:
14
+ # python zero_to_fp32.py . output_dir/
15
+ # or
16
+ # python zero_to_fp32.py . output_dir/ --safe_serialization
17
+
18
+ import argparse
19
+ import torch
20
+ import glob
21
+ import math
22
+ import os
23
+ import re
24
+ import gc
25
+ import json
26
+ import numpy as np
27
+ from tqdm import tqdm
28
+ from collections import OrderedDict
29
+ from dataclasses import dataclass
30
+
31
+ # while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with
32
+ # DeepSpeed data structures it has to be available in the current python environment.
33
+ from deepspeed.utils import logger
34
+ from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS,
35
+ FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES,
36
+ FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS)
37
+
38
+
39
+ @dataclass
40
+ class zero_model_state:
41
+ buffers: dict()
42
+ param_shapes: dict()
43
+ shared_params: list
44
+ ds_version: int
45
+ frozen_param_shapes: dict()
46
+ frozen_param_fragments: dict()
47
+
48
+
49
+ debug = 0
50
+
51
+ # load to cpu
52
+ device = torch.device('cpu')
53
+
54
+
55
+ def atoi(text):
56
+ return int(text) if text.isdigit() else text
57
+
58
+
59
+ def natural_keys(text):
60
+ '''
61
+ alist.sort(key=natural_keys) sorts in human order
62
+ http://nedbatchelder.com/blog/200712/human_sorting.html
63
+ (See Toothy's implementation in the comments)
64
+ '''
65
+ return [atoi(c) for c in re.split(r'(\d+)', text)]
66
+
67
+
68
+ def get_model_state_file(checkpoint_dir, zero_stage):
69
+ if not os.path.isdir(checkpoint_dir):
70
+ raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist")
71
+
72
+ # there should be only one file
73
+ if zero_stage <= 2:
74
+ file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt")
75
+ elif zero_stage == 3:
76
+ file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt")
77
+
78
+ if not os.path.exists(file):
79
+ raise FileNotFoundError(f"can't find model states file at '{file}'")
80
+
81
+ return file
82
+
83
+
84
+ def get_checkpoint_files(checkpoint_dir, glob_pattern):
85
+ # XXX: need to test that this simple glob rule works for multi-node setup too
86
+ ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys)
87
+
88
+ if len(ckpt_files) == 0:
89
+ raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'")
90
+
91
+ return ckpt_files
92
+
93
+
94
+ def get_optim_files(checkpoint_dir):
95
+ return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt")
96
+
97
+
98
+ def get_model_state_files(checkpoint_dir):
99
+ return get_checkpoint_files(checkpoint_dir, "*_model_states.pt")
100
+
101
+
102
+ def parse_model_states(files):
103
+ zero_model_states = []
104
+ for file in files:
105
+ state_dict = torch.load(file, map_location=device, weights_only=False)
106
+
107
+ if BUFFER_NAMES not in state_dict:
108
+ raise ValueError(f"{file} is not a model state checkpoint")
109
+ buffer_names = state_dict[BUFFER_NAMES]
110
+ if debug:
111
+ print("Found buffers:", buffer_names)
112
+
113
+ # recover just the buffers while restoring them to fp32 if they were saved in fp16
114
+ buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names}
115
+ param_shapes = state_dict[PARAM_SHAPES]
116
+
117
+ # collect parameters that are included in param_shapes
118
+ param_names = []
119
+ for s in param_shapes:
120
+ for name in s.keys():
121
+ param_names.append(name)
122
+
123
+ # update with frozen parameters
124
+ frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None)
125
+ if frozen_param_shapes is not None:
126
+ if debug:
127
+ print(f"Found frozen_param_shapes: {frozen_param_shapes}")
128
+ param_names += list(frozen_param_shapes.keys())
129
+
130
+ # handle shared params
131
+ shared_params = [[k, v] for k, v in state_dict["shared_params"].items()]
132
+
133
+ ds_version = state_dict.get(DS_VERSION, None)
134
+
135
+ frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None)
136
+
137
+ z_model_state = zero_model_state(buffers=buffers,
138
+ param_shapes=param_shapes,
139
+ shared_params=shared_params,
140
+ ds_version=ds_version,
141
+ frozen_param_shapes=frozen_param_shapes,
142
+ frozen_param_fragments=frozen_param_fragments)
143
+ zero_model_states.append(z_model_state)
144
+
145
+ return zero_model_states
146
+
147
+
148
+ def parse_optim_states(files, ds_checkpoint_dir):
149
+ total_files = len(files)
150
+ state_dicts = []
151
+ for f in tqdm(files, desc='Loading checkpoint shards'):
152
+ state_dict = torch.load(f, map_location=device, mmap=True, weights_only=False)
153
+ # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights
154
+ # and also handle the case where it was already removed by another helper script
155
+ state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None)
156
+ state_dicts.append(state_dict)
157
+
158
+ if ZERO_STAGE not in state_dicts[0][OPTIMIZER_STATE_DICT]:
159
+ raise ValueError(f"{files[0]} is not a zero checkpoint")
160
+ zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE]
161
+ world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT]
162
+
163
+ # For ZeRO-2 each param group can have different partition_count as data parallelism for expert
164
+ # parameters can be different from data parallelism for non-expert parameters. So we can just
165
+ # use the max of the partition_count to get the dp world_size.
166
+
167
+ if type(world_size) is list:
168
+ world_size = max(world_size)
169
+
170
+ if world_size != total_files:
171
+ raise ValueError(
172
+ f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. "
173
+ "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes."
174
+ )
175
+
176
+ # the groups are named differently in each stage
177
+ if zero_stage <= 2:
178
+ fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS
179
+ elif zero_stage == 3:
180
+ fp32_groups_key = FP32_FLAT_GROUPS
181
+ else:
182
+ raise ValueError(f"unknown zero stage {zero_stage}")
183
+
184
+ fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))]
185
+ return zero_stage, world_size, fp32_flat_groups
186
+
187
+
188
+ def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters):
189
+ """
190
+ Returns fp32 state_dict reconstructed from ds checkpoint
191
+
192
+ Args:
193
+ - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are)
194
+
195
+ """
196
+ print(f"Processing zero checkpoint '{ds_checkpoint_dir}'")
197
+
198
+ optim_files = get_optim_files(ds_checkpoint_dir)
199
+ zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir)
200
+ print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}")
201
+
202
+ model_files = get_model_state_files(ds_checkpoint_dir)
203
+
204
+ zero_model_states = parse_model_states(model_files)
205
+ print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}')
206
+
207
+ if zero_stage <= 2:
208
+ return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
209
+ exclude_frozen_parameters)
210
+ elif zero_stage == 3:
211
+ return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
212
+ exclude_frozen_parameters)
213
+
214
+
215
+ def _zero2_merge_frozen_params(state_dict, zero_model_states):
216
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
217
+ return
218
+
219
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
220
+ frozen_param_fragments = zero_model_states[0].frozen_param_fragments
221
+
222
+ if debug:
223
+ num_elem = sum(s.numel() for s in frozen_param_shapes.values())
224
+ print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
225
+
226
+ wanted_params = len(frozen_param_shapes)
227
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
228
+ avail_numel = sum([p.numel() for p in frozen_param_fragments.values()])
229
+ print(f'Frozen params: Have {avail_numel} numels to process.')
230
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
231
+
232
+ total_params = 0
233
+ total_numel = 0
234
+ for name, shape in frozen_param_shapes.items():
235
+ total_params += 1
236
+ unpartitioned_numel = shape.numel()
237
+ total_numel += unpartitioned_numel
238
+
239
+ state_dict[name] = frozen_param_fragments[name]
240
+
241
+ if debug:
242
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
243
+
244
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
245
+
246
+
247
+ def _has_callable(obj, fn):
248
+ attr = getattr(obj, fn, None)
249
+ return callable(attr)
250
+
251
+
252
+ def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
253
+ param_shapes = zero_model_states[0].param_shapes
254
+
255
+ # Reconstruction protocol:
256
+ #
257
+ # XXX: document this
258
+
259
+ if debug:
260
+ for i in range(world_size):
261
+ for j in range(len(fp32_flat_groups[0])):
262
+ print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}")
263
+
264
+ # XXX: memory usage doubles here (zero2)
265
+ num_param_groups = len(fp32_flat_groups[0])
266
+ merged_single_partition_of_fp32_groups = []
267
+ for i in range(num_param_groups):
268
+ merged_partitions = [sd[i] for sd in fp32_flat_groups]
269
+ full_single_fp32_vector = torch.cat(merged_partitions, 0)
270
+ merged_single_partition_of_fp32_groups.append(full_single_fp32_vector)
271
+ avail_numel = sum(
272
+ [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups])
273
+
274
+ if debug:
275
+ wanted_params = sum([len(shapes) for shapes in param_shapes])
276
+ wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes])
277
+ # not asserting if there is a mismatch due to possible padding
278
+ print(f"Have {avail_numel} numels to process.")
279
+ print(f"Need {wanted_numel} numels in {wanted_params} params.")
280
+
281
+ # params
282
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
283
+ # out-of-core computing solution
284
+ total_numel = 0
285
+ total_params = 0
286
+ for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups):
287
+ offset = 0
288
+ avail_numel = full_single_fp32_vector.numel()
289
+ for name, shape in shapes.items():
290
+
291
+ unpartitioned_numel = shape.numel() if _has_callable(shape, 'numel') else math.prod(shape)
292
+ total_numel += unpartitioned_numel
293
+ total_params += 1
294
+
295
+ if debug:
296
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
297
+ state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape)
298
+ offset += unpartitioned_numel
299
+
300
+ # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and
301
+ # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex
302
+ # paddings performed in the code it's almost impossible to predict the exact numbers w/o the
303
+ # live optimizer object, so we are checking that the numbers are within the right range
304
+ align_to = 2 * world_size
305
+
306
+ def zero2_align(x):
307
+ return align_to * math.ceil(x / align_to)
308
+
309
+ if debug:
310
+ print(f"original offset={offset}, avail_numel={avail_numel}")
311
+
312
+ offset = zero2_align(offset)
313
+ avail_numel = zero2_align(avail_numel)
314
+
315
+ if debug:
316
+ print(f"aligned offset={offset}, avail_numel={avail_numel}")
317
+
318
+ # Sanity check
319
+ if offset != avail_numel:
320
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
321
+
322
+ print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements")
323
+
324
+
325
+ def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
326
+ exclude_frozen_parameters):
327
+ state_dict = OrderedDict()
328
+
329
+ # buffers
330
+ buffers = zero_model_states[0].buffers
331
+ state_dict.update(buffers)
332
+ if debug:
333
+ print(f"added {len(buffers)} buffers")
334
+
335
+ if not exclude_frozen_parameters:
336
+ _zero2_merge_frozen_params(state_dict, zero_model_states)
337
+
338
+ _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
339
+
340
+ # recover shared parameters
341
+ for pair in zero_model_states[0].shared_params:
342
+ if pair[1] in state_dict:
343
+ state_dict[pair[0]] = state_dict[pair[1]]
344
+
345
+ return state_dict
346
+
347
+
348
+ def zero3_partitioned_param_info(unpartitioned_numel, world_size):
349
+ remainder = unpartitioned_numel % world_size
350
+ padding_numel = (world_size - remainder) if remainder else 0
351
+ partitioned_numel = math.ceil(unpartitioned_numel / world_size)
352
+ return partitioned_numel, padding_numel
353
+
354
+
355
+ def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states):
356
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
357
+ return
358
+
359
+ if debug:
360
+ for i in range(world_size):
361
+ num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values())
362
+ print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
363
+
364
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
365
+ wanted_params = len(frozen_param_shapes)
366
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
367
+ avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size
368
+ print(f'Frozen params: Have {avail_numel} numels to process.')
369
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
370
+
371
+ total_params = 0
372
+ total_numel = 0
373
+ for name, shape in zero_model_states[0].frozen_param_shapes.items():
374
+ total_params += 1
375
+ unpartitioned_numel = shape.numel()
376
+ total_numel += unpartitioned_numel
377
+
378
+ param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states)
379
+ state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape)
380
+
381
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
382
+
383
+ if debug:
384
+ print(
385
+ f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
386
+ )
387
+
388
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
389
+
390
+
391
+ class GatheredTensor:
392
+ """
393
+ A pseudo tensor that collects partitioned weights.
394
+ It is more memory efficient when there are multiple groups.
395
+ """
396
+
397
+ def __init__(self, flat_groups, flat_groups_offset, offset, partitioned_numel, shape):
398
+ self.flat_groups = flat_groups
399
+ self.flat_groups_offset = flat_groups_offset
400
+ self.offset = offset
401
+ self.partitioned_numel = partitioned_numel
402
+ self.shape = shape
403
+ self.dtype = self.flat_groups[0][0].dtype
404
+
405
+ def contiguous(self):
406
+ """
407
+ Merge partitioned weights from flat_groups into a single tensor.
408
+ """
409
+ end_idx = self.offset + self.partitioned_numel
410
+ world_size = len(self.flat_groups)
411
+ pad_flat_param_chunks = []
412
+
413
+ for rank_i in range(world_size):
414
+ # for each rank, we need to collect weights from related group/groups
415
+ flat_groups_at_rank_i = self.flat_groups[rank_i]
416
+ start_group_id = None
417
+ end_group_id = None
418
+ for group_id in range(len(self.flat_groups_offset)):
419
+ if self.flat_groups_offset[group_id] <= self.offset < self.flat_groups_offset[group_id + 1]:
420
+ start_group_id = group_id
421
+ if self.flat_groups_offset[group_id] < end_idx <= self.flat_groups_offset[group_id + 1]:
422
+ end_group_id = group_id
423
+ break
424
+ # collect weights from related group/groups
425
+ for group_id in range(start_group_id, end_group_id + 1):
426
+ flat_tensor = flat_groups_at_rank_i[group_id]
427
+ start_offset = self.offset - self.flat_groups_offset[group_id]
428
+ end_offset = min(end_idx, self.flat_groups_offset[group_id + 1]) - self.flat_groups_offset[group_id]
429
+ pad_flat_param_chunks.append(flat_tensor[start_offset:end_offset])
430
+
431
+ # collect weights from all ranks
432
+ pad_flat_param = torch.cat(pad_flat_param_chunks, dim=0)
433
+ param = pad_flat_param[:self.shape.numel()].view(self.shape).contiguous()
434
+ return param
435
+
436
+
437
+ def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
438
+ param_shapes = zero_model_states[0].param_shapes
439
+ avail_numel = sum([flat_group.numel() for flat_group in fp32_flat_groups[0]]) * world_size
440
+
441
+ # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each
442
+ # param, re-consolidating each param, while dealing with padding if any
443
+
444
+ # merge list of dicts, preserving order
445
+ param_shapes = {k: v for d in param_shapes for k, v in d.items()}
446
+
447
+ if debug:
448
+ for i in range(world_size):
449
+ print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}")
450
+
451
+ wanted_params = len(param_shapes)
452
+ wanted_numel = sum(shape.numel() for shape in param_shapes.values())
453
+ # not asserting if there is a mismatch due to possible padding
454
+ avail_numel = fp32_flat_groups[0].numel() * world_size
455
+ print(f"Trainable params: Have {avail_numel} numels to process.")
456
+ print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.")
457
+
458
+ # params
459
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
460
+ # out-of-core computing solution
461
+ offset = 0
462
+ total_numel = 0
463
+ total_params = 0
464
+ flat_groups_offset = [0] + list(np.cumsum([flat_tensor.numel() for flat_tensor in fp32_flat_groups[0]]))
465
+ for name, shape in tqdm(param_shapes.items(), desc='Gathering sharded weights'):
466
+ unpartitioned_numel = shape.numel()
467
+ total_numel += unpartitioned_numel
468
+ total_params += 1
469
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
470
+
471
+ if debug:
472
+ print(
473
+ f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
474
+ )
475
+
476
+ # memory efficient tensor
477
+ tensor = GatheredTensor(fp32_flat_groups, flat_groups_offset, offset, partitioned_numel, shape)
478
+ state_dict[name] = tensor
479
+ offset += partitioned_numel
480
+
481
+ offset *= world_size
482
+
483
+ # Sanity check
484
+ if offset != avail_numel:
485
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
486
+
487
+ print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements")
488
+
489
+
490
+ def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
491
+ exclude_frozen_parameters):
492
+ state_dict = OrderedDict()
493
+
494
+ # buffers
495
+ buffers = zero_model_states[0].buffers
496
+ state_dict.update(buffers)
497
+ if debug:
498
+ print(f"added {len(buffers)} buffers")
499
+
500
+ if not exclude_frozen_parameters:
501
+ _zero3_merge_frozen_params(state_dict, world_size, zero_model_states)
502
+
503
+ _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
504
+
505
+ # recover shared parameters
506
+ for pair in zero_model_states[0].shared_params:
507
+ if pair[1] in state_dict:
508
+ state_dict[pair[0]] = state_dict[pair[1]]
509
+
510
+ return state_dict
511
+
512
+
513
+ def to_torch_tensor(state_dict, return_empty_tensor=False):
514
+ """
515
+ Convert state_dict of GatheredTensor to torch tensor
516
+ """
517
+ torch_state_dict = {}
518
+ converted_tensors = {}
519
+ for name, tensor in state_dict.items():
520
+ tensor_id = id(tensor)
521
+ if tensor_id in converted_tensors: # shared tensors
522
+ shared_tensor = torch_state_dict[converted_tensors[tensor_id]]
523
+ torch_state_dict[name] = shared_tensor
524
+ else:
525
+ converted_tensors[tensor_id] = name
526
+ if return_empty_tensor:
527
+ torch_state_dict[name] = torch.empty(tensor.shape, dtype=tensor.dtype)
528
+ else:
529
+ torch_state_dict[name] = tensor.contiguous()
530
+ return torch_state_dict
531
+
532
+
533
+ def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir,
534
+ tag=None,
535
+ exclude_frozen_parameters=False,
536
+ lazy_mode=False):
537
+ """
538
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with
539
+ ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example
540
+ via a model hub.
541
+
542
+ Args:
543
+ - ``checkpoint_dir``: path to the desired checkpoint folder
544
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in 'latest' file. e.g., ``global_step14``
545
+ - ``exclude_frozen_parameters``: exclude frozen parameters
546
+ - ``lazy_mode``: get state_dict in lazy mode. It returns a dict of pesduo tensor instead of torch tensor, which is more memory efficient.
547
+ Convert the pesduo tensor to torch tensor by ``.contiguous()``
548
+
549
+ Returns:
550
+ - pytorch ``state_dict``
551
+
552
+ A typical usage might be ::
553
+
554
+ from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint
555
+ # do the training and checkpoint saving
556
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu
557
+ model = model.cpu() # move to cpu
558
+ model.load_state_dict(state_dict)
559
+ # submit to model hub or save the model to share with others
560
+
561
+ In this example the ``model`` will no longer be usable in the deepspeed context of the same
562
+ application. i.e. you will need to re-initialize the deepspeed engine, since
563
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
564
+
565
+ If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead.
566
+
567
+ Note: the above usage may not work if your application doesn't have sufficient free CPU memory.
568
+ You may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with
569
+ the checkpoint. Or you can load state_dict in lazy mode ::
570
+
571
+ from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint
572
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, lazy_mode=True) # not on cpu
573
+ for name, lazy_tensor in state_dict.item():
574
+ tensor = lazy_tensor.contiguous() # to cpu
575
+ print(name, tensor)
576
+ # del tensor to release memory if it no longer in use
577
+ """
578
+ if tag is None:
579
+ latest_path = os.path.join(checkpoint_dir, 'latest')
580
+ if os.path.isfile(latest_path):
581
+ with open(latest_path, 'r') as fd:
582
+ tag = fd.read().strip()
583
+ else:
584
+ raise ValueError(f"Unable to find 'latest' file at {latest_path}")
585
+
586
+ ds_checkpoint_dir = os.path.join(checkpoint_dir, tag)
587
+
588
+ if not os.path.isdir(ds_checkpoint_dir):
589
+ raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist")
590
+
591
+ state_dict = _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters)
592
+ if lazy_mode:
593
+ return state_dict
594
+ else:
595
+ return to_torch_tensor(state_dict)
596
+
597
+
598
+ def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir,
599
+ output_dir,
600
+ max_shard_size="5GB",
601
+ safe_serialization=False,
602
+ tag=None,
603
+ exclude_frozen_parameters=False):
604
+ """
605
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be
606
+ loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed.
607
+
608
+ Args:
609
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
610
+ - ``output_dir``: directory to the pytorch fp32 state_dict output files
611
+ - ``max_shard_size``: the maximum size for a checkpoint before being sharded, default value is 5GB
612
+ - ``safe_serialization``: whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).
613
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
614
+ - ``exclude_frozen_parameters``: exclude frozen parameters
615
+ """
616
+
617
+ # Dependency pre-check
618
+ if safe_serialization:
619
+ try:
620
+ from safetensors.torch import save_file
621
+ except ImportError:
622
+ print('If you want to use `safe_serialization`, please `pip install safetensors`')
623
+ raise
624
+ if max_shard_size is not None:
625
+ try:
626
+ from huggingface_hub import split_torch_state_dict_into_shards
627
+ except ImportError:
628
+ print('If you want to use `max_shard_size`, please `pip install huggingface_hub`')
629
+ raise
630
+
631
+ # Convert zero checkpoint to state_dict
632
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir,
633
+ tag,
634
+ exclude_frozen_parameters,
635
+ lazy_mode=True)
636
+
637
+ # Shard the model if it is too big.
638
+ weights_name = "model.safetensors" if safe_serialization else "pytorch_model.bin"
639
+ if max_shard_size is not None:
640
+ filename_pattern = weights_name.replace(".bin", "{suffix}.bin").replace(".safetensors", "{suffix}.safetensors")
641
+ # an memory-efficient approach for sharding
642
+ empty_state_dict = to_torch_tensor(state_dict, return_empty_tensor=True)
643
+ state_dict_split = split_torch_state_dict_into_shards(empty_state_dict,
644
+ filename_pattern=filename_pattern,
645
+ max_shard_size=max_shard_size)
646
+ else:
647
+ from collections import namedtuple
648
+ StateDictSplit = namedtuple("StateDictSplit", ["is_sharded", "filename_to_tensors"])
649
+ state_dict_split = StateDictSplit(is_sharded=False,
650
+ filename_to_tensors={weights_name: list(state_dict.keys())})
651
+
652
+ # Save the model by shard
653
+ os.makedirs(output_dir, exist_ok=True)
654
+ filename_to_tensors = state_dict_split.filename_to_tensors.items()
655
+ for shard_file, tensors in tqdm(filename_to_tensors, desc="Saving checkpoint shards"):
656
+ shard_state_dict = {tensor_name: state_dict[tensor_name] for tensor_name in tensors}
657
+ shard_state_dict = to_torch_tensor(shard_state_dict)
658
+ output_path = os.path.join(output_dir, shard_file)
659
+ if safe_serialization:
660
+ save_file(shard_state_dict, output_path, metadata={"format": "pt"})
661
+ else:
662
+ torch.save(shard_state_dict, output_path)
663
+ # release the memory of current shard
664
+ for tensor_name in list(shard_state_dict.keys()):
665
+ del state_dict[tensor_name]
666
+ del shard_state_dict[tensor_name]
667
+ del shard_state_dict
668
+ gc.collect()
669
+
670
+ # Save index if sharded
671
+ if state_dict_split.is_sharded:
672
+ index = {
673
+ "metadata": state_dict_split.metadata,
674
+ "weight_map": state_dict_split.tensor_to_filename,
675
+ }
676
+ save_index_file = "model.safetensors.index.json" if safe_serialization else "pytorch_model.bin.index.json"
677
+ save_index_file = os.path.join(output_dir, save_index_file)
678
+ with open(save_index_file, "w", encoding="utf-8") as f:
679
+ content = json.dumps(index, indent=2, sort_keys=True) + "\n"
680
+ f.write(content)
681
+
682
+
683
+ def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None):
684
+ """
685
+ 1. Put the provided model to cpu
686
+ 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict``
687
+ 3. Load it into the provided model
688
+
689
+ Args:
690
+ - ``model``: the model object to update
691
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
692
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
693
+
694
+ Returns:
695
+ - ``model`: modified model
696
+
697
+ Make sure you have plenty of CPU memory available before you call this function. If you don't
698
+ have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it
699
+ conveniently placed for you in the checkpoint folder.
700
+
701
+ A typical usage might be ::
702
+
703
+ from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint
704
+ model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir)
705
+ # submit to model hub or save the model to share with others
706
+
707
+ Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context
708
+ of the same application. i.e. you will need to re-initialize the deepspeed engine, since
709
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
710
+
711
+ """
712
+ logger.info("Extracting fp32 weights")
713
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag)
714
+
715
+ logger.info("Overwriting model with fp32 weights")
716
+ model = model.cpu()
717
+ model.load_state_dict(state_dict, strict=False)
718
+
719
+ return model
720
+
721
+
722
+ if __name__ == "__main__":
723
+ parser = argparse.ArgumentParser()
724
+ parser.add_argument("checkpoint_dir",
725
+ type=str,
726
+ help="path to the desired checkpoint folder, e.g., path/checkpoint-12")
727
+ parser.add_argument("output_dir",
728
+ type=str,
729
+ help="directory to the pytorch fp32 state_dict output files"
730
+ "(e.g. path/checkpoint-12-output/)")
731
+ parser.add_argument(
732
+ "--max_shard_size",
733
+ type=str,
734
+ default="5GB",
735
+ help="The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size"
736
+ "lower than this size. If expressed as a string, needs to be digits followed by a unit (like `5MB`"
737
+ "We default it to 5GB in order for models to be able to run easily on free-tier google colab instances"
738
+ "without CPU OOM issues.")
739
+ parser.add_argument(
740
+ "--safe_serialization",
741
+ default=False,
742
+ action='store_true',
743
+ help="Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).")
744
+ parser.add_argument("-t",
745
+ "--tag",
746
+ type=str,
747
+ default=None,
748
+ help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1")
749
+ parser.add_argument("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters")
750
+ parser.add_argument("-d", "--debug", action='store_true', help="enable debug")
751
+ args = parser.parse_args()
752
+
753
+ debug = args.debug
754
+
755
+ convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir,
756
+ args.output_dir,
757
+ max_shard_size=args.max_shard_size,
758
+ safe_serialization=args.safe_serialization,
759
+ tag=args.tag,
760
+ exclude_frozen_parameters=args.exclude_frozen_parameters)
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/README.md ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: /data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct
7
+ - lora
8
+ - transformers
9
+ ---
10
+
11
+ # Model Card for Model ID
12
+
13
+ <!-- Provide a quick summary of what the model is/does. -->
14
+
15
+
16
+
17
+ ## Model Details
18
+
19
+ ### Model Description
20
+
21
+ <!-- Provide a longer summary of what this model is. -->
22
+
23
+
24
+
25
+ - **Developed by:** [More Information Needed]
26
+ - **Funded by [optional]:** [More Information Needed]
27
+ - **Shared by [optional]:** [More Information Needed]
28
+ - **Model type:** [More Information Needed]
29
+ - **Language(s) (NLP):** [More Information Needed]
30
+ - **License:** [More Information Needed]
31
+ - **Finetuned from model [optional]:** [More Information Needed]
32
+
33
+ ### Model Sources [optional]
34
+
35
+ <!-- Provide the basic links for the model. -->
36
+
37
+ - **Repository:** [More Information Needed]
38
+ - **Paper [optional]:** [More Information Needed]
39
+ - **Demo [optional]:** [More Information Needed]
40
+
41
+ ## Uses
42
+
43
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
44
+
45
+ ### Direct Use
46
+
47
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
48
+
49
+ [More Information Needed]
50
+
51
+ ### Downstream Use [optional]
52
+
53
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
54
+
55
+ [More Information Needed]
56
+
57
+ ### Out-of-Scope Use
58
+
59
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
60
+
61
+ [More Information Needed]
62
+
63
+ ## Bias, Risks, and Limitations
64
+
65
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
66
+
67
+ [More Information Needed]
68
+
69
+ ### Recommendations
70
+
71
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
72
+
73
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
74
+
75
+ ## How to Get Started with the Model
76
+
77
+ Use the code below to get started with the model.
78
+
79
+ [More Information Needed]
80
+
81
+ ## Training Details
82
+
83
+ ### Training Data
84
+
85
+ <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
86
+
87
+ [More Information Needed]
88
+
89
+ ### Training Procedure
90
+
91
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
92
+
93
+ #### Preprocessing [optional]
94
+
95
+ [More Information Needed]
96
+
97
+
98
+ #### Training Hyperparameters
99
+
100
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
101
+
102
+ #### Speeds, Sizes, Times [optional]
103
+
104
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
105
+
106
+ [More Information Needed]
107
+
108
+ ## Evaluation
109
+
110
+ <!-- This section describes the evaluation protocols and provides the results. -->
111
+
112
+ ### Testing Data, Factors & Metrics
113
+
114
+ #### Testing Data
115
+
116
+ <!-- This should link to a Dataset Card if possible. -->
117
+
118
+ [More Information Needed]
119
+
120
+ #### Factors
121
+
122
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
123
+
124
+ [More Information Needed]
125
+
126
+ #### Metrics
127
+
128
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
129
+
130
+ [More Information Needed]
131
+
132
+ ### Results
133
+
134
+ [More Information Needed]
135
+
136
+ #### Summary
137
+
138
+
139
+
140
+ ## Model Examination [optional]
141
+
142
+ <!-- Relevant interpretability work for the model goes here -->
143
+
144
+ [More Information Needed]
145
+
146
+ ## Environmental Impact
147
+
148
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
149
+
150
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
151
+
152
+ - **Hardware Type:** [More Information Needed]
153
+ - **Hours used:** [More Information Needed]
154
+ - **Cloud Provider:** [More Information Needed]
155
+ - **Compute Region:** [More Information Needed]
156
+ - **Carbon Emitted:** [More Information Needed]
157
+
158
+ ## Technical Specifications [optional]
159
+
160
+ ### Model Architecture and Objective
161
+
162
+ [More Information Needed]
163
+
164
+ ### Compute Infrastructure
165
+
166
+ [More Information Needed]
167
+
168
+ #### Hardware
169
+
170
+ [More Information Needed]
171
+
172
+ #### Software
173
+
174
+ [More Information Needed]
175
+
176
+ ## Citation [optional]
177
+
178
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
179
+
180
+ **BibTeX:**
181
+
182
+ [More Information Needed]
183
+
184
+ **APA:**
185
+
186
+ [More Information Needed]
187
+
188
+ ## Glossary [optional]
189
+
190
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
191
+
192
+ [More Information Needed]
193
+
194
+ ## More Information [optional]
195
+
196
+ [More Information Needed]
197
+
198
+ ## Model Card Authors [optional]
199
+
200
+ [More Information Needed]
201
+
202
+ ## Model Card Contact
203
+
204
+ [More Information Needed]
205
+ ### Framework versions
206
+
207
+ - PEFT 0.19.1
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/adapter_config.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 32,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": [],
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 16,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": "^(model\\.language_model(?=\\.).*\\.(up_proj|o_proj|down_proj|q_proj|v_proj|gate_proj|k_proj)|(?!(model.visual.merger))model\\.visual(?=\\.).*\\.(qkv|up_proj|mlp.2|down_proj|mlp.0|attn.proj|gate_proj))$",
33
+ "target_parameters": null,
34
+ "task_type": "CAUSAL_LM",
35
+ "trainable_token_indices": null,
36
+ "use_bdlora": null,
37
+ "use_dora": false,
38
+ "use_qalora": false,
39
+ "use_rslora": false
40
+ }
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dfcd28130097822de7163f52b0875e80ba705fe726b822e4ff77d63c502826cd
3
+ size 103145560
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/additional_config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lora_dtype": null, "lorap_lr_ratio": null, "lorap_emb_lr": 1e-06}
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/args.json ADDED
@@ -0,0 +1,403 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "output_dir": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057",
3
+ "overwrite_output_dir": false,
4
+ "do_train": false,
5
+ "do_eval": false,
6
+ "do_predict": false,
7
+ "eval_strategy": "epoch",
8
+ "prediction_loss_only": false,
9
+ "per_device_train_batch_size": 1,
10
+ "per_device_eval_batch_size": 1,
11
+ "per_gpu_train_batch_size": null,
12
+ "per_gpu_eval_batch_size": null,
13
+ "gradient_accumulation_steps": 8,
14
+ "eval_accumulation_steps": null,
15
+ "eval_delay": 0,
16
+ "torch_empty_cache_steps": null,
17
+ "learning_rate": 5e-05,
18
+ "weight_decay": 0.1,
19
+ "adam_beta1": 0.9,
20
+ "adam_beta2": 0.95,
21
+ "adam_epsilon": 1e-08,
22
+ "max_grad_norm": 1.0,
23
+ "num_train_epochs": 2.0,
24
+ "max_steps": -1,
25
+ "lr_scheduler_type": "cosine",
26
+ "lr_scheduler_kwargs": null,
27
+ "warmup_ratio": 0.2,
28
+ "warmup_steps": 0,
29
+ "log_level": "passive",
30
+ "log_level_replica": "warning",
31
+ "log_on_each_node": true,
32
+ "logging_dir": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/runs",
33
+ "logging_strategy": "steps",
34
+ "logging_first_step": true,
35
+ "logging_steps": 1,
36
+ "logging_nan_inf_filter": true,
37
+ "save_strategy": "epoch",
38
+ "save_steps": 500,
39
+ "save_total_limit": null,
40
+ "save_safetensors": true,
41
+ "save_on_each_node": false,
42
+ "save_only_model": false,
43
+ "restore_callback_states_from_checkpoint": false,
44
+ "no_cuda": false,
45
+ "use_cpu": false,
46
+ "use_mps_device": false,
47
+ "seed": 42,
48
+ "data_seed": 42,
49
+ "jit_mode_eval": false,
50
+ "bf16": true,
51
+ "fp16": false,
52
+ "fp16_opt_level": "O1",
53
+ "half_precision_backend": "auto",
54
+ "bf16_full_eval": false,
55
+ "fp16_full_eval": false,
56
+ "tf32": null,
57
+ "local_rank": 0,
58
+ "ddp_backend": null,
59
+ "tpu_num_cores": null,
60
+ "tpu_metrics_debug": false,
61
+ "debug": null,
62
+ "dataloader_drop_last": false,
63
+ "eval_steps": 2000.0,
64
+ "dataloader_num_workers": 48,
65
+ "dataloader_prefetch_factor": null,
66
+ "past_index": -1,
67
+ "run_name": "/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057",
68
+ "disable_tqdm": null,
69
+ "remove_unused_columns": true,
70
+ "label_names": null,
71
+ "load_best_model_at_end": false,
72
+ "metric_for_best_model": "loss",
73
+ "greater_is_better": false,
74
+ "ignore_data_skip": false,
75
+ "fsdp": [],
76
+ "fsdp_min_num_params": 0,
77
+ "fsdp_config": null,
78
+ "fsdp_transformer_layer_cls_to_wrap": null,
79
+ "accelerator_config": {
80
+ "dispatch_batches": false
81
+ },
82
+ "parallelism_config": null,
83
+ "deepspeed": {
84
+ "fp16": {
85
+ "enabled": "auto",
86
+ "loss_scale": 0,
87
+ "loss_scale_window": 1000,
88
+ "initial_scale_power": 16,
89
+ "hysteresis": 2,
90
+ "min_loss_scale": 1
91
+ },
92
+ "bf16": {
93
+ "enabled": "auto"
94
+ },
95
+ "zero_optimization": {
96
+ "stage": 3,
97
+ "offload_optimizer": {
98
+ "device": "none",
99
+ "pin_memory": true
100
+ },
101
+ "offload_param": {
102
+ "device": "none",
103
+ "pin_memory": true
104
+ },
105
+ "overlap_comm": false,
106
+ "contiguous_gradients": true,
107
+ "sub_group_size": 1000000000.0,
108
+ "reduce_bucket_size": "auto",
109
+ "zero_quantized_weights": false,
110
+ "zero_quantized_gradients": false,
111
+ "stage3_prefetch_bucket_size": "auto",
112
+ "stage3_param_persistence_threshold": "auto",
113
+ "stage3_max_live_parameters": 1000000000.0,
114
+ "stage3_max_reuse_distance": 1000000000.0,
115
+ "stage3_gather_16bit_weights_on_model_save": true
116
+ },
117
+ "gradient_accumulation_steps": "auto",
118
+ "gradient_clipping": "auto",
119
+ "steps_per_print": 2000,
120
+ "train_batch_size": "auto",
121
+ "train_micro_batch_size_per_gpu": "auto",
122
+ "wall_clock_breakdown": false
123
+ },
124
+ "label_smoothing_factor": 0.0,
125
+ "optim": "adamw_torch_fused",
126
+ "optim_args": null,
127
+ "adafactor": false,
128
+ "group_by_length": false,
129
+ "length_column_name": "length",
130
+ "report_to": [
131
+ "tensorboard"
132
+ ],
133
+ "project": "huggingface",
134
+ "trackio_space_id": "trackio",
135
+ "ddp_find_unused_parameters": null,
136
+ "ddp_bucket_cap_mb": null,
137
+ "ddp_broadcast_buffers": null,
138
+ "dataloader_pin_memory": true,
139
+ "dataloader_persistent_workers": false,
140
+ "skip_memory_metrics": true,
141
+ "use_legacy_prediction_loop": false,
142
+ "push_to_hub": false,
143
+ "resume_from_checkpoint": null,
144
+ "hub_model_id": null,
145
+ "hub_strategy": "every_save",
146
+ "hub_token": null,
147
+ "hub_private_repo": null,
148
+ "hub_always_push": false,
149
+ "hub_revision": null,
150
+ "gradient_checkpointing": true,
151
+ "gradient_checkpointing_kwargs": null,
152
+ "include_inputs_for_metrics": false,
153
+ "include_for_metrics": [],
154
+ "eval_do_concat_batches": true,
155
+ "fp16_backend": "auto",
156
+ "push_to_hub_model_id": null,
157
+ "push_to_hub_organization": null,
158
+ "push_to_hub_token": null,
159
+ "mp_parameters": "",
160
+ "auto_find_batch_size": false,
161
+ "full_determinism": false,
162
+ "torchdynamo": null,
163
+ "ray_scope": "last",
164
+ "ddp_timeout": 18000000,
165
+ "torch_compile": false,
166
+ "torch_compile_backend": null,
167
+ "torch_compile_mode": null,
168
+ "include_tokens_per_second": false,
169
+ "include_num_input_tokens_seen": false,
170
+ "neftune_noise_alpha": null,
171
+ "optim_target_modules": null,
172
+ "batch_eval_metrics": false,
173
+ "eval_on_start": false,
174
+ "use_liger_kernel": false,
175
+ "liger_kernel_config": null,
176
+ "eval_use_gather_object": false,
177
+ "average_tokens_across_devices": true,
178
+ "sortish_sampler": false,
179
+ "predict_with_generate": false,
180
+ "generation_max_length": null,
181
+ "generation_num_beams": null,
182
+ "generation_config": null,
183
+ "tuner_backend": "peft",
184
+ "vit_gradient_checkpointing": true,
185
+ "router_aux_loss_coef": 0.0,
186
+ "enable_dft_loss": false,
187
+ "enable_channel_loss": false,
188
+ "safe_serialization": true,
189
+ "max_shard_size": "5GB",
190
+ "check_model": true,
191
+ "acc_strategy": "token",
192
+ "train_dataloader_shuffle": true,
193
+ "max_epochs": null,
194
+ "aligner_lr": null,
195
+ "vit_lr": null,
196
+ "use_logits_to_keep": null,
197
+ "ds3_gather_for_generation": true,
198
+ "resume_only_model": false,
199
+ "optimizer": null,
200
+ "loss_type": null,
201
+ "eval_metric": null,
202
+ "callbacks": [],
203
+ "early_stop_interval": null,
204
+ "eval_use_evalscope": false,
205
+ "eval_dataset": [],
206
+ "eval_dataset_args": null,
207
+ "eval_limit": null,
208
+ "eval_generation_config": null,
209
+ "extra_eval_args": null,
210
+ "tuner_type": "lora",
211
+ "use_galore": false,
212
+ "galore_target_modules": null,
213
+ "galore_rank": 128,
214
+ "galore_update_proj_gap": 50,
215
+ "galore_scale": 1.0,
216
+ "galore_proj_type": "std",
217
+ "galore_optim_per_parameter": false,
218
+ "galore_with_embedding": false,
219
+ "galore_quantization": false,
220
+ "galore_proj_quant": false,
221
+ "galore_proj_bits": 4,
222
+ "galore_proj_group_size": 256,
223
+ "galore_cos_threshold": 0.4,
224
+ "galore_gamma_proj": 2,
225
+ "galore_queue_size": 5,
226
+ "lisa_activated_layers": 0,
227
+ "lisa_step_interval": 20,
228
+ "use_flash_ckpt": false,
229
+ "use_ray": false,
230
+ "ray_exp_name": null,
231
+ "device_groups": null,
232
+ "model": "/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct",
233
+ "model_type": "qwen2_5_vl",
234
+ "model_revision": null,
235
+ "task_type": "causal_lm",
236
+ "torch_dtype": "bfloat16",
237
+ "attn_impl": null,
238
+ "experts_impl": null,
239
+ "new_special_tokens": [],
240
+ "num_labels": null,
241
+ "problem_type": null,
242
+ "rope_scaling": null,
243
+ "device_map": null,
244
+ "max_memory": {},
245
+ "max_model_len": null,
246
+ "local_repo_path": null,
247
+ "init_strategy": null,
248
+ "template": "qwen2_5_vl",
249
+ "system": null,
250
+ "max_length": 16240,
251
+ "truncation_strategy": "delete",
252
+ "max_pixels": null,
253
+ "agent_template": null,
254
+ "norm_bbox": null,
255
+ "use_chat_template": true,
256
+ "padding_side": "right",
257
+ "padding_free": false,
258
+ "loss_scale": "default",
259
+ "sequence_parallel_size": 1,
260
+ "template_backend": "swift",
261
+ "response_prefix": null,
262
+ "enable_thinking": null,
263
+ "add_non_thinking_prefix": true,
264
+ "dataset": [
265
+ "data.jsonl"
266
+ ],
267
+ "val_dataset": [],
268
+ "cached_dataset": [],
269
+ "cached_val_dataset": [],
270
+ "split_dataset_ratio": 0.001,
271
+ "dataset_num_proc": 100,
272
+ "load_from_cache_file": false,
273
+ "dataset_shuffle": true,
274
+ "val_dataset_shuffle": false,
275
+ "streaming": false,
276
+ "interleave_prob": null,
277
+ "stopping_strategy": "first_exhausted",
278
+ "shuffle_buffer_size": 1000,
279
+ "download_mode": "reuse_dataset_if_exists",
280
+ "columns": {},
281
+ "strict": false,
282
+ "model_name": null,
283
+ "model_author": null,
284
+ "custom_dataset_info": [],
285
+ "quant_method": null,
286
+ "quant_bits": null,
287
+ "hqq_axis": null,
288
+ "bnb_4bit_compute_dtype": "bfloat16",
289
+ "bnb_4bit_quant_type": "nf4",
290
+ "bnb_4bit_use_double_quant": true,
291
+ "bnb_4bit_quant_storage": null,
292
+ "max_new_tokens": 64,
293
+ "temperature": 0.0,
294
+ "top_k": null,
295
+ "top_p": null,
296
+ "repetition_penalty": null,
297
+ "num_beams": 1,
298
+ "stream": false,
299
+ "stop_words": [],
300
+ "logprobs": false,
301
+ "top_logprobs": null,
302
+ "structured_outputs_regex": null,
303
+ "adapters": [],
304
+ "external_plugins": [],
305
+ "custom_register_path": [],
306
+ "model_kwargs": {},
307
+ "load_args": false,
308
+ "load_data_args": false,
309
+ "packing": false,
310
+ "packing_length": null,
311
+ "packing_num_proc": 1,
312
+ "lazy_tokenize": true,
313
+ "use_hf": false,
314
+ "ignore_args_error": false,
315
+ "use_swift_lora": false,
316
+ "freeze_parameters": [],
317
+ "freeze_parameters_regex": null,
318
+ "freeze_parameters_ratio": 0.0,
319
+ "trainable_parameters": [],
320
+ "trainable_parameters_regex": null,
321
+ "freeze_llm": false,
322
+ "freeze_vit": false,
323
+ "freeze_aligner": true,
324
+ "target_modules": [
325
+ "all-linear"
326
+ ],
327
+ "target_regex": null,
328
+ "target_parameters": null,
329
+ "modules_to_save": [],
330
+ "lora_rank": 16,
331
+ "lora_alpha": 32,
332
+ "lora_dropout": 0.05,
333
+ "lora_bias": "none",
334
+ "lora_dtype": null,
335
+ "lorap_lr_ratio": null,
336
+ "use_rslora": false,
337
+ "use_dora": false,
338
+ "lora_ga_batch_size": 2,
339
+ "lora_ga_iters": 2,
340
+ "lora_ga_max_length": 1024,
341
+ "lora_ga_direction": "ArB2r",
342
+ "lora_ga_scale": "stable",
343
+ "lora_ga_stable_gamma": 16,
344
+ "init_weights": true,
345
+ "fourier_n_frequency": 2000,
346
+ "fourier_scaling": 300.0,
347
+ "boft_block_size": 4,
348
+ "boft_block_num": 0,
349
+ "boft_n_butterfly_factor": 1,
350
+ "boft_dropout": 0.0,
351
+ "vera_rank": 256,
352
+ "vera_projection_prng_key": 0,
353
+ "vera_dropout": 0.0,
354
+ "vera_d_initial": 0.1,
355
+ "adapter_act": "gelu",
356
+ "adapter_length": 128,
357
+ "adalora_target_r": 8,
358
+ "adalora_init_r": 12,
359
+ "adalora_tinit": 0,
360
+ "adalora_tfinal": 0,
361
+ "adalora_deltaT": 1,
362
+ "adalora_beta1": 0.85,
363
+ "adalora_beta2": 0.85,
364
+ "adalora_orth_reg_weight": 0.5,
365
+ "llamapro_num_new_blocks": 4,
366
+ "llamapro_num_groups": null,
367
+ "reft_layer_key": null,
368
+ "reft_layers": null,
369
+ "reft_rank": 4,
370
+ "reft_intervention_type": "LoreftIntervention",
371
+ "reft_args": null,
372
+ "swanlab_token": null,
373
+ "swanlab_project": "ms-swift",
374
+ "swanlab_workspace": null,
375
+ "swanlab_exp_name": null,
376
+ "swanlab_notification_method": null,
377
+ "swanlab_webhook_url": null,
378
+ "swanlab_secret": null,
379
+ "swanlab_sender_email": null,
380
+ "swanlab_receiver_email": null,
381
+ "swanlab_smtp_server": null,
382
+ "swanlab_smtp_port": null,
383
+ "swanlab_email_language": "zh",
384
+ "swanlab_mode": "cloud",
385
+ "add_version": true,
386
+ "create_checkpoint_symlink": false,
387
+ "zero_hpz_partition_size": null,
388
+ "deepspeed_autotp_size": null,
389
+ "swift_version": "4.1.3",
390
+ "ckpt_dir": null,
391
+ "rank": 0,
392
+ "global_world_size": 4,
393
+ "local_world_size": 4,
394
+ "model_suffix": "Qwen2.5-VL-7B-Instruct",
395
+ "model_info": "ModelInfo(model_type='qwen2_5_vl', model_dir='/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct', torch_dtype=torch.bfloat16, max_model_len=128000, quant_method=None, quant_bits=None, rope_scaling={'type': 'default', 'mrope_section': [16, 24, 24], 'rope_type': 'default'}, is_moe_model=False, is_multimodal=True, config=None, task_type='causal_lm', num_labels=None)",
396
+ "model_meta": "ModelMeta(model_type='qwen2_5_vl', model_groups=[ModelGroup(models=[Model(ms_model_id='Qwen/Qwen2.5-VL-3B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-3B-Instruct', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-7B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-7B-Instruct', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-32B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-32B-Instruct', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-72B-Instruct', hf_model_id='Qwen/Qwen2.5-VL-72B-Instruct', model_path=None, ms_revision=None, hf_revision=None)], template='qwen2_5_vl', ignore_patterns=None, requires=None, tags=[]), ModelGroup(models=[Model(ms_model_id='Qwen/Qwen2.5-VL-3B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-3B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-7B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-7B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-32B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-32B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='Qwen/Qwen2.5-VL-72B-Instruct-AWQ', hf_model_id='Qwen/Qwen2.5-VL-72B-Instruct-AWQ', model_path=None, ms_revision=None, hf_revision=None)], template='qwen2_5_vl', ignore_patterns=None, requires=None, tags=[]), ModelGroup(models=[Model(ms_model_id='XiaomiMiMo/MiMo-VL-7B-SFT', hf_model_id='XiaomiMiMo/MiMo-VL-7B-SFT', model_path=None, ms_revision=None, hf_revision=None), Model(ms_model_id='XiaomiMiMo/MiMo-VL-7B-RL', hf_model_id='XiaomiMiMo/MiMo-VL-7B-RL', model_path=None, ms_revision=None, hf_revision=None)], template='mimo_vl', ignore_patterns=None, requires=None, tags=[])], loader=<class 'swift.model.models.qwen.Qwen2_5VLLoader'>, template='qwen2_5_vl', model_arch=MultiModelKeys(arch_name='qwen2_vl', embedding=None, module_list=None, lm_head=None, q_proj=None, k_proj=None, v_proj=None, o_proj=None, attention=None, mlp=None, down_proj=None, qkv_proj=None, qk_proj=None, qa_proj=None, qb_proj=None, kv_proj=None, kva_proj=None, kvb_proj=None, language_model=['model.language_model', 'lm_head'], aligner=['model.visual.merger'], vision_tower=['model.visual'], generator=[]), mcore_model_type=None, architectures=['Qwen2_5_VLForConditionalGeneration'], additional_saved_files=[], torch_dtype=None, is_multimodal=True, is_reward=False, task_type=None, ignore_patterns=None, requires=['transformers>=4.49', 'qwen_vl_utils>=0.0.6', 'decord'], tags=[])",
397
+ "model_dir": "/data/yutao/lzt/BrowserAgent_v2/models/Qwen2.5-VL-7B-Instruct",
398
+ "template_meta": "QwenTemplateMeta(template_type='qwen2_5_vl', prefix=[], prompt=['<|im_start|>user\\n{{QUERY}}<|im_end|>\\n<|im_start|>assistant\\n'], chat_sep=['<|im_end|>\\n'], suffix=['<|im_end|>\\n'], template_cls=<class 'swift.template.templates.qwen.Qwen2_5VLTemplate'>, system_prefix=['<|im_start|>system\\n{{SYSTEM}}<|im_end|>\\n'], default_system='You are a helpful assistant.', auto_add_bos=False, stop_words=['<|endoftext|>'], agent_template='hermes', is_thinking=False, thinking_prefix='', non_thinking_prefix='', history_thinking_prefix='')",
399
+ "_val_dataset_exists": true,
400
+ "hub": "<class 'swift.hub.hub.MSHub'>",
401
+ "evaluation_strategy": "epoch",
402
+ "training_args": "Seq2SeqTrainingArguments(output_dir='/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057', overwrite_output_dir=False, do_train=False, do_eval=True, do_predict=False, eval_strategy=<IntervalStrategy.EPOCH: 'epoch'>, prediction_loss_only=False, per_device_train_batch_size=1, per_device_eval_batch_size=1, per_gpu_train_batch_size=None, per_gpu_eval_batch_size=None, gradient_accumulation_steps=8, eval_accumulation_steps=None, eval_delay=0, torch_empty_cache_steps=None, learning_rate=5e-05, weight_decay=0.1, adam_beta1=0.9, adam_beta2=0.95, adam_epsilon=1e-08, max_grad_norm=1.0, num_train_epochs=2.0, max_steps=-1, lr_scheduler_type=<SchedulerType.COSINE: 'cosine'>, lr_scheduler_kwargs=None, warmup_ratio=0.2, warmup_steps=0, log_level='passive', log_level_replica='warning', log_on_each_node=True, logging_dir='/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/runs', logging_strategy=<IntervalStrategy.STEPS: 'steps'>, logging_first_step=True, logging_steps=1, logging_nan_inf_filter=True, save_strategy=<SaveStrategy.EPOCH: 'epoch'>, save_steps=500, save_total_limit=None, save_safetensors=True, save_on_each_node=False, save_only_model=False, restore_callback_states_from_checkpoint=False, no_cuda=False, use_cpu=False, use_mps_device=False, seed=42, data_seed=42, jit_mode_eval=False, bf16=True, fp16=False, fp16_opt_level='O1', half_precision_backend='auto', bf16_full_eval=False, fp16_full_eval=False, tf32=None, local_rank=0, ddp_backend=None, tpu_num_cores=None, tpu_metrics_debug=False, debug=[], dataloader_drop_last=False, eval_steps=2000.0, dataloader_num_workers=48, dataloader_prefetch_factor=2, past_index=-1, run_name='/data/yutao/lzt/BrowserAgent_v2/sft/output/Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057', disable_tqdm=False, remove_unused_columns=False, label_names=None, load_best_model_at_end=False, metric_for_best_model='loss', greater_is_better=False, ignore_data_skip=False, fsdp=[], fsdp_min_num_params=0, fsdp_config={'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}, fsdp_transformer_layer_cls_to_wrap=None, accelerator_config=AcceleratorConfig(split_batches=False, dispatch_batches=False, even_batches=True, use_seedable_sampler=True, non_blocking=False, gradient_accumulation_kwargs=None, use_configured_state=False), parallelism_config=None, deepspeed={'fp16': {'enabled': 'auto', 'loss_scale': 0, 'loss_scale_window': 1000, 'initial_scale_power': 16, 'hysteresis': 2, 'min_loss_scale': 1}, 'bf16': {'enabled': 'auto'}, 'zero_optimization': {'stage': 3, 'offload_optimizer': {'device': 'none', 'pin_memory': True}, 'offload_param': {'device': 'none', 'pin_memory': True}, 'overlap_comm': False, 'contiguous_gradients': True, 'sub_group_size': 1000000000.0, 'reduce_bucket_size': 'auto', 'zero_quantized_weights': False, 'zero_quantized_gradients': False, 'stage3_prefetch_bucket_size': 'auto', 'stage3_param_persistence_threshold': 'auto', 'stage3_max_live_parameters': 1000000000.0, 'stage3_max_reuse_distance': 1000000000.0, 'stage3_gather_16bit_weights_on_model_save': True}, 'gradient_accumulation_steps': 'auto', 'gradient_clipping': 'auto', 'steps_per_print': 2000, 'train_batch_size': 'auto', 'train_micro_batch_size_per_gpu': 'auto', 'wall_clock_breakdown': False}, label_smoothing_factor=0.0, optim=<OptimizerNames.ADAMW_TORCH_FUSED: 'adamw_torch_fused'>, optim_args=None, adafactor=False, group_by_length=False, length_column_name='length', report_to=['tensorboard'], project='huggingface', trackio_space_id='trackio', ddp_find_unused_parameters=None, ddp_bucket_cap_mb=None, ddp_broadcast_buffers=None, dataloader_pin_memory=True, dataloader_persistent_workers=False, skip_memory_metrics=True, use_legacy_prediction_loop=False, push_to_hub=False, resume_from_checkpoint=None, hub_model_id=None, hub_strategy=<HubStrategy.EVERY_SAVE: 'every_save'>, hub_token=None, hub_private_repo=None, hub_always_push=False, hub_revision=None, gradient_checkpointing=True, gradient_checkpointing_kwargs=None, include_inputs_for_metrics=False, include_for_metrics=[], eval_do_concat_batches=True, fp16_backend='auto', push_to_hub_model_id=None, push_to_hub_organization=None, push_to_hub_token=None, mp_parameters='', auto_find_batch_size=False, full_determinism=False, torchdynamo=None, ray_scope='last', ddp_timeout=18000000, torch_compile=False, torch_compile_backend=None, torch_compile_mode=None, include_tokens_per_second=None, include_num_input_tokens_seen=None, neftune_noise_alpha=None, optim_target_modules=None, batch_eval_metrics=False, eval_on_start=False, use_liger_kernel=False, liger_kernel_config=None, eval_use_gather_object=False, average_tokens_across_devices=None, sortish_sampler=False, predict_with_generate=False, generation_max_length=None, generation_num_beams=None, generation_config=None, tuner_backend='peft', vit_gradient_checkpointing=True, router_aux_loss_coef=0.0, enable_dft_loss=False, enable_channel_loss=False, safe_serialization=True, max_shard_size='5GB', check_model=True, acc_strategy='token', train_dataloader_shuffle=True, max_epochs=None, aligner_lr=None, vit_lr=None, use_logits_to_keep=None, ds3_gather_for_generation=True, resume_only_model=False, optimizer=None, loss_type=None, eval_metric=None, callbacks=[], early_stop_interval=None, eval_use_evalscope=False, eval_dataset=[], eval_dataset_args=None, eval_limit=None, eval_generation_config=None, extra_eval_args=None, tuner_type='lora', use_galore=False, galore_target_modules=None, galore_rank=128, galore_update_proj_gap=50, galore_scale=1.0, galore_proj_type='std', galore_optim_per_parameter=False, galore_with_embedding=False, galore_quantization=False, galore_proj_quant=False, galore_proj_bits=4, galore_proj_group_size=256, galore_cos_threshold=0.4, galore_gamma_proj=2, galore_queue_size=5, lisa_activated_layers=0, lisa_step_interval=20, use_flash_ckpt=False)"
403
+ }
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c8acec1076365a7b99766f89c3a33df0119f303fcce39c2376ae687248780991
3
+ size 154569157
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2ec9e7d570948c6b5a1bd2d13f88b5d9e3786bead128ee45ae5ec7183255edd1
3
+ size 154569157
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3b8d8d40a736e470d23022261733a5aa65ed256d7f19d67f4c6896895d7104ba
3
+ size 154569157
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:31d79581ff29eec6a19fb84706938056987171ebcd37f626a2a2c757735fe5aa
3
+ size 154569157
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/zero_pp_rank_0_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7b781e914afe6c9319e94bff5acb2aebe2cfd0e6c6800f0c848594737f10bf11
3
+ size 766241
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/zero_pp_rank_1_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0946b7cb82f6053e42e0a427494eb666966bd43eab9d245f11dd90b732ba7acb
3
+ size 766241
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/zero_pp_rank_2_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:16b826c199505a59dddcc29e910e7d9b0c8cd86223c3bee451f5d4e90264e98a
3
+ size 766241
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/global_step788/zero_pp_rank_3_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ce2e90621ddf30a1cb61bc8edeea4c823e74076e691f1f2dd0f4d995ad8c6fca
3
+ size 766241
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/latest ADDED
@@ -0,0 +1 @@
 
 
1
+ global_step788
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/rng_state_0.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:22d6790b00b5718921d1c1f3fd3cf361895b4d3db078805589fbef73a26d446a
3
+ size 15429
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/rng_state_1.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:98b9ab57254e7912ec73442baaca5373adde75dda800dd0388800a5ce6645908
3
+ size 15429
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/rng_state_2.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:05777f4a94779fcb4f7d833dd95f50147032e0dd69503ada716e8999b69e3e21
3
+ size 15429
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/rng_state_3.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d049d405eb58f9feec0c323caaf3809ab89c1cc9d844b91a5839c835a2af754d
3
+ size 15429
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:acc9808b873dd2b1009a6d63db076a42434e830983edcd704445fb5b060787f4
3
+ size 1465
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:127702dae975ef36e1701c2735de30b8da42177c8aab9767eeec06a55c650d06
3
+ size 9873
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/checkpoint-788/zero_to_fp32.py ADDED
@@ -0,0 +1,760 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+
3
+ # Copyright (c) Microsoft Corporation.
4
+ # SPDX-License-Identifier: Apache-2.0
5
+
6
+ # DeepSpeed Team
7
+
8
+ # This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets
9
+ # copied into the top level checkpoint dir, so the user can easily do the conversion at any point in
10
+ # the future. Once extracted, the weights don't require DeepSpeed and can be used in any
11
+ # application.
12
+ #
13
+ # example:
14
+ # python zero_to_fp32.py . output_dir/
15
+ # or
16
+ # python zero_to_fp32.py . output_dir/ --safe_serialization
17
+
18
+ import argparse
19
+ import torch
20
+ import glob
21
+ import math
22
+ import os
23
+ import re
24
+ import gc
25
+ import json
26
+ import numpy as np
27
+ from tqdm import tqdm
28
+ from collections import OrderedDict
29
+ from dataclasses import dataclass
30
+
31
+ # while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with
32
+ # DeepSpeed data structures it has to be available in the current python environment.
33
+ from deepspeed.utils import logger
34
+ from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS,
35
+ FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES,
36
+ FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS)
37
+
38
+
39
+ @dataclass
40
+ class zero_model_state:
41
+ buffers: dict()
42
+ param_shapes: dict()
43
+ shared_params: list
44
+ ds_version: int
45
+ frozen_param_shapes: dict()
46
+ frozen_param_fragments: dict()
47
+
48
+
49
+ debug = 0
50
+
51
+ # load to cpu
52
+ device = torch.device('cpu')
53
+
54
+
55
+ def atoi(text):
56
+ return int(text) if text.isdigit() else text
57
+
58
+
59
+ def natural_keys(text):
60
+ '''
61
+ alist.sort(key=natural_keys) sorts in human order
62
+ http://nedbatchelder.com/blog/200712/human_sorting.html
63
+ (See Toothy's implementation in the comments)
64
+ '''
65
+ return [atoi(c) for c in re.split(r'(\d+)', text)]
66
+
67
+
68
+ def get_model_state_file(checkpoint_dir, zero_stage):
69
+ if not os.path.isdir(checkpoint_dir):
70
+ raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist")
71
+
72
+ # there should be only one file
73
+ if zero_stage <= 2:
74
+ file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt")
75
+ elif zero_stage == 3:
76
+ file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt")
77
+
78
+ if not os.path.exists(file):
79
+ raise FileNotFoundError(f"can't find model states file at '{file}'")
80
+
81
+ return file
82
+
83
+
84
+ def get_checkpoint_files(checkpoint_dir, glob_pattern):
85
+ # XXX: need to test that this simple glob rule works for multi-node setup too
86
+ ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys)
87
+
88
+ if len(ckpt_files) == 0:
89
+ raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'")
90
+
91
+ return ckpt_files
92
+
93
+
94
+ def get_optim_files(checkpoint_dir):
95
+ return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt")
96
+
97
+
98
+ def get_model_state_files(checkpoint_dir):
99
+ return get_checkpoint_files(checkpoint_dir, "*_model_states.pt")
100
+
101
+
102
+ def parse_model_states(files):
103
+ zero_model_states = []
104
+ for file in files:
105
+ state_dict = torch.load(file, map_location=device, weights_only=False)
106
+
107
+ if BUFFER_NAMES not in state_dict:
108
+ raise ValueError(f"{file} is not a model state checkpoint")
109
+ buffer_names = state_dict[BUFFER_NAMES]
110
+ if debug:
111
+ print("Found buffers:", buffer_names)
112
+
113
+ # recover just the buffers while restoring them to fp32 if they were saved in fp16
114
+ buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names}
115
+ param_shapes = state_dict[PARAM_SHAPES]
116
+
117
+ # collect parameters that are included in param_shapes
118
+ param_names = []
119
+ for s in param_shapes:
120
+ for name in s.keys():
121
+ param_names.append(name)
122
+
123
+ # update with frozen parameters
124
+ frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None)
125
+ if frozen_param_shapes is not None:
126
+ if debug:
127
+ print(f"Found frozen_param_shapes: {frozen_param_shapes}")
128
+ param_names += list(frozen_param_shapes.keys())
129
+
130
+ # handle shared params
131
+ shared_params = [[k, v] for k, v in state_dict["shared_params"].items()]
132
+
133
+ ds_version = state_dict.get(DS_VERSION, None)
134
+
135
+ frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None)
136
+
137
+ z_model_state = zero_model_state(buffers=buffers,
138
+ param_shapes=param_shapes,
139
+ shared_params=shared_params,
140
+ ds_version=ds_version,
141
+ frozen_param_shapes=frozen_param_shapes,
142
+ frozen_param_fragments=frozen_param_fragments)
143
+ zero_model_states.append(z_model_state)
144
+
145
+ return zero_model_states
146
+
147
+
148
+ def parse_optim_states(files, ds_checkpoint_dir):
149
+ total_files = len(files)
150
+ state_dicts = []
151
+ for f in tqdm(files, desc='Loading checkpoint shards'):
152
+ state_dict = torch.load(f, map_location=device, mmap=True, weights_only=False)
153
+ # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights
154
+ # and also handle the case where it was already removed by another helper script
155
+ state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None)
156
+ state_dicts.append(state_dict)
157
+
158
+ if ZERO_STAGE not in state_dicts[0][OPTIMIZER_STATE_DICT]:
159
+ raise ValueError(f"{files[0]} is not a zero checkpoint")
160
+ zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE]
161
+ world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT]
162
+
163
+ # For ZeRO-2 each param group can have different partition_count as data parallelism for expert
164
+ # parameters can be different from data parallelism for non-expert parameters. So we can just
165
+ # use the max of the partition_count to get the dp world_size.
166
+
167
+ if type(world_size) is list:
168
+ world_size = max(world_size)
169
+
170
+ if world_size != total_files:
171
+ raise ValueError(
172
+ f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. "
173
+ "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes."
174
+ )
175
+
176
+ # the groups are named differently in each stage
177
+ if zero_stage <= 2:
178
+ fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS
179
+ elif zero_stage == 3:
180
+ fp32_groups_key = FP32_FLAT_GROUPS
181
+ else:
182
+ raise ValueError(f"unknown zero stage {zero_stage}")
183
+
184
+ fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))]
185
+ return zero_stage, world_size, fp32_flat_groups
186
+
187
+
188
+ def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters):
189
+ """
190
+ Returns fp32 state_dict reconstructed from ds checkpoint
191
+
192
+ Args:
193
+ - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are)
194
+
195
+ """
196
+ print(f"Processing zero checkpoint '{ds_checkpoint_dir}'")
197
+
198
+ optim_files = get_optim_files(ds_checkpoint_dir)
199
+ zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir)
200
+ print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}")
201
+
202
+ model_files = get_model_state_files(ds_checkpoint_dir)
203
+
204
+ zero_model_states = parse_model_states(model_files)
205
+ print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}')
206
+
207
+ if zero_stage <= 2:
208
+ return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
209
+ exclude_frozen_parameters)
210
+ elif zero_stage == 3:
211
+ return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
212
+ exclude_frozen_parameters)
213
+
214
+
215
+ def _zero2_merge_frozen_params(state_dict, zero_model_states):
216
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
217
+ return
218
+
219
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
220
+ frozen_param_fragments = zero_model_states[0].frozen_param_fragments
221
+
222
+ if debug:
223
+ num_elem = sum(s.numel() for s in frozen_param_shapes.values())
224
+ print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
225
+
226
+ wanted_params = len(frozen_param_shapes)
227
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
228
+ avail_numel = sum([p.numel() for p in frozen_param_fragments.values()])
229
+ print(f'Frozen params: Have {avail_numel} numels to process.')
230
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
231
+
232
+ total_params = 0
233
+ total_numel = 0
234
+ for name, shape in frozen_param_shapes.items():
235
+ total_params += 1
236
+ unpartitioned_numel = shape.numel()
237
+ total_numel += unpartitioned_numel
238
+
239
+ state_dict[name] = frozen_param_fragments[name]
240
+
241
+ if debug:
242
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
243
+
244
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
245
+
246
+
247
+ def _has_callable(obj, fn):
248
+ attr = getattr(obj, fn, None)
249
+ return callable(attr)
250
+
251
+
252
+ def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
253
+ param_shapes = zero_model_states[0].param_shapes
254
+
255
+ # Reconstruction protocol:
256
+ #
257
+ # XXX: document this
258
+
259
+ if debug:
260
+ for i in range(world_size):
261
+ for j in range(len(fp32_flat_groups[0])):
262
+ print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}")
263
+
264
+ # XXX: memory usage doubles here (zero2)
265
+ num_param_groups = len(fp32_flat_groups[0])
266
+ merged_single_partition_of_fp32_groups = []
267
+ for i in range(num_param_groups):
268
+ merged_partitions = [sd[i] for sd in fp32_flat_groups]
269
+ full_single_fp32_vector = torch.cat(merged_partitions, 0)
270
+ merged_single_partition_of_fp32_groups.append(full_single_fp32_vector)
271
+ avail_numel = sum(
272
+ [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups])
273
+
274
+ if debug:
275
+ wanted_params = sum([len(shapes) for shapes in param_shapes])
276
+ wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes])
277
+ # not asserting if there is a mismatch due to possible padding
278
+ print(f"Have {avail_numel} numels to process.")
279
+ print(f"Need {wanted_numel} numels in {wanted_params} params.")
280
+
281
+ # params
282
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
283
+ # out-of-core computing solution
284
+ total_numel = 0
285
+ total_params = 0
286
+ for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups):
287
+ offset = 0
288
+ avail_numel = full_single_fp32_vector.numel()
289
+ for name, shape in shapes.items():
290
+
291
+ unpartitioned_numel = shape.numel() if _has_callable(shape, 'numel') else math.prod(shape)
292
+ total_numel += unpartitioned_numel
293
+ total_params += 1
294
+
295
+ if debug:
296
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
297
+ state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape)
298
+ offset += unpartitioned_numel
299
+
300
+ # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and
301
+ # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex
302
+ # paddings performed in the code it's almost impossible to predict the exact numbers w/o the
303
+ # live optimizer object, so we are checking that the numbers are within the right range
304
+ align_to = 2 * world_size
305
+
306
+ def zero2_align(x):
307
+ return align_to * math.ceil(x / align_to)
308
+
309
+ if debug:
310
+ print(f"original offset={offset}, avail_numel={avail_numel}")
311
+
312
+ offset = zero2_align(offset)
313
+ avail_numel = zero2_align(avail_numel)
314
+
315
+ if debug:
316
+ print(f"aligned offset={offset}, avail_numel={avail_numel}")
317
+
318
+ # Sanity check
319
+ if offset != avail_numel:
320
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
321
+
322
+ print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements")
323
+
324
+
325
+ def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
326
+ exclude_frozen_parameters):
327
+ state_dict = OrderedDict()
328
+
329
+ # buffers
330
+ buffers = zero_model_states[0].buffers
331
+ state_dict.update(buffers)
332
+ if debug:
333
+ print(f"added {len(buffers)} buffers")
334
+
335
+ if not exclude_frozen_parameters:
336
+ _zero2_merge_frozen_params(state_dict, zero_model_states)
337
+
338
+ _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
339
+
340
+ # recover shared parameters
341
+ for pair in zero_model_states[0].shared_params:
342
+ if pair[1] in state_dict:
343
+ state_dict[pair[0]] = state_dict[pair[1]]
344
+
345
+ return state_dict
346
+
347
+
348
+ def zero3_partitioned_param_info(unpartitioned_numel, world_size):
349
+ remainder = unpartitioned_numel % world_size
350
+ padding_numel = (world_size - remainder) if remainder else 0
351
+ partitioned_numel = math.ceil(unpartitioned_numel / world_size)
352
+ return partitioned_numel, padding_numel
353
+
354
+
355
+ def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states):
356
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
357
+ return
358
+
359
+ if debug:
360
+ for i in range(world_size):
361
+ num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values())
362
+ print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
363
+
364
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
365
+ wanted_params = len(frozen_param_shapes)
366
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
367
+ avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size
368
+ print(f'Frozen params: Have {avail_numel} numels to process.')
369
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
370
+
371
+ total_params = 0
372
+ total_numel = 0
373
+ for name, shape in zero_model_states[0].frozen_param_shapes.items():
374
+ total_params += 1
375
+ unpartitioned_numel = shape.numel()
376
+ total_numel += unpartitioned_numel
377
+
378
+ param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states)
379
+ state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape)
380
+
381
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
382
+
383
+ if debug:
384
+ print(
385
+ f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
386
+ )
387
+
388
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
389
+
390
+
391
+ class GatheredTensor:
392
+ """
393
+ A pseudo tensor that collects partitioned weights.
394
+ It is more memory efficient when there are multiple groups.
395
+ """
396
+
397
+ def __init__(self, flat_groups, flat_groups_offset, offset, partitioned_numel, shape):
398
+ self.flat_groups = flat_groups
399
+ self.flat_groups_offset = flat_groups_offset
400
+ self.offset = offset
401
+ self.partitioned_numel = partitioned_numel
402
+ self.shape = shape
403
+ self.dtype = self.flat_groups[0][0].dtype
404
+
405
+ def contiguous(self):
406
+ """
407
+ Merge partitioned weights from flat_groups into a single tensor.
408
+ """
409
+ end_idx = self.offset + self.partitioned_numel
410
+ world_size = len(self.flat_groups)
411
+ pad_flat_param_chunks = []
412
+
413
+ for rank_i in range(world_size):
414
+ # for each rank, we need to collect weights from related group/groups
415
+ flat_groups_at_rank_i = self.flat_groups[rank_i]
416
+ start_group_id = None
417
+ end_group_id = None
418
+ for group_id in range(len(self.flat_groups_offset)):
419
+ if self.flat_groups_offset[group_id] <= self.offset < self.flat_groups_offset[group_id + 1]:
420
+ start_group_id = group_id
421
+ if self.flat_groups_offset[group_id] < end_idx <= self.flat_groups_offset[group_id + 1]:
422
+ end_group_id = group_id
423
+ break
424
+ # collect weights from related group/groups
425
+ for group_id in range(start_group_id, end_group_id + 1):
426
+ flat_tensor = flat_groups_at_rank_i[group_id]
427
+ start_offset = self.offset - self.flat_groups_offset[group_id]
428
+ end_offset = min(end_idx, self.flat_groups_offset[group_id + 1]) - self.flat_groups_offset[group_id]
429
+ pad_flat_param_chunks.append(flat_tensor[start_offset:end_offset])
430
+
431
+ # collect weights from all ranks
432
+ pad_flat_param = torch.cat(pad_flat_param_chunks, dim=0)
433
+ param = pad_flat_param[:self.shape.numel()].view(self.shape).contiguous()
434
+ return param
435
+
436
+
437
+ def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
438
+ param_shapes = zero_model_states[0].param_shapes
439
+ avail_numel = sum([flat_group.numel() for flat_group in fp32_flat_groups[0]]) * world_size
440
+
441
+ # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each
442
+ # param, re-consolidating each param, while dealing with padding if any
443
+
444
+ # merge list of dicts, preserving order
445
+ param_shapes = {k: v for d in param_shapes for k, v in d.items()}
446
+
447
+ if debug:
448
+ for i in range(world_size):
449
+ print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}")
450
+
451
+ wanted_params = len(param_shapes)
452
+ wanted_numel = sum(shape.numel() for shape in param_shapes.values())
453
+ # not asserting if there is a mismatch due to possible padding
454
+ avail_numel = fp32_flat_groups[0].numel() * world_size
455
+ print(f"Trainable params: Have {avail_numel} numels to process.")
456
+ print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.")
457
+
458
+ # params
459
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
460
+ # out-of-core computing solution
461
+ offset = 0
462
+ total_numel = 0
463
+ total_params = 0
464
+ flat_groups_offset = [0] + list(np.cumsum([flat_tensor.numel() for flat_tensor in fp32_flat_groups[0]]))
465
+ for name, shape in tqdm(param_shapes.items(), desc='Gathering sharded weights'):
466
+ unpartitioned_numel = shape.numel()
467
+ total_numel += unpartitioned_numel
468
+ total_params += 1
469
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
470
+
471
+ if debug:
472
+ print(
473
+ f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
474
+ )
475
+
476
+ # memory efficient tensor
477
+ tensor = GatheredTensor(fp32_flat_groups, flat_groups_offset, offset, partitioned_numel, shape)
478
+ state_dict[name] = tensor
479
+ offset += partitioned_numel
480
+
481
+ offset *= world_size
482
+
483
+ # Sanity check
484
+ if offset != avail_numel:
485
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
486
+
487
+ print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements")
488
+
489
+
490
+ def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
491
+ exclude_frozen_parameters):
492
+ state_dict = OrderedDict()
493
+
494
+ # buffers
495
+ buffers = zero_model_states[0].buffers
496
+ state_dict.update(buffers)
497
+ if debug:
498
+ print(f"added {len(buffers)} buffers")
499
+
500
+ if not exclude_frozen_parameters:
501
+ _zero3_merge_frozen_params(state_dict, world_size, zero_model_states)
502
+
503
+ _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
504
+
505
+ # recover shared parameters
506
+ for pair in zero_model_states[0].shared_params:
507
+ if pair[1] in state_dict:
508
+ state_dict[pair[0]] = state_dict[pair[1]]
509
+
510
+ return state_dict
511
+
512
+
513
+ def to_torch_tensor(state_dict, return_empty_tensor=False):
514
+ """
515
+ Convert state_dict of GatheredTensor to torch tensor
516
+ """
517
+ torch_state_dict = {}
518
+ converted_tensors = {}
519
+ for name, tensor in state_dict.items():
520
+ tensor_id = id(tensor)
521
+ if tensor_id in converted_tensors: # shared tensors
522
+ shared_tensor = torch_state_dict[converted_tensors[tensor_id]]
523
+ torch_state_dict[name] = shared_tensor
524
+ else:
525
+ converted_tensors[tensor_id] = name
526
+ if return_empty_tensor:
527
+ torch_state_dict[name] = torch.empty(tensor.shape, dtype=tensor.dtype)
528
+ else:
529
+ torch_state_dict[name] = tensor.contiguous()
530
+ return torch_state_dict
531
+
532
+
533
+ def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir,
534
+ tag=None,
535
+ exclude_frozen_parameters=False,
536
+ lazy_mode=False):
537
+ """
538
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with
539
+ ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example
540
+ via a model hub.
541
+
542
+ Args:
543
+ - ``checkpoint_dir``: path to the desired checkpoint folder
544
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in 'latest' file. e.g., ``global_step14``
545
+ - ``exclude_frozen_parameters``: exclude frozen parameters
546
+ - ``lazy_mode``: get state_dict in lazy mode. It returns a dict of pesduo tensor instead of torch tensor, which is more memory efficient.
547
+ Convert the pesduo tensor to torch tensor by ``.contiguous()``
548
+
549
+ Returns:
550
+ - pytorch ``state_dict``
551
+
552
+ A typical usage might be ::
553
+
554
+ from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint
555
+ # do the training and checkpoint saving
556
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu
557
+ model = model.cpu() # move to cpu
558
+ model.load_state_dict(state_dict)
559
+ # submit to model hub or save the model to share with others
560
+
561
+ In this example the ``model`` will no longer be usable in the deepspeed context of the same
562
+ application. i.e. you will need to re-initialize the deepspeed engine, since
563
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
564
+
565
+ If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead.
566
+
567
+ Note: the above usage may not work if your application doesn't have sufficient free CPU memory.
568
+ You may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with
569
+ the checkpoint. Or you can load state_dict in lazy mode ::
570
+
571
+ from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint
572
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, lazy_mode=True) # not on cpu
573
+ for name, lazy_tensor in state_dict.item():
574
+ tensor = lazy_tensor.contiguous() # to cpu
575
+ print(name, tensor)
576
+ # del tensor to release memory if it no longer in use
577
+ """
578
+ if tag is None:
579
+ latest_path = os.path.join(checkpoint_dir, 'latest')
580
+ if os.path.isfile(latest_path):
581
+ with open(latest_path, 'r') as fd:
582
+ tag = fd.read().strip()
583
+ else:
584
+ raise ValueError(f"Unable to find 'latest' file at {latest_path}")
585
+
586
+ ds_checkpoint_dir = os.path.join(checkpoint_dir, tag)
587
+
588
+ if not os.path.isdir(ds_checkpoint_dir):
589
+ raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist")
590
+
591
+ state_dict = _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters)
592
+ if lazy_mode:
593
+ return state_dict
594
+ else:
595
+ return to_torch_tensor(state_dict)
596
+
597
+
598
+ def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir,
599
+ output_dir,
600
+ max_shard_size="5GB",
601
+ safe_serialization=False,
602
+ tag=None,
603
+ exclude_frozen_parameters=False):
604
+ """
605
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be
606
+ loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed.
607
+
608
+ Args:
609
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
610
+ - ``output_dir``: directory to the pytorch fp32 state_dict output files
611
+ - ``max_shard_size``: the maximum size for a checkpoint before being sharded, default value is 5GB
612
+ - ``safe_serialization``: whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).
613
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
614
+ - ``exclude_frozen_parameters``: exclude frozen parameters
615
+ """
616
+
617
+ # Dependency pre-check
618
+ if safe_serialization:
619
+ try:
620
+ from safetensors.torch import save_file
621
+ except ImportError:
622
+ print('If you want to use `safe_serialization`, please `pip install safetensors`')
623
+ raise
624
+ if max_shard_size is not None:
625
+ try:
626
+ from huggingface_hub import split_torch_state_dict_into_shards
627
+ except ImportError:
628
+ print('If you want to use `max_shard_size`, please `pip install huggingface_hub`')
629
+ raise
630
+
631
+ # Convert zero checkpoint to state_dict
632
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir,
633
+ tag,
634
+ exclude_frozen_parameters,
635
+ lazy_mode=True)
636
+
637
+ # Shard the model if it is too big.
638
+ weights_name = "model.safetensors" if safe_serialization else "pytorch_model.bin"
639
+ if max_shard_size is not None:
640
+ filename_pattern = weights_name.replace(".bin", "{suffix}.bin").replace(".safetensors", "{suffix}.safetensors")
641
+ # an memory-efficient approach for sharding
642
+ empty_state_dict = to_torch_tensor(state_dict, return_empty_tensor=True)
643
+ state_dict_split = split_torch_state_dict_into_shards(empty_state_dict,
644
+ filename_pattern=filename_pattern,
645
+ max_shard_size=max_shard_size)
646
+ else:
647
+ from collections import namedtuple
648
+ StateDictSplit = namedtuple("StateDictSplit", ["is_sharded", "filename_to_tensors"])
649
+ state_dict_split = StateDictSplit(is_sharded=False,
650
+ filename_to_tensors={weights_name: list(state_dict.keys())})
651
+
652
+ # Save the model by shard
653
+ os.makedirs(output_dir, exist_ok=True)
654
+ filename_to_tensors = state_dict_split.filename_to_tensors.items()
655
+ for shard_file, tensors in tqdm(filename_to_tensors, desc="Saving checkpoint shards"):
656
+ shard_state_dict = {tensor_name: state_dict[tensor_name] for tensor_name in tensors}
657
+ shard_state_dict = to_torch_tensor(shard_state_dict)
658
+ output_path = os.path.join(output_dir, shard_file)
659
+ if safe_serialization:
660
+ save_file(shard_state_dict, output_path, metadata={"format": "pt"})
661
+ else:
662
+ torch.save(shard_state_dict, output_path)
663
+ # release the memory of current shard
664
+ for tensor_name in list(shard_state_dict.keys()):
665
+ del state_dict[tensor_name]
666
+ del shard_state_dict[tensor_name]
667
+ del shard_state_dict
668
+ gc.collect()
669
+
670
+ # Save index if sharded
671
+ if state_dict_split.is_sharded:
672
+ index = {
673
+ "metadata": state_dict_split.metadata,
674
+ "weight_map": state_dict_split.tensor_to_filename,
675
+ }
676
+ save_index_file = "model.safetensors.index.json" if safe_serialization else "pytorch_model.bin.index.json"
677
+ save_index_file = os.path.join(output_dir, save_index_file)
678
+ with open(save_index_file, "w", encoding="utf-8") as f:
679
+ content = json.dumps(index, indent=2, sort_keys=True) + "\n"
680
+ f.write(content)
681
+
682
+
683
+ def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None):
684
+ """
685
+ 1. Put the provided model to cpu
686
+ 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict``
687
+ 3. Load it into the provided model
688
+
689
+ Args:
690
+ - ``model``: the model object to update
691
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
692
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
693
+
694
+ Returns:
695
+ - ``model`: modified model
696
+
697
+ Make sure you have plenty of CPU memory available before you call this function. If you don't
698
+ have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it
699
+ conveniently placed for you in the checkpoint folder.
700
+
701
+ A typical usage might be ::
702
+
703
+ from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint
704
+ model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir)
705
+ # submit to model hub or save the model to share with others
706
+
707
+ Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context
708
+ of the same application. i.e. you will need to re-initialize the deepspeed engine, since
709
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
710
+
711
+ """
712
+ logger.info("Extracting fp32 weights")
713
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag)
714
+
715
+ logger.info("Overwriting model with fp32 weights")
716
+ model = model.cpu()
717
+ model.load_state_dict(state_dict, strict=False)
718
+
719
+ return model
720
+
721
+
722
+ if __name__ == "__main__":
723
+ parser = argparse.ArgumentParser()
724
+ parser.add_argument("checkpoint_dir",
725
+ type=str,
726
+ help="path to the desired checkpoint folder, e.g., path/checkpoint-12")
727
+ parser.add_argument("output_dir",
728
+ type=str,
729
+ help="directory to the pytorch fp32 state_dict output files"
730
+ "(e.g. path/checkpoint-12-output/)")
731
+ parser.add_argument(
732
+ "--max_shard_size",
733
+ type=str,
734
+ default="5GB",
735
+ help="The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size"
736
+ "lower than this size. If expressed as a string, needs to be digits followed by a unit (like `5MB`"
737
+ "We default it to 5GB in order for models to be able to run easily on free-tier google colab instances"
738
+ "without CPU OOM issues.")
739
+ parser.add_argument(
740
+ "--safe_serialization",
741
+ default=False,
742
+ action='store_true',
743
+ help="Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).")
744
+ parser.add_argument("-t",
745
+ "--tag",
746
+ type=str,
747
+ default=None,
748
+ help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1")
749
+ parser.add_argument("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters")
750
+ parser.add_argument("-d", "--debug", action='store_true', help="enable debug")
751
+ args = parser.parse_args()
752
+
753
+ debug = args.debug
754
+
755
+ convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir,
756
+ args.output_dir,
757
+ max_shard_size=args.max_shard_size,
758
+ safe_serialization=args.safe_serialization,
759
+ tag=args.tag,
760
+ exclude_frozen_parameters=args.exclude_frozen_parameters)
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_loss.png ADDED
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_runtime.png ADDED
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_samples_per_second.png ADDED
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_steps_per_second.png ADDED
Qwen2.5-VL-7B-Instruct-task-opsrc_12619-sft-5e-5lr-freeze_false/v0-20260503-074057/images/eval_token_acc.png ADDED