diff --git a/save_lora_instruct_r8_3e4_s11_1/README.md b/save_lora_instruct_r8_3e4_s11_1/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2aa897f8fa13b49ce76b1fa188781e5f726e7d13 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/README.md @@ -0,0 +1,202 @@ +--- +base_model: meta-llama/Llama-2-7b-hf +library_name: peft +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.9.0 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/adapter_config.json b/save_lora_instruct_r8_3e4_s11_1/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..9c81a592f0ff08374a4f61f6003029070a8429ae --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/adapter_config.json @@ -0,0 +1,35 @@ +{ + "alpha_pattern": {}, + "auto_mapping": null, + "base_model_name_or_path": "meta-llama/Llama-2-7b-hf", + "bias": "none", + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 16, + "lora_dropout": 0.05, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "mora_type": 1, + "peft_type": "LORA", + "r": 8, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "k_proj", + "v_proj", + "o_proj", + "gate_proj", + "down_proj", + "up_proj" + ], + "task_type": "CAUSAL_LM", + "use_dora": false, + "use_mora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/adapter_model.safetensors b/save_lora_instruct_r8_3e4_s11_1/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..d55e2f5f0730c4fd7b5f03d89b3f54141ca39cf6 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7da849593de343a0a6b1a5a0ad86c33518dc2b8d55d65fc9bd0e2d97574f95b0 +size 564342240 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/README.md b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2aa897f8fa13b49ce76b1fa188781e5f726e7d13 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/README.md @@ -0,0 +1,202 @@ +--- +base_model: meta-llama/Llama-2-7b-hf +library_name: peft +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.9.0 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/adapter_config.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..9c81a592f0ff08374a4f61f6003029070a8429ae --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/adapter_config.json @@ -0,0 +1,35 @@ +{ + "alpha_pattern": {}, + "auto_mapping": null, + "base_model_name_or_path": "meta-llama/Llama-2-7b-hf", + "bias": "none", + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 16, + "lora_dropout": 0.05, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "mora_type": 1, + "peft_type": "LORA", + "r": 8, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "k_proj", + "v_proj", + "o_proj", + "gate_proj", + "down_proj", + "up_proj" + ], + "task_type": "CAUSAL_LM", + "use_dora": false, + "use_mora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/adapter_model.safetensors b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..ebfca039659ff811ee278bbca78459434d450363 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88ef2211549a31cd7ff822db59b478bdaf2fa760c661c681cae33eef782f3fa1 +size 564342240 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/global_step2000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/global_step2000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..0bfcf69a61b77bc79da6aca40a187818b34a23ca --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/global_step2000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0aa301c54b9777df8a052c9a98b04f1aebb855233981d1589840abd9989ca50 +size 239914224 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/global_step2000/mp_rank_00_model_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/global_step2000/mp_rank_00_model_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..d9fd3e6a49f069deec520c9c00c92ec7f6790805 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/global_step2000/mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b6af73b6acfa02d1aa0227c384704bc84e44823491227790e2a009721a52553 +size 40303404 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/latest b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/latest new file mode 100644 index 0000000000000000000000000000000000000000..2a79fdc19587e6bc9de060e90633f3a151b04516 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/latest @@ -0,0 +1 @@ +global_step2000 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/rng_state.pth b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..01fa155317818024b84adfe6fb7f4c798d9d4aea --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:120654c40ab07680b6e25c6f415f868d33c21d42ff816d413cf88a5c5793ca4b +size 14244 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/scheduler.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..5ef570c61c710b6ab7da8d73e36a7c91932f3058 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb0ea8bedbf8a7566772545687fcd7fa657898d5dc376764026636ff8b08022d +size 1064 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/trainer_state.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..b4064e61eec1262ec4003181a31387e0e2de48c2 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/trainer_state.json @@ -0,0 +1,2421 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.7983284997037453, + "eval_steps": 500, + "global_step": 2000, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.0, + "learning_rate": 9.999999999999999e-06, + "loss": 1.38, + "step": 5 + }, + { + "epoch": 0.0, + "learning_rate": 1.9999999999999998e-05, + "loss": 1.3936, + "step": 10 + }, + { + "epoch": 0.01, + "learning_rate": 2.9999999999999997e-05, + "loss": 1.3006, + "step": 15 + }, + { + "epoch": 0.01, + "learning_rate": 3.9999999999999996e-05, + "loss": 1.2594, + "step": 20 + }, + { + "epoch": 0.01, + "learning_rate": 4.9999999999999996e-05, + "loss": 1.1177, + "step": 25 + }, + { + "epoch": 0.01, + "learning_rate": 5.9999999999999995e-05, + "loss": 1.0481, + "step": 30 + }, + { + "epoch": 0.01, + "learning_rate": 7e-05, + "loss": 1.0601, + "step": 35 + }, + { + "epoch": 0.02, + "learning_rate": 7.999999999999999e-05, + "loss": 1.0473, + "step": 40 + }, + { + "epoch": 0.02, + "learning_rate": 8.999999999999999e-05, + "loss": 0.9523, + "step": 45 + }, + { + "epoch": 0.02, + "learning_rate": 9.999999999999999e-05, + "loss": 0.9451, + "step": 50 + }, + { + "epoch": 0.02, + "learning_rate": 0.00010999999999999998, + "loss": 0.9687, + "step": 55 + }, + { + "epoch": 0.02, + "learning_rate": 0.00011999999999999999, + "loss": 0.9054, + "step": 60 + }, + { + "epoch": 0.03, + "learning_rate": 0.00013, + "loss": 0.9518, + "step": 65 + }, + { + "epoch": 0.03, + "learning_rate": 0.00014, + "loss": 0.8763, + "step": 70 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015, + "loss": 0.8657, + "step": 75 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015999999999999999, + "loss": 0.9145, + "step": 80 + }, + { + "epoch": 0.03, + "learning_rate": 0.00016999999999999999, + "loss": 0.8296, + "step": 85 + }, + { + "epoch": 0.04, + "learning_rate": 0.00017999999999999998, + "loss": 0.8709, + "step": 90 + }, + { + "epoch": 0.04, + "learning_rate": 0.00018999999999999998, + "loss": 0.8405, + "step": 95 + }, + { + "epoch": 0.04, + "learning_rate": 0.00019999999999999998, + "loss": 0.8604, + "step": 100 + }, + { + "epoch": 0.04, + "learning_rate": 0.00020999999999999998, + "loss": 0.8607, + "step": 105 + }, + { + "epoch": 0.04, + "learning_rate": 0.00021999999999999995, + "loss": 0.8376, + "step": 110 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023, + "loss": 0.8554, + "step": 115 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023999999999999998, + "loss": 0.8456, + "step": 120 + }, + { + "epoch": 0.05, + "learning_rate": 0.00025, + "loss": 0.8443, + "step": 125 + }, + { + "epoch": 0.05, + "learning_rate": 0.00026, + "loss": 0.8327, + "step": 130 + }, + { + "epoch": 0.05, + "learning_rate": 0.00027, + "loss": 0.8096, + "step": 135 + }, + { + "epoch": 0.06, + "learning_rate": 0.00028, + "loss": 0.7972, + "step": 140 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029, + "loss": 0.8306, + "step": 145 + }, + { + "epoch": 0.06, + "learning_rate": 0.0003, + "loss": 0.8409, + "step": 150 + }, + { + "epoch": 0.06, + "learning_rate": 0.0002996913580246913, + "loss": 0.8094, + "step": 155 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029938271604938266, + "loss": 0.8146, + "step": 160 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029907407407407405, + "loss": 0.8042, + "step": 165 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002987654320987654, + "loss": 0.7784, + "step": 170 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002984567901234568, + "loss": 0.828, + "step": 175 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029814814814814813, + "loss": 0.8473, + "step": 180 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002978395061728395, + "loss": 0.8354, + "step": 185 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029753086419753087, + "loss": 0.8246, + "step": 190 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029722222222222216, + "loss": 0.8249, + "step": 195 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029691358024691355, + "loss": 0.8222, + "step": 200 + }, + { + "epoch": 0.08, + "learning_rate": 0.0002966049382716049, + "loss": 0.8369, + "step": 205 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029629629629629624, + "loss": 0.7954, + "step": 210 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029598765432098763, + "loss": 0.8051, + "step": 215 + }, + { + "epoch": 0.09, + "learning_rate": 0.000295679012345679, + "loss": 0.8081, + "step": 220 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029537037037037037, + "loss": 0.7864, + "step": 225 + }, + { + "epoch": 0.09, + "learning_rate": 0.0002950617283950617, + "loss": 0.7974, + "step": 230 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029475308641975306, + "loss": 0.8306, + "step": 235 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029444444444444445, + "loss": 0.7792, + "step": 240 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029413580246913574, + "loss": 0.8108, + "step": 245 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029382716049382714, + "loss": 0.8167, + "step": 250 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002935185185185185, + "loss": 0.8358, + "step": 255 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002932098765432099, + "loss": 0.7948, + "step": 260 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002929012345679012, + "loss": 0.8078, + "step": 265 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029259259259259256, + "loss": 0.7886, + "step": 270 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029228395061728395, + "loss": 0.7903, + "step": 275 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002919753086419753, + "loss": 0.7892, + "step": 280 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029166666666666664, + "loss": 0.7717, + "step": 285 + }, + { + "epoch": 0.12, + "learning_rate": 0.000291358024691358, + "loss": 0.7774, + "step": 290 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002910493827160494, + "loss": 0.8053, + "step": 295 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002907407407407407, + "loss": 0.794, + "step": 300 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029043209876543206, + "loss": 0.7856, + "step": 305 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029012345679012345, + "loss": 0.7713, + "step": 310 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002898148148148148, + "loss": 0.7805, + "step": 315 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028950617283950614, + "loss": 0.7897, + "step": 320 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028919753086419753, + "loss": 0.7931, + "step": 325 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002888888888888888, + "loss": 0.7739, + "step": 330 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002885802469135802, + "loss": 0.7749, + "step": 335 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028827160493827156, + "loss": 0.7932, + "step": 340 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028796296296296296, + "loss": 0.7906, + "step": 345 + }, + { + "epoch": 0.14, + "learning_rate": 0.0002876543209876543, + "loss": 0.8094, + "step": 350 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028734567901234564, + "loss": 0.7932, + "step": 355 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028703703703703703, + "loss": 0.8027, + "step": 360 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002867283950617284, + "loss": 0.8297, + "step": 365 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002864197530864197, + "loss": 0.8228, + "step": 370 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002861111111111111, + "loss": 0.7997, + "step": 375 + }, + { + "epoch": 0.15, + "learning_rate": 0.00028580246913580246, + "loss": 0.8124, + "step": 380 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002854938271604938, + "loss": 0.8152, + "step": 385 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028518518518518514, + "loss": 0.7833, + "step": 390 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028487654320987654, + "loss": 0.7884, + "step": 395 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002845679012345679, + "loss": 0.753, + "step": 400 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002842592592592592, + "loss": 0.8055, + "step": 405 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002839506172839506, + "loss": 0.8014, + "step": 410 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028364197530864196, + "loss": 0.782, + "step": 415 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002833333333333333, + "loss": 0.7733, + "step": 420 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002830246913580247, + "loss": 0.7777, + "step": 425 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028271604938271604, + "loss": 0.752, + "step": 430 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002824074074074074, + "loss": 0.7963, + "step": 435 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002820987654320987, + "loss": 0.7655, + "step": 440 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002817901234567901, + "loss": 0.8, + "step": 445 + }, + { + "epoch": 0.18, + "learning_rate": 0.00028148148148148146, + "loss": 0.7465, + "step": 450 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002811728395061728, + "loss": 0.7432, + "step": 455 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002808641975308642, + "loss": 0.758, + "step": 460 + }, + { + "epoch": 0.19, + "learning_rate": 0.00028055555555555554, + "loss": 0.7757, + "step": 465 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002802469135802469, + "loss": 0.7816, + "step": 470 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002799382716049382, + "loss": 0.7744, + "step": 475 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002796296296296296, + "loss": 0.7807, + "step": 480 + }, + { + "epoch": 0.19, + "learning_rate": 0.00027932098765432096, + "loss": 0.774, + "step": 485 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002790123456790123, + "loss": 0.7361, + "step": 490 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002787037037037037, + "loss": 0.7663, + "step": 495 + }, + { + "epoch": 0.2, + "learning_rate": 0.00027839506172839504, + "loss": 0.7532, + "step": 500 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002780864197530864, + "loss": 0.7573, + "step": 505 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002777777777777778, + "loss": 0.7802, + "step": 510 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002774691358024691, + "loss": 0.7871, + "step": 515 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027716049382716046, + "loss": 0.7734, + "step": 520 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002768518518518518, + "loss": 0.7752, + "step": 525 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002765432098765432, + "loss": 0.7697, + "step": 530 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027623456790123454, + "loss": 0.7846, + "step": 535 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002759259259259259, + "loss": 0.7592, + "step": 540 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002756172839506173, + "loss": 0.7734, + "step": 545 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002753086419753086, + "loss": 0.7984, + "step": 550 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027499999999999996, + "loss": 0.7342, + "step": 555 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027469135802469136, + "loss": 0.7479, + "step": 560 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002743827160493827, + "loss": 0.819, + "step": 565 + }, + { + "epoch": 0.23, + "learning_rate": 0.00027407407407407404, + "loss": 0.7561, + "step": 570 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002737654320987654, + "loss": 0.7303, + "step": 575 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002734567901234568, + "loss": 0.8001, + "step": 580 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002731481481481481, + "loss": 0.7738, + "step": 585 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027283950617283946, + "loss": 0.7866, + "step": 590 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027253086419753086, + "loss": 0.7582, + "step": 595 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002722222222222222, + "loss": 0.7645, + "step": 600 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027191358024691354, + "loss": 0.7839, + "step": 605 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002716049382716049, + "loss": 0.7931, + "step": 610 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002712962962962963, + "loss": 0.7692, + "step": 615 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002709876543209876, + "loss": 0.7835, + "step": 620 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027067901234567896, + "loss": 0.7795, + "step": 625 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027037037037037036, + "loss": 0.7639, + "step": 630 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002700617283950617, + "loss": 0.7705, + "step": 635 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026975308641975304, + "loss": 0.7674, + "step": 640 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026944444444444444, + "loss": 0.7349, + "step": 645 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002691358024691358, + "loss": 0.8008, + "step": 650 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002688271604938271, + "loss": 0.755, + "step": 655 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026851851851851847, + "loss": 0.7526, + "step": 660 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026820987654320986, + "loss": 0.7611, + "step": 665 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002679012345679012, + "loss": 0.7621, + "step": 670 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026759259259259255, + "loss": 0.7768, + "step": 675 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026728395061728394, + "loss": 0.7703, + "step": 680 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002669753086419753, + "loss": 0.7667, + "step": 685 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002666666666666666, + "loss": 0.7712, + "step": 690 + }, + { + "epoch": 0.28, + "learning_rate": 0.000266358024691358, + "loss": 0.7269, + "step": 695 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026604938271604936, + "loss": 0.7275, + "step": 700 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002657407407407407, + "loss": 0.7786, + "step": 705 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026543209876543205, + "loss": 0.7808, + "step": 710 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026512345679012344, + "loss": 0.7455, + "step": 715 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002648148148148148, + "loss": 0.7717, + "step": 720 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002645061728395061, + "loss": 0.737, + "step": 725 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002641975308641975, + "loss": 0.7664, + "step": 730 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026388888888888886, + "loss": 0.7716, + "step": 735 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026358024691358026, + "loss": 0.7638, + "step": 740 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026327160493827155, + "loss": 0.7777, + "step": 745 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026296296296296294, + "loss": 0.7431, + "step": 750 + }, + { + "epoch": 0.3, + "learning_rate": 0.0002626543209876543, + "loss": 0.7516, + "step": 755 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026234567901234563, + "loss": 0.831, + "step": 760 + }, + { + "epoch": 0.31, + "learning_rate": 0.000262037037037037, + "loss": 0.7423, + "step": 765 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026172839506172837, + "loss": 0.7471, + "step": 770 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002614197530864197, + "loss": 0.7551, + "step": 775 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002611111111111111, + "loss": 0.7208, + "step": 780 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026080246913580245, + "loss": 0.7359, + "step": 785 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026049382716049384, + "loss": 0.7759, + "step": 790 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026018518518518513, + "loss": 0.7406, + "step": 795 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002598765432098765, + "loss": 0.756, + "step": 800 + }, + { + "epoch": 0.32, + "learning_rate": 0.00025956790123456787, + "loss": 0.7631, + "step": 805 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002592592592592592, + "loss": 0.7885, + "step": 810 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002589506172839506, + "loss": 0.7947, + "step": 815 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025864197530864195, + "loss": 0.7557, + "step": 820 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025833333333333334, + "loss": 0.7556, + "step": 825 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002580246913580247, + "loss": 0.7472, + "step": 830 + }, + { + "epoch": 0.33, + "learning_rate": 0.000257716049382716, + "loss": 0.729, + "step": 835 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002574074074074074, + "loss": 0.7523, + "step": 840 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002570987654320987, + "loss": 0.7505, + "step": 845 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002567901234567901, + "loss": 0.7617, + "step": 850 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025648148148148145, + "loss": 0.7898, + "step": 855 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025617283950617284, + "loss": 0.7575, + "step": 860 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002558641975308642, + "loss": 0.8316, + "step": 865 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025555555555555553, + "loss": 0.7261, + "step": 870 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002552469135802469, + "loss": 0.7594, + "step": 875 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025493827160493826, + "loss": 0.7372, + "step": 880 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002546296296296296, + "loss": 0.7498, + "step": 885 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025432098765432095, + "loss": 0.7398, + "step": 890 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002540123456790123, + "loss": 0.804, + "step": 895 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002537037037037037, + "loss": 0.7241, + "step": 900 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025339506172839503, + "loss": 0.7519, + "step": 905 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002530864197530864, + "loss": 0.7694, + "step": 910 + }, + { + "epoch": 0.37, + "learning_rate": 0.00025277777777777777, + "loss": 0.7474, + "step": 915 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002524691358024691, + "loss": 0.7278, + "step": 920 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002521604938271605, + "loss": 0.7747, + "step": 925 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002518518518518518, + "loss": 0.7858, + "step": 930 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002515432098765432, + "loss": 0.7442, + "step": 935 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025123456790123453, + "loss": 0.7446, + "step": 940 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002509259259259259, + "loss": 0.7843, + "step": 945 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025061728395061727, + "loss": 0.7512, + "step": 950 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002503086419753086, + "loss": 0.7616, + "step": 955 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025, + "loss": 0.826, + "step": 960 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024969135802469135, + "loss": 0.7567, + "step": 965 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002493827160493827, + "loss": 0.7754, + "step": 970 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002490740740740741, + "loss": 0.7605, + "step": 975 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024876543209876537, + "loss": 0.7728, + "step": 980 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024845679012345677, + "loss": 0.7902, + "step": 985 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002481481481481481, + "loss": 0.7622, + "step": 990 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002478395061728395, + "loss": 0.745, + "step": 995 + }, + { + "epoch": 0.4, + "learning_rate": 0.00024753086419753085, + "loss": 0.7529, + "step": 1000 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002472222222222222, + "loss": 0.759, + "step": 1005 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002469135802469136, + "loss": 0.7471, + "step": 1010 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024660493827160493, + "loss": 0.7517, + "step": 1015 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024629629629629627, + "loss": 0.7634, + "step": 1020 + }, + { + "epoch": 0.41, + "learning_rate": 0.0002459876543209876, + "loss": 0.7833, + "step": 1025 + }, + { + "epoch": 0.41, + "learning_rate": 0.000245679012345679, + "loss": 0.7227, + "step": 1030 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024537037037037035, + "loss": 0.7792, + "step": 1035 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002450617283950617, + "loss": 0.7292, + "step": 1040 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002447530864197531, + "loss": 0.7519, + "step": 1045 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024444444444444443, + "loss": 0.7385, + "step": 1050 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024413580246913577, + "loss": 0.7842, + "step": 1055 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024382716049382714, + "loss": 0.796, + "step": 1060 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002435185185185185, + "loss": 0.7479, + "step": 1065 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024320987654320985, + "loss": 0.7531, + "step": 1070 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024290123456790122, + "loss": 0.731, + "step": 1075 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002425925925925926, + "loss": 0.7319, + "step": 1080 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024228395061728393, + "loss": 0.7381, + "step": 1085 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024197530864197527, + "loss": 0.7621, + "step": 1090 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024166666666666664, + "loss": 0.771, + "step": 1095 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024135802469135798, + "loss": 0.7493, + "step": 1100 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024104938271604935, + "loss": 0.7553, + "step": 1105 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024074074074074072, + "loss": 0.7862, + "step": 1110 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002404320987654321, + "loss": 0.7531, + "step": 1115 + }, + { + "epoch": 0.45, + "learning_rate": 0.00024012345679012343, + "loss": 0.7688, + "step": 1120 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002398148148148148, + "loss": 0.7666, + "step": 1125 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023950617283950617, + "loss": 0.7484, + "step": 1130 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023919753086419748, + "loss": 0.8048, + "step": 1135 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023888888888888885, + "loss": 0.757, + "step": 1140 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023858024691358022, + "loss": 0.7838, + "step": 1145 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002382716049382716, + "loss": 0.7834, + "step": 1150 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023796296296296293, + "loss": 0.733, + "step": 1155 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002376543209876543, + "loss": 0.7195, + "step": 1160 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023734567901234567, + "loss": 0.7478, + "step": 1165 + }, + { + "epoch": 0.47, + "learning_rate": 0.000237037037037037, + "loss": 0.7456, + "step": 1170 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023672839506172838, + "loss": 0.722, + "step": 1175 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023641975308641975, + "loss": 0.7395, + "step": 1180 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023611111111111112, + "loss": 0.7553, + "step": 1185 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023580246913580243, + "loss": 0.7692, + "step": 1190 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002354938271604938, + "loss": 0.7396, + "step": 1195 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023518518518518517, + "loss": 0.7214, + "step": 1200 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002348765432098765, + "loss": 0.7359, + "step": 1205 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023456790123456788, + "loss": 0.7666, + "step": 1210 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023425925925925925, + "loss": 0.7583, + "step": 1215 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002339506172839506, + "loss": 0.7715, + "step": 1220 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023364197530864196, + "loss": 0.7423, + "step": 1225 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002333333333333333, + "loss": 0.7598, + "step": 1230 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023302469135802467, + "loss": 0.7251, + "step": 1235 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023271604938271601, + "loss": 0.7447, + "step": 1240 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023240740740740738, + "loss": 0.7923, + "step": 1245 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023209876543209875, + "loss": 0.7161, + "step": 1250 + }, + { + "epoch": 0.5, + "learning_rate": 0.0002317901234567901, + "loss": 0.7291, + "step": 1255 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023148148148148146, + "loss": 0.7366, + "step": 1260 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023117283950617283, + "loss": 0.7173, + "step": 1265 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002308641975308642, + "loss": 0.7575, + "step": 1270 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023055555555555552, + "loss": 0.7632, + "step": 1275 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023024691358024688, + "loss": 0.7601, + "step": 1280 + }, + { + "epoch": 0.51, + "learning_rate": 0.00022993827160493825, + "loss": 0.7395, + "step": 1285 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002296296296296296, + "loss": 0.7686, + "step": 1290 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022932098765432096, + "loss": 0.7531, + "step": 1295 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022901234567901233, + "loss": 0.7675, + "step": 1300 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002287037037037037, + "loss": 0.8103, + "step": 1305 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022839506172839504, + "loss": 0.773, + "step": 1310 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002280864197530864, + "loss": 0.7549, + "step": 1315 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022777777777777778, + "loss": 0.7547, + "step": 1320 + }, + { + "epoch": 0.53, + "learning_rate": 0.0002274691358024691, + "loss": 0.758, + "step": 1325 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022716049382716047, + "loss": 0.77, + "step": 1330 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022685185185185183, + "loss": 0.7662, + "step": 1335 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022654320987654318, + "loss": 0.744, + "step": 1340 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022623456790123455, + "loss": 0.7486, + "step": 1345 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022592592592592591, + "loss": 0.7473, + "step": 1350 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022561728395061728, + "loss": 0.7486, + "step": 1355 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022530864197530862, + "loss": 0.7205, + "step": 1360 + }, + { + "epoch": 0.54, + "learning_rate": 0.000225, + "loss": 0.7289, + "step": 1365 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022469135802469134, + "loss": 0.7586, + "step": 1370 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022438271604938268, + "loss": 0.7175, + "step": 1375 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022407407407407405, + "loss": 0.6961, + "step": 1380 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022376543209876542, + "loss": 0.7242, + "step": 1385 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022345679012345678, + "loss": 0.7515, + "step": 1390 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022314814814814813, + "loss": 0.7522, + "step": 1395 + }, + { + "epoch": 0.56, + "learning_rate": 0.0002228395061728395, + "loss": 0.7651, + "step": 1400 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022253086419753086, + "loss": 0.6958, + "step": 1405 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022222222222222218, + "loss": 0.7336, + "step": 1410 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022191358024691355, + "loss": 0.7636, + "step": 1415 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022160493827160492, + "loss": 0.7583, + "step": 1420 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022129629629629626, + "loss": 0.7605, + "step": 1425 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022098765432098763, + "loss": 0.7109, + "step": 1430 + }, + { + "epoch": 0.57, + "learning_rate": 0.000220679012345679, + "loss": 0.7224, + "step": 1435 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022037037037037037, + "loss": 0.7724, + "step": 1440 + }, + { + "epoch": 0.58, + "learning_rate": 0.0002200617283950617, + "loss": 0.7637, + "step": 1445 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021975308641975308, + "loss": 0.7302, + "step": 1450 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021944444444444444, + "loss": 0.7685, + "step": 1455 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021913580246913576, + "loss": 0.751, + "step": 1460 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021882716049382713, + "loss": 0.7768, + "step": 1465 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002185185185185185, + "loss": 0.7461, + "step": 1470 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021820987654320987, + "loss": 0.7782, + "step": 1475 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002179012345679012, + "loss": 0.7474, + "step": 1480 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021759259259259258, + "loss": 0.7475, + "step": 1485 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021728395061728395, + "loss": 0.7539, + "step": 1490 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002169753086419753, + "loss": 0.7476, + "step": 1495 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021666666666666666, + "loss": 0.7382, + "step": 1500 + }, + { + "epoch": 0.6, + "learning_rate": 0.000216358024691358, + "loss": 0.7305, + "step": 1505 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021604938271604937, + "loss": 0.7455, + "step": 1510 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002157407407407407, + "loss": 0.7286, + "step": 1515 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021543209876543208, + "loss": 0.7653, + "step": 1520 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021512345679012345, + "loss": 0.7443, + "step": 1525 + }, + { + "epoch": 0.61, + "learning_rate": 0.0002148148148148148, + "loss": 0.7026, + "step": 1530 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021450617283950616, + "loss": 0.7436, + "step": 1535 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021419753086419753, + "loss": 0.7101, + "step": 1540 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021388888888888884, + "loss": 0.7484, + "step": 1545 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002135802469135802, + "loss": 0.7483, + "step": 1550 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021327160493827158, + "loss": 0.7419, + "step": 1555 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021296296296296295, + "loss": 0.7356, + "step": 1560 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002126543209876543, + "loss": 0.7716, + "step": 1565 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021234567901234566, + "loss": 0.734, + "step": 1570 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021203703703703703, + "loss": 0.7268, + "step": 1575 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021172839506172837, + "loss": 0.7133, + "step": 1580 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021141975308641974, + "loss": 0.7575, + "step": 1585 + }, + { + "epoch": 0.63, + "learning_rate": 0.0002111111111111111, + "loss": 0.7219, + "step": 1590 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021080246913580248, + "loss": 0.7394, + "step": 1595 + }, + { + "epoch": 0.64, + "learning_rate": 0.0002104938271604938, + "loss": 0.7729, + "step": 1600 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021018518518518516, + "loss": 0.757, + "step": 1605 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020987654320987653, + "loss": 0.7139, + "step": 1610 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020956790123456787, + "loss": 0.7492, + "step": 1615 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020925925925925924, + "loss": 0.7461, + "step": 1620 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002089506172839506, + "loss": 0.7276, + "step": 1625 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020864197530864198, + "loss": 0.7725, + "step": 1630 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020833333333333332, + "loss": 0.7623, + "step": 1635 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002080246913580247, + "loss": 0.7394, + "step": 1640 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020771604938271603, + "loss": 0.7387, + "step": 1645 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020740740740740737, + "loss": 0.7519, + "step": 1650 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020709876543209874, + "loss": 0.7625, + "step": 1655 + }, + { + "epoch": 0.66, + "learning_rate": 0.0002067901234567901, + "loss": 0.7254, + "step": 1660 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020648148148148145, + "loss": 0.7129, + "step": 1665 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020617283950617282, + "loss": 0.7964, + "step": 1670 + }, + { + "epoch": 0.67, + "learning_rate": 0.0002058641975308642, + "loss": 0.7332, + "step": 1675 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020555555555555556, + "loss": 0.7955, + "step": 1680 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020524691358024687, + "loss": 0.7544, + "step": 1685 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020493827160493824, + "loss": 0.7115, + "step": 1690 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002046296296296296, + "loss": 0.7434, + "step": 1695 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020432098765432095, + "loss": 0.7382, + "step": 1700 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020401234567901232, + "loss": 0.7452, + "step": 1705 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002037037037037037, + "loss": 0.7551, + "step": 1710 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020339506172839506, + "loss": 0.7202, + "step": 1715 + }, + { + "epoch": 0.69, + "learning_rate": 0.0002030864197530864, + "loss": 0.735, + "step": 1720 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020277777777777777, + "loss": 0.7581, + "step": 1725 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020246913580246914, + "loss": 0.7527, + "step": 1730 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020216049382716045, + "loss": 0.7498, + "step": 1735 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020185185185185182, + "loss": 0.735, + "step": 1740 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002015432098765432, + "loss": 0.7286, + "step": 1745 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020123456790123456, + "loss": 0.6891, + "step": 1750 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002009259259259259, + "loss": 0.7353, + "step": 1755 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020061728395061727, + "loss": 0.7386, + "step": 1760 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020030864197530864, + "loss": 0.7106, + "step": 1765 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019999999999999998, + "loss": 0.7207, + "step": 1770 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019969135802469135, + "loss": 0.7576, + "step": 1775 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019938271604938272, + "loss": 0.7462, + "step": 1780 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019907407407407404, + "loss": 0.7068, + "step": 1785 + }, + { + "epoch": 0.71, + "learning_rate": 0.0001987654320987654, + "loss": 0.7525, + "step": 1790 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019845679012345677, + "loss": 0.7291, + "step": 1795 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019814814814814814, + "loss": 0.7226, + "step": 1800 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019783950617283948, + "loss": 0.7445, + "step": 1805 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019753086419753085, + "loss": 0.7571, + "step": 1810 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019722222222222222, + "loss": 0.7306, + "step": 1815 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019691358024691354, + "loss": 0.7785, + "step": 1820 + }, + { + "epoch": 0.73, + "learning_rate": 0.0001966049382716049, + "loss": 0.7537, + "step": 1825 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019629629629629627, + "loss": 0.7549, + "step": 1830 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019598765432098764, + "loss": 0.732, + "step": 1835 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019567901234567898, + "loss": 0.7159, + "step": 1840 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019537037037037035, + "loss": 0.7549, + "step": 1845 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019506172839506172, + "loss": 0.7581, + "step": 1850 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019475308641975306, + "loss": 0.7559, + "step": 1855 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019444444444444443, + "loss": 0.7626, + "step": 1860 + }, + { + "epoch": 0.74, + "learning_rate": 0.0001941358024691358, + "loss": 0.7423, + "step": 1865 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019382716049382712, + "loss": 0.7672, + "step": 1870 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019351851851851849, + "loss": 0.7794, + "step": 1875 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019320987654320985, + "loss": 0.7428, + "step": 1880 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019290123456790122, + "loss": 0.7462, + "step": 1885 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019259259259259257, + "loss": 0.702, + "step": 1890 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019228395061728393, + "loss": 0.7626, + "step": 1895 + }, + { + "epoch": 0.76, + "learning_rate": 0.0001919753086419753, + "loss": 0.7357, + "step": 1900 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019166666666666665, + "loss": 0.7408, + "step": 1905 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019135802469135801, + "loss": 0.707, + "step": 1910 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019104938271604938, + "loss": 0.726, + "step": 1915 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019074074074074073, + "loss": 0.7396, + "step": 1920 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019043209876543207, + "loss": 0.7676, + "step": 1925 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019012345679012344, + "loss": 0.7335, + "step": 1930 + }, + { + "epoch": 0.77, + "learning_rate": 0.0001898148148148148, + "loss": 0.7235, + "step": 1935 + }, + { + "epoch": 0.77, + "learning_rate": 0.00018950617283950615, + "loss": 0.7297, + "step": 1940 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018919753086419752, + "loss": 0.7079, + "step": 1945 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018888888888888888, + "loss": 0.7629, + "step": 1950 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018858024691358025, + "loss": 0.7131, + "step": 1955 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018827160493827157, + "loss": 0.7517, + "step": 1960 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018796296296296294, + "loss": 0.7292, + "step": 1965 + }, + { + "epoch": 0.79, + "learning_rate": 0.0001876543209876543, + "loss": 0.7137, + "step": 1970 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018734567901234565, + "loss": 0.725, + "step": 1975 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018703703703703702, + "loss": 0.7444, + "step": 1980 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018672839506172839, + "loss": 0.7366, + "step": 1985 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018641975308641973, + "loss": 0.7329, + "step": 1990 + }, + { + "epoch": 0.8, + "learning_rate": 0.0001861111111111111, + "loss": 0.7037, + "step": 1995 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018580246913580247, + "loss": 0.7186, + "step": 2000 + } + ], + "logging_steps": 5, + "max_steps": 5010, + "num_input_tokens_seen": 0, + "num_train_epochs": 2, + "save_steps": 500, + "total_flos": 8.056468541093708e+18, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/training_args.bin b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..76b046c47941a0df0a1cf17415d227f3e8416d3b --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc4247ac8c6f92ef49080d32b2520dd809daff76a4805fdafb6e454ee1c5cc3 +size 5944 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/zero_to_fp32.py b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/zero_to_fp32.py new file mode 100644 index 0000000000000000000000000000000000000000..c98caae31534368be22b67fc4ae906836c992a8d --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2000/zero_to_fp32.py @@ -0,0 +1,587 @@ +#!/usr/bin/env python + +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: Apache-2.0 + +# DeepSpeed Team + +# This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets +# copied into the top level checkpoint dir, so the user can easily do the conversion at any point in +# the future. Once extracted, the weights don't require DeepSpeed and can be used in any +# application. +# +# example: python zero_to_fp32.py . pytorch_model.bin + +import argparse +import torch +import glob +import math +import os +import re +from collections import OrderedDict +from dataclasses import dataclass + +# while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with +# DeepSpeed data structures it has to be available in the current python environment. +from deepspeed.utils import logger +from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS, + FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES, + FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS) + + +@dataclass +class zero_model_state: + buffers: dict() + param_shapes: dict() + shared_params: list + ds_version: int + frozen_param_shapes: dict() + frozen_param_fragments: dict() + + +debug = 0 + +# load to cpu +device = torch.device('cpu') + + +def atoi(text): + return int(text) if text.isdigit() else text + + +def natural_keys(text): + ''' + alist.sort(key=natural_keys) sorts in human order + http://nedbatchelder.com/blog/200712/human_sorting.html + (See Toothy's implementation in the comments) + ''' + return [atoi(c) for c in re.split(r'(\d+)', text)] + + +def get_model_state_file(checkpoint_dir, zero_stage): + if not os.path.isdir(checkpoint_dir): + raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist") + + # there should be only one file + if zero_stage <= 2: + file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt") + elif zero_stage == 3: + file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt") + + if not os.path.exists(file): + raise FileNotFoundError(f"can't find model states file at '{file}'") + + return file + + +def get_checkpoint_files(checkpoint_dir, glob_pattern): + # XXX: need to test that this simple glob rule works for multi-node setup too + ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys) + + if len(ckpt_files) == 0: + raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'") + + return ckpt_files + + +def get_optim_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt") + + +def get_model_state_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_model_states.pt") + + +def parse_model_states(files): + zero_model_states = [] + for file in files: + state_dict = torch.load(file, map_location=device) + + if BUFFER_NAMES not in state_dict: + raise ValueError(f"{file} is not a model state checkpoint") + buffer_names = state_dict[BUFFER_NAMES] + if debug: + print("Found buffers:", buffer_names) + + # recover just the buffers while restoring them to fp32 if they were saved in fp16 + buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names} + param_shapes = state_dict[PARAM_SHAPES] + + # collect parameters that are included in param_shapes + param_names = [] + for s in param_shapes: + for name in s.keys(): + param_names.append(name) + + # update with frozen parameters + frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None) + if frozen_param_shapes is not None: + if debug: + print(f"Found frozen_param_shapes: {frozen_param_shapes}") + param_names += list(frozen_param_shapes.keys()) + + # handle shared params + shared_params = [[k, v] for k, v in state_dict["shared_params"].items()] + + ds_version = state_dict.get(DS_VERSION, None) + + frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None) + + z_model_state = zero_model_state(buffers=buffers, + param_shapes=param_shapes, + shared_params=shared_params, + ds_version=ds_version, + frozen_param_shapes=frozen_param_shapes, + frozen_param_fragments=frozen_param_fragments) + zero_model_states.append(z_model_state) + + return zero_model_states + + +def parse_optim_states(files, ds_checkpoint_dir): + + total_files = len(files) + state_dicts = [] + for f in files: + state_dict = torch.load(f, map_location=device) + # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights + # and also handle the case where it was already removed by another helper script + state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None) + state_dicts.append(state_dict) + + if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]: + raise ValueError(f"{files[0]} is not a zero checkpoint") + zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE] + world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT] + + # For ZeRO-2 each param group can have different partition_count as data parallelism for expert + # parameters can be different from data parallelism for non-expert parameters. So we can just + # use the max of the partition_count to get the dp world_size. + + if type(world_size) is list: + world_size = max(world_size) + + if world_size != total_files: + raise ValueError( + f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. " + "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes." + ) + + # the groups are named differently in each stage + if zero_stage <= 2: + fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS + elif zero_stage == 3: + fp32_groups_key = FP32_FLAT_GROUPS + else: + raise ValueError(f"unknown zero stage {zero_stage}") + + if zero_stage <= 2: + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))] + elif zero_stage == 3: + # if there is more than one param group, there will be multiple flattened tensors - one + # flattened tensor per group - for simplicity merge them into a single tensor + # + # XXX: could make the script more memory efficient for when there are multiple groups - it + # will require matching the sub-lists of param_shapes for each param group flattened tensor + + fp32_flat_groups = [ + torch.cat(state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key], 0) for i in range(len(state_dicts)) + ] + + return zero_stage, world_size, fp32_flat_groups + + +def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir): + """ + Returns fp32 state_dict reconstructed from ds checkpoint + + Args: + - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are) + + """ + print(f"Processing zero checkpoint '{ds_checkpoint_dir}'") + + optim_files = get_optim_files(ds_checkpoint_dir) + zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir) + print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}") + + model_files = get_model_state_files(ds_checkpoint_dir) + + zero_model_states = parse_model_states(model_files) + print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}') + + if zero_stage <= 2: + return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states) + + +def _zero2_merge_frozen_params(state_dict, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + frozen_param_fragments = zero_model_states[0].frozen_param_fragments + + if debug: + num_elem = sum(s.numel() for s in frozen_param_shapes.values()) + print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in frozen_param_fragments.values()]) + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + state_dict[name] = frozen_param_fragments[name] + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + + # Reconstruction protocol: + # + # XXX: document this + + if debug: + for i in range(world_size): + for j in range(len(fp32_flat_groups[0])): + print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}") + + # XXX: memory usage doubles here (zero2) + num_param_groups = len(fp32_flat_groups[0]) + merged_single_partition_of_fp32_groups = [] + for i in range(num_param_groups): + merged_partitions = [sd[i] for sd in fp32_flat_groups] + full_single_fp32_vector = torch.cat(merged_partitions, 0) + merged_single_partition_of_fp32_groups.append(full_single_fp32_vector) + avail_numel = sum( + [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups]) + + if debug: + wanted_params = sum([len(shapes) for shapes in param_shapes]) + wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes]) + # not asserting if there is a mismatch due to possible padding + print(f"Have {avail_numel} numels to process.") + print(f"Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + total_numel = 0 + total_params = 0 + for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups): + offset = 0 + avail_numel = full_single_fp32_vector.numel() + for name, shape in shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape) + offset += unpartitioned_numel + + # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and + # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex + # paddings performed in the code it's almost impossible to predict the exact numbers w/o the + # live optimizer object, so we are checking that the numbers are within the right range + align_to = 2 * world_size + + def zero2_align(x): + return align_to * math.ceil(x / align_to) + + if debug: + print(f"original offset={offset}, avail_numel={avail_numel}") + + offset = zero2_align(offset) + avail_numel = zero2_align(avail_numel) + + if debug: + print(f"aligned offset={offset}, avail_numel={avail_numel}") + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero2_merge_frozen_params(state_dict, zero_model_states) + + _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def zero3_partitioned_param_info(unpartitioned_numel, world_size): + remainder = unpartitioned_numel % world_size + padding_numel = (world_size - remainder) if remainder else 0 + partitioned_numel = math.ceil(unpartitioned_numel / world_size) + return partitioned_numel, padding_numel + + +def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + if debug: + for i in range(world_size): + num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values()) + print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in zero_model_states[0].frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states) + state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape) + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + avail_numel = fp32_flat_groups[0].numel() * world_size + # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each + # param, re-consolidating each param, while dealing with padding if any + + # merge list of dicts, preserving order + param_shapes = {k: v for d in param_shapes for k, v in d.items()} + + if debug: + for i in range(world_size): + print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}") + + wanted_params = len(param_shapes) + wanted_numel = sum(shape.numel() for shape in param_shapes.values()) + # not asserting if there is a mismatch due to possible padding + avail_numel = fp32_flat_groups[0].numel() * world_size + print(f"Trainable params: Have {avail_numel} numels to process.") + print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + offset = 0 + total_numel = 0 + total_params = 0 + for name, shape in param_shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + # XXX: memory usage doubles here + state_dict[name] = torch.cat( + tuple(fp32_flat_groups[i].narrow(0, offset, partitioned_numel) for i in range(world_size)), + 0).narrow(0, 0, unpartitioned_numel).view(shape) + offset += partitioned_numel + + offset *= world_size + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero3_merge_frozen_params(state_dict, world_size, zero_model_states) + + _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with + ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example + via a model hub. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder + - ``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`` + + Returns: + - pytorch ``state_dict`` + + Note: this approach may not work if your application doesn't have sufficient free CPU memory and + you may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + # do the training and checkpoint saving + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu + model = model.cpu() # move to cpu + model.load_state_dict(state_dict) + # submit to model hub or save the model to share with others + + In this example the ``model`` will no longer be usable in the deepspeed context of the same + application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead. + + """ + if tag is None: + latest_path = os.path.join(checkpoint_dir, 'latest') + if os.path.isfile(latest_path): + with open(latest_path, 'r') as fd: + tag = fd.read().strip() + else: + raise ValueError(f"Unable to find 'latest' file at {latest_path}") + + ds_checkpoint_dir = os.path.join(checkpoint_dir, tag) + + if not os.path.isdir(ds_checkpoint_dir): + raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist") + + return _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, output_file, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be + loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``output_file``: path to the pytorch fp32 state_dict output file (e.g. path/pytorch_model.bin) + - ``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`` + """ + + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + print(f"Saving fp32 state dict to {output_file}") + torch.save(state_dict, output_file) + + +def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None): + """ + 1. Put the provided model to cpu + 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` + 3. Load it into the provided model + + Args: + - ``model``: the model object to update + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``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`` + + Returns: + - ``model`: modified model + + Make sure you have plenty of CPU memory available before you call this function. If you don't + have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it + conveniently placed for you in the checkpoint folder. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint + model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir) + # submit to model hub or save the model to share with others + + Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context + of the same application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + """ + logger.info(f"Extracting fp32 weights") + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + + logger.info(f"Overwriting model with fp32 weights") + model = model.cpu() + model.load_state_dict(state_dict, strict=False) + + return model + + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument("checkpoint_dir", + type=str, + help="path to the desired checkpoint folder, e.g., path/checkpoint-12") + parser.add_argument( + "output_file", + type=str, + help="path to the pytorch fp32 state_dict output file (e.g. path/checkpoint-12/pytorch_model.bin)") + parser.add_argument("-t", + "--tag", + type=str, + default=None, + help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1") + parser.add_argument("-d", "--debug", action='store_true', help="enable debug") + args = parser.parse_args() + + debug = args.debug + + convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir, args.output_file, tag=args.tag) diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/README.md b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2aa897f8fa13b49ce76b1fa188781e5f726e7d13 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/README.md @@ -0,0 +1,202 @@ +--- +base_model: meta-llama/Llama-2-7b-hf +library_name: peft +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.9.0 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/adapter_config.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..9c81a592f0ff08374a4f61f6003029070a8429ae --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/adapter_config.json @@ -0,0 +1,35 @@ +{ + "alpha_pattern": {}, + "auto_mapping": null, + "base_model_name_or_path": "meta-llama/Llama-2-7b-hf", + "bias": "none", + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 16, + "lora_dropout": 0.05, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "mora_type": 1, + "peft_type": "LORA", + "r": 8, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "k_proj", + "v_proj", + "o_proj", + "gate_proj", + "down_proj", + "up_proj" + ], + "task_type": "CAUSAL_LM", + "use_dora": false, + "use_mora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/adapter_model.safetensors b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..3a865be257d9b53b1d118cfae0622438fba49b23 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:643f61bad9db98135ceda0a6687ae04402e2a9ee74aef71abae3ef8d4469ebe9 +size 564342240 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/global_step2500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/global_step2500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..51a3792200ece5d63367e1eacf218f823bbfa8c9 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/global_step2500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab7725cf6a626b65267ae4e798d53e18d6e34318adc63460b4eb762c59f1ebb7 +size 239914224 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/global_step2500/mp_rank_00_model_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/global_step2500/mp_rank_00_model_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..007b5f33fc13278afbdc594f6b62bd4645769565 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/global_step2500/mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5b28e910a452756e2ab041879d53daf14e0f79f61b8d9a2db7dda25a69d8164 +size 40303404 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/latest b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/latest new file mode 100644 index 0000000000000000000000000000000000000000..98f8bed9a5485ee900d9931cc06950de69499848 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/latest @@ -0,0 +1 @@ +global_step2500 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/rng_state.pth b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..3ff6036981fc298701f8a4118eb1ee4fa3ed5ed9 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f825f29d46d68de12985e875822b27efaac55bdba6c419fb26c2f1eb068aef1 +size 14244 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/scheduler.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..8bae23c4e2e153ac24e5e93f305c21d8194a1f1e --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c65c8c33b44f669cd4e4fc53ad8a403f29e98144aa664322f23d1df8c3e22cd6 +size 1064 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/trainer_state.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..e6098e026104000ae58eec4adc759bf06d561979 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/trainer_state.json @@ -0,0 +1,3021 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.9979106246296816, + "eval_steps": 500, + "global_step": 2500, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.0, + "learning_rate": 9.999999999999999e-06, + "loss": 1.38, + "step": 5 + }, + { + "epoch": 0.0, + "learning_rate": 1.9999999999999998e-05, + "loss": 1.3936, + "step": 10 + }, + { + "epoch": 0.01, + "learning_rate": 2.9999999999999997e-05, + "loss": 1.3006, + "step": 15 + }, + { + "epoch": 0.01, + "learning_rate": 3.9999999999999996e-05, + "loss": 1.2594, + "step": 20 + }, + { + "epoch": 0.01, + "learning_rate": 4.9999999999999996e-05, + "loss": 1.1177, + "step": 25 + }, + { + "epoch": 0.01, + "learning_rate": 5.9999999999999995e-05, + "loss": 1.0481, + "step": 30 + }, + { + "epoch": 0.01, + "learning_rate": 7e-05, + "loss": 1.0601, + "step": 35 + }, + { + "epoch": 0.02, + "learning_rate": 7.999999999999999e-05, + "loss": 1.0473, + "step": 40 + }, + { + "epoch": 0.02, + "learning_rate": 8.999999999999999e-05, + "loss": 0.9523, + "step": 45 + }, + { + "epoch": 0.02, + "learning_rate": 9.999999999999999e-05, + "loss": 0.9451, + "step": 50 + }, + { + "epoch": 0.02, + "learning_rate": 0.00010999999999999998, + "loss": 0.9687, + "step": 55 + }, + { + "epoch": 0.02, + "learning_rate": 0.00011999999999999999, + "loss": 0.9054, + "step": 60 + }, + { + "epoch": 0.03, + "learning_rate": 0.00013, + "loss": 0.9518, + "step": 65 + }, + { + "epoch": 0.03, + "learning_rate": 0.00014, + "loss": 0.8763, + "step": 70 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015, + "loss": 0.8657, + "step": 75 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015999999999999999, + "loss": 0.9145, + "step": 80 + }, + { + "epoch": 0.03, + "learning_rate": 0.00016999999999999999, + "loss": 0.8296, + "step": 85 + }, + { + "epoch": 0.04, + "learning_rate": 0.00017999999999999998, + "loss": 0.8709, + "step": 90 + }, + { + "epoch": 0.04, + "learning_rate": 0.00018999999999999998, + "loss": 0.8405, + "step": 95 + }, + { + "epoch": 0.04, + "learning_rate": 0.00019999999999999998, + "loss": 0.8604, + "step": 100 + }, + { + "epoch": 0.04, + "learning_rate": 0.00020999999999999998, + "loss": 0.8607, + "step": 105 + }, + { + "epoch": 0.04, + "learning_rate": 0.00021999999999999995, + "loss": 0.8376, + "step": 110 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023, + "loss": 0.8554, + "step": 115 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023999999999999998, + "loss": 0.8456, + "step": 120 + }, + { + "epoch": 0.05, + "learning_rate": 0.00025, + "loss": 0.8443, + "step": 125 + }, + { + "epoch": 0.05, + "learning_rate": 0.00026, + "loss": 0.8327, + "step": 130 + }, + { + "epoch": 0.05, + "learning_rate": 0.00027, + "loss": 0.8096, + "step": 135 + }, + { + "epoch": 0.06, + "learning_rate": 0.00028, + "loss": 0.7972, + "step": 140 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029, + "loss": 0.8306, + "step": 145 + }, + { + "epoch": 0.06, + "learning_rate": 0.0003, + "loss": 0.8409, + "step": 150 + }, + { + "epoch": 0.06, + "learning_rate": 0.0002996913580246913, + "loss": 0.8094, + "step": 155 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029938271604938266, + "loss": 0.8146, + "step": 160 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029907407407407405, + "loss": 0.8042, + "step": 165 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002987654320987654, + "loss": 0.7784, + "step": 170 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002984567901234568, + "loss": 0.828, + "step": 175 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029814814814814813, + "loss": 0.8473, + "step": 180 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002978395061728395, + "loss": 0.8354, + "step": 185 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029753086419753087, + "loss": 0.8246, + "step": 190 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029722222222222216, + "loss": 0.8249, + "step": 195 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029691358024691355, + "loss": 0.8222, + "step": 200 + }, + { + "epoch": 0.08, + "learning_rate": 0.0002966049382716049, + "loss": 0.8369, + "step": 205 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029629629629629624, + "loss": 0.7954, + "step": 210 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029598765432098763, + "loss": 0.8051, + "step": 215 + }, + { + "epoch": 0.09, + "learning_rate": 0.000295679012345679, + "loss": 0.8081, + "step": 220 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029537037037037037, + "loss": 0.7864, + "step": 225 + }, + { + "epoch": 0.09, + "learning_rate": 0.0002950617283950617, + "loss": 0.7974, + "step": 230 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029475308641975306, + "loss": 0.8306, + "step": 235 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029444444444444445, + "loss": 0.7792, + "step": 240 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029413580246913574, + "loss": 0.8108, + "step": 245 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029382716049382714, + "loss": 0.8167, + "step": 250 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002935185185185185, + "loss": 0.8358, + "step": 255 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002932098765432099, + "loss": 0.7948, + "step": 260 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002929012345679012, + "loss": 0.8078, + "step": 265 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029259259259259256, + "loss": 0.7886, + "step": 270 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029228395061728395, + "loss": 0.7903, + "step": 275 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002919753086419753, + "loss": 0.7892, + "step": 280 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029166666666666664, + "loss": 0.7717, + "step": 285 + }, + { + "epoch": 0.12, + "learning_rate": 0.000291358024691358, + "loss": 0.7774, + "step": 290 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002910493827160494, + "loss": 0.8053, + "step": 295 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002907407407407407, + "loss": 0.794, + "step": 300 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029043209876543206, + "loss": 0.7856, + "step": 305 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029012345679012345, + "loss": 0.7713, + "step": 310 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002898148148148148, + "loss": 0.7805, + "step": 315 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028950617283950614, + "loss": 0.7897, + "step": 320 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028919753086419753, + "loss": 0.7931, + "step": 325 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002888888888888888, + "loss": 0.7739, + "step": 330 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002885802469135802, + "loss": 0.7749, + "step": 335 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028827160493827156, + "loss": 0.7932, + "step": 340 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028796296296296296, + "loss": 0.7906, + "step": 345 + }, + { + "epoch": 0.14, + "learning_rate": 0.0002876543209876543, + "loss": 0.8094, + "step": 350 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028734567901234564, + "loss": 0.7932, + "step": 355 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028703703703703703, + "loss": 0.8027, + "step": 360 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002867283950617284, + "loss": 0.8297, + "step": 365 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002864197530864197, + "loss": 0.8228, + "step": 370 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002861111111111111, + "loss": 0.7997, + "step": 375 + }, + { + "epoch": 0.15, + "learning_rate": 0.00028580246913580246, + "loss": 0.8124, + "step": 380 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002854938271604938, + "loss": 0.8152, + "step": 385 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028518518518518514, + "loss": 0.7833, + "step": 390 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028487654320987654, + "loss": 0.7884, + "step": 395 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002845679012345679, + "loss": 0.753, + "step": 400 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002842592592592592, + "loss": 0.8055, + "step": 405 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002839506172839506, + "loss": 0.8014, + "step": 410 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028364197530864196, + "loss": 0.782, + "step": 415 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002833333333333333, + "loss": 0.7733, + "step": 420 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002830246913580247, + "loss": 0.7777, + "step": 425 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028271604938271604, + "loss": 0.752, + "step": 430 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002824074074074074, + "loss": 0.7963, + "step": 435 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002820987654320987, + "loss": 0.7655, + "step": 440 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002817901234567901, + "loss": 0.8, + "step": 445 + }, + { + "epoch": 0.18, + "learning_rate": 0.00028148148148148146, + "loss": 0.7465, + "step": 450 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002811728395061728, + "loss": 0.7432, + "step": 455 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002808641975308642, + "loss": 0.758, + "step": 460 + }, + { + "epoch": 0.19, + "learning_rate": 0.00028055555555555554, + "loss": 0.7757, + "step": 465 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002802469135802469, + "loss": 0.7816, + "step": 470 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002799382716049382, + "loss": 0.7744, + "step": 475 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002796296296296296, + "loss": 0.7807, + "step": 480 + }, + { + "epoch": 0.19, + "learning_rate": 0.00027932098765432096, + "loss": 0.774, + "step": 485 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002790123456790123, + "loss": 0.7361, + "step": 490 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002787037037037037, + "loss": 0.7663, + "step": 495 + }, + { + "epoch": 0.2, + "learning_rate": 0.00027839506172839504, + "loss": 0.7532, + "step": 500 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002780864197530864, + "loss": 0.7573, + "step": 505 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002777777777777778, + "loss": 0.7802, + "step": 510 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002774691358024691, + "loss": 0.7871, + "step": 515 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027716049382716046, + "loss": 0.7734, + "step": 520 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002768518518518518, + "loss": 0.7752, + "step": 525 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002765432098765432, + "loss": 0.7697, + "step": 530 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027623456790123454, + "loss": 0.7846, + "step": 535 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002759259259259259, + "loss": 0.7592, + "step": 540 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002756172839506173, + "loss": 0.7734, + "step": 545 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002753086419753086, + "loss": 0.7984, + "step": 550 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027499999999999996, + "loss": 0.7342, + "step": 555 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027469135802469136, + "loss": 0.7479, + "step": 560 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002743827160493827, + "loss": 0.819, + "step": 565 + }, + { + "epoch": 0.23, + "learning_rate": 0.00027407407407407404, + "loss": 0.7561, + "step": 570 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002737654320987654, + "loss": 0.7303, + "step": 575 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002734567901234568, + "loss": 0.8001, + "step": 580 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002731481481481481, + "loss": 0.7738, + "step": 585 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027283950617283946, + "loss": 0.7866, + "step": 590 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027253086419753086, + "loss": 0.7582, + "step": 595 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002722222222222222, + "loss": 0.7645, + "step": 600 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027191358024691354, + "loss": 0.7839, + "step": 605 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002716049382716049, + "loss": 0.7931, + "step": 610 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002712962962962963, + "loss": 0.7692, + "step": 615 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002709876543209876, + "loss": 0.7835, + "step": 620 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027067901234567896, + "loss": 0.7795, + "step": 625 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027037037037037036, + "loss": 0.7639, + "step": 630 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002700617283950617, + "loss": 0.7705, + "step": 635 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026975308641975304, + "loss": 0.7674, + "step": 640 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026944444444444444, + "loss": 0.7349, + "step": 645 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002691358024691358, + "loss": 0.8008, + "step": 650 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002688271604938271, + "loss": 0.755, + "step": 655 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026851851851851847, + "loss": 0.7526, + "step": 660 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026820987654320986, + "loss": 0.7611, + "step": 665 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002679012345679012, + "loss": 0.7621, + "step": 670 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026759259259259255, + "loss": 0.7768, + "step": 675 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026728395061728394, + "loss": 0.7703, + "step": 680 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002669753086419753, + "loss": 0.7667, + "step": 685 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002666666666666666, + "loss": 0.7712, + "step": 690 + }, + { + "epoch": 0.28, + "learning_rate": 0.000266358024691358, + "loss": 0.7269, + "step": 695 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026604938271604936, + "loss": 0.7275, + "step": 700 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002657407407407407, + "loss": 0.7786, + "step": 705 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026543209876543205, + "loss": 0.7808, + "step": 710 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026512345679012344, + "loss": 0.7455, + "step": 715 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002648148148148148, + "loss": 0.7717, + "step": 720 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002645061728395061, + "loss": 0.737, + "step": 725 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002641975308641975, + "loss": 0.7664, + "step": 730 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026388888888888886, + "loss": 0.7716, + "step": 735 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026358024691358026, + "loss": 0.7638, + "step": 740 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026327160493827155, + "loss": 0.7777, + "step": 745 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026296296296296294, + "loss": 0.7431, + "step": 750 + }, + { + "epoch": 0.3, + "learning_rate": 0.0002626543209876543, + "loss": 0.7516, + "step": 755 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026234567901234563, + "loss": 0.831, + "step": 760 + }, + { + "epoch": 0.31, + "learning_rate": 0.000262037037037037, + "loss": 0.7423, + "step": 765 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026172839506172837, + "loss": 0.7471, + "step": 770 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002614197530864197, + "loss": 0.7551, + "step": 775 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002611111111111111, + "loss": 0.7208, + "step": 780 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026080246913580245, + "loss": 0.7359, + "step": 785 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026049382716049384, + "loss": 0.7759, + "step": 790 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026018518518518513, + "loss": 0.7406, + "step": 795 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002598765432098765, + "loss": 0.756, + "step": 800 + }, + { + "epoch": 0.32, + "learning_rate": 0.00025956790123456787, + "loss": 0.7631, + "step": 805 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002592592592592592, + "loss": 0.7885, + "step": 810 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002589506172839506, + "loss": 0.7947, + "step": 815 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025864197530864195, + "loss": 0.7557, + "step": 820 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025833333333333334, + "loss": 0.7556, + "step": 825 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002580246913580247, + "loss": 0.7472, + "step": 830 + }, + { + "epoch": 0.33, + "learning_rate": 0.000257716049382716, + "loss": 0.729, + "step": 835 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002574074074074074, + "loss": 0.7523, + "step": 840 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002570987654320987, + "loss": 0.7505, + "step": 845 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002567901234567901, + "loss": 0.7617, + "step": 850 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025648148148148145, + "loss": 0.7898, + "step": 855 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025617283950617284, + "loss": 0.7575, + "step": 860 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002558641975308642, + "loss": 0.8316, + "step": 865 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025555555555555553, + "loss": 0.7261, + "step": 870 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002552469135802469, + "loss": 0.7594, + "step": 875 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025493827160493826, + "loss": 0.7372, + "step": 880 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002546296296296296, + "loss": 0.7498, + "step": 885 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025432098765432095, + "loss": 0.7398, + "step": 890 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002540123456790123, + "loss": 0.804, + "step": 895 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002537037037037037, + "loss": 0.7241, + "step": 900 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025339506172839503, + "loss": 0.7519, + "step": 905 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002530864197530864, + "loss": 0.7694, + "step": 910 + }, + { + "epoch": 0.37, + "learning_rate": 0.00025277777777777777, + "loss": 0.7474, + "step": 915 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002524691358024691, + "loss": 0.7278, + "step": 920 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002521604938271605, + "loss": 0.7747, + "step": 925 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002518518518518518, + "loss": 0.7858, + "step": 930 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002515432098765432, + "loss": 0.7442, + "step": 935 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025123456790123453, + "loss": 0.7446, + "step": 940 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002509259259259259, + "loss": 0.7843, + "step": 945 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025061728395061727, + "loss": 0.7512, + "step": 950 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002503086419753086, + "loss": 0.7616, + "step": 955 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025, + "loss": 0.826, + "step": 960 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024969135802469135, + "loss": 0.7567, + "step": 965 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002493827160493827, + "loss": 0.7754, + "step": 970 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002490740740740741, + "loss": 0.7605, + "step": 975 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024876543209876537, + "loss": 0.7728, + "step": 980 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024845679012345677, + "loss": 0.7902, + "step": 985 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002481481481481481, + "loss": 0.7622, + "step": 990 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002478395061728395, + "loss": 0.745, + "step": 995 + }, + { + "epoch": 0.4, + "learning_rate": 0.00024753086419753085, + "loss": 0.7529, + "step": 1000 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002472222222222222, + "loss": 0.759, + "step": 1005 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002469135802469136, + "loss": 0.7471, + "step": 1010 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024660493827160493, + "loss": 0.7517, + "step": 1015 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024629629629629627, + "loss": 0.7634, + "step": 1020 + }, + { + "epoch": 0.41, + "learning_rate": 0.0002459876543209876, + "loss": 0.7833, + "step": 1025 + }, + { + "epoch": 0.41, + "learning_rate": 0.000245679012345679, + "loss": 0.7227, + "step": 1030 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024537037037037035, + "loss": 0.7792, + "step": 1035 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002450617283950617, + "loss": 0.7292, + "step": 1040 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002447530864197531, + "loss": 0.7519, + "step": 1045 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024444444444444443, + "loss": 0.7385, + "step": 1050 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024413580246913577, + "loss": 0.7842, + "step": 1055 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024382716049382714, + "loss": 0.796, + "step": 1060 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002435185185185185, + "loss": 0.7479, + "step": 1065 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024320987654320985, + "loss": 0.7531, + "step": 1070 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024290123456790122, + "loss": 0.731, + "step": 1075 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002425925925925926, + "loss": 0.7319, + "step": 1080 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024228395061728393, + "loss": 0.7381, + "step": 1085 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024197530864197527, + "loss": 0.7621, + "step": 1090 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024166666666666664, + "loss": 0.771, + "step": 1095 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024135802469135798, + "loss": 0.7493, + "step": 1100 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024104938271604935, + "loss": 0.7553, + "step": 1105 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024074074074074072, + "loss": 0.7862, + "step": 1110 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002404320987654321, + "loss": 0.7531, + "step": 1115 + }, + { + "epoch": 0.45, + "learning_rate": 0.00024012345679012343, + "loss": 0.7688, + "step": 1120 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002398148148148148, + "loss": 0.7666, + "step": 1125 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023950617283950617, + "loss": 0.7484, + "step": 1130 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023919753086419748, + "loss": 0.8048, + "step": 1135 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023888888888888885, + "loss": 0.757, + "step": 1140 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023858024691358022, + "loss": 0.7838, + "step": 1145 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002382716049382716, + "loss": 0.7834, + "step": 1150 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023796296296296293, + "loss": 0.733, + "step": 1155 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002376543209876543, + "loss": 0.7195, + "step": 1160 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023734567901234567, + "loss": 0.7478, + "step": 1165 + }, + { + "epoch": 0.47, + "learning_rate": 0.000237037037037037, + "loss": 0.7456, + "step": 1170 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023672839506172838, + "loss": 0.722, + "step": 1175 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023641975308641975, + "loss": 0.7395, + "step": 1180 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023611111111111112, + "loss": 0.7553, + "step": 1185 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023580246913580243, + "loss": 0.7692, + "step": 1190 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002354938271604938, + "loss": 0.7396, + "step": 1195 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023518518518518517, + "loss": 0.7214, + "step": 1200 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002348765432098765, + "loss": 0.7359, + "step": 1205 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023456790123456788, + "loss": 0.7666, + "step": 1210 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023425925925925925, + "loss": 0.7583, + "step": 1215 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002339506172839506, + "loss": 0.7715, + "step": 1220 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023364197530864196, + "loss": 0.7423, + "step": 1225 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002333333333333333, + "loss": 0.7598, + "step": 1230 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023302469135802467, + "loss": 0.7251, + "step": 1235 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023271604938271601, + "loss": 0.7447, + "step": 1240 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023240740740740738, + "loss": 0.7923, + "step": 1245 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023209876543209875, + "loss": 0.7161, + "step": 1250 + }, + { + "epoch": 0.5, + "learning_rate": 0.0002317901234567901, + "loss": 0.7291, + "step": 1255 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023148148148148146, + "loss": 0.7366, + "step": 1260 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023117283950617283, + "loss": 0.7173, + "step": 1265 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002308641975308642, + "loss": 0.7575, + "step": 1270 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023055555555555552, + "loss": 0.7632, + "step": 1275 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023024691358024688, + "loss": 0.7601, + "step": 1280 + }, + { + "epoch": 0.51, + "learning_rate": 0.00022993827160493825, + "loss": 0.7395, + "step": 1285 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002296296296296296, + "loss": 0.7686, + "step": 1290 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022932098765432096, + "loss": 0.7531, + "step": 1295 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022901234567901233, + "loss": 0.7675, + "step": 1300 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002287037037037037, + "loss": 0.8103, + "step": 1305 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022839506172839504, + "loss": 0.773, + "step": 1310 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002280864197530864, + "loss": 0.7549, + "step": 1315 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022777777777777778, + "loss": 0.7547, + "step": 1320 + }, + { + "epoch": 0.53, + "learning_rate": 0.0002274691358024691, + "loss": 0.758, + "step": 1325 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022716049382716047, + "loss": 0.77, + "step": 1330 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022685185185185183, + "loss": 0.7662, + "step": 1335 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022654320987654318, + "loss": 0.744, + "step": 1340 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022623456790123455, + "loss": 0.7486, + "step": 1345 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022592592592592591, + "loss": 0.7473, + "step": 1350 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022561728395061728, + "loss": 0.7486, + "step": 1355 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022530864197530862, + "loss": 0.7205, + "step": 1360 + }, + { + "epoch": 0.54, + "learning_rate": 0.000225, + "loss": 0.7289, + "step": 1365 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022469135802469134, + "loss": 0.7586, + "step": 1370 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022438271604938268, + "loss": 0.7175, + "step": 1375 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022407407407407405, + "loss": 0.6961, + "step": 1380 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022376543209876542, + "loss": 0.7242, + "step": 1385 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022345679012345678, + "loss": 0.7515, + "step": 1390 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022314814814814813, + "loss": 0.7522, + "step": 1395 + }, + { + "epoch": 0.56, + "learning_rate": 0.0002228395061728395, + "loss": 0.7651, + "step": 1400 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022253086419753086, + "loss": 0.6958, + "step": 1405 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022222222222222218, + "loss": 0.7336, + "step": 1410 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022191358024691355, + "loss": 0.7636, + "step": 1415 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022160493827160492, + "loss": 0.7583, + "step": 1420 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022129629629629626, + "loss": 0.7605, + "step": 1425 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022098765432098763, + "loss": 0.7109, + "step": 1430 + }, + { + "epoch": 0.57, + "learning_rate": 0.000220679012345679, + "loss": 0.7224, + "step": 1435 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022037037037037037, + "loss": 0.7724, + "step": 1440 + }, + { + "epoch": 0.58, + "learning_rate": 0.0002200617283950617, + "loss": 0.7637, + "step": 1445 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021975308641975308, + "loss": 0.7302, + "step": 1450 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021944444444444444, + "loss": 0.7685, + "step": 1455 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021913580246913576, + "loss": 0.751, + "step": 1460 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021882716049382713, + "loss": 0.7768, + "step": 1465 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002185185185185185, + "loss": 0.7461, + "step": 1470 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021820987654320987, + "loss": 0.7782, + "step": 1475 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002179012345679012, + "loss": 0.7474, + "step": 1480 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021759259259259258, + "loss": 0.7475, + "step": 1485 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021728395061728395, + "loss": 0.7539, + "step": 1490 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002169753086419753, + "loss": 0.7476, + "step": 1495 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021666666666666666, + "loss": 0.7382, + "step": 1500 + }, + { + "epoch": 0.6, + "learning_rate": 0.000216358024691358, + "loss": 0.7305, + "step": 1505 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021604938271604937, + "loss": 0.7455, + "step": 1510 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002157407407407407, + "loss": 0.7286, + "step": 1515 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021543209876543208, + "loss": 0.7653, + "step": 1520 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021512345679012345, + "loss": 0.7443, + "step": 1525 + }, + { + "epoch": 0.61, + "learning_rate": 0.0002148148148148148, + "loss": 0.7026, + "step": 1530 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021450617283950616, + "loss": 0.7436, + "step": 1535 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021419753086419753, + "loss": 0.7101, + "step": 1540 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021388888888888884, + "loss": 0.7484, + "step": 1545 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002135802469135802, + "loss": 0.7483, + "step": 1550 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021327160493827158, + "loss": 0.7419, + "step": 1555 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021296296296296295, + "loss": 0.7356, + "step": 1560 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002126543209876543, + "loss": 0.7716, + "step": 1565 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021234567901234566, + "loss": 0.734, + "step": 1570 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021203703703703703, + "loss": 0.7268, + "step": 1575 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021172839506172837, + "loss": 0.7133, + "step": 1580 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021141975308641974, + "loss": 0.7575, + "step": 1585 + }, + { + "epoch": 0.63, + "learning_rate": 0.0002111111111111111, + "loss": 0.7219, + "step": 1590 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021080246913580248, + "loss": 0.7394, + "step": 1595 + }, + { + "epoch": 0.64, + "learning_rate": 0.0002104938271604938, + "loss": 0.7729, + "step": 1600 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021018518518518516, + "loss": 0.757, + "step": 1605 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020987654320987653, + "loss": 0.7139, + "step": 1610 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020956790123456787, + "loss": 0.7492, + "step": 1615 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020925925925925924, + "loss": 0.7461, + "step": 1620 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002089506172839506, + "loss": 0.7276, + "step": 1625 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020864197530864198, + "loss": 0.7725, + "step": 1630 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020833333333333332, + "loss": 0.7623, + "step": 1635 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002080246913580247, + "loss": 0.7394, + "step": 1640 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020771604938271603, + "loss": 0.7387, + "step": 1645 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020740740740740737, + "loss": 0.7519, + "step": 1650 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020709876543209874, + "loss": 0.7625, + "step": 1655 + }, + { + "epoch": 0.66, + "learning_rate": 0.0002067901234567901, + "loss": 0.7254, + "step": 1660 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020648148148148145, + "loss": 0.7129, + "step": 1665 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020617283950617282, + "loss": 0.7964, + "step": 1670 + }, + { + "epoch": 0.67, + "learning_rate": 0.0002058641975308642, + "loss": 0.7332, + "step": 1675 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020555555555555556, + "loss": 0.7955, + "step": 1680 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020524691358024687, + "loss": 0.7544, + "step": 1685 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020493827160493824, + "loss": 0.7115, + "step": 1690 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002046296296296296, + "loss": 0.7434, + "step": 1695 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020432098765432095, + "loss": 0.7382, + "step": 1700 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020401234567901232, + "loss": 0.7452, + "step": 1705 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002037037037037037, + "loss": 0.7551, + "step": 1710 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020339506172839506, + "loss": 0.7202, + "step": 1715 + }, + { + "epoch": 0.69, + "learning_rate": 0.0002030864197530864, + "loss": 0.735, + "step": 1720 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020277777777777777, + "loss": 0.7581, + "step": 1725 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020246913580246914, + "loss": 0.7527, + "step": 1730 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020216049382716045, + "loss": 0.7498, + "step": 1735 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020185185185185182, + "loss": 0.735, + "step": 1740 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002015432098765432, + "loss": 0.7286, + "step": 1745 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020123456790123456, + "loss": 0.6891, + "step": 1750 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002009259259259259, + "loss": 0.7353, + "step": 1755 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020061728395061727, + "loss": 0.7386, + "step": 1760 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020030864197530864, + "loss": 0.7106, + "step": 1765 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019999999999999998, + "loss": 0.7207, + "step": 1770 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019969135802469135, + "loss": 0.7576, + "step": 1775 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019938271604938272, + "loss": 0.7462, + "step": 1780 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019907407407407404, + "loss": 0.7068, + "step": 1785 + }, + { + "epoch": 0.71, + "learning_rate": 0.0001987654320987654, + "loss": 0.7525, + "step": 1790 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019845679012345677, + "loss": 0.7291, + "step": 1795 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019814814814814814, + "loss": 0.7226, + "step": 1800 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019783950617283948, + "loss": 0.7445, + "step": 1805 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019753086419753085, + "loss": 0.7571, + "step": 1810 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019722222222222222, + "loss": 0.7306, + "step": 1815 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019691358024691354, + "loss": 0.7785, + "step": 1820 + }, + { + "epoch": 0.73, + "learning_rate": 0.0001966049382716049, + "loss": 0.7537, + "step": 1825 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019629629629629627, + "loss": 0.7549, + "step": 1830 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019598765432098764, + "loss": 0.732, + "step": 1835 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019567901234567898, + "loss": 0.7159, + "step": 1840 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019537037037037035, + "loss": 0.7549, + "step": 1845 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019506172839506172, + "loss": 0.7581, + "step": 1850 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019475308641975306, + "loss": 0.7559, + "step": 1855 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019444444444444443, + "loss": 0.7626, + "step": 1860 + }, + { + "epoch": 0.74, + "learning_rate": 0.0001941358024691358, + "loss": 0.7423, + "step": 1865 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019382716049382712, + "loss": 0.7672, + "step": 1870 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019351851851851849, + "loss": 0.7794, + "step": 1875 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019320987654320985, + "loss": 0.7428, + "step": 1880 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019290123456790122, + "loss": 0.7462, + "step": 1885 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019259259259259257, + "loss": 0.702, + "step": 1890 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019228395061728393, + "loss": 0.7626, + "step": 1895 + }, + { + "epoch": 0.76, + "learning_rate": 0.0001919753086419753, + "loss": 0.7357, + "step": 1900 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019166666666666665, + "loss": 0.7408, + "step": 1905 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019135802469135801, + "loss": 0.707, + "step": 1910 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019104938271604938, + "loss": 0.726, + "step": 1915 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019074074074074073, + "loss": 0.7396, + "step": 1920 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019043209876543207, + "loss": 0.7676, + "step": 1925 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019012345679012344, + "loss": 0.7335, + "step": 1930 + }, + { + "epoch": 0.77, + "learning_rate": 0.0001898148148148148, + "loss": 0.7235, + "step": 1935 + }, + { + "epoch": 0.77, + "learning_rate": 0.00018950617283950615, + "loss": 0.7297, + "step": 1940 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018919753086419752, + "loss": 0.7079, + "step": 1945 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018888888888888888, + "loss": 0.7629, + "step": 1950 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018858024691358025, + "loss": 0.7131, + "step": 1955 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018827160493827157, + "loss": 0.7517, + "step": 1960 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018796296296296294, + "loss": 0.7292, + "step": 1965 + }, + { + "epoch": 0.79, + "learning_rate": 0.0001876543209876543, + "loss": 0.7137, + "step": 1970 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018734567901234565, + "loss": 0.725, + "step": 1975 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018703703703703702, + "loss": 0.7444, + "step": 1980 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018672839506172839, + "loss": 0.7366, + "step": 1985 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018641975308641973, + "loss": 0.7329, + "step": 1990 + }, + { + "epoch": 0.8, + "learning_rate": 0.0001861111111111111, + "loss": 0.7037, + "step": 1995 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018580246913580247, + "loss": 0.7186, + "step": 2000 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018549382716049383, + "loss": 0.7322, + "step": 2005 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018518518518518515, + "loss": 0.7639, + "step": 2010 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018487654320987652, + "loss": 0.7426, + "step": 2015 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001845679012345679, + "loss": 0.7648, + "step": 2020 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018425925925925923, + "loss": 0.714, + "step": 2025 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001839506172839506, + "loss": 0.7091, + "step": 2030 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018364197530864197, + "loss": 0.7222, + "step": 2035 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018333333333333334, + "loss": 0.7491, + "step": 2040 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018302469135802468, + "loss": 0.7659, + "step": 2045 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018271604938271605, + "loss": 0.727, + "step": 2050 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018240740740740742, + "loss": 0.7416, + "step": 2055 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018209876543209873, + "loss": 0.697, + "step": 2060 + }, + { + "epoch": 0.82, + "learning_rate": 0.0001817901234567901, + "loss": 0.7408, + "step": 2065 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018148148148148147, + "loss": 0.7144, + "step": 2070 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018117283950617284, + "loss": 0.7745, + "step": 2075 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018086419753086418, + "loss": 0.7362, + "step": 2080 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018055555555555555, + "loss": 0.7378, + "step": 2085 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018024691358024692, + "loss": 0.7227, + "step": 2090 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017993827160493826, + "loss": 0.7408, + "step": 2095 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001796296296296296, + "loss": 0.7178, + "step": 2100 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017932098765432097, + "loss": 0.7401, + "step": 2105 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001790123456790123, + "loss": 0.7484, + "step": 2110 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017870370370370368, + "loss": 0.7271, + "step": 2115 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017839506172839505, + "loss": 0.7897, + "step": 2120 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017808641975308642, + "loss": 0.7374, + "step": 2125 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017777777777777776, + "loss": 0.7314, + "step": 2130 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017746913580246913, + "loss": 0.7338, + "step": 2135 + }, + { + "epoch": 0.85, + "learning_rate": 0.0001771604938271605, + "loss": 0.7536, + "step": 2140 + }, + { + "epoch": 0.86, + "learning_rate": 0.0001768518518518518, + "loss": 0.7501, + "step": 2145 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017654320987654318, + "loss": 0.7263, + "step": 2150 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017623456790123455, + "loss": 0.7468, + "step": 2155 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017592592592592592, + "loss": 0.7097, + "step": 2160 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017561728395061726, + "loss": 0.7261, + "step": 2165 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017530864197530863, + "loss": 0.7489, + "step": 2170 + }, + { + "epoch": 0.87, + "learning_rate": 0.000175, + "loss": 0.7149, + "step": 2175 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017469135802469134, + "loss": 0.7239, + "step": 2180 + }, + { + "epoch": 0.87, + "learning_rate": 0.0001743827160493827, + "loss": 0.7249, + "step": 2185 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017407407407407408, + "loss": 0.7506, + "step": 2190 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001737654320987654, + "loss": 0.7594, + "step": 2195 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017345679012345676, + "loss": 0.7412, + "step": 2200 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017314814814814813, + "loss": 0.7219, + "step": 2205 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001728395061728395, + "loss": 0.7655, + "step": 2210 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017253086419753084, + "loss": 0.735, + "step": 2215 + }, + { + "epoch": 0.89, + "learning_rate": 0.0001722222222222222, + "loss": 0.7214, + "step": 2220 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017191358024691358, + "loss": 0.7179, + "step": 2225 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017160493827160492, + "loss": 0.7208, + "step": 2230 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017129629629629626, + "loss": 0.7445, + "step": 2235 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017098765432098763, + "loss": 0.7, + "step": 2240 + }, + { + "epoch": 0.9, + "learning_rate": 0.000170679012345679, + "loss": 0.7571, + "step": 2245 + }, + { + "epoch": 0.9, + "learning_rate": 0.00017037037037037034, + "loss": 0.7076, + "step": 2250 + }, + { + "epoch": 0.9, + "learning_rate": 0.0001700617283950617, + "loss": 0.7027, + "step": 2255 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016975308641975308, + "loss": 0.7408, + "step": 2260 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016944444444444442, + "loss": 0.7095, + "step": 2265 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001691358024691358, + "loss": 0.7314, + "step": 2270 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016882716049382716, + "loss": 0.714, + "step": 2275 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016851851851851853, + "loss": 0.7442, + "step": 2280 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016820987654320984, + "loss": 0.7144, + "step": 2285 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001679012345679012, + "loss": 0.7252, + "step": 2290 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016759259259259258, + "loss": 0.7118, + "step": 2295 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016728395061728392, + "loss": 0.7444, + "step": 2300 + }, + { + "epoch": 0.92, + "learning_rate": 0.0001669753086419753, + "loss": 0.732, + "step": 2305 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016666666666666666, + "loss": 0.7394, + "step": 2310 + }, + { + "epoch": 0.92, + "learning_rate": 0.000166358024691358, + "loss": 0.7573, + "step": 2315 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016604938271604937, + "loss": 0.7543, + "step": 2320 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016574074074074074, + "loss": 0.7709, + "step": 2325 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001654320987654321, + "loss": 0.7372, + "step": 2330 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016512345679012342, + "loss": 0.7222, + "step": 2335 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001648148148148148, + "loss": 0.7505, + "step": 2340 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016450617283950616, + "loss": 0.7364, + "step": 2345 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001641975308641975, + "loss": 0.7001, + "step": 2350 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016388888888888887, + "loss": 0.7203, + "step": 2355 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016358024691358024, + "loss": 0.6906, + "step": 2360 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001632716049382716, + "loss": 0.7557, + "step": 2365 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016296296296296295, + "loss": 0.7261, + "step": 2370 + }, + { + "epoch": 0.95, + "learning_rate": 0.0001626543209876543, + "loss": 0.7182, + "step": 2375 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016234567901234566, + "loss": 0.7557, + "step": 2380 + }, + { + "epoch": 0.95, + "learning_rate": 0.000162037037037037, + "loss": 0.7251, + "step": 2385 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016172839506172837, + "loss": 0.7551, + "step": 2390 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016141975308641974, + "loss": 0.6976, + "step": 2395 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001611111111111111, + "loss": 0.7336, + "step": 2400 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016080246913580245, + "loss": 0.7023, + "step": 2405 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016049382716049382, + "loss": 0.7315, + "step": 2410 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001601851851851852, + "loss": 0.7092, + "step": 2415 + }, + { + "epoch": 0.97, + "learning_rate": 0.0001598765432098765, + "loss": 0.7381, + "step": 2420 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015956790123456788, + "loss": 0.7687, + "step": 2425 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015925925925925924, + "loss": 0.7447, + "step": 2430 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015895061728395059, + "loss": 0.7476, + "step": 2435 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015864197530864196, + "loss": 0.7436, + "step": 2440 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015833333333333332, + "loss": 0.7188, + "step": 2445 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001580246913580247, + "loss": 0.7284, + "step": 2450 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015771604938271603, + "loss": 0.739, + "step": 2455 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001574074074074074, + "loss": 0.7108, + "step": 2460 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015709876543209877, + "loss": 0.7101, + "step": 2465 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001567901234567901, + "loss": 0.7433, + "step": 2470 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015648148148148146, + "loss": 0.7009, + "step": 2475 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015617283950617283, + "loss": 0.7046, + "step": 2480 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001558641975308642, + "loss": 0.7267, + "step": 2485 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015555555555555554, + "loss": 0.7253, + "step": 2490 + }, + { + "epoch": 1.0, + "learning_rate": 0.0001552469135802469, + "loss": 0.6932, + "step": 2495 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015493827160493827, + "loss": 0.7542, + "step": 2500 + } + ], + "logging_steps": 5, + "max_steps": 5010, + "num_input_tokens_seen": 0, + "num_train_epochs": 2, + "save_steps": 500, + "total_flos": 1.006726589213311e+19, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/training_args.bin b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..76b046c47941a0df0a1cf17415d227f3e8416d3b --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc4247ac8c6f92ef49080d32b2520dd809daff76a4805fdafb6e454ee1c5cc3 +size 5944 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/zero_to_fp32.py b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/zero_to_fp32.py new file mode 100644 index 0000000000000000000000000000000000000000..c98caae31534368be22b67fc4ae906836c992a8d --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-2500/zero_to_fp32.py @@ -0,0 +1,587 @@ +#!/usr/bin/env python + +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: Apache-2.0 + +# DeepSpeed Team + +# This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets +# copied into the top level checkpoint dir, so the user can easily do the conversion at any point in +# the future. Once extracted, the weights don't require DeepSpeed and can be used in any +# application. +# +# example: python zero_to_fp32.py . pytorch_model.bin + +import argparse +import torch +import glob +import math +import os +import re +from collections import OrderedDict +from dataclasses import dataclass + +# while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with +# DeepSpeed data structures it has to be available in the current python environment. +from deepspeed.utils import logger +from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS, + FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES, + FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS) + + +@dataclass +class zero_model_state: + buffers: dict() + param_shapes: dict() + shared_params: list + ds_version: int + frozen_param_shapes: dict() + frozen_param_fragments: dict() + + +debug = 0 + +# load to cpu +device = torch.device('cpu') + + +def atoi(text): + return int(text) if text.isdigit() else text + + +def natural_keys(text): + ''' + alist.sort(key=natural_keys) sorts in human order + http://nedbatchelder.com/blog/200712/human_sorting.html + (See Toothy's implementation in the comments) + ''' + return [atoi(c) for c in re.split(r'(\d+)', text)] + + +def get_model_state_file(checkpoint_dir, zero_stage): + if not os.path.isdir(checkpoint_dir): + raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist") + + # there should be only one file + if zero_stage <= 2: + file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt") + elif zero_stage == 3: + file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt") + + if not os.path.exists(file): + raise FileNotFoundError(f"can't find model states file at '{file}'") + + return file + + +def get_checkpoint_files(checkpoint_dir, glob_pattern): + # XXX: need to test that this simple glob rule works for multi-node setup too + ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys) + + if len(ckpt_files) == 0: + raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'") + + return ckpt_files + + +def get_optim_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt") + + +def get_model_state_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_model_states.pt") + + +def parse_model_states(files): + zero_model_states = [] + for file in files: + state_dict = torch.load(file, map_location=device) + + if BUFFER_NAMES not in state_dict: + raise ValueError(f"{file} is not a model state checkpoint") + buffer_names = state_dict[BUFFER_NAMES] + if debug: + print("Found buffers:", buffer_names) + + # recover just the buffers while restoring them to fp32 if they were saved in fp16 + buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names} + param_shapes = state_dict[PARAM_SHAPES] + + # collect parameters that are included in param_shapes + param_names = [] + for s in param_shapes: + for name in s.keys(): + param_names.append(name) + + # update with frozen parameters + frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None) + if frozen_param_shapes is not None: + if debug: + print(f"Found frozen_param_shapes: {frozen_param_shapes}") + param_names += list(frozen_param_shapes.keys()) + + # handle shared params + shared_params = [[k, v] for k, v in state_dict["shared_params"].items()] + + ds_version = state_dict.get(DS_VERSION, None) + + frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None) + + z_model_state = zero_model_state(buffers=buffers, + param_shapes=param_shapes, + shared_params=shared_params, + ds_version=ds_version, + frozen_param_shapes=frozen_param_shapes, + frozen_param_fragments=frozen_param_fragments) + zero_model_states.append(z_model_state) + + return zero_model_states + + +def parse_optim_states(files, ds_checkpoint_dir): + + total_files = len(files) + state_dicts = [] + for f in files: + state_dict = torch.load(f, map_location=device) + # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights + # and also handle the case where it was already removed by another helper script + state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None) + state_dicts.append(state_dict) + + if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]: + raise ValueError(f"{files[0]} is not a zero checkpoint") + zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE] + world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT] + + # For ZeRO-2 each param group can have different partition_count as data parallelism for expert + # parameters can be different from data parallelism for non-expert parameters. So we can just + # use the max of the partition_count to get the dp world_size. + + if type(world_size) is list: + world_size = max(world_size) + + if world_size != total_files: + raise ValueError( + f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. " + "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes." + ) + + # the groups are named differently in each stage + if zero_stage <= 2: + fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS + elif zero_stage == 3: + fp32_groups_key = FP32_FLAT_GROUPS + else: + raise ValueError(f"unknown zero stage {zero_stage}") + + if zero_stage <= 2: + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))] + elif zero_stage == 3: + # if there is more than one param group, there will be multiple flattened tensors - one + # flattened tensor per group - for simplicity merge them into a single tensor + # + # XXX: could make the script more memory efficient for when there are multiple groups - it + # will require matching the sub-lists of param_shapes for each param group flattened tensor + + fp32_flat_groups = [ + torch.cat(state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key], 0) for i in range(len(state_dicts)) + ] + + return zero_stage, world_size, fp32_flat_groups + + +def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir): + """ + Returns fp32 state_dict reconstructed from ds checkpoint + + Args: + - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are) + + """ + print(f"Processing zero checkpoint '{ds_checkpoint_dir}'") + + optim_files = get_optim_files(ds_checkpoint_dir) + zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir) + print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}") + + model_files = get_model_state_files(ds_checkpoint_dir) + + zero_model_states = parse_model_states(model_files) + print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}') + + if zero_stage <= 2: + return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states) + + +def _zero2_merge_frozen_params(state_dict, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + frozen_param_fragments = zero_model_states[0].frozen_param_fragments + + if debug: + num_elem = sum(s.numel() for s in frozen_param_shapes.values()) + print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in frozen_param_fragments.values()]) + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + state_dict[name] = frozen_param_fragments[name] + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + + # Reconstruction protocol: + # + # XXX: document this + + if debug: + for i in range(world_size): + for j in range(len(fp32_flat_groups[0])): + print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}") + + # XXX: memory usage doubles here (zero2) + num_param_groups = len(fp32_flat_groups[0]) + merged_single_partition_of_fp32_groups = [] + for i in range(num_param_groups): + merged_partitions = [sd[i] for sd in fp32_flat_groups] + full_single_fp32_vector = torch.cat(merged_partitions, 0) + merged_single_partition_of_fp32_groups.append(full_single_fp32_vector) + avail_numel = sum( + [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups]) + + if debug: + wanted_params = sum([len(shapes) for shapes in param_shapes]) + wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes]) + # not asserting if there is a mismatch due to possible padding + print(f"Have {avail_numel} numels to process.") + print(f"Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + total_numel = 0 + total_params = 0 + for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups): + offset = 0 + avail_numel = full_single_fp32_vector.numel() + for name, shape in shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape) + offset += unpartitioned_numel + + # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and + # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex + # paddings performed in the code it's almost impossible to predict the exact numbers w/o the + # live optimizer object, so we are checking that the numbers are within the right range + align_to = 2 * world_size + + def zero2_align(x): + return align_to * math.ceil(x / align_to) + + if debug: + print(f"original offset={offset}, avail_numel={avail_numel}") + + offset = zero2_align(offset) + avail_numel = zero2_align(avail_numel) + + if debug: + print(f"aligned offset={offset}, avail_numel={avail_numel}") + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero2_merge_frozen_params(state_dict, zero_model_states) + + _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def zero3_partitioned_param_info(unpartitioned_numel, world_size): + remainder = unpartitioned_numel % world_size + padding_numel = (world_size - remainder) if remainder else 0 + partitioned_numel = math.ceil(unpartitioned_numel / world_size) + return partitioned_numel, padding_numel + + +def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + if debug: + for i in range(world_size): + num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values()) + print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in zero_model_states[0].frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states) + state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape) + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + avail_numel = fp32_flat_groups[0].numel() * world_size + # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each + # param, re-consolidating each param, while dealing with padding if any + + # merge list of dicts, preserving order + param_shapes = {k: v for d in param_shapes for k, v in d.items()} + + if debug: + for i in range(world_size): + print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}") + + wanted_params = len(param_shapes) + wanted_numel = sum(shape.numel() for shape in param_shapes.values()) + # not asserting if there is a mismatch due to possible padding + avail_numel = fp32_flat_groups[0].numel() * world_size + print(f"Trainable params: Have {avail_numel} numels to process.") + print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + offset = 0 + total_numel = 0 + total_params = 0 + for name, shape in param_shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + # XXX: memory usage doubles here + state_dict[name] = torch.cat( + tuple(fp32_flat_groups[i].narrow(0, offset, partitioned_numel) for i in range(world_size)), + 0).narrow(0, 0, unpartitioned_numel).view(shape) + offset += partitioned_numel + + offset *= world_size + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero3_merge_frozen_params(state_dict, world_size, zero_model_states) + + _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with + ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example + via a model hub. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder + - ``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`` + + Returns: + - pytorch ``state_dict`` + + Note: this approach may not work if your application doesn't have sufficient free CPU memory and + you may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + # do the training and checkpoint saving + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu + model = model.cpu() # move to cpu + model.load_state_dict(state_dict) + # submit to model hub or save the model to share with others + + In this example the ``model`` will no longer be usable in the deepspeed context of the same + application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead. + + """ + if tag is None: + latest_path = os.path.join(checkpoint_dir, 'latest') + if os.path.isfile(latest_path): + with open(latest_path, 'r') as fd: + tag = fd.read().strip() + else: + raise ValueError(f"Unable to find 'latest' file at {latest_path}") + + ds_checkpoint_dir = os.path.join(checkpoint_dir, tag) + + if not os.path.isdir(ds_checkpoint_dir): + raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist") + + return _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, output_file, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be + loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``output_file``: path to the pytorch fp32 state_dict output file (e.g. path/pytorch_model.bin) + - ``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`` + """ + + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + print(f"Saving fp32 state dict to {output_file}") + torch.save(state_dict, output_file) + + +def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None): + """ + 1. Put the provided model to cpu + 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` + 3. Load it into the provided model + + Args: + - ``model``: the model object to update + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``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`` + + Returns: + - ``model`: modified model + + Make sure you have plenty of CPU memory available before you call this function. If you don't + have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it + conveniently placed for you in the checkpoint folder. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint + model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir) + # submit to model hub or save the model to share with others + + Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context + of the same application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + """ + logger.info(f"Extracting fp32 weights") + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + + logger.info(f"Overwriting model with fp32 weights") + model = model.cpu() + model.load_state_dict(state_dict, strict=False) + + return model + + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument("checkpoint_dir", + type=str, + help="path to the desired checkpoint folder, e.g., path/checkpoint-12") + parser.add_argument( + "output_file", + type=str, + help="path to the pytorch fp32 state_dict output file (e.g. path/checkpoint-12/pytorch_model.bin)") + parser.add_argument("-t", + "--tag", + type=str, + default=None, + help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1") + parser.add_argument("-d", "--debug", action='store_true', help="enable debug") + args = parser.parse_args() + + debug = args.debug + + convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir, args.output_file, tag=args.tag) diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/README.md b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2aa897f8fa13b49ce76b1fa188781e5f726e7d13 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/README.md @@ -0,0 +1,202 @@ +--- +base_model: meta-llama/Llama-2-7b-hf +library_name: peft +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.9.0 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/adapter_config.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..9c81a592f0ff08374a4f61f6003029070a8429ae --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/adapter_config.json @@ -0,0 +1,35 @@ +{ + "alpha_pattern": {}, + "auto_mapping": null, + "base_model_name_or_path": "meta-llama/Llama-2-7b-hf", + "bias": "none", + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 16, + "lora_dropout": 0.05, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "mora_type": 1, + "peft_type": "LORA", + "r": 8, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "k_proj", + "v_proj", + "o_proj", + "gate_proj", + "down_proj", + "up_proj" + ], + "task_type": "CAUSAL_LM", + "use_dora": false, + "use_mora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/adapter_model.safetensors b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..847f1a3c7261715cac93f524c2205faf3064b9c4 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f5f218954c06132c08fa28fca5c2433ca64ab44ea4ad93dcdb5a731c3ef1540 +size 564342240 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/global_step3000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/global_step3000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..46f4ce445ae9ea41904a08ae9e898243a516ec70 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/global_step3000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4955e83581d97509825145193cd93905e5781d8087d55be39f378ddd0517ca1 +size 239914224 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/global_step3000/mp_rank_00_model_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/global_step3000/mp_rank_00_model_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..d8cfd16e79cd038536a8330611afc41ea3ec55e0 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/global_step3000/mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec57ac2158f753326591fe3943d0879036cd7ab5b43c5558d416434ec9080229 +size 40303404 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/latest b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/latest new file mode 100644 index 0000000000000000000000000000000000000000..1d7ba373feda3875a77d01589035020625a7c98e --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/latest @@ -0,0 +1 @@ +global_step3000 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/rng_state.pth b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..f1f38b432152408d45b0c895c52796e871121939 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:602ff114cd2710380875f9cf15b09f6fc6a211d90bdfc8416e511f12377a1bd9 +size 14244 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/scheduler.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..a8403033e7db495db969ffd55942c90e7dfb0586 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61a768c931ed1c4d8a2f34684c8f3d70a05baa14bed2ec907bcb93ae3650dbaf +size 1064 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/trainer_state.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..1169b38bad37dcabacb81238c98fe5194e02470c --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/trainer_state.json @@ -0,0 +1,3621 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 1.197492749555618, + "eval_steps": 500, + "global_step": 3000, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.0, + "learning_rate": 9.999999999999999e-06, + "loss": 1.38, + "step": 5 + }, + { + "epoch": 0.0, + "learning_rate": 1.9999999999999998e-05, + "loss": 1.3936, + "step": 10 + }, + { + "epoch": 0.01, + "learning_rate": 2.9999999999999997e-05, + "loss": 1.3006, + "step": 15 + }, + { + "epoch": 0.01, + "learning_rate": 3.9999999999999996e-05, + "loss": 1.2594, + "step": 20 + }, + { + "epoch": 0.01, + "learning_rate": 4.9999999999999996e-05, + "loss": 1.1177, + "step": 25 + }, + { + "epoch": 0.01, + "learning_rate": 5.9999999999999995e-05, + "loss": 1.0481, + "step": 30 + }, + { + "epoch": 0.01, + "learning_rate": 7e-05, + "loss": 1.0601, + "step": 35 + }, + { + "epoch": 0.02, + "learning_rate": 7.999999999999999e-05, + "loss": 1.0473, + "step": 40 + }, + { + "epoch": 0.02, + "learning_rate": 8.999999999999999e-05, + "loss": 0.9523, + "step": 45 + }, + { + "epoch": 0.02, + "learning_rate": 9.999999999999999e-05, + "loss": 0.9451, + "step": 50 + }, + { + "epoch": 0.02, + "learning_rate": 0.00010999999999999998, + "loss": 0.9687, + "step": 55 + }, + { + "epoch": 0.02, + "learning_rate": 0.00011999999999999999, + "loss": 0.9054, + "step": 60 + }, + { + "epoch": 0.03, + "learning_rate": 0.00013, + "loss": 0.9518, + "step": 65 + }, + { + "epoch": 0.03, + "learning_rate": 0.00014, + "loss": 0.8763, + "step": 70 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015, + "loss": 0.8657, + "step": 75 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015999999999999999, + "loss": 0.9145, + "step": 80 + }, + { + "epoch": 0.03, + "learning_rate": 0.00016999999999999999, + "loss": 0.8296, + "step": 85 + }, + { + "epoch": 0.04, + "learning_rate": 0.00017999999999999998, + "loss": 0.8709, + "step": 90 + }, + { + "epoch": 0.04, + "learning_rate": 0.00018999999999999998, + "loss": 0.8405, + "step": 95 + }, + { + "epoch": 0.04, + "learning_rate": 0.00019999999999999998, + "loss": 0.8604, + "step": 100 + }, + { + "epoch": 0.04, + "learning_rate": 0.00020999999999999998, + "loss": 0.8607, + "step": 105 + }, + { + "epoch": 0.04, + "learning_rate": 0.00021999999999999995, + "loss": 0.8376, + "step": 110 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023, + "loss": 0.8554, + "step": 115 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023999999999999998, + "loss": 0.8456, + "step": 120 + }, + { + "epoch": 0.05, + "learning_rate": 0.00025, + "loss": 0.8443, + "step": 125 + }, + { + "epoch": 0.05, + "learning_rate": 0.00026, + "loss": 0.8327, + "step": 130 + }, + { + "epoch": 0.05, + "learning_rate": 0.00027, + "loss": 0.8096, + "step": 135 + }, + { + "epoch": 0.06, + "learning_rate": 0.00028, + "loss": 0.7972, + "step": 140 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029, + "loss": 0.8306, + "step": 145 + }, + { + "epoch": 0.06, + "learning_rate": 0.0003, + "loss": 0.8409, + "step": 150 + }, + { + "epoch": 0.06, + "learning_rate": 0.0002996913580246913, + "loss": 0.8094, + "step": 155 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029938271604938266, + "loss": 0.8146, + "step": 160 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029907407407407405, + "loss": 0.8042, + "step": 165 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002987654320987654, + "loss": 0.7784, + "step": 170 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002984567901234568, + "loss": 0.828, + "step": 175 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029814814814814813, + "loss": 0.8473, + "step": 180 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002978395061728395, + "loss": 0.8354, + "step": 185 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029753086419753087, + "loss": 0.8246, + "step": 190 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029722222222222216, + "loss": 0.8249, + "step": 195 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029691358024691355, + "loss": 0.8222, + "step": 200 + }, + { + "epoch": 0.08, + "learning_rate": 0.0002966049382716049, + "loss": 0.8369, + "step": 205 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029629629629629624, + "loss": 0.7954, + "step": 210 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029598765432098763, + "loss": 0.8051, + "step": 215 + }, + { + "epoch": 0.09, + "learning_rate": 0.000295679012345679, + "loss": 0.8081, + "step": 220 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029537037037037037, + "loss": 0.7864, + "step": 225 + }, + { + "epoch": 0.09, + "learning_rate": 0.0002950617283950617, + "loss": 0.7974, + "step": 230 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029475308641975306, + "loss": 0.8306, + "step": 235 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029444444444444445, + "loss": 0.7792, + "step": 240 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029413580246913574, + "loss": 0.8108, + "step": 245 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029382716049382714, + "loss": 0.8167, + "step": 250 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002935185185185185, + "loss": 0.8358, + "step": 255 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002932098765432099, + "loss": 0.7948, + "step": 260 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002929012345679012, + "loss": 0.8078, + "step": 265 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029259259259259256, + "loss": 0.7886, + "step": 270 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029228395061728395, + "loss": 0.7903, + "step": 275 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002919753086419753, + "loss": 0.7892, + "step": 280 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029166666666666664, + "loss": 0.7717, + "step": 285 + }, + { + "epoch": 0.12, + "learning_rate": 0.000291358024691358, + "loss": 0.7774, + "step": 290 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002910493827160494, + "loss": 0.8053, + "step": 295 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002907407407407407, + "loss": 0.794, + "step": 300 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029043209876543206, + "loss": 0.7856, + "step": 305 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029012345679012345, + "loss": 0.7713, + "step": 310 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002898148148148148, + "loss": 0.7805, + "step": 315 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028950617283950614, + "loss": 0.7897, + "step": 320 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028919753086419753, + "loss": 0.7931, + "step": 325 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002888888888888888, + "loss": 0.7739, + "step": 330 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002885802469135802, + "loss": 0.7749, + "step": 335 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028827160493827156, + "loss": 0.7932, + "step": 340 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028796296296296296, + "loss": 0.7906, + "step": 345 + }, + { + "epoch": 0.14, + "learning_rate": 0.0002876543209876543, + "loss": 0.8094, + "step": 350 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028734567901234564, + "loss": 0.7932, + "step": 355 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028703703703703703, + "loss": 0.8027, + "step": 360 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002867283950617284, + "loss": 0.8297, + "step": 365 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002864197530864197, + "loss": 0.8228, + "step": 370 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002861111111111111, + "loss": 0.7997, + "step": 375 + }, + { + "epoch": 0.15, + "learning_rate": 0.00028580246913580246, + "loss": 0.8124, + "step": 380 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002854938271604938, + "loss": 0.8152, + "step": 385 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028518518518518514, + "loss": 0.7833, + "step": 390 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028487654320987654, + "loss": 0.7884, + "step": 395 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002845679012345679, + "loss": 0.753, + "step": 400 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002842592592592592, + "loss": 0.8055, + "step": 405 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002839506172839506, + "loss": 0.8014, + "step": 410 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028364197530864196, + "loss": 0.782, + "step": 415 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002833333333333333, + "loss": 0.7733, + "step": 420 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002830246913580247, + "loss": 0.7777, + "step": 425 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028271604938271604, + "loss": 0.752, + "step": 430 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002824074074074074, + "loss": 0.7963, + "step": 435 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002820987654320987, + "loss": 0.7655, + "step": 440 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002817901234567901, + "loss": 0.8, + "step": 445 + }, + { + "epoch": 0.18, + "learning_rate": 0.00028148148148148146, + "loss": 0.7465, + "step": 450 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002811728395061728, + "loss": 0.7432, + "step": 455 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002808641975308642, + "loss": 0.758, + "step": 460 + }, + { + "epoch": 0.19, + "learning_rate": 0.00028055555555555554, + "loss": 0.7757, + "step": 465 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002802469135802469, + "loss": 0.7816, + "step": 470 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002799382716049382, + "loss": 0.7744, + "step": 475 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002796296296296296, + "loss": 0.7807, + "step": 480 + }, + { + "epoch": 0.19, + "learning_rate": 0.00027932098765432096, + "loss": 0.774, + "step": 485 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002790123456790123, + "loss": 0.7361, + "step": 490 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002787037037037037, + "loss": 0.7663, + "step": 495 + }, + { + "epoch": 0.2, + "learning_rate": 0.00027839506172839504, + "loss": 0.7532, + "step": 500 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002780864197530864, + "loss": 0.7573, + "step": 505 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002777777777777778, + "loss": 0.7802, + "step": 510 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002774691358024691, + "loss": 0.7871, + "step": 515 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027716049382716046, + "loss": 0.7734, + "step": 520 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002768518518518518, + "loss": 0.7752, + "step": 525 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002765432098765432, + "loss": 0.7697, + "step": 530 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027623456790123454, + "loss": 0.7846, + "step": 535 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002759259259259259, + "loss": 0.7592, + "step": 540 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002756172839506173, + "loss": 0.7734, + "step": 545 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002753086419753086, + "loss": 0.7984, + "step": 550 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027499999999999996, + "loss": 0.7342, + "step": 555 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027469135802469136, + "loss": 0.7479, + "step": 560 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002743827160493827, + "loss": 0.819, + "step": 565 + }, + { + "epoch": 0.23, + "learning_rate": 0.00027407407407407404, + "loss": 0.7561, + "step": 570 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002737654320987654, + "loss": 0.7303, + "step": 575 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002734567901234568, + "loss": 0.8001, + "step": 580 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002731481481481481, + "loss": 0.7738, + "step": 585 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027283950617283946, + "loss": 0.7866, + "step": 590 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027253086419753086, + "loss": 0.7582, + "step": 595 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002722222222222222, + "loss": 0.7645, + "step": 600 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027191358024691354, + "loss": 0.7839, + "step": 605 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002716049382716049, + "loss": 0.7931, + "step": 610 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002712962962962963, + "loss": 0.7692, + "step": 615 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002709876543209876, + "loss": 0.7835, + "step": 620 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027067901234567896, + "loss": 0.7795, + "step": 625 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027037037037037036, + "loss": 0.7639, + "step": 630 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002700617283950617, + "loss": 0.7705, + "step": 635 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026975308641975304, + "loss": 0.7674, + "step": 640 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026944444444444444, + "loss": 0.7349, + "step": 645 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002691358024691358, + "loss": 0.8008, + "step": 650 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002688271604938271, + "loss": 0.755, + "step": 655 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026851851851851847, + "loss": 0.7526, + "step": 660 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026820987654320986, + "loss": 0.7611, + "step": 665 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002679012345679012, + "loss": 0.7621, + "step": 670 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026759259259259255, + "loss": 0.7768, + "step": 675 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026728395061728394, + "loss": 0.7703, + "step": 680 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002669753086419753, + "loss": 0.7667, + "step": 685 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002666666666666666, + "loss": 0.7712, + "step": 690 + }, + { + "epoch": 0.28, + "learning_rate": 0.000266358024691358, + "loss": 0.7269, + "step": 695 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026604938271604936, + "loss": 0.7275, + "step": 700 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002657407407407407, + "loss": 0.7786, + "step": 705 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026543209876543205, + "loss": 0.7808, + "step": 710 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026512345679012344, + "loss": 0.7455, + "step": 715 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002648148148148148, + "loss": 0.7717, + "step": 720 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002645061728395061, + "loss": 0.737, + "step": 725 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002641975308641975, + "loss": 0.7664, + "step": 730 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026388888888888886, + "loss": 0.7716, + "step": 735 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026358024691358026, + "loss": 0.7638, + "step": 740 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026327160493827155, + "loss": 0.7777, + "step": 745 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026296296296296294, + "loss": 0.7431, + "step": 750 + }, + { + "epoch": 0.3, + "learning_rate": 0.0002626543209876543, + "loss": 0.7516, + "step": 755 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026234567901234563, + "loss": 0.831, + "step": 760 + }, + { + "epoch": 0.31, + "learning_rate": 0.000262037037037037, + "loss": 0.7423, + "step": 765 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026172839506172837, + "loss": 0.7471, + "step": 770 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002614197530864197, + "loss": 0.7551, + "step": 775 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002611111111111111, + "loss": 0.7208, + "step": 780 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026080246913580245, + "loss": 0.7359, + "step": 785 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026049382716049384, + "loss": 0.7759, + "step": 790 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026018518518518513, + "loss": 0.7406, + "step": 795 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002598765432098765, + "loss": 0.756, + "step": 800 + }, + { + "epoch": 0.32, + "learning_rate": 0.00025956790123456787, + "loss": 0.7631, + "step": 805 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002592592592592592, + "loss": 0.7885, + "step": 810 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002589506172839506, + "loss": 0.7947, + "step": 815 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025864197530864195, + "loss": 0.7557, + "step": 820 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025833333333333334, + "loss": 0.7556, + "step": 825 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002580246913580247, + "loss": 0.7472, + "step": 830 + }, + { + "epoch": 0.33, + "learning_rate": 0.000257716049382716, + "loss": 0.729, + "step": 835 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002574074074074074, + "loss": 0.7523, + "step": 840 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002570987654320987, + "loss": 0.7505, + "step": 845 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002567901234567901, + "loss": 0.7617, + "step": 850 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025648148148148145, + "loss": 0.7898, + "step": 855 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025617283950617284, + "loss": 0.7575, + "step": 860 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002558641975308642, + "loss": 0.8316, + "step": 865 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025555555555555553, + "loss": 0.7261, + "step": 870 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002552469135802469, + "loss": 0.7594, + "step": 875 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025493827160493826, + "loss": 0.7372, + "step": 880 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002546296296296296, + "loss": 0.7498, + "step": 885 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025432098765432095, + "loss": 0.7398, + "step": 890 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002540123456790123, + "loss": 0.804, + "step": 895 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002537037037037037, + "loss": 0.7241, + "step": 900 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025339506172839503, + "loss": 0.7519, + "step": 905 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002530864197530864, + "loss": 0.7694, + "step": 910 + }, + { + "epoch": 0.37, + "learning_rate": 0.00025277777777777777, + "loss": 0.7474, + "step": 915 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002524691358024691, + "loss": 0.7278, + "step": 920 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002521604938271605, + "loss": 0.7747, + "step": 925 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002518518518518518, + "loss": 0.7858, + "step": 930 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002515432098765432, + "loss": 0.7442, + "step": 935 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025123456790123453, + "loss": 0.7446, + "step": 940 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002509259259259259, + "loss": 0.7843, + "step": 945 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025061728395061727, + "loss": 0.7512, + "step": 950 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002503086419753086, + "loss": 0.7616, + "step": 955 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025, + "loss": 0.826, + "step": 960 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024969135802469135, + "loss": 0.7567, + "step": 965 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002493827160493827, + "loss": 0.7754, + "step": 970 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002490740740740741, + "loss": 0.7605, + "step": 975 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024876543209876537, + "loss": 0.7728, + "step": 980 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024845679012345677, + "loss": 0.7902, + "step": 985 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002481481481481481, + "loss": 0.7622, + "step": 990 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002478395061728395, + "loss": 0.745, + "step": 995 + }, + { + "epoch": 0.4, + "learning_rate": 0.00024753086419753085, + "loss": 0.7529, + "step": 1000 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002472222222222222, + "loss": 0.759, + "step": 1005 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002469135802469136, + "loss": 0.7471, + "step": 1010 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024660493827160493, + "loss": 0.7517, + "step": 1015 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024629629629629627, + "loss": 0.7634, + "step": 1020 + }, + { + "epoch": 0.41, + "learning_rate": 0.0002459876543209876, + "loss": 0.7833, + "step": 1025 + }, + { + "epoch": 0.41, + "learning_rate": 0.000245679012345679, + "loss": 0.7227, + "step": 1030 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024537037037037035, + "loss": 0.7792, + "step": 1035 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002450617283950617, + "loss": 0.7292, + "step": 1040 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002447530864197531, + "loss": 0.7519, + "step": 1045 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024444444444444443, + "loss": 0.7385, + "step": 1050 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024413580246913577, + "loss": 0.7842, + "step": 1055 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024382716049382714, + "loss": 0.796, + "step": 1060 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002435185185185185, + "loss": 0.7479, + "step": 1065 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024320987654320985, + "loss": 0.7531, + "step": 1070 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024290123456790122, + "loss": 0.731, + "step": 1075 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002425925925925926, + "loss": 0.7319, + "step": 1080 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024228395061728393, + "loss": 0.7381, + "step": 1085 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024197530864197527, + "loss": 0.7621, + "step": 1090 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024166666666666664, + "loss": 0.771, + "step": 1095 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024135802469135798, + "loss": 0.7493, + "step": 1100 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024104938271604935, + "loss": 0.7553, + "step": 1105 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024074074074074072, + "loss": 0.7862, + "step": 1110 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002404320987654321, + "loss": 0.7531, + "step": 1115 + }, + { + "epoch": 0.45, + "learning_rate": 0.00024012345679012343, + "loss": 0.7688, + "step": 1120 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002398148148148148, + "loss": 0.7666, + "step": 1125 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023950617283950617, + "loss": 0.7484, + "step": 1130 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023919753086419748, + "loss": 0.8048, + "step": 1135 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023888888888888885, + "loss": 0.757, + "step": 1140 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023858024691358022, + "loss": 0.7838, + "step": 1145 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002382716049382716, + "loss": 0.7834, + "step": 1150 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023796296296296293, + "loss": 0.733, + "step": 1155 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002376543209876543, + "loss": 0.7195, + "step": 1160 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023734567901234567, + "loss": 0.7478, + "step": 1165 + }, + { + "epoch": 0.47, + "learning_rate": 0.000237037037037037, + "loss": 0.7456, + "step": 1170 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023672839506172838, + "loss": 0.722, + "step": 1175 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023641975308641975, + "loss": 0.7395, + "step": 1180 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023611111111111112, + "loss": 0.7553, + "step": 1185 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023580246913580243, + "loss": 0.7692, + "step": 1190 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002354938271604938, + "loss": 0.7396, + "step": 1195 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023518518518518517, + "loss": 0.7214, + "step": 1200 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002348765432098765, + "loss": 0.7359, + "step": 1205 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023456790123456788, + "loss": 0.7666, + "step": 1210 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023425925925925925, + "loss": 0.7583, + "step": 1215 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002339506172839506, + "loss": 0.7715, + "step": 1220 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023364197530864196, + "loss": 0.7423, + "step": 1225 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002333333333333333, + "loss": 0.7598, + "step": 1230 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023302469135802467, + "loss": 0.7251, + "step": 1235 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023271604938271601, + "loss": 0.7447, + "step": 1240 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023240740740740738, + "loss": 0.7923, + "step": 1245 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023209876543209875, + "loss": 0.7161, + "step": 1250 + }, + { + "epoch": 0.5, + "learning_rate": 0.0002317901234567901, + "loss": 0.7291, + "step": 1255 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023148148148148146, + "loss": 0.7366, + "step": 1260 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023117283950617283, + "loss": 0.7173, + "step": 1265 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002308641975308642, + "loss": 0.7575, + "step": 1270 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023055555555555552, + "loss": 0.7632, + "step": 1275 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023024691358024688, + "loss": 0.7601, + "step": 1280 + }, + { + "epoch": 0.51, + "learning_rate": 0.00022993827160493825, + "loss": 0.7395, + "step": 1285 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002296296296296296, + "loss": 0.7686, + "step": 1290 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022932098765432096, + "loss": 0.7531, + "step": 1295 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022901234567901233, + "loss": 0.7675, + "step": 1300 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002287037037037037, + "loss": 0.8103, + "step": 1305 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022839506172839504, + "loss": 0.773, + "step": 1310 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002280864197530864, + "loss": 0.7549, + "step": 1315 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022777777777777778, + "loss": 0.7547, + "step": 1320 + }, + { + "epoch": 0.53, + "learning_rate": 0.0002274691358024691, + "loss": 0.758, + "step": 1325 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022716049382716047, + "loss": 0.77, + "step": 1330 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022685185185185183, + "loss": 0.7662, + "step": 1335 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022654320987654318, + "loss": 0.744, + "step": 1340 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022623456790123455, + "loss": 0.7486, + "step": 1345 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022592592592592591, + "loss": 0.7473, + "step": 1350 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022561728395061728, + "loss": 0.7486, + "step": 1355 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022530864197530862, + "loss": 0.7205, + "step": 1360 + }, + { + "epoch": 0.54, + "learning_rate": 0.000225, + "loss": 0.7289, + "step": 1365 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022469135802469134, + "loss": 0.7586, + "step": 1370 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022438271604938268, + "loss": 0.7175, + "step": 1375 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022407407407407405, + "loss": 0.6961, + "step": 1380 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022376543209876542, + "loss": 0.7242, + "step": 1385 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022345679012345678, + "loss": 0.7515, + "step": 1390 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022314814814814813, + "loss": 0.7522, + "step": 1395 + }, + { + "epoch": 0.56, + "learning_rate": 0.0002228395061728395, + "loss": 0.7651, + "step": 1400 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022253086419753086, + "loss": 0.6958, + "step": 1405 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022222222222222218, + "loss": 0.7336, + "step": 1410 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022191358024691355, + "loss": 0.7636, + "step": 1415 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022160493827160492, + "loss": 0.7583, + "step": 1420 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022129629629629626, + "loss": 0.7605, + "step": 1425 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022098765432098763, + "loss": 0.7109, + "step": 1430 + }, + { + "epoch": 0.57, + "learning_rate": 0.000220679012345679, + "loss": 0.7224, + "step": 1435 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022037037037037037, + "loss": 0.7724, + "step": 1440 + }, + { + "epoch": 0.58, + "learning_rate": 0.0002200617283950617, + "loss": 0.7637, + "step": 1445 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021975308641975308, + "loss": 0.7302, + "step": 1450 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021944444444444444, + "loss": 0.7685, + "step": 1455 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021913580246913576, + "loss": 0.751, + "step": 1460 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021882716049382713, + "loss": 0.7768, + "step": 1465 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002185185185185185, + "loss": 0.7461, + "step": 1470 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021820987654320987, + "loss": 0.7782, + "step": 1475 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002179012345679012, + "loss": 0.7474, + "step": 1480 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021759259259259258, + "loss": 0.7475, + "step": 1485 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021728395061728395, + "loss": 0.7539, + "step": 1490 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002169753086419753, + "loss": 0.7476, + "step": 1495 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021666666666666666, + "loss": 0.7382, + "step": 1500 + }, + { + "epoch": 0.6, + "learning_rate": 0.000216358024691358, + "loss": 0.7305, + "step": 1505 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021604938271604937, + "loss": 0.7455, + "step": 1510 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002157407407407407, + "loss": 0.7286, + "step": 1515 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021543209876543208, + "loss": 0.7653, + "step": 1520 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021512345679012345, + "loss": 0.7443, + "step": 1525 + }, + { + "epoch": 0.61, + "learning_rate": 0.0002148148148148148, + "loss": 0.7026, + "step": 1530 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021450617283950616, + "loss": 0.7436, + "step": 1535 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021419753086419753, + "loss": 0.7101, + "step": 1540 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021388888888888884, + "loss": 0.7484, + "step": 1545 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002135802469135802, + "loss": 0.7483, + "step": 1550 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021327160493827158, + "loss": 0.7419, + "step": 1555 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021296296296296295, + "loss": 0.7356, + "step": 1560 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002126543209876543, + "loss": 0.7716, + "step": 1565 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021234567901234566, + "loss": 0.734, + "step": 1570 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021203703703703703, + "loss": 0.7268, + "step": 1575 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021172839506172837, + "loss": 0.7133, + "step": 1580 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021141975308641974, + "loss": 0.7575, + "step": 1585 + }, + { + "epoch": 0.63, + "learning_rate": 0.0002111111111111111, + "loss": 0.7219, + "step": 1590 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021080246913580248, + "loss": 0.7394, + "step": 1595 + }, + { + "epoch": 0.64, + "learning_rate": 0.0002104938271604938, + "loss": 0.7729, + "step": 1600 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021018518518518516, + "loss": 0.757, + "step": 1605 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020987654320987653, + "loss": 0.7139, + "step": 1610 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020956790123456787, + "loss": 0.7492, + "step": 1615 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020925925925925924, + "loss": 0.7461, + "step": 1620 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002089506172839506, + "loss": 0.7276, + "step": 1625 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020864197530864198, + "loss": 0.7725, + "step": 1630 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020833333333333332, + "loss": 0.7623, + "step": 1635 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002080246913580247, + "loss": 0.7394, + "step": 1640 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020771604938271603, + "loss": 0.7387, + "step": 1645 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020740740740740737, + "loss": 0.7519, + "step": 1650 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020709876543209874, + "loss": 0.7625, + "step": 1655 + }, + { + "epoch": 0.66, + "learning_rate": 0.0002067901234567901, + "loss": 0.7254, + "step": 1660 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020648148148148145, + "loss": 0.7129, + "step": 1665 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020617283950617282, + "loss": 0.7964, + "step": 1670 + }, + { + "epoch": 0.67, + "learning_rate": 0.0002058641975308642, + "loss": 0.7332, + "step": 1675 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020555555555555556, + "loss": 0.7955, + "step": 1680 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020524691358024687, + "loss": 0.7544, + "step": 1685 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020493827160493824, + "loss": 0.7115, + "step": 1690 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002046296296296296, + "loss": 0.7434, + "step": 1695 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020432098765432095, + "loss": 0.7382, + "step": 1700 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020401234567901232, + "loss": 0.7452, + "step": 1705 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002037037037037037, + "loss": 0.7551, + "step": 1710 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020339506172839506, + "loss": 0.7202, + "step": 1715 + }, + { + "epoch": 0.69, + "learning_rate": 0.0002030864197530864, + "loss": 0.735, + "step": 1720 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020277777777777777, + "loss": 0.7581, + "step": 1725 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020246913580246914, + "loss": 0.7527, + "step": 1730 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020216049382716045, + "loss": 0.7498, + "step": 1735 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020185185185185182, + "loss": 0.735, + "step": 1740 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002015432098765432, + "loss": 0.7286, + "step": 1745 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020123456790123456, + "loss": 0.6891, + "step": 1750 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002009259259259259, + "loss": 0.7353, + "step": 1755 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020061728395061727, + "loss": 0.7386, + "step": 1760 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020030864197530864, + "loss": 0.7106, + "step": 1765 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019999999999999998, + "loss": 0.7207, + "step": 1770 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019969135802469135, + "loss": 0.7576, + "step": 1775 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019938271604938272, + "loss": 0.7462, + "step": 1780 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019907407407407404, + "loss": 0.7068, + "step": 1785 + }, + { + "epoch": 0.71, + "learning_rate": 0.0001987654320987654, + "loss": 0.7525, + "step": 1790 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019845679012345677, + "loss": 0.7291, + "step": 1795 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019814814814814814, + "loss": 0.7226, + "step": 1800 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019783950617283948, + "loss": 0.7445, + "step": 1805 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019753086419753085, + "loss": 0.7571, + "step": 1810 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019722222222222222, + "loss": 0.7306, + "step": 1815 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019691358024691354, + "loss": 0.7785, + "step": 1820 + }, + { + "epoch": 0.73, + "learning_rate": 0.0001966049382716049, + "loss": 0.7537, + "step": 1825 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019629629629629627, + "loss": 0.7549, + "step": 1830 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019598765432098764, + "loss": 0.732, + "step": 1835 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019567901234567898, + "loss": 0.7159, + "step": 1840 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019537037037037035, + "loss": 0.7549, + "step": 1845 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019506172839506172, + "loss": 0.7581, + "step": 1850 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019475308641975306, + "loss": 0.7559, + "step": 1855 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019444444444444443, + "loss": 0.7626, + "step": 1860 + }, + { + "epoch": 0.74, + "learning_rate": 0.0001941358024691358, + "loss": 0.7423, + "step": 1865 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019382716049382712, + "loss": 0.7672, + "step": 1870 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019351851851851849, + "loss": 0.7794, + "step": 1875 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019320987654320985, + "loss": 0.7428, + "step": 1880 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019290123456790122, + "loss": 0.7462, + "step": 1885 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019259259259259257, + "loss": 0.702, + "step": 1890 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019228395061728393, + "loss": 0.7626, + "step": 1895 + }, + { + "epoch": 0.76, + "learning_rate": 0.0001919753086419753, + "loss": 0.7357, + "step": 1900 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019166666666666665, + "loss": 0.7408, + "step": 1905 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019135802469135801, + "loss": 0.707, + "step": 1910 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019104938271604938, + "loss": 0.726, + "step": 1915 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019074074074074073, + "loss": 0.7396, + "step": 1920 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019043209876543207, + "loss": 0.7676, + "step": 1925 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019012345679012344, + "loss": 0.7335, + "step": 1930 + }, + { + "epoch": 0.77, + "learning_rate": 0.0001898148148148148, + "loss": 0.7235, + "step": 1935 + }, + { + "epoch": 0.77, + "learning_rate": 0.00018950617283950615, + "loss": 0.7297, + "step": 1940 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018919753086419752, + "loss": 0.7079, + "step": 1945 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018888888888888888, + "loss": 0.7629, + "step": 1950 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018858024691358025, + "loss": 0.7131, + "step": 1955 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018827160493827157, + "loss": 0.7517, + "step": 1960 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018796296296296294, + "loss": 0.7292, + "step": 1965 + }, + { + "epoch": 0.79, + "learning_rate": 0.0001876543209876543, + "loss": 0.7137, + "step": 1970 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018734567901234565, + "loss": 0.725, + "step": 1975 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018703703703703702, + "loss": 0.7444, + "step": 1980 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018672839506172839, + "loss": 0.7366, + "step": 1985 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018641975308641973, + "loss": 0.7329, + "step": 1990 + }, + { + "epoch": 0.8, + "learning_rate": 0.0001861111111111111, + "loss": 0.7037, + "step": 1995 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018580246913580247, + "loss": 0.7186, + "step": 2000 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018549382716049383, + "loss": 0.7322, + "step": 2005 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018518518518518515, + "loss": 0.7639, + "step": 2010 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018487654320987652, + "loss": 0.7426, + "step": 2015 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001845679012345679, + "loss": 0.7648, + "step": 2020 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018425925925925923, + "loss": 0.714, + "step": 2025 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001839506172839506, + "loss": 0.7091, + "step": 2030 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018364197530864197, + "loss": 0.7222, + "step": 2035 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018333333333333334, + "loss": 0.7491, + "step": 2040 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018302469135802468, + "loss": 0.7659, + "step": 2045 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018271604938271605, + "loss": 0.727, + "step": 2050 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018240740740740742, + "loss": 0.7416, + "step": 2055 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018209876543209873, + "loss": 0.697, + "step": 2060 + }, + { + "epoch": 0.82, + "learning_rate": 0.0001817901234567901, + "loss": 0.7408, + "step": 2065 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018148148148148147, + "loss": 0.7144, + "step": 2070 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018117283950617284, + "loss": 0.7745, + "step": 2075 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018086419753086418, + "loss": 0.7362, + "step": 2080 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018055555555555555, + "loss": 0.7378, + "step": 2085 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018024691358024692, + "loss": 0.7227, + "step": 2090 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017993827160493826, + "loss": 0.7408, + "step": 2095 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001796296296296296, + "loss": 0.7178, + "step": 2100 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017932098765432097, + "loss": 0.7401, + "step": 2105 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001790123456790123, + "loss": 0.7484, + "step": 2110 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017870370370370368, + "loss": 0.7271, + "step": 2115 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017839506172839505, + "loss": 0.7897, + "step": 2120 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017808641975308642, + "loss": 0.7374, + "step": 2125 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017777777777777776, + "loss": 0.7314, + "step": 2130 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017746913580246913, + "loss": 0.7338, + "step": 2135 + }, + { + "epoch": 0.85, + "learning_rate": 0.0001771604938271605, + "loss": 0.7536, + "step": 2140 + }, + { + "epoch": 0.86, + "learning_rate": 0.0001768518518518518, + "loss": 0.7501, + "step": 2145 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017654320987654318, + "loss": 0.7263, + "step": 2150 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017623456790123455, + "loss": 0.7468, + "step": 2155 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017592592592592592, + "loss": 0.7097, + "step": 2160 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017561728395061726, + "loss": 0.7261, + "step": 2165 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017530864197530863, + "loss": 0.7489, + "step": 2170 + }, + { + "epoch": 0.87, + "learning_rate": 0.000175, + "loss": 0.7149, + "step": 2175 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017469135802469134, + "loss": 0.7239, + "step": 2180 + }, + { + "epoch": 0.87, + "learning_rate": 0.0001743827160493827, + "loss": 0.7249, + "step": 2185 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017407407407407408, + "loss": 0.7506, + "step": 2190 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001737654320987654, + "loss": 0.7594, + "step": 2195 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017345679012345676, + "loss": 0.7412, + "step": 2200 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017314814814814813, + "loss": 0.7219, + "step": 2205 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001728395061728395, + "loss": 0.7655, + "step": 2210 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017253086419753084, + "loss": 0.735, + "step": 2215 + }, + { + "epoch": 0.89, + "learning_rate": 0.0001722222222222222, + "loss": 0.7214, + "step": 2220 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017191358024691358, + "loss": 0.7179, + "step": 2225 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017160493827160492, + "loss": 0.7208, + "step": 2230 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017129629629629626, + "loss": 0.7445, + "step": 2235 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017098765432098763, + "loss": 0.7, + "step": 2240 + }, + { + "epoch": 0.9, + "learning_rate": 0.000170679012345679, + "loss": 0.7571, + "step": 2245 + }, + { + "epoch": 0.9, + "learning_rate": 0.00017037037037037034, + "loss": 0.7076, + "step": 2250 + }, + { + "epoch": 0.9, + "learning_rate": 0.0001700617283950617, + "loss": 0.7027, + "step": 2255 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016975308641975308, + "loss": 0.7408, + "step": 2260 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016944444444444442, + "loss": 0.7095, + "step": 2265 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001691358024691358, + "loss": 0.7314, + "step": 2270 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016882716049382716, + "loss": 0.714, + "step": 2275 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016851851851851853, + "loss": 0.7442, + "step": 2280 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016820987654320984, + "loss": 0.7144, + "step": 2285 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001679012345679012, + "loss": 0.7252, + "step": 2290 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016759259259259258, + "loss": 0.7118, + "step": 2295 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016728395061728392, + "loss": 0.7444, + "step": 2300 + }, + { + "epoch": 0.92, + "learning_rate": 0.0001669753086419753, + "loss": 0.732, + "step": 2305 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016666666666666666, + "loss": 0.7394, + "step": 2310 + }, + { + "epoch": 0.92, + "learning_rate": 0.000166358024691358, + "loss": 0.7573, + "step": 2315 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016604938271604937, + "loss": 0.7543, + "step": 2320 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016574074074074074, + "loss": 0.7709, + "step": 2325 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001654320987654321, + "loss": 0.7372, + "step": 2330 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016512345679012342, + "loss": 0.7222, + "step": 2335 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001648148148148148, + "loss": 0.7505, + "step": 2340 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016450617283950616, + "loss": 0.7364, + "step": 2345 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001641975308641975, + "loss": 0.7001, + "step": 2350 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016388888888888887, + "loss": 0.7203, + "step": 2355 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016358024691358024, + "loss": 0.6906, + "step": 2360 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001632716049382716, + "loss": 0.7557, + "step": 2365 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016296296296296295, + "loss": 0.7261, + "step": 2370 + }, + { + "epoch": 0.95, + "learning_rate": 0.0001626543209876543, + "loss": 0.7182, + "step": 2375 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016234567901234566, + "loss": 0.7557, + "step": 2380 + }, + { + "epoch": 0.95, + "learning_rate": 0.000162037037037037, + "loss": 0.7251, + "step": 2385 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016172839506172837, + "loss": 0.7551, + "step": 2390 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016141975308641974, + "loss": 0.6976, + "step": 2395 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001611111111111111, + "loss": 0.7336, + "step": 2400 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016080246913580245, + "loss": 0.7023, + "step": 2405 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016049382716049382, + "loss": 0.7315, + "step": 2410 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001601851851851852, + "loss": 0.7092, + "step": 2415 + }, + { + "epoch": 0.97, + "learning_rate": 0.0001598765432098765, + "loss": 0.7381, + "step": 2420 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015956790123456788, + "loss": 0.7687, + "step": 2425 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015925925925925924, + "loss": 0.7447, + "step": 2430 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015895061728395059, + "loss": 0.7476, + "step": 2435 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015864197530864196, + "loss": 0.7436, + "step": 2440 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015833333333333332, + "loss": 0.7188, + "step": 2445 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001580246913580247, + "loss": 0.7284, + "step": 2450 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015771604938271603, + "loss": 0.739, + "step": 2455 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001574074074074074, + "loss": 0.7108, + "step": 2460 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015709876543209877, + "loss": 0.7101, + "step": 2465 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001567901234567901, + "loss": 0.7433, + "step": 2470 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015648148148148146, + "loss": 0.7009, + "step": 2475 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015617283950617283, + "loss": 0.7046, + "step": 2480 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001558641975308642, + "loss": 0.7267, + "step": 2485 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015555555555555554, + "loss": 0.7253, + "step": 2490 + }, + { + "epoch": 1.0, + "learning_rate": 0.0001552469135802469, + "loss": 0.6932, + "step": 2495 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015493827160493827, + "loss": 0.7542, + "step": 2500 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015462962962962962, + "loss": 0.7269, + "step": 2505 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015432098765432098, + "loss": 0.6682, + "step": 2510 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015401234567901233, + "loss": 0.6625, + "step": 2515 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001537037037037037, + "loss": 0.6818, + "step": 2520 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015339506172839504, + "loss": 0.6982, + "step": 2525 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001530864197530864, + "loss": 0.6749, + "step": 2530 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015277777777777777, + "loss": 0.6552, + "step": 2535 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015246913580246912, + "loss": 0.702, + "step": 2540 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015216049382716049, + "loss": 0.6748, + "step": 2545 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015185185185185185, + "loss": 0.6707, + "step": 2550 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015154320987654317, + "loss": 0.6886, + "step": 2555 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015123456790123454, + "loss": 0.72, + "step": 2560 + }, + { + "epoch": 1.02, + "learning_rate": 0.0001509259259259259, + "loss": 0.6959, + "step": 2565 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015061728395061728, + "loss": 0.6684, + "step": 2570 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015030864197530862, + "loss": 0.6896, + "step": 2575 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015, + "loss": 0.6791, + "step": 2580 + }, + { + "epoch": 1.03, + "learning_rate": 0.00014969135802469133, + "loss": 0.6848, + "step": 2585 + }, + { + "epoch": 1.03, + "learning_rate": 0.0001493827160493827, + "loss": 0.6471, + "step": 2590 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014907407407407407, + "loss": 0.6611, + "step": 2595 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014876543209876544, + "loss": 0.6975, + "step": 2600 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014845679012345678, + "loss": 0.6966, + "step": 2605 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014814814814814812, + "loss": 0.6894, + "step": 2610 + }, + { + "epoch": 1.04, + "learning_rate": 0.0001478395061728395, + "loss": 0.681, + "step": 2615 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014753086419753086, + "loss": 0.6723, + "step": 2620 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014722222222222223, + "loss": 0.6869, + "step": 2625 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014691358024691357, + "loss": 0.7015, + "step": 2630 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014660493827160494, + "loss": 0.6932, + "step": 2635 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014629629629629628, + "loss": 0.6901, + "step": 2640 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014598765432098765, + "loss": 0.6466, + "step": 2645 + }, + { + "epoch": 1.06, + "learning_rate": 0.000145679012345679, + "loss": 0.7214, + "step": 2650 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014537037037037036, + "loss": 0.6692, + "step": 2655 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014506172839506173, + "loss": 0.6935, + "step": 2660 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014475308641975307, + "loss": 0.6851, + "step": 2665 + }, + { + "epoch": 1.07, + "learning_rate": 0.0001444444444444444, + "loss": 0.6856, + "step": 2670 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014413580246913578, + "loss": 0.6895, + "step": 2675 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014382716049382715, + "loss": 0.6562, + "step": 2680 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014351851851851852, + "loss": 0.6787, + "step": 2685 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014320987654320986, + "loss": 0.6733, + "step": 2690 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014290123456790123, + "loss": 0.6769, + "step": 2695 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014259259259259257, + "loss": 0.6543, + "step": 2700 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014228395061728394, + "loss": 0.6624, + "step": 2705 + }, + { + "epoch": 1.08, + "learning_rate": 0.0001419753086419753, + "loss": 0.6712, + "step": 2710 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014166666666666665, + "loss": 0.6868, + "step": 2715 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014135802469135802, + "loss": 0.6584, + "step": 2720 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014104938271604936, + "loss": 0.6901, + "step": 2725 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014074074074074073, + "loss": 0.6662, + "step": 2730 + }, + { + "epoch": 1.09, + "learning_rate": 0.0001404320987654321, + "loss": 0.6788, + "step": 2735 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014012345679012344, + "loss": 0.7102, + "step": 2740 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001398148148148148, + "loss": 0.6997, + "step": 2745 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013950617283950615, + "loss": 0.6888, + "step": 2750 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013919753086419752, + "loss": 0.675, + "step": 2755 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001388888888888889, + "loss": 0.6674, + "step": 2760 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013858024691358023, + "loss": 0.6982, + "step": 2765 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001382716049382716, + "loss": 0.6847, + "step": 2770 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013796296296296294, + "loss": 0.7183, + "step": 2775 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001376543209876543, + "loss": 0.6647, + "step": 2780 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013734567901234568, + "loss": 0.6794, + "step": 2785 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013703703703703702, + "loss": 0.6852, + "step": 2790 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001367283950617284, + "loss": 0.6638, + "step": 2795 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013641975308641973, + "loss": 0.7229, + "step": 2800 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001361111111111111, + "loss": 0.6804, + "step": 2805 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013580246913580244, + "loss": 0.7028, + "step": 2810 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001354938271604938, + "loss": 0.6775, + "step": 2815 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013518518518518518, + "loss": 0.6511, + "step": 2820 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013487654320987652, + "loss": 0.6952, + "step": 2825 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001345679012345679, + "loss": 0.6555, + "step": 2830 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013425925925925923, + "loss": 0.6738, + "step": 2835 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001339506172839506, + "loss": 0.6576, + "step": 2840 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013364197530864197, + "loss": 0.6679, + "step": 2845 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001333333333333333, + "loss": 0.6787, + "step": 2850 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013302469135802468, + "loss": 0.6604, + "step": 2855 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013271604938271602, + "loss": 0.6733, + "step": 2860 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001324074074074074, + "loss": 0.6829, + "step": 2865 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013209876543209876, + "loss": 0.6757, + "step": 2870 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013179012345679013, + "loss": 0.6709, + "step": 2875 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013148148148148147, + "loss": 0.6975, + "step": 2880 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013117283950617281, + "loss": 0.6719, + "step": 2885 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013086419753086418, + "loss": 0.664, + "step": 2890 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013055555555555555, + "loss": 0.6839, + "step": 2895 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013024691358024692, + "loss": 0.706, + "step": 2900 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012993827160493826, + "loss": 0.6666, + "step": 2905 + }, + { + "epoch": 1.16, + "learning_rate": 0.0001296296296296296, + "loss": 0.6783, + "step": 2910 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012932098765432097, + "loss": 0.6746, + "step": 2915 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012901234567901234, + "loss": 0.6933, + "step": 2920 + }, + { + "epoch": 1.17, + "learning_rate": 0.0001287037037037037, + "loss": 0.6605, + "step": 2925 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012839506172839505, + "loss": 0.6757, + "step": 2930 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012808641975308642, + "loss": 0.6385, + "step": 2935 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012777777777777776, + "loss": 0.6673, + "step": 2940 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012746913580246913, + "loss": 0.6862, + "step": 2945 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012716049382716047, + "loss": 0.6869, + "step": 2950 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012685185185185184, + "loss": 0.6392, + "step": 2955 + }, + { + "epoch": 1.18, + "learning_rate": 0.0001265432098765432, + "loss": 0.6928, + "step": 2960 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012623456790123455, + "loss": 0.6876, + "step": 2965 + }, + { + "epoch": 1.19, + "learning_rate": 0.0001259259259259259, + "loss": 0.6767, + "step": 2970 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012561728395061726, + "loss": 0.6828, + "step": 2975 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012530864197530863, + "loss": 0.6716, + "step": 2980 + }, + { + "epoch": 1.19, + "learning_rate": 0.000125, + "loss": 0.6753, + "step": 2985 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012469135802469134, + "loss": 0.7025, + "step": 2990 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012438271604938269, + "loss": 0.6941, + "step": 2995 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012407407407407406, + "loss": 0.7042, + "step": 3000 + } + ], + "logging_steps": 5, + "max_steps": 5010, + "num_input_tokens_seen": 0, + "num_train_epochs": 2, + "save_steps": 500, + "total_flos": 1.2080552599774822e+19, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/training_args.bin b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..76b046c47941a0df0a1cf17415d227f3e8416d3b --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc4247ac8c6f92ef49080d32b2520dd809daff76a4805fdafb6e454ee1c5cc3 +size 5944 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/zero_to_fp32.py b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/zero_to_fp32.py new file mode 100644 index 0000000000000000000000000000000000000000..c98caae31534368be22b67fc4ae906836c992a8d --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3000/zero_to_fp32.py @@ -0,0 +1,587 @@ +#!/usr/bin/env python + +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: Apache-2.0 + +# DeepSpeed Team + +# This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets +# copied into the top level checkpoint dir, so the user can easily do the conversion at any point in +# the future. Once extracted, the weights don't require DeepSpeed and can be used in any +# application. +# +# example: python zero_to_fp32.py . pytorch_model.bin + +import argparse +import torch +import glob +import math +import os +import re +from collections import OrderedDict +from dataclasses import dataclass + +# while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with +# DeepSpeed data structures it has to be available in the current python environment. +from deepspeed.utils import logger +from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS, + FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES, + FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS) + + +@dataclass +class zero_model_state: + buffers: dict() + param_shapes: dict() + shared_params: list + ds_version: int + frozen_param_shapes: dict() + frozen_param_fragments: dict() + + +debug = 0 + +# load to cpu +device = torch.device('cpu') + + +def atoi(text): + return int(text) if text.isdigit() else text + + +def natural_keys(text): + ''' + alist.sort(key=natural_keys) sorts in human order + http://nedbatchelder.com/blog/200712/human_sorting.html + (See Toothy's implementation in the comments) + ''' + return [atoi(c) for c in re.split(r'(\d+)', text)] + + +def get_model_state_file(checkpoint_dir, zero_stage): + if not os.path.isdir(checkpoint_dir): + raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist") + + # there should be only one file + if zero_stage <= 2: + file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt") + elif zero_stage == 3: + file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt") + + if not os.path.exists(file): + raise FileNotFoundError(f"can't find model states file at '{file}'") + + return file + + +def get_checkpoint_files(checkpoint_dir, glob_pattern): + # XXX: need to test that this simple glob rule works for multi-node setup too + ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys) + + if len(ckpt_files) == 0: + raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'") + + return ckpt_files + + +def get_optim_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt") + + +def get_model_state_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_model_states.pt") + + +def parse_model_states(files): + zero_model_states = [] + for file in files: + state_dict = torch.load(file, map_location=device) + + if BUFFER_NAMES not in state_dict: + raise ValueError(f"{file} is not a model state checkpoint") + buffer_names = state_dict[BUFFER_NAMES] + if debug: + print("Found buffers:", buffer_names) + + # recover just the buffers while restoring them to fp32 if they were saved in fp16 + buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names} + param_shapes = state_dict[PARAM_SHAPES] + + # collect parameters that are included in param_shapes + param_names = [] + for s in param_shapes: + for name in s.keys(): + param_names.append(name) + + # update with frozen parameters + frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None) + if frozen_param_shapes is not None: + if debug: + print(f"Found frozen_param_shapes: {frozen_param_shapes}") + param_names += list(frozen_param_shapes.keys()) + + # handle shared params + shared_params = [[k, v] for k, v in state_dict["shared_params"].items()] + + ds_version = state_dict.get(DS_VERSION, None) + + frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None) + + z_model_state = zero_model_state(buffers=buffers, + param_shapes=param_shapes, + shared_params=shared_params, + ds_version=ds_version, + frozen_param_shapes=frozen_param_shapes, + frozen_param_fragments=frozen_param_fragments) + zero_model_states.append(z_model_state) + + return zero_model_states + + +def parse_optim_states(files, ds_checkpoint_dir): + + total_files = len(files) + state_dicts = [] + for f in files: + state_dict = torch.load(f, map_location=device) + # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights + # and also handle the case where it was already removed by another helper script + state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None) + state_dicts.append(state_dict) + + if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]: + raise ValueError(f"{files[0]} is not a zero checkpoint") + zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE] + world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT] + + # For ZeRO-2 each param group can have different partition_count as data parallelism for expert + # parameters can be different from data parallelism for non-expert parameters. So we can just + # use the max of the partition_count to get the dp world_size. + + if type(world_size) is list: + world_size = max(world_size) + + if world_size != total_files: + raise ValueError( + f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. " + "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes." + ) + + # the groups are named differently in each stage + if zero_stage <= 2: + fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS + elif zero_stage == 3: + fp32_groups_key = FP32_FLAT_GROUPS + else: + raise ValueError(f"unknown zero stage {zero_stage}") + + if zero_stage <= 2: + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))] + elif zero_stage == 3: + # if there is more than one param group, there will be multiple flattened tensors - one + # flattened tensor per group - for simplicity merge them into a single tensor + # + # XXX: could make the script more memory efficient for when there are multiple groups - it + # will require matching the sub-lists of param_shapes for each param group flattened tensor + + fp32_flat_groups = [ + torch.cat(state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key], 0) for i in range(len(state_dicts)) + ] + + return zero_stage, world_size, fp32_flat_groups + + +def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir): + """ + Returns fp32 state_dict reconstructed from ds checkpoint + + Args: + - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are) + + """ + print(f"Processing zero checkpoint '{ds_checkpoint_dir}'") + + optim_files = get_optim_files(ds_checkpoint_dir) + zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir) + print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}") + + model_files = get_model_state_files(ds_checkpoint_dir) + + zero_model_states = parse_model_states(model_files) + print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}') + + if zero_stage <= 2: + return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states) + + +def _zero2_merge_frozen_params(state_dict, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + frozen_param_fragments = zero_model_states[0].frozen_param_fragments + + if debug: + num_elem = sum(s.numel() for s in frozen_param_shapes.values()) + print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in frozen_param_fragments.values()]) + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + state_dict[name] = frozen_param_fragments[name] + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + + # Reconstruction protocol: + # + # XXX: document this + + if debug: + for i in range(world_size): + for j in range(len(fp32_flat_groups[0])): + print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}") + + # XXX: memory usage doubles here (zero2) + num_param_groups = len(fp32_flat_groups[0]) + merged_single_partition_of_fp32_groups = [] + for i in range(num_param_groups): + merged_partitions = [sd[i] for sd in fp32_flat_groups] + full_single_fp32_vector = torch.cat(merged_partitions, 0) + merged_single_partition_of_fp32_groups.append(full_single_fp32_vector) + avail_numel = sum( + [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups]) + + if debug: + wanted_params = sum([len(shapes) for shapes in param_shapes]) + wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes]) + # not asserting if there is a mismatch due to possible padding + print(f"Have {avail_numel} numels to process.") + print(f"Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + total_numel = 0 + total_params = 0 + for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups): + offset = 0 + avail_numel = full_single_fp32_vector.numel() + for name, shape in shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape) + offset += unpartitioned_numel + + # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and + # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex + # paddings performed in the code it's almost impossible to predict the exact numbers w/o the + # live optimizer object, so we are checking that the numbers are within the right range + align_to = 2 * world_size + + def zero2_align(x): + return align_to * math.ceil(x / align_to) + + if debug: + print(f"original offset={offset}, avail_numel={avail_numel}") + + offset = zero2_align(offset) + avail_numel = zero2_align(avail_numel) + + if debug: + print(f"aligned offset={offset}, avail_numel={avail_numel}") + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero2_merge_frozen_params(state_dict, zero_model_states) + + _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def zero3_partitioned_param_info(unpartitioned_numel, world_size): + remainder = unpartitioned_numel % world_size + padding_numel = (world_size - remainder) if remainder else 0 + partitioned_numel = math.ceil(unpartitioned_numel / world_size) + return partitioned_numel, padding_numel + + +def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + if debug: + for i in range(world_size): + num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values()) + print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in zero_model_states[0].frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states) + state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape) + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + avail_numel = fp32_flat_groups[0].numel() * world_size + # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each + # param, re-consolidating each param, while dealing with padding if any + + # merge list of dicts, preserving order + param_shapes = {k: v for d in param_shapes for k, v in d.items()} + + if debug: + for i in range(world_size): + print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}") + + wanted_params = len(param_shapes) + wanted_numel = sum(shape.numel() for shape in param_shapes.values()) + # not asserting if there is a mismatch due to possible padding + avail_numel = fp32_flat_groups[0].numel() * world_size + print(f"Trainable params: Have {avail_numel} numels to process.") + print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + offset = 0 + total_numel = 0 + total_params = 0 + for name, shape in param_shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + # XXX: memory usage doubles here + state_dict[name] = torch.cat( + tuple(fp32_flat_groups[i].narrow(0, offset, partitioned_numel) for i in range(world_size)), + 0).narrow(0, 0, unpartitioned_numel).view(shape) + offset += partitioned_numel + + offset *= world_size + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero3_merge_frozen_params(state_dict, world_size, zero_model_states) + + _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with + ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example + via a model hub. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder + - ``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`` + + Returns: + - pytorch ``state_dict`` + + Note: this approach may not work if your application doesn't have sufficient free CPU memory and + you may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + # do the training and checkpoint saving + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu + model = model.cpu() # move to cpu + model.load_state_dict(state_dict) + # submit to model hub or save the model to share with others + + In this example the ``model`` will no longer be usable in the deepspeed context of the same + application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead. + + """ + if tag is None: + latest_path = os.path.join(checkpoint_dir, 'latest') + if os.path.isfile(latest_path): + with open(latest_path, 'r') as fd: + tag = fd.read().strip() + else: + raise ValueError(f"Unable to find 'latest' file at {latest_path}") + + ds_checkpoint_dir = os.path.join(checkpoint_dir, tag) + + if not os.path.isdir(ds_checkpoint_dir): + raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist") + + return _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, output_file, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be + loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``output_file``: path to the pytorch fp32 state_dict output file (e.g. path/pytorch_model.bin) + - ``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`` + """ + + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + print(f"Saving fp32 state dict to {output_file}") + torch.save(state_dict, output_file) + + +def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None): + """ + 1. Put the provided model to cpu + 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` + 3. Load it into the provided model + + Args: + - ``model``: the model object to update + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``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`` + + Returns: + - ``model`: modified model + + Make sure you have plenty of CPU memory available before you call this function. If you don't + have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it + conveniently placed for you in the checkpoint folder. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint + model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir) + # submit to model hub or save the model to share with others + + Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context + of the same application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + """ + logger.info(f"Extracting fp32 weights") + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + + logger.info(f"Overwriting model with fp32 weights") + model = model.cpu() + model.load_state_dict(state_dict, strict=False) + + return model + + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument("checkpoint_dir", + type=str, + help="path to the desired checkpoint folder, e.g., path/checkpoint-12") + parser.add_argument( + "output_file", + type=str, + help="path to the pytorch fp32 state_dict output file (e.g. path/checkpoint-12/pytorch_model.bin)") + parser.add_argument("-t", + "--tag", + type=str, + default=None, + help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1") + parser.add_argument("-d", "--debug", action='store_true', help="enable debug") + args = parser.parse_args() + + debug = args.debug + + convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir, args.output_file, tag=args.tag) diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/README.md b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2aa897f8fa13b49ce76b1fa188781e5f726e7d13 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/README.md @@ -0,0 +1,202 @@ +--- +base_model: meta-llama/Llama-2-7b-hf +library_name: peft +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.9.0 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/adapter_config.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..9c81a592f0ff08374a4f61f6003029070a8429ae --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/adapter_config.json @@ -0,0 +1,35 @@ +{ + "alpha_pattern": {}, + "auto_mapping": null, + "base_model_name_or_path": "meta-llama/Llama-2-7b-hf", + "bias": "none", + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 16, + "lora_dropout": 0.05, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "mora_type": 1, + "peft_type": "LORA", + "r": 8, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "k_proj", + "v_proj", + "o_proj", + "gate_proj", + "down_proj", + "up_proj" + ], + "task_type": "CAUSAL_LM", + "use_dora": false, + "use_mora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/adapter_model.safetensors b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..072e5b9559723a4c4e8d99364c48f99356c507c6 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b09341566527f4be03846ece61c512bcb6e4759f0534cbfcf5f0fc9ee49d376b +size 564342240 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/global_step3500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/global_step3500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..2599d4f7c82205ce895dd112ea23543fb7e144e8 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/global_step3500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b82c04a8c1b07c9320cc262e25b6b12e8956fd94b79bc54a8ba26a40f014951f +size 239914224 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/global_step3500/mp_rank_00_model_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/global_step3500/mp_rank_00_model_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..7a99da88190148519d5b0a12e783c696759b1369 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/global_step3500/mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d5210780dad14c4c1676ff1c8eb22a6d9e8739c649d18383b2f617b9713bb6d +size 40303404 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/latest b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/latest new file mode 100644 index 0000000000000000000000000000000000000000..f3af93198d9ca215e3991f85bf3781ae5dfe71f3 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/latest @@ -0,0 +1 @@ +global_step3500 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/rng_state.pth b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..f6488135afbf0a2ed40e30a80b4bac42b6c3ada7 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a416fef4baf7da791f4aa05f7e025ca652472141670ffd3e3487a4df1f3a1fc +size 14244 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/scheduler.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..a330441264ed1a7297b6263a793e9cefb349c3fe --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c8366892aaa4d7d701d11c7ef8c969528988d67128ed0e7dc88a6ead516d134 +size 1064 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/trainer_state.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..d23d72bc4b7dd5ad213f3f4e54e2564e0b1f3634 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/trainer_state.json @@ -0,0 +1,4221 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 1.3970748744815542, + "eval_steps": 500, + "global_step": 3500, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.0, + "learning_rate": 9.999999999999999e-06, + "loss": 1.38, + "step": 5 + }, + { + "epoch": 0.0, + "learning_rate": 1.9999999999999998e-05, + "loss": 1.3936, + "step": 10 + }, + { + "epoch": 0.01, + "learning_rate": 2.9999999999999997e-05, + "loss": 1.3006, + "step": 15 + }, + { + "epoch": 0.01, + "learning_rate": 3.9999999999999996e-05, + "loss": 1.2594, + "step": 20 + }, + { + "epoch": 0.01, + "learning_rate": 4.9999999999999996e-05, + "loss": 1.1177, + "step": 25 + }, + { + "epoch": 0.01, + "learning_rate": 5.9999999999999995e-05, + "loss": 1.0481, + "step": 30 + }, + { + "epoch": 0.01, + "learning_rate": 7e-05, + "loss": 1.0601, + "step": 35 + }, + { + "epoch": 0.02, + "learning_rate": 7.999999999999999e-05, + "loss": 1.0473, + "step": 40 + }, + { + "epoch": 0.02, + "learning_rate": 8.999999999999999e-05, + "loss": 0.9523, + "step": 45 + }, + { + "epoch": 0.02, + "learning_rate": 9.999999999999999e-05, + "loss": 0.9451, + "step": 50 + }, + { + "epoch": 0.02, + "learning_rate": 0.00010999999999999998, + "loss": 0.9687, + "step": 55 + }, + { + "epoch": 0.02, + "learning_rate": 0.00011999999999999999, + "loss": 0.9054, + "step": 60 + }, + { + "epoch": 0.03, + "learning_rate": 0.00013, + "loss": 0.9518, + "step": 65 + }, + { + "epoch": 0.03, + "learning_rate": 0.00014, + "loss": 0.8763, + "step": 70 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015, + "loss": 0.8657, + "step": 75 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015999999999999999, + "loss": 0.9145, + "step": 80 + }, + { + "epoch": 0.03, + "learning_rate": 0.00016999999999999999, + "loss": 0.8296, + "step": 85 + }, + { + "epoch": 0.04, + "learning_rate": 0.00017999999999999998, + "loss": 0.8709, + "step": 90 + }, + { + "epoch": 0.04, + "learning_rate": 0.00018999999999999998, + "loss": 0.8405, + "step": 95 + }, + { + "epoch": 0.04, + "learning_rate": 0.00019999999999999998, + "loss": 0.8604, + "step": 100 + }, + { + "epoch": 0.04, + "learning_rate": 0.00020999999999999998, + "loss": 0.8607, + "step": 105 + }, + { + "epoch": 0.04, + "learning_rate": 0.00021999999999999995, + "loss": 0.8376, + "step": 110 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023, + "loss": 0.8554, + "step": 115 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023999999999999998, + "loss": 0.8456, + "step": 120 + }, + { + "epoch": 0.05, + "learning_rate": 0.00025, + "loss": 0.8443, + "step": 125 + }, + { + "epoch": 0.05, + "learning_rate": 0.00026, + "loss": 0.8327, + "step": 130 + }, + { + "epoch": 0.05, + "learning_rate": 0.00027, + "loss": 0.8096, + "step": 135 + }, + { + "epoch": 0.06, + "learning_rate": 0.00028, + "loss": 0.7972, + "step": 140 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029, + "loss": 0.8306, + "step": 145 + }, + { + "epoch": 0.06, + "learning_rate": 0.0003, + "loss": 0.8409, + "step": 150 + }, + { + "epoch": 0.06, + "learning_rate": 0.0002996913580246913, + "loss": 0.8094, + "step": 155 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029938271604938266, + "loss": 0.8146, + "step": 160 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029907407407407405, + "loss": 0.8042, + "step": 165 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002987654320987654, + "loss": 0.7784, + "step": 170 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002984567901234568, + "loss": 0.828, + "step": 175 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029814814814814813, + "loss": 0.8473, + "step": 180 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002978395061728395, + "loss": 0.8354, + "step": 185 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029753086419753087, + "loss": 0.8246, + "step": 190 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029722222222222216, + "loss": 0.8249, + "step": 195 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029691358024691355, + "loss": 0.8222, + "step": 200 + }, + { + "epoch": 0.08, + "learning_rate": 0.0002966049382716049, + "loss": 0.8369, + "step": 205 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029629629629629624, + "loss": 0.7954, + "step": 210 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029598765432098763, + "loss": 0.8051, + "step": 215 + }, + { + "epoch": 0.09, + "learning_rate": 0.000295679012345679, + "loss": 0.8081, + "step": 220 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029537037037037037, + "loss": 0.7864, + "step": 225 + }, + { + "epoch": 0.09, + "learning_rate": 0.0002950617283950617, + "loss": 0.7974, + "step": 230 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029475308641975306, + "loss": 0.8306, + "step": 235 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029444444444444445, + "loss": 0.7792, + "step": 240 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029413580246913574, + "loss": 0.8108, + "step": 245 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029382716049382714, + "loss": 0.8167, + "step": 250 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002935185185185185, + "loss": 0.8358, + "step": 255 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002932098765432099, + "loss": 0.7948, + "step": 260 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002929012345679012, + "loss": 0.8078, + "step": 265 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029259259259259256, + "loss": 0.7886, + "step": 270 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029228395061728395, + "loss": 0.7903, + "step": 275 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002919753086419753, + "loss": 0.7892, + "step": 280 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029166666666666664, + "loss": 0.7717, + "step": 285 + }, + { + "epoch": 0.12, + "learning_rate": 0.000291358024691358, + "loss": 0.7774, + "step": 290 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002910493827160494, + "loss": 0.8053, + "step": 295 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002907407407407407, + "loss": 0.794, + "step": 300 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029043209876543206, + "loss": 0.7856, + "step": 305 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029012345679012345, + "loss": 0.7713, + "step": 310 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002898148148148148, + "loss": 0.7805, + "step": 315 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028950617283950614, + "loss": 0.7897, + "step": 320 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028919753086419753, + "loss": 0.7931, + "step": 325 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002888888888888888, + "loss": 0.7739, + "step": 330 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002885802469135802, + "loss": 0.7749, + "step": 335 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028827160493827156, + "loss": 0.7932, + "step": 340 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028796296296296296, + "loss": 0.7906, + "step": 345 + }, + { + "epoch": 0.14, + "learning_rate": 0.0002876543209876543, + "loss": 0.8094, + "step": 350 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028734567901234564, + "loss": 0.7932, + "step": 355 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028703703703703703, + "loss": 0.8027, + "step": 360 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002867283950617284, + "loss": 0.8297, + "step": 365 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002864197530864197, + "loss": 0.8228, + "step": 370 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002861111111111111, + "loss": 0.7997, + "step": 375 + }, + { + "epoch": 0.15, + "learning_rate": 0.00028580246913580246, + "loss": 0.8124, + "step": 380 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002854938271604938, + "loss": 0.8152, + "step": 385 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028518518518518514, + "loss": 0.7833, + "step": 390 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028487654320987654, + "loss": 0.7884, + "step": 395 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002845679012345679, + "loss": 0.753, + "step": 400 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002842592592592592, + "loss": 0.8055, + "step": 405 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002839506172839506, + "loss": 0.8014, + "step": 410 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028364197530864196, + "loss": 0.782, + "step": 415 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002833333333333333, + "loss": 0.7733, + "step": 420 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002830246913580247, + "loss": 0.7777, + "step": 425 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028271604938271604, + "loss": 0.752, + "step": 430 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002824074074074074, + "loss": 0.7963, + "step": 435 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002820987654320987, + "loss": 0.7655, + "step": 440 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002817901234567901, + "loss": 0.8, + "step": 445 + }, + { + "epoch": 0.18, + "learning_rate": 0.00028148148148148146, + "loss": 0.7465, + "step": 450 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002811728395061728, + "loss": 0.7432, + "step": 455 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002808641975308642, + "loss": 0.758, + "step": 460 + }, + { + "epoch": 0.19, + "learning_rate": 0.00028055555555555554, + "loss": 0.7757, + "step": 465 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002802469135802469, + "loss": 0.7816, + "step": 470 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002799382716049382, + "loss": 0.7744, + "step": 475 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002796296296296296, + "loss": 0.7807, + "step": 480 + }, + { + "epoch": 0.19, + "learning_rate": 0.00027932098765432096, + "loss": 0.774, + "step": 485 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002790123456790123, + "loss": 0.7361, + "step": 490 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002787037037037037, + "loss": 0.7663, + "step": 495 + }, + { + "epoch": 0.2, + "learning_rate": 0.00027839506172839504, + "loss": 0.7532, + "step": 500 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002780864197530864, + "loss": 0.7573, + "step": 505 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002777777777777778, + "loss": 0.7802, + "step": 510 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002774691358024691, + "loss": 0.7871, + "step": 515 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027716049382716046, + "loss": 0.7734, + "step": 520 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002768518518518518, + "loss": 0.7752, + "step": 525 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002765432098765432, + "loss": 0.7697, + "step": 530 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027623456790123454, + "loss": 0.7846, + "step": 535 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002759259259259259, + "loss": 0.7592, + "step": 540 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002756172839506173, + "loss": 0.7734, + "step": 545 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002753086419753086, + "loss": 0.7984, + "step": 550 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027499999999999996, + "loss": 0.7342, + "step": 555 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027469135802469136, + "loss": 0.7479, + "step": 560 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002743827160493827, + "loss": 0.819, + "step": 565 + }, + { + "epoch": 0.23, + "learning_rate": 0.00027407407407407404, + "loss": 0.7561, + "step": 570 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002737654320987654, + "loss": 0.7303, + "step": 575 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002734567901234568, + "loss": 0.8001, + "step": 580 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002731481481481481, + "loss": 0.7738, + "step": 585 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027283950617283946, + "loss": 0.7866, + "step": 590 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027253086419753086, + "loss": 0.7582, + "step": 595 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002722222222222222, + "loss": 0.7645, + "step": 600 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027191358024691354, + "loss": 0.7839, + "step": 605 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002716049382716049, + "loss": 0.7931, + "step": 610 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002712962962962963, + "loss": 0.7692, + "step": 615 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002709876543209876, + "loss": 0.7835, + "step": 620 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027067901234567896, + "loss": 0.7795, + "step": 625 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027037037037037036, + "loss": 0.7639, + "step": 630 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002700617283950617, + "loss": 0.7705, + "step": 635 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026975308641975304, + "loss": 0.7674, + "step": 640 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026944444444444444, + "loss": 0.7349, + "step": 645 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002691358024691358, + "loss": 0.8008, + "step": 650 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002688271604938271, + "loss": 0.755, + "step": 655 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026851851851851847, + "loss": 0.7526, + "step": 660 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026820987654320986, + "loss": 0.7611, + "step": 665 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002679012345679012, + "loss": 0.7621, + "step": 670 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026759259259259255, + "loss": 0.7768, + "step": 675 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026728395061728394, + "loss": 0.7703, + "step": 680 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002669753086419753, + "loss": 0.7667, + "step": 685 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002666666666666666, + "loss": 0.7712, + "step": 690 + }, + { + "epoch": 0.28, + "learning_rate": 0.000266358024691358, + "loss": 0.7269, + "step": 695 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026604938271604936, + "loss": 0.7275, + "step": 700 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002657407407407407, + "loss": 0.7786, + "step": 705 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026543209876543205, + "loss": 0.7808, + "step": 710 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026512345679012344, + "loss": 0.7455, + "step": 715 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002648148148148148, + "loss": 0.7717, + "step": 720 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002645061728395061, + "loss": 0.737, + "step": 725 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002641975308641975, + "loss": 0.7664, + "step": 730 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026388888888888886, + "loss": 0.7716, + "step": 735 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026358024691358026, + "loss": 0.7638, + "step": 740 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026327160493827155, + "loss": 0.7777, + "step": 745 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026296296296296294, + "loss": 0.7431, + "step": 750 + }, + { + "epoch": 0.3, + "learning_rate": 0.0002626543209876543, + "loss": 0.7516, + "step": 755 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026234567901234563, + "loss": 0.831, + "step": 760 + }, + { + "epoch": 0.31, + "learning_rate": 0.000262037037037037, + "loss": 0.7423, + "step": 765 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026172839506172837, + "loss": 0.7471, + "step": 770 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002614197530864197, + "loss": 0.7551, + "step": 775 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002611111111111111, + "loss": 0.7208, + "step": 780 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026080246913580245, + "loss": 0.7359, + "step": 785 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026049382716049384, + "loss": 0.7759, + "step": 790 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026018518518518513, + "loss": 0.7406, + "step": 795 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002598765432098765, + "loss": 0.756, + "step": 800 + }, + { + "epoch": 0.32, + "learning_rate": 0.00025956790123456787, + "loss": 0.7631, + "step": 805 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002592592592592592, + "loss": 0.7885, + "step": 810 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002589506172839506, + "loss": 0.7947, + "step": 815 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025864197530864195, + "loss": 0.7557, + "step": 820 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025833333333333334, + "loss": 0.7556, + "step": 825 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002580246913580247, + "loss": 0.7472, + "step": 830 + }, + { + "epoch": 0.33, + "learning_rate": 0.000257716049382716, + "loss": 0.729, + "step": 835 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002574074074074074, + "loss": 0.7523, + "step": 840 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002570987654320987, + "loss": 0.7505, + "step": 845 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002567901234567901, + "loss": 0.7617, + "step": 850 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025648148148148145, + "loss": 0.7898, + "step": 855 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025617283950617284, + "loss": 0.7575, + "step": 860 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002558641975308642, + "loss": 0.8316, + "step": 865 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025555555555555553, + "loss": 0.7261, + "step": 870 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002552469135802469, + "loss": 0.7594, + "step": 875 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025493827160493826, + "loss": 0.7372, + "step": 880 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002546296296296296, + "loss": 0.7498, + "step": 885 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025432098765432095, + "loss": 0.7398, + "step": 890 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002540123456790123, + "loss": 0.804, + "step": 895 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002537037037037037, + "loss": 0.7241, + "step": 900 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025339506172839503, + "loss": 0.7519, + "step": 905 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002530864197530864, + "loss": 0.7694, + "step": 910 + }, + { + "epoch": 0.37, + "learning_rate": 0.00025277777777777777, + "loss": 0.7474, + "step": 915 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002524691358024691, + "loss": 0.7278, + "step": 920 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002521604938271605, + "loss": 0.7747, + "step": 925 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002518518518518518, + "loss": 0.7858, + "step": 930 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002515432098765432, + "loss": 0.7442, + "step": 935 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025123456790123453, + "loss": 0.7446, + "step": 940 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002509259259259259, + "loss": 0.7843, + "step": 945 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025061728395061727, + "loss": 0.7512, + "step": 950 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002503086419753086, + "loss": 0.7616, + "step": 955 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025, + "loss": 0.826, + "step": 960 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024969135802469135, + "loss": 0.7567, + "step": 965 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002493827160493827, + "loss": 0.7754, + "step": 970 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002490740740740741, + "loss": 0.7605, + "step": 975 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024876543209876537, + "loss": 0.7728, + "step": 980 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024845679012345677, + "loss": 0.7902, + "step": 985 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002481481481481481, + "loss": 0.7622, + "step": 990 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002478395061728395, + "loss": 0.745, + "step": 995 + }, + { + "epoch": 0.4, + "learning_rate": 0.00024753086419753085, + "loss": 0.7529, + "step": 1000 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002472222222222222, + "loss": 0.759, + "step": 1005 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002469135802469136, + "loss": 0.7471, + "step": 1010 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024660493827160493, + "loss": 0.7517, + "step": 1015 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024629629629629627, + "loss": 0.7634, + "step": 1020 + }, + { + "epoch": 0.41, + "learning_rate": 0.0002459876543209876, + "loss": 0.7833, + "step": 1025 + }, + { + "epoch": 0.41, + "learning_rate": 0.000245679012345679, + "loss": 0.7227, + "step": 1030 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024537037037037035, + "loss": 0.7792, + "step": 1035 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002450617283950617, + "loss": 0.7292, + "step": 1040 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002447530864197531, + "loss": 0.7519, + "step": 1045 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024444444444444443, + "loss": 0.7385, + "step": 1050 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024413580246913577, + "loss": 0.7842, + "step": 1055 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024382716049382714, + "loss": 0.796, + "step": 1060 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002435185185185185, + "loss": 0.7479, + "step": 1065 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024320987654320985, + "loss": 0.7531, + "step": 1070 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024290123456790122, + "loss": 0.731, + "step": 1075 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002425925925925926, + "loss": 0.7319, + "step": 1080 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024228395061728393, + "loss": 0.7381, + "step": 1085 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024197530864197527, + "loss": 0.7621, + "step": 1090 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024166666666666664, + "loss": 0.771, + "step": 1095 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024135802469135798, + "loss": 0.7493, + "step": 1100 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024104938271604935, + "loss": 0.7553, + "step": 1105 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024074074074074072, + "loss": 0.7862, + "step": 1110 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002404320987654321, + "loss": 0.7531, + "step": 1115 + }, + { + "epoch": 0.45, + "learning_rate": 0.00024012345679012343, + "loss": 0.7688, + "step": 1120 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002398148148148148, + "loss": 0.7666, + "step": 1125 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023950617283950617, + "loss": 0.7484, + "step": 1130 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023919753086419748, + "loss": 0.8048, + "step": 1135 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023888888888888885, + "loss": 0.757, + "step": 1140 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023858024691358022, + "loss": 0.7838, + "step": 1145 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002382716049382716, + "loss": 0.7834, + "step": 1150 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023796296296296293, + "loss": 0.733, + "step": 1155 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002376543209876543, + "loss": 0.7195, + "step": 1160 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023734567901234567, + "loss": 0.7478, + "step": 1165 + }, + { + "epoch": 0.47, + "learning_rate": 0.000237037037037037, + "loss": 0.7456, + "step": 1170 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023672839506172838, + "loss": 0.722, + "step": 1175 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023641975308641975, + "loss": 0.7395, + "step": 1180 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023611111111111112, + "loss": 0.7553, + "step": 1185 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023580246913580243, + "loss": 0.7692, + "step": 1190 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002354938271604938, + "loss": 0.7396, + "step": 1195 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023518518518518517, + "loss": 0.7214, + "step": 1200 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002348765432098765, + "loss": 0.7359, + "step": 1205 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023456790123456788, + "loss": 0.7666, + "step": 1210 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023425925925925925, + "loss": 0.7583, + "step": 1215 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002339506172839506, + "loss": 0.7715, + "step": 1220 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023364197530864196, + "loss": 0.7423, + "step": 1225 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002333333333333333, + "loss": 0.7598, + "step": 1230 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023302469135802467, + "loss": 0.7251, + "step": 1235 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023271604938271601, + "loss": 0.7447, + "step": 1240 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023240740740740738, + "loss": 0.7923, + "step": 1245 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023209876543209875, + "loss": 0.7161, + "step": 1250 + }, + { + "epoch": 0.5, + "learning_rate": 0.0002317901234567901, + "loss": 0.7291, + "step": 1255 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023148148148148146, + "loss": 0.7366, + "step": 1260 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023117283950617283, + "loss": 0.7173, + "step": 1265 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002308641975308642, + "loss": 0.7575, + "step": 1270 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023055555555555552, + "loss": 0.7632, + "step": 1275 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023024691358024688, + "loss": 0.7601, + "step": 1280 + }, + { + "epoch": 0.51, + "learning_rate": 0.00022993827160493825, + "loss": 0.7395, + "step": 1285 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002296296296296296, + "loss": 0.7686, + "step": 1290 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022932098765432096, + "loss": 0.7531, + "step": 1295 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022901234567901233, + "loss": 0.7675, + "step": 1300 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002287037037037037, + "loss": 0.8103, + "step": 1305 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022839506172839504, + "loss": 0.773, + "step": 1310 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002280864197530864, + "loss": 0.7549, + "step": 1315 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022777777777777778, + "loss": 0.7547, + "step": 1320 + }, + { + "epoch": 0.53, + "learning_rate": 0.0002274691358024691, + "loss": 0.758, + "step": 1325 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022716049382716047, + "loss": 0.77, + "step": 1330 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022685185185185183, + "loss": 0.7662, + "step": 1335 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022654320987654318, + "loss": 0.744, + "step": 1340 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022623456790123455, + "loss": 0.7486, + "step": 1345 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022592592592592591, + "loss": 0.7473, + "step": 1350 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022561728395061728, + "loss": 0.7486, + "step": 1355 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022530864197530862, + "loss": 0.7205, + "step": 1360 + }, + { + "epoch": 0.54, + "learning_rate": 0.000225, + "loss": 0.7289, + "step": 1365 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022469135802469134, + "loss": 0.7586, + "step": 1370 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022438271604938268, + "loss": 0.7175, + "step": 1375 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022407407407407405, + "loss": 0.6961, + "step": 1380 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022376543209876542, + "loss": 0.7242, + "step": 1385 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022345679012345678, + "loss": 0.7515, + "step": 1390 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022314814814814813, + "loss": 0.7522, + "step": 1395 + }, + { + "epoch": 0.56, + "learning_rate": 0.0002228395061728395, + "loss": 0.7651, + "step": 1400 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022253086419753086, + "loss": 0.6958, + "step": 1405 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022222222222222218, + "loss": 0.7336, + "step": 1410 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022191358024691355, + "loss": 0.7636, + "step": 1415 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022160493827160492, + "loss": 0.7583, + "step": 1420 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022129629629629626, + "loss": 0.7605, + "step": 1425 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022098765432098763, + "loss": 0.7109, + "step": 1430 + }, + { + "epoch": 0.57, + "learning_rate": 0.000220679012345679, + "loss": 0.7224, + "step": 1435 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022037037037037037, + "loss": 0.7724, + "step": 1440 + }, + { + "epoch": 0.58, + "learning_rate": 0.0002200617283950617, + "loss": 0.7637, + "step": 1445 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021975308641975308, + "loss": 0.7302, + "step": 1450 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021944444444444444, + "loss": 0.7685, + "step": 1455 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021913580246913576, + "loss": 0.751, + "step": 1460 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021882716049382713, + "loss": 0.7768, + "step": 1465 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002185185185185185, + "loss": 0.7461, + "step": 1470 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021820987654320987, + "loss": 0.7782, + "step": 1475 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002179012345679012, + "loss": 0.7474, + "step": 1480 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021759259259259258, + "loss": 0.7475, + "step": 1485 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021728395061728395, + "loss": 0.7539, + "step": 1490 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002169753086419753, + "loss": 0.7476, + "step": 1495 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021666666666666666, + "loss": 0.7382, + "step": 1500 + }, + { + "epoch": 0.6, + "learning_rate": 0.000216358024691358, + "loss": 0.7305, + "step": 1505 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021604938271604937, + "loss": 0.7455, + "step": 1510 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002157407407407407, + "loss": 0.7286, + "step": 1515 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021543209876543208, + "loss": 0.7653, + "step": 1520 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021512345679012345, + "loss": 0.7443, + "step": 1525 + }, + { + "epoch": 0.61, + "learning_rate": 0.0002148148148148148, + "loss": 0.7026, + "step": 1530 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021450617283950616, + "loss": 0.7436, + "step": 1535 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021419753086419753, + "loss": 0.7101, + "step": 1540 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021388888888888884, + "loss": 0.7484, + "step": 1545 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002135802469135802, + "loss": 0.7483, + "step": 1550 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021327160493827158, + "loss": 0.7419, + "step": 1555 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021296296296296295, + "loss": 0.7356, + "step": 1560 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002126543209876543, + "loss": 0.7716, + "step": 1565 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021234567901234566, + "loss": 0.734, + "step": 1570 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021203703703703703, + "loss": 0.7268, + "step": 1575 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021172839506172837, + "loss": 0.7133, + "step": 1580 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021141975308641974, + "loss": 0.7575, + "step": 1585 + }, + { + "epoch": 0.63, + "learning_rate": 0.0002111111111111111, + "loss": 0.7219, + "step": 1590 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021080246913580248, + "loss": 0.7394, + "step": 1595 + }, + { + "epoch": 0.64, + "learning_rate": 0.0002104938271604938, + "loss": 0.7729, + "step": 1600 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021018518518518516, + "loss": 0.757, + "step": 1605 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020987654320987653, + "loss": 0.7139, + "step": 1610 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020956790123456787, + "loss": 0.7492, + "step": 1615 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020925925925925924, + "loss": 0.7461, + "step": 1620 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002089506172839506, + "loss": 0.7276, + "step": 1625 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020864197530864198, + "loss": 0.7725, + "step": 1630 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020833333333333332, + "loss": 0.7623, + "step": 1635 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002080246913580247, + "loss": 0.7394, + "step": 1640 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020771604938271603, + "loss": 0.7387, + "step": 1645 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020740740740740737, + "loss": 0.7519, + "step": 1650 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020709876543209874, + "loss": 0.7625, + "step": 1655 + }, + { + "epoch": 0.66, + "learning_rate": 0.0002067901234567901, + "loss": 0.7254, + "step": 1660 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020648148148148145, + "loss": 0.7129, + "step": 1665 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020617283950617282, + "loss": 0.7964, + "step": 1670 + }, + { + "epoch": 0.67, + "learning_rate": 0.0002058641975308642, + "loss": 0.7332, + "step": 1675 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020555555555555556, + "loss": 0.7955, + "step": 1680 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020524691358024687, + "loss": 0.7544, + "step": 1685 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020493827160493824, + "loss": 0.7115, + "step": 1690 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002046296296296296, + "loss": 0.7434, + "step": 1695 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020432098765432095, + "loss": 0.7382, + "step": 1700 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020401234567901232, + "loss": 0.7452, + "step": 1705 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002037037037037037, + "loss": 0.7551, + "step": 1710 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020339506172839506, + "loss": 0.7202, + "step": 1715 + }, + { + "epoch": 0.69, + "learning_rate": 0.0002030864197530864, + "loss": 0.735, + "step": 1720 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020277777777777777, + "loss": 0.7581, + "step": 1725 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020246913580246914, + "loss": 0.7527, + "step": 1730 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020216049382716045, + "loss": 0.7498, + "step": 1735 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020185185185185182, + "loss": 0.735, + "step": 1740 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002015432098765432, + "loss": 0.7286, + "step": 1745 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020123456790123456, + "loss": 0.6891, + "step": 1750 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002009259259259259, + "loss": 0.7353, + "step": 1755 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020061728395061727, + "loss": 0.7386, + "step": 1760 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020030864197530864, + "loss": 0.7106, + "step": 1765 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019999999999999998, + "loss": 0.7207, + "step": 1770 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019969135802469135, + "loss": 0.7576, + "step": 1775 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019938271604938272, + "loss": 0.7462, + "step": 1780 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019907407407407404, + "loss": 0.7068, + "step": 1785 + }, + { + "epoch": 0.71, + "learning_rate": 0.0001987654320987654, + "loss": 0.7525, + "step": 1790 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019845679012345677, + "loss": 0.7291, + "step": 1795 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019814814814814814, + "loss": 0.7226, + "step": 1800 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019783950617283948, + "loss": 0.7445, + "step": 1805 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019753086419753085, + "loss": 0.7571, + "step": 1810 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019722222222222222, + "loss": 0.7306, + "step": 1815 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019691358024691354, + "loss": 0.7785, + "step": 1820 + }, + { + "epoch": 0.73, + "learning_rate": 0.0001966049382716049, + "loss": 0.7537, + "step": 1825 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019629629629629627, + "loss": 0.7549, + "step": 1830 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019598765432098764, + "loss": 0.732, + "step": 1835 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019567901234567898, + "loss": 0.7159, + "step": 1840 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019537037037037035, + "loss": 0.7549, + "step": 1845 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019506172839506172, + "loss": 0.7581, + "step": 1850 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019475308641975306, + "loss": 0.7559, + "step": 1855 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019444444444444443, + "loss": 0.7626, + "step": 1860 + }, + { + "epoch": 0.74, + "learning_rate": 0.0001941358024691358, + "loss": 0.7423, + "step": 1865 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019382716049382712, + "loss": 0.7672, + "step": 1870 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019351851851851849, + "loss": 0.7794, + "step": 1875 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019320987654320985, + "loss": 0.7428, + "step": 1880 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019290123456790122, + "loss": 0.7462, + "step": 1885 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019259259259259257, + "loss": 0.702, + "step": 1890 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019228395061728393, + "loss": 0.7626, + "step": 1895 + }, + { + "epoch": 0.76, + "learning_rate": 0.0001919753086419753, + "loss": 0.7357, + "step": 1900 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019166666666666665, + "loss": 0.7408, + "step": 1905 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019135802469135801, + "loss": 0.707, + "step": 1910 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019104938271604938, + "loss": 0.726, + "step": 1915 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019074074074074073, + "loss": 0.7396, + "step": 1920 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019043209876543207, + "loss": 0.7676, + "step": 1925 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019012345679012344, + "loss": 0.7335, + "step": 1930 + }, + { + "epoch": 0.77, + "learning_rate": 0.0001898148148148148, + "loss": 0.7235, + "step": 1935 + }, + { + "epoch": 0.77, + "learning_rate": 0.00018950617283950615, + "loss": 0.7297, + "step": 1940 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018919753086419752, + "loss": 0.7079, + "step": 1945 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018888888888888888, + "loss": 0.7629, + "step": 1950 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018858024691358025, + "loss": 0.7131, + "step": 1955 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018827160493827157, + "loss": 0.7517, + "step": 1960 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018796296296296294, + "loss": 0.7292, + "step": 1965 + }, + { + "epoch": 0.79, + "learning_rate": 0.0001876543209876543, + "loss": 0.7137, + "step": 1970 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018734567901234565, + "loss": 0.725, + "step": 1975 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018703703703703702, + "loss": 0.7444, + "step": 1980 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018672839506172839, + "loss": 0.7366, + "step": 1985 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018641975308641973, + "loss": 0.7329, + "step": 1990 + }, + { + "epoch": 0.8, + "learning_rate": 0.0001861111111111111, + "loss": 0.7037, + "step": 1995 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018580246913580247, + "loss": 0.7186, + "step": 2000 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018549382716049383, + "loss": 0.7322, + "step": 2005 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018518518518518515, + "loss": 0.7639, + "step": 2010 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018487654320987652, + "loss": 0.7426, + "step": 2015 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001845679012345679, + "loss": 0.7648, + "step": 2020 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018425925925925923, + "loss": 0.714, + "step": 2025 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001839506172839506, + "loss": 0.7091, + "step": 2030 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018364197530864197, + "loss": 0.7222, + "step": 2035 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018333333333333334, + "loss": 0.7491, + "step": 2040 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018302469135802468, + "loss": 0.7659, + "step": 2045 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018271604938271605, + "loss": 0.727, + "step": 2050 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018240740740740742, + "loss": 0.7416, + "step": 2055 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018209876543209873, + "loss": 0.697, + "step": 2060 + }, + { + "epoch": 0.82, + "learning_rate": 0.0001817901234567901, + "loss": 0.7408, + "step": 2065 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018148148148148147, + "loss": 0.7144, + "step": 2070 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018117283950617284, + "loss": 0.7745, + "step": 2075 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018086419753086418, + "loss": 0.7362, + "step": 2080 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018055555555555555, + "loss": 0.7378, + "step": 2085 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018024691358024692, + "loss": 0.7227, + "step": 2090 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017993827160493826, + "loss": 0.7408, + "step": 2095 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001796296296296296, + "loss": 0.7178, + "step": 2100 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017932098765432097, + "loss": 0.7401, + "step": 2105 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001790123456790123, + "loss": 0.7484, + "step": 2110 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017870370370370368, + "loss": 0.7271, + "step": 2115 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017839506172839505, + "loss": 0.7897, + "step": 2120 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017808641975308642, + "loss": 0.7374, + "step": 2125 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017777777777777776, + "loss": 0.7314, + "step": 2130 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017746913580246913, + "loss": 0.7338, + "step": 2135 + }, + { + "epoch": 0.85, + "learning_rate": 0.0001771604938271605, + "loss": 0.7536, + "step": 2140 + }, + { + "epoch": 0.86, + "learning_rate": 0.0001768518518518518, + "loss": 0.7501, + "step": 2145 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017654320987654318, + "loss": 0.7263, + "step": 2150 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017623456790123455, + "loss": 0.7468, + "step": 2155 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017592592592592592, + "loss": 0.7097, + "step": 2160 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017561728395061726, + "loss": 0.7261, + "step": 2165 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017530864197530863, + "loss": 0.7489, + "step": 2170 + }, + { + "epoch": 0.87, + "learning_rate": 0.000175, + "loss": 0.7149, + "step": 2175 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017469135802469134, + "loss": 0.7239, + "step": 2180 + }, + { + "epoch": 0.87, + "learning_rate": 0.0001743827160493827, + "loss": 0.7249, + "step": 2185 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017407407407407408, + "loss": 0.7506, + "step": 2190 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001737654320987654, + "loss": 0.7594, + "step": 2195 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017345679012345676, + "loss": 0.7412, + "step": 2200 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017314814814814813, + "loss": 0.7219, + "step": 2205 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001728395061728395, + "loss": 0.7655, + "step": 2210 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017253086419753084, + "loss": 0.735, + "step": 2215 + }, + { + "epoch": 0.89, + "learning_rate": 0.0001722222222222222, + "loss": 0.7214, + "step": 2220 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017191358024691358, + "loss": 0.7179, + "step": 2225 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017160493827160492, + "loss": 0.7208, + "step": 2230 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017129629629629626, + "loss": 0.7445, + "step": 2235 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017098765432098763, + "loss": 0.7, + "step": 2240 + }, + { + "epoch": 0.9, + "learning_rate": 0.000170679012345679, + "loss": 0.7571, + "step": 2245 + }, + { + "epoch": 0.9, + "learning_rate": 0.00017037037037037034, + "loss": 0.7076, + "step": 2250 + }, + { + "epoch": 0.9, + "learning_rate": 0.0001700617283950617, + "loss": 0.7027, + "step": 2255 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016975308641975308, + "loss": 0.7408, + "step": 2260 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016944444444444442, + "loss": 0.7095, + "step": 2265 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001691358024691358, + "loss": 0.7314, + "step": 2270 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016882716049382716, + "loss": 0.714, + "step": 2275 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016851851851851853, + "loss": 0.7442, + "step": 2280 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016820987654320984, + "loss": 0.7144, + "step": 2285 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001679012345679012, + "loss": 0.7252, + "step": 2290 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016759259259259258, + "loss": 0.7118, + "step": 2295 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016728395061728392, + "loss": 0.7444, + "step": 2300 + }, + { + "epoch": 0.92, + "learning_rate": 0.0001669753086419753, + "loss": 0.732, + "step": 2305 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016666666666666666, + "loss": 0.7394, + "step": 2310 + }, + { + "epoch": 0.92, + "learning_rate": 0.000166358024691358, + "loss": 0.7573, + "step": 2315 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016604938271604937, + "loss": 0.7543, + "step": 2320 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016574074074074074, + "loss": 0.7709, + "step": 2325 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001654320987654321, + "loss": 0.7372, + "step": 2330 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016512345679012342, + "loss": 0.7222, + "step": 2335 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001648148148148148, + "loss": 0.7505, + "step": 2340 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016450617283950616, + "loss": 0.7364, + "step": 2345 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001641975308641975, + "loss": 0.7001, + "step": 2350 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016388888888888887, + "loss": 0.7203, + "step": 2355 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016358024691358024, + "loss": 0.6906, + "step": 2360 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001632716049382716, + "loss": 0.7557, + "step": 2365 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016296296296296295, + "loss": 0.7261, + "step": 2370 + }, + { + "epoch": 0.95, + "learning_rate": 0.0001626543209876543, + "loss": 0.7182, + "step": 2375 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016234567901234566, + "loss": 0.7557, + "step": 2380 + }, + { + "epoch": 0.95, + "learning_rate": 0.000162037037037037, + "loss": 0.7251, + "step": 2385 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016172839506172837, + "loss": 0.7551, + "step": 2390 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016141975308641974, + "loss": 0.6976, + "step": 2395 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001611111111111111, + "loss": 0.7336, + "step": 2400 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016080246913580245, + "loss": 0.7023, + "step": 2405 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016049382716049382, + "loss": 0.7315, + "step": 2410 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001601851851851852, + "loss": 0.7092, + "step": 2415 + }, + { + "epoch": 0.97, + "learning_rate": 0.0001598765432098765, + "loss": 0.7381, + "step": 2420 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015956790123456788, + "loss": 0.7687, + "step": 2425 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015925925925925924, + "loss": 0.7447, + "step": 2430 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015895061728395059, + "loss": 0.7476, + "step": 2435 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015864197530864196, + "loss": 0.7436, + "step": 2440 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015833333333333332, + "loss": 0.7188, + "step": 2445 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001580246913580247, + "loss": 0.7284, + "step": 2450 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015771604938271603, + "loss": 0.739, + "step": 2455 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001574074074074074, + "loss": 0.7108, + "step": 2460 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015709876543209877, + "loss": 0.7101, + "step": 2465 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001567901234567901, + "loss": 0.7433, + "step": 2470 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015648148148148146, + "loss": 0.7009, + "step": 2475 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015617283950617283, + "loss": 0.7046, + "step": 2480 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001558641975308642, + "loss": 0.7267, + "step": 2485 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015555555555555554, + "loss": 0.7253, + "step": 2490 + }, + { + "epoch": 1.0, + "learning_rate": 0.0001552469135802469, + "loss": 0.6932, + "step": 2495 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015493827160493827, + "loss": 0.7542, + "step": 2500 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015462962962962962, + "loss": 0.7269, + "step": 2505 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015432098765432098, + "loss": 0.6682, + "step": 2510 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015401234567901233, + "loss": 0.6625, + "step": 2515 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001537037037037037, + "loss": 0.6818, + "step": 2520 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015339506172839504, + "loss": 0.6982, + "step": 2525 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001530864197530864, + "loss": 0.6749, + "step": 2530 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015277777777777777, + "loss": 0.6552, + "step": 2535 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015246913580246912, + "loss": 0.702, + "step": 2540 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015216049382716049, + "loss": 0.6748, + "step": 2545 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015185185185185185, + "loss": 0.6707, + "step": 2550 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015154320987654317, + "loss": 0.6886, + "step": 2555 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015123456790123454, + "loss": 0.72, + "step": 2560 + }, + { + "epoch": 1.02, + "learning_rate": 0.0001509259259259259, + "loss": 0.6959, + "step": 2565 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015061728395061728, + "loss": 0.6684, + "step": 2570 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015030864197530862, + "loss": 0.6896, + "step": 2575 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015, + "loss": 0.6791, + "step": 2580 + }, + { + "epoch": 1.03, + "learning_rate": 0.00014969135802469133, + "loss": 0.6848, + "step": 2585 + }, + { + "epoch": 1.03, + "learning_rate": 0.0001493827160493827, + "loss": 0.6471, + "step": 2590 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014907407407407407, + "loss": 0.6611, + "step": 2595 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014876543209876544, + "loss": 0.6975, + "step": 2600 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014845679012345678, + "loss": 0.6966, + "step": 2605 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014814814814814812, + "loss": 0.6894, + "step": 2610 + }, + { + "epoch": 1.04, + "learning_rate": 0.0001478395061728395, + "loss": 0.681, + "step": 2615 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014753086419753086, + "loss": 0.6723, + "step": 2620 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014722222222222223, + "loss": 0.6869, + "step": 2625 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014691358024691357, + "loss": 0.7015, + "step": 2630 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014660493827160494, + "loss": 0.6932, + "step": 2635 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014629629629629628, + "loss": 0.6901, + "step": 2640 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014598765432098765, + "loss": 0.6466, + "step": 2645 + }, + { + "epoch": 1.06, + "learning_rate": 0.000145679012345679, + "loss": 0.7214, + "step": 2650 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014537037037037036, + "loss": 0.6692, + "step": 2655 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014506172839506173, + "loss": 0.6935, + "step": 2660 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014475308641975307, + "loss": 0.6851, + "step": 2665 + }, + { + "epoch": 1.07, + "learning_rate": 0.0001444444444444444, + "loss": 0.6856, + "step": 2670 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014413580246913578, + "loss": 0.6895, + "step": 2675 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014382716049382715, + "loss": 0.6562, + "step": 2680 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014351851851851852, + "loss": 0.6787, + "step": 2685 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014320987654320986, + "loss": 0.6733, + "step": 2690 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014290123456790123, + "loss": 0.6769, + "step": 2695 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014259259259259257, + "loss": 0.6543, + "step": 2700 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014228395061728394, + "loss": 0.6624, + "step": 2705 + }, + { + "epoch": 1.08, + "learning_rate": 0.0001419753086419753, + "loss": 0.6712, + "step": 2710 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014166666666666665, + "loss": 0.6868, + "step": 2715 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014135802469135802, + "loss": 0.6584, + "step": 2720 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014104938271604936, + "loss": 0.6901, + "step": 2725 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014074074074074073, + "loss": 0.6662, + "step": 2730 + }, + { + "epoch": 1.09, + "learning_rate": 0.0001404320987654321, + "loss": 0.6788, + "step": 2735 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014012345679012344, + "loss": 0.7102, + "step": 2740 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001398148148148148, + "loss": 0.6997, + "step": 2745 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013950617283950615, + "loss": 0.6888, + "step": 2750 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013919753086419752, + "loss": 0.675, + "step": 2755 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001388888888888889, + "loss": 0.6674, + "step": 2760 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013858024691358023, + "loss": 0.6982, + "step": 2765 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001382716049382716, + "loss": 0.6847, + "step": 2770 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013796296296296294, + "loss": 0.7183, + "step": 2775 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001376543209876543, + "loss": 0.6647, + "step": 2780 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013734567901234568, + "loss": 0.6794, + "step": 2785 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013703703703703702, + "loss": 0.6852, + "step": 2790 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001367283950617284, + "loss": 0.6638, + "step": 2795 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013641975308641973, + "loss": 0.7229, + "step": 2800 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001361111111111111, + "loss": 0.6804, + "step": 2805 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013580246913580244, + "loss": 0.7028, + "step": 2810 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001354938271604938, + "loss": 0.6775, + "step": 2815 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013518518518518518, + "loss": 0.6511, + "step": 2820 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013487654320987652, + "loss": 0.6952, + "step": 2825 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001345679012345679, + "loss": 0.6555, + "step": 2830 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013425925925925923, + "loss": 0.6738, + "step": 2835 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001339506172839506, + "loss": 0.6576, + "step": 2840 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013364197530864197, + "loss": 0.6679, + "step": 2845 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001333333333333333, + "loss": 0.6787, + "step": 2850 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013302469135802468, + "loss": 0.6604, + "step": 2855 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013271604938271602, + "loss": 0.6733, + "step": 2860 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001324074074074074, + "loss": 0.6829, + "step": 2865 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013209876543209876, + "loss": 0.6757, + "step": 2870 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013179012345679013, + "loss": 0.6709, + "step": 2875 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013148148148148147, + "loss": 0.6975, + "step": 2880 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013117283950617281, + "loss": 0.6719, + "step": 2885 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013086419753086418, + "loss": 0.664, + "step": 2890 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013055555555555555, + "loss": 0.6839, + "step": 2895 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013024691358024692, + "loss": 0.706, + "step": 2900 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012993827160493826, + "loss": 0.6666, + "step": 2905 + }, + { + "epoch": 1.16, + "learning_rate": 0.0001296296296296296, + "loss": 0.6783, + "step": 2910 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012932098765432097, + "loss": 0.6746, + "step": 2915 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012901234567901234, + "loss": 0.6933, + "step": 2920 + }, + { + "epoch": 1.17, + "learning_rate": 0.0001287037037037037, + "loss": 0.6605, + "step": 2925 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012839506172839505, + "loss": 0.6757, + "step": 2930 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012808641975308642, + "loss": 0.6385, + "step": 2935 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012777777777777776, + "loss": 0.6673, + "step": 2940 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012746913580246913, + "loss": 0.6862, + "step": 2945 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012716049382716047, + "loss": 0.6869, + "step": 2950 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012685185185185184, + "loss": 0.6392, + "step": 2955 + }, + { + "epoch": 1.18, + "learning_rate": 0.0001265432098765432, + "loss": 0.6928, + "step": 2960 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012623456790123455, + "loss": 0.6876, + "step": 2965 + }, + { + "epoch": 1.19, + "learning_rate": 0.0001259259259259259, + "loss": 0.6767, + "step": 2970 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012561728395061726, + "loss": 0.6828, + "step": 2975 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012530864197530863, + "loss": 0.6716, + "step": 2980 + }, + { + "epoch": 1.19, + "learning_rate": 0.000125, + "loss": 0.6753, + "step": 2985 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012469135802469134, + "loss": 0.7025, + "step": 2990 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012438271604938269, + "loss": 0.6941, + "step": 2995 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012407407407407406, + "loss": 0.7042, + "step": 3000 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012376543209876542, + "loss": 0.6651, + "step": 3005 + }, + { + "epoch": 1.2, + "learning_rate": 0.0001234567901234568, + "loss": 0.6793, + "step": 3010 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012314814814814813, + "loss": 0.6473, + "step": 3015 + }, + { + "epoch": 1.21, + "learning_rate": 0.0001228395061728395, + "loss": 0.6683, + "step": 3020 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012253086419753085, + "loss": 0.6697, + "step": 3025 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012222222222222221, + "loss": 0.6639, + "step": 3030 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012191358024691357, + "loss": 0.6642, + "step": 3035 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012160493827160493, + "loss": 0.6654, + "step": 3040 + }, + { + "epoch": 1.22, + "learning_rate": 0.0001212962962962963, + "loss": 0.712, + "step": 3045 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012098765432098764, + "loss": 0.6702, + "step": 3050 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012067901234567899, + "loss": 0.6857, + "step": 3055 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012037037037037036, + "loss": 0.6755, + "step": 3060 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012006172839506172, + "loss": 0.6617, + "step": 3065 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011975308641975308, + "loss": 0.6794, + "step": 3070 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011944444444444443, + "loss": 0.6807, + "step": 3075 + }, + { + "epoch": 1.23, + "learning_rate": 0.0001191358024691358, + "loss": 0.661, + "step": 3080 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011882716049382715, + "loss": 0.691, + "step": 3085 + }, + { + "epoch": 1.23, + "learning_rate": 0.0001185185185185185, + "loss": 0.6799, + "step": 3090 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011820987654320988, + "loss": 0.6598, + "step": 3095 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011790123456790122, + "loss": 0.7039, + "step": 3100 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011759259259259259, + "loss": 0.6943, + "step": 3105 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011728395061728394, + "loss": 0.7052, + "step": 3110 + }, + { + "epoch": 1.24, + "learning_rate": 0.0001169753086419753, + "loss": 0.6884, + "step": 3115 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011666666666666665, + "loss": 0.711, + "step": 3120 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011635802469135801, + "loss": 0.702, + "step": 3125 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011604938271604938, + "loss": 0.6905, + "step": 3130 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011574074074074073, + "loss": 0.6433, + "step": 3135 + }, + { + "epoch": 1.25, + "learning_rate": 0.0001154320987654321, + "loss": 0.6643, + "step": 3140 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011512345679012344, + "loss": 0.6841, + "step": 3145 + }, + { + "epoch": 1.26, + "learning_rate": 0.0001148148148148148, + "loss": 0.6423, + "step": 3150 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011450617283950617, + "loss": 0.651, + "step": 3155 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011419753086419752, + "loss": 0.6819, + "step": 3160 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011388888888888889, + "loss": 0.7022, + "step": 3165 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011358024691358023, + "loss": 0.6715, + "step": 3170 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011327160493827159, + "loss": 0.6813, + "step": 3175 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011296296296296296, + "loss": 0.6756, + "step": 3180 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011265432098765431, + "loss": 0.7021, + "step": 3185 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011234567901234567, + "loss": 0.698, + "step": 3190 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011203703703703702, + "loss": 0.6465, + "step": 3195 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011172839506172839, + "loss": 0.6546, + "step": 3200 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011141975308641975, + "loss": 0.6758, + "step": 3205 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011111111111111109, + "loss": 0.6447, + "step": 3210 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011080246913580246, + "loss": 0.6741, + "step": 3215 + }, + { + "epoch": 1.29, + "learning_rate": 0.00011049382716049381, + "loss": 0.6846, + "step": 3220 + }, + { + "epoch": 1.29, + "learning_rate": 0.00011018518518518518, + "loss": 0.6573, + "step": 3225 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010987654320987654, + "loss": 0.6738, + "step": 3230 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010956790123456788, + "loss": 0.6782, + "step": 3235 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010925925925925925, + "loss": 0.6815, + "step": 3240 + }, + { + "epoch": 1.3, + "learning_rate": 0.0001089506172839506, + "loss": 0.6714, + "step": 3245 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010864197530864197, + "loss": 0.6839, + "step": 3250 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010833333333333333, + "loss": 0.6564, + "step": 3255 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010802469135802468, + "loss": 0.6524, + "step": 3260 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010771604938271604, + "loss": 0.6636, + "step": 3265 + }, + { + "epoch": 1.31, + "learning_rate": 0.0001074074074074074, + "loss": 0.66, + "step": 3270 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010709876543209876, + "loss": 0.7089, + "step": 3275 + }, + { + "epoch": 1.31, + "learning_rate": 0.0001067901234567901, + "loss": 0.6692, + "step": 3280 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010648148148148147, + "loss": 0.6871, + "step": 3285 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010617283950617283, + "loss": 0.6749, + "step": 3290 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010586419753086418, + "loss": 0.684, + "step": 3295 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010555555555555555, + "loss": 0.6803, + "step": 3300 + }, + { + "epoch": 1.32, + "learning_rate": 0.0001052469135802469, + "loss": 0.6932, + "step": 3305 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010493827160493826, + "loss": 0.6542, + "step": 3310 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010462962962962962, + "loss": 0.6494, + "step": 3315 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010432098765432099, + "loss": 0.6804, + "step": 3320 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010401234567901234, + "loss": 0.6709, + "step": 3325 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010370370370370369, + "loss": 0.7199, + "step": 3330 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010339506172839506, + "loss": 0.6677, + "step": 3335 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010308641975308641, + "loss": 0.6657, + "step": 3340 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010277777777777778, + "loss": 0.6811, + "step": 3345 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010246913580246912, + "loss": 0.6635, + "step": 3350 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010216049382716048, + "loss": 0.6696, + "step": 3355 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010185185185185185, + "loss": 0.6926, + "step": 3360 + }, + { + "epoch": 1.34, + "learning_rate": 0.0001015432098765432, + "loss": 0.6638, + "step": 3365 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010123456790123457, + "loss": 0.6518, + "step": 3370 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010092592592592591, + "loss": 0.6521, + "step": 3375 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010061728395061728, + "loss": 0.6809, + "step": 3380 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010030864197530864, + "loss": 0.6887, + "step": 3385 + }, + { + "epoch": 1.35, + "learning_rate": 9.999999999999999e-05, + "loss": 0.6924, + "step": 3390 + }, + { + "epoch": 1.36, + "learning_rate": 9.969135802469136e-05, + "loss": 0.6674, + "step": 3395 + }, + { + "epoch": 1.36, + "learning_rate": 9.93827160493827e-05, + "loss": 0.6908, + "step": 3400 + }, + { + "epoch": 1.36, + "learning_rate": 9.907407407407407e-05, + "loss": 0.6959, + "step": 3405 + }, + { + "epoch": 1.36, + "learning_rate": 9.876543209876543e-05, + "loss": 0.7068, + "step": 3410 + }, + { + "epoch": 1.36, + "learning_rate": 9.845679012345677e-05, + "loss": 0.6694, + "step": 3415 + }, + { + "epoch": 1.37, + "learning_rate": 9.814814814814814e-05, + "loss": 0.6214, + "step": 3420 + }, + { + "epoch": 1.37, + "learning_rate": 9.783950617283949e-05, + "loss": 0.6534, + "step": 3425 + }, + { + "epoch": 1.37, + "learning_rate": 9.753086419753086e-05, + "loss": 0.6708, + "step": 3430 + }, + { + "epoch": 1.37, + "learning_rate": 9.722222222222222e-05, + "loss": 0.6624, + "step": 3435 + }, + { + "epoch": 1.37, + "learning_rate": 9.691358024691356e-05, + "loss": 0.676, + "step": 3440 + }, + { + "epoch": 1.38, + "learning_rate": 9.660493827160493e-05, + "loss": 0.6516, + "step": 3445 + }, + { + "epoch": 1.38, + "learning_rate": 9.629629629629628e-05, + "loss": 0.6688, + "step": 3450 + }, + { + "epoch": 1.38, + "learning_rate": 9.598765432098765e-05, + "loss": 0.6658, + "step": 3455 + }, + { + "epoch": 1.38, + "learning_rate": 9.567901234567901e-05, + "loss": 0.6582, + "step": 3460 + }, + { + "epoch": 1.38, + "learning_rate": 9.537037037037036e-05, + "loss": 0.6609, + "step": 3465 + }, + { + "epoch": 1.39, + "learning_rate": 9.506172839506172e-05, + "loss": 0.6827, + "step": 3470 + }, + { + "epoch": 1.39, + "learning_rate": 9.475308641975307e-05, + "loss": 0.6683, + "step": 3475 + }, + { + "epoch": 1.39, + "learning_rate": 9.444444444444444e-05, + "loss": 0.6609, + "step": 3480 + }, + { + "epoch": 1.39, + "learning_rate": 9.413580246913578e-05, + "loss": 0.6608, + "step": 3485 + }, + { + "epoch": 1.39, + "learning_rate": 9.382716049382715e-05, + "loss": 0.6539, + "step": 3490 + }, + { + "epoch": 1.4, + "learning_rate": 9.351851851851851e-05, + "loss": 0.6515, + "step": 3495 + }, + { + "epoch": 1.4, + "learning_rate": 9.320987654320986e-05, + "loss": 0.6662, + "step": 3500 + } + ], + "logging_steps": 5, + "max_steps": 5010, + "num_input_tokens_seen": 0, + "num_train_epochs": 2, + "save_steps": 500, + "total_flos": 1.408889273989464e+19, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/training_args.bin b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..76b046c47941a0df0a1cf17415d227f3e8416d3b --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc4247ac8c6f92ef49080d32b2520dd809daff76a4805fdafb6e454ee1c5cc3 +size 5944 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/zero_to_fp32.py b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/zero_to_fp32.py new file mode 100644 index 0000000000000000000000000000000000000000..c98caae31534368be22b67fc4ae906836c992a8d --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-3500/zero_to_fp32.py @@ -0,0 +1,587 @@ +#!/usr/bin/env python + +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: Apache-2.0 + +# DeepSpeed Team + +# This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets +# copied into the top level checkpoint dir, so the user can easily do the conversion at any point in +# the future. Once extracted, the weights don't require DeepSpeed and can be used in any +# application. +# +# example: python zero_to_fp32.py . pytorch_model.bin + +import argparse +import torch +import glob +import math +import os +import re +from collections import OrderedDict +from dataclasses import dataclass + +# while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with +# DeepSpeed data structures it has to be available in the current python environment. +from deepspeed.utils import logger +from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS, + FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES, + FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS) + + +@dataclass +class zero_model_state: + buffers: dict() + param_shapes: dict() + shared_params: list + ds_version: int + frozen_param_shapes: dict() + frozen_param_fragments: dict() + + +debug = 0 + +# load to cpu +device = torch.device('cpu') + + +def atoi(text): + return int(text) if text.isdigit() else text + + +def natural_keys(text): + ''' + alist.sort(key=natural_keys) sorts in human order + http://nedbatchelder.com/blog/200712/human_sorting.html + (See Toothy's implementation in the comments) + ''' + return [atoi(c) for c in re.split(r'(\d+)', text)] + + +def get_model_state_file(checkpoint_dir, zero_stage): + if not os.path.isdir(checkpoint_dir): + raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist") + + # there should be only one file + if zero_stage <= 2: + file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt") + elif zero_stage == 3: + file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt") + + if not os.path.exists(file): + raise FileNotFoundError(f"can't find model states file at '{file}'") + + return file + + +def get_checkpoint_files(checkpoint_dir, glob_pattern): + # XXX: need to test that this simple glob rule works for multi-node setup too + ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys) + + if len(ckpt_files) == 0: + raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'") + + return ckpt_files + + +def get_optim_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt") + + +def get_model_state_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_model_states.pt") + + +def parse_model_states(files): + zero_model_states = [] + for file in files: + state_dict = torch.load(file, map_location=device) + + if BUFFER_NAMES not in state_dict: + raise ValueError(f"{file} is not a model state checkpoint") + buffer_names = state_dict[BUFFER_NAMES] + if debug: + print("Found buffers:", buffer_names) + + # recover just the buffers while restoring them to fp32 if they were saved in fp16 + buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names} + param_shapes = state_dict[PARAM_SHAPES] + + # collect parameters that are included in param_shapes + param_names = [] + for s in param_shapes: + for name in s.keys(): + param_names.append(name) + + # update with frozen parameters + frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None) + if frozen_param_shapes is not None: + if debug: + print(f"Found frozen_param_shapes: {frozen_param_shapes}") + param_names += list(frozen_param_shapes.keys()) + + # handle shared params + shared_params = [[k, v] for k, v in state_dict["shared_params"].items()] + + ds_version = state_dict.get(DS_VERSION, None) + + frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None) + + z_model_state = zero_model_state(buffers=buffers, + param_shapes=param_shapes, + shared_params=shared_params, + ds_version=ds_version, + frozen_param_shapes=frozen_param_shapes, + frozen_param_fragments=frozen_param_fragments) + zero_model_states.append(z_model_state) + + return zero_model_states + + +def parse_optim_states(files, ds_checkpoint_dir): + + total_files = len(files) + state_dicts = [] + for f in files: + state_dict = torch.load(f, map_location=device) + # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights + # and also handle the case where it was already removed by another helper script + state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None) + state_dicts.append(state_dict) + + if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]: + raise ValueError(f"{files[0]} is not a zero checkpoint") + zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE] + world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT] + + # For ZeRO-2 each param group can have different partition_count as data parallelism for expert + # parameters can be different from data parallelism for non-expert parameters. So we can just + # use the max of the partition_count to get the dp world_size. + + if type(world_size) is list: + world_size = max(world_size) + + if world_size != total_files: + raise ValueError( + f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. " + "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes." + ) + + # the groups are named differently in each stage + if zero_stage <= 2: + fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS + elif zero_stage == 3: + fp32_groups_key = FP32_FLAT_GROUPS + else: + raise ValueError(f"unknown zero stage {zero_stage}") + + if zero_stage <= 2: + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))] + elif zero_stage == 3: + # if there is more than one param group, there will be multiple flattened tensors - one + # flattened tensor per group - for simplicity merge them into a single tensor + # + # XXX: could make the script more memory efficient for when there are multiple groups - it + # will require matching the sub-lists of param_shapes for each param group flattened tensor + + fp32_flat_groups = [ + torch.cat(state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key], 0) for i in range(len(state_dicts)) + ] + + return zero_stage, world_size, fp32_flat_groups + + +def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir): + """ + Returns fp32 state_dict reconstructed from ds checkpoint + + Args: + - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are) + + """ + print(f"Processing zero checkpoint '{ds_checkpoint_dir}'") + + optim_files = get_optim_files(ds_checkpoint_dir) + zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir) + print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}") + + model_files = get_model_state_files(ds_checkpoint_dir) + + zero_model_states = parse_model_states(model_files) + print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}') + + if zero_stage <= 2: + return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states) + + +def _zero2_merge_frozen_params(state_dict, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + frozen_param_fragments = zero_model_states[0].frozen_param_fragments + + if debug: + num_elem = sum(s.numel() for s in frozen_param_shapes.values()) + print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in frozen_param_fragments.values()]) + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + state_dict[name] = frozen_param_fragments[name] + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + + # Reconstruction protocol: + # + # XXX: document this + + if debug: + for i in range(world_size): + for j in range(len(fp32_flat_groups[0])): + print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}") + + # XXX: memory usage doubles here (zero2) + num_param_groups = len(fp32_flat_groups[0]) + merged_single_partition_of_fp32_groups = [] + for i in range(num_param_groups): + merged_partitions = [sd[i] for sd in fp32_flat_groups] + full_single_fp32_vector = torch.cat(merged_partitions, 0) + merged_single_partition_of_fp32_groups.append(full_single_fp32_vector) + avail_numel = sum( + [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups]) + + if debug: + wanted_params = sum([len(shapes) for shapes in param_shapes]) + wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes]) + # not asserting if there is a mismatch due to possible padding + print(f"Have {avail_numel} numels to process.") + print(f"Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + total_numel = 0 + total_params = 0 + for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups): + offset = 0 + avail_numel = full_single_fp32_vector.numel() + for name, shape in shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape) + offset += unpartitioned_numel + + # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and + # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex + # paddings performed in the code it's almost impossible to predict the exact numbers w/o the + # live optimizer object, so we are checking that the numbers are within the right range + align_to = 2 * world_size + + def zero2_align(x): + return align_to * math.ceil(x / align_to) + + if debug: + print(f"original offset={offset}, avail_numel={avail_numel}") + + offset = zero2_align(offset) + avail_numel = zero2_align(avail_numel) + + if debug: + print(f"aligned offset={offset}, avail_numel={avail_numel}") + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero2_merge_frozen_params(state_dict, zero_model_states) + + _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def zero3_partitioned_param_info(unpartitioned_numel, world_size): + remainder = unpartitioned_numel % world_size + padding_numel = (world_size - remainder) if remainder else 0 + partitioned_numel = math.ceil(unpartitioned_numel / world_size) + return partitioned_numel, padding_numel + + +def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + if debug: + for i in range(world_size): + num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values()) + print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in zero_model_states[0].frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states) + state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape) + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + avail_numel = fp32_flat_groups[0].numel() * world_size + # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each + # param, re-consolidating each param, while dealing with padding if any + + # merge list of dicts, preserving order + param_shapes = {k: v for d in param_shapes for k, v in d.items()} + + if debug: + for i in range(world_size): + print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}") + + wanted_params = len(param_shapes) + wanted_numel = sum(shape.numel() for shape in param_shapes.values()) + # not asserting if there is a mismatch due to possible padding + avail_numel = fp32_flat_groups[0].numel() * world_size + print(f"Trainable params: Have {avail_numel} numels to process.") + print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + offset = 0 + total_numel = 0 + total_params = 0 + for name, shape in param_shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + # XXX: memory usage doubles here + state_dict[name] = torch.cat( + tuple(fp32_flat_groups[i].narrow(0, offset, partitioned_numel) for i in range(world_size)), + 0).narrow(0, 0, unpartitioned_numel).view(shape) + offset += partitioned_numel + + offset *= world_size + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero3_merge_frozen_params(state_dict, world_size, zero_model_states) + + _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with + ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example + via a model hub. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder + - ``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`` + + Returns: + - pytorch ``state_dict`` + + Note: this approach may not work if your application doesn't have sufficient free CPU memory and + you may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + # do the training and checkpoint saving + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu + model = model.cpu() # move to cpu + model.load_state_dict(state_dict) + # submit to model hub or save the model to share with others + + In this example the ``model`` will no longer be usable in the deepspeed context of the same + application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead. + + """ + if tag is None: + latest_path = os.path.join(checkpoint_dir, 'latest') + if os.path.isfile(latest_path): + with open(latest_path, 'r') as fd: + tag = fd.read().strip() + else: + raise ValueError(f"Unable to find 'latest' file at {latest_path}") + + ds_checkpoint_dir = os.path.join(checkpoint_dir, tag) + + if not os.path.isdir(ds_checkpoint_dir): + raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist") + + return _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, output_file, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be + loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``output_file``: path to the pytorch fp32 state_dict output file (e.g. path/pytorch_model.bin) + - ``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`` + """ + + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + print(f"Saving fp32 state dict to {output_file}") + torch.save(state_dict, output_file) + + +def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None): + """ + 1. Put the provided model to cpu + 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` + 3. Load it into the provided model + + Args: + - ``model``: the model object to update + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``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`` + + Returns: + - ``model`: modified model + + Make sure you have plenty of CPU memory available before you call this function. If you don't + have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it + conveniently placed for you in the checkpoint folder. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint + model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir) + # submit to model hub or save the model to share with others + + Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context + of the same application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + """ + logger.info(f"Extracting fp32 weights") + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + + logger.info(f"Overwriting model with fp32 weights") + model = model.cpu() + model.load_state_dict(state_dict, strict=False) + + return model + + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument("checkpoint_dir", + type=str, + help="path to the desired checkpoint folder, e.g., path/checkpoint-12") + parser.add_argument( + "output_file", + type=str, + help="path to the pytorch fp32 state_dict output file (e.g. path/checkpoint-12/pytorch_model.bin)") + parser.add_argument("-t", + "--tag", + type=str, + default=None, + help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1") + parser.add_argument("-d", "--debug", action='store_true', help="enable debug") + args = parser.parse_args() + + debug = args.debug + + convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir, args.output_file, tag=args.tag) diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/README.md b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2aa897f8fa13b49ce76b1fa188781e5f726e7d13 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/README.md @@ -0,0 +1,202 @@ +--- +base_model: meta-llama/Llama-2-7b-hf +library_name: peft +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.9.0 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/adapter_config.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..9c81a592f0ff08374a4f61f6003029070a8429ae --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/adapter_config.json @@ -0,0 +1,35 @@ +{ + "alpha_pattern": {}, + "auto_mapping": null, + "base_model_name_or_path": "meta-llama/Llama-2-7b-hf", + "bias": "none", + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 16, + "lora_dropout": 0.05, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "mora_type": 1, + "peft_type": "LORA", + "r": 8, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "k_proj", + "v_proj", + "o_proj", + "gate_proj", + "down_proj", + "up_proj" + ], + "task_type": "CAUSAL_LM", + "use_dora": false, + "use_mora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/adapter_model.safetensors b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..565eb6d7d5c915ec041c46a8ccf24c2d14e39d03 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41f677c1f3fd50c1932f41bc8ffdbfd5730d902f8dd993784b4c041e5f0e0ff0 +size 564342240 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/global_step4000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/global_step4000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..a162590af562236284d3a21ccc220df24d468241 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/global_step4000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f6d697569600af92745c1311e79ec01741ac039579ccae36d37576986fcc829 +size 239914224 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/global_step4000/mp_rank_00_model_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/global_step4000/mp_rank_00_model_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..d40092333e6959d93fae275f3fca346585a9bde4 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/global_step4000/mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4921413d75f74e28f55d9181982b23056673de44a3f38d0e206a710c215528b +size 40303404 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/latest b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/latest new file mode 100644 index 0000000000000000000000000000000000000000..641c40ce8d5e05e04a0840d69bcc5fac045a3fbd --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/latest @@ -0,0 +1 @@ +global_step4000 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/rng_state.pth b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..c1f34143f345a3a07de72bbfc65ff1e6940c3c90 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d71993ac3ca0024cc1313d07edd34ca691097104341c6887989afddf4094c8c +size 14244 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/scheduler.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..746b521ee2225d4931a0f64f8607d0f8ea47cc93 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9827133e9db52d080cc9c4af2579d210dcd995fbcef6d6e8a82b6e2685606354 +size 1064 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/trainer_state.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..ff68b402fdf23b80817aba98c110e6d65eca5adf --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/trainer_state.json @@ -0,0 +1,4821 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 1.5966569994074906, + "eval_steps": 500, + "global_step": 4000, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.0, + "learning_rate": 9.999999999999999e-06, + "loss": 1.38, + "step": 5 + }, + { + "epoch": 0.0, + "learning_rate": 1.9999999999999998e-05, + "loss": 1.3936, + "step": 10 + }, + { + "epoch": 0.01, + "learning_rate": 2.9999999999999997e-05, + "loss": 1.3006, + "step": 15 + }, + { + "epoch": 0.01, + "learning_rate": 3.9999999999999996e-05, + "loss": 1.2594, + "step": 20 + }, + { + "epoch": 0.01, + "learning_rate": 4.9999999999999996e-05, + "loss": 1.1177, + "step": 25 + }, + { + "epoch": 0.01, + "learning_rate": 5.9999999999999995e-05, + "loss": 1.0481, + "step": 30 + }, + { + "epoch": 0.01, + "learning_rate": 7e-05, + "loss": 1.0601, + "step": 35 + }, + { + "epoch": 0.02, + "learning_rate": 7.999999999999999e-05, + "loss": 1.0473, + "step": 40 + }, + { + "epoch": 0.02, + "learning_rate": 8.999999999999999e-05, + "loss": 0.9523, + "step": 45 + }, + { + "epoch": 0.02, + "learning_rate": 9.999999999999999e-05, + "loss": 0.9451, + "step": 50 + }, + { + "epoch": 0.02, + "learning_rate": 0.00010999999999999998, + "loss": 0.9687, + "step": 55 + }, + { + "epoch": 0.02, + "learning_rate": 0.00011999999999999999, + "loss": 0.9054, + "step": 60 + }, + { + "epoch": 0.03, + "learning_rate": 0.00013, + "loss": 0.9518, + "step": 65 + }, + { + "epoch": 0.03, + "learning_rate": 0.00014, + "loss": 0.8763, + "step": 70 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015, + "loss": 0.8657, + "step": 75 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015999999999999999, + "loss": 0.9145, + "step": 80 + }, + { + "epoch": 0.03, + "learning_rate": 0.00016999999999999999, + "loss": 0.8296, + "step": 85 + }, + { + "epoch": 0.04, + "learning_rate": 0.00017999999999999998, + "loss": 0.8709, + "step": 90 + }, + { + "epoch": 0.04, + "learning_rate": 0.00018999999999999998, + "loss": 0.8405, + "step": 95 + }, + { + "epoch": 0.04, + "learning_rate": 0.00019999999999999998, + "loss": 0.8604, + "step": 100 + }, + { + "epoch": 0.04, + "learning_rate": 0.00020999999999999998, + "loss": 0.8607, + "step": 105 + }, + { + "epoch": 0.04, + "learning_rate": 0.00021999999999999995, + "loss": 0.8376, + "step": 110 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023, + "loss": 0.8554, + "step": 115 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023999999999999998, + "loss": 0.8456, + "step": 120 + }, + { + "epoch": 0.05, + "learning_rate": 0.00025, + "loss": 0.8443, + "step": 125 + }, + { + "epoch": 0.05, + "learning_rate": 0.00026, + "loss": 0.8327, + "step": 130 + }, + { + "epoch": 0.05, + "learning_rate": 0.00027, + "loss": 0.8096, + "step": 135 + }, + { + "epoch": 0.06, + "learning_rate": 0.00028, + "loss": 0.7972, + "step": 140 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029, + "loss": 0.8306, + "step": 145 + }, + { + "epoch": 0.06, + "learning_rate": 0.0003, + "loss": 0.8409, + "step": 150 + }, + { + "epoch": 0.06, + "learning_rate": 0.0002996913580246913, + "loss": 0.8094, + "step": 155 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029938271604938266, + "loss": 0.8146, + "step": 160 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029907407407407405, + "loss": 0.8042, + "step": 165 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002987654320987654, + "loss": 0.7784, + "step": 170 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002984567901234568, + "loss": 0.828, + "step": 175 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029814814814814813, + "loss": 0.8473, + "step": 180 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002978395061728395, + "loss": 0.8354, + "step": 185 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029753086419753087, + "loss": 0.8246, + "step": 190 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029722222222222216, + "loss": 0.8249, + "step": 195 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029691358024691355, + "loss": 0.8222, + "step": 200 + }, + { + "epoch": 0.08, + "learning_rate": 0.0002966049382716049, + "loss": 0.8369, + "step": 205 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029629629629629624, + "loss": 0.7954, + "step": 210 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029598765432098763, + "loss": 0.8051, + "step": 215 + }, + { + "epoch": 0.09, + "learning_rate": 0.000295679012345679, + "loss": 0.8081, + "step": 220 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029537037037037037, + "loss": 0.7864, + "step": 225 + }, + { + "epoch": 0.09, + "learning_rate": 0.0002950617283950617, + "loss": 0.7974, + "step": 230 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029475308641975306, + "loss": 0.8306, + "step": 235 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029444444444444445, + "loss": 0.7792, + "step": 240 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029413580246913574, + "loss": 0.8108, + "step": 245 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029382716049382714, + "loss": 0.8167, + "step": 250 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002935185185185185, + "loss": 0.8358, + "step": 255 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002932098765432099, + "loss": 0.7948, + "step": 260 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002929012345679012, + "loss": 0.8078, + "step": 265 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029259259259259256, + "loss": 0.7886, + "step": 270 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029228395061728395, + "loss": 0.7903, + "step": 275 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002919753086419753, + "loss": 0.7892, + "step": 280 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029166666666666664, + "loss": 0.7717, + "step": 285 + }, + { + "epoch": 0.12, + "learning_rate": 0.000291358024691358, + "loss": 0.7774, + "step": 290 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002910493827160494, + "loss": 0.8053, + "step": 295 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002907407407407407, + "loss": 0.794, + "step": 300 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029043209876543206, + "loss": 0.7856, + "step": 305 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029012345679012345, + "loss": 0.7713, + "step": 310 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002898148148148148, + "loss": 0.7805, + "step": 315 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028950617283950614, + "loss": 0.7897, + "step": 320 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028919753086419753, + "loss": 0.7931, + "step": 325 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002888888888888888, + "loss": 0.7739, + "step": 330 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002885802469135802, + "loss": 0.7749, + "step": 335 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028827160493827156, + "loss": 0.7932, + "step": 340 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028796296296296296, + "loss": 0.7906, + "step": 345 + }, + { + "epoch": 0.14, + "learning_rate": 0.0002876543209876543, + "loss": 0.8094, + "step": 350 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028734567901234564, + "loss": 0.7932, + "step": 355 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028703703703703703, + "loss": 0.8027, + "step": 360 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002867283950617284, + "loss": 0.8297, + "step": 365 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002864197530864197, + "loss": 0.8228, + "step": 370 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002861111111111111, + "loss": 0.7997, + "step": 375 + }, + { + "epoch": 0.15, + "learning_rate": 0.00028580246913580246, + "loss": 0.8124, + "step": 380 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002854938271604938, + "loss": 0.8152, + "step": 385 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028518518518518514, + "loss": 0.7833, + "step": 390 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028487654320987654, + "loss": 0.7884, + "step": 395 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002845679012345679, + "loss": 0.753, + "step": 400 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002842592592592592, + "loss": 0.8055, + "step": 405 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002839506172839506, + "loss": 0.8014, + "step": 410 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028364197530864196, + "loss": 0.782, + "step": 415 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002833333333333333, + "loss": 0.7733, + "step": 420 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002830246913580247, + "loss": 0.7777, + "step": 425 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028271604938271604, + "loss": 0.752, + "step": 430 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002824074074074074, + "loss": 0.7963, + "step": 435 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002820987654320987, + "loss": 0.7655, + "step": 440 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002817901234567901, + "loss": 0.8, + "step": 445 + }, + { + "epoch": 0.18, + "learning_rate": 0.00028148148148148146, + "loss": 0.7465, + "step": 450 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002811728395061728, + "loss": 0.7432, + "step": 455 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002808641975308642, + "loss": 0.758, + "step": 460 + }, + { + "epoch": 0.19, + "learning_rate": 0.00028055555555555554, + "loss": 0.7757, + "step": 465 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002802469135802469, + "loss": 0.7816, + "step": 470 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002799382716049382, + "loss": 0.7744, + "step": 475 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002796296296296296, + "loss": 0.7807, + "step": 480 + }, + { + "epoch": 0.19, + "learning_rate": 0.00027932098765432096, + "loss": 0.774, + "step": 485 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002790123456790123, + "loss": 0.7361, + "step": 490 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002787037037037037, + "loss": 0.7663, + "step": 495 + }, + { + "epoch": 0.2, + "learning_rate": 0.00027839506172839504, + "loss": 0.7532, + "step": 500 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002780864197530864, + "loss": 0.7573, + "step": 505 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002777777777777778, + "loss": 0.7802, + "step": 510 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002774691358024691, + "loss": 0.7871, + "step": 515 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027716049382716046, + "loss": 0.7734, + "step": 520 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002768518518518518, + "loss": 0.7752, + "step": 525 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002765432098765432, + "loss": 0.7697, + "step": 530 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027623456790123454, + "loss": 0.7846, + "step": 535 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002759259259259259, + "loss": 0.7592, + "step": 540 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002756172839506173, + "loss": 0.7734, + "step": 545 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002753086419753086, + "loss": 0.7984, + "step": 550 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027499999999999996, + "loss": 0.7342, + "step": 555 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027469135802469136, + "loss": 0.7479, + "step": 560 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002743827160493827, + "loss": 0.819, + "step": 565 + }, + { + "epoch": 0.23, + "learning_rate": 0.00027407407407407404, + "loss": 0.7561, + "step": 570 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002737654320987654, + "loss": 0.7303, + "step": 575 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002734567901234568, + "loss": 0.8001, + "step": 580 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002731481481481481, + "loss": 0.7738, + "step": 585 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027283950617283946, + "loss": 0.7866, + "step": 590 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027253086419753086, + "loss": 0.7582, + "step": 595 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002722222222222222, + "loss": 0.7645, + "step": 600 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027191358024691354, + "loss": 0.7839, + "step": 605 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002716049382716049, + "loss": 0.7931, + "step": 610 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002712962962962963, + "loss": 0.7692, + "step": 615 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002709876543209876, + "loss": 0.7835, + "step": 620 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027067901234567896, + "loss": 0.7795, + "step": 625 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027037037037037036, + "loss": 0.7639, + "step": 630 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002700617283950617, + "loss": 0.7705, + "step": 635 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026975308641975304, + "loss": 0.7674, + "step": 640 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026944444444444444, + "loss": 0.7349, + "step": 645 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002691358024691358, + "loss": 0.8008, + "step": 650 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002688271604938271, + "loss": 0.755, + "step": 655 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026851851851851847, + "loss": 0.7526, + "step": 660 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026820987654320986, + "loss": 0.7611, + "step": 665 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002679012345679012, + "loss": 0.7621, + "step": 670 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026759259259259255, + "loss": 0.7768, + "step": 675 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026728395061728394, + "loss": 0.7703, + "step": 680 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002669753086419753, + "loss": 0.7667, + "step": 685 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002666666666666666, + "loss": 0.7712, + "step": 690 + }, + { + "epoch": 0.28, + "learning_rate": 0.000266358024691358, + "loss": 0.7269, + "step": 695 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026604938271604936, + "loss": 0.7275, + "step": 700 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002657407407407407, + "loss": 0.7786, + "step": 705 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026543209876543205, + "loss": 0.7808, + "step": 710 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026512345679012344, + "loss": 0.7455, + "step": 715 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002648148148148148, + "loss": 0.7717, + "step": 720 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002645061728395061, + "loss": 0.737, + "step": 725 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002641975308641975, + "loss": 0.7664, + "step": 730 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026388888888888886, + "loss": 0.7716, + "step": 735 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026358024691358026, + "loss": 0.7638, + "step": 740 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026327160493827155, + "loss": 0.7777, + "step": 745 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026296296296296294, + "loss": 0.7431, + "step": 750 + }, + { + "epoch": 0.3, + "learning_rate": 0.0002626543209876543, + "loss": 0.7516, + "step": 755 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026234567901234563, + "loss": 0.831, + "step": 760 + }, + { + "epoch": 0.31, + "learning_rate": 0.000262037037037037, + "loss": 0.7423, + "step": 765 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026172839506172837, + "loss": 0.7471, + "step": 770 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002614197530864197, + "loss": 0.7551, + "step": 775 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002611111111111111, + "loss": 0.7208, + "step": 780 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026080246913580245, + "loss": 0.7359, + "step": 785 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026049382716049384, + "loss": 0.7759, + "step": 790 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026018518518518513, + "loss": 0.7406, + "step": 795 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002598765432098765, + "loss": 0.756, + "step": 800 + }, + { + "epoch": 0.32, + "learning_rate": 0.00025956790123456787, + "loss": 0.7631, + "step": 805 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002592592592592592, + "loss": 0.7885, + "step": 810 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002589506172839506, + "loss": 0.7947, + "step": 815 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025864197530864195, + "loss": 0.7557, + "step": 820 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025833333333333334, + "loss": 0.7556, + "step": 825 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002580246913580247, + "loss": 0.7472, + "step": 830 + }, + { + "epoch": 0.33, + "learning_rate": 0.000257716049382716, + "loss": 0.729, + "step": 835 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002574074074074074, + "loss": 0.7523, + "step": 840 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002570987654320987, + "loss": 0.7505, + "step": 845 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002567901234567901, + "loss": 0.7617, + "step": 850 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025648148148148145, + "loss": 0.7898, + "step": 855 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025617283950617284, + "loss": 0.7575, + "step": 860 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002558641975308642, + "loss": 0.8316, + "step": 865 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025555555555555553, + "loss": 0.7261, + "step": 870 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002552469135802469, + "loss": 0.7594, + "step": 875 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025493827160493826, + "loss": 0.7372, + "step": 880 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002546296296296296, + "loss": 0.7498, + "step": 885 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025432098765432095, + "loss": 0.7398, + "step": 890 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002540123456790123, + "loss": 0.804, + "step": 895 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002537037037037037, + "loss": 0.7241, + "step": 900 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025339506172839503, + "loss": 0.7519, + "step": 905 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002530864197530864, + "loss": 0.7694, + "step": 910 + }, + { + "epoch": 0.37, + "learning_rate": 0.00025277777777777777, + "loss": 0.7474, + "step": 915 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002524691358024691, + "loss": 0.7278, + "step": 920 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002521604938271605, + "loss": 0.7747, + "step": 925 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002518518518518518, + "loss": 0.7858, + "step": 930 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002515432098765432, + "loss": 0.7442, + "step": 935 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025123456790123453, + "loss": 0.7446, + "step": 940 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002509259259259259, + "loss": 0.7843, + "step": 945 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025061728395061727, + "loss": 0.7512, + "step": 950 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002503086419753086, + "loss": 0.7616, + "step": 955 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025, + "loss": 0.826, + "step": 960 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024969135802469135, + "loss": 0.7567, + "step": 965 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002493827160493827, + "loss": 0.7754, + "step": 970 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002490740740740741, + "loss": 0.7605, + "step": 975 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024876543209876537, + "loss": 0.7728, + "step": 980 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024845679012345677, + "loss": 0.7902, + "step": 985 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002481481481481481, + "loss": 0.7622, + "step": 990 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002478395061728395, + "loss": 0.745, + "step": 995 + }, + { + "epoch": 0.4, + "learning_rate": 0.00024753086419753085, + "loss": 0.7529, + "step": 1000 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002472222222222222, + "loss": 0.759, + "step": 1005 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002469135802469136, + "loss": 0.7471, + "step": 1010 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024660493827160493, + "loss": 0.7517, + "step": 1015 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024629629629629627, + "loss": 0.7634, + "step": 1020 + }, + { + "epoch": 0.41, + "learning_rate": 0.0002459876543209876, + "loss": 0.7833, + "step": 1025 + }, + { + "epoch": 0.41, + "learning_rate": 0.000245679012345679, + "loss": 0.7227, + "step": 1030 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024537037037037035, + "loss": 0.7792, + "step": 1035 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002450617283950617, + "loss": 0.7292, + "step": 1040 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002447530864197531, + "loss": 0.7519, + "step": 1045 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024444444444444443, + "loss": 0.7385, + "step": 1050 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024413580246913577, + "loss": 0.7842, + "step": 1055 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024382716049382714, + "loss": 0.796, + "step": 1060 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002435185185185185, + "loss": 0.7479, + "step": 1065 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024320987654320985, + "loss": 0.7531, + "step": 1070 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024290123456790122, + "loss": 0.731, + "step": 1075 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002425925925925926, + "loss": 0.7319, + "step": 1080 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024228395061728393, + "loss": 0.7381, + "step": 1085 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024197530864197527, + "loss": 0.7621, + "step": 1090 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024166666666666664, + "loss": 0.771, + "step": 1095 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024135802469135798, + "loss": 0.7493, + "step": 1100 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024104938271604935, + "loss": 0.7553, + "step": 1105 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024074074074074072, + "loss": 0.7862, + "step": 1110 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002404320987654321, + "loss": 0.7531, + "step": 1115 + }, + { + "epoch": 0.45, + "learning_rate": 0.00024012345679012343, + "loss": 0.7688, + "step": 1120 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002398148148148148, + "loss": 0.7666, + "step": 1125 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023950617283950617, + "loss": 0.7484, + "step": 1130 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023919753086419748, + "loss": 0.8048, + "step": 1135 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023888888888888885, + "loss": 0.757, + "step": 1140 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023858024691358022, + "loss": 0.7838, + "step": 1145 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002382716049382716, + "loss": 0.7834, + "step": 1150 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023796296296296293, + "loss": 0.733, + "step": 1155 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002376543209876543, + "loss": 0.7195, + "step": 1160 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023734567901234567, + "loss": 0.7478, + "step": 1165 + }, + { + "epoch": 0.47, + "learning_rate": 0.000237037037037037, + "loss": 0.7456, + "step": 1170 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023672839506172838, + "loss": 0.722, + "step": 1175 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023641975308641975, + "loss": 0.7395, + "step": 1180 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023611111111111112, + "loss": 0.7553, + "step": 1185 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023580246913580243, + "loss": 0.7692, + "step": 1190 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002354938271604938, + "loss": 0.7396, + "step": 1195 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023518518518518517, + "loss": 0.7214, + "step": 1200 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002348765432098765, + "loss": 0.7359, + "step": 1205 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023456790123456788, + "loss": 0.7666, + "step": 1210 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023425925925925925, + "loss": 0.7583, + "step": 1215 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002339506172839506, + "loss": 0.7715, + "step": 1220 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023364197530864196, + "loss": 0.7423, + "step": 1225 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002333333333333333, + "loss": 0.7598, + "step": 1230 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023302469135802467, + "loss": 0.7251, + "step": 1235 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023271604938271601, + "loss": 0.7447, + "step": 1240 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023240740740740738, + "loss": 0.7923, + "step": 1245 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023209876543209875, + "loss": 0.7161, + "step": 1250 + }, + { + "epoch": 0.5, + "learning_rate": 0.0002317901234567901, + "loss": 0.7291, + "step": 1255 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023148148148148146, + "loss": 0.7366, + "step": 1260 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023117283950617283, + "loss": 0.7173, + "step": 1265 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002308641975308642, + "loss": 0.7575, + "step": 1270 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023055555555555552, + "loss": 0.7632, + "step": 1275 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023024691358024688, + "loss": 0.7601, + "step": 1280 + }, + { + "epoch": 0.51, + "learning_rate": 0.00022993827160493825, + "loss": 0.7395, + "step": 1285 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002296296296296296, + "loss": 0.7686, + "step": 1290 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022932098765432096, + "loss": 0.7531, + "step": 1295 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022901234567901233, + "loss": 0.7675, + "step": 1300 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002287037037037037, + "loss": 0.8103, + "step": 1305 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022839506172839504, + "loss": 0.773, + "step": 1310 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002280864197530864, + "loss": 0.7549, + "step": 1315 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022777777777777778, + "loss": 0.7547, + "step": 1320 + }, + { + "epoch": 0.53, + "learning_rate": 0.0002274691358024691, + "loss": 0.758, + "step": 1325 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022716049382716047, + "loss": 0.77, + "step": 1330 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022685185185185183, + "loss": 0.7662, + "step": 1335 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022654320987654318, + "loss": 0.744, + "step": 1340 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022623456790123455, + "loss": 0.7486, + "step": 1345 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022592592592592591, + "loss": 0.7473, + "step": 1350 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022561728395061728, + "loss": 0.7486, + "step": 1355 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022530864197530862, + "loss": 0.7205, + "step": 1360 + }, + { + "epoch": 0.54, + "learning_rate": 0.000225, + "loss": 0.7289, + "step": 1365 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022469135802469134, + "loss": 0.7586, + "step": 1370 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022438271604938268, + "loss": 0.7175, + "step": 1375 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022407407407407405, + "loss": 0.6961, + "step": 1380 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022376543209876542, + "loss": 0.7242, + "step": 1385 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022345679012345678, + "loss": 0.7515, + "step": 1390 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022314814814814813, + "loss": 0.7522, + "step": 1395 + }, + { + "epoch": 0.56, + "learning_rate": 0.0002228395061728395, + "loss": 0.7651, + "step": 1400 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022253086419753086, + "loss": 0.6958, + "step": 1405 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022222222222222218, + "loss": 0.7336, + "step": 1410 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022191358024691355, + "loss": 0.7636, + "step": 1415 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022160493827160492, + "loss": 0.7583, + "step": 1420 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022129629629629626, + "loss": 0.7605, + "step": 1425 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022098765432098763, + "loss": 0.7109, + "step": 1430 + }, + { + "epoch": 0.57, + "learning_rate": 0.000220679012345679, + "loss": 0.7224, + "step": 1435 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022037037037037037, + "loss": 0.7724, + "step": 1440 + }, + { + "epoch": 0.58, + "learning_rate": 0.0002200617283950617, + "loss": 0.7637, + "step": 1445 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021975308641975308, + "loss": 0.7302, + "step": 1450 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021944444444444444, + "loss": 0.7685, + "step": 1455 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021913580246913576, + "loss": 0.751, + "step": 1460 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021882716049382713, + "loss": 0.7768, + "step": 1465 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002185185185185185, + "loss": 0.7461, + "step": 1470 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021820987654320987, + "loss": 0.7782, + "step": 1475 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002179012345679012, + "loss": 0.7474, + "step": 1480 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021759259259259258, + "loss": 0.7475, + "step": 1485 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021728395061728395, + "loss": 0.7539, + "step": 1490 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002169753086419753, + "loss": 0.7476, + "step": 1495 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021666666666666666, + "loss": 0.7382, + "step": 1500 + }, + { + "epoch": 0.6, + "learning_rate": 0.000216358024691358, + "loss": 0.7305, + "step": 1505 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021604938271604937, + "loss": 0.7455, + "step": 1510 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002157407407407407, + "loss": 0.7286, + "step": 1515 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021543209876543208, + "loss": 0.7653, + "step": 1520 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021512345679012345, + "loss": 0.7443, + "step": 1525 + }, + { + "epoch": 0.61, + "learning_rate": 0.0002148148148148148, + "loss": 0.7026, + "step": 1530 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021450617283950616, + "loss": 0.7436, + "step": 1535 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021419753086419753, + "loss": 0.7101, + "step": 1540 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021388888888888884, + "loss": 0.7484, + "step": 1545 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002135802469135802, + "loss": 0.7483, + "step": 1550 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021327160493827158, + "loss": 0.7419, + "step": 1555 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021296296296296295, + "loss": 0.7356, + "step": 1560 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002126543209876543, + "loss": 0.7716, + "step": 1565 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021234567901234566, + "loss": 0.734, + "step": 1570 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021203703703703703, + "loss": 0.7268, + "step": 1575 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021172839506172837, + "loss": 0.7133, + "step": 1580 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021141975308641974, + "loss": 0.7575, + "step": 1585 + }, + { + "epoch": 0.63, + "learning_rate": 0.0002111111111111111, + "loss": 0.7219, + "step": 1590 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021080246913580248, + "loss": 0.7394, + "step": 1595 + }, + { + "epoch": 0.64, + "learning_rate": 0.0002104938271604938, + "loss": 0.7729, + "step": 1600 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021018518518518516, + "loss": 0.757, + "step": 1605 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020987654320987653, + "loss": 0.7139, + "step": 1610 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020956790123456787, + "loss": 0.7492, + "step": 1615 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020925925925925924, + "loss": 0.7461, + "step": 1620 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002089506172839506, + "loss": 0.7276, + "step": 1625 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020864197530864198, + "loss": 0.7725, + "step": 1630 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020833333333333332, + "loss": 0.7623, + "step": 1635 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002080246913580247, + "loss": 0.7394, + "step": 1640 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020771604938271603, + "loss": 0.7387, + "step": 1645 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020740740740740737, + "loss": 0.7519, + "step": 1650 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020709876543209874, + "loss": 0.7625, + "step": 1655 + }, + { + "epoch": 0.66, + "learning_rate": 0.0002067901234567901, + "loss": 0.7254, + "step": 1660 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020648148148148145, + "loss": 0.7129, + "step": 1665 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020617283950617282, + "loss": 0.7964, + "step": 1670 + }, + { + "epoch": 0.67, + "learning_rate": 0.0002058641975308642, + "loss": 0.7332, + "step": 1675 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020555555555555556, + "loss": 0.7955, + "step": 1680 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020524691358024687, + "loss": 0.7544, + "step": 1685 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020493827160493824, + "loss": 0.7115, + "step": 1690 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002046296296296296, + "loss": 0.7434, + "step": 1695 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020432098765432095, + "loss": 0.7382, + "step": 1700 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020401234567901232, + "loss": 0.7452, + "step": 1705 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002037037037037037, + "loss": 0.7551, + "step": 1710 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020339506172839506, + "loss": 0.7202, + "step": 1715 + }, + { + "epoch": 0.69, + "learning_rate": 0.0002030864197530864, + "loss": 0.735, + "step": 1720 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020277777777777777, + "loss": 0.7581, + "step": 1725 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020246913580246914, + "loss": 0.7527, + "step": 1730 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020216049382716045, + "loss": 0.7498, + "step": 1735 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020185185185185182, + "loss": 0.735, + "step": 1740 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002015432098765432, + "loss": 0.7286, + "step": 1745 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020123456790123456, + "loss": 0.6891, + "step": 1750 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002009259259259259, + "loss": 0.7353, + "step": 1755 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020061728395061727, + "loss": 0.7386, + "step": 1760 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020030864197530864, + "loss": 0.7106, + "step": 1765 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019999999999999998, + "loss": 0.7207, + "step": 1770 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019969135802469135, + "loss": 0.7576, + "step": 1775 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019938271604938272, + "loss": 0.7462, + "step": 1780 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019907407407407404, + "loss": 0.7068, + "step": 1785 + }, + { + "epoch": 0.71, + "learning_rate": 0.0001987654320987654, + "loss": 0.7525, + "step": 1790 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019845679012345677, + "loss": 0.7291, + "step": 1795 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019814814814814814, + "loss": 0.7226, + "step": 1800 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019783950617283948, + "loss": 0.7445, + "step": 1805 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019753086419753085, + "loss": 0.7571, + "step": 1810 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019722222222222222, + "loss": 0.7306, + "step": 1815 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019691358024691354, + "loss": 0.7785, + "step": 1820 + }, + { + "epoch": 0.73, + "learning_rate": 0.0001966049382716049, + "loss": 0.7537, + "step": 1825 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019629629629629627, + "loss": 0.7549, + "step": 1830 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019598765432098764, + "loss": 0.732, + "step": 1835 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019567901234567898, + "loss": 0.7159, + "step": 1840 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019537037037037035, + "loss": 0.7549, + "step": 1845 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019506172839506172, + "loss": 0.7581, + "step": 1850 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019475308641975306, + "loss": 0.7559, + "step": 1855 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019444444444444443, + "loss": 0.7626, + "step": 1860 + }, + { + "epoch": 0.74, + "learning_rate": 0.0001941358024691358, + "loss": 0.7423, + "step": 1865 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019382716049382712, + "loss": 0.7672, + "step": 1870 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019351851851851849, + "loss": 0.7794, + "step": 1875 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019320987654320985, + "loss": 0.7428, + "step": 1880 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019290123456790122, + "loss": 0.7462, + "step": 1885 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019259259259259257, + "loss": 0.702, + "step": 1890 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019228395061728393, + "loss": 0.7626, + "step": 1895 + }, + { + "epoch": 0.76, + "learning_rate": 0.0001919753086419753, + "loss": 0.7357, + "step": 1900 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019166666666666665, + "loss": 0.7408, + "step": 1905 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019135802469135801, + "loss": 0.707, + "step": 1910 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019104938271604938, + "loss": 0.726, + "step": 1915 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019074074074074073, + "loss": 0.7396, + "step": 1920 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019043209876543207, + "loss": 0.7676, + "step": 1925 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019012345679012344, + "loss": 0.7335, + "step": 1930 + }, + { + "epoch": 0.77, + "learning_rate": 0.0001898148148148148, + "loss": 0.7235, + "step": 1935 + }, + { + "epoch": 0.77, + "learning_rate": 0.00018950617283950615, + "loss": 0.7297, + "step": 1940 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018919753086419752, + "loss": 0.7079, + "step": 1945 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018888888888888888, + "loss": 0.7629, + "step": 1950 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018858024691358025, + "loss": 0.7131, + "step": 1955 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018827160493827157, + "loss": 0.7517, + "step": 1960 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018796296296296294, + "loss": 0.7292, + "step": 1965 + }, + { + "epoch": 0.79, + "learning_rate": 0.0001876543209876543, + "loss": 0.7137, + "step": 1970 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018734567901234565, + "loss": 0.725, + "step": 1975 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018703703703703702, + "loss": 0.7444, + "step": 1980 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018672839506172839, + "loss": 0.7366, + "step": 1985 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018641975308641973, + "loss": 0.7329, + "step": 1990 + }, + { + "epoch": 0.8, + "learning_rate": 0.0001861111111111111, + "loss": 0.7037, + "step": 1995 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018580246913580247, + "loss": 0.7186, + "step": 2000 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018549382716049383, + "loss": 0.7322, + "step": 2005 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018518518518518515, + "loss": 0.7639, + "step": 2010 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018487654320987652, + "loss": 0.7426, + "step": 2015 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001845679012345679, + "loss": 0.7648, + "step": 2020 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018425925925925923, + "loss": 0.714, + "step": 2025 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001839506172839506, + "loss": 0.7091, + "step": 2030 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018364197530864197, + "loss": 0.7222, + "step": 2035 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018333333333333334, + "loss": 0.7491, + "step": 2040 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018302469135802468, + "loss": 0.7659, + "step": 2045 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018271604938271605, + "loss": 0.727, + "step": 2050 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018240740740740742, + "loss": 0.7416, + "step": 2055 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018209876543209873, + "loss": 0.697, + "step": 2060 + }, + { + "epoch": 0.82, + "learning_rate": 0.0001817901234567901, + "loss": 0.7408, + "step": 2065 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018148148148148147, + "loss": 0.7144, + "step": 2070 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018117283950617284, + "loss": 0.7745, + "step": 2075 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018086419753086418, + "loss": 0.7362, + "step": 2080 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018055555555555555, + "loss": 0.7378, + "step": 2085 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018024691358024692, + "loss": 0.7227, + "step": 2090 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017993827160493826, + "loss": 0.7408, + "step": 2095 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001796296296296296, + "loss": 0.7178, + "step": 2100 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017932098765432097, + "loss": 0.7401, + "step": 2105 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001790123456790123, + "loss": 0.7484, + "step": 2110 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017870370370370368, + "loss": 0.7271, + "step": 2115 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017839506172839505, + "loss": 0.7897, + "step": 2120 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017808641975308642, + "loss": 0.7374, + "step": 2125 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017777777777777776, + "loss": 0.7314, + "step": 2130 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017746913580246913, + "loss": 0.7338, + "step": 2135 + }, + { + "epoch": 0.85, + "learning_rate": 0.0001771604938271605, + "loss": 0.7536, + "step": 2140 + }, + { + "epoch": 0.86, + "learning_rate": 0.0001768518518518518, + "loss": 0.7501, + "step": 2145 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017654320987654318, + "loss": 0.7263, + "step": 2150 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017623456790123455, + "loss": 0.7468, + "step": 2155 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017592592592592592, + "loss": 0.7097, + "step": 2160 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017561728395061726, + "loss": 0.7261, + "step": 2165 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017530864197530863, + "loss": 0.7489, + "step": 2170 + }, + { + "epoch": 0.87, + "learning_rate": 0.000175, + "loss": 0.7149, + "step": 2175 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017469135802469134, + "loss": 0.7239, + "step": 2180 + }, + { + "epoch": 0.87, + "learning_rate": 0.0001743827160493827, + "loss": 0.7249, + "step": 2185 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017407407407407408, + "loss": 0.7506, + "step": 2190 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001737654320987654, + "loss": 0.7594, + "step": 2195 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017345679012345676, + "loss": 0.7412, + "step": 2200 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017314814814814813, + "loss": 0.7219, + "step": 2205 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001728395061728395, + "loss": 0.7655, + "step": 2210 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017253086419753084, + "loss": 0.735, + "step": 2215 + }, + { + "epoch": 0.89, + "learning_rate": 0.0001722222222222222, + "loss": 0.7214, + "step": 2220 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017191358024691358, + "loss": 0.7179, + "step": 2225 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017160493827160492, + "loss": 0.7208, + "step": 2230 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017129629629629626, + "loss": 0.7445, + "step": 2235 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017098765432098763, + "loss": 0.7, + "step": 2240 + }, + { + "epoch": 0.9, + "learning_rate": 0.000170679012345679, + "loss": 0.7571, + "step": 2245 + }, + { + "epoch": 0.9, + "learning_rate": 0.00017037037037037034, + "loss": 0.7076, + "step": 2250 + }, + { + "epoch": 0.9, + "learning_rate": 0.0001700617283950617, + "loss": 0.7027, + "step": 2255 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016975308641975308, + "loss": 0.7408, + "step": 2260 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016944444444444442, + "loss": 0.7095, + "step": 2265 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001691358024691358, + "loss": 0.7314, + "step": 2270 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016882716049382716, + "loss": 0.714, + "step": 2275 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016851851851851853, + "loss": 0.7442, + "step": 2280 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016820987654320984, + "loss": 0.7144, + "step": 2285 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001679012345679012, + "loss": 0.7252, + "step": 2290 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016759259259259258, + "loss": 0.7118, + "step": 2295 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016728395061728392, + "loss": 0.7444, + "step": 2300 + }, + { + "epoch": 0.92, + "learning_rate": 0.0001669753086419753, + "loss": 0.732, + "step": 2305 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016666666666666666, + "loss": 0.7394, + "step": 2310 + }, + { + "epoch": 0.92, + "learning_rate": 0.000166358024691358, + "loss": 0.7573, + "step": 2315 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016604938271604937, + "loss": 0.7543, + "step": 2320 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016574074074074074, + "loss": 0.7709, + "step": 2325 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001654320987654321, + "loss": 0.7372, + "step": 2330 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016512345679012342, + "loss": 0.7222, + "step": 2335 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001648148148148148, + "loss": 0.7505, + "step": 2340 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016450617283950616, + "loss": 0.7364, + "step": 2345 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001641975308641975, + "loss": 0.7001, + "step": 2350 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016388888888888887, + "loss": 0.7203, + "step": 2355 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016358024691358024, + "loss": 0.6906, + "step": 2360 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001632716049382716, + "loss": 0.7557, + "step": 2365 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016296296296296295, + "loss": 0.7261, + "step": 2370 + }, + { + "epoch": 0.95, + "learning_rate": 0.0001626543209876543, + "loss": 0.7182, + "step": 2375 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016234567901234566, + "loss": 0.7557, + "step": 2380 + }, + { + "epoch": 0.95, + "learning_rate": 0.000162037037037037, + "loss": 0.7251, + "step": 2385 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016172839506172837, + "loss": 0.7551, + "step": 2390 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016141975308641974, + "loss": 0.6976, + "step": 2395 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001611111111111111, + "loss": 0.7336, + "step": 2400 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016080246913580245, + "loss": 0.7023, + "step": 2405 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016049382716049382, + "loss": 0.7315, + "step": 2410 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001601851851851852, + "loss": 0.7092, + "step": 2415 + }, + { + "epoch": 0.97, + "learning_rate": 0.0001598765432098765, + "loss": 0.7381, + "step": 2420 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015956790123456788, + "loss": 0.7687, + "step": 2425 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015925925925925924, + "loss": 0.7447, + "step": 2430 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015895061728395059, + "loss": 0.7476, + "step": 2435 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015864197530864196, + "loss": 0.7436, + "step": 2440 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015833333333333332, + "loss": 0.7188, + "step": 2445 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001580246913580247, + "loss": 0.7284, + "step": 2450 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015771604938271603, + "loss": 0.739, + "step": 2455 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001574074074074074, + "loss": 0.7108, + "step": 2460 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015709876543209877, + "loss": 0.7101, + "step": 2465 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001567901234567901, + "loss": 0.7433, + "step": 2470 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015648148148148146, + "loss": 0.7009, + "step": 2475 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015617283950617283, + "loss": 0.7046, + "step": 2480 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001558641975308642, + "loss": 0.7267, + "step": 2485 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015555555555555554, + "loss": 0.7253, + "step": 2490 + }, + { + "epoch": 1.0, + "learning_rate": 0.0001552469135802469, + "loss": 0.6932, + "step": 2495 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015493827160493827, + "loss": 0.7542, + "step": 2500 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015462962962962962, + "loss": 0.7269, + "step": 2505 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015432098765432098, + "loss": 0.6682, + "step": 2510 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015401234567901233, + "loss": 0.6625, + "step": 2515 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001537037037037037, + "loss": 0.6818, + "step": 2520 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015339506172839504, + "loss": 0.6982, + "step": 2525 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001530864197530864, + "loss": 0.6749, + "step": 2530 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015277777777777777, + "loss": 0.6552, + "step": 2535 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015246913580246912, + "loss": 0.702, + "step": 2540 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015216049382716049, + "loss": 0.6748, + "step": 2545 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015185185185185185, + "loss": 0.6707, + "step": 2550 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015154320987654317, + "loss": 0.6886, + "step": 2555 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015123456790123454, + "loss": 0.72, + "step": 2560 + }, + { + "epoch": 1.02, + "learning_rate": 0.0001509259259259259, + "loss": 0.6959, + "step": 2565 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015061728395061728, + "loss": 0.6684, + "step": 2570 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015030864197530862, + "loss": 0.6896, + "step": 2575 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015, + "loss": 0.6791, + "step": 2580 + }, + { + "epoch": 1.03, + "learning_rate": 0.00014969135802469133, + "loss": 0.6848, + "step": 2585 + }, + { + "epoch": 1.03, + "learning_rate": 0.0001493827160493827, + "loss": 0.6471, + "step": 2590 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014907407407407407, + "loss": 0.6611, + "step": 2595 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014876543209876544, + "loss": 0.6975, + "step": 2600 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014845679012345678, + "loss": 0.6966, + "step": 2605 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014814814814814812, + "loss": 0.6894, + "step": 2610 + }, + { + "epoch": 1.04, + "learning_rate": 0.0001478395061728395, + "loss": 0.681, + "step": 2615 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014753086419753086, + "loss": 0.6723, + "step": 2620 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014722222222222223, + "loss": 0.6869, + "step": 2625 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014691358024691357, + "loss": 0.7015, + "step": 2630 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014660493827160494, + "loss": 0.6932, + "step": 2635 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014629629629629628, + "loss": 0.6901, + "step": 2640 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014598765432098765, + "loss": 0.6466, + "step": 2645 + }, + { + "epoch": 1.06, + "learning_rate": 0.000145679012345679, + "loss": 0.7214, + "step": 2650 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014537037037037036, + "loss": 0.6692, + "step": 2655 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014506172839506173, + "loss": 0.6935, + "step": 2660 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014475308641975307, + "loss": 0.6851, + "step": 2665 + }, + { + "epoch": 1.07, + "learning_rate": 0.0001444444444444444, + "loss": 0.6856, + "step": 2670 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014413580246913578, + "loss": 0.6895, + "step": 2675 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014382716049382715, + "loss": 0.6562, + "step": 2680 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014351851851851852, + "loss": 0.6787, + "step": 2685 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014320987654320986, + "loss": 0.6733, + "step": 2690 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014290123456790123, + "loss": 0.6769, + "step": 2695 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014259259259259257, + "loss": 0.6543, + "step": 2700 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014228395061728394, + "loss": 0.6624, + "step": 2705 + }, + { + "epoch": 1.08, + "learning_rate": 0.0001419753086419753, + "loss": 0.6712, + "step": 2710 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014166666666666665, + "loss": 0.6868, + "step": 2715 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014135802469135802, + "loss": 0.6584, + "step": 2720 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014104938271604936, + "loss": 0.6901, + "step": 2725 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014074074074074073, + "loss": 0.6662, + "step": 2730 + }, + { + "epoch": 1.09, + "learning_rate": 0.0001404320987654321, + "loss": 0.6788, + "step": 2735 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014012345679012344, + "loss": 0.7102, + "step": 2740 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001398148148148148, + "loss": 0.6997, + "step": 2745 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013950617283950615, + "loss": 0.6888, + "step": 2750 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013919753086419752, + "loss": 0.675, + "step": 2755 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001388888888888889, + "loss": 0.6674, + "step": 2760 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013858024691358023, + "loss": 0.6982, + "step": 2765 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001382716049382716, + "loss": 0.6847, + "step": 2770 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013796296296296294, + "loss": 0.7183, + "step": 2775 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001376543209876543, + "loss": 0.6647, + "step": 2780 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013734567901234568, + "loss": 0.6794, + "step": 2785 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013703703703703702, + "loss": 0.6852, + "step": 2790 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001367283950617284, + "loss": 0.6638, + "step": 2795 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013641975308641973, + "loss": 0.7229, + "step": 2800 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001361111111111111, + "loss": 0.6804, + "step": 2805 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013580246913580244, + "loss": 0.7028, + "step": 2810 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001354938271604938, + "loss": 0.6775, + "step": 2815 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013518518518518518, + "loss": 0.6511, + "step": 2820 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013487654320987652, + "loss": 0.6952, + "step": 2825 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001345679012345679, + "loss": 0.6555, + "step": 2830 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013425925925925923, + "loss": 0.6738, + "step": 2835 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001339506172839506, + "loss": 0.6576, + "step": 2840 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013364197530864197, + "loss": 0.6679, + "step": 2845 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001333333333333333, + "loss": 0.6787, + "step": 2850 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013302469135802468, + "loss": 0.6604, + "step": 2855 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013271604938271602, + "loss": 0.6733, + "step": 2860 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001324074074074074, + "loss": 0.6829, + "step": 2865 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013209876543209876, + "loss": 0.6757, + "step": 2870 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013179012345679013, + "loss": 0.6709, + "step": 2875 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013148148148148147, + "loss": 0.6975, + "step": 2880 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013117283950617281, + "loss": 0.6719, + "step": 2885 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013086419753086418, + "loss": 0.664, + "step": 2890 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013055555555555555, + "loss": 0.6839, + "step": 2895 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013024691358024692, + "loss": 0.706, + "step": 2900 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012993827160493826, + "loss": 0.6666, + "step": 2905 + }, + { + "epoch": 1.16, + "learning_rate": 0.0001296296296296296, + "loss": 0.6783, + "step": 2910 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012932098765432097, + "loss": 0.6746, + "step": 2915 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012901234567901234, + "loss": 0.6933, + "step": 2920 + }, + { + "epoch": 1.17, + "learning_rate": 0.0001287037037037037, + "loss": 0.6605, + "step": 2925 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012839506172839505, + "loss": 0.6757, + "step": 2930 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012808641975308642, + "loss": 0.6385, + "step": 2935 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012777777777777776, + "loss": 0.6673, + "step": 2940 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012746913580246913, + "loss": 0.6862, + "step": 2945 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012716049382716047, + "loss": 0.6869, + "step": 2950 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012685185185185184, + "loss": 0.6392, + "step": 2955 + }, + { + "epoch": 1.18, + "learning_rate": 0.0001265432098765432, + "loss": 0.6928, + "step": 2960 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012623456790123455, + "loss": 0.6876, + "step": 2965 + }, + { + "epoch": 1.19, + "learning_rate": 0.0001259259259259259, + "loss": 0.6767, + "step": 2970 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012561728395061726, + "loss": 0.6828, + "step": 2975 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012530864197530863, + "loss": 0.6716, + "step": 2980 + }, + { + "epoch": 1.19, + "learning_rate": 0.000125, + "loss": 0.6753, + "step": 2985 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012469135802469134, + "loss": 0.7025, + "step": 2990 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012438271604938269, + "loss": 0.6941, + "step": 2995 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012407407407407406, + "loss": 0.7042, + "step": 3000 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012376543209876542, + "loss": 0.6651, + "step": 3005 + }, + { + "epoch": 1.2, + "learning_rate": 0.0001234567901234568, + "loss": 0.6793, + "step": 3010 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012314814814814813, + "loss": 0.6473, + "step": 3015 + }, + { + "epoch": 1.21, + "learning_rate": 0.0001228395061728395, + "loss": 0.6683, + "step": 3020 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012253086419753085, + "loss": 0.6697, + "step": 3025 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012222222222222221, + "loss": 0.6639, + "step": 3030 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012191358024691357, + "loss": 0.6642, + "step": 3035 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012160493827160493, + "loss": 0.6654, + "step": 3040 + }, + { + "epoch": 1.22, + "learning_rate": 0.0001212962962962963, + "loss": 0.712, + "step": 3045 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012098765432098764, + "loss": 0.6702, + "step": 3050 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012067901234567899, + "loss": 0.6857, + "step": 3055 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012037037037037036, + "loss": 0.6755, + "step": 3060 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012006172839506172, + "loss": 0.6617, + "step": 3065 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011975308641975308, + "loss": 0.6794, + "step": 3070 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011944444444444443, + "loss": 0.6807, + "step": 3075 + }, + { + "epoch": 1.23, + "learning_rate": 0.0001191358024691358, + "loss": 0.661, + "step": 3080 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011882716049382715, + "loss": 0.691, + "step": 3085 + }, + { + "epoch": 1.23, + "learning_rate": 0.0001185185185185185, + "loss": 0.6799, + "step": 3090 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011820987654320988, + "loss": 0.6598, + "step": 3095 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011790123456790122, + "loss": 0.7039, + "step": 3100 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011759259259259259, + "loss": 0.6943, + "step": 3105 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011728395061728394, + "loss": 0.7052, + "step": 3110 + }, + { + "epoch": 1.24, + "learning_rate": 0.0001169753086419753, + "loss": 0.6884, + "step": 3115 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011666666666666665, + "loss": 0.711, + "step": 3120 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011635802469135801, + "loss": 0.702, + "step": 3125 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011604938271604938, + "loss": 0.6905, + "step": 3130 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011574074074074073, + "loss": 0.6433, + "step": 3135 + }, + { + "epoch": 1.25, + "learning_rate": 0.0001154320987654321, + "loss": 0.6643, + "step": 3140 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011512345679012344, + "loss": 0.6841, + "step": 3145 + }, + { + "epoch": 1.26, + "learning_rate": 0.0001148148148148148, + "loss": 0.6423, + "step": 3150 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011450617283950617, + "loss": 0.651, + "step": 3155 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011419753086419752, + "loss": 0.6819, + "step": 3160 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011388888888888889, + "loss": 0.7022, + "step": 3165 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011358024691358023, + "loss": 0.6715, + "step": 3170 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011327160493827159, + "loss": 0.6813, + "step": 3175 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011296296296296296, + "loss": 0.6756, + "step": 3180 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011265432098765431, + "loss": 0.7021, + "step": 3185 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011234567901234567, + "loss": 0.698, + "step": 3190 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011203703703703702, + "loss": 0.6465, + "step": 3195 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011172839506172839, + "loss": 0.6546, + "step": 3200 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011141975308641975, + "loss": 0.6758, + "step": 3205 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011111111111111109, + "loss": 0.6447, + "step": 3210 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011080246913580246, + "loss": 0.6741, + "step": 3215 + }, + { + "epoch": 1.29, + "learning_rate": 0.00011049382716049381, + "loss": 0.6846, + "step": 3220 + }, + { + "epoch": 1.29, + "learning_rate": 0.00011018518518518518, + "loss": 0.6573, + "step": 3225 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010987654320987654, + "loss": 0.6738, + "step": 3230 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010956790123456788, + "loss": 0.6782, + "step": 3235 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010925925925925925, + "loss": 0.6815, + "step": 3240 + }, + { + "epoch": 1.3, + "learning_rate": 0.0001089506172839506, + "loss": 0.6714, + "step": 3245 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010864197530864197, + "loss": 0.6839, + "step": 3250 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010833333333333333, + "loss": 0.6564, + "step": 3255 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010802469135802468, + "loss": 0.6524, + "step": 3260 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010771604938271604, + "loss": 0.6636, + "step": 3265 + }, + { + "epoch": 1.31, + "learning_rate": 0.0001074074074074074, + "loss": 0.66, + "step": 3270 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010709876543209876, + "loss": 0.7089, + "step": 3275 + }, + { + "epoch": 1.31, + "learning_rate": 0.0001067901234567901, + "loss": 0.6692, + "step": 3280 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010648148148148147, + "loss": 0.6871, + "step": 3285 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010617283950617283, + "loss": 0.6749, + "step": 3290 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010586419753086418, + "loss": 0.684, + "step": 3295 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010555555555555555, + "loss": 0.6803, + "step": 3300 + }, + { + "epoch": 1.32, + "learning_rate": 0.0001052469135802469, + "loss": 0.6932, + "step": 3305 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010493827160493826, + "loss": 0.6542, + "step": 3310 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010462962962962962, + "loss": 0.6494, + "step": 3315 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010432098765432099, + "loss": 0.6804, + "step": 3320 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010401234567901234, + "loss": 0.6709, + "step": 3325 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010370370370370369, + "loss": 0.7199, + "step": 3330 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010339506172839506, + "loss": 0.6677, + "step": 3335 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010308641975308641, + "loss": 0.6657, + "step": 3340 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010277777777777778, + "loss": 0.6811, + "step": 3345 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010246913580246912, + "loss": 0.6635, + "step": 3350 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010216049382716048, + "loss": 0.6696, + "step": 3355 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010185185185185185, + "loss": 0.6926, + "step": 3360 + }, + { + "epoch": 1.34, + "learning_rate": 0.0001015432098765432, + "loss": 0.6638, + "step": 3365 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010123456790123457, + "loss": 0.6518, + "step": 3370 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010092592592592591, + "loss": 0.6521, + "step": 3375 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010061728395061728, + "loss": 0.6809, + "step": 3380 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010030864197530864, + "loss": 0.6887, + "step": 3385 + }, + { + "epoch": 1.35, + "learning_rate": 9.999999999999999e-05, + "loss": 0.6924, + "step": 3390 + }, + { + "epoch": 1.36, + "learning_rate": 9.969135802469136e-05, + "loss": 0.6674, + "step": 3395 + }, + { + "epoch": 1.36, + "learning_rate": 9.93827160493827e-05, + "loss": 0.6908, + "step": 3400 + }, + { + "epoch": 1.36, + "learning_rate": 9.907407407407407e-05, + "loss": 0.6959, + "step": 3405 + }, + { + "epoch": 1.36, + "learning_rate": 9.876543209876543e-05, + "loss": 0.7068, + "step": 3410 + }, + { + "epoch": 1.36, + "learning_rate": 9.845679012345677e-05, + "loss": 0.6694, + "step": 3415 + }, + { + "epoch": 1.37, + "learning_rate": 9.814814814814814e-05, + "loss": 0.6214, + "step": 3420 + }, + { + "epoch": 1.37, + "learning_rate": 9.783950617283949e-05, + "loss": 0.6534, + "step": 3425 + }, + { + "epoch": 1.37, + "learning_rate": 9.753086419753086e-05, + "loss": 0.6708, + "step": 3430 + }, + { + "epoch": 1.37, + "learning_rate": 9.722222222222222e-05, + "loss": 0.6624, + "step": 3435 + }, + { + "epoch": 1.37, + "learning_rate": 9.691358024691356e-05, + "loss": 0.676, + "step": 3440 + }, + { + "epoch": 1.38, + "learning_rate": 9.660493827160493e-05, + "loss": 0.6516, + "step": 3445 + }, + { + "epoch": 1.38, + "learning_rate": 9.629629629629628e-05, + "loss": 0.6688, + "step": 3450 + }, + { + "epoch": 1.38, + "learning_rate": 9.598765432098765e-05, + "loss": 0.6658, + "step": 3455 + }, + { + "epoch": 1.38, + "learning_rate": 9.567901234567901e-05, + "loss": 0.6582, + "step": 3460 + }, + { + "epoch": 1.38, + "learning_rate": 9.537037037037036e-05, + "loss": 0.6609, + "step": 3465 + }, + { + "epoch": 1.39, + "learning_rate": 9.506172839506172e-05, + "loss": 0.6827, + "step": 3470 + }, + { + "epoch": 1.39, + "learning_rate": 9.475308641975307e-05, + "loss": 0.6683, + "step": 3475 + }, + { + "epoch": 1.39, + "learning_rate": 9.444444444444444e-05, + "loss": 0.6609, + "step": 3480 + }, + { + "epoch": 1.39, + "learning_rate": 9.413580246913578e-05, + "loss": 0.6608, + "step": 3485 + }, + { + "epoch": 1.39, + "learning_rate": 9.382716049382715e-05, + "loss": 0.6539, + "step": 3490 + }, + { + "epoch": 1.4, + "learning_rate": 9.351851851851851e-05, + "loss": 0.6515, + "step": 3495 + }, + { + "epoch": 1.4, + "learning_rate": 9.320987654320986e-05, + "loss": 0.6662, + "step": 3500 + }, + { + "epoch": 1.4, + "learning_rate": 9.290123456790123e-05, + "loss": 0.6874, + "step": 3505 + }, + { + "epoch": 1.4, + "learning_rate": 9.259259259259257e-05, + "loss": 0.6851, + "step": 3510 + }, + { + "epoch": 1.4, + "learning_rate": 9.228395061728394e-05, + "loss": 0.6675, + "step": 3515 + }, + { + "epoch": 1.41, + "learning_rate": 9.19753086419753e-05, + "loss": 0.6974, + "step": 3520 + }, + { + "epoch": 1.41, + "learning_rate": 9.166666666666667e-05, + "loss": 0.6781, + "step": 3525 + }, + { + "epoch": 1.41, + "learning_rate": 9.135802469135802e-05, + "loss": 0.6882, + "step": 3530 + }, + { + "epoch": 1.41, + "learning_rate": 9.104938271604936e-05, + "loss": 0.6783, + "step": 3535 + }, + { + "epoch": 1.41, + "learning_rate": 9.074074074074073e-05, + "loss": 0.632, + "step": 3540 + }, + { + "epoch": 1.42, + "learning_rate": 9.043209876543209e-05, + "loss": 0.6878, + "step": 3545 + }, + { + "epoch": 1.42, + "learning_rate": 9.012345679012346e-05, + "loss": 0.6763, + "step": 3550 + }, + { + "epoch": 1.42, + "learning_rate": 8.98148148148148e-05, + "loss": 0.6815, + "step": 3555 + }, + { + "epoch": 1.42, + "learning_rate": 8.950617283950616e-05, + "loss": 0.6513, + "step": 3560 + }, + { + "epoch": 1.42, + "learning_rate": 8.919753086419752e-05, + "loss": 0.6425, + "step": 3565 + }, + { + "epoch": 1.43, + "learning_rate": 8.888888888888888e-05, + "loss": 0.6934, + "step": 3570 + }, + { + "epoch": 1.43, + "learning_rate": 8.858024691358025e-05, + "loss": 0.6258, + "step": 3575 + }, + { + "epoch": 1.43, + "learning_rate": 8.827160493827159e-05, + "loss": 0.6469, + "step": 3580 + }, + { + "epoch": 1.43, + "learning_rate": 8.796296296296296e-05, + "loss": 0.6892, + "step": 3585 + }, + { + "epoch": 1.43, + "learning_rate": 8.765432098765431e-05, + "loss": 0.6448, + "step": 3590 + }, + { + "epoch": 1.43, + "learning_rate": 8.734567901234567e-05, + "loss": 0.6622, + "step": 3595 + }, + { + "epoch": 1.44, + "learning_rate": 8.703703703703704e-05, + "loss": 0.657, + "step": 3600 + }, + { + "epoch": 1.44, + "learning_rate": 8.672839506172838e-05, + "loss": 0.6578, + "step": 3605 + }, + { + "epoch": 1.44, + "learning_rate": 8.641975308641975e-05, + "loss": 0.6399, + "step": 3610 + }, + { + "epoch": 1.44, + "learning_rate": 8.61111111111111e-05, + "loss": 0.69, + "step": 3615 + }, + { + "epoch": 1.44, + "learning_rate": 8.580246913580246e-05, + "loss": 0.6705, + "step": 3620 + }, + { + "epoch": 1.45, + "learning_rate": 8.549382716049382e-05, + "loss": 0.6571, + "step": 3625 + }, + { + "epoch": 1.45, + "learning_rate": 8.518518518518517e-05, + "loss": 0.6655, + "step": 3630 + }, + { + "epoch": 1.45, + "learning_rate": 8.487654320987654e-05, + "loss": 0.6649, + "step": 3635 + }, + { + "epoch": 1.45, + "learning_rate": 8.45679012345679e-05, + "loss": 0.7275, + "step": 3640 + }, + { + "epoch": 1.45, + "learning_rate": 8.425925925925926e-05, + "loss": 0.7265, + "step": 3645 + }, + { + "epoch": 1.46, + "learning_rate": 8.39506172839506e-05, + "loss": 0.6702, + "step": 3650 + }, + { + "epoch": 1.46, + "learning_rate": 8.364197530864196e-05, + "loss": 0.6701, + "step": 3655 + }, + { + "epoch": 1.46, + "learning_rate": 8.333333333333333e-05, + "loss": 0.6551, + "step": 3660 + }, + { + "epoch": 1.46, + "learning_rate": 8.302469135802469e-05, + "loss": 0.707, + "step": 3665 + }, + { + "epoch": 1.46, + "learning_rate": 8.271604938271605e-05, + "loss": 0.6597, + "step": 3670 + }, + { + "epoch": 1.47, + "learning_rate": 8.24074074074074e-05, + "loss": 0.6764, + "step": 3675 + }, + { + "epoch": 1.47, + "learning_rate": 8.209876543209875e-05, + "loss": 0.654, + "step": 3680 + }, + { + "epoch": 1.47, + "learning_rate": 8.179012345679012e-05, + "loss": 0.659, + "step": 3685 + }, + { + "epoch": 1.47, + "learning_rate": 8.148148148148148e-05, + "loss": 0.6897, + "step": 3690 + }, + { + "epoch": 1.47, + "learning_rate": 8.117283950617283e-05, + "loss": 0.6846, + "step": 3695 + }, + { + "epoch": 1.48, + "learning_rate": 8.086419753086419e-05, + "loss": 0.6725, + "step": 3700 + }, + { + "epoch": 1.48, + "learning_rate": 8.055555555555556e-05, + "loss": 0.652, + "step": 3705 + }, + { + "epoch": 1.48, + "learning_rate": 8.024691358024691e-05, + "loss": 0.6827, + "step": 3710 + }, + { + "epoch": 1.48, + "learning_rate": 7.993827160493825e-05, + "loss": 0.6707, + "step": 3715 + }, + { + "epoch": 1.48, + "learning_rate": 7.962962962962962e-05, + "loss": 0.6735, + "step": 3720 + }, + { + "epoch": 1.49, + "learning_rate": 7.932098765432098e-05, + "loss": 0.6725, + "step": 3725 + }, + { + "epoch": 1.49, + "learning_rate": 7.901234567901235e-05, + "loss": 0.6684, + "step": 3730 + }, + { + "epoch": 1.49, + "learning_rate": 7.87037037037037e-05, + "loss": 0.648, + "step": 3735 + }, + { + "epoch": 1.49, + "learning_rate": 7.839506172839504e-05, + "loss": 0.6346, + "step": 3740 + }, + { + "epoch": 1.49, + "learning_rate": 7.808641975308641e-05, + "loss": 0.6714, + "step": 3745 + }, + { + "epoch": 1.5, + "learning_rate": 7.777777777777777e-05, + "loss": 0.705, + "step": 3750 + }, + { + "epoch": 1.5, + "learning_rate": 7.746913580246914e-05, + "loss": 0.687, + "step": 3755 + }, + { + "epoch": 1.5, + "learning_rate": 7.716049382716049e-05, + "loss": 0.6782, + "step": 3760 + }, + { + "epoch": 1.5, + "learning_rate": 7.685185185185185e-05, + "loss": 0.6564, + "step": 3765 + }, + { + "epoch": 1.5, + "learning_rate": 7.65432098765432e-05, + "loss": 0.6837, + "step": 3770 + }, + { + "epoch": 1.51, + "learning_rate": 7.623456790123456e-05, + "loss": 0.6613, + "step": 3775 + }, + { + "epoch": 1.51, + "learning_rate": 7.592592592592593e-05, + "loss": 0.67, + "step": 3780 + }, + { + "epoch": 1.51, + "learning_rate": 7.561728395061727e-05, + "loss": 0.6544, + "step": 3785 + }, + { + "epoch": 1.51, + "learning_rate": 7.530864197530864e-05, + "loss": 0.6557, + "step": 3790 + }, + { + "epoch": 1.51, + "learning_rate": 7.5e-05, + "loss": 0.6733, + "step": 3795 + }, + { + "epoch": 1.52, + "learning_rate": 7.469135802469135e-05, + "loss": 0.6793, + "step": 3800 + }, + { + "epoch": 1.52, + "learning_rate": 7.438271604938272e-05, + "loss": 0.6834, + "step": 3805 + }, + { + "epoch": 1.52, + "learning_rate": 7.407407407407406e-05, + "loss": 0.6762, + "step": 3810 + }, + { + "epoch": 1.52, + "learning_rate": 7.376543209876543e-05, + "loss": 0.6858, + "step": 3815 + }, + { + "epoch": 1.52, + "learning_rate": 7.345679012345678e-05, + "loss": 0.6347, + "step": 3820 + }, + { + "epoch": 1.53, + "learning_rate": 7.314814814814814e-05, + "loss": 0.6867, + "step": 3825 + }, + { + "epoch": 1.53, + "learning_rate": 7.28395061728395e-05, + "loss": 0.6763, + "step": 3830 + }, + { + "epoch": 1.53, + "learning_rate": 7.253086419753086e-05, + "loss": 0.6483, + "step": 3835 + }, + { + "epoch": 1.53, + "learning_rate": 7.22222222222222e-05, + "loss": 0.6558, + "step": 3840 + }, + { + "epoch": 1.53, + "learning_rate": 7.191358024691357e-05, + "loss": 0.7038, + "step": 3845 + }, + { + "epoch": 1.54, + "learning_rate": 7.160493827160493e-05, + "loss": 0.6741, + "step": 3850 + }, + { + "epoch": 1.54, + "learning_rate": 7.129629629629629e-05, + "loss": 0.6768, + "step": 3855 + }, + { + "epoch": 1.54, + "learning_rate": 7.098765432098765e-05, + "loss": 0.6774, + "step": 3860 + }, + { + "epoch": 1.54, + "learning_rate": 7.067901234567901e-05, + "loss": 0.6909, + "step": 3865 + }, + { + "epoch": 1.54, + "learning_rate": 7.037037037037036e-05, + "loss": 0.6877, + "step": 3870 + }, + { + "epoch": 1.55, + "learning_rate": 7.006172839506172e-05, + "loss": 0.6615, + "step": 3875 + }, + { + "epoch": 1.55, + "learning_rate": 6.975308641975308e-05, + "loss": 0.685, + "step": 3880 + }, + { + "epoch": 1.55, + "learning_rate": 6.944444444444444e-05, + "loss": 0.6536, + "step": 3885 + }, + { + "epoch": 1.55, + "learning_rate": 6.91358024691358e-05, + "loss": 0.6775, + "step": 3890 + }, + { + "epoch": 1.55, + "learning_rate": 6.882716049382716e-05, + "loss": 0.7049, + "step": 3895 + }, + { + "epoch": 1.56, + "learning_rate": 6.851851851851851e-05, + "loss": 0.6968, + "step": 3900 + }, + { + "epoch": 1.56, + "learning_rate": 6.820987654320987e-05, + "loss": 0.6803, + "step": 3905 + }, + { + "epoch": 1.56, + "learning_rate": 6.790123456790122e-05, + "loss": 0.6922, + "step": 3910 + }, + { + "epoch": 1.56, + "learning_rate": 6.759259259259259e-05, + "loss": 0.6649, + "step": 3915 + }, + { + "epoch": 1.56, + "learning_rate": 6.728395061728395e-05, + "loss": 0.6609, + "step": 3920 + }, + { + "epoch": 1.57, + "learning_rate": 6.69753086419753e-05, + "loss": 0.6714, + "step": 3925 + }, + { + "epoch": 1.57, + "learning_rate": 6.666666666666666e-05, + "loss": 0.6617, + "step": 3930 + }, + { + "epoch": 1.57, + "learning_rate": 6.635802469135801e-05, + "loss": 0.6632, + "step": 3935 + }, + { + "epoch": 1.57, + "learning_rate": 6.604938271604938e-05, + "loss": 0.6523, + "step": 3940 + }, + { + "epoch": 1.57, + "learning_rate": 6.574074074074074e-05, + "loss": 0.6716, + "step": 3945 + }, + { + "epoch": 1.58, + "learning_rate": 6.543209876543209e-05, + "loss": 0.653, + "step": 3950 + }, + { + "epoch": 1.58, + "learning_rate": 6.512345679012346e-05, + "loss": 0.6749, + "step": 3955 + }, + { + "epoch": 1.58, + "learning_rate": 6.48148148148148e-05, + "loss": 0.6773, + "step": 3960 + }, + { + "epoch": 1.58, + "learning_rate": 6.450617283950617e-05, + "loss": 0.6579, + "step": 3965 + }, + { + "epoch": 1.58, + "learning_rate": 6.419753086419753e-05, + "loss": 0.6664, + "step": 3970 + }, + { + "epoch": 1.59, + "learning_rate": 6.388888888888888e-05, + "loss": 0.6575, + "step": 3975 + }, + { + "epoch": 1.59, + "learning_rate": 6.358024691358024e-05, + "loss": 0.6511, + "step": 3980 + }, + { + "epoch": 1.59, + "learning_rate": 6.32716049382716e-05, + "loss": 0.6585, + "step": 3985 + }, + { + "epoch": 1.59, + "learning_rate": 6.296296296296295e-05, + "loss": 0.6683, + "step": 3990 + }, + { + "epoch": 1.59, + "learning_rate": 6.265432098765432e-05, + "loss": 0.6784, + "step": 3995 + }, + { + "epoch": 1.6, + "learning_rate": 6.234567901234567e-05, + "loss": 0.6897, + "step": 4000 + } + ], + "logging_steps": 5, + "max_steps": 5010, + "num_input_tokens_seen": 0, + "num_train_epochs": 2, + "save_steps": 500, + "total_flos": 1.6102337306911834e+19, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/training_args.bin b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..76b046c47941a0df0a1cf17415d227f3e8416d3b --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc4247ac8c6f92ef49080d32b2520dd809daff76a4805fdafb6e454ee1c5cc3 +size 5944 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/zero_to_fp32.py b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/zero_to_fp32.py new file mode 100644 index 0000000000000000000000000000000000000000..c98caae31534368be22b67fc4ae906836c992a8d --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4000/zero_to_fp32.py @@ -0,0 +1,587 @@ +#!/usr/bin/env python + +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: Apache-2.0 + +# DeepSpeed Team + +# This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets +# copied into the top level checkpoint dir, so the user can easily do the conversion at any point in +# the future. Once extracted, the weights don't require DeepSpeed and can be used in any +# application. +# +# example: python zero_to_fp32.py . pytorch_model.bin + +import argparse +import torch +import glob +import math +import os +import re +from collections import OrderedDict +from dataclasses import dataclass + +# while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with +# DeepSpeed data structures it has to be available in the current python environment. +from deepspeed.utils import logger +from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS, + FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES, + FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS) + + +@dataclass +class zero_model_state: + buffers: dict() + param_shapes: dict() + shared_params: list + ds_version: int + frozen_param_shapes: dict() + frozen_param_fragments: dict() + + +debug = 0 + +# load to cpu +device = torch.device('cpu') + + +def atoi(text): + return int(text) if text.isdigit() else text + + +def natural_keys(text): + ''' + alist.sort(key=natural_keys) sorts in human order + http://nedbatchelder.com/blog/200712/human_sorting.html + (See Toothy's implementation in the comments) + ''' + return [atoi(c) for c in re.split(r'(\d+)', text)] + + +def get_model_state_file(checkpoint_dir, zero_stage): + if not os.path.isdir(checkpoint_dir): + raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist") + + # there should be only one file + if zero_stage <= 2: + file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt") + elif zero_stage == 3: + file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt") + + if not os.path.exists(file): + raise FileNotFoundError(f"can't find model states file at '{file}'") + + return file + + +def get_checkpoint_files(checkpoint_dir, glob_pattern): + # XXX: need to test that this simple glob rule works for multi-node setup too + ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys) + + if len(ckpt_files) == 0: + raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'") + + return ckpt_files + + +def get_optim_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt") + + +def get_model_state_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_model_states.pt") + + +def parse_model_states(files): + zero_model_states = [] + for file in files: + state_dict = torch.load(file, map_location=device) + + if BUFFER_NAMES not in state_dict: + raise ValueError(f"{file} is not a model state checkpoint") + buffer_names = state_dict[BUFFER_NAMES] + if debug: + print("Found buffers:", buffer_names) + + # recover just the buffers while restoring them to fp32 if they were saved in fp16 + buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names} + param_shapes = state_dict[PARAM_SHAPES] + + # collect parameters that are included in param_shapes + param_names = [] + for s in param_shapes: + for name in s.keys(): + param_names.append(name) + + # update with frozen parameters + frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None) + if frozen_param_shapes is not None: + if debug: + print(f"Found frozen_param_shapes: {frozen_param_shapes}") + param_names += list(frozen_param_shapes.keys()) + + # handle shared params + shared_params = [[k, v] for k, v in state_dict["shared_params"].items()] + + ds_version = state_dict.get(DS_VERSION, None) + + frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None) + + z_model_state = zero_model_state(buffers=buffers, + param_shapes=param_shapes, + shared_params=shared_params, + ds_version=ds_version, + frozen_param_shapes=frozen_param_shapes, + frozen_param_fragments=frozen_param_fragments) + zero_model_states.append(z_model_state) + + return zero_model_states + + +def parse_optim_states(files, ds_checkpoint_dir): + + total_files = len(files) + state_dicts = [] + for f in files: + state_dict = torch.load(f, map_location=device) + # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights + # and also handle the case where it was already removed by another helper script + state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None) + state_dicts.append(state_dict) + + if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]: + raise ValueError(f"{files[0]} is not a zero checkpoint") + zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE] + world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT] + + # For ZeRO-2 each param group can have different partition_count as data parallelism for expert + # parameters can be different from data parallelism for non-expert parameters. So we can just + # use the max of the partition_count to get the dp world_size. + + if type(world_size) is list: + world_size = max(world_size) + + if world_size != total_files: + raise ValueError( + f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. " + "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes." + ) + + # the groups are named differently in each stage + if zero_stage <= 2: + fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS + elif zero_stage == 3: + fp32_groups_key = FP32_FLAT_GROUPS + else: + raise ValueError(f"unknown zero stage {zero_stage}") + + if zero_stage <= 2: + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))] + elif zero_stage == 3: + # if there is more than one param group, there will be multiple flattened tensors - one + # flattened tensor per group - for simplicity merge them into a single tensor + # + # XXX: could make the script more memory efficient for when there are multiple groups - it + # will require matching the sub-lists of param_shapes for each param group flattened tensor + + fp32_flat_groups = [ + torch.cat(state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key], 0) for i in range(len(state_dicts)) + ] + + return zero_stage, world_size, fp32_flat_groups + + +def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir): + """ + Returns fp32 state_dict reconstructed from ds checkpoint + + Args: + - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are) + + """ + print(f"Processing zero checkpoint '{ds_checkpoint_dir}'") + + optim_files = get_optim_files(ds_checkpoint_dir) + zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir) + print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}") + + model_files = get_model_state_files(ds_checkpoint_dir) + + zero_model_states = parse_model_states(model_files) + print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}') + + if zero_stage <= 2: + return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states) + + +def _zero2_merge_frozen_params(state_dict, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + frozen_param_fragments = zero_model_states[0].frozen_param_fragments + + if debug: + num_elem = sum(s.numel() for s in frozen_param_shapes.values()) + print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in frozen_param_fragments.values()]) + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + state_dict[name] = frozen_param_fragments[name] + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + + # Reconstruction protocol: + # + # XXX: document this + + if debug: + for i in range(world_size): + for j in range(len(fp32_flat_groups[0])): + print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}") + + # XXX: memory usage doubles here (zero2) + num_param_groups = len(fp32_flat_groups[0]) + merged_single_partition_of_fp32_groups = [] + for i in range(num_param_groups): + merged_partitions = [sd[i] for sd in fp32_flat_groups] + full_single_fp32_vector = torch.cat(merged_partitions, 0) + merged_single_partition_of_fp32_groups.append(full_single_fp32_vector) + avail_numel = sum( + [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups]) + + if debug: + wanted_params = sum([len(shapes) for shapes in param_shapes]) + wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes]) + # not asserting if there is a mismatch due to possible padding + print(f"Have {avail_numel} numels to process.") + print(f"Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + total_numel = 0 + total_params = 0 + for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups): + offset = 0 + avail_numel = full_single_fp32_vector.numel() + for name, shape in shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape) + offset += unpartitioned_numel + + # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and + # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex + # paddings performed in the code it's almost impossible to predict the exact numbers w/o the + # live optimizer object, so we are checking that the numbers are within the right range + align_to = 2 * world_size + + def zero2_align(x): + return align_to * math.ceil(x / align_to) + + if debug: + print(f"original offset={offset}, avail_numel={avail_numel}") + + offset = zero2_align(offset) + avail_numel = zero2_align(avail_numel) + + if debug: + print(f"aligned offset={offset}, avail_numel={avail_numel}") + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero2_merge_frozen_params(state_dict, zero_model_states) + + _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def zero3_partitioned_param_info(unpartitioned_numel, world_size): + remainder = unpartitioned_numel % world_size + padding_numel = (world_size - remainder) if remainder else 0 + partitioned_numel = math.ceil(unpartitioned_numel / world_size) + return partitioned_numel, padding_numel + + +def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + if debug: + for i in range(world_size): + num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values()) + print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in zero_model_states[0].frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states) + state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape) + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + avail_numel = fp32_flat_groups[0].numel() * world_size + # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each + # param, re-consolidating each param, while dealing with padding if any + + # merge list of dicts, preserving order + param_shapes = {k: v for d in param_shapes for k, v in d.items()} + + if debug: + for i in range(world_size): + print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}") + + wanted_params = len(param_shapes) + wanted_numel = sum(shape.numel() for shape in param_shapes.values()) + # not asserting if there is a mismatch due to possible padding + avail_numel = fp32_flat_groups[0].numel() * world_size + print(f"Trainable params: Have {avail_numel} numels to process.") + print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + offset = 0 + total_numel = 0 + total_params = 0 + for name, shape in param_shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + # XXX: memory usage doubles here + state_dict[name] = torch.cat( + tuple(fp32_flat_groups[i].narrow(0, offset, partitioned_numel) for i in range(world_size)), + 0).narrow(0, 0, unpartitioned_numel).view(shape) + offset += partitioned_numel + + offset *= world_size + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero3_merge_frozen_params(state_dict, world_size, zero_model_states) + + _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with + ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example + via a model hub. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder + - ``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`` + + Returns: + - pytorch ``state_dict`` + + Note: this approach may not work if your application doesn't have sufficient free CPU memory and + you may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + # do the training and checkpoint saving + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu + model = model.cpu() # move to cpu + model.load_state_dict(state_dict) + # submit to model hub or save the model to share with others + + In this example the ``model`` will no longer be usable in the deepspeed context of the same + application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead. + + """ + if tag is None: + latest_path = os.path.join(checkpoint_dir, 'latest') + if os.path.isfile(latest_path): + with open(latest_path, 'r') as fd: + tag = fd.read().strip() + else: + raise ValueError(f"Unable to find 'latest' file at {latest_path}") + + ds_checkpoint_dir = os.path.join(checkpoint_dir, tag) + + if not os.path.isdir(ds_checkpoint_dir): + raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist") + + return _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, output_file, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be + loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``output_file``: path to the pytorch fp32 state_dict output file (e.g. path/pytorch_model.bin) + - ``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`` + """ + + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + print(f"Saving fp32 state dict to {output_file}") + torch.save(state_dict, output_file) + + +def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None): + """ + 1. Put the provided model to cpu + 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` + 3. Load it into the provided model + + Args: + - ``model``: the model object to update + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``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`` + + Returns: + - ``model`: modified model + + Make sure you have plenty of CPU memory available before you call this function. If you don't + have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it + conveniently placed for you in the checkpoint folder. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint + model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir) + # submit to model hub or save the model to share with others + + Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context + of the same application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + """ + logger.info(f"Extracting fp32 weights") + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + + logger.info(f"Overwriting model with fp32 weights") + model = model.cpu() + model.load_state_dict(state_dict, strict=False) + + return model + + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument("checkpoint_dir", + type=str, + help="path to the desired checkpoint folder, e.g., path/checkpoint-12") + parser.add_argument( + "output_file", + type=str, + help="path to the pytorch fp32 state_dict output file (e.g. path/checkpoint-12/pytorch_model.bin)") + parser.add_argument("-t", + "--tag", + type=str, + default=None, + help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1") + parser.add_argument("-d", "--debug", action='store_true', help="enable debug") + args = parser.parse_args() + + debug = args.debug + + convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir, args.output_file, tag=args.tag) diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/README.md b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2aa897f8fa13b49ce76b1fa188781e5f726e7d13 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/README.md @@ -0,0 +1,202 @@ +--- +base_model: meta-llama/Llama-2-7b-hf +library_name: peft +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.9.0 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/adapter_config.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..9c81a592f0ff08374a4f61f6003029070a8429ae --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/adapter_config.json @@ -0,0 +1,35 @@ +{ + "alpha_pattern": {}, + "auto_mapping": null, + "base_model_name_or_path": "meta-llama/Llama-2-7b-hf", + "bias": "none", + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 16, + "lora_dropout": 0.05, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "mora_type": 1, + "peft_type": "LORA", + "r": 8, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "k_proj", + "v_proj", + "o_proj", + "gate_proj", + "down_proj", + "up_proj" + ], + "task_type": "CAUSAL_LM", + "use_dora": false, + "use_mora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/adapter_model.safetensors b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..2911f904498372bce47bab819883029e764a0302 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5acd51d08dcf8841e934114bf81bf9a2bd9f27c40419c05d415e0517145d5d2c +size 564342240 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/global_step4500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/global_step4500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..2f8a8a1f4a2390ed380697ed9f073e041fb280c9 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/global_step4500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72f9c59d47960f4ae1e26465ad1d52b539ff1547e592a7b41b726dc0ded92697 +size 239914224 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/global_step4500/mp_rank_00_model_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/global_step4500/mp_rank_00_model_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..00dffa652d41db3758fb0a1931ec3661e693064e --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/global_step4500/mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ff834b0d1aaff6bdd2cb9b643a9548fb8b646a5e3563c2911267a4388b5dfde +size 40303404 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/latest b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/latest new file mode 100644 index 0000000000000000000000000000000000000000..982b8ddd9a759078550e0894b3ed06c6084c9e9c --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/latest @@ -0,0 +1 @@ +global_step4500 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/rng_state.pth b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..9ca0f22355d7c99215c54c6fb7472555b5e6c9b3 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7224daa5bbdc8c06383cff73437e9cd9d12f97c9793d5c00d39be052a9142c9c +size 14244 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/scheduler.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..b192d278a8d8456a346acaf02be7dbae380c3ffe --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d3fcce65237bb6e093ca803b0a59a9f2916adfd93c31d646873a5db36bbb032 +size 1064 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/trainer_state.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..0321661f7abf5c2c0398d1f9b8af0aca050feca7 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/trainer_state.json @@ -0,0 +1,5421 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 1.796239124333427, + "eval_steps": 500, + "global_step": 4500, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.0, + "learning_rate": 9.999999999999999e-06, + "loss": 1.38, + "step": 5 + }, + { + "epoch": 0.0, + "learning_rate": 1.9999999999999998e-05, + "loss": 1.3936, + "step": 10 + }, + { + "epoch": 0.01, + "learning_rate": 2.9999999999999997e-05, + "loss": 1.3006, + "step": 15 + }, + { + "epoch": 0.01, + "learning_rate": 3.9999999999999996e-05, + "loss": 1.2594, + "step": 20 + }, + { + "epoch": 0.01, + "learning_rate": 4.9999999999999996e-05, + "loss": 1.1177, + "step": 25 + }, + { + "epoch": 0.01, + "learning_rate": 5.9999999999999995e-05, + "loss": 1.0481, + "step": 30 + }, + { + "epoch": 0.01, + "learning_rate": 7e-05, + "loss": 1.0601, + "step": 35 + }, + { + "epoch": 0.02, + "learning_rate": 7.999999999999999e-05, + "loss": 1.0473, + "step": 40 + }, + { + "epoch": 0.02, + "learning_rate": 8.999999999999999e-05, + "loss": 0.9523, + "step": 45 + }, + { + "epoch": 0.02, + "learning_rate": 9.999999999999999e-05, + "loss": 0.9451, + "step": 50 + }, + { + "epoch": 0.02, + "learning_rate": 0.00010999999999999998, + "loss": 0.9687, + "step": 55 + }, + { + "epoch": 0.02, + "learning_rate": 0.00011999999999999999, + "loss": 0.9054, + "step": 60 + }, + { + "epoch": 0.03, + "learning_rate": 0.00013, + "loss": 0.9518, + "step": 65 + }, + { + "epoch": 0.03, + "learning_rate": 0.00014, + "loss": 0.8763, + "step": 70 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015, + "loss": 0.8657, + "step": 75 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015999999999999999, + "loss": 0.9145, + "step": 80 + }, + { + "epoch": 0.03, + "learning_rate": 0.00016999999999999999, + "loss": 0.8296, + "step": 85 + }, + { + "epoch": 0.04, + "learning_rate": 0.00017999999999999998, + "loss": 0.8709, + "step": 90 + }, + { + "epoch": 0.04, + "learning_rate": 0.00018999999999999998, + "loss": 0.8405, + "step": 95 + }, + { + "epoch": 0.04, + "learning_rate": 0.00019999999999999998, + "loss": 0.8604, + "step": 100 + }, + { + "epoch": 0.04, + "learning_rate": 0.00020999999999999998, + "loss": 0.8607, + "step": 105 + }, + { + "epoch": 0.04, + "learning_rate": 0.00021999999999999995, + "loss": 0.8376, + "step": 110 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023, + "loss": 0.8554, + "step": 115 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023999999999999998, + "loss": 0.8456, + "step": 120 + }, + { + "epoch": 0.05, + "learning_rate": 0.00025, + "loss": 0.8443, + "step": 125 + }, + { + "epoch": 0.05, + "learning_rate": 0.00026, + "loss": 0.8327, + "step": 130 + }, + { + "epoch": 0.05, + "learning_rate": 0.00027, + "loss": 0.8096, + "step": 135 + }, + { + "epoch": 0.06, + "learning_rate": 0.00028, + "loss": 0.7972, + "step": 140 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029, + "loss": 0.8306, + "step": 145 + }, + { + "epoch": 0.06, + "learning_rate": 0.0003, + "loss": 0.8409, + "step": 150 + }, + { + "epoch": 0.06, + "learning_rate": 0.0002996913580246913, + "loss": 0.8094, + "step": 155 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029938271604938266, + "loss": 0.8146, + "step": 160 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029907407407407405, + "loss": 0.8042, + "step": 165 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002987654320987654, + "loss": 0.7784, + "step": 170 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002984567901234568, + "loss": 0.828, + "step": 175 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029814814814814813, + "loss": 0.8473, + "step": 180 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002978395061728395, + "loss": 0.8354, + "step": 185 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029753086419753087, + "loss": 0.8246, + "step": 190 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029722222222222216, + "loss": 0.8249, + "step": 195 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029691358024691355, + "loss": 0.8222, + "step": 200 + }, + { + "epoch": 0.08, + "learning_rate": 0.0002966049382716049, + "loss": 0.8369, + "step": 205 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029629629629629624, + "loss": 0.7954, + "step": 210 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029598765432098763, + "loss": 0.8051, + "step": 215 + }, + { + "epoch": 0.09, + "learning_rate": 0.000295679012345679, + "loss": 0.8081, + "step": 220 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029537037037037037, + "loss": 0.7864, + "step": 225 + }, + { + "epoch": 0.09, + "learning_rate": 0.0002950617283950617, + "loss": 0.7974, + "step": 230 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029475308641975306, + "loss": 0.8306, + "step": 235 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029444444444444445, + "loss": 0.7792, + "step": 240 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029413580246913574, + "loss": 0.8108, + "step": 245 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029382716049382714, + "loss": 0.8167, + "step": 250 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002935185185185185, + "loss": 0.8358, + "step": 255 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002932098765432099, + "loss": 0.7948, + "step": 260 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002929012345679012, + "loss": 0.8078, + "step": 265 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029259259259259256, + "loss": 0.7886, + "step": 270 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029228395061728395, + "loss": 0.7903, + "step": 275 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002919753086419753, + "loss": 0.7892, + "step": 280 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029166666666666664, + "loss": 0.7717, + "step": 285 + }, + { + "epoch": 0.12, + "learning_rate": 0.000291358024691358, + "loss": 0.7774, + "step": 290 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002910493827160494, + "loss": 0.8053, + "step": 295 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002907407407407407, + "loss": 0.794, + "step": 300 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029043209876543206, + "loss": 0.7856, + "step": 305 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029012345679012345, + "loss": 0.7713, + "step": 310 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002898148148148148, + "loss": 0.7805, + "step": 315 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028950617283950614, + "loss": 0.7897, + "step": 320 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028919753086419753, + "loss": 0.7931, + "step": 325 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002888888888888888, + "loss": 0.7739, + "step": 330 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002885802469135802, + "loss": 0.7749, + "step": 335 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028827160493827156, + "loss": 0.7932, + "step": 340 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028796296296296296, + "loss": 0.7906, + "step": 345 + }, + { + "epoch": 0.14, + "learning_rate": 0.0002876543209876543, + "loss": 0.8094, + "step": 350 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028734567901234564, + "loss": 0.7932, + "step": 355 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028703703703703703, + "loss": 0.8027, + "step": 360 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002867283950617284, + "loss": 0.8297, + "step": 365 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002864197530864197, + "loss": 0.8228, + "step": 370 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002861111111111111, + "loss": 0.7997, + "step": 375 + }, + { + "epoch": 0.15, + "learning_rate": 0.00028580246913580246, + "loss": 0.8124, + "step": 380 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002854938271604938, + "loss": 0.8152, + "step": 385 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028518518518518514, + "loss": 0.7833, + "step": 390 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028487654320987654, + "loss": 0.7884, + "step": 395 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002845679012345679, + "loss": 0.753, + "step": 400 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002842592592592592, + "loss": 0.8055, + "step": 405 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002839506172839506, + "loss": 0.8014, + "step": 410 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028364197530864196, + "loss": 0.782, + "step": 415 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002833333333333333, + "loss": 0.7733, + "step": 420 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002830246913580247, + "loss": 0.7777, + "step": 425 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028271604938271604, + "loss": 0.752, + "step": 430 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002824074074074074, + "loss": 0.7963, + "step": 435 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002820987654320987, + "loss": 0.7655, + "step": 440 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002817901234567901, + "loss": 0.8, + "step": 445 + }, + { + "epoch": 0.18, + "learning_rate": 0.00028148148148148146, + "loss": 0.7465, + "step": 450 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002811728395061728, + "loss": 0.7432, + "step": 455 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002808641975308642, + "loss": 0.758, + "step": 460 + }, + { + "epoch": 0.19, + "learning_rate": 0.00028055555555555554, + "loss": 0.7757, + "step": 465 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002802469135802469, + "loss": 0.7816, + "step": 470 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002799382716049382, + "loss": 0.7744, + "step": 475 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002796296296296296, + "loss": 0.7807, + "step": 480 + }, + { + "epoch": 0.19, + "learning_rate": 0.00027932098765432096, + "loss": 0.774, + "step": 485 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002790123456790123, + "loss": 0.7361, + "step": 490 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002787037037037037, + "loss": 0.7663, + "step": 495 + }, + { + "epoch": 0.2, + "learning_rate": 0.00027839506172839504, + "loss": 0.7532, + "step": 500 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002780864197530864, + "loss": 0.7573, + "step": 505 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002777777777777778, + "loss": 0.7802, + "step": 510 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002774691358024691, + "loss": 0.7871, + "step": 515 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027716049382716046, + "loss": 0.7734, + "step": 520 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002768518518518518, + "loss": 0.7752, + "step": 525 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002765432098765432, + "loss": 0.7697, + "step": 530 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027623456790123454, + "loss": 0.7846, + "step": 535 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002759259259259259, + "loss": 0.7592, + "step": 540 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002756172839506173, + "loss": 0.7734, + "step": 545 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002753086419753086, + "loss": 0.7984, + "step": 550 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027499999999999996, + "loss": 0.7342, + "step": 555 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027469135802469136, + "loss": 0.7479, + "step": 560 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002743827160493827, + "loss": 0.819, + "step": 565 + }, + { + "epoch": 0.23, + "learning_rate": 0.00027407407407407404, + "loss": 0.7561, + "step": 570 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002737654320987654, + "loss": 0.7303, + "step": 575 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002734567901234568, + "loss": 0.8001, + "step": 580 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002731481481481481, + "loss": 0.7738, + "step": 585 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027283950617283946, + "loss": 0.7866, + "step": 590 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027253086419753086, + "loss": 0.7582, + "step": 595 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002722222222222222, + "loss": 0.7645, + "step": 600 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027191358024691354, + "loss": 0.7839, + "step": 605 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002716049382716049, + "loss": 0.7931, + "step": 610 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002712962962962963, + "loss": 0.7692, + "step": 615 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002709876543209876, + "loss": 0.7835, + "step": 620 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027067901234567896, + "loss": 0.7795, + "step": 625 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027037037037037036, + "loss": 0.7639, + "step": 630 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002700617283950617, + "loss": 0.7705, + "step": 635 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026975308641975304, + "loss": 0.7674, + "step": 640 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026944444444444444, + "loss": 0.7349, + "step": 645 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002691358024691358, + "loss": 0.8008, + "step": 650 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002688271604938271, + "loss": 0.755, + "step": 655 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026851851851851847, + "loss": 0.7526, + "step": 660 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026820987654320986, + "loss": 0.7611, + "step": 665 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002679012345679012, + "loss": 0.7621, + "step": 670 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026759259259259255, + "loss": 0.7768, + "step": 675 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026728395061728394, + "loss": 0.7703, + "step": 680 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002669753086419753, + "loss": 0.7667, + "step": 685 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002666666666666666, + "loss": 0.7712, + "step": 690 + }, + { + "epoch": 0.28, + "learning_rate": 0.000266358024691358, + "loss": 0.7269, + "step": 695 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026604938271604936, + "loss": 0.7275, + "step": 700 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002657407407407407, + "loss": 0.7786, + "step": 705 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026543209876543205, + "loss": 0.7808, + "step": 710 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026512345679012344, + "loss": 0.7455, + "step": 715 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002648148148148148, + "loss": 0.7717, + "step": 720 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002645061728395061, + "loss": 0.737, + "step": 725 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002641975308641975, + "loss": 0.7664, + "step": 730 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026388888888888886, + "loss": 0.7716, + "step": 735 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026358024691358026, + "loss": 0.7638, + "step": 740 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026327160493827155, + "loss": 0.7777, + "step": 745 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026296296296296294, + "loss": 0.7431, + "step": 750 + }, + { + "epoch": 0.3, + "learning_rate": 0.0002626543209876543, + "loss": 0.7516, + "step": 755 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026234567901234563, + "loss": 0.831, + "step": 760 + }, + { + "epoch": 0.31, + "learning_rate": 0.000262037037037037, + "loss": 0.7423, + "step": 765 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026172839506172837, + "loss": 0.7471, + "step": 770 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002614197530864197, + "loss": 0.7551, + "step": 775 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002611111111111111, + "loss": 0.7208, + "step": 780 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026080246913580245, + "loss": 0.7359, + "step": 785 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026049382716049384, + "loss": 0.7759, + "step": 790 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026018518518518513, + "loss": 0.7406, + "step": 795 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002598765432098765, + "loss": 0.756, + "step": 800 + }, + { + "epoch": 0.32, + "learning_rate": 0.00025956790123456787, + "loss": 0.7631, + "step": 805 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002592592592592592, + "loss": 0.7885, + "step": 810 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002589506172839506, + "loss": 0.7947, + "step": 815 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025864197530864195, + "loss": 0.7557, + "step": 820 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025833333333333334, + "loss": 0.7556, + "step": 825 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002580246913580247, + "loss": 0.7472, + "step": 830 + }, + { + "epoch": 0.33, + "learning_rate": 0.000257716049382716, + "loss": 0.729, + "step": 835 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002574074074074074, + "loss": 0.7523, + "step": 840 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002570987654320987, + "loss": 0.7505, + "step": 845 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002567901234567901, + "loss": 0.7617, + "step": 850 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025648148148148145, + "loss": 0.7898, + "step": 855 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025617283950617284, + "loss": 0.7575, + "step": 860 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002558641975308642, + "loss": 0.8316, + "step": 865 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025555555555555553, + "loss": 0.7261, + "step": 870 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002552469135802469, + "loss": 0.7594, + "step": 875 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025493827160493826, + "loss": 0.7372, + "step": 880 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002546296296296296, + "loss": 0.7498, + "step": 885 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025432098765432095, + "loss": 0.7398, + "step": 890 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002540123456790123, + "loss": 0.804, + "step": 895 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002537037037037037, + "loss": 0.7241, + "step": 900 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025339506172839503, + "loss": 0.7519, + "step": 905 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002530864197530864, + "loss": 0.7694, + "step": 910 + }, + { + "epoch": 0.37, + "learning_rate": 0.00025277777777777777, + "loss": 0.7474, + "step": 915 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002524691358024691, + "loss": 0.7278, + "step": 920 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002521604938271605, + "loss": 0.7747, + "step": 925 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002518518518518518, + "loss": 0.7858, + "step": 930 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002515432098765432, + "loss": 0.7442, + "step": 935 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025123456790123453, + "loss": 0.7446, + "step": 940 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002509259259259259, + "loss": 0.7843, + "step": 945 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025061728395061727, + "loss": 0.7512, + "step": 950 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002503086419753086, + "loss": 0.7616, + "step": 955 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025, + "loss": 0.826, + "step": 960 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024969135802469135, + "loss": 0.7567, + "step": 965 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002493827160493827, + "loss": 0.7754, + "step": 970 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002490740740740741, + "loss": 0.7605, + "step": 975 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024876543209876537, + "loss": 0.7728, + "step": 980 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024845679012345677, + "loss": 0.7902, + "step": 985 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002481481481481481, + "loss": 0.7622, + "step": 990 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002478395061728395, + "loss": 0.745, + "step": 995 + }, + { + "epoch": 0.4, + "learning_rate": 0.00024753086419753085, + "loss": 0.7529, + "step": 1000 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002472222222222222, + "loss": 0.759, + "step": 1005 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002469135802469136, + "loss": 0.7471, + "step": 1010 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024660493827160493, + "loss": 0.7517, + "step": 1015 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024629629629629627, + "loss": 0.7634, + "step": 1020 + }, + { + "epoch": 0.41, + "learning_rate": 0.0002459876543209876, + "loss": 0.7833, + "step": 1025 + }, + { + "epoch": 0.41, + "learning_rate": 0.000245679012345679, + "loss": 0.7227, + "step": 1030 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024537037037037035, + "loss": 0.7792, + "step": 1035 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002450617283950617, + "loss": 0.7292, + "step": 1040 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002447530864197531, + "loss": 0.7519, + "step": 1045 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024444444444444443, + "loss": 0.7385, + "step": 1050 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024413580246913577, + "loss": 0.7842, + "step": 1055 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024382716049382714, + "loss": 0.796, + "step": 1060 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002435185185185185, + "loss": 0.7479, + "step": 1065 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024320987654320985, + "loss": 0.7531, + "step": 1070 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024290123456790122, + "loss": 0.731, + "step": 1075 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002425925925925926, + "loss": 0.7319, + "step": 1080 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024228395061728393, + "loss": 0.7381, + "step": 1085 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024197530864197527, + "loss": 0.7621, + "step": 1090 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024166666666666664, + "loss": 0.771, + "step": 1095 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024135802469135798, + "loss": 0.7493, + "step": 1100 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024104938271604935, + "loss": 0.7553, + "step": 1105 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024074074074074072, + "loss": 0.7862, + "step": 1110 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002404320987654321, + "loss": 0.7531, + "step": 1115 + }, + { + "epoch": 0.45, + "learning_rate": 0.00024012345679012343, + "loss": 0.7688, + "step": 1120 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002398148148148148, + "loss": 0.7666, + "step": 1125 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023950617283950617, + "loss": 0.7484, + "step": 1130 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023919753086419748, + "loss": 0.8048, + "step": 1135 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023888888888888885, + "loss": 0.757, + "step": 1140 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023858024691358022, + "loss": 0.7838, + "step": 1145 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002382716049382716, + "loss": 0.7834, + "step": 1150 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023796296296296293, + "loss": 0.733, + "step": 1155 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002376543209876543, + "loss": 0.7195, + "step": 1160 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023734567901234567, + "loss": 0.7478, + "step": 1165 + }, + { + "epoch": 0.47, + "learning_rate": 0.000237037037037037, + "loss": 0.7456, + "step": 1170 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023672839506172838, + "loss": 0.722, + "step": 1175 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023641975308641975, + "loss": 0.7395, + "step": 1180 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023611111111111112, + "loss": 0.7553, + "step": 1185 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023580246913580243, + "loss": 0.7692, + "step": 1190 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002354938271604938, + "loss": 0.7396, + "step": 1195 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023518518518518517, + "loss": 0.7214, + "step": 1200 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002348765432098765, + "loss": 0.7359, + "step": 1205 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023456790123456788, + "loss": 0.7666, + "step": 1210 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023425925925925925, + "loss": 0.7583, + "step": 1215 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002339506172839506, + "loss": 0.7715, + "step": 1220 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023364197530864196, + "loss": 0.7423, + "step": 1225 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002333333333333333, + "loss": 0.7598, + "step": 1230 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023302469135802467, + "loss": 0.7251, + "step": 1235 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023271604938271601, + "loss": 0.7447, + "step": 1240 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023240740740740738, + "loss": 0.7923, + "step": 1245 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023209876543209875, + "loss": 0.7161, + "step": 1250 + }, + { + "epoch": 0.5, + "learning_rate": 0.0002317901234567901, + "loss": 0.7291, + "step": 1255 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023148148148148146, + "loss": 0.7366, + "step": 1260 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023117283950617283, + "loss": 0.7173, + "step": 1265 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002308641975308642, + "loss": 0.7575, + "step": 1270 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023055555555555552, + "loss": 0.7632, + "step": 1275 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023024691358024688, + "loss": 0.7601, + "step": 1280 + }, + { + "epoch": 0.51, + "learning_rate": 0.00022993827160493825, + "loss": 0.7395, + "step": 1285 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002296296296296296, + "loss": 0.7686, + "step": 1290 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022932098765432096, + "loss": 0.7531, + "step": 1295 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022901234567901233, + "loss": 0.7675, + "step": 1300 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002287037037037037, + "loss": 0.8103, + "step": 1305 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022839506172839504, + "loss": 0.773, + "step": 1310 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002280864197530864, + "loss": 0.7549, + "step": 1315 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022777777777777778, + "loss": 0.7547, + "step": 1320 + }, + { + "epoch": 0.53, + "learning_rate": 0.0002274691358024691, + "loss": 0.758, + "step": 1325 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022716049382716047, + "loss": 0.77, + "step": 1330 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022685185185185183, + "loss": 0.7662, + "step": 1335 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022654320987654318, + "loss": 0.744, + "step": 1340 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022623456790123455, + "loss": 0.7486, + "step": 1345 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022592592592592591, + "loss": 0.7473, + "step": 1350 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022561728395061728, + "loss": 0.7486, + "step": 1355 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022530864197530862, + "loss": 0.7205, + "step": 1360 + }, + { + "epoch": 0.54, + "learning_rate": 0.000225, + "loss": 0.7289, + "step": 1365 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022469135802469134, + "loss": 0.7586, + "step": 1370 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022438271604938268, + "loss": 0.7175, + "step": 1375 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022407407407407405, + "loss": 0.6961, + "step": 1380 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022376543209876542, + "loss": 0.7242, + "step": 1385 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022345679012345678, + "loss": 0.7515, + "step": 1390 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022314814814814813, + "loss": 0.7522, + "step": 1395 + }, + { + "epoch": 0.56, + "learning_rate": 0.0002228395061728395, + "loss": 0.7651, + "step": 1400 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022253086419753086, + "loss": 0.6958, + "step": 1405 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022222222222222218, + "loss": 0.7336, + "step": 1410 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022191358024691355, + "loss": 0.7636, + "step": 1415 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022160493827160492, + "loss": 0.7583, + "step": 1420 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022129629629629626, + "loss": 0.7605, + "step": 1425 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022098765432098763, + "loss": 0.7109, + "step": 1430 + }, + { + "epoch": 0.57, + "learning_rate": 0.000220679012345679, + "loss": 0.7224, + "step": 1435 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022037037037037037, + "loss": 0.7724, + "step": 1440 + }, + { + "epoch": 0.58, + "learning_rate": 0.0002200617283950617, + "loss": 0.7637, + "step": 1445 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021975308641975308, + "loss": 0.7302, + "step": 1450 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021944444444444444, + "loss": 0.7685, + "step": 1455 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021913580246913576, + "loss": 0.751, + "step": 1460 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021882716049382713, + "loss": 0.7768, + "step": 1465 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002185185185185185, + "loss": 0.7461, + "step": 1470 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021820987654320987, + "loss": 0.7782, + "step": 1475 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002179012345679012, + "loss": 0.7474, + "step": 1480 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021759259259259258, + "loss": 0.7475, + "step": 1485 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021728395061728395, + "loss": 0.7539, + "step": 1490 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002169753086419753, + "loss": 0.7476, + "step": 1495 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021666666666666666, + "loss": 0.7382, + "step": 1500 + }, + { + "epoch": 0.6, + "learning_rate": 0.000216358024691358, + "loss": 0.7305, + "step": 1505 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021604938271604937, + "loss": 0.7455, + "step": 1510 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002157407407407407, + "loss": 0.7286, + "step": 1515 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021543209876543208, + "loss": 0.7653, + "step": 1520 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021512345679012345, + "loss": 0.7443, + "step": 1525 + }, + { + "epoch": 0.61, + "learning_rate": 0.0002148148148148148, + "loss": 0.7026, + "step": 1530 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021450617283950616, + "loss": 0.7436, + "step": 1535 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021419753086419753, + "loss": 0.7101, + "step": 1540 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021388888888888884, + "loss": 0.7484, + "step": 1545 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002135802469135802, + "loss": 0.7483, + "step": 1550 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021327160493827158, + "loss": 0.7419, + "step": 1555 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021296296296296295, + "loss": 0.7356, + "step": 1560 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002126543209876543, + "loss": 0.7716, + "step": 1565 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021234567901234566, + "loss": 0.734, + "step": 1570 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021203703703703703, + "loss": 0.7268, + "step": 1575 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021172839506172837, + "loss": 0.7133, + "step": 1580 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021141975308641974, + "loss": 0.7575, + "step": 1585 + }, + { + "epoch": 0.63, + "learning_rate": 0.0002111111111111111, + "loss": 0.7219, + "step": 1590 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021080246913580248, + "loss": 0.7394, + "step": 1595 + }, + { + "epoch": 0.64, + "learning_rate": 0.0002104938271604938, + "loss": 0.7729, + "step": 1600 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021018518518518516, + "loss": 0.757, + "step": 1605 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020987654320987653, + "loss": 0.7139, + "step": 1610 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020956790123456787, + "loss": 0.7492, + "step": 1615 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020925925925925924, + "loss": 0.7461, + "step": 1620 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002089506172839506, + "loss": 0.7276, + "step": 1625 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020864197530864198, + "loss": 0.7725, + "step": 1630 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020833333333333332, + "loss": 0.7623, + "step": 1635 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002080246913580247, + "loss": 0.7394, + "step": 1640 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020771604938271603, + "loss": 0.7387, + "step": 1645 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020740740740740737, + "loss": 0.7519, + "step": 1650 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020709876543209874, + "loss": 0.7625, + "step": 1655 + }, + { + "epoch": 0.66, + "learning_rate": 0.0002067901234567901, + "loss": 0.7254, + "step": 1660 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020648148148148145, + "loss": 0.7129, + "step": 1665 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020617283950617282, + "loss": 0.7964, + "step": 1670 + }, + { + "epoch": 0.67, + "learning_rate": 0.0002058641975308642, + "loss": 0.7332, + "step": 1675 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020555555555555556, + "loss": 0.7955, + "step": 1680 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020524691358024687, + "loss": 0.7544, + "step": 1685 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020493827160493824, + "loss": 0.7115, + "step": 1690 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002046296296296296, + "loss": 0.7434, + "step": 1695 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020432098765432095, + "loss": 0.7382, + "step": 1700 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020401234567901232, + "loss": 0.7452, + "step": 1705 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002037037037037037, + "loss": 0.7551, + "step": 1710 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020339506172839506, + "loss": 0.7202, + "step": 1715 + }, + { + "epoch": 0.69, + "learning_rate": 0.0002030864197530864, + "loss": 0.735, + "step": 1720 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020277777777777777, + "loss": 0.7581, + "step": 1725 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020246913580246914, + "loss": 0.7527, + "step": 1730 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020216049382716045, + "loss": 0.7498, + "step": 1735 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020185185185185182, + "loss": 0.735, + "step": 1740 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002015432098765432, + "loss": 0.7286, + "step": 1745 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020123456790123456, + "loss": 0.6891, + "step": 1750 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002009259259259259, + "loss": 0.7353, + "step": 1755 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020061728395061727, + "loss": 0.7386, + "step": 1760 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020030864197530864, + "loss": 0.7106, + "step": 1765 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019999999999999998, + "loss": 0.7207, + "step": 1770 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019969135802469135, + "loss": 0.7576, + "step": 1775 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019938271604938272, + "loss": 0.7462, + "step": 1780 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019907407407407404, + "loss": 0.7068, + "step": 1785 + }, + { + "epoch": 0.71, + "learning_rate": 0.0001987654320987654, + "loss": 0.7525, + "step": 1790 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019845679012345677, + "loss": 0.7291, + "step": 1795 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019814814814814814, + "loss": 0.7226, + "step": 1800 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019783950617283948, + "loss": 0.7445, + "step": 1805 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019753086419753085, + "loss": 0.7571, + "step": 1810 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019722222222222222, + "loss": 0.7306, + "step": 1815 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019691358024691354, + "loss": 0.7785, + "step": 1820 + }, + { + "epoch": 0.73, + "learning_rate": 0.0001966049382716049, + "loss": 0.7537, + "step": 1825 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019629629629629627, + "loss": 0.7549, + "step": 1830 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019598765432098764, + "loss": 0.732, + "step": 1835 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019567901234567898, + "loss": 0.7159, + "step": 1840 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019537037037037035, + "loss": 0.7549, + "step": 1845 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019506172839506172, + "loss": 0.7581, + "step": 1850 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019475308641975306, + "loss": 0.7559, + "step": 1855 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019444444444444443, + "loss": 0.7626, + "step": 1860 + }, + { + "epoch": 0.74, + "learning_rate": 0.0001941358024691358, + "loss": 0.7423, + "step": 1865 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019382716049382712, + "loss": 0.7672, + "step": 1870 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019351851851851849, + "loss": 0.7794, + "step": 1875 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019320987654320985, + "loss": 0.7428, + "step": 1880 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019290123456790122, + "loss": 0.7462, + "step": 1885 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019259259259259257, + "loss": 0.702, + "step": 1890 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019228395061728393, + "loss": 0.7626, + "step": 1895 + }, + { + "epoch": 0.76, + "learning_rate": 0.0001919753086419753, + "loss": 0.7357, + "step": 1900 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019166666666666665, + "loss": 0.7408, + "step": 1905 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019135802469135801, + "loss": 0.707, + "step": 1910 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019104938271604938, + "loss": 0.726, + "step": 1915 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019074074074074073, + "loss": 0.7396, + "step": 1920 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019043209876543207, + "loss": 0.7676, + "step": 1925 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019012345679012344, + "loss": 0.7335, + "step": 1930 + }, + { + "epoch": 0.77, + "learning_rate": 0.0001898148148148148, + "loss": 0.7235, + "step": 1935 + }, + { + "epoch": 0.77, + "learning_rate": 0.00018950617283950615, + "loss": 0.7297, + "step": 1940 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018919753086419752, + "loss": 0.7079, + "step": 1945 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018888888888888888, + "loss": 0.7629, + "step": 1950 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018858024691358025, + "loss": 0.7131, + "step": 1955 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018827160493827157, + "loss": 0.7517, + "step": 1960 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018796296296296294, + "loss": 0.7292, + "step": 1965 + }, + { + "epoch": 0.79, + "learning_rate": 0.0001876543209876543, + "loss": 0.7137, + "step": 1970 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018734567901234565, + "loss": 0.725, + "step": 1975 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018703703703703702, + "loss": 0.7444, + "step": 1980 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018672839506172839, + "loss": 0.7366, + "step": 1985 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018641975308641973, + "loss": 0.7329, + "step": 1990 + }, + { + "epoch": 0.8, + "learning_rate": 0.0001861111111111111, + "loss": 0.7037, + "step": 1995 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018580246913580247, + "loss": 0.7186, + "step": 2000 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018549382716049383, + "loss": 0.7322, + "step": 2005 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018518518518518515, + "loss": 0.7639, + "step": 2010 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018487654320987652, + "loss": 0.7426, + "step": 2015 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001845679012345679, + "loss": 0.7648, + "step": 2020 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018425925925925923, + "loss": 0.714, + "step": 2025 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001839506172839506, + "loss": 0.7091, + "step": 2030 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018364197530864197, + "loss": 0.7222, + "step": 2035 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018333333333333334, + "loss": 0.7491, + "step": 2040 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018302469135802468, + "loss": 0.7659, + "step": 2045 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018271604938271605, + "loss": 0.727, + "step": 2050 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018240740740740742, + "loss": 0.7416, + "step": 2055 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018209876543209873, + "loss": 0.697, + "step": 2060 + }, + { + "epoch": 0.82, + "learning_rate": 0.0001817901234567901, + "loss": 0.7408, + "step": 2065 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018148148148148147, + "loss": 0.7144, + "step": 2070 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018117283950617284, + "loss": 0.7745, + "step": 2075 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018086419753086418, + "loss": 0.7362, + "step": 2080 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018055555555555555, + "loss": 0.7378, + "step": 2085 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018024691358024692, + "loss": 0.7227, + "step": 2090 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017993827160493826, + "loss": 0.7408, + "step": 2095 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001796296296296296, + "loss": 0.7178, + "step": 2100 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017932098765432097, + "loss": 0.7401, + "step": 2105 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001790123456790123, + "loss": 0.7484, + "step": 2110 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017870370370370368, + "loss": 0.7271, + "step": 2115 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017839506172839505, + "loss": 0.7897, + "step": 2120 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017808641975308642, + "loss": 0.7374, + "step": 2125 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017777777777777776, + "loss": 0.7314, + "step": 2130 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017746913580246913, + "loss": 0.7338, + "step": 2135 + }, + { + "epoch": 0.85, + "learning_rate": 0.0001771604938271605, + "loss": 0.7536, + "step": 2140 + }, + { + "epoch": 0.86, + "learning_rate": 0.0001768518518518518, + "loss": 0.7501, + "step": 2145 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017654320987654318, + "loss": 0.7263, + "step": 2150 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017623456790123455, + "loss": 0.7468, + "step": 2155 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017592592592592592, + "loss": 0.7097, + "step": 2160 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017561728395061726, + "loss": 0.7261, + "step": 2165 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017530864197530863, + "loss": 0.7489, + "step": 2170 + }, + { + "epoch": 0.87, + "learning_rate": 0.000175, + "loss": 0.7149, + "step": 2175 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017469135802469134, + "loss": 0.7239, + "step": 2180 + }, + { + "epoch": 0.87, + "learning_rate": 0.0001743827160493827, + "loss": 0.7249, + "step": 2185 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017407407407407408, + "loss": 0.7506, + "step": 2190 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001737654320987654, + "loss": 0.7594, + "step": 2195 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017345679012345676, + "loss": 0.7412, + "step": 2200 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017314814814814813, + "loss": 0.7219, + "step": 2205 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001728395061728395, + "loss": 0.7655, + "step": 2210 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017253086419753084, + "loss": 0.735, + "step": 2215 + }, + { + "epoch": 0.89, + "learning_rate": 0.0001722222222222222, + "loss": 0.7214, + "step": 2220 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017191358024691358, + "loss": 0.7179, + "step": 2225 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017160493827160492, + "loss": 0.7208, + "step": 2230 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017129629629629626, + "loss": 0.7445, + "step": 2235 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017098765432098763, + "loss": 0.7, + "step": 2240 + }, + { + "epoch": 0.9, + "learning_rate": 0.000170679012345679, + "loss": 0.7571, + "step": 2245 + }, + { + "epoch": 0.9, + "learning_rate": 0.00017037037037037034, + "loss": 0.7076, + "step": 2250 + }, + { + "epoch": 0.9, + "learning_rate": 0.0001700617283950617, + "loss": 0.7027, + "step": 2255 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016975308641975308, + "loss": 0.7408, + "step": 2260 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016944444444444442, + "loss": 0.7095, + "step": 2265 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001691358024691358, + "loss": 0.7314, + "step": 2270 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016882716049382716, + "loss": 0.714, + "step": 2275 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016851851851851853, + "loss": 0.7442, + "step": 2280 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016820987654320984, + "loss": 0.7144, + "step": 2285 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001679012345679012, + "loss": 0.7252, + "step": 2290 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016759259259259258, + "loss": 0.7118, + "step": 2295 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016728395061728392, + "loss": 0.7444, + "step": 2300 + }, + { + "epoch": 0.92, + "learning_rate": 0.0001669753086419753, + "loss": 0.732, + "step": 2305 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016666666666666666, + "loss": 0.7394, + "step": 2310 + }, + { + "epoch": 0.92, + "learning_rate": 0.000166358024691358, + "loss": 0.7573, + "step": 2315 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016604938271604937, + "loss": 0.7543, + "step": 2320 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016574074074074074, + "loss": 0.7709, + "step": 2325 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001654320987654321, + "loss": 0.7372, + "step": 2330 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016512345679012342, + "loss": 0.7222, + "step": 2335 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001648148148148148, + "loss": 0.7505, + "step": 2340 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016450617283950616, + "loss": 0.7364, + "step": 2345 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001641975308641975, + "loss": 0.7001, + "step": 2350 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016388888888888887, + "loss": 0.7203, + "step": 2355 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016358024691358024, + "loss": 0.6906, + "step": 2360 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001632716049382716, + "loss": 0.7557, + "step": 2365 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016296296296296295, + "loss": 0.7261, + "step": 2370 + }, + { + "epoch": 0.95, + "learning_rate": 0.0001626543209876543, + "loss": 0.7182, + "step": 2375 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016234567901234566, + "loss": 0.7557, + "step": 2380 + }, + { + "epoch": 0.95, + "learning_rate": 0.000162037037037037, + "loss": 0.7251, + "step": 2385 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016172839506172837, + "loss": 0.7551, + "step": 2390 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016141975308641974, + "loss": 0.6976, + "step": 2395 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001611111111111111, + "loss": 0.7336, + "step": 2400 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016080246913580245, + "loss": 0.7023, + "step": 2405 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016049382716049382, + "loss": 0.7315, + "step": 2410 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001601851851851852, + "loss": 0.7092, + "step": 2415 + }, + { + "epoch": 0.97, + "learning_rate": 0.0001598765432098765, + "loss": 0.7381, + "step": 2420 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015956790123456788, + "loss": 0.7687, + "step": 2425 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015925925925925924, + "loss": 0.7447, + "step": 2430 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015895061728395059, + "loss": 0.7476, + "step": 2435 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015864197530864196, + "loss": 0.7436, + "step": 2440 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015833333333333332, + "loss": 0.7188, + "step": 2445 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001580246913580247, + "loss": 0.7284, + "step": 2450 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015771604938271603, + "loss": 0.739, + "step": 2455 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001574074074074074, + "loss": 0.7108, + "step": 2460 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015709876543209877, + "loss": 0.7101, + "step": 2465 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001567901234567901, + "loss": 0.7433, + "step": 2470 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015648148148148146, + "loss": 0.7009, + "step": 2475 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015617283950617283, + "loss": 0.7046, + "step": 2480 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001558641975308642, + "loss": 0.7267, + "step": 2485 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015555555555555554, + "loss": 0.7253, + "step": 2490 + }, + { + "epoch": 1.0, + "learning_rate": 0.0001552469135802469, + "loss": 0.6932, + "step": 2495 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015493827160493827, + "loss": 0.7542, + "step": 2500 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015462962962962962, + "loss": 0.7269, + "step": 2505 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015432098765432098, + "loss": 0.6682, + "step": 2510 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015401234567901233, + "loss": 0.6625, + "step": 2515 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001537037037037037, + "loss": 0.6818, + "step": 2520 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015339506172839504, + "loss": 0.6982, + "step": 2525 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001530864197530864, + "loss": 0.6749, + "step": 2530 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015277777777777777, + "loss": 0.6552, + "step": 2535 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015246913580246912, + "loss": 0.702, + "step": 2540 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015216049382716049, + "loss": 0.6748, + "step": 2545 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015185185185185185, + "loss": 0.6707, + "step": 2550 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015154320987654317, + "loss": 0.6886, + "step": 2555 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015123456790123454, + "loss": 0.72, + "step": 2560 + }, + { + "epoch": 1.02, + "learning_rate": 0.0001509259259259259, + "loss": 0.6959, + "step": 2565 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015061728395061728, + "loss": 0.6684, + "step": 2570 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015030864197530862, + "loss": 0.6896, + "step": 2575 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015, + "loss": 0.6791, + "step": 2580 + }, + { + "epoch": 1.03, + "learning_rate": 0.00014969135802469133, + "loss": 0.6848, + "step": 2585 + }, + { + "epoch": 1.03, + "learning_rate": 0.0001493827160493827, + "loss": 0.6471, + "step": 2590 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014907407407407407, + "loss": 0.6611, + "step": 2595 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014876543209876544, + "loss": 0.6975, + "step": 2600 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014845679012345678, + "loss": 0.6966, + "step": 2605 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014814814814814812, + "loss": 0.6894, + "step": 2610 + }, + { + "epoch": 1.04, + "learning_rate": 0.0001478395061728395, + "loss": 0.681, + "step": 2615 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014753086419753086, + "loss": 0.6723, + "step": 2620 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014722222222222223, + "loss": 0.6869, + "step": 2625 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014691358024691357, + "loss": 0.7015, + "step": 2630 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014660493827160494, + "loss": 0.6932, + "step": 2635 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014629629629629628, + "loss": 0.6901, + "step": 2640 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014598765432098765, + "loss": 0.6466, + "step": 2645 + }, + { + "epoch": 1.06, + "learning_rate": 0.000145679012345679, + "loss": 0.7214, + "step": 2650 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014537037037037036, + "loss": 0.6692, + "step": 2655 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014506172839506173, + "loss": 0.6935, + "step": 2660 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014475308641975307, + "loss": 0.6851, + "step": 2665 + }, + { + "epoch": 1.07, + "learning_rate": 0.0001444444444444444, + "loss": 0.6856, + "step": 2670 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014413580246913578, + "loss": 0.6895, + "step": 2675 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014382716049382715, + "loss": 0.6562, + "step": 2680 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014351851851851852, + "loss": 0.6787, + "step": 2685 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014320987654320986, + "loss": 0.6733, + "step": 2690 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014290123456790123, + "loss": 0.6769, + "step": 2695 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014259259259259257, + "loss": 0.6543, + "step": 2700 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014228395061728394, + "loss": 0.6624, + "step": 2705 + }, + { + "epoch": 1.08, + "learning_rate": 0.0001419753086419753, + "loss": 0.6712, + "step": 2710 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014166666666666665, + "loss": 0.6868, + "step": 2715 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014135802469135802, + "loss": 0.6584, + "step": 2720 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014104938271604936, + "loss": 0.6901, + "step": 2725 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014074074074074073, + "loss": 0.6662, + "step": 2730 + }, + { + "epoch": 1.09, + "learning_rate": 0.0001404320987654321, + "loss": 0.6788, + "step": 2735 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014012345679012344, + "loss": 0.7102, + "step": 2740 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001398148148148148, + "loss": 0.6997, + "step": 2745 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013950617283950615, + "loss": 0.6888, + "step": 2750 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013919753086419752, + "loss": 0.675, + "step": 2755 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001388888888888889, + "loss": 0.6674, + "step": 2760 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013858024691358023, + "loss": 0.6982, + "step": 2765 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001382716049382716, + "loss": 0.6847, + "step": 2770 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013796296296296294, + "loss": 0.7183, + "step": 2775 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001376543209876543, + "loss": 0.6647, + "step": 2780 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013734567901234568, + "loss": 0.6794, + "step": 2785 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013703703703703702, + "loss": 0.6852, + "step": 2790 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001367283950617284, + "loss": 0.6638, + "step": 2795 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013641975308641973, + "loss": 0.7229, + "step": 2800 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001361111111111111, + "loss": 0.6804, + "step": 2805 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013580246913580244, + "loss": 0.7028, + "step": 2810 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001354938271604938, + "loss": 0.6775, + "step": 2815 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013518518518518518, + "loss": 0.6511, + "step": 2820 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013487654320987652, + "loss": 0.6952, + "step": 2825 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001345679012345679, + "loss": 0.6555, + "step": 2830 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013425925925925923, + "loss": 0.6738, + "step": 2835 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001339506172839506, + "loss": 0.6576, + "step": 2840 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013364197530864197, + "loss": 0.6679, + "step": 2845 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001333333333333333, + "loss": 0.6787, + "step": 2850 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013302469135802468, + "loss": 0.6604, + "step": 2855 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013271604938271602, + "loss": 0.6733, + "step": 2860 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001324074074074074, + "loss": 0.6829, + "step": 2865 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013209876543209876, + "loss": 0.6757, + "step": 2870 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013179012345679013, + "loss": 0.6709, + "step": 2875 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013148148148148147, + "loss": 0.6975, + "step": 2880 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013117283950617281, + "loss": 0.6719, + "step": 2885 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013086419753086418, + "loss": 0.664, + "step": 2890 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013055555555555555, + "loss": 0.6839, + "step": 2895 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013024691358024692, + "loss": 0.706, + "step": 2900 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012993827160493826, + "loss": 0.6666, + "step": 2905 + }, + { + "epoch": 1.16, + "learning_rate": 0.0001296296296296296, + "loss": 0.6783, + "step": 2910 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012932098765432097, + "loss": 0.6746, + "step": 2915 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012901234567901234, + "loss": 0.6933, + "step": 2920 + }, + { + "epoch": 1.17, + "learning_rate": 0.0001287037037037037, + "loss": 0.6605, + "step": 2925 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012839506172839505, + "loss": 0.6757, + "step": 2930 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012808641975308642, + "loss": 0.6385, + "step": 2935 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012777777777777776, + "loss": 0.6673, + "step": 2940 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012746913580246913, + "loss": 0.6862, + "step": 2945 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012716049382716047, + "loss": 0.6869, + "step": 2950 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012685185185185184, + "loss": 0.6392, + "step": 2955 + }, + { + "epoch": 1.18, + "learning_rate": 0.0001265432098765432, + "loss": 0.6928, + "step": 2960 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012623456790123455, + "loss": 0.6876, + "step": 2965 + }, + { + "epoch": 1.19, + "learning_rate": 0.0001259259259259259, + "loss": 0.6767, + "step": 2970 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012561728395061726, + "loss": 0.6828, + "step": 2975 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012530864197530863, + "loss": 0.6716, + "step": 2980 + }, + { + "epoch": 1.19, + "learning_rate": 0.000125, + "loss": 0.6753, + "step": 2985 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012469135802469134, + "loss": 0.7025, + "step": 2990 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012438271604938269, + "loss": 0.6941, + "step": 2995 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012407407407407406, + "loss": 0.7042, + "step": 3000 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012376543209876542, + "loss": 0.6651, + "step": 3005 + }, + { + "epoch": 1.2, + "learning_rate": 0.0001234567901234568, + "loss": 0.6793, + "step": 3010 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012314814814814813, + "loss": 0.6473, + "step": 3015 + }, + { + "epoch": 1.21, + "learning_rate": 0.0001228395061728395, + "loss": 0.6683, + "step": 3020 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012253086419753085, + "loss": 0.6697, + "step": 3025 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012222222222222221, + "loss": 0.6639, + "step": 3030 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012191358024691357, + "loss": 0.6642, + "step": 3035 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012160493827160493, + "loss": 0.6654, + "step": 3040 + }, + { + "epoch": 1.22, + "learning_rate": 0.0001212962962962963, + "loss": 0.712, + "step": 3045 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012098765432098764, + "loss": 0.6702, + "step": 3050 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012067901234567899, + "loss": 0.6857, + "step": 3055 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012037037037037036, + "loss": 0.6755, + "step": 3060 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012006172839506172, + "loss": 0.6617, + "step": 3065 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011975308641975308, + "loss": 0.6794, + "step": 3070 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011944444444444443, + "loss": 0.6807, + "step": 3075 + }, + { + "epoch": 1.23, + "learning_rate": 0.0001191358024691358, + "loss": 0.661, + "step": 3080 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011882716049382715, + "loss": 0.691, + "step": 3085 + }, + { + "epoch": 1.23, + "learning_rate": 0.0001185185185185185, + "loss": 0.6799, + "step": 3090 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011820987654320988, + "loss": 0.6598, + "step": 3095 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011790123456790122, + "loss": 0.7039, + "step": 3100 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011759259259259259, + "loss": 0.6943, + "step": 3105 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011728395061728394, + "loss": 0.7052, + "step": 3110 + }, + { + "epoch": 1.24, + "learning_rate": 0.0001169753086419753, + "loss": 0.6884, + "step": 3115 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011666666666666665, + "loss": 0.711, + "step": 3120 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011635802469135801, + "loss": 0.702, + "step": 3125 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011604938271604938, + "loss": 0.6905, + "step": 3130 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011574074074074073, + "loss": 0.6433, + "step": 3135 + }, + { + "epoch": 1.25, + "learning_rate": 0.0001154320987654321, + "loss": 0.6643, + "step": 3140 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011512345679012344, + "loss": 0.6841, + "step": 3145 + }, + { + "epoch": 1.26, + "learning_rate": 0.0001148148148148148, + "loss": 0.6423, + "step": 3150 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011450617283950617, + "loss": 0.651, + "step": 3155 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011419753086419752, + "loss": 0.6819, + "step": 3160 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011388888888888889, + "loss": 0.7022, + "step": 3165 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011358024691358023, + "loss": 0.6715, + "step": 3170 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011327160493827159, + "loss": 0.6813, + "step": 3175 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011296296296296296, + "loss": 0.6756, + "step": 3180 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011265432098765431, + "loss": 0.7021, + "step": 3185 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011234567901234567, + "loss": 0.698, + "step": 3190 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011203703703703702, + "loss": 0.6465, + "step": 3195 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011172839506172839, + "loss": 0.6546, + "step": 3200 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011141975308641975, + "loss": 0.6758, + "step": 3205 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011111111111111109, + "loss": 0.6447, + "step": 3210 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011080246913580246, + "loss": 0.6741, + "step": 3215 + }, + { + "epoch": 1.29, + "learning_rate": 0.00011049382716049381, + "loss": 0.6846, + "step": 3220 + }, + { + "epoch": 1.29, + "learning_rate": 0.00011018518518518518, + "loss": 0.6573, + "step": 3225 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010987654320987654, + "loss": 0.6738, + "step": 3230 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010956790123456788, + "loss": 0.6782, + "step": 3235 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010925925925925925, + "loss": 0.6815, + "step": 3240 + }, + { + "epoch": 1.3, + "learning_rate": 0.0001089506172839506, + "loss": 0.6714, + "step": 3245 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010864197530864197, + "loss": 0.6839, + "step": 3250 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010833333333333333, + "loss": 0.6564, + "step": 3255 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010802469135802468, + "loss": 0.6524, + "step": 3260 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010771604938271604, + "loss": 0.6636, + "step": 3265 + }, + { + "epoch": 1.31, + "learning_rate": 0.0001074074074074074, + "loss": 0.66, + "step": 3270 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010709876543209876, + "loss": 0.7089, + "step": 3275 + }, + { + "epoch": 1.31, + "learning_rate": 0.0001067901234567901, + "loss": 0.6692, + "step": 3280 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010648148148148147, + "loss": 0.6871, + "step": 3285 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010617283950617283, + "loss": 0.6749, + "step": 3290 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010586419753086418, + "loss": 0.684, + "step": 3295 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010555555555555555, + "loss": 0.6803, + "step": 3300 + }, + { + "epoch": 1.32, + "learning_rate": 0.0001052469135802469, + "loss": 0.6932, + "step": 3305 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010493827160493826, + "loss": 0.6542, + "step": 3310 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010462962962962962, + "loss": 0.6494, + "step": 3315 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010432098765432099, + "loss": 0.6804, + "step": 3320 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010401234567901234, + "loss": 0.6709, + "step": 3325 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010370370370370369, + "loss": 0.7199, + "step": 3330 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010339506172839506, + "loss": 0.6677, + "step": 3335 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010308641975308641, + "loss": 0.6657, + "step": 3340 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010277777777777778, + "loss": 0.6811, + "step": 3345 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010246913580246912, + "loss": 0.6635, + "step": 3350 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010216049382716048, + "loss": 0.6696, + "step": 3355 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010185185185185185, + "loss": 0.6926, + "step": 3360 + }, + { + "epoch": 1.34, + "learning_rate": 0.0001015432098765432, + "loss": 0.6638, + "step": 3365 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010123456790123457, + "loss": 0.6518, + "step": 3370 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010092592592592591, + "loss": 0.6521, + "step": 3375 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010061728395061728, + "loss": 0.6809, + "step": 3380 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010030864197530864, + "loss": 0.6887, + "step": 3385 + }, + { + "epoch": 1.35, + "learning_rate": 9.999999999999999e-05, + "loss": 0.6924, + "step": 3390 + }, + { + "epoch": 1.36, + "learning_rate": 9.969135802469136e-05, + "loss": 0.6674, + "step": 3395 + }, + { + "epoch": 1.36, + "learning_rate": 9.93827160493827e-05, + "loss": 0.6908, + "step": 3400 + }, + { + "epoch": 1.36, + "learning_rate": 9.907407407407407e-05, + "loss": 0.6959, + "step": 3405 + }, + { + "epoch": 1.36, + "learning_rate": 9.876543209876543e-05, + "loss": 0.7068, + "step": 3410 + }, + { + "epoch": 1.36, + "learning_rate": 9.845679012345677e-05, + "loss": 0.6694, + "step": 3415 + }, + { + "epoch": 1.37, + "learning_rate": 9.814814814814814e-05, + "loss": 0.6214, + "step": 3420 + }, + { + "epoch": 1.37, + "learning_rate": 9.783950617283949e-05, + "loss": 0.6534, + "step": 3425 + }, + { + "epoch": 1.37, + "learning_rate": 9.753086419753086e-05, + "loss": 0.6708, + "step": 3430 + }, + { + "epoch": 1.37, + "learning_rate": 9.722222222222222e-05, + "loss": 0.6624, + "step": 3435 + }, + { + "epoch": 1.37, + "learning_rate": 9.691358024691356e-05, + "loss": 0.676, + "step": 3440 + }, + { + "epoch": 1.38, + "learning_rate": 9.660493827160493e-05, + "loss": 0.6516, + "step": 3445 + }, + { + "epoch": 1.38, + "learning_rate": 9.629629629629628e-05, + "loss": 0.6688, + "step": 3450 + }, + { + "epoch": 1.38, + "learning_rate": 9.598765432098765e-05, + "loss": 0.6658, + "step": 3455 + }, + { + "epoch": 1.38, + "learning_rate": 9.567901234567901e-05, + "loss": 0.6582, + "step": 3460 + }, + { + "epoch": 1.38, + "learning_rate": 9.537037037037036e-05, + "loss": 0.6609, + "step": 3465 + }, + { + "epoch": 1.39, + "learning_rate": 9.506172839506172e-05, + "loss": 0.6827, + "step": 3470 + }, + { + "epoch": 1.39, + "learning_rate": 9.475308641975307e-05, + "loss": 0.6683, + "step": 3475 + }, + { + "epoch": 1.39, + "learning_rate": 9.444444444444444e-05, + "loss": 0.6609, + "step": 3480 + }, + { + "epoch": 1.39, + "learning_rate": 9.413580246913578e-05, + "loss": 0.6608, + "step": 3485 + }, + { + "epoch": 1.39, + "learning_rate": 9.382716049382715e-05, + "loss": 0.6539, + "step": 3490 + }, + { + "epoch": 1.4, + "learning_rate": 9.351851851851851e-05, + "loss": 0.6515, + "step": 3495 + }, + { + "epoch": 1.4, + "learning_rate": 9.320987654320986e-05, + "loss": 0.6662, + "step": 3500 + }, + { + "epoch": 1.4, + "learning_rate": 9.290123456790123e-05, + "loss": 0.6874, + "step": 3505 + }, + { + "epoch": 1.4, + "learning_rate": 9.259259259259257e-05, + "loss": 0.6851, + "step": 3510 + }, + { + "epoch": 1.4, + "learning_rate": 9.228395061728394e-05, + "loss": 0.6675, + "step": 3515 + }, + { + "epoch": 1.41, + "learning_rate": 9.19753086419753e-05, + "loss": 0.6974, + "step": 3520 + }, + { + "epoch": 1.41, + "learning_rate": 9.166666666666667e-05, + "loss": 0.6781, + "step": 3525 + }, + { + "epoch": 1.41, + "learning_rate": 9.135802469135802e-05, + "loss": 0.6882, + "step": 3530 + }, + { + "epoch": 1.41, + "learning_rate": 9.104938271604936e-05, + "loss": 0.6783, + "step": 3535 + }, + { + "epoch": 1.41, + "learning_rate": 9.074074074074073e-05, + "loss": 0.632, + "step": 3540 + }, + { + "epoch": 1.42, + "learning_rate": 9.043209876543209e-05, + "loss": 0.6878, + "step": 3545 + }, + { + "epoch": 1.42, + "learning_rate": 9.012345679012346e-05, + "loss": 0.6763, + "step": 3550 + }, + { + "epoch": 1.42, + "learning_rate": 8.98148148148148e-05, + "loss": 0.6815, + "step": 3555 + }, + { + "epoch": 1.42, + "learning_rate": 8.950617283950616e-05, + "loss": 0.6513, + "step": 3560 + }, + { + "epoch": 1.42, + "learning_rate": 8.919753086419752e-05, + "loss": 0.6425, + "step": 3565 + }, + { + "epoch": 1.43, + "learning_rate": 8.888888888888888e-05, + "loss": 0.6934, + "step": 3570 + }, + { + "epoch": 1.43, + "learning_rate": 8.858024691358025e-05, + "loss": 0.6258, + "step": 3575 + }, + { + "epoch": 1.43, + "learning_rate": 8.827160493827159e-05, + "loss": 0.6469, + "step": 3580 + }, + { + "epoch": 1.43, + "learning_rate": 8.796296296296296e-05, + "loss": 0.6892, + "step": 3585 + }, + { + "epoch": 1.43, + "learning_rate": 8.765432098765431e-05, + "loss": 0.6448, + "step": 3590 + }, + { + "epoch": 1.43, + "learning_rate": 8.734567901234567e-05, + "loss": 0.6622, + "step": 3595 + }, + { + "epoch": 1.44, + "learning_rate": 8.703703703703704e-05, + "loss": 0.657, + "step": 3600 + }, + { + "epoch": 1.44, + "learning_rate": 8.672839506172838e-05, + "loss": 0.6578, + "step": 3605 + }, + { + "epoch": 1.44, + "learning_rate": 8.641975308641975e-05, + "loss": 0.6399, + "step": 3610 + }, + { + "epoch": 1.44, + "learning_rate": 8.61111111111111e-05, + "loss": 0.69, + "step": 3615 + }, + { + "epoch": 1.44, + "learning_rate": 8.580246913580246e-05, + "loss": 0.6705, + "step": 3620 + }, + { + "epoch": 1.45, + "learning_rate": 8.549382716049382e-05, + "loss": 0.6571, + "step": 3625 + }, + { + "epoch": 1.45, + "learning_rate": 8.518518518518517e-05, + "loss": 0.6655, + "step": 3630 + }, + { + "epoch": 1.45, + "learning_rate": 8.487654320987654e-05, + "loss": 0.6649, + "step": 3635 + }, + { + "epoch": 1.45, + "learning_rate": 8.45679012345679e-05, + "loss": 0.7275, + "step": 3640 + }, + { + "epoch": 1.45, + "learning_rate": 8.425925925925926e-05, + "loss": 0.7265, + "step": 3645 + }, + { + "epoch": 1.46, + "learning_rate": 8.39506172839506e-05, + "loss": 0.6702, + "step": 3650 + }, + { + "epoch": 1.46, + "learning_rate": 8.364197530864196e-05, + "loss": 0.6701, + "step": 3655 + }, + { + "epoch": 1.46, + "learning_rate": 8.333333333333333e-05, + "loss": 0.6551, + "step": 3660 + }, + { + "epoch": 1.46, + "learning_rate": 8.302469135802469e-05, + "loss": 0.707, + "step": 3665 + }, + { + "epoch": 1.46, + "learning_rate": 8.271604938271605e-05, + "loss": 0.6597, + "step": 3670 + }, + { + "epoch": 1.47, + "learning_rate": 8.24074074074074e-05, + "loss": 0.6764, + "step": 3675 + }, + { + "epoch": 1.47, + "learning_rate": 8.209876543209875e-05, + "loss": 0.654, + "step": 3680 + }, + { + "epoch": 1.47, + "learning_rate": 8.179012345679012e-05, + "loss": 0.659, + "step": 3685 + }, + { + "epoch": 1.47, + "learning_rate": 8.148148148148148e-05, + "loss": 0.6897, + "step": 3690 + }, + { + "epoch": 1.47, + "learning_rate": 8.117283950617283e-05, + "loss": 0.6846, + "step": 3695 + }, + { + "epoch": 1.48, + "learning_rate": 8.086419753086419e-05, + "loss": 0.6725, + "step": 3700 + }, + { + "epoch": 1.48, + "learning_rate": 8.055555555555556e-05, + "loss": 0.652, + "step": 3705 + }, + { + "epoch": 1.48, + "learning_rate": 8.024691358024691e-05, + "loss": 0.6827, + "step": 3710 + }, + { + "epoch": 1.48, + "learning_rate": 7.993827160493825e-05, + "loss": 0.6707, + "step": 3715 + }, + { + "epoch": 1.48, + "learning_rate": 7.962962962962962e-05, + "loss": 0.6735, + "step": 3720 + }, + { + "epoch": 1.49, + "learning_rate": 7.932098765432098e-05, + "loss": 0.6725, + "step": 3725 + }, + { + "epoch": 1.49, + "learning_rate": 7.901234567901235e-05, + "loss": 0.6684, + "step": 3730 + }, + { + "epoch": 1.49, + "learning_rate": 7.87037037037037e-05, + "loss": 0.648, + "step": 3735 + }, + { + "epoch": 1.49, + "learning_rate": 7.839506172839504e-05, + "loss": 0.6346, + "step": 3740 + }, + { + "epoch": 1.49, + "learning_rate": 7.808641975308641e-05, + "loss": 0.6714, + "step": 3745 + }, + { + "epoch": 1.5, + "learning_rate": 7.777777777777777e-05, + "loss": 0.705, + "step": 3750 + }, + { + "epoch": 1.5, + "learning_rate": 7.746913580246914e-05, + "loss": 0.687, + "step": 3755 + }, + { + "epoch": 1.5, + "learning_rate": 7.716049382716049e-05, + "loss": 0.6782, + "step": 3760 + }, + { + "epoch": 1.5, + "learning_rate": 7.685185185185185e-05, + "loss": 0.6564, + "step": 3765 + }, + { + "epoch": 1.5, + "learning_rate": 7.65432098765432e-05, + "loss": 0.6837, + "step": 3770 + }, + { + "epoch": 1.51, + "learning_rate": 7.623456790123456e-05, + "loss": 0.6613, + "step": 3775 + }, + { + "epoch": 1.51, + "learning_rate": 7.592592592592593e-05, + "loss": 0.67, + "step": 3780 + }, + { + "epoch": 1.51, + "learning_rate": 7.561728395061727e-05, + "loss": 0.6544, + "step": 3785 + }, + { + "epoch": 1.51, + "learning_rate": 7.530864197530864e-05, + "loss": 0.6557, + "step": 3790 + }, + { + "epoch": 1.51, + "learning_rate": 7.5e-05, + "loss": 0.6733, + "step": 3795 + }, + { + "epoch": 1.52, + "learning_rate": 7.469135802469135e-05, + "loss": 0.6793, + "step": 3800 + }, + { + "epoch": 1.52, + "learning_rate": 7.438271604938272e-05, + "loss": 0.6834, + "step": 3805 + }, + { + "epoch": 1.52, + "learning_rate": 7.407407407407406e-05, + "loss": 0.6762, + "step": 3810 + }, + { + "epoch": 1.52, + "learning_rate": 7.376543209876543e-05, + "loss": 0.6858, + "step": 3815 + }, + { + "epoch": 1.52, + "learning_rate": 7.345679012345678e-05, + "loss": 0.6347, + "step": 3820 + }, + { + "epoch": 1.53, + "learning_rate": 7.314814814814814e-05, + "loss": 0.6867, + "step": 3825 + }, + { + "epoch": 1.53, + "learning_rate": 7.28395061728395e-05, + "loss": 0.6763, + "step": 3830 + }, + { + "epoch": 1.53, + "learning_rate": 7.253086419753086e-05, + "loss": 0.6483, + "step": 3835 + }, + { + "epoch": 1.53, + "learning_rate": 7.22222222222222e-05, + "loss": 0.6558, + "step": 3840 + }, + { + "epoch": 1.53, + "learning_rate": 7.191358024691357e-05, + "loss": 0.7038, + "step": 3845 + }, + { + "epoch": 1.54, + "learning_rate": 7.160493827160493e-05, + "loss": 0.6741, + "step": 3850 + }, + { + "epoch": 1.54, + "learning_rate": 7.129629629629629e-05, + "loss": 0.6768, + "step": 3855 + }, + { + "epoch": 1.54, + "learning_rate": 7.098765432098765e-05, + "loss": 0.6774, + "step": 3860 + }, + { + "epoch": 1.54, + "learning_rate": 7.067901234567901e-05, + "loss": 0.6909, + "step": 3865 + }, + { + "epoch": 1.54, + "learning_rate": 7.037037037037036e-05, + "loss": 0.6877, + "step": 3870 + }, + { + "epoch": 1.55, + "learning_rate": 7.006172839506172e-05, + "loss": 0.6615, + "step": 3875 + }, + { + "epoch": 1.55, + "learning_rate": 6.975308641975308e-05, + "loss": 0.685, + "step": 3880 + }, + { + "epoch": 1.55, + "learning_rate": 6.944444444444444e-05, + "loss": 0.6536, + "step": 3885 + }, + { + "epoch": 1.55, + "learning_rate": 6.91358024691358e-05, + "loss": 0.6775, + "step": 3890 + }, + { + "epoch": 1.55, + "learning_rate": 6.882716049382716e-05, + "loss": 0.7049, + "step": 3895 + }, + { + "epoch": 1.56, + "learning_rate": 6.851851851851851e-05, + "loss": 0.6968, + "step": 3900 + }, + { + "epoch": 1.56, + "learning_rate": 6.820987654320987e-05, + "loss": 0.6803, + "step": 3905 + }, + { + "epoch": 1.56, + "learning_rate": 6.790123456790122e-05, + "loss": 0.6922, + "step": 3910 + }, + { + "epoch": 1.56, + "learning_rate": 6.759259259259259e-05, + "loss": 0.6649, + "step": 3915 + }, + { + "epoch": 1.56, + "learning_rate": 6.728395061728395e-05, + "loss": 0.6609, + "step": 3920 + }, + { + "epoch": 1.57, + "learning_rate": 6.69753086419753e-05, + "loss": 0.6714, + "step": 3925 + }, + { + "epoch": 1.57, + "learning_rate": 6.666666666666666e-05, + "loss": 0.6617, + "step": 3930 + }, + { + "epoch": 1.57, + "learning_rate": 6.635802469135801e-05, + "loss": 0.6632, + "step": 3935 + }, + { + "epoch": 1.57, + "learning_rate": 6.604938271604938e-05, + "loss": 0.6523, + "step": 3940 + }, + { + "epoch": 1.57, + "learning_rate": 6.574074074074074e-05, + "loss": 0.6716, + "step": 3945 + }, + { + "epoch": 1.58, + "learning_rate": 6.543209876543209e-05, + "loss": 0.653, + "step": 3950 + }, + { + "epoch": 1.58, + "learning_rate": 6.512345679012346e-05, + "loss": 0.6749, + "step": 3955 + }, + { + "epoch": 1.58, + "learning_rate": 6.48148148148148e-05, + "loss": 0.6773, + "step": 3960 + }, + { + "epoch": 1.58, + "learning_rate": 6.450617283950617e-05, + "loss": 0.6579, + "step": 3965 + }, + { + "epoch": 1.58, + "learning_rate": 6.419753086419753e-05, + "loss": 0.6664, + "step": 3970 + }, + { + "epoch": 1.59, + "learning_rate": 6.388888888888888e-05, + "loss": 0.6575, + "step": 3975 + }, + { + "epoch": 1.59, + "learning_rate": 6.358024691358024e-05, + "loss": 0.6511, + "step": 3980 + }, + { + "epoch": 1.59, + "learning_rate": 6.32716049382716e-05, + "loss": 0.6585, + "step": 3985 + }, + { + "epoch": 1.59, + "learning_rate": 6.296296296296295e-05, + "loss": 0.6683, + "step": 3990 + }, + { + "epoch": 1.59, + "learning_rate": 6.265432098765432e-05, + "loss": 0.6784, + "step": 3995 + }, + { + "epoch": 1.6, + "learning_rate": 6.234567901234567e-05, + "loss": 0.6897, + "step": 4000 + }, + { + "epoch": 1.6, + "learning_rate": 6.203703703703703e-05, + "loss": 0.6427, + "step": 4005 + }, + { + "epoch": 1.6, + "learning_rate": 6.17283950617284e-05, + "loss": 0.647, + "step": 4010 + }, + { + "epoch": 1.6, + "learning_rate": 6.141975308641975e-05, + "loss": 0.6546, + "step": 4015 + }, + { + "epoch": 1.6, + "learning_rate": 6.111111111111111e-05, + "loss": 0.6822, + "step": 4020 + }, + { + "epoch": 1.61, + "learning_rate": 6.080246913580246e-05, + "loss": 0.6566, + "step": 4025 + }, + { + "epoch": 1.61, + "learning_rate": 6.049382716049382e-05, + "loss": 0.6362, + "step": 4030 + }, + { + "epoch": 1.61, + "learning_rate": 6.018518518518518e-05, + "loss": 0.6618, + "step": 4035 + }, + { + "epoch": 1.61, + "learning_rate": 5.987654320987654e-05, + "loss": 0.629, + "step": 4040 + }, + { + "epoch": 1.61, + "learning_rate": 5.95679012345679e-05, + "loss": 0.6709, + "step": 4045 + }, + { + "epoch": 1.62, + "learning_rate": 5.925925925925925e-05, + "loss": 0.6624, + "step": 4050 + }, + { + "epoch": 1.62, + "learning_rate": 5.895061728395061e-05, + "loss": 0.6645, + "step": 4055 + }, + { + "epoch": 1.62, + "learning_rate": 5.864197530864197e-05, + "loss": 0.6657, + "step": 4060 + }, + { + "epoch": 1.62, + "learning_rate": 5.8333333333333326e-05, + "loss": 0.7042, + "step": 4065 + }, + { + "epoch": 1.62, + "learning_rate": 5.802469135802469e-05, + "loss": 0.667, + "step": 4070 + }, + { + "epoch": 1.63, + "learning_rate": 5.771604938271605e-05, + "loss": 0.6652, + "step": 4075 + }, + { + "epoch": 1.63, + "learning_rate": 5.74074074074074e-05, + "loss": 0.673, + "step": 4080 + }, + { + "epoch": 1.63, + "learning_rate": 5.709876543209876e-05, + "loss": 0.6595, + "step": 4085 + }, + { + "epoch": 1.63, + "learning_rate": 5.6790123456790116e-05, + "loss": 0.7024, + "step": 4090 + }, + { + "epoch": 1.63, + "learning_rate": 5.648148148148148e-05, + "loss": 0.6543, + "step": 4095 + }, + { + "epoch": 1.64, + "learning_rate": 5.6172839506172834e-05, + "loss": 0.685, + "step": 4100 + }, + { + "epoch": 1.64, + "learning_rate": 5.5864197530864196e-05, + "loss": 0.6889, + "step": 4105 + }, + { + "epoch": 1.64, + "learning_rate": 5.5555555555555545e-05, + "loss": 0.6465, + "step": 4110 + }, + { + "epoch": 1.64, + "learning_rate": 5.524691358024691e-05, + "loss": 0.6371, + "step": 4115 + }, + { + "epoch": 1.64, + "learning_rate": 5.493827160493827e-05, + "loss": 0.6469, + "step": 4120 + }, + { + "epoch": 1.65, + "learning_rate": 5.4629629629629624e-05, + "loss": 0.6543, + "step": 4125 + }, + { + "epoch": 1.65, + "learning_rate": 5.4320987654320986e-05, + "loss": 0.6687, + "step": 4130 + }, + { + "epoch": 1.65, + "learning_rate": 5.401234567901234e-05, + "loss": 0.6545, + "step": 4135 + }, + { + "epoch": 1.65, + "learning_rate": 5.37037037037037e-05, + "loss": 0.6846, + "step": 4140 + }, + { + "epoch": 1.65, + "learning_rate": 5.339506172839505e-05, + "loss": 0.6568, + "step": 4145 + }, + { + "epoch": 1.66, + "learning_rate": 5.3086419753086415e-05, + "loss": 0.6664, + "step": 4150 + }, + { + "epoch": 1.66, + "learning_rate": 5.277777777777778e-05, + "loss": 0.6805, + "step": 4155 + }, + { + "epoch": 1.66, + "learning_rate": 5.246913580246913e-05, + "loss": 0.6878, + "step": 4160 + }, + { + "epoch": 1.66, + "learning_rate": 5.2160493827160494e-05, + "loss": 0.6966, + "step": 4165 + }, + { + "epoch": 1.66, + "learning_rate": 5.185185185185184e-05, + "loss": 0.676, + "step": 4170 + }, + { + "epoch": 1.67, + "learning_rate": 5.1543209876543205e-05, + "loss": 0.687, + "step": 4175 + }, + { + "epoch": 1.67, + "learning_rate": 5.123456790123456e-05, + "loss": 0.6493, + "step": 4180 + }, + { + "epoch": 1.67, + "learning_rate": 5.092592592592592e-05, + "loss": 0.6797, + "step": 4185 + }, + { + "epoch": 1.67, + "learning_rate": 5.0617283950617285e-05, + "loss": 0.6566, + "step": 4190 + }, + { + "epoch": 1.67, + "learning_rate": 5.030864197530864e-05, + "loss": 0.6689, + "step": 4195 + }, + { + "epoch": 1.68, + "learning_rate": 4.9999999999999996e-05, + "loss": 0.6708, + "step": 4200 + }, + { + "epoch": 1.68, + "learning_rate": 4.969135802469135e-05, + "loss": 0.6674, + "step": 4205 + }, + { + "epoch": 1.68, + "learning_rate": 4.938271604938271e-05, + "loss": 0.6539, + "step": 4210 + }, + { + "epoch": 1.68, + "learning_rate": 4.907407407407407e-05, + "loss": 0.6977, + "step": 4215 + }, + { + "epoch": 1.68, + "learning_rate": 4.876543209876543e-05, + "loss": 0.6851, + "step": 4220 + }, + { + "epoch": 1.69, + "learning_rate": 4.845679012345678e-05, + "loss": 0.6699, + "step": 4225 + }, + { + "epoch": 1.69, + "learning_rate": 4.814814814814814e-05, + "loss": 0.6734, + "step": 4230 + }, + { + "epoch": 1.69, + "learning_rate": 4.7839506172839504e-05, + "loss": 0.657, + "step": 4235 + }, + { + "epoch": 1.69, + "learning_rate": 4.753086419753086e-05, + "loss": 0.6844, + "step": 4240 + }, + { + "epoch": 1.69, + "learning_rate": 4.722222222222222e-05, + "loss": 0.673, + "step": 4245 + }, + { + "epoch": 1.7, + "learning_rate": 4.6913580246913576e-05, + "loss": 0.6532, + "step": 4250 + }, + { + "epoch": 1.7, + "learning_rate": 4.660493827160493e-05, + "loss": 0.6683, + "step": 4255 + }, + { + "epoch": 1.7, + "learning_rate": 4.629629629629629e-05, + "loss": 0.6802, + "step": 4260 + }, + { + "epoch": 1.7, + "learning_rate": 4.598765432098765e-05, + "loss": 0.6754, + "step": 4265 + }, + { + "epoch": 1.7, + "learning_rate": 4.567901234567901e-05, + "loss": 0.6608, + "step": 4270 + }, + { + "epoch": 1.71, + "learning_rate": 4.537037037037037e-05, + "loss": 0.6785, + "step": 4275 + }, + { + "epoch": 1.71, + "learning_rate": 4.506172839506173e-05, + "loss": 0.6445, + "step": 4280 + }, + { + "epoch": 1.71, + "learning_rate": 4.475308641975308e-05, + "loss": 0.6269, + "step": 4285 + }, + { + "epoch": 1.71, + "learning_rate": 4.444444444444444e-05, + "loss": 0.6489, + "step": 4290 + }, + { + "epoch": 1.71, + "learning_rate": 4.4135802469135795e-05, + "loss": 0.6587, + "step": 4295 + }, + { + "epoch": 1.72, + "learning_rate": 4.382716049382716e-05, + "loss": 0.6611, + "step": 4300 + }, + { + "epoch": 1.72, + "learning_rate": 4.351851851851852e-05, + "loss": 0.6787, + "step": 4305 + }, + { + "epoch": 1.72, + "learning_rate": 4.3209876543209875e-05, + "loss": 0.6686, + "step": 4310 + }, + { + "epoch": 1.72, + "learning_rate": 4.290123456790123e-05, + "loss": 0.6528, + "step": 4315 + }, + { + "epoch": 1.72, + "learning_rate": 4.2592592592592586e-05, + "loss": 0.6497, + "step": 4320 + }, + { + "epoch": 1.73, + "learning_rate": 4.228395061728395e-05, + "loss": 0.672, + "step": 4325 + }, + { + "epoch": 1.73, + "learning_rate": 4.19753086419753e-05, + "loss": 0.6576, + "step": 4330 + }, + { + "epoch": 1.73, + "learning_rate": 4.1666666666666665e-05, + "loss": 0.647, + "step": 4335 + }, + { + "epoch": 1.73, + "learning_rate": 4.135802469135803e-05, + "loss": 0.6235, + "step": 4340 + }, + { + "epoch": 1.73, + "learning_rate": 4.1049382716049376e-05, + "loss": 0.6658, + "step": 4345 + }, + { + "epoch": 1.74, + "learning_rate": 4.074074074074074e-05, + "loss": 0.6577, + "step": 4350 + }, + { + "epoch": 1.74, + "learning_rate": 4.0432098765432094e-05, + "loss": 0.6615, + "step": 4355 + }, + { + "epoch": 1.74, + "learning_rate": 4.0123456790123456e-05, + "loss": 0.6495, + "step": 4360 + }, + { + "epoch": 1.74, + "learning_rate": 3.981481481481481e-05, + "loss": 0.6498, + "step": 4365 + }, + { + "epoch": 1.74, + "learning_rate": 3.950617283950617e-05, + "loss": 0.7183, + "step": 4370 + }, + { + "epoch": 1.75, + "learning_rate": 3.919753086419752e-05, + "loss": 0.6491, + "step": 4375 + }, + { + "epoch": 1.75, + "learning_rate": 3.8888888888888884e-05, + "loss": 0.6649, + "step": 4380 + }, + { + "epoch": 1.75, + "learning_rate": 3.8580246913580246e-05, + "loss": 0.655, + "step": 4385 + }, + { + "epoch": 1.75, + "learning_rate": 3.82716049382716e-05, + "loss": 0.6581, + "step": 4390 + }, + { + "epoch": 1.75, + "learning_rate": 3.7962962962962964e-05, + "loss": 0.6583, + "step": 4395 + }, + { + "epoch": 1.76, + "learning_rate": 3.765432098765432e-05, + "loss": 0.6727, + "step": 4400 + }, + { + "epoch": 1.76, + "learning_rate": 3.7345679012345674e-05, + "loss": 0.6809, + "step": 4405 + }, + { + "epoch": 1.76, + "learning_rate": 3.703703703703703e-05, + "loss": 0.6839, + "step": 4410 + }, + { + "epoch": 1.76, + "learning_rate": 3.672839506172839e-05, + "loss": 0.6822, + "step": 4415 + }, + { + "epoch": 1.76, + "learning_rate": 3.641975308641975e-05, + "loss": 0.67, + "step": 4420 + }, + { + "epoch": 1.77, + "learning_rate": 3.61111111111111e-05, + "loss": 0.668, + "step": 4425 + }, + { + "epoch": 1.77, + "learning_rate": 3.5802469135802465e-05, + "loss": 0.6816, + "step": 4430 + }, + { + "epoch": 1.77, + "learning_rate": 3.549382716049383e-05, + "loss": 0.6488, + "step": 4435 + }, + { + "epoch": 1.77, + "learning_rate": 3.518518518518518e-05, + "loss": 0.6405, + "step": 4440 + }, + { + "epoch": 1.77, + "learning_rate": 3.487654320987654e-05, + "loss": 0.649, + "step": 4445 + }, + { + "epoch": 1.78, + "learning_rate": 3.45679012345679e-05, + "loss": 0.6887, + "step": 4450 + }, + { + "epoch": 1.78, + "learning_rate": 3.4259259259259255e-05, + "loss": 0.6794, + "step": 4455 + }, + { + "epoch": 1.78, + "learning_rate": 3.395061728395061e-05, + "loss": 0.6432, + "step": 4460 + }, + { + "epoch": 1.78, + "learning_rate": 3.364197530864197e-05, + "loss": 0.6638, + "step": 4465 + }, + { + "epoch": 1.78, + "learning_rate": 3.333333333333333e-05, + "loss": 0.6881, + "step": 4470 + }, + { + "epoch": 1.79, + "learning_rate": 3.302469135802469e-05, + "loss": 0.6861, + "step": 4475 + }, + { + "epoch": 1.79, + "learning_rate": 3.2716049382716046e-05, + "loss": 0.6589, + "step": 4480 + }, + { + "epoch": 1.79, + "learning_rate": 3.24074074074074e-05, + "loss": 0.6797, + "step": 4485 + }, + { + "epoch": 1.79, + "learning_rate": 3.209876543209876e-05, + "loss": 0.6614, + "step": 4490 + }, + { + "epoch": 1.79, + "learning_rate": 3.179012345679012e-05, + "loss": 0.6723, + "step": 4495 + }, + { + "epoch": 1.8, + "learning_rate": 3.1481481481481474e-05, + "loss": 0.679, + "step": 4500 + } + ], + "logging_steps": 5, + "max_steps": 5010, + "num_input_tokens_seen": 0, + "num_train_epochs": 2, + "save_steps": 500, + "total_flos": 1.8116033382918914e+19, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/training_args.bin b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..76b046c47941a0df0a1cf17415d227f3e8416d3b --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc4247ac8c6f92ef49080d32b2520dd809daff76a4805fdafb6e454ee1c5cc3 +size 5944 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/zero_to_fp32.py b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/zero_to_fp32.py new file mode 100644 index 0000000000000000000000000000000000000000..c98caae31534368be22b67fc4ae906836c992a8d --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-4500/zero_to_fp32.py @@ -0,0 +1,587 @@ +#!/usr/bin/env python + +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: Apache-2.0 + +# DeepSpeed Team + +# This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets +# copied into the top level checkpoint dir, so the user can easily do the conversion at any point in +# the future. Once extracted, the weights don't require DeepSpeed and can be used in any +# application. +# +# example: python zero_to_fp32.py . pytorch_model.bin + +import argparse +import torch +import glob +import math +import os +import re +from collections import OrderedDict +from dataclasses import dataclass + +# while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with +# DeepSpeed data structures it has to be available in the current python environment. +from deepspeed.utils import logger +from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS, + FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES, + FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS) + + +@dataclass +class zero_model_state: + buffers: dict() + param_shapes: dict() + shared_params: list + ds_version: int + frozen_param_shapes: dict() + frozen_param_fragments: dict() + + +debug = 0 + +# load to cpu +device = torch.device('cpu') + + +def atoi(text): + return int(text) if text.isdigit() else text + + +def natural_keys(text): + ''' + alist.sort(key=natural_keys) sorts in human order + http://nedbatchelder.com/blog/200712/human_sorting.html + (See Toothy's implementation in the comments) + ''' + return [atoi(c) for c in re.split(r'(\d+)', text)] + + +def get_model_state_file(checkpoint_dir, zero_stage): + if not os.path.isdir(checkpoint_dir): + raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist") + + # there should be only one file + if zero_stage <= 2: + file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt") + elif zero_stage == 3: + file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt") + + if not os.path.exists(file): + raise FileNotFoundError(f"can't find model states file at '{file}'") + + return file + + +def get_checkpoint_files(checkpoint_dir, glob_pattern): + # XXX: need to test that this simple glob rule works for multi-node setup too + ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys) + + if len(ckpt_files) == 0: + raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'") + + return ckpt_files + + +def get_optim_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt") + + +def get_model_state_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_model_states.pt") + + +def parse_model_states(files): + zero_model_states = [] + for file in files: + state_dict = torch.load(file, map_location=device) + + if BUFFER_NAMES not in state_dict: + raise ValueError(f"{file} is not a model state checkpoint") + buffer_names = state_dict[BUFFER_NAMES] + if debug: + print("Found buffers:", buffer_names) + + # recover just the buffers while restoring them to fp32 if they were saved in fp16 + buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names} + param_shapes = state_dict[PARAM_SHAPES] + + # collect parameters that are included in param_shapes + param_names = [] + for s in param_shapes: + for name in s.keys(): + param_names.append(name) + + # update with frozen parameters + frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None) + if frozen_param_shapes is not None: + if debug: + print(f"Found frozen_param_shapes: {frozen_param_shapes}") + param_names += list(frozen_param_shapes.keys()) + + # handle shared params + shared_params = [[k, v] for k, v in state_dict["shared_params"].items()] + + ds_version = state_dict.get(DS_VERSION, None) + + frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None) + + z_model_state = zero_model_state(buffers=buffers, + param_shapes=param_shapes, + shared_params=shared_params, + ds_version=ds_version, + frozen_param_shapes=frozen_param_shapes, + frozen_param_fragments=frozen_param_fragments) + zero_model_states.append(z_model_state) + + return zero_model_states + + +def parse_optim_states(files, ds_checkpoint_dir): + + total_files = len(files) + state_dicts = [] + for f in files: + state_dict = torch.load(f, map_location=device) + # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights + # and also handle the case where it was already removed by another helper script + state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None) + state_dicts.append(state_dict) + + if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]: + raise ValueError(f"{files[0]} is not a zero checkpoint") + zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE] + world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT] + + # For ZeRO-2 each param group can have different partition_count as data parallelism for expert + # parameters can be different from data parallelism for non-expert parameters. So we can just + # use the max of the partition_count to get the dp world_size. + + if type(world_size) is list: + world_size = max(world_size) + + if world_size != total_files: + raise ValueError( + f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. " + "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes." + ) + + # the groups are named differently in each stage + if zero_stage <= 2: + fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS + elif zero_stage == 3: + fp32_groups_key = FP32_FLAT_GROUPS + else: + raise ValueError(f"unknown zero stage {zero_stage}") + + if zero_stage <= 2: + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))] + elif zero_stage == 3: + # if there is more than one param group, there will be multiple flattened tensors - one + # flattened tensor per group - for simplicity merge them into a single tensor + # + # XXX: could make the script more memory efficient for when there are multiple groups - it + # will require matching the sub-lists of param_shapes for each param group flattened tensor + + fp32_flat_groups = [ + torch.cat(state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key], 0) for i in range(len(state_dicts)) + ] + + return zero_stage, world_size, fp32_flat_groups + + +def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir): + """ + Returns fp32 state_dict reconstructed from ds checkpoint + + Args: + - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are) + + """ + print(f"Processing zero checkpoint '{ds_checkpoint_dir}'") + + optim_files = get_optim_files(ds_checkpoint_dir) + zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir) + print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}") + + model_files = get_model_state_files(ds_checkpoint_dir) + + zero_model_states = parse_model_states(model_files) + print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}') + + if zero_stage <= 2: + return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states) + + +def _zero2_merge_frozen_params(state_dict, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + frozen_param_fragments = zero_model_states[0].frozen_param_fragments + + if debug: + num_elem = sum(s.numel() for s in frozen_param_shapes.values()) + print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in frozen_param_fragments.values()]) + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + state_dict[name] = frozen_param_fragments[name] + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + + # Reconstruction protocol: + # + # XXX: document this + + if debug: + for i in range(world_size): + for j in range(len(fp32_flat_groups[0])): + print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}") + + # XXX: memory usage doubles here (zero2) + num_param_groups = len(fp32_flat_groups[0]) + merged_single_partition_of_fp32_groups = [] + for i in range(num_param_groups): + merged_partitions = [sd[i] for sd in fp32_flat_groups] + full_single_fp32_vector = torch.cat(merged_partitions, 0) + merged_single_partition_of_fp32_groups.append(full_single_fp32_vector) + avail_numel = sum( + [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups]) + + if debug: + wanted_params = sum([len(shapes) for shapes in param_shapes]) + wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes]) + # not asserting if there is a mismatch due to possible padding + print(f"Have {avail_numel} numels to process.") + print(f"Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + total_numel = 0 + total_params = 0 + for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups): + offset = 0 + avail_numel = full_single_fp32_vector.numel() + for name, shape in shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape) + offset += unpartitioned_numel + + # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and + # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex + # paddings performed in the code it's almost impossible to predict the exact numbers w/o the + # live optimizer object, so we are checking that the numbers are within the right range + align_to = 2 * world_size + + def zero2_align(x): + return align_to * math.ceil(x / align_to) + + if debug: + print(f"original offset={offset}, avail_numel={avail_numel}") + + offset = zero2_align(offset) + avail_numel = zero2_align(avail_numel) + + if debug: + print(f"aligned offset={offset}, avail_numel={avail_numel}") + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero2_merge_frozen_params(state_dict, zero_model_states) + + _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def zero3_partitioned_param_info(unpartitioned_numel, world_size): + remainder = unpartitioned_numel % world_size + padding_numel = (world_size - remainder) if remainder else 0 + partitioned_numel = math.ceil(unpartitioned_numel / world_size) + return partitioned_numel, padding_numel + + +def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + if debug: + for i in range(world_size): + num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values()) + print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in zero_model_states[0].frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states) + state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape) + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + avail_numel = fp32_flat_groups[0].numel() * world_size + # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each + # param, re-consolidating each param, while dealing with padding if any + + # merge list of dicts, preserving order + param_shapes = {k: v for d in param_shapes for k, v in d.items()} + + if debug: + for i in range(world_size): + print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}") + + wanted_params = len(param_shapes) + wanted_numel = sum(shape.numel() for shape in param_shapes.values()) + # not asserting if there is a mismatch due to possible padding + avail_numel = fp32_flat_groups[0].numel() * world_size + print(f"Trainable params: Have {avail_numel} numels to process.") + print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + offset = 0 + total_numel = 0 + total_params = 0 + for name, shape in param_shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + # XXX: memory usage doubles here + state_dict[name] = torch.cat( + tuple(fp32_flat_groups[i].narrow(0, offset, partitioned_numel) for i in range(world_size)), + 0).narrow(0, 0, unpartitioned_numel).view(shape) + offset += partitioned_numel + + offset *= world_size + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero3_merge_frozen_params(state_dict, world_size, zero_model_states) + + _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with + ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example + via a model hub. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder + - ``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`` + + Returns: + - pytorch ``state_dict`` + + Note: this approach may not work if your application doesn't have sufficient free CPU memory and + you may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + # do the training and checkpoint saving + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu + model = model.cpu() # move to cpu + model.load_state_dict(state_dict) + # submit to model hub or save the model to share with others + + In this example the ``model`` will no longer be usable in the deepspeed context of the same + application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead. + + """ + if tag is None: + latest_path = os.path.join(checkpoint_dir, 'latest') + if os.path.isfile(latest_path): + with open(latest_path, 'r') as fd: + tag = fd.read().strip() + else: + raise ValueError(f"Unable to find 'latest' file at {latest_path}") + + ds_checkpoint_dir = os.path.join(checkpoint_dir, tag) + + if not os.path.isdir(ds_checkpoint_dir): + raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist") + + return _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, output_file, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be + loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``output_file``: path to the pytorch fp32 state_dict output file (e.g. path/pytorch_model.bin) + - ``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`` + """ + + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + print(f"Saving fp32 state dict to {output_file}") + torch.save(state_dict, output_file) + + +def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None): + """ + 1. Put the provided model to cpu + 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` + 3. Load it into the provided model + + Args: + - ``model``: the model object to update + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``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`` + + Returns: + - ``model`: modified model + + Make sure you have plenty of CPU memory available before you call this function. If you don't + have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it + conveniently placed for you in the checkpoint folder. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint + model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir) + # submit to model hub or save the model to share with others + + Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context + of the same application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + """ + logger.info(f"Extracting fp32 weights") + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + + logger.info(f"Overwriting model with fp32 weights") + model = model.cpu() + model.load_state_dict(state_dict, strict=False) + + return model + + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument("checkpoint_dir", + type=str, + help="path to the desired checkpoint folder, e.g., path/checkpoint-12") + parser.add_argument( + "output_file", + type=str, + help="path to the pytorch fp32 state_dict output file (e.g. path/checkpoint-12/pytorch_model.bin)") + parser.add_argument("-t", + "--tag", + type=str, + default=None, + help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1") + parser.add_argument("-d", "--debug", action='store_true', help="enable debug") + args = parser.parse_args() + + debug = args.debug + + convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir, args.output_file, tag=args.tag) diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/README.md b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2aa897f8fa13b49ce76b1fa188781e5f726e7d13 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/README.md @@ -0,0 +1,202 @@ +--- +base_model: meta-llama/Llama-2-7b-hf +library_name: peft +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.9.0 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/adapter_config.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..9c81a592f0ff08374a4f61f6003029070a8429ae --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/adapter_config.json @@ -0,0 +1,35 @@ +{ + "alpha_pattern": {}, + "auto_mapping": null, + "base_model_name_or_path": "meta-llama/Llama-2-7b-hf", + "bias": "none", + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 16, + "lora_dropout": 0.05, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "mora_type": 1, + "peft_type": "LORA", + "r": 8, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "k_proj", + "v_proj", + "o_proj", + "gate_proj", + "down_proj", + "up_proj" + ], + "task_type": "CAUSAL_LM", + "use_dora": false, + "use_mora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/adapter_model.safetensors b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..be0e1dda347a30c24532edc060d6284879bf9047 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:998e61620bd2cf6a98d5082669c053a83f1223624ad1a8c0a13eeae12fb47f2e +size 564342240 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/global_step5000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/global_step5000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..0a0263608299b5c08a5ad2a996da7ea7482bd9c6 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/global_step5000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8081a47942f39086ac47b1b96cd6768702b995368a906851a03d5dd895c8c39 +size 239914224 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/global_step5000/mp_rank_00_model_states.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/global_step5000/mp_rank_00_model_states.pt new file mode 100644 index 0000000000000000000000000000000000000000..bdaf0bd12bc81f817d81a7c9cd3e214dbb9b923b --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/global_step5000/mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08b423d251c1ff4c305dcadebf92590888a7de254d65f5ed0eff00260547f739 +size 40303404 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/latest b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/latest new file mode 100644 index 0000000000000000000000000000000000000000..f805186fa43374540c3fa51dfd3cca9ac06e56a5 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/latest @@ -0,0 +1 @@ +global_step5000 \ No newline at end of file diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/rng_state.pth b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..3c6de7275177babc64c0b8fa5415c4f432f1fcca --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0ceba3e4ac4338be0a98a101dd5a5ef23235014c3c81e4406a9e40c7aeb8eb1 +size 14244 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/scheduler.pt b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..0b97e706626b790b86c0163b34a653338a21ffab --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d8f2b40fe425202ec43082421ae25ca1821206f92a60824011217be2bc38f48 +size 1064 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/trainer_state.json b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..04f4b9d9c991b0359709662cfc7e5725163a9af5 --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/trainer_state.json @@ -0,0 +1,6021 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 1.9958212492593632, + "eval_steps": 500, + "global_step": 5000, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.0, + "learning_rate": 9.999999999999999e-06, + "loss": 1.38, + "step": 5 + }, + { + "epoch": 0.0, + "learning_rate": 1.9999999999999998e-05, + "loss": 1.3936, + "step": 10 + }, + { + "epoch": 0.01, + "learning_rate": 2.9999999999999997e-05, + "loss": 1.3006, + "step": 15 + }, + { + "epoch": 0.01, + "learning_rate": 3.9999999999999996e-05, + "loss": 1.2594, + "step": 20 + }, + { + "epoch": 0.01, + "learning_rate": 4.9999999999999996e-05, + "loss": 1.1177, + "step": 25 + }, + { + "epoch": 0.01, + "learning_rate": 5.9999999999999995e-05, + "loss": 1.0481, + "step": 30 + }, + { + "epoch": 0.01, + "learning_rate": 7e-05, + "loss": 1.0601, + "step": 35 + }, + { + "epoch": 0.02, + "learning_rate": 7.999999999999999e-05, + "loss": 1.0473, + "step": 40 + }, + { + "epoch": 0.02, + "learning_rate": 8.999999999999999e-05, + "loss": 0.9523, + "step": 45 + }, + { + "epoch": 0.02, + "learning_rate": 9.999999999999999e-05, + "loss": 0.9451, + "step": 50 + }, + { + "epoch": 0.02, + "learning_rate": 0.00010999999999999998, + "loss": 0.9687, + "step": 55 + }, + { + "epoch": 0.02, + "learning_rate": 0.00011999999999999999, + "loss": 0.9054, + "step": 60 + }, + { + "epoch": 0.03, + "learning_rate": 0.00013, + "loss": 0.9518, + "step": 65 + }, + { + "epoch": 0.03, + "learning_rate": 0.00014, + "loss": 0.8763, + "step": 70 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015, + "loss": 0.8657, + "step": 75 + }, + { + "epoch": 0.03, + "learning_rate": 0.00015999999999999999, + "loss": 0.9145, + "step": 80 + }, + { + "epoch": 0.03, + "learning_rate": 0.00016999999999999999, + "loss": 0.8296, + "step": 85 + }, + { + "epoch": 0.04, + "learning_rate": 0.00017999999999999998, + "loss": 0.8709, + "step": 90 + }, + { + "epoch": 0.04, + "learning_rate": 0.00018999999999999998, + "loss": 0.8405, + "step": 95 + }, + { + "epoch": 0.04, + "learning_rate": 0.00019999999999999998, + "loss": 0.8604, + "step": 100 + }, + { + "epoch": 0.04, + "learning_rate": 0.00020999999999999998, + "loss": 0.8607, + "step": 105 + }, + { + "epoch": 0.04, + "learning_rate": 0.00021999999999999995, + "loss": 0.8376, + "step": 110 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023, + "loss": 0.8554, + "step": 115 + }, + { + "epoch": 0.05, + "learning_rate": 0.00023999999999999998, + "loss": 0.8456, + "step": 120 + }, + { + "epoch": 0.05, + "learning_rate": 0.00025, + "loss": 0.8443, + "step": 125 + }, + { + "epoch": 0.05, + "learning_rate": 0.00026, + "loss": 0.8327, + "step": 130 + }, + { + "epoch": 0.05, + "learning_rate": 0.00027, + "loss": 0.8096, + "step": 135 + }, + { + "epoch": 0.06, + "learning_rate": 0.00028, + "loss": 0.7972, + "step": 140 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029, + "loss": 0.8306, + "step": 145 + }, + { + "epoch": 0.06, + "learning_rate": 0.0003, + "loss": 0.8409, + "step": 150 + }, + { + "epoch": 0.06, + "learning_rate": 0.0002996913580246913, + "loss": 0.8094, + "step": 155 + }, + { + "epoch": 0.06, + "learning_rate": 0.00029938271604938266, + "loss": 0.8146, + "step": 160 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029907407407407405, + "loss": 0.8042, + "step": 165 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002987654320987654, + "loss": 0.7784, + "step": 170 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002984567901234568, + "loss": 0.828, + "step": 175 + }, + { + "epoch": 0.07, + "learning_rate": 0.00029814814814814813, + "loss": 0.8473, + "step": 180 + }, + { + "epoch": 0.07, + "learning_rate": 0.0002978395061728395, + "loss": 0.8354, + "step": 185 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029753086419753087, + "loss": 0.8246, + "step": 190 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029722222222222216, + "loss": 0.8249, + "step": 195 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029691358024691355, + "loss": 0.8222, + "step": 200 + }, + { + "epoch": 0.08, + "learning_rate": 0.0002966049382716049, + "loss": 0.8369, + "step": 205 + }, + { + "epoch": 0.08, + "learning_rate": 0.00029629629629629624, + "loss": 0.7954, + "step": 210 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029598765432098763, + "loss": 0.8051, + "step": 215 + }, + { + "epoch": 0.09, + "learning_rate": 0.000295679012345679, + "loss": 0.8081, + "step": 220 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029537037037037037, + "loss": 0.7864, + "step": 225 + }, + { + "epoch": 0.09, + "learning_rate": 0.0002950617283950617, + "loss": 0.7974, + "step": 230 + }, + { + "epoch": 0.09, + "learning_rate": 0.00029475308641975306, + "loss": 0.8306, + "step": 235 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029444444444444445, + "loss": 0.7792, + "step": 240 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029413580246913574, + "loss": 0.8108, + "step": 245 + }, + { + "epoch": 0.1, + "learning_rate": 0.00029382716049382714, + "loss": 0.8167, + "step": 250 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002935185185185185, + "loss": 0.8358, + "step": 255 + }, + { + "epoch": 0.1, + "learning_rate": 0.0002932098765432099, + "loss": 0.7948, + "step": 260 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002929012345679012, + "loss": 0.8078, + "step": 265 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029259259259259256, + "loss": 0.7886, + "step": 270 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029228395061728395, + "loss": 0.7903, + "step": 275 + }, + { + "epoch": 0.11, + "learning_rate": 0.0002919753086419753, + "loss": 0.7892, + "step": 280 + }, + { + "epoch": 0.11, + "learning_rate": 0.00029166666666666664, + "loss": 0.7717, + "step": 285 + }, + { + "epoch": 0.12, + "learning_rate": 0.000291358024691358, + "loss": 0.7774, + "step": 290 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002910493827160494, + "loss": 0.8053, + "step": 295 + }, + { + "epoch": 0.12, + "learning_rate": 0.0002907407407407407, + "loss": 0.794, + "step": 300 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029043209876543206, + "loss": 0.7856, + "step": 305 + }, + { + "epoch": 0.12, + "learning_rate": 0.00029012345679012345, + "loss": 0.7713, + "step": 310 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002898148148148148, + "loss": 0.7805, + "step": 315 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028950617283950614, + "loss": 0.7897, + "step": 320 + }, + { + "epoch": 0.13, + "learning_rate": 0.00028919753086419753, + "loss": 0.7931, + "step": 325 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002888888888888888, + "loss": 0.7739, + "step": 330 + }, + { + "epoch": 0.13, + "learning_rate": 0.0002885802469135802, + "loss": 0.7749, + "step": 335 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028827160493827156, + "loss": 0.7932, + "step": 340 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028796296296296296, + "loss": 0.7906, + "step": 345 + }, + { + "epoch": 0.14, + "learning_rate": 0.0002876543209876543, + "loss": 0.8094, + "step": 350 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028734567901234564, + "loss": 0.7932, + "step": 355 + }, + { + "epoch": 0.14, + "learning_rate": 0.00028703703703703703, + "loss": 0.8027, + "step": 360 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002867283950617284, + "loss": 0.8297, + "step": 365 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002864197530864197, + "loss": 0.8228, + "step": 370 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002861111111111111, + "loss": 0.7997, + "step": 375 + }, + { + "epoch": 0.15, + "learning_rate": 0.00028580246913580246, + "loss": 0.8124, + "step": 380 + }, + { + "epoch": 0.15, + "learning_rate": 0.0002854938271604938, + "loss": 0.8152, + "step": 385 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028518518518518514, + "loss": 0.7833, + "step": 390 + }, + { + "epoch": 0.16, + "learning_rate": 0.00028487654320987654, + "loss": 0.7884, + "step": 395 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002845679012345679, + "loss": 0.753, + "step": 400 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002842592592592592, + "loss": 0.8055, + "step": 405 + }, + { + "epoch": 0.16, + "learning_rate": 0.0002839506172839506, + "loss": 0.8014, + "step": 410 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028364197530864196, + "loss": 0.782, + "step": 415 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002833333333333333, + "loss": 0.7733, + "step": 420 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002830246913580247, + "loss": 0.7777, + "step": 425 + }, + { + "epoch": 0.17, + "learning_rate": 0.00028271604938271604, + "loss": 0.752, + "step": 430 + }, + { + "epoch": 0.17, + "learning_rate": 0.0002824074074074074, + "loss": 0.7963, + "step": 435 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002820987654320987, + "loss": 0.7655, + "step": 440 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002817901234567901, + "loss": 0.8, + "step": 445 + }, + { + "epoch": 0.18, + "learning_rate": 0.00028148148148148146, + "loss": 0.7465, + "step": 450 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002811728395061728, + "loss": 0.7432, + "step": 455 + }, + { + "epoch": 0.18, + "learning_rate": 0.0002808641975308642, + "loss": 0.758, + "step": 460 + }, + { + "epoch": 0.19, + "learning_rate": 0.00028055555555555554, + "loss": 0.7757, + "step": 465 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002802469135802469, + "loss": 0.7816, + "step": 470 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002799382716049382, + "loss": 0.7744, + "step": 475 + }, + { + "epoch": 0.19, + "learning_rate": 0.0002796296296296296, + "loss": 0.7807, + "step": 480 + }, + { + "epoch": 0.19, + "learning_rate": 0.00027932098765432096, + "loss": 0.774, + "step": 485 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002790123456790123, + "loss": 0.7361, + "step": 490 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002787037037037037, + "loss": 0.7663, + "step": 495 + }, + { + "epoch": 0.2, + "learning_rate": 0.00027839506172839504, + "loss": 0.7532, + "step": 500 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002780864197530864, + "loss": 0.7573, + "step": 505 + }, + { + "epoch": 0.2, + "learning_rate": 0.0002777777777777778, + "loss": 0.7802, + "step": 510 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002774691358024691, + "loss": 0.7871, + "step": 515 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027716049382716046, + "loss": 0.7734, + "step": 520 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002768518518518518, + "loss": 0.7752, + "step": 525 + }, + { + "epoch": 0.21, + "learning_rate": 0.0002765432098765432, + "loss": 0.7697, + "step": 530 + }, + { + "epoch": 0.21, + "learning_rate": 0.00027623456790123454, + "loss": 0.7846, + "step": 535 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002759259259259259, + "loss": 0.7592, + "step": 540 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002756172839506173, + "loss": 0.7734, + "step": 545 + }, + { + "epoch": 0.22, + "learning_rate": 0.0002753086419753086, + "loss": 0.7984, + "step": 550 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027499999999999996, + "loss": 0.7342, + "step": 555 + }, + { + "epoch": 0.22, + "learning_rate": 0.00027469135802469136, + "loss": 0.7479, + "step": 560 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002743827160493827, + "loss": 0.819, + "step": 565 + }, + { + "epoch": 0.23, + "learning_rate": 0.00027407407407407404, + "loss": 0.7561, + "step": 570 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002737654320987654, + "loss": 0.7303, + "step": 575 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002734567901234568, + "loss": 0.8001, + "step": 580 + }, + { + "epoch": 0.23, + "learning_rate": 0.0002731481481481481, + "loss": 0.7738, + "step": 585 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027283950617283946, + "loss": 0.7866, + "step": 590 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027253086419753086, + "loss": 0.7582, + "step": 595 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002722222222222222, + "loss": 0.7645, + "step": 600 + }, + { + "epoch": 0.24, + "learning_rate": 0.00027191358024691354, + "loss": 0.7839, + "step": 605 + }, + { + "epoch": 0.24, + "learning_rate": 0.0002716049382716049, + "loss": 0.7931, + "step": 610 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002712962962962963, + "loss": 0.7692, + "step": 615 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002709876543209876, + "loss": 0.7835, + "step": 620 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027067901234567896, + "loss": 0.7795, + "step": 625 + }, + { + "epoch": 0.25, + "learning_rate": 0.00027037037037037036, + "loss": 0.7639, + "step": 630 + }, + { + "epoch": 0.25, + "learning_rate": 0.0002700617283950617, + "loss": 0.7705, + "step": 635 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026975308641975304, + "loss": 0.7674, + "step": 640 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026944444444444444, + "loss": 0.7349, + "step": 645 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002691358024691358, + "loss": 0.8008, + "step": 650 + }, + { + "epoch": 0.26, + "learning_rate": 0.0002688271604938271, + "loss": 0.755, + "step": 655 + }, + { + "epoch": 0.26, + "learning_rate": 0.00026851851851851847, + "loss": 0.7526, + "step": 660 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026820987654320986, + "loss": 0.7611, + "step": 665 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002679012345679012, + "loss": 0.7621, + "step": 670 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026759259259259255, + "loss": 0.7768, + "step": 675 + }, + { + "epoch": 0.27, + "learning_rate": 0.00026728395061728394, + "loss": 0.7703, + "step": 680 + }, + { + "epoch": 0.27, + "learning_rate": 0.0002669753086419753, + "loss": 0.7667, + "step": 685 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002666666666666666, + "loss": 0.7712, + "step": 690 + }, + { + "epoch": 0.28, + "learning_rate": 0.000266358024691358, + "loss": 0.7269, + "step": 695 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026604938271604936, + "loss": 0.7275, + "step": 700 + }, + { + "epoch": 0.28, + "learning_rate": 0.0002657407407407407, + "loss": 0.7786, + "step": 705 + }, + { + "epoch": 0.28, + "learning_rate": 0.00026543209876543205, + "loss": 0.7808, + "step": 710 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026512345679012344, + "loss": 0.7455, + "step": 715 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002648148148148148, + "loss": 0.7717, + "step": 720 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002645061728395061, + "loss": 0.737, + "step": 725 + }, + { + "epoch": 0.29, + "learning_rate": 0.0002641975308641975, + "loss": 0.7664, + "step": 730 + }, + { + "epoch": 0.29, + "learning_rate": 0.00026388888888888886, + "loss": 0.7716, + "step": 735 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026358024691358026, + "loss": 0.7638, + "step": 740 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026327160493827155, + "loss": 0.7777, + "step": 745 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026296296296296294, + "loss": 0.7431, + "step": 750 + }, + { + "epoch": 0.3, + "learning_rate": 0.0002626543209876543, + "loss": 0.7516, + "step": 755 + }, + { + "epoch": 0.3, + "learning_rate": 0.00026234567901234563, + "loss": 0.831, + "step": 760 + }, + { + "epoch": 0.31, + "learning_rate": 0.000262037037037037, + "loss": 0.7423, + "step": 765 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026172839506172837, + "loss": 0.7471, + "step": 770 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002614197530864197, + "loss": 0.7551, + "step": 775 + }, + { + "epoch": 0.31, + "learning_rate": 0.0002611111111111111, + "loss": 0.7208, + "step": 780 + }, + { + "epoch": 0.31, + "learning_rate": 0.00026080246913580245, + "loss": 0.7359, + "step": 785 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026049382716049384, + "loss": 0.7759, + "step": 790 + }, + { + "epoch": 0.32, + "learning_rate": 0.00026018518518518513, + "loss": 0.7406, + "step": 795 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002598765432098765, + "loss": 0.756, + "step": 800 + }, + { + "epoch": 0.32, + "learning_rate": 0.00025956790123456787, + "loss": 0.7631, + "step": 805 + }, + { + "epoch": 0.32, + "learning_rate": 0.0002592592592592592, + "loss": 0.7885, + "step": 810 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002589506172839506, + "loss": 0.7947, + "step": 815 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025864197530864195, + "loss": 0.7557, + "step": 820 + }, + { + "epoch": 0.33, + "learning_rate": 0.00025833333333333334, + "loss": 0.7556, + "step": 825 + }, + { + "epoch": 0.33, + "learning_rate": 0.0002580246913580247, + "loss": 0.7472, + "step": 830 + }, + { + "epoch": 0.33, + "learning_rate": 0.000257716049382716, + "loss": 0.729, + "step": 835 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002574074074074074, + "loss": 0.7523, + "step": 840 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002570987654320987, + "loss": 0.7505, + "step": 845 + }, + { + "epoch": 0.34, + "learning_rate": 0.0002567901234567901, + "loss": 0.7617, + "step": 850 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025648148148148145, + "loss": 0.7898, + "step": 855 + }, + { + "epoch": 0.34, + "learning_rate": 0.00025617283950617284, + "loss": 0.7575, + "step": 860 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002558641975308642, + "loss": 0.8316, + "step": 865 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025555555555555553, + "loss": 0.7261, + "step": 870 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002552469135802469, + "loss": 0.7594, + "step": 875 + }, + { + "epoch": 0.35, + "learning_rate": 0.00025493827160493826, + "loss": 0.7372, + "step": 880 + }, + { + "epoch": 0.35, + "learning_rate": 0.0002546296296296296, + "loss": 0.7498, + "step": 885 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025432098765432095, + "loss": 0.7398, + "step": 890 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002540123456790123, + "loss": 0.804, + "step": 895 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002537037037037037, + "loss": 0.7241, + "step": 900 + }, + { + "epoch": 0.36, + "learning_rate": 0.00025339506172839503, + "loss": 0.7519, + "step": 905 + }, + { + "epoch": 0.36, + "learning_rate": 0.0002530864197530864, + "loss": 0.7694, + "step": 910 + }, + { + "epoch": 0.37, + "learning_rate": 0.00025277777777777777, + "loss": 0.7474, + "step": 915 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002524691358024691, + "loss": 0.7278, + "step": 920 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002521604938271605, + "loss": 0.7747, + "step": 925 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002518518518518518, + "loss": 0.7858, + "step": 930 + }, + { + "epoch": 0.37, + "learning_rate": 0.0002515432098765432, + "loss": 0.7442, + "step": 935 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025123456790123453, + "loss": 0.7446, + "step": 940 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002509259259259259, + "loss": 0.7843, + "step": 945 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025061728395061727, + "loss": 0.7512, + "step": 950 + }, + { + "epoch": 0.38, + "learning_rate": 0.0002503086419753086, + "loss": 0.7616, + "step": 955 + }, + { + "epoch": 0.38, + "learning_rate": 0.00025, + "loss": 0.826, + "step": 960 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024969135802469135, + "loss": 0.7567, + "step": 965 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002493827160493827, + "loss": 0.7754, + "step": 970 + }, + { + "epoch": 0.39, + "learning_rate": 0.0002490740740740741, + "loss": 0.7605, + "step": 975 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024876543209876537, + "loss": 0.7728, + "step": 980 + }, + { + "epoch": 0.39, + "learning_rate": 0.00024845679012345677, + "loss": 0.7902, + "step": 985 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002481481481481481, + "loss": 0.7622, + "step": 990 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002478395061728395, + "loss": 0.745, + "step": 995 + }, + { + "epoch": 0.4, + "learning_rate": 0.00024753086419753085, + "loss": 0.7529, + "step": 1000 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002472222222222222, + "loss": 0.759, + "step": 1005 + }, + { + "epoch": 0.4, + "learning_rate": 0.0002469135802469136, + "loss": 0.7471, + "step": 1010 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024660493827160493, + "loss": 0.7517, + "step": 1015 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024629629629629627, + "loss": 0.7634, + "step": 1020 + }, + { + "epoch": 0.41, + "learning_rate": 0.0002459876543209876, + "loss": 0.7833, + "step": 1025 + }, + { + "epoch": 0.41, + "learning_rate": 0.000245679012345679, + "loss": 0.7227, + "step": 1030 + }, + { + "epoch": 0.41, + "learning_rate": 0.00024537037037037035, + "loss": 0.7792, + "step": 1035 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002450617283950617, + "loss": 0.7292, + "step": 1040 + }, + { + "epoch": 0.42, + "learning_rate": 0.0002447530864197531, + "loss": 0.7519, + "step": 1045 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024444444444444443, + "loss": 0.7385, + "step": 1050 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024413580246913577, + "loss": 0.7842, + "step": 1055 + }, + { + "epoch": 0.42, + "learning_rate": 0.00024382716049382714, + "loss": 0.796, + "step": 1060 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002435185185185185, + "loss": 0.7479, + "step": 1065 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024320987654320985, + "loss": 0.7531, + "step": 1070 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024290123456790122, + "loss": 0.731, + "step": 1075 + }, + { + "epoch": 0.43, + "learning_rate": 0.0002425925925925926, + "loss": 0.7319, + "step": 1080 + }, + { + "epoch": 0.43, + "learning_rate": 0.00024228395061728393, + "loss": 0.7381, + "step": 1085 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024197530864197527, + "loss": 0.7621, + "step": 1090 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024166666666666664, + "loss": 0.771, + "step": 1095 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024135802469135798, + "loss": 0.7493, + "step": 1100 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024104938271604935, + "loss": 0.7553, + "step": 1105 + }, + { + "epoch": 0.44, + "learning_rate": 0.00024074074074074072, + "loss": 0.7862, + "step": 1110 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002404320987654321, + "loss": 0.7531, + "step": 1115 + }, + { + "epoch": 0.45, + "learning_rate": 0.00024012345679012343, + "loss": 0.7688, + "step": 1120 + }, + { + "epoch": 0.45, + "learning_rate": 0.0002398148148148148, + "loss": 0.7666, + "step": 1125 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023950617283950617, + "loss": 0.7484, + "step": 1130 + }, + { + "epoch": 0.45, + "learning_rate": 0.00023919753086419748, + "loss": 0.8048, + "step": 1135 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023888888888888885, + "loss": 0.757, + "step": 1140 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023858024691358022, + "loss": 0.7838, + "step": 1145 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002382716049382716, + "loss": 0.7834, + "step": 1150 + }, + { + "epoch": 0.46, + "learning_rate": 0.00023796296296296293, + "loss": 0.733, + "step": 1155 + }, + { + "epoch": 0.46, + "learning_rate": 0.0002376543209876543, + "loss": 0.7195, + "step": 1160 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023734567901234567, + "loss": 0.7478, + "step": 1165 + }, + { + "epoch": 0.47, + "learning_rate": 0.000237037037037037, + "loss": 0.7456, + "step": 1170 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023672839506172838, + "loss": 0.722, + "step": 1175 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023641975308641975, + "loss": 0.7395, + "step": 1180 + }, + { + "epoch": 0.47, + "learning_rate": 0.00023611111111111112, + "loss": 0.7553, + "step": 1185 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023580246913580243, + "loss": 0.7692, + "step": 1190 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002354938271604938, + "loss": 0.7396, + "step": 1195 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023518518518518517, + "loss": 0.7214, + "step": 1200 + }, + { + "epoch": 0.48, + "learning_rate": 0.0002348765432098765, + "loss": 0.7359, + "step": 1205 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023456790123456788, + "loss": 0.7666, + "step": 1210 + }, + { + "epoch": 0.48, + "learning_rate": 0.00023425925925925925, + "loss": 0.7583, + "step": 1215 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002339506172839506, + "loss": 0.7715, + "step": 1220 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023364197530864196, + "loss": 0.7423, + "step": 1225 + }, + { + "epoch": 0.49, + "learning_rate": 0.0002333333333333333, + "loss": 0.7598, + "step": 1230 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023302469135802467, + "loss": 0.7251, + "step": 1235 + }, + { + "epoch": 0.49, + "learning_rate": 0.00023271604938271601, + "loss": 0.7447, + "step": 1240 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023240740740740738, + "loss": 0.7923, + "step": 1245 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023209876543209875, + "loss": 0.7161, + "step": 1250 + }, + { + "epoch": 0.5, + "learning_rate": 0.0002317901234567901, + "loss": 0.7291, + "step": 1255 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023148148148148146, + "loss": 0.7366, + "step": 1260 + }, + { + "epoch": 0.5, + "learning_rate": 0.00023117283950617283, + "loss": 0.7173, + "step": 1265 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002308641975308642, + "loss": 0.7575, + "step": 1270 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023055555555555552, + "loss": 0.7632, + "step": 1275 + }, + { + "epoch": 0.51, + "learning_rate": 0.00023024691358024688, + "loss": 0.7601, + "step": 1280 + }, + { + "epoch": 0.51, + "learning_rate": 0.00022993827160493825, + "loss": 0.7395, + "step": 1285 + }, + { + "epoch": 0.51, + "learning_rate": 0.0002296296296296296, + "loss": 0.7686, + "step": 1290 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022932098765432096, + "loss": 0.7531, + "step": 1295 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022901234567901233, + "loss": 0.7675, + "step": 1300 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002287037037037037, + "loss": 0.8103, + "step": 1305 + }, + { + "epoch": 0.52, + "learning_rate": 0.00022839506172839504, + "loss": 0.773, + "step": 1310 + }, + { + "epoch": 0.52, + "learning_rate": 0.0002280864197530864, + "loss": 0.7549, + "step": 1315 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022777777777777778, + "loss": 0.7547, + "step": 1320 + }, + { + "epoch": 0.53, + "learning_rate": 0.0002274691358024691, + "loss": 0.758, + "step": 1325 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022716049382716047, + "loss": 0.77, + "step": 1330 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022685185185185183, + "loss": 0.7662, + "step": 1335 + }, + { + "epoch": 0.53, + "learning_rate": 0.00022654320987654318, + "loss": 0.744, + "step": 1340 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022623456790123455, + "loss": 0.7486, + "step": 1345 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022592592592592591, + "loss": 0.7473, + "step": 1350 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022561728395061728, + "loss": 0.7486, + "step": 1355 + }, + { + "epoch": 0.54, + "learning_rate": 0.00022530864197530862, + "loss": 0.7205, + "step": 1360 + }, + { + "epoch": 0.54, + "learning_rate": 0.000225, + "loss": 0.7289, + "step": 1365 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022469135802469134, + "loss": 0.7586, + "step": 1370 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022438271604938268, + "loss": 0.7175, + "step": 1375 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022407407407407405, + "loss": 0.6961, + "step": 1380 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022376543209876542, + "loss": 0.7242, + "step": 1385 + }, + { + "epoch": 0.55, + "learning_rate": 0.00022345679012345678, + "loss": 0.7515, + "step": 1390 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022314814814814813, + "loss": 0.7522, + "step": 1395 + }, + { + "epoch": 0.56, + "learning_rate": 0.0002228395061728395, + "loss": 0.7651, + "step": 1400 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022253086419753086, + "loss": 0.6958, + "step": 1405 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022222222222222218, + "loss": 0.7336, + "step": 1410 + }, + { + "epoch": 0.56, + "learning_rate": 0.00022191358024691355, + "loss": 0.7636, + "step": 1415 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022160493827160492, + "loss": 0.7583, + "step": 1420 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022129629629629626, + "loss": 0.7605, + "step": 1425 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022098765432098763, + "loss": 0.7109, + "step": 1430 + }, + { + "epoch": 0.57, + "learning_rate": 0.000220679012345679, + "loss": 0.7224, + "step": 1435 + }, + { + "epoch": 0.57, + "learning_rate": 0.00022037037037037037, + "loss": 0.7724, + "step": 1440 + }, + { + "epoch": 0.58, + "learning_rate": 0.0002200617283950617, + "loss": 0.7637, + "step": 1445 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021975308641975308, + "loss": 0.7302, + "step": 1450 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021944444444444444, + "loss": 0.7685, + "step": 1455 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021913580246913576, + "loss": 0.751, + "step": 1460 + }, + { + "epoch": 0.58, + "learning_rate": 0.00021882716049382713, + "loss": 0.7768, + "step": 1465 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002185185185185185, + "loss": 0.7461, + "step": 1470 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021820987654320987, + "loss": 0.7782, + "step": 1475 + }, + { + "epoch": 0.59, + "learning_rate": 0.0002179012345679012, + "loss": 0.7474, + "step": 1480 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021759259259259258, + "loss": 0.7475, + "step": 1485 + }, + { + "epoch": 0.59, + "learning_rate": 0.00021728395061728395, + "loss": 0.7539, + "step": 1490 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002169753086419753, + "loss": 0.7476, + "step": 1495 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021666666666666666, + "loss": 0.7382, + "step": 1500 + }, + { + "epoch": 0.6, + "learning_rate": 0.000216358024691358, + "loss": 0.7305, + "step": 1505 + }, + { + "epoch": 0.6, + "learning_rate": 0.00021604938271604937, + "loss": 0.7455, + "step": 1510 + }, + { + "epoch": 0.6, + "learning_rate": 0.0002157407407407407, + "loss": 0.7286, + "step": 1515 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021543209876543208, + "loss": 0.7653, + "step": 1520 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021512345679012345, + "loss": 0.7443, + "step": 1525 + }, + { + "epoch": 0.61, + "learning_rate": 0.0002148148148148148, + "loss": 0.7026, + "step": 1530 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021450617283950616, + "loss": 0.7436, + "step": 1535 + }, + { + "epoch": 0.61, + "learning_rate": 0.00021419753086419753, + "loss": 0.7101, + "step": 1540 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021388888888888884, + "loss": 0.7484, + "step": 1545 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002135802469135802, + "loss": 0.7483, + "step": 1550 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021327160493827158, + "loss": 0.7419, + "step": 1555 + }, + { + "epoch": 0.62, + "learning_rate": 0.00021296296296296295, + "loss": 0.7356, + "step": 1560 + }, + { + "epoch": 0.62, + "learning_rate": 0.0002126543209876543, + "loss": 0.7716, + "step": 1565 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021234567901234566, + "loss": 0.734, + "step": 1570 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021203703703703703, + "loss": 0.7268, + "step": 1575 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021172839506172837, + "loss": 0.7133, + "step": 1580 + }, + { + "epoch": 0.63, + "learning_rate": 0.00021141975308641974, + "loss": 0.7575, + "step": 1585 + }, + { + "epoch": 0.63, + "learning_rate": 0.0002111111111111111, + "loss": 0.7219, + "step": 1590 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021080246913580248, + "loss": 0.7394, + "step": 1595 + }, + { + "epoch": 0.64, + "learning_rate": 0.0002104938271604938, + "loss": 0.7729, + "step": 1600 + }, + { + "epoch": 0.64, + "learning_rate": 0.00021018518518518516, + "loss": 0.757, + "step": 1605 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020987654320987653, + "loss": 0.7139, + "step": 1610 + }, + { + "epoch": 0.64, + "learning_rate": 0.00020956790123456787, + "loss": 0.7492, + "step": 1615 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020925925925925924, + "loss": 0.7461, + "step": 1620 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002089506172839506, + "loss": 0.7276, + "step": 1625 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020864197530864198, + "loss": 0.7725, + "step": 1630 + }, + { + "epoch": 0.65, + "learning_rate": 0.00020833333333333332, + "loss": 0.7623, + "step": 1635 + }, + { + "epoch": 0.65, + "learning_rate": 0.0002080246913580247, + "loss": 0.7394, + "step": 1640 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020771604938271603, + "loss": 0.7387, + "step": 1645 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020740740740740737, + "loss": 0.7519, + "step": 1650 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020709876543209874, + "loss": 0.7625, + "step": 1655 + }, + { + "epoch": 0.66, + "learning_rate": 0.0002067901234567901, + "loss": 0.7254, + "step": 1660 + }, + { + "epoch": 0.66, + "learning_rate": 0.00020648148148148145, + "loss": 0.7129, + "step": 1665 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020617283950617282, + "loss": 0.7964, + "step": 1670 + }, + { + "epoch": 0.67, + "learning_rate": 0.0002058641975308642, + "loss": 0.7332, + "step": 1675 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020555555555555556, + "loss": 0.7955, + "step": 1680 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020524691358024687, + "loss": 0.7544, + "step": 1685 + }, + { + "epoch": 0.67, + "learning_rate": 0.00020493827160493824, + "loss": 0.7115, + "step": 1690 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002046296296296296, + "loss": 0.7434, + "step": 1695 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020432098765432095, + "loss": 0.7382, + "step": 1700 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020401234567901232, + "loss": 0.7452, + "step": 1705 + }, + { + "epoch": 0.68, + "learning_rate": 0.0002037037037037037, + "loss": 0.7551, + "step": 1710 + }, + { + "epoch": 0.68, + "learning_rate": 0.00020339506172839506, + "loss": 0.7202, + "step": 1715 + }, + { + "epoch": 0.69, + "learning_rate": 0.0002030864197530864, + "loss": 0.735, + "step": 1720 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020277777777777777, + "loss": 0.7581, + "step": 1725 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020246913580246914, + "loss": 0.7527, + "step": 1730 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020216049382716045, + "loss": 0.7498, + "step": 1735 + }, + { + "epoch": 0.69, + "learning_rate": 0.00020185185185185182, + "loss": 0.735, + "step": 1740 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002015432098765432, + "loss": 0.7286, + "step": 1745 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020123456790123456, + "loss": 0.6891, + "step": 1750 + }, + { + "epoch": 0.7, + "learning_rate": 0.0002009259259259259, + "loss": 0.7353, + "step": 1755 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020061728395061727, + "loss": 0.7386, + "step": 1760 + }, + { + "epoch": 0.7, + "learning_rate": 0.00020030864197530864, + "loss": 0.7106, + "step": 1765 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019999999999999998, + "loss": 0.7207, + "step": 1770 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019969135802469135, + "loss": 0.7576, + "step": 1775 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019938271604938272, + "loss": 0.7462, + "step": 1780 + }, + { + "epoch": 0.71, + "learning_rate": 0.00019907407407407404, + "loss": 0.7068, + "step": 1785 + }, + { + "epoch": 0.71, + "learning_rate": 0.0001987654320987654, + "loss": 0.7525, + "step": 1790 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019845679012345677, + "loss": 0.7291, + "step": 1795 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019814814814814814, + "loss": 0.7226, + "step": 1800 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019783950617283948, + "loss": 0.7445, + "step": 1805 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019753086419753085, + "loss": 0.7571, + "step": 1810 + }, + { + "epoch": 0.72, + "learning_rate": 0.00019722222222222222, + "loss": 0.7306, + "step": 1815 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019691358024691354, + "loss": 0.7785, + "step": 1820 + }, + { + "epoch": 0.73, + "learning_rate": 0.0001966049382716049, + "loss": 0.7537, + "step": 1825 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019629629629629627, + "loss": 0.7549, + "step": 1830 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019598765432098764, + "loss": 0.732, + "step": 1835 + }, + { + "epoch": 0.73, + "learning_rate": 0.00019567901234567898, + "loss": 0.7159, + "step": 1840 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019537037037037035, + "loss": 0.7549, + "step": 1845 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019506172839506172, + "loss": 0.7581, + "step": 1850 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019475308641975306, + "loss": 0.7559, + "step": 1855 + }, + { + "epoch": 0.74, + "learning_rate": 0.00019444444444444443, + "loss": 0.7626, + "step": 1860 + }, + { + "epoch": 0.74, + "learning_rate": 0.0001941358024691358, + "loss": 0.7423, + "step": 1865 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019382716049382712, + "loss": 0.7672, + "step": 1870 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019351851851851849, + "loss": 0.7794, + "step": 1875 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019320987654320985, + "loss": 0.7428, + "step": 1880 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019290123456790122, + "loss": 0.7462, + "step": 1885 + }, + { + "epoch": 0.75, + "learning_rate": 0.00019259259259259257, + "loss": 0.702, + "step": 1890 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019228395061728393, + "loss": 0.7626, + "step": 1895 + }, + { + "epoch": 0.76, + "learning_rate": 0.0001919753086419753, + "loss": 0.7357, + "step": 1900 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019166666666666665, + "loss": 0.7408, + "step": 1905 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019135802469135801, + "loss": 0.707, + "step": 1910 + }, + { + "epoch": 0.76, + "learning_rate": 0.00019104938271604938, + "loss": 0.726, + "step": 1915 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019074074074074073, + "loss": 0.7396, + "step": 1920 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019043209876543207, + "loss": 0.7676, + "step": 1925 + }, + { + "epoch": 0.77, + "learning_rate": 0.00019012345679012344, + "loss": 0.7335, + "step": 1930 + }, + { + "epoch": 0.77, + "learning_rate": 0.0001898148148148148, + "loss": 0.7235, + "step": 1935 + }, + { + "epoch": 0.77, + "learning_rate": 0.00018950617283950615, + "loss": 0.7297, + "step": 1940 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018919753086419752, + "loss": 0.7079, + "step": 1945 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018888888888888888, + "loss": 0.7629, + "step": 1950 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018858024691358025, + "loss": 0.7131, + "step": 1955 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018827160493827157, + "loss": 0.7517, + "step": 1960 + }, + { + "epoch": 0.78, + "learning_rate": 0.00018796296296296294, + "loss": 0.7292, + "step": 1965 + }, + { + "epoch": 0.79, + "learning_rate": 0.0001876543209876543, + "loss": 0.7137, + "step": 1970 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018734567901234565, + "loss": 0.725, + "step": 1975 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018703703703703702, + "loss": 0.7444, + "step": 1980 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018672839506172839, + "loss": 0.7366, + "step": 1985 + }, + { + "epoch": 0.79, + "learning_rate": 0.00018641975308641973, + "loss": 0.7329, + "step": 1990 + }, + { + "epoch": 0.8, + "learning_rate": 0.0001861111111111111, + "loss": 0.7037, + "step": 1995 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018580246913580247, + "loss": 0.7186, + "step": 2000 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018549382716049383, + "loss": 0.7322, + "step": 2005 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018518518518518515, + "loss": 0.7639, + "step": 2010 + }, + { + "epoch": 0.8, + "learning_rate": 0.00018487654320987652, + "loss": 0.7426, + "step": 2015 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001845679012345679, + "loss": 0.7648, + "step": 2020 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018425925925925923, + "loss": 0.714, + "step": 2025 + }, + { + "epoch": 0.81, + "learning_rate": 0.0001839506172839506, + "loss": 0.7091, + "step": 2030 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018364197530864197, + "loss": 0.7222, + "step": 2035 + }, + { + "epoch": 0.81, + "learning_rate": 0.00018333333333333334, + "loss": 0.7491, + "step": 2040 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018302469135802468, + "loss": 0.7659, + "step": 2045 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018271604938271605, + "loss": 0.727, + "step": 2050 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018240740740740742, + "loss": 0.7416, + "step": 2055 + }, + { + "epoch": 0.82, + "learning_rate": 0.00018209876543209873, + "loss": 0.697, + "step": 2060 + }, + { + "epoch": 0.82, + "learning_rate": 0.0001817901234567901, + "loss": 0.7408, + "step": 2065 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018148148148148147, + "loss": 0.7144, + "step": 2070 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018117283950617284, + "loss": 0.7745, + "step": 2075 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018086419753086418, + "loss": 0.7362, + "step": 2080 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018055555555555555, + "loss": 0.7378, + "step": 2085 + }, + { + "epoch": 0.83, + "learning_rate": 0.00018024691358024692, + "loss": 0.7227, + "step": 2090 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017993827160493826, + "loss": 0.7408, + "step": 2095 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001796296296296296, + "loss": 0.7178, + "step": 2100 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017932098765432097, + "loss": 0.7401, + "step": 2105 + }, + { + "epoch": 0.84, + "learning_rate": 0.0001790123456790123, + "loss": 0.7484, + "step": 2110 + }, + { + "epoch": 0.84, + "learning_rate": 0.00017870370370370368, + "loss": 0.7271, + "step": 2115 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017839506172839505, + "loss": 0.7897, + "step": 2120 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017808641975308642, + "loss": 0.7374, + "step": 2125 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017777777777777776, + "loss": 0.7314, + "step": 2130 + }, + { + "epoch": 0.85, + "learning_rate": 0.00017746913580246913, + "loss": 0.7338, + "step": 2135 + }, + { + "epoch": 0.85, + "learning_rate": 0.0001771604938271605, + "loss": 0.7536, + "step": 2140 + }, + { + "epoch": 0.86, + "learning_rate": 0.0001768518518518518, + "loss": 0.7501, + "step": 2145 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017654320987654318, + "loss": 0.7263, + "step": 2150 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017623456790123455, + "loss": 0.7468, + "step": 2155 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017592592592592592, + "loss": 0.7097, + "step": 2160 + }, + { + "epoch": 0.86, + "learning_rate": 0.00017561728395061726, + "loss": 0.7261, + "step": 2165 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017530864197530863, + "loss": 0.7489, + "step": 2170 + }, + { + "epoch": 0.87, + "learning_rate": 0.000175, + "loss": 0.7149, + "step": 2175 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017469135802469134, + "loss": 0.7239, + "step": 2180 + }, + { + "epoch": 0.87, + "learning_rate": 0.0001743827160493827, + "loss": 0.7249, + "step": 2185 + }, + { + "epoch": 0.87, + "learning_rate": 0.00017407407407407408, + "loss": 0.7506, + "step": 2190 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001737654320987654, + "loss": 0.7594, + "step": 2195 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017345679012345676, + "loss": 0.7412, + "step": 2200 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017314814814814813, + "loss": 0.7219, + "step": 2205 + }, + { + "epoch": 0.88, + "learning_rate": 0.0001728395061728395, + "loss": 0.7655, + "step": 2210 + }, + { + "epoch": 0.88, + "learning_rate": 0.00017253086419753084, + "loss": 0.735, + "step": 2215 + }, + { + "epoch": 0.89, + "learning_rate": 0.0001722222222222222, + "loss": 0.7214, + "step": 2220 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017191358024691358, + "loss": 0.7179, + "step": 2225 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017160493827160492, + "loss": 0.7208, + "step": 2230 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017129629629629626, + "loss": 0.7445, + "step": 2235 + }, + { + "epoch": 0.89, + "learning_rate": 0.00017098765432098763, + "loss": 0.7, + "step": 2240 + }, + { + "epoch": 0.9, + "learning_rate": 0.000170679012345679, + "loss": 0.7571, + "step": 2245 + }, + { + "epoch": 0.9, + "learning_rate": 0.00017037037037037034, + "loss": 0.7076, + "step": 2250 + }, + { + "epoch": 0.9, + "learning_rate": 0.0001700617283950617, + "loss": 0.7027, + "step": 2255 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016975308641975308, + "loss": 0.7408, + "step": 2260 + }, + { + "epoch": 0.9, + "learning_rate": 0.00016944444444444442, + "loss": 0.7095, + "step": 2265 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001691358024691358, + "loss": 0.7314, + "step": 2270 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016882716049382716, + "loss": 0.714, + "step": 2275 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016851851851851853, + "loss": 0.7442, + "step": 2280 + }, + { + "epoch": 0.91, + "learning_rate": 0.00016820987654320984, + "loss": 0.7144, + "step": 2285 + }, + { + "epoch": 0.91, + "learning_rate": 0.0001679012345679012, + "loss": 0.7252, + "step": 2290 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016759259259259258, + "loss": 0.7118, + "step": 2295 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016728395061728392, + "loss": 0.7444, + "step": 2300 + }, + { + "epoch": 0.92, + "learning_rate": 0.0001669753086419753, + "loss": 0.732, + "step": 2305 + }, + { + "epoch": 0.92, + "learning_rate": 0.00016666666666666666, + "loss": 0.7394, + "step": 2310 + }, + { + "epoch": 0.92, + "learning_rate": 0.000166358024691358, + "loss": 0.7573, + "step": 2315 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016604938271604937, + "loss": 0.7543, + "step": 2320 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016574074074074074, + "loss": 0.7709, + "step": 2325 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001654320987654321, + "loss": 0.7372, + "step": 2330 + }, + { + "epoch": 0.93, + "learning_rate": 0.00016512345679012342, + "loss": 0.7222, + "step": 2335 + }, + { + "epoch": 0.93, + "learning_rate": 0.0001648148148148148, + "loss": 0.7505, + "step": 2340 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016450617283950616, + "loss": 0.7364, + "step": 2345 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001641975308641975, + "loss": 0.7001, + "step": 2350 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016388888888888887, + "loss": 0.7203, + "step": 2355 + }, + { + "epoch": 0.94, + "learning_rate": 0.00016358024691358024, + "loss": 0.6906, + "step": 2360 + }, + { + "epoch": 0.94, + "learning_rate": 0.0001632716049382716, + "loss": 0.7557, + "step": 2365 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016296296296296295, + "loss": 0.7261, + "step": 2370 + }, + { + "epoch": 0.95, + "learning_rate": 0.0001626543209876543, + "loss": 0.7182, + "step": 2375 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016234567901234566, + "loss": 0.7557, + "step": 2380 + }, + { + "epoch": 0.95, + "learning_rate": 0.000162037037037037, + "loss": 0.7251, + "step": 2385 + }, + { + "epoch": 0.95, + "learning_rate": 0.00016172839506172837, + "loss": 0.7551, + "step": 2390 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016141975308641974, + "loss": 0.6976, + "step": 2395 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001611111111111111, + "loss": 0.7336, + "step": 2400 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016080246913580245, + "loss": 0.7023, + "step": 2405 + }, + { + "epoch": 0.96, + "learning_rate": 0.00016049382716049382, + "loss": 0.7315, + "step": 2410 + }, + { + "epoch": 0.96, + "learning_rate": 0.0001601851851851852, + "loss": 0.7092, + "step": 2415 + }, + { + "epoch": 0.97, + "learning_rate": 0.0001598765432098765, + "loss": 0.7381, + "step": 2420 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015956790123456788, + "loss": 0.7687, + "step": 2425 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015925925925925924, + "loss": 0.7447, + "step": 2430 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015895061728395059, + "loss": 0.7476, + "step": 2435 + }, + { + "epoch": 0.97, + "learning_rate": 0.00015864197530864196, + "loss": 0.7436, + "step": 2440 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015833333333333332, + "loss": 0.7188, + "step": 2445 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001580246913580247, + "loss": 0.7284, + "step": 2450 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015771604938271603, + "loss": 0.739, + "step": 2455 + }, + { + "epoch": 0.98, + "learning_rate": 0.0001574074074074074, + "loss": 0.7108, + "step": 2460 + }, + { + "epoch": 0.98, + "learning_rate": 0.00015709876543209877, + "loss": 0.7101, + "step": 2465 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001567901234567901, + "loss": 0.7433, + "step": 2470 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015648148148148146, + "loss": 0.7009, + "step": 2475 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015617283950617283, + "loss": 0.7046, + "step": 2480 + }, + { + "epoch": 0.99, + "learning_rate": 0.0001558641975308642, + "loss": 0.7267, + "step": 2485 + }, + { + "epoch": 0.99, + "learning_rate": 0.00015555555555555554, + "loss": 0.7253, + "step": 2490 + }, + { + "epoch": 1.0, + "learning_rate": 0.0001552469135802469, + "loss": 0.6932, + "step": 2495 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015493827160493827, + "loss": 0.7542, + "step": 2500 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015462962962962962, + "loss": 0.7269, + "step": 2505 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015432098765432098, + "loss": 0.6682, + "step": 2510 + }, + { + "epoch": 1.0, + "learning_rate": 0.00015401234567901233, + "loss": 0.6625, + "step": 2515 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001537037037037037, + "loss": 0.6818, + "step": 2520 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015339506172839504, + "loss": 0.6982, + "step": 2525 + }, + { + "epoch": 1.01, + "learning_rate": 0.0001530864197530864, + "loss": 0.6749, + "step": 2530 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015277777777777777, + "loss": 0.6552, + "step": 2535 + }, + { + "epoch": 1.01, + "learning_rate": 0.00015246913580246912, + "loss": 0.702, + "step": 2540 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015216049382716049, + "loss": 0.6748, + "step": 2545 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015185185185185185, + "loss": 0.6707, + "step": 2550 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015154320987654317, + "loss": 0.6886, + "step": 2555 + }, + { + "epoch": 1.02, + "learning_rate": 0.00015123456790123454, + "loss": 0.72, + "step": 2560 + }, + { + "epoch": 1.02, + "learning_rate": 0.0001509259259259259, + "loss": 0.6959, + "step": 2565 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015061728395061728, + "loss": 0.6684, + "step": 2570 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015030864197530862, + "loss": 0.6896, + "step": 2575 + }, + { + "epoch": 1.03, + "learning_rate": 0.00015, + "loss": 0.6791, + "step": 2580 + }, + { + "epoch": 1.03, + "learning_rate": 0.00014969135802469133, + "loss": 0.6848, + "step": 2585 + }, + { + "epoch": 1.03, + "learning_rate": 0.0001493827160493827, + "loss": 0.6471, + "step": 2590 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014907407407407407, + "loss": 0.6611, + "step": 2595 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014876543209876544, + "loss": 0.6975, + "step": 2600 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014845679012345678, + "loss": 0.6966, + "step": 2605 + }, + { + "epoch": 1.04, + "learning_rate": 0.00014814814814814812, + "loss": 0.6894, + "step": 2610 + }, + { + "epoch": 1.04, + "learning_rate": 0.0001478395061728395, + "loss": 0.681, + "step": 2615 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014753086419753086, + "loss": 0.6723, + "step": 2620 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014722222222222223, + "loss": 0.6869, + "step": 2625 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014691358024691357, + "loss": 0.7015, + "step": 2630 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014660493827160494, + "loss": 0.6932, + "step": 2635 + }, + { + "epoch": 1.05, + "learning_rate": 0.00014629629629629628, + "loss": 0.6901, + "step": 2640 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014598765432098765, + "loss": 0.6466, + "step": 2645 + }, + { + "epoch": 1.06, + "learning_rate": 0.000145679012345679, + "loss": 0.7214, + "step": 2650 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014537037037037036, + "loss": 0.6692, + "step": 2655 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014506172839506173, + "loss": 0.6935, + "step": 2660 + }, + { + "epoch": 1.06, + "learning_rate": 0.00014475308641975307, + "loss": 0.6851, + "step": 2665 + }, + { + "epoch": 1.07, + "learning_rate": 0.0001444444444444444, + "loss": 0.6856, + "step": 2670 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014413580246913578, + "loss": 0.6895, + "step": 2675 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014382716049382715, + "loss": 0.6562, + "step": 2680 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014351851851851852, + "loss": 0.6787, + "step": 2685 + }, + { + "epoch": 1.07, + "learning_rate": 0.00014320987654320986, + "loss": 0.6733, + "step": 2690 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014290123456790123, + "loss": 0.6769, + "step": 2695 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014259259259259257, + "loss": 0.6543, + "step": 2700 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014228395061728394, + "loss": 0.6624, + "step": 2705 + }, + { + "epoch": 1.08, + "learning_rate": 0.0001419753086419753, + "loss": 0.6712, + "step": 2710 + }, + { + "epoch": 1.08, + "learning_rate": 0.00014166666666666665, + "loss": 0.6868, + "step": 2715 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014135802469135802, + "loss": 0.6584, + "step": 2720 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014104938271604936, + "loss": 0.6901, + "step": 2725 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014074074074074073, + "loss": 0.6662, + "step": 2730 + }, + { + "epoch": 1.09, + "learning_rate": 0.0001404320987654321, + "loss": 0.6788, + "step": 2735 + }, + { + "epoch": 1.09, + "learning_rate": 0.00014012345679012344, + "loss": 0.7102, + "step": 2740 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001398148148148148, + "loss": 0.6997, + "step": 2745 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013950617283950615, + "loss": 0.6888, + "step": 2750 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013919753086419752, + "loss": 0.675, + "step": 2755 + }, + { + "epoch": 1.1, + "learning_rate": 0.0001388888888888889, + "loss": 0.6674, + "step": 2760 + }, + { + "epoch": 1.1, + "learning_rate": 0.00013858024691358023, + "loss": 0.6982, + "step": 2765 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001382716049382716, + "loss": 0.6847, + "step": 2770 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013796296296296294, + "loss": 0.7183, + "step": 2775 + }, + { + "epoch": 1.11, + "learning_rate": 0.0001376543209876543, + "loss": 0.6647, + "step": 2780 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013734567901234568, + "loss": 0.6794, + "step": 2785 + }, + { + "epoch": 1.11, + "learning_rate": 0.00013703703703703702, + "loss": 0.6852, + "step": 2790 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001367283950617284, + "loss": 0.6638, + "step": 2795 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013641975308641973, + "loss": 0.7229, + "step": 2800 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001361111111111111, + "loss": 0.6804, + "step": 2805 + }, + { + "epoch": 1.12, + "learning_rate": 0.00013580246913580244, + "loss": 0.7028, + "step": 2810 + }, + { + "epoch": 1.12, + "learning_rate": 0.0001354938271604938, + "loss": 0.6775, + "step": 2815 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013518518518518518, + "loss": 0.6511, + "step": 2820 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013487654320987652, + "loss": 0.6952, + "step": 2825 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001345679012345679, + "loss": 0.6555, + "step": 2830 + }, + { + "epoch": 1.13, + "learning_rate": 0.00013425925925925923, + "loss": 0.6738, + "step": 2835 + }, + { + "epoch": 1.13, + "learning_rate": 0.0001339506172839506, + "loss": 0.6576, + "step": 2840 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013364197530864197, + "loss": 0.6679, + "step": 2845 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001333333333333333, + "loss": 0.6787, + "step": 2850 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013302469135802468, + "loss": 0.6604, + "step": 2855 + }, + { + "epoch": 1.14, + "learning_rate": 0.00013271604938271602, + "loss": 0.6733, + "step": 2860 + }, + { + "epoch": 1.14, + "learning_rate": 0.0001324074074074074, + "loss": 0.6829, + "step": 2865 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013209876543209876, + "loss": 0.6757, + "step": 2870 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013179012345679013, + "loss": 0.6709, + "step": 2875 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013148148148148147, + "loss": 0.6975, + "step": 2880 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013117283950617281, + "loss": 0.6719, + "step": 2885 + }, + { + "epoch": 1.15, + "learning_rate": 0.00013086419753086418, + "loss": 0.664, + "step": 2890 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013055555555555555, + "loss": 0.6839, + "step": 2895 + }, + { + "epoch": 1.16, + "learning_rate": 0.00013024691358024692, + "loss": 0.706, + "step": 2900 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012993827160493826, + "loss": 0.6666, + "step": 2905 + }, + { + "epoch": 1.16, + "learning_rate": 0.0001296296296296296, + "loss": 0.6783, + "step": 2910 + }, + { + "epoch": 1.16, + "learning_rate": 0.00012932098765432097, + "loss": 0.6746, + "step": 2915 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012901234567901234, + "loss": 0.6933, + "step": 2920 + }, + { + "epoch": 1.17, + "learning_rate": 0.0001287037037037037, + "loss": 0.6605, + "step": 2925 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012839506172839505, + "loss": 0.6757, + "step": 2930 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012808641975308642, + "loss": 0.6385, + "step": 2935 + }, + { + "epoch": 1.17, + "learning_rate": 0.00012777777777777776, + "loss": 0.6673, + "step": 2940 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012746913580246913, + "loss": 0.6862, + "step": 2945 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012716049382716047, + "loss": 0.6869, + "step": 2950 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012685185185185184, + "loss": 0.6392, + "step": 2955 + }, + { + "epoch": 1.18, + "learning_rate": 0.0001265432098765432, + "loss": 0.6928, + "step": 2960 + }, + { + "epoch": 1.18, + "learning_rate": 0.00012623456790123455, + "loss": 0.6876, + "step": 2965 + }, + { + "epoch": 1.19, + "learning_rate": 0.0001259259259259259, + "loss": 0.6767, + "step": 2970 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012561728395061726, + "loss": 0.6828, + "step": 2975 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012530864197530863, + "loss": 0.6716, + "step": 2980 + }, + { + "epoch": 1.19, + "learning_rate": 0.000125, + "loss": 0.6753, + "step": 2985 + }, + { + "epoch": 1.19, + "learning_rate": 0.00012469135802469134, + "loss": 0.7025, + "step": 2990 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012438271604938269, + "loss": 0.6941, + "step": 2995 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012407407407407406, + "loss": 0.7042, + "step": 3000 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012376543209876542, + "loss": 0.6651, + "step": 3005 + }, + { + "epoch": 1.2, + "learning_rate": 0.0001234567901234568, + "loss": 0.6793, + "step": 3010 + }, + { + "epoch": 1.2, + "learning_rate": 0.00012314814814814813, + "loss": 0.6473, + "step": 3015 + }, + { + "epoch": 1.21, + "learning_rate": 0.0001228395061728395, + "loss": 0.6683, + "step": 3020 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012253086419753085, + "loss": 0.6697, + "step": 3025 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012222222222222221, + "loss": 0.6639, + "step": 3030 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012191358024691357, + "loss": 0.6642, + "step": 3035 + }, + { + "epoch": 1.21, + "learning_rate": 0.00012160493827160493, + "loss": 0.6654, + "step": 3040 + }, + { + "epoch": 1.22, + "learning_rate": 0.0001212962962962963, + "loss": 0.712, + "step": 3045 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012098765432098764, + "loss": 0.6702, + "step": 3050 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012067901234567899, + "loss": 0.6857, + "step": 3055 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012037037037037036, + "loss": 0.6755, + "step": 3060 + }, + { + "epoch": 1.22, + "learning_rate": 0.00012006172839506172, + "loss": 0.6617, + "step": 3065 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011975308641975308, + "loss": 0.6794, + "step": 3070 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011944444444444443, + "loss": 0.6807, + "step": 3075 + }, + { + "epoch": 1.23, + "learning_rate": 0.0001191358024691358, + "loss": 0.661, + "step": 3080 + }, + { + "epoch": 1.23, + "learning_rate": 0.00011882716049382715, + "loss": 0.691, + "step": 3085 + }, + { + "epoch": 1.23, + "learning_rate": 0.0001185185185185185, + "loss": 0.6799, + "step": 3090 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011820987654320988, + "loss": 0.6598, + "step": 3095 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011790123456790122, + "loss": 0.7039, + "step": 3100 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011759259259259259, + "loss": 0.6943, + "step": 3105 + }, + { + "epoch": 1.24, + "learning_rate": 0.00011728395061728394, + "loss": 0.7052, + "step": 3110 + }, + { + "epoch": 1.24, + "learning_rate": 0.0001169753086419753, + "loss": 0.6884, + "step": 3115 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011666666666666665, + "loss": 0.711, + "step": 3120 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011635802469135801, + "loss": 0.702, + "step": 3125 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011604938271604938, + "loss": 0.6905, + "step": 3130 + }, + { + "epoch": 1.25, + "learning_rate": 0.00011574074074074073, + "loss": 0.6433, + "step": 3135 + }, + { + "epoch": 1.25, + "learning_rate": 0.0001154320987654321, + "loss": 0.6643, + "step": 3140 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011512345679012344, + "loss": 0.6841, + "step": 3145 + }, + { + "epoch": 1.26, + "learning_rate": 0.0001148148148148148, + "loss": 0.6423, + "step": 3150 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011450617283950617, + "loss": 0.651, + "step": 3155 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011419753086419752, + "loss": 0.6819, + "step": 3160 + }, + { + "epoch": 1.26, + "learning_rate": 0.00011388888888888889, + "loss": 0.7022, + "step": 3165 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011358024691358023, + "loss": 0.6715, + "step": 3170 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011327160493827159, + "loss": 0.6813, + "step": 3175 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011296296296296296, + "loss": 0.6756, + "step": 3180 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011265432098765431, + "loss": 0.7021, + "step": 3185 + }, + { + "epoch": 1.27, + "learning_rate": 0.00011234567901234567, + "loss": 0.698, + "step": 3190 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011203703703703702, + "loss": 0.6465, + "step": 3195 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011172839506172839, + "loss": 0.6546, + "step": 3200 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011141975308641975, + "loss": 0.6758, + "step": 3205 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011111111111111109, + "loss": 0.6447, + "step": 3210 + }, + { + "epoch": 1.28, + "learning_rate": 0.00011080246913580246, + "loss": 0.6741, + "step": 3215 + }, + { + "epoch": 1.29, + "learning_rate": 0.00011049382716049381, + "loss": 0.6846, + "step": 3220 + }, + { + "epoch": 1.29, + "learning_rate": 0.00011018518518518518, + "loss": 0.6573, + "step": 3225 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010987654320987654, + "loss": 0.6738, + "step": 3230 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010956790123456788, + "loss": 0.6782, + "step": 3235 + }, + { + "epoch": 1.29, + "learning_rate": 0.00010925925925925925, + "loss": 0.6815, + "step": 3240 + }, + { + "epoch": 1.3, + "learning_rate": 0.0001089506172839506, + "loss": 0.6714, + "step": 3245 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010864197530864197, + "loss": 0.6839, + "step": 3250 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010833333333333333, + "loss": 0.6564, + "step": 3255 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010802469135802468, + "loss": 0.6524, + "step": 3260 + }, + { + "epoch": 1.3, + "learning_rate": 0.00010771604938271604, + "loss": 0.6636, + "step": 3265 + }, + { + "epoch": 1.31, + "learning_rate": 0.0001074074074074074, + "loss": 0.66, + "step": 3270 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010709876543209876, + "loss": 0.7089, + "step": 3275 + }, + { + "epoch": 1.31, + "learning_rate": 0.0001067901234567901, + "loss": 0.6692, + "step": 3280 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010648148148148147, + "loss": 0.6871, + "step": 3285 + }, + { + "epoch": 1.31, + "learning_rate": 0.00010617283950617283, + "loss": 0.6749, + "step": 3290 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010586419753086418, + "loss": 0.684, + "step": 3295 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010555555555555555, + "loss": 0.6803, + "step": 3300 + }, + { + "epoch": 1.32, + "learning_rate": 0.0001052469135802469, + "loss": 0.6932, + "step": 3305 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010493827160493826, + "loss": 0.6542, + "step": 3310 + }, + { + "epoch": 1.32, + "learning_rate": 0.00010462962962962962, + "loss": 0.6494, + "step": 3315 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010432098765432099, + "loss": 0.6804, + "step": 3320 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010401234567901234, + "loss": 0.6709, + "step": 3325 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010370370370370369, + "loss": 0.7199, + "step": 3330 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010339506172839506, + "loss": 0.6677, + "step": 3335 + }, + { + "epoch": 1.33, + "learning_rate": 0.00010308641975308641, + "loss": 0.6657, + "step": 3340 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010277777777777778, + "loss": 0.6811, + "step": 3345 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010246913580246912, + "loss": 0.6635, + "step": 3350 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010216049382716048, + "loss": 0.6696, + "step": 3355 + }, + { + "epoch": 1.34, + "learning_rate": 0.00010185185185185185, + "loss": 0.6926, + "step": 3360 + }, + { + "epoch": 1.34, + "learning_rate": 0.0001015432098765432, + "loss": 0.6638, + "step": 3365 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010123456790123457, + "loss": 0.6518, + "step": 3370 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010092592592592591, + "loss": 0.6521, + "step": 3375 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010061728395061728, + "loss": 0.6809, + "step": 3380 + }, + { + "epoch": 1.35, + "learning_rate": 0.00010030864197530864, + "loss": 0.6887, + "step": 3385 + }, + { + "epoch": 1.35, + "learning_rate": 9.999999999999999e-05, + "loss": 0.6924, + "step": 3390 + }, + { + "epoch": 1.36, + "learning_rate": 9.969135802469136e-05, + "loss": 0.6674, + "step": 3395 + }, + { + "epoch": 1.36, + "learning_rate": 9.93827160493827e-05, + "loss": 0.6908, + "step": 3400 + }, + { + "epoch": 1.36, + "learning_rate": 9.907407407407407e-05, + "loss": 0.6959, + "step": 3405 + }, + { + "epoch": 1.36, + "learning_rate": 9.876543209876543e-05, + "loss": 0.7068, + "step": 3410 + }, + { + "epoch": 1.36, + "learning_rate": 9.845679012345677e-05, + "loss": 0.6694, + "step": 3415 + }, + { + "epoch": 1.37, + "learning_rate": 9.814814814814814e-05, + "loss": 0.6214, + "step": 3420 + }, + { + "epoch": 1.37, + "learning_rate": 9.783950617283949e-05, + "loss": 0.6534, + "step": 3425 + }, + { + "epoch": 1.37, + "learning_rate": 9.753086419753086e-05, + "loss": 0.6708, + "step": 3430 + }, + { + "epoch": 1.37, + "learning_rate": 9.722222222222222e-05, + "loss": 0.6624, + "step": 3435 + }, + { + "epoch": 1.37, + "learning_rate": 9.691358024691356e-05, + "loss": 0.676, + "step": 3440 + }, + { + "epoch": 1.38, + "learning_rate": 9.660493827160493e-05, + "loss": 0.6516, + "step": 3445 + }, + { + "epoch": 1.38, + "learning_rate": 9.629629629629628e-05, + "loss": 0.6688, + "step": 3450 + }, + { + "epoch": 1.38, + "learning_rate": 9.598765432098765e-05, + "loss": 0.6658, + "step": 3455 + }, + { + "epoch": 1.38, + "learning_rate": 9.567901234567901e-05, + "loss": 0.6582, + "step": 3460 + }, + { + "epoch": 1.38, + "learning_rate": 9.537037037037036e-05, + "loss": 0.6609, + "step": 3465 + }, + { + "epoch": 1.39, + "learning_rate": 9.506172839506172e-05, + "loss": 0.6827, + "step": 3470 + }, + { + "epoch": 1.39, + "learning_rate": 9.475308641975307e-05, + "loss": 0.6683, + "step": 3475 + }, + { + "epoch": 1.39, + "learning_rate": 9.444444444444444e-05, + "loss": 0.6609, + "step": 3480 + }, + { + "epoch": 1.39, + "learning_rate": 9.413580246913578e-05, + "loss": 0.6608, + "step": 3485 + }, + { + "epoch": 1.39, + "learning_rate": 9.382716049382715e-05, + "loss": 0.6539, + "step": 3490 + }, + { + "epoch": 1.4, + "learning_rate": 9.351851851851851e-05, + "loss": 0.6515, + "step": 3495 + }, + { + "epoch": 1.4, + "learning_rate": 9.320987654320986e-05, + "loss": 0.6662, + "step": 3500 + }, + { + "epoch": 1.4, + "learning_rate": 9.290123456790123e-05, + "loss": 0.6874, + "step": 3505 + }, + { + "epoch": 1.4, + "learning_rate": 9.259259259259257e-05, + "loss": 0.6851, + "step": 3510 + }, + { + "epoch": 1.4, + "learning_rate": 9.228395061728394e-05, + "loss": 0.6675, + "step": 3515 + }, + { + "epoch": 1.41, + "learning_rate": 9.19753086419753e-05, + "loss": 0.6974, + "step": 3520 + }, + { + "epoch": 1.41, + "learning_rate": 9.166666666666667e-05, + "loss": 0.6781, + "step": 3525 + }, + { + "epoch": 1.41, + "learning_rate": 9.135802469135802e-05, + "loss": 0.6882, + "step": 3530 + }, + { + "epoch": 1.41, + "learning_rate": 9.104938271604936e-05, + "loss": 0.6783, + "step": 3535 + }, + { + "epoch": 1.41, + "learning_rate": 9.074074074074073e-05, + "loss": 0.632, + "step": 3540 + }, + { + "epoch": 1.42, + "learning_rate": 9.043209876543209e-05, + "loss": 0.6878, + "step": 3545 + }, + { + "epoch": 1.42, + "learning_rate": 9.012345679012346e-05, + "loss": 0.6763, + "step": 3550 + }, + { + "epoch": 1.42, + "learning_rate": 8.98148148148148e-05, + "loss": 0.6815, + "step": 3555 + }, + { + "epoch": 1.42, + "learning_rate": 8.950617283950616e-05, + "loss": 0.6513, + "step": 3560 + }, + { + "epoch": 1.42, + "learning_rate": 8.919753086419752e-05, + "loss": 0.6425, + "step": 3565 + }, + { + "epoch": 1.43, + "learning_rate": 8.888888888888888e-05, + "loss": 0.6934, + "step": 3570 + }, + { + "epoch": 1.43, + "learning_rate": 8.858024691358025e-05, + "loss": 0.6258, + "step": 3575 + }, + { + "epoch": 1.43, + "learning_rate": 8.827160493827159e-05, + "loss": 0.6469, + "step": 3580 + }, + { + "epoch": 1.43, + "learning_rate": 8.796296296296296e-05, + "loss": 0.6892, + "step": 3585 + }, + { + "epoch": 1.43, + "learning_rate": 8.765432098765431e-05, + "loss": 0.6448, + "step": 3590 + }, + { + "epoch": 1.43, + "learning_rate": 8.734567901234567e-05, + "loss": 0.6622, + "step": 3595 + }, + { + "epoch": 1.44, + "learning_rate": 8.703703703703704e-05, + "loss": 0.657, + "step": 3600 + }, + { + "epoch": 1.44, + "learning_rate": 8.672839506172838e-05, + "loss": 0.6578, + "step": 3605 + }, + { + "epoch": 1.44, + "learning_rate": 8.641975308641975e-05, + "loss": 0.6399, + "step": 3610 + }, + { + "epoch": 1.44, + "learning_rate": 8.61111111111111e-05, + "loss": 0.69, + "step": 3615 + }, + { + "epoch": 1.44, + "learning_rate": 8.580246913580246e-05, + "loss": 0.6705, + "step": 3620 + }, + { + "epoch": 1.45, + "learning_rate": 8.549382716049382e-05, + "loss": 0.6571, + "step": 3625 + }, + { + "epoch": 1.45, + "learning_rate": 8.518518518518517e-05, + "loss": 0.6655, + "step": 3630 + }, + { + "epoch": 1.45, + "learning_rate": 8.487654320987654e-05, + "loss": 0.6649, + "step": 3635 + }, + { + "epoch": 1.45, + "learning_rate": 8.45679012345679e-05, + "loss": 0.7275, + "step": 3640 + }, + { + "epoch": 1.45, + "learning_rate": 8.425925925925926e-05, + "loss": 0.7265, + "step": 3645 + }, + { + "epoch": 1.46, + "learning_rate": 8.39506172839506e-05, + "loss": 0.6702, + "step": 3650 + }, + { + "epoch": 1.46, + "learning_rate": 8.364197530864196e-05, + "loss": 0.6701, + "step": 3655 + }, + { + "epoch": 1.46, + "learning_rate": 8.333333333333333e-05, + "loss": 0.6551, + "step": 3660 + }, + { + "epoch": 1.46, + "learning_rate": 8.302469135802469e-05, + "loss": 0.707, + "step": 3665 + }, + { + "epoch": 1.46, + "learning_rate": 8.271604938271605e-05, + "loss": 0.6597, + "step": 3670 + }, + { + "epoch": 1.47, + "learning_rate": 8.24074074074074e-05, + "loss": 0.6764, + "step": 3675 + }, + { + "epoch": 1.47, + "learning_rate": 8.209876543209875e-05, + "loss": 0.654, + "step": 3680 + }, + { + "epoch": 1.47, + "learning_rate": 8.179012345679012e-05, + "loss": 0.659, + "step": 3685 + }, + { + "epoch": 1.47, + "learning_rate": 8.148148148148148e-05, + "loss": 0.6897, + "step": 3690 + }, + { + "epoch": 1.47, + "learning_rate": 8.117283950617283e-05, + "loss": 0.6846, + "step": 3695 + }, + { + "epoch": 1.48, + "learning_rate": 8.086419753086419e-05, + "loss": 0.6725, + "step": 3700 + }, + { + "epoch": 1.48, + "learning_rate": 8.055555555555556e-05, + "loss": 0.652, + "step": 3705 + }, + { + "epoch": 1.48, + "learning_rate": 8.024691358024691e-05, + "loss": 0.6827, + "step": 3710 + }, + { + "epoch": 1.48, + "learning_rate": 7.993827160493825e-05, + "loss": 0.6707, + "step": 3715 + }, + { + "epoch": 1.48, + "learning_rate": 7.962962962962962e-05, + "loss": 0.6735, + "step": 3720 + }, + { + "epoch": 1.49, + "learning_rate": 7.932098765432098e-05, + "loss": 0.6725, + "step": 3725 + }, + { + "epoch": 1.49, + "learning_rate": 7.901234567901235e-05, + "loss": 0.6684, + "step": 3730 + }, + { + "epoch": 1.49, + "learning_rate": 7.87037037037037e-05, + "loss": 0.648, + "step": 3735 + }, + { + "epoch": 1.49, + "learning_rate": 7.839506172839504e-05, + "loss": 0.6346, + "step": 3740 + }, + { + "epoch": 1.49, + "learning_rate": 7.808641975308641e-05, + "loss": 0.6714, + "step": 3745 + }, + { + "epoch": 1.5, + "learning_rate": 7.777777777777777e-05, + "loss": 0.705, + "step": 3750 + }, + { + "epoch": 1.5, + "learning_rate": 7.746913580246914e-05, + "loss": 0.687, + "step": 3755 + }, + { + "epoch": 1.5, + "learning_rate": 7.716049382716049e-05, + "loss": 0.6782, + "step": 3760 + }, + { + "epoch": 1.5, + "learning_rate": 7.685185185185185e-05, + "loss": 0.6564, + "step": 3765 + }, + { + "epoch": 1.5, + "learning_rate": 7.65432098765432e-05, + "loss": 0.6837, + "step": 3770 + }, + { + "epoch": 1.51, + "learning_rate": 7.623456790123456e-05, + "loss": 0.6613, + "step": 3775 + }, + { + "epoch": 1.51, + "learning_rate": 7.592592592592593e-05, + "loss": 0.67, + "step": 3780 + }, + { + "epoch": 1.51, + "learning_rate": 7.561728395061727e-05, + "loss": 0.6544, + "step": 3785 + }, + { + "epoch": 1.51, + "learning_rate": 7.530864197530864e-05, + "loss": 0.6557, + "step": 3790 + }, + { + "epoch": 1.51, + "learning_rate": 7.5e-05, + "loss": 0.6733, + "step": 3795 + }, + { + "epoch": 1.52, + "learning_rate": 7.469135802469135e-05, + "loss": 0.6793, + "step": 3800 + }, + { + "epoch": 1.52, + "learning_rate": 7.438271604938272e-05, + "loss": 0.6834, + "step": 3805 + }, + { + "epoch": 1.52, + "learning_rate": 7.407407407407406e-05, + "loss": 0.6762, + "step": 3810 + }, + { + "epoch": 1.52, + "learning_rate": 7.376543209876543e-05, + "loss": 0.6858, + "step": 3815 + }, + { + "epoch": 1.52, + "learning_rate": 7.345679012345678e-05, + "loss": 0.6347, + "step": 3820 + }, + { + "epoch": 1.53, + "learning_rate": 7.314814814814814e-05, + "loss": 0.6867, + "step": 3825 + }, + { + "epoch": 1.53, + "learning_rate": 7.28395061728395e-05, + "loss": 0.6763, + "step": 3830 + }, + { + "epoch": 1.53, + "learning_rate": 7.253086419753086e-05, + "loss": 0.6483, + "step": 3835 + }, + { + "epoch": 1.53, + "learning_rate": 7.22222222222222e-05, + "loss": 0.6558, + "step": 3840 + }, + { + "epoch": 1.53, + "learning_rate": 7.191358024691357e-05, + "loss": 0.7038, + "step": 3845 + }, + { + "epoch": 1.54, + "learning_rate": 7.160493827160493e-05, + "loss": 0.6741, + "step": 3850 + }, + { + "epoch": 1.54, + "learning_rate": 7.129629629629629e-05, + "loss": 0.6768, + "step": 3855 + }, + { + "epoch": 1.54, + "learning_rate": 7.098765432098765e-05, + "loss": 0.6774, + "step": 3860 + }, + { + "epoch": 1.54, + "learning_rate": 7.067901234567901e-05, + "loss": 0.6909, + "step": 3865 + }, + { + "epoch": 1.54, + "learning_rate": 7.037037037037036e-05, + "loss": 0.6877, + "step": 3870 + }, + { + "epoch": 1.55, + "learning_rate": 7.006172839506172e-05, + "loss": 0.6615, + "step": 3875 + }, + { + "epoch": 1.55, + "learning_rate": 6.975308641975308e-05, + "loss": 0.685, + "step": 3880 + }, + { + "epoch": 1.55, + "learning_rate": 6.944444444444444e-05, + "loss": 0.6536, + "step": 3885 + }, + { + "epoch": 1.55, + "learning_rate": 6.91358024691358e-05, + "loss": 0.6775, + "step": 3890 + }, + { + "epoch": 1.55, + "learning_rate": 6.882716049382716e-05, + "loss": 0.7049, + "step": 3895 + }, + { + "epoch": 1.56, + "learning_rate": 6.851851851851851e-05, + "loss": 0.6968, + "step": 3900 + }, + { + "epoch": 1.56, + "learning_rate": 6.820987654320987e-05, + "loss": 0.6803, + "step": 3905 + }, + { + "epoch": 1.56, + "learning_rate": 6.790123456790122e-05, + "loss": 0.6922, + "step": 3910 + }, + { + "epoch": 1.56, + "learning_rate": 6.759259259259259e-05, + "loss": 0.6649, + "step": 3915 + }, + { + "epoch": 1.56, + "learning_rate": 6.728395061728395e-05, + "loss": 0.6609, + "step": 3920 + }, + { + "epoch": 1.57, + "learning_rate": 6.69753086419753e-05, + "loss": 0.6714, + "step": 3925 + }, + { + "epoch": 1.57, + "learning_rate": 6.666666666666666e-05, + "loss": 0.6617, + "step": 3930 + }, + { + "epoch": 1.57, + "learning_rate": 6.635802469135801e-05, + "loss": 0.6632, + "step": 3935 + }, + { + "epoch": 1.57, + "learning_rate": 6.604938271604938e-05, + "loss": 0.6523, + "step": 3940 + }, + { + "epoch": 1.57, + "learning_rate": 6.574074074074074e-05, + "loss": 0.6716, + "step": 3945 + }, + { + "epoch": 1.58, + "learning_rate": 6.543209876543209e-05, + "loss": 0.653, + "step": 3950 + }, + { + "epoch": 1.58, + "learning_rate": 6.512345679012346e-05, + "loss": 0.6749, + "step": 3955 + }, + { + "epoch": 1.58, + "learning_rate": 6.48148148148148e-05, + "loss": 0.6773, + "step": 3960 + }, + { + "epoch": 1.58, + "learning_rate": 6.450617283950617e-05, + "loss": 0.6579, + "step": 3965 + }, + { + "epoch": 1.58, + "learning_rate": 6.419753086419753e-05, + "loss": 0.6664, + "step": 3970 + }, + { + "epoch": 1.59, + "learning_rate": 6.388888888888888e-05, + "loss": 0.6575, + "step": 3975 + }, + { + "epoch": 1.59, + "learning_rate": 6.358024691358024e-05, + "loss": 0.6511, + "step": 3980 + }, + { + "epoch": 1.59, + "learning_rate": 6.32716049382716e-05, + "loss": 0.6585, + "step": 3985 + }, + { + "epoch": 1.59, + "learning_rate": 6.296296296296295e-05, + "loss": 0.6683, + "step": 3990 + }, + { + "epoch": 1.59, + "learning_rate": 6.265432098765432e-05, + "loss": 0.6784, + "step": 3995 + }, + { + "epoch": 1.6, + "learning_rate": 6.234567901234567e-05, + "loss": 0.6897, + "step": 4000 + }, + { + "epoch": 1.6, + "learning_rate": 6.203703703703703e-05, + "loss": 0.6427, + "step": 4005 + }, + { + "epoch": 1.6, + "learning_rate": 6.17283950617284e-05, + "loss": 0.647, + "step": 4010 + }, + { + "epoch": 1.6, + "learning_rate": 6.141975308641975e-05, + "loss": 0.6546, + "step": 4015 + }, + { + "epoch": 1.6, + "learning_rate": 6.111111111111111e-05, + "loss": 0.6822, + "step": 4020 + }, + { + "epoch": 1.61, + "learning_rate": 6.080246913580246e-05, + "loss": 0.6566, + "step": 4025 + }, + { + "epoch": 1.61, + "learning_rate": 6.049382716049382e-05, + "loss": 0.6362, + "step": 4030 + }, + { + "epoch": 1.61, + "learning_rate": 6.018518518518518e-05, + "loss": 0.6618, + "step": 4035 + }, + { + "epoch": 1.61, + "learning_rate": 5.987654320987654e-05, + "loss": 0.629, + "step": 4040 + }, + { + "epoch": 1.61, + "learning_rate": 5.95679012345679e-05, + "loss": 0.6709, + "step": 4045 + }, + { + "epoch": 1.62, + "learning_rate": 5.925925925925925e-05, + "loss": 0.6624, + "step": 4050 + }, + { + "epoch": 1.62, + "learning_rate": 5.895061728395061e-05, + "loss": 0.6645, + "step": 4055 + }, + { + "epoch": 1.62, + "learning_rate": 5.864197530864197e-05, + "loss": 0.6657, + "step": 4060 + }, + { + "epoch": 1.62, + "learning_rate": 5.8333333333333326e-05, + "loss": 0.7042, + "step": 4065 + }, + { + "epoch": 1.62, + "learning_rate": 5.802469135802469e-05, + "loss": 0.667, + "step": 4070 + }, + { + "epoch": 1.63, + "learning_rate": 5.771604938271605e-05, + "loss": 0.6652, + "step": 4075 + }, + { + "epoch": 1.63, + "learning_rate": 5.74074074074074e-05, + "loss": 0.673, + "step": 4080 + }, + { + "epoch": 1.63, + "learning_rate": 5.709876543209876e-05, + "loss": 0.6595, + "step": 4085 + }, + { + "epoch": 1.63, + "learning_rate": 5.6790123456790116e-05, + "loss": 0.7024, + "step": 4090 + }, + { + "epoch": 1.63, + "learning_rate": 5.648148148148148e-05, + "loss": 0.6543, + "step": 4095 + }, + { + "epoch": 1.64, + "learning_rate": 5.6172839506172834e-05, + "loss": 0.685, + "step": 4100 + }, + { + "epoch": 1.64, + "learning_rate": 5.5864197530864196e-05, + "loss": 0.6889, + "step": 4105 + }, + { + "epoch": 1.64, + "learning_rate": 5.5555555555555545e-05, + "loss": 0.6465, + "step": 4110 + }, + { + "epoch": 1.64, + "learning_rate": 5.524691358024691e-05, + "loss": 0.6371, + "step": 4115 + }, + { + "epoch": 1.64, + "learning_rate": 5.493827160493827e-05, + "loss": 0.6469, + "step": 4120 + }, + { + "epoch": 1.65, + "learning_rate": 5.4629629629629624e-05, + "loss": 0.6543, + "step": 4125 + }, + { + "epoch": 1.65, + "learning_rate": 5.4320987654320986e-05, + "loss": 0.6687, + "step": 4130 + }, + { + "epoch": 1.65, + "learning_rate": 5.401234567901234e-05, + "loss": 0.6545, + "step": 4135 + }, + { + "epoch": 1.65, + "learning_rate": 5.37037037037037e-05, + "loss": 0.6846, + "step": 4140 + }, + { + "epoch": 1.65, + "learning_rate": 5.339506172839505e-05, + "loss": 0.6568, + "step": 4145 + }, + { + "epoch": 1.66, + "learning_rate": 5.3086419753086415e-05, + "loss": 0.6664, + "step": 4150 + }, + { + "epoch": 1.66, + "learning_rate": 5.277777777777778e-05, + "loss": 0.6805, + "step": 4155 + }, + { + "epoch": 1.66, + "learning_rate": 5.246913580246913e-05, + "loss": 0.6878, + "step": 4160 + }, + { + "epoch": 1.66, + "learning_rate": 5.2160493827160494e-05, + "loss": 0.6966, + "step": 4165 + }, + { + "epoch": 1.66, + "learning_rate": 5.185185185185184e-05, + "loss": 0.676, + "step": 4170 + }, + { + "epoch": 1.67, + "learning_rate": 5.1543209876543205e-05, + "loss": 0.687, + "step": 4175 + }, + { + "epoch": 1.67, + "learning_rate": 5.123456790123456e-05, + "loss": 0.6493, + "step": 4180 + }, + { + "epoch": 1.67, + "learning_rate": 5.092592592592592e-05, + "loss": 0.6797, + "step": 4185 + }, + { + "epoch": 1.67, + "learning_rate": 5.0617283950617285e-05, + "loss": 0.6566, + "step": 4190 + }, + { + "epoch": 1.67, + "learning_rate": 5.030864197530864e-05, + "loss": 0.6689, + "step": 4195 + }, + { + "epoch": 1.68, + "learning_rate": 4.9999999999999996e-05, + "loss": 0.6708, + "step": 4200 + }, + { + "epoch": 1.68, + "learning_rate": 4.969135802469135e-05, + "loss": 0.6674, + "step": 4205 + }, + { + "epoch": 1.68, + "learning_rate": 4.938271604938271e-05, + "loss": 0.6539, + "step": 4210 + }, + { + "epoch": 1.68, + "learning_rate": 4.907407407407407e-05, + "loss": 0.6977, + "step": 4215 + }, + { + "epoch": 1.68, + "learning_rate": 4.876543209876543e-05, + "loss": 0.6851, + "step": 4220 + }, + { + "epoch": 1.69, + "learning_rate": 4.845679012345678e-05, + "loss": 0.6699, + "step": 4225 + }, + { + "epoch": 1.69, + "learning_rate": 4.814814814814814e-05, + "loss": 0.6734, + "step": 4230 + }, + { + "epoch": 1.69, + "learning_rate": 4.7839506172839504e-05, + "loss": 0.657, + "step": 4235 + }, + { + "epoch": 1.69, + "learning_rate": 4.753086419753086e-05, + "loss": 0.6844, + "step": 4240 + }, + { + "epoch": 1.69, + "learning_rate": 4.722222222222222e-05, + "loss": 0.673, + "step": 4245 + }, + { + "epoch": 1.7, + "learning_rate": 4.6913580246913576e-05, + "loss": 0.6532, + "step": 4250 + }, + { + "epoch": 1.7, + "learning_rate": 4.660493827160493e-05, + "loss": 0.6683, + "step": 4255 + }, + { + "epoch": 1.7, + "learning_rate": 4.629629629629629e-05, + "loss": 0.6802, + "step": 4260 + }, + { + "epoch": 1.7, + "learning_rate": 4.598765432098765e-05, + "loss": 0.6754, + "step": 4265 + }, + { + "epoch": 1.7, + "learning_rate": 4.567901234567901e-05, + "loss": 0.6608, + "step": 4270 + }, + { + "epoch": 1.71, + "learning_rate": 4.537037037037037e-05, + "loss": 0.6785, + "step": 4275 + }, + { + "epoch": 1.71, + "learning_rate": 4.506172839506173e-05, + "loss": 0.6445, + "step": 4280 + }, + { + "epoch": 1.71, + "learning_rate": 4.475308641975308e-05, + "loss": 0.6269, + "step": 4285 + }, + { + "epoch": 1.71, + "learning_rate": 4.444444444444444e-05, + "loss": 0.6489, + "step": 4290 + }, + { + "epoch": 1.71, + "learning_rate": 4.4135802469135795e-05, + "loss": 0.6587, + "step": 4295 + }, + { + "epoch": 1.72, + "learning_rate": 4.382716049382716e-05, + "loss": 0.6611, + "step": 4300 + }, + { + "epoch": 1.72, + "learning_rate": 4.351851851851852e-05, + "loss": 0.6787, + "step": 4305 + }, + { + "epoch": 1.72, + "learning_rate": 4.3209876543209875e-05, + "loss": 0.6686, + "step": 4310 + }, + { + "epoch": 1.72, + "learning_rate": 4.290123456790123e-05, + "loss": 0.6528, + "step": 4315 + }, + { + "epoch": 1.72, + "learning_rate": 4.2592592592592586e-05, + "loss": 0.6497, + "step": 4320 + }, + { + "epoch": 1.73, + "learning_rate": 4.228395061728395e-05, + "loss": 0.672, + "step": 4325 + }, + { + "epoch": 1.73, + "learning_rate": 4.19753086419753e-05, + "loss": 0.6576, + "step": 4330 + }, + { + "epoch": 1.73, + "learning_rate": 4.1666666666666665e-05, + "loss": 0.647, + "step": 4335 + }, + { + "epoch": 1.73, + "learning_rate": 4.135802469135803e-05, + "loss": 0.6235, + "step": 4340 + }, + { + "epoch": 1.73, + "learning_rate": 4.1049382716049376e-05, + "loss": 0.6658, + "step": 4345 + }, + { + "epoch": 1.74, + "learning_rate": 4.074074074074074e-05, + "loss": 0.6577, + "step": 4350 + }, + { + "epoch": 1.74, + "learning_rate": 4.0432098765432094e-05, + "loss": 0.6615, + "step": 4355 + }, + { + "epoch": 1.74, + "learning_rate": 4.0123456790123456e-05, + "loss": 0.6495, + "step": 4360 + }, + { + "epoch": 1.74, + "learning_rate": 3.981481481481481e-05, + "loss": 0.6498, + "step": 4365 + }, + { + "epoch": 1.74, + "learning_rate": 3.950617283950617e-05, + "loss": 0.7183, + "step": 4370 + }, + { + "epoch": 1.75, + "learning_rate": 3.919753086419752e-05, + "loss": 0.6491, + "step": 4375 + }, + { + "epoch": 1.75, + "learning_rate": 3.8888888888888884e-05, + "loss": 0.6649, + "step": 4380 + }, + { + "epoch": 1.75, + "learning_rate": 3.8580246913580246e-05, + "loss": 0.655, + "step": 4385 + }, + { + "epoch": 1.75, + "learning_rate": 3.82716049382716e-05, + "loss": 0.6581, + "step": 4390 + }, + { + "epoch": 1.75, + "learning_rate": 3.7962962962962964e-05, + "loss": 0.6583, + "step": 4395 + }, + { + "epoch": 1.76, + "learning_rate": 3.765432098765432e-05, + "loss": 0.6727, + "step": 4400 + }, + { + "epoch": 1.76, + "learning_rate": 3.7345679012345674e-05, + "loss": 0.6809, + "step": 4405 + }, + { + "epoch": 1.76, + "learning_rate": 3.703703703703703e-05, + "loss": 0.6839, + "step": 4410 + }, + { + "epoch": 1.76, + "learning_rate": 3.672839506172839e-05, + "loss": 0.6822, + "step": 4415 + }, + { + "epoch": 1.76, + "learning_rate": 3.641975308641975e-05, + "loss": 0.67, + "step": 4420 + }, + { + "epoch": 1.77, + "learning_rate": 3.61111111111111e-05, + "loss": 0.668, + "step": 4425 + }, + { + "epoch": 1.77, + "learning_rate": 3.5802469135802465e-05, + "loss": 0.6816, + "step": 4430 + }, + { + "epoch": 1.77, + "learning_rate": 3.549382716049383e-05, + "loss": 0.6488, + "step": 4435 + }, + { + "epoch": 1.77, + "learning_rate": 3.518518518518518e-05, + "loss": 0.6405, + "step": 4440 + }, + { + "epoch": 1.77, + "learning_rate": 3.487654320987654e-05, + "loss": 0.649, + "step": 4445 + }, + { + "epoch": 1.78, + "learning_rate": 3.45679012345679e-05, + "loss": 0.6887, + "step": 4450 + }, + { + "epoch": 1.78, + "learning_rate": 3.4259259259259255e-05, + "loss": 0.6794, + "step": 4455 + }, + { + "epoch": 1.78, + "learning_rate": 3.395061728395061e-05, + "loss": 0.6432, + "step": 4460 + }, + { + "epoch": 1.78, + "learning_rate": 3.364197530864197e-05, + "loss": 0.6638, + "step": 4465 + }, + { + "epoch": 1.78, + "learning_rate": 3.333333333333333e-05, + "loss": 0.6881, + "step": 4470 + }, + { + "epoch": 1.79, + "learning_rate": 3.302469135802469e-05, + "loss": 0.6861, + "step": 4475 + }, + { + "epoch": 1.79, + "learning_rate": 3.2716049382716046e-05, + "loss": 0.6589, + "step": 4480 + }, + { + "epoch": 1.79, + "learning_rate": 3.24074074074074e-05, + "loss": 0.6797, + "step": 4485 + }, + { + "epoch": 1.79, + "learning_rate": 3.209876543209876e-05, + "loss": 0.6614, + "step": 4490 + }, + { + "epoch": 1.79, + "learning_rate": 3.179012345679012e-05, + "loss": 0.6723, + "step": 4495 + }, + { + "epoch": 1.8, + "learning_rate": 3.1481481481481474e-05, + "loss": 0.679, + "step": 4500 + }, + { + "epoch": 1.8, + "learning_rate": 3.1172839506172836e-05, + "loss": 0.6585, + "step": 4505 + }, + { + "epoch": 1.8, + "learning_rate": 3.08641975308642e-05, + "loss": 0.6874, + "step": 4510 + }, + { + "epoch": 1.8, + "learning_rate": 3.0555555555555554e-05, + "loss": 0.674, + "step": 4515 + }, + { + "epoch": 1.8, + "learning_rate": 3.024691358024691e-05, + "loss": 0.6187, + "step": 4520 + }, + { + "epoch": 1.81, + "learning_rate": 2.993827160493827e-05, + "loss": 0.6804, + "step": 4525 + }, + { + "epoch": 1.81, + "learning_rate": 2.9629629629629627e-05, + "loss": 0.6733, + "step": 4530 + }, + { + "epoch": 1.81, + "learning_rate": 2.9320987654320985e-05, + "loss": 0.6666, + "step": 4535 + }, + { + "epoch": 1.81, + "learning_rate": 2.9012345679012344e-05, + "loss": 0.6661, + "step": 4540 + }, + { + "epoch": 1.81, + "learning_rate": 2.87037037037037e-05, + "loss": 0.6803, + "step": 4545 + }, + { + "epoch": 1.82, + "learning_rate": 2.8395061728395058e-05, + "loss": 0.6668, + "step": 4550 + }, + { + "epoch": 1.82, + "learning_rate": 2.8086419753086417e-05, + "loss": 0.6591, + "step": 4555 + }, + { + "epoch": 1.82, + "learning_rate": 2.7777777777777772e-05, + "loss": 0.7108, + "step": 4560 + }, + { + "epoch": 1.82, + "learning_rate": 2.7469135802469134e-05, + "loss": 0.6364, + "step": 4565 + }, + { + "epoch": 1.82, + "learning_rate": 2.7160493827160493e-05, + "loss": 0.6404, + "step": 4570 + }, + { + "epoch": 1.83, + "learning_rate": 2.685185185185185e-05, + "loss": 0.6858, + "step": 4575 + }, + { + "epoch": 1.83, + "learning_rate": 2.6543209876543207e-05, + "loss": 0.663, + "step": 4580 + }, + { + "epoch": 1.83, + "learning_rate": 2.6234567901234566e-05, + "loss": 0.6493, + "step": 4585 + }, + { + "epoch": 1.83, + "learning_rate": 2.592592592592592e-05, + "loss": 0.6841, + "step": 4590 + }, + { + "epoch": 1.83, + "learning_rate": 2.561728395061728e-05, + "loss": 0.6755, + "step": 4595 + }, + { + "epoch": 1.84, + "learning_rate": 2.5308641975308642e-05, + "loss": 0.7012, + "step": 4600 + }, + { + "epoch": 1.84, + "learning_rate": 2.4999999999999998e-05, + "loss": 0.6686, + "step": 4605 + }, + { + "epoch": 1.84, + "learning_rate": 2.4691358024691357e-05, + "loss": 0.6524, + "step": 4610 + }, + { + "epoch": 1.84, + "learning_rate": 2.4382716049382715e-05, + "loss": 0.6385, + "step": 4615 + }, + { + "epoch": 1.84, + "learning_rate": 2.407407407407407e-05, + "loss": 0.6672, + "step": 4620 + }, + { + "epoch": 1.85, + "learning_rate": 2.376543209876543e-05, + "loss": 0.6774, + "step": 4625 + }, + { + "epoch": 1.85, + "learning_rate": 2.3456790123456788e-05, + "loss": 0.6492, + "step": 4630 + }, + { + "epoch": 1.85, + "learning_rate": 2.3148148148148144e-05, + "loss": 0.6544, + "step": 4635 + }, + { + "epoch": 1.85, + "learning_rate": 2.2839506172839506e-05, + "loss": 0.6602, + "step": 4640 + }, + { + "epoch": 1.85, + "learning_rate": 2.2530864197530865e-05, + "loss": 0.6658, + "step": 4645 + }, + { + "epoch": 1.86, + "learning_rate": 2.222222222222222e-05, + "loss": 0.6823, + "step": 4650 + }, + { + "epoch": 1.86, + "learning_rate": 2.191358024691358e-05, + "loss": 0.6828, + "step": 4655 + }, + { + "epoch": 1.86, + "learning_rate": 2.1604938271604937e-05, + "loss": 0.6546, + "step": 4660 + }, + { + "epoch": 1.86, + "learning_rate": 2.1296296296296293e-05, + "loss": 0.6744, + "step": 4665 + }, + { + "epoch": 1.86, + "learning_rate": 2.098765432098765e-05, + "loss": 0.672, + "step": 4670 + }, + { + "epoch": 1.87, + "learning_rate": 2.0679012345679014e-05, + "loss": 0.6437, + "step": 4675 + }, + { + "epoch": 1.87, + "learning_rate": 2.037037037037037e-05, + "loss": 0.6734, + "step": 4680 + }, + { + "epoch": 1.87, + "learning_rate": 2.0061728395061728e-05, + "loss": 0.68, + "step": 4685 + }, + { + "epoch": 1.87, + "learning_rate": 1.9753086419753087e-05, + "loss": 0.6541, + "step": 4690 + }, + { + "epoch": 1.87, + "learning_rate": 1.9444444444444442e-05, + "loss": 0.6871, + "step": 4695 + }, + { + "epoch": 1.88, + "learning_rate": 1.91358024691358e-05, + "loss": 0.6839, + "step": 4700 + }, + { + "epoch": 1.88, + "learning_rate": 1.882716049382716e-05, + "loss": 0.6962, + "step": 4705 + }, + { + "epoch": 1.88, + "learning_rate": 1.8518518518518515e-05, + "loss": 0.6615, + "step": 4710 + }, + { + "epoch": 1.88, + "learning_rate": 1.8209876543209874e-05, + "loss": 0.6485, + "step": 4715 + }, + { + "epoch": 1.88, + "learning_rate": 1.7901234567901232e-05, + "loss": 0.6774, + "step": 4720 + }, + { + "epoch": 1.89, + "learning_rate": 1.759259259259259e-05, + "loss": 0.6743, + "step": 4725 + }, + { + "epoch": 1.89, + "learning_rate": 1.728395061728395e-05, + "loss": 0.6931, + "step": 4730 + }, + { + "epoch": 1.89, + "learning_rate": 1.6975308641975305e-05, + "loss": 0.659, + "step": 4735 + }, + { + "epoch": 1.89, + "learning_rate": 1.6666666666666664e-05, + "loss": 0.6595, + "step": 4740 + }, + { + "epoch": 1.89, + "learning_rate": 1.6358024691358023e-05, + "loss": 0.7056, + "step": 4745 + }, + { + "epoch": 1.9, + "learning_rate": 1.604938271604938e-05, + "loss": 0.6996, + "step": 4750 + }, + { + "epoch": 1.9, + "learning_rate": 1.5740740740740737e-05, + "loss": 0.6647, + "step": 4755 + }, + { + "epoch": 1.9, + "learning_rate": 1.54320987654321e-05, + "loss": 0.681, + "step": 4760 + }, + { + "epoch": 1.9, + "learning_rate": 1.5123456790123455e-05, + "loss": 0.6762, + "step": 4765 + }, + { + "epoch": 1.9, + "learning_rate": 1.4814814814814813e-05, + "loss": 0.6807, + "step": 4770 + }, + { + "epoch": 1.91, + "learning_rate": 1.4506172839506172e-05, + "loss": 0.6512, + "step": 4775 + }, + { + "epoch": 1.91, + "learning_rate": 1.4197530864197529e-05, + "loss": 0.6572, + "step": 4780 + }, + { + "epoch": 1.91, + "learning_rate": 1.3888888888888886e-05, + "loss": 0.6519, + "step": 4785 + }, + { + "epoch": 1.91, + "learning_rate": 1.3580246913580247e-05, + "loss": 0.6482, + "step": 4790 + }, + { + "epoch": 1.91, + "learning_rate": 1.3271604938271604e-05, + "loss": 0.6809, + "step": 4795 + }, + { + "epoch": 1.92, + "learning_rate": 1.296296296296296e-05, + "loss": 0.6549, + "step": 4800 + }, + { + "epoch": 1.92, + "learning_rate": 1.2654320987654321e-05, + "loss": 0.7042, + "step": 4805 + }, + { + "epoch": 1.92, + "learning_rate": 1.2345679012345678e-05, + "loss": 0.6579, + "step": 4810 + }, + { + "epoch": 1.92, + "learning_rate": 1.2037037037037035e-05, + "loss": 0.6779, + "step": 4815 + }, + { + "epoch": 1.92, + "learning_rate": 1.1728395061728394e-05, + "loss": 0.6791, + "step": 4820 + }, + { + "epoch": 1.93, + "learning_rate": 1.1419753086419753e-05, + "loss": 0.654, + "step": 4825 + }, + { + "epoch": 1.93, + "learning_rate": 1.111111111111111e-05, + "loss": 0.6803, + "step": 4830 + }, + { + "epoch": 1.93, + "learning_rate": 1.0802469135802469e-05, + "loss": 0.6586, + "step": 4835 + }, + { + "epoch": 1.93, + "learning_rate": 1.0493827160493826e-05, + "loss": 0.6825, + "step": 4840 + }, + { + "epoch": 1.93, + "learning_rate": 1.0185185185185185e-05, + "loss": 0.6727, + "step": 4845 + }, + { + "epoch": 1.94, + "learning_rate": 9.876543209876543e-06, + "loss": 0.6686, + "step": 4850 + }, + { + "epoch": 1.94, + "learning_rate": 9.5679012345679e-06, + "loss": 0.6463, + "step": 4855 + }, + { + "epoch": 1.94, + "learning_rate": 9.259259259259257e-06, + "loss": 0.6694, + "step": 4860 + }, + { + "epoch": 1.94, + "learning_rate": 8.950617283950616e-06, + "loss": 0.6548, + "step": 4865 + }, + { + "epoch": 1.94, + "learning_rate": 8.641975308641975e-06, + "loss": 0.6743, + "step": 4870 + }, + { + "epoch": 1.95, + "learning_rate": 8.333333333333332e-06, + "loss": 0.661, + "step": 4875 + }, + { + "epoch": 1.95, + "learning_rate": 8.02469135802469e-06, + "loss": 0.6659, + "step": 4880 + }, + { + "epoch": 1.95, + "learning_rate": 7.71604938271605e-06, + "loss": 0.6738, + "step": 4885 + }, + { + "epoch": 1.95, + "learning_rate": 7.407407407407407e-06, + "loss": 0.6936, + "step": 4890 + }, + { + "epoch": 1.95, + "learning_rate": 7.0987654320987645e-06, + "loss": 0.6637, + "step": 4895 + }, + { + "epoch": 1.96, + "learning_rate": 6.790123456790123e-06, + "loss": 0.6961, + "step": 4900 + }, + { + "epoch": 1.96, + "learning_rate": 6.48148148148148e-06, + "loss": 0.6561, + "step": 4905 + }, + { + "epoch": 1.96, + "learning_rate": 6.172839506172839e-06, + "loss": 0.6678, + "step": 4910 + }, + { + "epoch": 1.96, + "learning_rate": 5.864197530864197e-06, + "loss": 0.6729, + "step": 4915 + }, + { + "epoch": 1.96, + "learning_rate": 5.555555555555555e-06, + "loss": 0.6621, + "step": 4920 + }, + { + "epoch": 1.97, + "learning_rate": 5.246913580246913e-06, + "loss": 0.6648, + "step": 4925 + }, + { + "epoch": 1.97, + "learning_rate": 4.938271604938272e-06, + "loss": 0.6762, + "step": 4930 + }, + { + "epoch": 1.97, + "learning_rate": 4.629629629629629e-06, + "loss": 0.6571, + "step": 4935 + }, + { + "epoch": 1.97, + "learning_rate": 4.3209876543209875e-06, + "loss": 0.6586, + "step": 4940 + }, + { + "epoch": 1.97, + "learning_rate": 4.012345679012345e-06, + "loss": 0.6896, + "step": 4945 + }, + { + "epoch": 1.98, + "learning_rate": 3.7037037037037033e-06, + "loss": 0.6884, + "step": 4950 + }, + { + "epoch": 1.98, + "learning_rate": 3.3950617283950617e-06, + "loss": 0.6281, + "step": 4955 + }, + { + "epoch": 1.98, + "learning_rate": 3.0864197530864196e-06, + "loss": 0.6409, + "step": 4960 + }, + { + "epoch": 1.98, + "learning_rate": 2.7777777777777775e-06, + "loss": 0.6614, + "step": 4965 + }, + { + "epoch": 1.98, + "learning_rate": 2.469135802469136e-06, + "loss": 0.6752, + "step": 4970 + }, + { + "epoch": 1.99, + "learning_rate": 2.1604938271604937e-06, + "loss": 0.6835, + "step": 4975 + }, + { + "epoch": 1.99, + "learning_rate": 1.8518518518518517e-06, + "loss": 0.6619, + "step": 4980 + }, + { + "epoch": 1.99, + "learning_rate": 1.5432098765432098e-06, + "loss": 0.6993, + "step": 4985 + }, + { + "epoch": 1.99, + "learning_rate": 1.234567901234568e-06, + "loss": 0.6772, + "step": 4990 + }, + { + "epoch": 1.99, + "learning_rate": 9.259259259259258e-07, + "loss": 0.6791, + "step": 4995 + }, + { + "epoch": 2.0, + "learning_rate": 6.17283950617284e-07, + "loss": 0.7065, + "step": 5000 + } + ], + "logging_steps": 5, + "max_steps": 5010, + "num_input_tokens_seen": 0, + "num_train_epochs": 2, + "save_steps": 500, + "total_flos": 2.0132950426699956e+19, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/training_args.bin b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..76b046c47941a0df0a1cf17415d227f3e8416d3b --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc4247ac8c6f92ef49080d32b2520dd809daff76a4805fdafb6e454ee1c5cc3 +size 5944 diff --git a/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/zero_to_fp32.py b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/zero_to_fp32.py new file mode 100644 index 0000000000000000000000000000000000000000..c98caae31534368be22b67fc4ae906836c992a8d --- /dev/null +++ b/save_lora_instruct_r8_3e4_s11_1/checkpoint-5000/zero_to_fp32.py @@ -0,0 +1,587 @@ +#!/usr/bin/env python + +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: Apache-2.0 + +# DeepSpeed Team + +# This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets +# copied into the top level checkpoint dir, so the user can easily do the conversion at any point in +# the future. Once extracted, the weights don't require DeepSpeed and can be used in any +# application. +# +# example: python zero_to_fp32.py . pytorch_model.bin + +import argparse +import torch +import glob +import math +import os +import re +from collections import OrderedDict +from dataclasses import dataclass + +# while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with +# DeepSpeed data structures it has to be available in the current python environment. +from deepspeed.utils import logger +from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS, + FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES, + FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS) + + +@dataclass +class zero_model_state: + buffers: dict() + param_shapes: dict() + shared_params: list + ds_version: int + frozen_param_shapes: dict() + frozen_param_fragments: dict() + + +debug = 0 + +# load to cpu +device = torch.device('cpu') + + +def atoi(text): + return int(text) if text.isdigit() else text + + +def natural_keys(text): + ''' + alist.sort(key=natural_keys) sorts in human order + http://nedbatchelder.com/blog/200712/human_sorting.html + (See Toothy's implementation in the comments) + ''' + return [atoi(c) for c in re.split(r'(\d+)', text)] + + +def get_model_state_file(checkpoint_dir, zero_stage): + if not os.path.isdir(checkpoint_dir): + raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist") + + # there should be only one file + if zero_stage <= 2: + file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt") + elif zero_stage == 3: + file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt") + + if not os.path.exists(file): + raise FileNotFoundError(f"can't find model states file at '{file}'") + + return file + + +def get_checkpoint_files(checkpoint_dir, glob_pattern): + # XXX: need to test that this simple glob rule works for multi-node setup too + ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys) + + if len(ckpt_files) == 0: + raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'") + + return ckpt_files + + +def get_optim_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt") + + +def get_model_state_files(checkpoint_dir): + return get_checkpoint_files(checkpoint_dir, "*_model_states.pt") + + +def parse_model_states(files): + zero_model_states = [] + for file in files: + state_dict = torch.load(file, map_location=device) + + if BUFFER_NAMES not in state_dict: + raise ValueError(f"{file} is not a model state checkpoint") + buffer_names = state_dict[BUFFER_NAMES] + if debug: + print("Found buffers:", buffer_names) + + # recover just the buffers while restoring them to fp32 if they were saved in fp16 + buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names} + param_shapes = state_dict[PARAM_SHAPES] + + # collect parameters that are included in param_shapes + param_names = [] + for s in param_shapes: + for name in s.keys(): + param_names.append(name) + + # update with frozen parameters + frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None) + if frozen_param_shapes is not None: + if debug: + print(f"Found frozen_param_shapes: {frozen_param_shapes}") + param_names += list(frozen_param_shapes.keys()) + + # handle shared params + shared_params = [[k, v] for k, v in state_dict["shared_params"].items()] + + ds_version = state_dict.get(DS_VERSION, None) + + frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None) + + z_model_state = zero_model_state(buffers=buffers, + param_shapes=param_shapes, + shared_params=shared_params, + ds_version=ds_version, + frozen_param_shapes=frozen_param_shapes, + frozen_param_fragments=frozen_param_fragments) + zero_model_states.append(z_model_state) + + return zero_model_states + + +def parse_optim_states(files, ds_checkpoint_dir): + + total_files = len(files) + state_dicts = [] + for f in files: + state_dict = torch.load(f, map_location=device) + # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights + # and also handle the case where it was already removed by another helper script + state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None) + state_dicts.append(state_dict) + + if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]: + raise ValueError(f"{files[0]} is not a zero checkpoint") + zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE] + world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT] + + # For ZeRO-2 each param group can have different partition_count as data parallelism for expert + # parameters can be different from data parallelism for non-expert parameters. So we can just + # use the max of the partition_count to get the dp world_size. + + if type(world_size) is list: + world_size = max(world_size) + + if world_size != total_files: + raise ValueError( + f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. " + "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes." + ) + + # the groups are named differently in each stage + if zero_stage <= 2: + fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS + elif zero_stage == 3: + fp32_groups_key = FP32_FLAT_GROUPS + else: + raise ValueError(f"unknown zero stage {zero_stage}") + + if zero_stage <= 2: + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))] + elif zero_stage == 3: + # if there is more than one param group, there will be multiple flattened tensors - one + # flattened tensor per group - for simplicity merge them into a single tensor + # + # XXX: could make the script more memory efficient for when there are multiple groups - it + # will require matching the sub-lists of param_shapes for each param group flattened tensor + + fp32_flat_groups = [ + torch.cat(state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key], 0) for i in range(len(state_dicts)) + ] + + return zero_stage, world_size, fp32_flat_groups + + +def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir): + """ + Returns fp32 state_dict reconstructed from ds checkpoint + + Args: + - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are) + + """ + print(f"Processing zero checkpoint '{ds_checkpoint_dir}'") + + optim_files = get_optim_files(ds_checkpoint_dir) + zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir) + print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}") + + model_files = get_model_state_files(ds_checkpoint_dir) + + zero_model_states = parse_model_states(model_files) + print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}') + + if zero_stage <= 2: + return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states) + + +def _zero2_merge_frozen_params(state_dict, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + frozen_param_fragments = zero_model_states[0].frozen_param_fragments + + if debug: + num_elem = sum(s.numel() for s in frozen_param_shapes.values()) + print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in frozen_param_fragments.values()]) + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + state_dict[name] = frozen_param_fragments[name] + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + + # Reconstruction protocol: + # + # XXX: document this + + if debug: + for i in range(world_size): + for j in range(len(fp32_flat_groups[0])): + print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}") + + # XXX: memory usage doubles here (zero2) + num_param_groups = len(fp32_flat_groups[0]) + merged_single_partition_of_fp32_groups = [] + for i in range(num_param_groups): + merged_partitions = [sd[i] for sd in fp32_flat_groups] + full_single_fp32_vector = torch.cat(merged_partitions, 0) + merged_single_partition_of_fp32_groups.append(full_single_fp32_vector) + avail_numel = sum( + [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups]) + + if debug: + wanted_params = sum([len(shapes) for shapes in param_shapes]) + wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes]) + # not asserting if there is a mismatch due to possible padding + print(f"Have {avail_numel} numels to process.") + print(f"Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + total_numel = 0 + total_params = 0 + for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups): + offset = 0 + avail_numel = full_single_fp32_vector.numel() + for name, shape in shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + if debug: + print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ") + state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape) + offset += unpartitioned_numel + + # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and + # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex + # paddings performed in the code it's almost impossible to predict the exact numbers w/o the + # live optimizer object, so we are checking that the numbers are within the right range + align_to = 2 * world_size + + def zero2_align(x): + return align_to * math.ceil(x / align_to) + + if debug: + print(f"original offset={offset}, avail_numel={avail_numel}") + + offset = zero2_align(offset) + avail_numel = zero2_align(avail_numel) + + if debug: + print(f"aligned offset={offset}, avail_numel={avail_numel}") + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero2_merge_frozen_params(state_dict, zero_model_states) + + _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def zero3_partitioned_param_info(unpartitioned_numel, world_size): + remainder = unpartitioned_numel % world_size + padding_numel = (world_size - remainder) if remainder else 0 + partitioned_numel = math.ceil(unpartitioned_numel / world_size) + return partitioned_numel, padding_numel + + +def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states): + if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0: + return + + if debug: + for i in range(world_size): + num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values()) + print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}') + + frozen_param_shapes = zero_model_states[0].frozen_param_shapes + wanted_params = len(frozen_param_shapes) + wanted_numel = sum(s.numel() for s in frozen_param_shapes.values()) + avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size + print(f'Frozen params: Have {avail_numel} numels to process.') + print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params') + + total_params = 0 + total_numel = 0 + for name, shape in zero_model_states[0].frozen_param_shapes.items(): + total_params += 1 + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + + param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states) + state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape) + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements") + + +def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states): + param_shapes = zero_model_states[0].param_shapes + avail_numel = fp32_flat_groups[0].numel() * world_size + # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each + # param, re-consolidating each param, while dealing with padding if any + + # merge list of dicts, preserving order + param_shapes = {k: v for d in param_shapes for k, v in d.items()} + + if debug: + for i in range(world_size): + print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}") + + wanted_params = len(param_shapes) + wanted_numel = sum(shape.numel() for shape in param_shapes.values()) + # not asserting if there is a mismatch due to possible padding + avail_numel = fp32_flat_groups[0].numel() * world_size + print(f"Trainable params: Have {avail_numel} numels to process.") + print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.") + + # params + # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support + # out-of-core computing solution + offset = 0 + total_numel = 0 + total_params = 0 + for name, shape in param_shapes.items(): + + unpartitioned_numel = shape.numel() + total_numel += unpartitioned_numel + total_params += 1 + + partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size) + + if debug: + print( + f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}" + ) + + # XXX: memory usage doubles here + state_dict[name] = torch.cat( + tuple(fp32_flat_groups[i].narrow(0, offset, partitioned_numel) for i in range(world_size)), + 0).narrow(0, 0, unpartitioned_numel).view(shape) + offset += partitioned_numel + + offset *= world_size + + # Sanity check + if offset != avail_numel: + raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong") + + print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements") + + +def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + _zero3_merge_frozen_params(state_dict, world_size, zero_model_states) + + _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states) + + # recover shared parameters + for pair in zero_model_states[0].shared_params: + if pair[1] in state_dict: + state_dict[pair[0]] = state_dict[pair[1]] + + return state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with + ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example + via a model hub. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder + - ``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`` + + Returns: + - pytorch ``state_dict`` + + Note: this approach may not work if your application doesn't have sufficient free CPU memory and + you may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + # do the training and checkpoint saving + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu + model = model.cpu() # move to cpu + model.load_state_dict(state_dict) + # submit to model hub or save the model to share with others + + In this example the ``model`` will no longer be usable in the deepspeed context of the same + application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead. + + """ + if tag is None: + latest_path = os.path.join(checkpoint_dir, 'latest') + if os.path.isfile(latest_path): + with open(latest_path, 'r') as fd: + tag = fd.read().strip() + else: + raise ValueError(f"Unable to find 'latest' file at {latest_path}") + + ds_checkpoint_dir = os.path.join(checkpoint_dir, tag) + + if not os.path.isdir(ds_checkpoint_dir): + raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist") + + return _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, output_file, tag=None): + """ + Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be + loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed. + + Args: + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``output_file``: path to the pytorch fp32 state_dict output file (e.g. path/pytorch_model.bin) + - ``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`` + """ + + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + print(f"Saving fp32 state dict to {output_file}") + torch.save(state_dict, output_file) + + +def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None): + """ + 1. Put the provided model to cpu + 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` + 3. Load it into the provided model + + Args: + - ``model``: the model object to update + - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``) + - ``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`` + + Returns: + - ``model`: modified model + + Make sure you have plenty of CPU memory available before you call this function. If you don't + have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it + conveniently placed for you in the checkpoint folder. + + A typical usage might be :: + + from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint + model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir) + # submit to model hub or save the model to share with others + + Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context + of the same application. i.e. you will need to re-initialize the deepspeed engine, since + ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it. + + """ + logger.info(f"Extracting fp32 weights") + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag) + + logger.info(f"Overwriting model with fp32 weights") + model = model.cpu() + model.load_state_dict(state_dict, strict=False) + + return model + + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + parser.add_argument("checkpoint_dir", + type=str, + help="path to the desired checkpoint folder, e.g., path/checkpoint-12") + parser.add_argument( + "output_file", + type=str, + help="path to the pytorch fp32 state_dict output file (e.g. path/checkpoint-12/pytorch_model.bin)") + parser.add_argument("-t", + "--tag", + type=str, + default=None, + help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1") + parser.add_argument("-d", "--debug", action='store_true', help="enable debug") + args = parser.parse_args() + + debug = args.debug + + convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir, args.output_file, tag=args.tag)