diff --git a/.gitattributes b/.gitattributes
index a6344aac8c09253b3b630fb776ae94478aa0275b..3b2de3a2b5b5521be8e5f82c8f79c621b78a6ede 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
+merged/tokenizer.json filter=lfs diff=lfs merge=lfs -text
+tokenizer.json filter=lfs diff=lfs merge=lfs -text
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..db87425a55564275e896a97157b7289fa63eb1d3
--- /dev/null
+++ b/README.md
@@ -0,0 +1,155 @@
+---
+license: other
+library_name: peft
+tags:
+- generated_from_trainer
+base_model: google/gemma-7b-it
+model-index:
+- name: out
+ results: []
+---
+
+
+
+[
](https://github.com/OpenAccess-AI-Collective/axolotl)
+See axolotl config
+
+axolotl version: `0.4.0`
+```yaml
+# use google/gemma-7b if you have access
+base_model: google/gemma-7b-it
+model_type: AutoModelForCausalLM
+tokenizer_type: AutoTokenizer
+
+load_in_8bit: false
+load_in_4bit: true
+strict: false
+
+# huggingface repo
+datasets:
+ - path: ./python-oasst/chunk_1.jsonl
+ type: oasst
+val_set_size: 0.1
+output_dir: ./out
+
+adapter: qlora
+lora_r: 32
+lora_alpha: 16
+lora_dropout: 0.05
+lora_target_linear: true
+
+sequence_len: 4096
+sample_packing: false
+pad_to_sequence_len: true
+
+wandb_project: gemma-7b-it
+wandb_entity:
+wandb_watch:
+wandb_name:
+wandb_log_model:
+
+
+gradient_accumulation_steps: 6
+micro_batch_size: 4
+num_epochs: 4
+optimizer: adamw_bnb_8bit
+lr_scheduler: cosine
+learning_rate: 0.0002
+
+train_on_inputs: true
+group_by_length: false
+bf16: auto
+fp16:
+tf32: false
+
+gradient_checkpointing: true
+early_stopping_patience:
+resume_from_checkpoint:
+local_rank:
+logging_steps: 1
+xformers_attention:
+flash_attention: true
+
+warmup_ratio: 0.1
+evals_per_epoch: 4
+eval_table_size:
+eval_max_new_tokens: 128
+saves_per_epoch: 1
+debug:
+deepspeed: deepspeed_configs/zero1.json
+weight_decay: 0.0
+fsdp:
+fsdp_config:
+special_tokens:
+
+```
+
+
+
+# out
+
+This model is a fine-tuned version of [google/gemma-7b-it](https://huggingface.co/google/gemma-7b-it) on the None dataset.
+It achieves the following results on the evaluation set:
+- Loss: 1.1911
+
+## Model description
+
+More information needed
+
+## Intended uses & limitations
+
+More information needed
+
+## Training and evaluation data
+
+More information needed
+
+## Training procedure
+
+### Training hyperparameters
+
+The following hyperparameters were used during training:
+- learning_rate: 0.0002
+- train_batch_size: 4
+- eval_batch_size: 4
+- seed: 42
+- distributed_type: multi-GPU
+- num_devices: 4
+- gradient_accumulation_steps: 6
+- total_train_batch_size: 96
+- total_eval_batch_size: 16
+- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
+- lr_scheduler_type: cosine
+- lr_scheduler_warmup_steps: 9
+- num_epochs: 4
+
+### Training results
+
+| Training Loss | Epoch | Step | Validation Loss |
+|:-------------:|:-----:|:----:|:---------------:|
+| 5.0474 | 0.01 | 1 | 5.9279 |
+| 1.2191 | 0.26 | 24 | 1.2947 |
+| 1.1165 | 0.51 | 48 | 1.1679 |
+| 1.0711 | 0.77 | 72 | 1.1377 |
+| 0.9546 | 1.02 | 96 | 1.1303 |
+| 0.9309 | 1.28 | 120 | 1.1298 |
+| 0.9588 | 1.54 | 144 | 1.1242 |
+| 0.8553 | 1.79 | 168 | 1.1259 |
+| 0.8231 | 2.05 | 192 | 1.1449 |
+| 0.8154 | 2.31 | 216 | 1.1514 |
+| 0.7354 | 2.56 | 240 | 1.1471 |
+| 0.7577 | 2.82 | 264 | 1.1479 |
+| 0.6647 | 3.07 | 288 | 1.1923 |
+| 0.6928 | 3.33 | 312 | 1.1856 |
+| 0.731 | 3.59 | 336 | 1.1890 |
+| 0.7193 | 3.84 | 360 | 1.1911 |
+
+
+### Framework versions
+
+- PEFT 0.9.0
+- Transformers 4.39.0.dev0
+- Pytorch 2.1.2+cu118
+- Datasets 2.18.0
+- Tokenizers 0.15.0
\ No newline at end of file
diff --git a/README1.md b/README1.md
new file mode 100644
index 0000000000000000000000000000000000000000..f81be350848f2e9d42a7b4d602590ea62a799d4d
--- /dev/null
+++ b/README1.md
@@ -0,0 +1,153 @@
+---
+license: other
+library_name: peft
+tags:
+- generated_from_trainer
+base_model: google/gemma-7b-it
+model-index:
+- name: out
+ results: []
+---
+
+
+[
](https://github.com/OpenAccess-AI-Collective/axolotl)
+See axolotl config
+
+axolotl version: `0.4.0`
+```yaml
+# use google/gemma-7b if you have access
+base_model: google/gemma-7b-it
+model_type: AutoModelForCausalLM
+tokenizer_type: AutoTokenizer
+
+load_in_8bit: false
+load_in_4bit: true
+strict: false
+
+# huggingface repo
+datasets:
+ - path: ./python-oasst/chunk_1.jsonl
+ type: oasst
+val_set_size: 0.1
+output_dir: ./out
+
+adapter: qlora
+lora_r: 32
+lora_alpha: 16
+lora_dropout: 0.05
+lora_target_linear: true
+
+sequence_len: 4096
+sample_packing: false
+pad_to_sequence_len: true
+
+wandb_project: gemma-7b-it
+wandb_entity:
+wandb_watch:
+wandb_name:
+wandb_log_model:
+
+
+gradient_accumulation_steps: 6
+micro_batch_size: 4
+num_epochs: 4
+optimizer: adamw_bnb_8bit
+lr_scheduler: cosine
+learning_rate: 0.0002
+
+train_on_inputs: true
+group_by_length: false
+bf16: auto
+fp16:
+tf32: false
+
+gradient_checkpointing: true
+early_stopping_patience:
+resume_from_checkpoint:
+local_rank:
+logging_steps: 1
+xformers_attention:
+flash_attention: true
+
+warmup_ratio: 0.1
+evals_per_epoch: 4
+eval_table_size:
+eval_max_new_tokens: 128
+saves_per_epoch: 1
+debug:
+deepspeed: deepspeed_configs/zero1.json
+weight_decay: 0.0
+fsdp:
+fsdp_config:
+special_tokens:
+
+```
+
+
+
+# out
+
+This model is a fine-tuned version of [google/gemma-7b-it](https://huggingface.co/google/gemma-7b-it) on the None dataset.
+It achieves the following results on the evaluation set:
+- Loss: 1.1911
+
+## Model description
+
+More information needed
+
+## Intended uses & limitations
+
+More information needed
+
+## Training and evaluation data
+
+More information needed
+
+## Training procedure
+
+### Training hyperparameters
+
+The following hyperparameters were used during training:
+- learning_rate: 0.0002
+- train_batch_size: 4
+- eval_batch_size: 4
+- seed: 42
+- distributed_type: multi-GPU
+- num_devices: 4
+- gradient_accumulation_steps: 6
+- total_train_batch_size: 96
+- total_eval_batch_size: 16
+- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
+- lr_scheduler_type: cosine
+- lr_scheduler_warmup_steps: 9
+- num_epochs: 4
+
+### Training results
+
+| Training Loss | Epoch | Step | Validation Loss |
+|:-------------:|:-----:|:----:|:---------------:|
+| 5.0474 | 0.01 | 1 | 5.9279 |
+| 1.2191 | 0.26 | 24 | 1.2947 |
+| 1.1165 | 0.51 | 48 | 1.1679 |
+| 1.0711 | 0.77 | 72 | 1.1377 |
+| 0.9546 | 1.02 | 96 | 1.1303 |
+| 0.9309 | 1.28 | 120 | 1.1298 |
+| 0.9588 | 1.54 | 144 | 1.1242 |
+| 0.8553 | 1.79 | 168 | 1.1259 |
+| 0.8231 | 2.05 | 192 | 1.1449 |
+| 0.8154 | 2.31 | 216 | 1.1514 |
+| 0.7354 | 2.56 | 240 | 1.1471 |
+| 0.7577 | 2.82 | 264 | 1.1479 |
+| 0.6647 | 3.07 | 288 | 1.1923 |
+| 0.6928 | 3.33 | 312 | 1.1856 |
+| 0.731 | 3.59 | 336 | 1.1890 |
+| 0.7193 | 3.84 | 360 | 1.1911 |
+
+
+### Framework versions
+
+- PEFT 0.9.0
+- Transformers 4.39.0.dev0
+- Pytorch 2.1.2+cu118
+- Datasets 2.18.0
+- Tokenizers 0.15.0
diff --git a/adapter_config.json b/adapter_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..9fe237ab0e60126fdecc08e25cd5b3a8fd8dd6ac
--- /dev/null
+++ b/adapter_config.json
@@ -0,0 +1,33 @@
+{
+ "alpha_pattern": {},
+ "auto_mapping": null,
+ "base_model_name_or_path": "google/gemma-7b-it",
+ "bias": "none",
+ "fan_in_fan_out": null,
+ "inference_mode": false,
+ "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,
+ "peft_type": "LORA",
+ "r": 32,
+ "rank_pattern": {},
+ "revision": null,
+ "target_modules": [
+ "gate_proj",
+ "up_proj",
+ "k_proj",
+ "q_proj",
+ "down_proj",
+ "v_proj",
+ "o_proj"
+ ],
+ "task_type": "CAUSAL_LM",
+ "use_dora": false,
+ "use_rslora": false
+}
\ No newline at end of file
diff --git a/adapter_model.bin b/adapter_model.bin
new file mode 100644
index 0000000000000000000000000000000000000000..9b16235254c7ff718229e03db0888fa9d6268c6f
--- /dev/null
+++ b/adapter_model.bin
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:25b9fe36c6655d98214b7521f5d8d9f662fc0c4007a06eeefea535ccfec3dc1e
+size 200078074
diff --git a/checkpoint-279/README.md b/checkpoint-279/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..cc48d049490be40c7b7654441aabee7b5bc360d2
--- /dev/null
+++ b/checkpoint-279/README.md
@@ -0,0 +1,202 @@
+---
+library_name: peft
+base_model: google/gemma-7b-it
+---
+
+# 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/checkpoint-279/adapter_config.json b/checkpoint-279/adapter_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..3c3e2768efa37865b99706584c01866eafc6c45a
--- /dev/null
+++ b/checkpoint-279/adapter_config.json
@@ -0,0 +1,33 @@
+{
+ "alpha_pattern": {},
+ "auto_mapping": null,
+ "base_model_name_or_path": "google/gemma-7b-it",
+ "bias": "none",
+ "fan_in_fan_out": null,
+ "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,
+ "peft_type": "LORA",
+ "r": 32,
+ "rank_pattern": {},
+ "revision": null,
+ "target_modules": [
+ "down_proj",
+ "o_proj",
+ "k_proj",
+ "q_proj",
+ "gate_proj",
+ "up_proj",
+ "v_proj"
+ ],
+ "task_type": "CAUSAL_LM",
+ "use_dora": false,
+ "use_rslora": false
+}
\ No newline at end of file
diff --git a/checkpoint-279/adapter_model.safetensors b/checkpoint-279/adapter_model.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..c3c04654ff450d67ec2b1b45e1d571ae0eab054a
--- /dev/null
+++ b/checkpoint-279/adapter_model.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0831f70d185dae9ca69f58be3eab596067ac52e75e3e97b46d23ecd486b83942
+size 200068904
diff --git a/checkpoint-279/global_step279/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/checkpoint-279/global_step279/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..21e633b4b77b4edfdd0f521632781b56cde0b080
--- /dev/null
+++ b/checkpoint-279/global_step279/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:90f2db91b1ca035dfa781beb0567b7cfaaf6646de04cc9a82d8e80069e7a5b09
+size 150126608
diff --git a/checkpoint-279/global_step279/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt b/checkpoint-279/global_step279/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..c7b8a11bc59c7b492cae7464f459f5bbe16df132
--- /dev/null
+++ b/checkpoint-279/global_step279/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b9ec41ba7f5c3131e00c854ec2bbfca98e6a3321e5f2ddf6efdc6056fa008c5a
+size 150126672
diff --git a/checkpoint-279/global_step279/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt b/checkpoint-279/global_step279/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..ae239de85d1d54e64dbe41942e1dc312125eec8d
--- /dev/null
+++ b/checkpoint-279/global_step279/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:41f227ca1d3c19b4cd53567e28a2d395c2e804bd38dfd9bb3c937adab1daf5a3
+size 150126736
diff --git a/checkpoint-279/global_step279/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt b/checkpoint-279/global_step279/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..377fc6abb214d8490cc9e327ff988d2fb88c3b7d
--- /dev/null
+++ b/checkpoint-279/global_step279/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7e486ddf3459c4f6befb004a9374e7e4fb9bd64bba72dd2e6f7051ee89939988
+size 150126736
diff --git a/checkpoint-279/global_step279/mp_rank_00_model_states.pt b/checkpoint-279/global_step279/mp_rank_00_model_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..4cbf492a5e3f139b6bf68e9b70d9b07bcc7297e2
--- /dev/null
+++ b/checkpoint-279/global_step279/mp_rank_00_model_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:feed7b7a8694c54651374fb581d67d60790a016e23023446231557add62ffc80
+size 1896781286
diff --git a/checkpoint-279/latest b/checkpoint-279/latest
new file mode 100644
index 0000000000000000000000000000000000000000..c623f890b987e2811c5236bd9d38a5b12402d12f
--- /dev/null
+++ b/checkpoint-279/latest
@@ -0,0 +1 @@
+global_step279
\ No newline at end of file
diff --git a/checkpoint-279/rng_state_0.pth b/checkpoint-279/rng_state_0.pth
new file mode 100644
index 0000000000000000000000000000000000000000..75b332cff3d885c7cfe4d0d4895a75d357d0ee57
--- /dev/null
+++ b/checkpoint-279/rng_state_0.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a84c3f9fa55e23a5c4d93b108c705b57ba9a5ed816191e6dfbb6e72ad2857e6d
+size 15024
diff --git a/checkpoint-279/rng_state_1.pth b/checkpoint-279/rng_state_1.pth
new file mode 100644
index 0000000000000000000000000000000000000000..f6f6c8e2a014103a89d2b3d6d1487c3519b57de3
--- /dev/null
+++ b/checkpoint-279/rng_state_1.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fbb1da31ff41578c72556d0a8b9b94abf6be26bf16b6456ecd87d2b611f5b9bd
+size 15024
diff --git a/checkpoint-279/rng_state_2.pth b/checkpoint-279/rng_state_2.pth
new file mode 100644
index 0000000000000000000000000000000000000000..2f5371f3c4f4be42560e55b3bea0c6ad6f2770da
--- /dev/null
+++ b/checkpoint-279/rng_state_2.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:11a7b38529914886a43976df69af7f331315329e1d38788c57003ca4cd1a849f
+size 15024
diff --git a/checkpoint-279/rng_state_3.pth b/checkpoint-279/rng_state_3.pth
new file mode 100644
index 0000000000000000000000000000000000000000..8a2020eda5d32507d342c00855009f3cd2cdc75e
--- /dev/null
+++ b/checkpoint-279/rng_state_3.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7d65b4248464f467db8226c5cc4ba4aa32e06af0bf915b61ea8a2db71d16b5ce
+size 15024
diff --git a/checkpoint-279/scheduler.pt b/checkpoint-279/scheduler.pt
new file mode 100644
index 0000000000000000000000000000000000000000..a0110a56896fbbc605befb9fe2f14c329e7c4447
--- /dev/null
+++ b/checkpoint-279/scheduler.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:099f524a0aa9353b01bf7d70e5a899c6e8ee8efc46e982213631888df6e5111b
+size 1064
diff --git a/checkpoint-279/trainer_state.json b/checkpoint-279/trainer_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..a035361cbd63e0415e26ba966a26d8dded996eba
--- /dev/null
+++ b/checkpoint-279/trainer_state.json
@@ -0,0 +1,2070 @@
+{
+ "best_metric": null,
+ "best_model_checkpoint": null,
+ "epoch": 2.97864768683274,
+ "eval_steps": 24,
+ "global_step": 279,
+ "is_hyper_param_search": false,
+ "is_local_process_zero": true,
+ "is_world_process_zero": true,
+ "log_history": [
+ {
+ "epoch": 0.01,
+ "grad_norm": 1.8206765789002874,
+ "learning_rate": 2.2222222222222223e-05,
+ "loss": 5.0474,
+ "step": 1
+ },
+ {
+ "epoch": 0.01,
+ "eval_loss": 5.927858829498291,
+ "eval_runtime": 117.3665,
+ "eval_samples_per_second": 8.512,
+ "eval_steps_per_second": 0.537,
+ "step": 1
+ },
+ {
+ "epoch": 0.02,
+ "grad_norm": 1.9889295079554647,
+ "learning_rate": 4.4444444444444447e-05,
+ "loss": 5.5569,
+ "step": 2
+ },
+ {
+ "epoch": 0.03,
+ "grad_norm": 1.8931443004310682,
+ "learning_rate": 6.666666666666667e-05,
+ "loss": 5.2383,
+ "step": 3
+ },
+ {
+ "epoch": 0.04,
+ "grad_norm": 2.195266234429632,
+ "learning_rate": 8.888888888888889e-05,
+ "loss": 5.4943,
+ "step": 4
+ },
+ {
+ "epoch": 0.05,
+ "grad_norm": 2.6001064132041503,
+ "learning_rate": 0.00011111111111111112,
+ "loss": 5.2602,
+ "step": 5
+ },
+ {
+ "epoch": 0.06,
+ "grad_norm": 3.26301463076567,
+ "learning_rate": 0.00013333333333333334,
+ "loss": 4.8182,
+ "step": 6
+ },
+ {
+ "epoch": 0.07,
+ "grad_norm": 3.476044691292363,
+ "learning_rate": 0.00015555555555555556,
+ "loss": 4.0432,
+ "step": 7
+ },
+ {
+ "epoch": 0.09,
+ "grad_norm": 3.378803229553045,
+ "learning_rate": 0.00017777777777777779,
+ "loss": 3.5212,
+ "step": 8
+ },
+ {
+ "epoch": 0.1,
+ "grad_norm": 3.9419449437137017,
+ "learning_rate": 0.0002,
+ "loss": 3.2239,
+ "step": 9
+ },
+ {
+ "epoch": 0.11,
+ "grad_norm": 5.8833082175146485,
+ "learning_rate": 0.00019999625498303932,
+ "loss": 3.4319,
+ "step": 10
+ },
+ {
+ "epoch": 0.12,
+ "grad_norm": 5.4690223843996515,
+ "learning_rate": 0.0001999850202126604,
+ "loss": 2.8167,
+ "step": 11
+ },
+ {
+ "epoch": 0.13,
+ "grad_norm": 7.009614336449043,
+ "learning_rate": 0.00019996629653035126,
+ "loss": 2.7966,
+ "step": 12
+ },
+ {
+ "epoch": 0.14,
+ "grad_norm": 6.254841874500106,
+ "learning_rate": 0.0001999400853385221,
+ "loss": 2.1336,
+ "step": 13
+ },
+ {
+ "epoch": 0.15,
+ "grad_norm": 6.037710889841169,
+ "learning_rate": 0.00019990638860040006,
+ "loss": 1.85,
+ "step": 14
+ },
+ {
+ "epoch": 0.16,
+ "grad_norm": 1.0500019118881985,
+ "learning_rate": 0.00019986520883988232,
+ "loss": 1.5964,
+ "step": 15
+ },
+ {
+ "epoch": 0.17,
+ "grad_norm": 0.6169710624824223,
+ "learning_rate": 0.00019981654914134686,
+ "loss": 1.4307,
+ "step": 16
+ },
+ {
+ "epoch": 0.18,
+ "grad_norm": 1.86114059095932,
+ "learning_rate": 0.00019976041314942155,
+ "loss": 1.4285,
+ "step": 17
+ },
+ {
+ "epoch": 0.19,
+ "grad_norm": 1.6513877610200167,
+ "learning_rate": 0.00019969680506871137,
+ "loss": 1.4621,
+ "step": 18
+ },
+ {
+ "epoch": 0.2,
+ "grad_norm": 1.4395882738454628,
+ "learning_rate": 0.000199625729663483,
+ "loss": 1.3561,
+ "step": 19
+ },
+ {
+ "epoch": 0.21,
+ "grad_norm": 0.70847060238536,
+ "learning_rate": 0.00019954719225730847,
+ "loss": 1.3565,
+ "step": 20
+ },
+ {
+ "epoch": 0.22,
+ "grad_norm": 0.4331630595385925,
+ "learning_rate": 0.00019946119873266613,
+ "loss": 1.3374,
+ "step": 21
+ },
+ {
+ "epoch": 0.23,
+ "grad_norm": 0.5580281682185451,
+ "learning_rate": 0.0001993677555305002,
+ "loss": 1.313,
+ "step": 22
+ },
+ {
+ "epoch": 0.25,
+ "grad_norm": 0.5217443953771937,
+ "learning_rate": 0.00019926686964973813,
+ "loss": 1.2541,
+ "step": 23
+ },
+ {
+ "epoch": 0.26,
+ "grad_norm": 0.36823120314463453,
+ "learning_rate": 0.00019915854864676664,
+ "loss": 1.2191,
+ "step": 24
+ },
+ {
+ "epoch": 0.26,
+ "eval_loss": 1.2946609258651733,
+ "eval_runtime": 118.9039,
+ "eval_samples_per_second": 8.402,
+ "eval_steps_per_second": 0.53,
+ "step": 24
+ },
+ {
+ "epoch": 0.27,
+ "grad_norm": 0.5797477063688413,
+ "learning_rate": 0.0001990428006348656,
+ "loss": 1.24,
+ "step": 25
+ },
+ {
+ "epoch": 0.28,
+ "grad_norm": 0.41369538857234545,
+ "learning_rate": 0.00019891963428360043,
+ "loss": 1.209,
+ "step": 26
+ },
+ {
+ "epoch": 0.29,
+ "grad_norm": 0.36666008426797836,
+ "learning_rate": 0.00019878905881817252,
+ "loss": 1.2543,
+ "step": 27
+ },
+ {
+ "epoch": 0.3,
+ "grad_norm": 0.3976779691989045,
+ "learning_rate": 0.00019865108401872857,
+ "loss": 1.2431,
+ "step": 28
+ },
+ {
+ "epoch": 0.31,
+ "grad_norm": 0.4992861718630414,
+ "learning_rate": 0.00019850572021962788,
+ "loss": 1.2471,
+ "step": 29
+ },
+ {
+ "epoch": 0.32,
+ "grad_norm": 0.33729072192890136,
+ "learning_rate": 0.00019835297830866826,
+ "loss": 1.1933,
+ "step": 30
+ },
+ {
+ "epoch": 0.33,
+ "grad_norm": 0.29373457949318904,
+ "learning_rate": 0.00019819286972627066,
+ "loss": 1.1761,
+ "step": 31
+ },
+ {
+ "epoch": 0.34,
+ "grad_norm": 0.5339184947140588,
+ "learning_rate": 0.0001980254064646223,
+ "loss": 1.165,
+ "step": 32
+ },
+ {
+ "epoch": 0.35,
+ "grad_norm": 0.38755069216510263,
+ "learning_rate": 0.00019785060106677818,
+ "loss": 1.1236,
+ "step": 33
+ },
+ {
+ "epoch": 0.36,
+ "grad_norm": 0.338373181403367,
+ "learning_rate": 0.00019766846662572191,
+ "loss": 1.2102,
+ "step": 34
+ },
+ {
+ "epoch": 0.37,
+ "grad_norm": 0.39237714718744304,
+ "learning_rate": 0.00019747901678338496,
+ "loss": 1.1642,
+ "step": 35
+ },
+ {
+ "epoch": 0.38,
+ "grad_norm": 0.3614249847081747,
+ "learning_rate": 0.00019728226572962473,
+ "loss": 1.1387,
+ "step": 36
+ },
+ {
+ "epoch": 0.4,
+ "grad_norm": 0.28278007479509987,
+ "learning_rate": 0.00019707822820116193,
+ "loss": 1.0939,
+ "step": 37
+ },
+ {
+ "epoch": 0.41,
+ "grad_norm": 0.3008254873268798,
+ "learning_rate": 0.00019686691948047664,
+ "loss": 1.1346,
+ "step": 38
+ },
+ {
+ "epoch": 0.42,
+ "grad_norm": 0.4263010439416343,
+ "learning_rate": 0.0001966483553946637,
+ "loss": 1.1015,
+ "step": 39
+ },
+ {
+ "epoch": 0.43,
+ "grad_norm": 0.32725448028464205,
+ "learning_rate": 0.00019642255231424729,
+ "loss": 1.1324,
+ "step": 40
+ },
+ {
+ "epoch": 0.44,
+ "grad_norm": 0.3028242900588441,
+ "learning_rate": 0.00019618952715195475,
+ "loss": 1.1147,
+ "step": 41
+ },
+ {
+ "epoch": 0.45,
+ "grad_norm": 0.33893311928252234,
+ "learning_rate": 0.00019594929736144976,
+ "loss": 1.0978,
+ "step": 42
+ },
+ {
+ "epoch": 0.46,
+ "grad_norm": 0.2786082334492372,
+ "learning_rate": 0.0001957018809360251,
+ "loss": 1.0933,
+ "step": 43
+ },
+ {
+ "epoch": 0.47,
+ "grad_norm": 0.2732185168098956,
+ "learning_rate": 0.00019544729640725498,
+ "loss": 1.084,
+ "step": 44
+ },
+ {
+ "epoch": 0.48,
+ "grad_norm": 0.33386436894143035,
+ "learning_rate": 0.00019518556284360696,
+ "loss": 1.0673,
+ "step": 45
+ },
+ {
+ "epoch": 0.49,
+ "grad_norm": 0.2761688734050621,
+ "learning_rate": 0.00019491669984901379,
+ "loss": 1.0523,
+ "step": 46
+ },
+ {
+ "epoch": 0.5,
+ "grad_norm": 0.3346957388610895,
+ "learning_rate": 0.00019464072756140486,
+ "loss": 1.0913,
+ "step": 47
+ },
+ {
+ "epoch": 0.51,
+ "grad_norm": 0.30196058996924285,
+ "learning_rate": 0.0001943576666511982,
+ "loss": 1.1165,
+ "step": 48
+ },
+ {
+ "epoch": 0.51,
+ "eval_loss": 1.167867660522461,
+ "eval_runtime": 119.1485,
+ "eval_samples_per_second": 8.384,
+ "eval_steps_per_second": 0.529,
+ "step": 48
+ },
+ {
+ "epoch": 0.52,
+ "grad_norm": 0.27445390350987153,
+ "learning_rate": 0.00019406753831975203,
+ "loss": 1.1069,
+ "step": 49
+ },
+ {
+ "epoch": 0.53,
+ "grad_norm": 0.34729097228771255,
+ "learning_rate": 0.00019377036429777672,
+ "loss": 1.0567,
+ "step": 50
+ },
+ {
+ "epoch": 0.54,
+ "grad_norm": 0.31314016575739406,
+ "learning_rate": 0.0001934661668437073,
+ "loss": 1.0875,
+ "step": 51
+ },
+ {
+ "epoch": 0.56,
+ "grad_norm": 0.29140014335226905,
+ "learning_rate": 0.0001931549687420364,
+ "loss": 1.0929,
+ "step": 52
+ },
+ {
+ "epoch": 0.57,
+ "grad_norm": 0.2638104110161505,
+ "learning_rate": 0.00019283679330160726,
+ "loss": 1.0963,
+ "step": 53
+ },
+ {
+ "epoch": 0.58,
+ "grad_norm": 0.2833945318119855,
+ "learning_rate": 0.0001925116643538684,
+ "loss": 1.0535,
+ "step": 54
+ },
+ {
+ "epoch": 0.59,
+ "grad_norm": 0.28672689795285417,
+ "learning_rate": 0.0001921796062510882,
+ "loss": 1.0699,
+ "step": 55
+ },
+ {
+ "epoch": 0.6,
+ "grad_norm": 0.261255409262294,
+ "learning_rate": 0.00019184064386453128,
+ "loss": 1.0658,
+ "step": 56
+ },
+ {
+ "epoch": 0.61,
+ "grad_norm": 0.24304864434604007,
+ "learning_rate": 0.00019149480258259533,
+ "loss": 1.0441,
+ "step": 57
+ },
+ {
+ "epoch": 0.62,
+ "grad_norm": 0.2987107937915846,
+ "learning_rate": 0.00019114210830890969,
+ "loss": 1.0061,
+ "step": 58
+ },
+ {
+ "epoch": 0.63,
+ "grad_norm": 0.2617045441373282,
+ "learning_rate": 0.00019078258746039507,
+ "loss": 1.0578,
+ "step": 59
+ },
+ {
+ "epoch": 0.64,
+ "grad_norm": 0.2577955355987167,
+ "learning_rate": 0.00019041626696528503,
+ "loss": 1.0333,
+ "step": 60
+ },
+ {
+ "epoch": 0.65,
+ "grad_norm": 0.2823058812174375,
+ "learning_rate": 0.0001900431742611089,
+ "loss": 1.0837,
+ "step": 61
+ },
+ {
+ "epoch": 0.66,
+ "grad_norm": 0.30425238718712166,
+ "learning_rate": 0.00018966333729263674,
+ "loss": 1.0619,
+ "step": 62
+ },
+ {
+ "epoch": 0.67,
+ "grad_norm": 0.29826831116146957,
+ "learning_rate": 0.0001892767845097864,
+ "loss": 1.056,
+ "step": 63
+ },
+ {
+ "epoch": 0.68,
+ "grad_norm": 0.22990267950533677,
+ "learning_rate": 0.00018888354486549237,
+ "loss": 1.061,
+ "step": 64
+ },
+ {
+ "epoch": 0.69,
+ "grad_norm": 0.27604852373975236,
+ "learning_rate": 0.00018848364781353744,
+ "loss": 1.0624,
+ "step": 65
+ },
+ {
+ "epoch": 0.7,
+ "grad_norm": 0.302101014156969,
+ "learning_rate": 0.00018807712330634642,
+ "loss": 1.0965,
+ "step": 66
+ },
+ {
+ "epoch": 0.72,
+ "grad_norm": 0.2532153192142023,
+ "learning_rate": 0.00018766400179274286,
+ "loss": 1.0972,
+ "step": 67
+ },
+ {
+ "epoch": 0.73,
+ "grad_norm": 0.23803088057755897,
+ "learning_rate": 0.00018724431421566823,
+ "loss": 1.0823,
+ "step": 68
+ },
+ {
+ "epoch": 0.74,
+ "grad_norm": 0.2200041903156331,
+ "learning_rate": 0.0001868180920098644,
+ "loss": 1.037,
+ "step": 69
+ },
+ {
+ "epoch": 0.75,
+ "grad_norm": 0.31123761066229655,
+ "learning_rate": 0.00018638536709951917,
+ "loss": 1.0689,
+ "step": 70
+ },
+ {
+ "epoch": 0.76,
+ "grad_norm": 0.2760757149384919,
+ "learning_rate": 0.00018594617189587512,
+ "loss": 1.0071,
+ "step": 71
+ },
+ {
+ "epoch": 0.77,
+ "grad_norm": 0.2452672521810973,
+ "learning_rate": 0.00018550053929480202,
+ "loss": 1.0711,
+ "step": 72
+ },
+ {
+ "epoch": 0.77,
+ "eval_loss": 1.1377497911453247,
+ "eval_runtime": 119.461,
+ "eval_samples_per_second": 8.363,
+ "eval_steps_per_second": 0.527,
+ "step": 72
+ },
+ {
+ "epoch": 0.78,
+ "grad_norm": 0.30897216290479246,
+ "learning_rate": 0.0001850485026743328,
+ "loss": 1.0508,
+ "step": 73
+ },
+ {
+ "epoch": 0.79,
+ "grad_norm": 0.24165903393157925,
+ "learning_rate": 0.00018459009589216364,
+ "loss": 1.046,
+ "step": 74
+ },
+ {
+ "epoch": 0.8,
+ "grad_norm": 0.2509819208307879,
+ "learning_rate": 0.00018412535328311814,
+ "loss": 1.0726,
+ "step": 75
+ },
+ {
+ "epoch": 0.81,
+ "grad_norm": 0.26145395006758515,
+ "learning_rate": 0.00018365430965657526,
+ "loss": 0.9998,
+ "step": 76
+ },
+ {
+ "epoch": 0.82,
+ "grad_norm": 0.26920709605794424,
+ "learning_rate": 0.00018317700029386245,
+ "loss": 1.065,
+ "step": 77
+ },
+ {
+ "epoch": 0.83,
+ "grad_norm": 0.24226754926786417,
+ "learning_rate": 0.0001826934609456129,
+ "loss": 1.0489,
+ "step": 78
+ },
+ {
+ "epoch": 0.84,
+ "grad_norm": 0.3022365661006827,
+ "learning_rate": 0.00018220372782908777,
+ "loss": 1.0372,
+ "step": 79
+ },
+ {
+ "epoch": 0.85,
+ "grad_norm": 0.25795710005352673,
+ "learning_rate": 0.00018170783762546365,
+ "loss": 1.0128,
+ "step": 80
+ },
+ {
+ "epoch": 0.86,
+ "grad_norm": 0.3490748875058354,
+ "learning_rate": 0.00018120582747708502,
+ "loss": 1.0168,
+ "step": 81
+ },
+ {
+ "epoch": 0.88,
+ "grad_norm": 0.24938209735120945,
+ "learning_rate": 0.00018069773498468223,
+ "loss": 0.9586,
+ "step": 82
+ },
+ {
+ "epoch": 0.89,
+ "grad_norm": 0.2527612545099894,
+ "learning_rate": 0.00018018359820455536,
+ "loss": 1.0385,
+ "step": 83
+ },
+ {
+ "epoch": 0.9,
+ "grad_norm": 0.27528879975094916,
+ "learning_rate": 0.0001796634556457236,
+ "loss": 1.0328,
+ "step": 84
+ },
+ {
+ "epoch": 0.91,
+ "grad_norm": 0.2605002777661913,
+ "learning_rate": 0.0001791373462670411,
+ "loss": 0.9966,
+ "step": 85
+ },
+ {
+ "epoch": 0.92,
+ "grad_norm": 0.3117107796665858,
+ "learning_rate": 0.00017860530947427875,
+ "loss": 0.9772,
+ "step": 86
+ },
+ {
+ "epoch": 0.93,
+ "grad_norm": 0.28336227154677734,
+ "learning_rate": 0.0001780673851171728,
+ "loss": 1.0724,
+ "step": 87
+ },
+ {
+ "epoch": 0.94,
+ "grad_norm": 0.42707817919652674,
+ "learning_rate": 0.0001775236134864401,
+ "loss": 1.0038,
+ "step": 88
+ },
+ {
+ "epoch": 0.95,
+ "grad_norm": 0.29236016959846456,
+ "learning_rate": 0.0001769740353107602,
+ "loss": 1.0083,
+ "step": 89
+ },
+ {
+ "epoch": 0.96,
+ "grad_norm": 0.43295063403530637,
+ "learning_rate": 0.00017641869175372493,
+ "loss": 1.022,
+ "step": 90
+ },
+ {
+ "epoch": 0.97,
+ "grad_norm": 0.3086663897043129,
+ "learning_rate": 0.00017585762441075503,
+ "loss": 1.0303,
+ "step": 91
+ },
+ {
+ "epoch": 0.98,
+ "grad_norm": 0.2783768981163154,
+ "learning_rate": 0.0001752908753059849,
+ "loss": 1.061,
+ "step": 92
+ },
+ {
+ "epoch": 0.99,
+ "grad_norm": 0.43168501819843275,
+ "learning_rate": 0.00017471848688911464,
+ "loss": 1.0631,
+ "step": 93
+ },
+ {
+ "epoch": 1.0,
+ "grad_norm": 0.25487494913299935,
+ "learning_rate": 0.0001741405020322309,
+ "loss": 0.9858,
+ "step": 94
+ },
+ {
+ "epoch": 1.01,
+ "grad_norm": 0.3229761094582219,
+ "learning_rate": 0.00017355696402659548,
+ "loss": 0.9495,
+ "step": 95
+ },
+ {
+ "epoch": 1.02,
+ "grad_norm": 0.3178464701266748,
+ "learning_rate": 0.000172967916579403,
+ "loss": 0.9546,
+ "step": 96
+ },
+ {
+ "epoch": 1.02,
+ "eval_loss": 1.1303094625473022,
+ "eval_runtime": 119.6761,
+ "eval_samples_per_second": 8.348,
+ "eval_steps_per_second": 0.526,
+ "step": 96
+ },
+ {
+ "epoch": 1.04,
+ "grad_norm": 0.2534616980189548,
+ "learning_rate": 0.00017237340381050703,
+ "loss": 0.9509,
+ "step": 97
+ },
+ {
+ "epoch": 1.05,
+ "grad_norm": 0.2354382873554396,
+ "learning_rate": 0.00017177347024911562,
+ "loss": 0.9611,
+ "step": 98
+ },
+ {
+ "epoch": 1.06,
+ "grad_norm": 0.2754259154521738,
+ "learning_rate": 0.00017116816083045602,
+ "loss": 0.9184,
+ "step": 99
+ },
+ {
+ "epoch": 1.07,
+ "grad_norm": 0.25868181129480755,
+ "learning_rate": 0.00017055752089240907,
+ "loss": 0.957,
+ "step": 100
+ },
+ {
+ "epoch": 1.08,
+ "grad_norm": 0.2383943586330267,
+ "learning_rate": 0.00016994159617211317,
+ "loss": 0.9638,
+ "step": 101
+ },
+ {
+ "epoch": 1.09,
+ "grad_norm": 0.2706420372628291,
+ "learning_rate": 0.0001693204328025389,
+ "loss": 0.9115,
+ "step": 102
+ },
+ {
+ "epoch": 1.1,
+ "grad_norm": 0.2751042656041904,
+ "learning_rate": 0.0001686940773090333,
+ "loss": 0.9277,
+ "step": 103
+ },
+ {
+ "epoch": 1.11,
+ "grad_norm": 0.27700872737428867,
+ "learning_rate": 0.00016806257660583534,
+ "loss": 0.9248,
+ "step": 104
+ },
+ {
+ "epoch": 1.12,
+ "grad_norm": 0.3350046312844708,
+ "learning_rate": 0.00016742597799256182,
+ "loss": 0.928,
+ "step": 105
+ },
+ {
+ "epoch": 1.13,
+ "grad_norm": 0.4055944986440079,
+ "learning_rate": 0.00016678432915066488,
+ "loss": 0.9074,
+ "step": 106
+ },
+ {
+ "epoch": 1.14,
+ "grad_norm": 0.2515177402600531,
+ "learning_rate": 0.00016613767813986044,
+ "loss": 0.9564,
+ "step": 107
+ },
+ {
+ "epoch": 1.15,
+ "grad_norm": 0.2571149695502646,
+ "learning_rate": 0.00016548607339452853,
+ "loss": 0.93,
+ "step": 108
+ },
+ {
+ "epoch": 1.16,
+ "grad_norm": 0.38608942941048996,
+ "learning_rate": 0.0001648295637200856,
+ "loss": 0.9281,
+ "step": 109
+ },
+ {
+ "epoch": 1.17,
+ "grad_norm": 0.31939838976976676,
+ "learning_rate": 0.000164168198289329,
+ "loss": 0.9914,
+ "step": 110
+ },
+ {
+ "epoch": 1.19,
+ "grad_norm": 0.30504937567650897,
+ "learning_rate": 0.00016350202663875386,
+ "loss": 0.9549,
+ "step": 111
+ },
+ {
+ "epoch": 1.2,
+ "grad_norm": 0.3320388344291162,
+ "learning_rate": 0.0001628310986648427,
+ "loss": 0.9086,
+ "step": 112
+ },
+ {
+ "epoch": 1.21,
+ "grad_norm": 0.27715569151296165,
+ "learning_rate": 0.0001621554646203284,
+ "loss": 0.8537,
+ "step": 113
+ },
+ {
+ "epoch": 1.22,
+ "grad_norm": 0.278787508566418,
+ "learning_rate": 0.0001614751751104301,
+ "loss": 0.9354,
+ "step": 114
+ },
+ {
+ "epoch": 1.23,
+ "grad_norm": 0.24483614460003267,
+ "learning_rate": 0.00016079028108906282,
+ "loss": 0.8996,
+ "step": 115
+ },
+ {
+ "epoch": 1.24,
+ "grad_norm": 0.37520609596400134,
+ "learning_rate": 0.0001601008338550211,
+ "loss": 0.9514,
+ "step": 116
+ },
+ {
+ "epoch": 1.25,
+ "grad_norm": 0.2565631505653599,
+ "learning_rate": 0.00015940688504813662,
+ "loss": 0.8984,
+ "step": 117
+ },
+ {
+ "epoch": 1.26,
+ "grad_norm": 0.26348552476529935,
+ "learning_rate": 0.00015870848664541044,
+ "loss": 0.8941,
+ "step": 118
+ },
+ {
+ "epoch": 1.27,
+ "grad_norm": 0.32431198985496534,
+ "learning_rate": 0.00015800569095711982,
+ "loss": 0.8876,
+ "step": 119
+ },
+ {
+ "epoch": 1.28,
+ "grad_norm": 0.29308039763069227,
+ "learning_rate": 0.00015729855062290022,
+ "loss": 0.9309,
+ "step": 120
+ },
+ {
+ "epoch": 1.28,
+ "eval_loss": 1.129751205444336,
+ "eval_runtime": 119.1497,
+ "eval_samples_per_second": 8.384,
+ "eval_steps_per_second": 0.529,
+ "step": 120
+ },
+ {
+ "epoch": 1.29,
+ "grad_norm": 0.2793291380060977,
+ "learning_rate": 0.0001565871186078025,
+ "loss": 0.9453,
+ "step": 121
+ },
+ {
+ "epoch": 1.3,
+ "grad_norm": 0.28873644301555734,
+ "learning_rate": 0.000155871448198326,
+ "loss": 0.9243,
+ "step": 122
+ },
+ {
+ "epoch": 1.31,
+ "grad_norm": 0.3086103724578039,
+ "learning_rate": 0.00015515159299842707,
+ "loss": 0.8877,
+ "step": 123
+ },
+ {
+ "epoch": 1.32,
+ "grad_norm": 0.30407892484693505,
+ "learning_rate": 0.00015442760692550443,
+ "loss": 0.9448,
+ "step": 124
+ },
+ {
+ "epoch": 1.33,
+ "grad_norm": 0.29771602861368474,
+ "learning_rate": 0.00015369954420636048,
+ "loss": 0.889,
+ "step": 125
+ },
+ {
+ "epoch": 1.35,
+ "grad_norm": 0.30480490158838136,
+ "learning_rate": 0.00015296745937313987,
+ "loss": 0.9405,
+ "step": 126
+ },
+ {
+ "epoch": 1.36,
+ "grad_norm": 0.2949192855418127,
+ "learning_rate": 0.00015223140725924495,
+ "loss": 0.9382,
+ "step": 127
+ },
+ {
+ "epoch": 1.37,
+ "grad_norm": 0.2813631863132807,
+ "learning_rate": 0.00015149144299522873,
+ "loss": 0.9526,
+ "step": 128
+ },
+ {
+ "epoch": 1.38,
+ "grad_norm": 0.28548924064070513,
+ "learning_rate": 0.00015074762200466556,
+ "loss": 0.9174,
+ "step": 129
+ },
+ {
+ "epoch": 1.39,
+ "grad_norm": 0.28137053449960464,
+ "learning_rate": 0.00015000000000000001,
+ "loss": 0.9244,
+ "step": 130
+ },
+ {
+ "epoch": 1.4,
+ "grad_norm": 0.2626750895717777,
+ "learning_rate": 0.00014924863297837378,
+ "loss": 0.9335,
+ "step": 131
+ },
+ {
+ "epoch": 1.41,
+ "grad_norm": 0.26686502371015536,
+ "learning_rate": 0.00014849357721743168,
+ "loss": 0.8948,
+ "step": 132
+ },
+ {
+ "epoch": 1.42,
+ "grad_norm": 0.3332273481179679,
+ "learning_rate": 0.00014773488927110633,
+ "loss": 0.9274,
+ "step": 133
+ },
+ {
+ "epoch": 1.43,
+ "grad_norm": 0.2528048763375234,
+ "learning_rate": 0.00014697262596538227,
+ "loss": 0.8731,
+ "step": 134
+ },
+ {
+ "epoch": 1.44,
+ "grad_norm": 0.27184211707488076,
+ "learning_rate": 0.00014620684439403962,
+ "loss": 0.9318,
+ "step": 135
+ },
+ {
+ "epoch": 1.45,
+ "grad_norm": 0.3051111137538683,
+ "learning_rate": 0.0001454376019143779,
+ "loss": 0.9447,
+ "step": 136
+ },
+ {
+ "epoch": 1.46,
+ "grad_norm": 0.28771401659835155,
+ "learning_rate": 0.00014466495614291977,
+ "loss": 0.9343,
+ "step": 137
+ },
+ {
+ "epoch": 1.47,
+ "grad_norm": 0.28995797921621524,
+ "learning_rate": 0.0001438889649510956,
+ "loss": 0.8978,
+ "step": 138
+ },
+ {
+ "epoch": 1.48,
+ "grad_norm": 0.2749930548874636,
+ "learning_rate": 0.00014310968646090883,
+ "loss": 0.924,
+ "step": 139
+ },
+ {
+ "epoch": 1.49,
+ "grad_norm": 0.3097189537380989,
+ "learning_rate": 0.0001423271790405828,
+ "loss": 0.9574,
+ "step": 140
+ },
+ {
+ "epoch": 1.51,
+ "grad_norm": 0.2449218990319832,
+ "learning_rate": 0.00014154150130018866,
+ "loss": 0.8475,
+ "step": 141
+ },
+ {
+ "epoch": 1.52,
+ "grad_norm": 0.24856388098419674,
+ "learning_rate": 0.0001407527120872557,
+ "loss": 0.9381,
+ "step": 142
+ },
+ {
+ "epoch": 1.53,
+ "grad_norm": 0.3169861882853132,
+ "learning_rate": 0.00013996087048236358,
+ "loss": 0.9141,
+ "step": 143
+ },
+ {
+ "epoch": 1.54,
+ "grad_norm": 0.30689184261103974,
+ "learning_rate": 0.00013916603579471705,
+ "loss": 0.9588,
+ "step": 144
+ },
+ {
+ "epoch": 1.54,
+ "eval_loss": 1.1242448091506958,
+ "eval_runtime": 119.0725,
+ "eval_samples_per_second": 8.39,
+ "eval_steps_per_second": 0.529,
+ "step": 144
+ },
+ {
+ "epoch": 1.55,
+ "grad_norm": 0.2961514212977567,
+ "learning_rate": 0.00013836826755770384,
+ "loss": 0.9371,
+ "step": 145
+ },
+ {
+ "epoch": 1.56,
+ "grad_norm": 0.30790856503439346,
+ "learning_rate": 0.00013756762552443553,
+ "loss": 0.9612,
+ "step": 146
+ },
+ {
+ "epoch": 1.57,
+ "grad_norm": 0.3517398492864053,
+ "learning_rate": 0.000136764169663272,
+ "loss": 0.9253,
+ "step": 147
+ },
+ {
+ "epoch": 1.58,
+ "grad_norm": 0.26375798832515857,
+ "learning_rate": 0.00013595796015332984,
+ "loss": 0.8977,
+ "step": 148
+ },
+ {
+ "epoch": 1.59,
+ "grad_norm": 0.274348892672977,
+ "learning_rate": 0.00013514905737997473,
+ "loss": 0.8817,
+ "step": 149
+ },
+ {
+ "epoch": 1.6,
+ "grad_norm": 0.35917564750751624,
+ "learning_rate": 0.00013433752193029886,
+ "loss": 0.886,
+ "step": 150
+ },
+ {
+ "epoch": 1.61,
+ "grad_norm": 0.38175124377914293,
+ "learning_rate": 0.00013352341458858265,
+ "loss": 0.8576,
+ "step": 151
+ },
+ {
+ "epoch": 1.62,
+ "grad_norm": 0.249633953215678,
+ "learning_rate": 0.00013270679633174218,
+ "loss": 1.0066,
+ "step": 152
+ },
+ {
+ "epoch": 1.63,
+ "grad_norm": 0.33494494430574784,
+ "learning_rate": 0.00013188772832476188,
+ "loss": 0.884,
+ "step": 153
+ },
+ {
+ "epoch": 1.64,
+ "grad_norm": 0.4176467296744032,
+ "learning_rate": 0.00013106627191611332,
+ "loss": 0.9041,
+ "step": 154
+ },
+ {
+ "epoch": 1.65,
+ "grad_norm": 0.27051479454532207,
+ "learning_rate": 0.00013024248863316012,
+ "loss": 0.8764,
+ "step": 155
+ },
+ {
+ "epoch": 1.67,
+ "grad_norm": 0.29302599029848847,
+ "learning_rate": 0.00012941644017754964,
+ "loss": 0.9786,
+ "step": 156
+ },
+ {
+ "epoch": 1.68,
+ "grad_norm": 0.3127378512248151,
+ "learning_rate": 0.00012858818842059145,
+ "loss": 0.9176,
+ "step": 157
+ },
+ {
+ "epoch": 1.69,
+ "grad_norm": 0.40647077063662906,
+ "learning_rate": 0.00012775779539862304,
+ "loss": 0.9387,
+ "step": 158
+ },
+ {
+ "epoch": 1.7,
+ "grad_norm": 0.29290601694481777,
+ "learning_rate": 0.00012692532330836346,
+ "loss": 0.9192,
+ "step": 159
+ },
+ {
+ "epoch": 1.71,
+ "grad_norm": 0.2819168741245354,
+ "learning_rate": 0.0001260908345022547,
+ "loss": 0.9253,
+ "step": 160
+ },
+ {
+ "epoch": 1.72,
+ "grad_norm": 0.3772714091394927,
+ "learning_rate": 0.00012525439148379128,
+ "loss": 0.9264,
+ "step": 161
+ },
+ {
+ "epoch": 1.73,
+ "grad_norm": 0.29399851067321503,
+ "learning_rate": 0.00012441605690283915,
+ "loss": 0.9357,
+ "step": 162
+ },
+ {
+ "epoch": 1.74,
+ "grad_norm": 0.2623180246832513,
+ "learning_rate": 0.00012357589355094275,
+ "loss": 0.8516,
+ "step": 163
+ },
+ {
+ "epoch": 1.75,
+ "grad_norm": 0.27796942024085824,
+ "learning_rate": 0.00012273396435662212,
+ "loss": 0.9328,
+ "step": 164
+ },
+ {
+ "epoch": 1.76,
+ "grad_norm": 0.3107670297529076,
+ "learning_rate": 0.0001218903323806595,
+ "loss": 0.8769,
+ "step": 165
+ },
+ {
+ "epoch": 1.77,
+ "grad_norm": 0.2865573350738354,
+ "learning_rate": 0.00012104506081137608,
+ "loss": 0.9015,
+ "step": 166
+ },
+ {
+ "epoch": 1.78,
+ "grad_norm": 0.30595087117636693,
+ "learning_rate": 0.00012019821295989912,
+ "loss": 0.94,
+ "step": 167
+ },
+ {
+ "epoch": 1.79,
+ "grad_norm": 0.32540365653257874,
+ "learning_rate": 0.00011934985225541998,
+ "loss": 0.8553,
+ "step": 168
+ },
+ {
+ "epoch": 1.79,
+ "eval_loss": 1.1259374618530273,
+ "eval_runtime": 119.4351,
+ "eval_samples_per_second": 8.364,
+ "eval_steps_per_second": 0.527,
+ "step": 168
+ },
+ {
+ "epoch": 1.8,
+ "grad_norm": 0.3058868303314457,
+ "learning_rate": 0.00011850004224044315,
+ "loss": 0.9074,
+ "step": 169
+ },
+ {
+ "epoch": 1.81,
+ "grad_norm": 0.33266760488242775,
+ "learning_rate": 0.0001176488465660271,
+ "loss": 0.8799,
+ "step": 170
+ },
+ {
+ "epoch": 1.83,
+ "grad_norm": 0.3101183375673487,
+ "learning_rate": 0.00011679632898701649,
+ "loss": 0.9004,
+ "step": 171
+ },
+ {
+ "epoch": 1.84,
+ "grad_norm": 0.31535579418195775,
+ "learning_rate": 0.00011594255335726724,
+ "loss": 0.9238,
+ "step": 172
+ },
+ {
+ "epoch": 1.85,
+ "grad_norm": 0.28341827112854334,
+ "learning_rate": 0.00011508758362486358,
+ "loss": 0.9138,
+ "step": 173
+ },
+ {
+ "epoch": 1.86,
+ "grad_norm": 0.25699888796695625,
+ "learning_rate": 0.00011423148382732853,
+ "loss": 0.9175,
+ "step": 174
+ },
+ {
+ "epoch": 1.87,
+ "grad_norm": 0.29504332662698246,
+ "learning_rate": 0.0001133743180868273,
+ "loss": 0.9023,
+ "step": 175
+ },
+ {
+ "epoch": 1.88,
+ "grad_norm": 0.2993175263873948,
+ "learning_rate": 0.0001125161506053646,
+ "loss": 0.8893,
+ "step": 176
+ },
+ {
+ "epoch": 1.89,
+ "grad_norm": 0.2762659379409218,
+ "learning_rate": 0.00011165704565997593,
+ "loss": 0.9071,
+ "step": 177
+ },
+ {
+ "epoch": 1.9,
+ "grad_norm": 0.23620994229530515,
+ "learning_rate": 0.00011079706759791311,
+ "loss": 0.8796,
+ "step": 178
+ },
+ {
+ "epoch": 1.91,
+ "grad_norm": 0.28317619721877,
+ "learning_rate": 0.00010993628083182467,
+ "loss": 0.8983,
+ "step": 179
+ },
+ {
+ "epoch": 1.92,
+ "grad_norm": 0.3252854551640304,
+ "learning_rate": 0.00010907474983493144,
+ "loss": 0.8947,
+ "step": 180
+ },
+ {
+ "epoch": 1.93,
+ "grad_norm": 0.2579136274422669,
+ "learning_rate": 0.00010821253913619726,
+ "loss": 0.8726,
+ "step": 181
+ },
+ {
+ "epoch": 1.94,
+ "grad_norm": 0.27201912720918364,
+ "learning_rate": 0.00010734971331549603,
+ "loss": 0.891,
+ "step": 182
+ },
+ {
+ "epoch": 1.95,
+ "grad_norm": 0.41257277193589503,
+ "learning_rate": 0.0001064863369987743,
+ "loss": 0.9188,
+ "step": 183
+ },
+ {
+ "epoch": 1.96,
+ "grad_norm": 0.264920112831242,
+ "learning_rate": 0.00010562247485321115,
+ "loss": 0.8761,
+ "step": 184
+ },
+ {
+ "epoch": 1.98,
+ "grad_norm": 0.28166441056422037,
+ "learning_rate": 0.00010475819158237425,
+ "loss": 0.8805,
+ "step": 185
+ },
+ {
+ "epoch": 1.99,
+ "grad_norm": 0.2818961139392159,
+ "learning_rate": 0.00010389355192137377,
+ "loss": 0.8934,
+ "step": 186
+ },
+ {
+ "epoch": 2.0,
+ "grad_norm": 0.27424787600345923,
+ "learning_rate": 0.00010302862063201367,
+ "loss": 0.9237,
+ "step": 187
+ },
+ {
+ "epoch": 2.01,
+ "grad_norm": 0.25570082666079225,
+ "learning_rate": 0.00010216346249794087,
+ "loss": 0.8656,
+ "step": 188
+ },
+ {
+ "epoch": 2.02,
+ "grad_norm": 0.2712359904481713,
+ "learning_rate": 0.0001012981423197931,
+ "loss": 0.7627,
+ "step": 189
+ },
+ {
+ "epoch": 2.03,
+ "grad_norm": 0.25054404547068676,
+ "learning_rate": 0.00010043272491034523,
+ "loss": 0.8142,
+ "step": 190
+ },
+ {
+ "epoch": 2.04,
+ "grad_norm": 0.28520868420260026,
+ "learning_rate": 9.956727508965481e-05,
+ "loss": 0.7953,
+ "step": 191
+ },
+ {
+ "epoch": 2.05,
+ "grad_norm": 0.29413880984694873,
+ "learning_rate": 9.870185768020693e-05,
+ "loss": 0.8231,
+ "step": 192
+ },
+ {
+ "epoch": 2.05,
+ "eval_loss": 1.144862413406372,
+ "eval_runtime": 119.3004,
+ "eval_samples_per_second": 8.374,
+ "eval_steps_per_second": 0.528,
+ "step": 192
+ },
+ {
+ "epoch": 2.06,
+ "grad_norm": 0.28378300985247035,
+ "learning_rate": 9.783653750205915e-05,
+ "loss": 0.7478,
+ "step": 193
+ },
+ {
+ "epoch": 2.07,
+ "grad_norm": 0.31792721348179676,
+ "learning_rate": 9.697137936798634e-05,
+ "loss": 0.7961,
+ "step": 194
+ },
+ {
+ "epoch": 2.08,
+ "grad_norm": 0.3291666436295964,
+ "learning_rate": 9.610644807862625e-05,
+ "loss": 0.7434,
+ "step": 195
+ },
+ {
+ "epoch": 2.09,
+ "grad_norm": 0.301579259001567,
+ "learning_rate": 9.524180841762577e-05,
+ "loss": 0.7779,
+ "step": 196
+ },
+ {
+ "epoch": 2.1,
+ "grad_norm": 0.30252161240414444,
+ "learning_rate": 9.437752514678887e-05,
+ "loss": 0.7689,
+ "step": 197
+ },
+ {
+ "epoch": 2.11,
+ "grad_norm": 0.3350657085129171,
+ "learning_rate": 9.35136630012257e-05,
+ "loss": 0.7574,
+ "step": 198
+ },
+ {
+ "epoch": 2.12,
+ "grad_norm": 0.3053109929956358,
+ "learning_rate": 9.265028668450402e-05,
+ "loss": 0.7729,
+ "step": 199
+ },
+ {
+ "epoch": 2.14,
+ "grad_norm": 0.30367223609567207,
+ "learning_rate": 9.178746086380275e-05,
+ "loss": 0.8111,
+ "step": 200
+ },
+ {
+ "epoch": 2.15,
+ "grad_norm": 0.3366440949136126,
+ "learning_rate": 9.092525016506858e-05,
+ "loss": 0.7986,
+ "step": 201
+ },
+ {
+ "epoch": 2.16,
+ "grad_norm": 0.3228036608413652,
+ "learning_rate": 9.006371916817534e-05,
+ "loss": 0.8382,
+ "step": 202
+ },
+ {
+ "epoch": 2.17,
+ "grad_norm": 0.2919040789403488,
+ "learning_rate": 8.920293240208694e-05,
+ "loss": 0.7696,
+ "step": 203
+ },
+ {
+ "epoch": 2.18,
+ "grad_norm": 0.30084198177583166,
+ "learning_rate": 8.83429543400241e-05,
+ "loss": 0.7671,
+ "step": 204
+ },
+ {
+ "epoch": 2.19,
+ "grad_norm": 0.33931609000743107,
+ "learning_rate": 8.748384939463543e-05,
+ "loss": 0.7553,
+ "step": 205
+ },
+ {
+ "epoch": 2.2,
+ "grad_norm": 0.30413284924824485,
+ "learning_rate": 8.662568191317273e-05,
+ "loss": 0.7324,
+ "step": 206
+ },
+ {
+ "epoch": 2.21,
+ "grad_norm": 0.3014038998090481,
+ "learning_rate": 8.57685161726715e-05,
+ "loss": 0.7567,
+ "step": 207
+ },
+ {
+ "epoch": 2.22,
+ "grad_norm": 0.3176466329519527,
+ "learning_rate": 8.491241637513644e-05,
+ "loss": 0.8222,
+ "step": 208
+ },
+ {
+ "epoch": 2.23,
+ "grad_norm": 0.29981213041628285,
+ "learning_rate": 8.405744664273278e-05,
+ "loss": 0.7077,
+ "step": 209
+ },
+ {
+ "epoch": 2.24,
+ "grad_norm": 0.2937916452228122,
+ "learning_rate": 8.320367101298351e-05,
+ "loss": 0.7231,
+ "step": 210
+ },
+ {
+ "epoch": 2.25,
+ "grad_norm": 0.32040684171320816,
+ "learning_rate": 8.235115343397295e-05,
+ "loss": 0.7556,
+ "step": 211
+ },
+ {
+ "epoch": 2.26,
+ "grad_norm": 0.31083028085316033,
+ "learning_rate": 8.149995775955686e-05,
+ "loss": 0.7514,
+ "step": 212
+ },
+ {
+ "epoch": 2.27,
+ "grad_norm": 0.3215465383581194,
+ "learning_rate": 8.065014774458003e-05,
+ "loss": 0.7933,
+ "step": 213
+ },
+ {
+ "epoch": 2.28,
+ "grad_norm": 0.3081200259196015,
+ "learning_rate": 7.980178704010089e-05,
+ "loss": 0.8062,
+ "step": 214
+ },
+ {
+ "epoch": 2.3,
+ "grad_norm": 0.3333248296288759,
+ "learning_rate": 7.895493918862396e-05,
+ "loss": 0.7784,
+ "step": 215
+ },
+ {
+ "epoch": 2.31,
+ "grad_norm": 0.3301326097292383,
+ "learning_rate": 7.810966761934053e-05,
+ "loss": 0.8154,
+ "step": 216
+ },
+ {
+ "epoch": 2.31,
+ "eval_loss": 1.1513652801513672,
+ "eval_runtime": 119.4371,
+ "eval_samples_per_second": 8.364,
+ "eval_steps_per_second": 0.527,
+ "step": 216
+ },
+ {
+ "epoch": 2.32,
+ "grad_norm": 0.3166760836422428,
+ "learning_rate": 7.726603564337791e-05,
+ "loss": 0.7486,
+ "step": 217
+ },
+ {
+ "epoch": 2.33,
+ "grad_norm": 0.31309757318131876,
+ "learning_rate": 7.642410644905726e-05,
+ "loss": 0.771,
+ "step": 218
+ },
+ {
+ "epoch": 2.34,
+ "grad_norm": 0.36968796131043985,
+ "learning_rate": 7.558394309716088e-05,
+ "loss": 0.8051,
+ "step": 219
+ },
+ {
+ "epoch": 2.35,
+ "grad_norm": 0.27537675917328025,
+ "learning_rate": 7.474560851620873e-05,
+ "loss": 0.7536,
+ "step": 220
+ },
+ {
+ "epoch": 2.36,
+ "grad_norm": 0.2878011945022053,
+ "learning_rate": 7.390916549774536e-05,
+ "loss": 0.8126,
+ "step": 221
+ },
+ {
+ "epoch": 2.37,
+ "grad_norm": 0.3172405217395398,
+ "learning_rate": 7.307467669163655e-05,
+ "loss": 0.8156,
+ "step": 222
+ },
+ {
+ "epoch": 2.38,
+ "grad_norm": 0.3183651086957915,
+ "learning_rate": 7.224220460137701e-05,
+ "loss": 0.7821,
+ "step": 223
+ },
+ {
+ "epoch": 2.39,
+ "grad_norm": 0.3318078467573977,
+ "learning_rate": 7.141181157940859e-05,
+ "loss": 0.7993,
+ "step": 224
+ },
+ {
+ "epoch": 2.4,
+ "grad_norm": 0.28446170407344085,
+ "learning_rate": 7.058355982245037e-05,
+ "loss": 0.7987,
+ "step": 225
+ },
+ {
+ "epoch": 2.41,
+ "grad_norm": 0.33568352702219995,
+ "learning_rate": 6.97575113668399e-05,
+ "loss": 0.773,
+ "step": 226
+ },
+ {
+ "epoch": 2.42,
+ "grad_norm": 0.30820575901544944,
+ "learning_rate": 6.893372808388675e-05,
+ "loss": 0.813,
+ "step": 227
+ },
+ {
+ "epoch": 2.43,
+ "grad_norm": 0.3121364386024255,
+ "learning_rate": 6.811227167523815e-05,
+ "loss": 0.7716,
+ "step": 228
+ },
+ {
+ "epoch": 2.44,
+ "grad_norm": 0.3211455560922844,
+ "learning_rate": 6.729320366825784e-05,
+ "loss": 0.7577,
+ "step": 229
+ },
+ {
+ "epoch": 2.46,
+ "grad_norm": 0.3315601260165869,
+ "learning_rate": 6.647658541141735e-05,
+ "loss": 0.779,
+ "step": 230
+ },
+ {
+ "epoch": 2.47,
+ "grad_norm": 0.35482236759964675,
+ "learning_rate": 6.566247806970119e-05,
+ "loss": 0.7936,
+ "step": 231
+ },
+ {
+ "epoch": 2.48,
+ "grad_norm": 0.3318703205331905,
+ "learning_rate": 6.485094262002529e-05,
+ "loss": 0.7721,
+ "step": 232
+ },
+ {
+ "epoch": 2.49,
+ "grad_norm": 0.313412585518615,
+ "learning_rate": 6.404203984667019e-05,
+ "loss": 0.7333,
+ "step": 233
+ },
+ {
+ "epoch": 2.5,
+ "grad_norm": 0.3389693444254627,
+ "learning_rate": 6.323583033672799e-05,
+ "loss": 0.6991,
+ "step": 234
+ },
+ {
+ "epoch": 2.51,
+ "grad_norm": 0.33056782619334757,
+ "learning_rate": 6.243237447556449e-05,
+ "loss": 0.7872,
+ "step": 235
+ },
+ {
+ "epoch": 2.52,
+ "grad_norm": 0.3064085209522584,
+ "learning_rate": 6.163173244229619e-05,
+ "loss": 0.7713,
+ "step": 236
+ },
+ {
+ "epoch": 2.53,
+ "grad_norm": 0.3109445125421656,
+ "learning_rate": 6.083396420528298e-05,
+ "loss": 0.8228,
+ "step": 237
+ },
+ {
+ "epoch": 2.54,
+ "grad_norm": 0.35767207742703394,
+ "learning_rate": 6.0039129517636435e-05,
+ "loss": 0.8167,
+ "step": 238
+ },
+ {
+ "epoch": 2.55,
+ "grad_norm": 0.32869196909020376,
+ "learning_rate": 5.924728791274432e-05,
+ "loss": 0.7893,
+ "step": 239
+ },
+ {
+ "epoch": 2.56,
+ "grad_norm": 0.31178216743238674,
+ "learning_rate": 5.845849869981137e-05,
+ "loss": 0.7354,
+ "step": 240
+ },
+ {
+ "epoch": 2.56,
+ "eval_loss": 1.1470853090286255,
+ "eval_runtime": 119.0749,
+ "eval_samples_per_second": 8.39,
+ "eval_steps_per_second": 0.529,
+ "step": 240
+ },
+ {
+ "epoch": 2.57,
+ "grad_norm": 0.3146586486940167,
+ "learning_rate": 5.7672820959417254e-05,
+ "loss": 0.785,
+ "step": 241
+ },
+ {
+ "epoch": 2.58,
+ "grad_norm": 0.3309473634570162,
+ "learning_rate": 5.68903135390912e-05,
+ "loss": 0.7007,
+ "step": 242
+ },
+ {
+ "epoch": 2.59,
+ "grad_norm": 0.2927704203363025,
+ "learning_rate": 5.611103504890444e-05,
+ "loss": 0.778,
+ "step": 243
+ },
+ {
+ "epoch": 2.6,
+ "grad_norm": 0.31346541530480915,
+ "learning_rate": 5.533504385708024e-05,
+ "loss": 0.7272,
+ "step": 244
+ },
+ {
+ "epoch": 2.62,
+ "grad_norm": 0.2996345434845278,
+ "learning_rate": 5.456239808562209e-05,
+ "loss": 0.8091,
+ "step": 245
+ },
+ {
+ "epoch": 2.63,
+ "grad_norm": 0.29407937930772826,
+ "learning_rate": 5.379315560596038e-05,
+ "loss": 0.7666,
+ "step": 246
+ },
+ {
+ "epoch": 2.64,
+ "grad_norm": 0.30530254935425627,
+ "learning_rate": 5.3027374034617785e-05,
+ "loss": 0.7982,
+ "step": 247
+ },
+ {
+ "epoch": 2.65,
+ "grad_norm": 0.3298149075133802,
+ "learning_rate": 5.226511072889371e-05,
+ "loss": 0.7962,
+ "step": 248
+ },
+ {
+ "epoch": 2.66,
+ "grad_norm": 0.33155001378615223,
+ "learning_rate": 5.1506422782568345e-05,
+ "loss": 0.8087,
+ "step": 249
+ },
+ {
+ "epoch": 2.67,
+ "grad_norm": 0.32891369446509405,
+ "learning_rate": 5.0751367021626215e-05,
+ "loss": 0.7702,
+ "step": 250
+ },
+ {
+ "epoch": 2.68,
+ "grad_norm": 0.3042328939887202,
+ "learning_rate": 5.000000000000002e-05,
+ "loss": 0.7924,
+ "step": 251
+ },
+ {
+ "epoch": 2.69,
+ "grad_norm": 0.3037799376581133,
+ "learning_rate": 4.9252377995334444e-05,
+ "loss": 0.7852,
+ "step": 252
+ },
+ {
+ "epoch": 2.7,
+ "grad_norm": 0.3435430445603929,
+ "learning_rate": 4.85085570047713e-05,
+ "loss": 0.7501,
+ "step": 253
+ },
+ {
+ "epoch": 2.71,
+ "grad_norm": 0.3072160193979946,
+ "learning_rate": 4.776859274075506e-05,
+ "loss": 0.7462,
+ "step": 254
+ },
+ {
+ "epoch": 2.72,
+ "grad_norm": 0.3223586439500028,
+ "learning_rate": 4.703254062686017e-05,
+ "loss": 0.775,
+ "step": 255
+ },
+ {
+ "epoch": 2.73,
+ "grad_norm": 0.3270406403084203,
+ "learning_rate": 4.630045579363957e-05,
+ "loss": 0.8306,
+ "step": 256
+ },
+ {
+ "epoch": 2.74,
+ "grad_norm": 0.3360192842512657,
+ "learning_rate": 4.557239307449561e-05,
+ "loss": 0.7697,
+ "step": 257
+ },
+ {
+ "epoch": 2.75,
+ "grad_norm": 0.34282816479900324,
+ "learning_rate": 4.484840700157295e-05,
+ "loss": 0.7654,
+ "step": 258
+ },
+ {
+ "epoch": 2.77,
+ "grad_norm": 0.30039142762313786,
+ "learning_rate": 4.412855180167406e-05,
+ "loss": 0.7703,
+ "step": 259
+ },
+ {
+ "epoch": 2.78,
+ "grad_norm": 0.34307884673711425,
+ "learning_rate": 4.3412881392197526e-05,
+ "loss": 0.7993,
+ "step": 260
+ },
+ {
+ "epoch": 2.79,
+ "grad_norm": 0.33685538845268104,
+ "learning_rate": 4.270144937709981e-05,
+ "loss": 0.7866,
+ "step": 261
+ },
+ {
+ "epoch": 2.8,
+ "grad_norm": 0.33166767859224683,
+ "learning_rate": 4.19943090428802e-05,
+ "loss": 0.8083,
+ "step": 262
+ },
+ {
+ "epoch": 2.81,
+ "grad_norm": 0.3086370003245581,
+ "learning_rate": 4.129151335458957e-05,
+ "loss": 0.7938,
+ "step": 263
+ },
+ {
+ "epoch": 2.82,
+ "grad_norm": 0.3715649674817313,
+ "learning_rate": 4.059311495186338e-05,
+ "loss": 0.7577,
+ "step": 264
+ },
+ {
+ "epoch": 2.82,
+ "eval_loss": 1.1478512287139893,
+ "eval_runtime": 119.1178,
+ "eval_samples_per_second": 8.387,
+ "eval_steps_per_second": 0.529,
+ "step": 264
+ },
+ {
+ "epoch": 2.83,
+ "grad_norm": 0.3298033298390841,
+ "learning_rate": 3.9899166144978904e-05,
+ "loss": 0.8296,
+ "step": 265
+ },
+ {
+ "epoch": 2.84,
+ "grad_norm": 0.3294808666769515,
+ "learning_rate": 3.920971891093718e-05,
+ "loss": 0.8206,
+ "step": 266
+ },
+ {
+ "epoch": 2.85,
+ "grad_norm": 0.3239672501165848,
+ "learning_rate": 3.852482488956992e-05,
+ "loss": 0.8116,
+ "step": 267
+ },
+ {
+ "epoch": 2.86,
+ "grad_norm": 0.3286742994048133,
+ "learning_rate": 3.784453537967161e-05,
+ "loss": 0.8096,
+ "step": 268
+ },
+ {
+ "epoch": 2.87,
+ "grad_norm": 0.31259050250842946,
+ "learning_rate": 3.7168901335157315e-05,
+ "loss": 0.7669,
+ "step": 269
+ },
+ {
+ "epoch": 2.88,
+ "grad_norm": 0.3308991711135206,
+ "learning_rate": 3.649797336124615e-05,
+ "loss": 0.8041,
+ "step": 270
+ },
+ {
+ "epoch": 2.89,
+ "grad_norm": 0.32757727002633424,
+ "learning_rate": 3.583180171067101e-05,
+ "loss": 0.7673,
+ "step": 271
+ },
+ {
+ "epoch": 2.9,
+ "grad_norm": 0.3342551756453125,
+ "learning_rate": 3.517043627991441e-05,
+ "loss": 0.8005,
+ "step": 272
+ },
+ {
+ "epoch": 2.91,
+ "grad_norm": 0.31643754309861705,
+ "learning_rate": 3.45139266054715e-05,
+ "loss": 0.787,
+ "step": 273
+ },
+ {
+ "epoch": 2.93,
+ "grad_norm": 0.3140452683879005,
+ "learning_rate": 3.3862321860139576e-05,
+ "loss": 0.7888,
+ "step": 274
+ },
+ {
+ "epoch": 2.94,
+ "grad_norm": 0.30706221155036223,
+ "learning_rate": 3.3215670849335155e-05,
+ "loss": 0.827,
+ "step": 275
+ },
+ {
+ "epoch": 2.95,
+ "grad_norm": 0.3185483102727301,
+ "learning_rate": 3.257402200743821e-05,
+ "loss": 0.7779,
+ "step": 276
+ },
+ {
+ "epoch": 2.96,
+ "grad_norm": 0.3032818796307545,
+ "learning_rate": 3.19374233941647e-05,
+ "loss": 0.7993,
+ "step": 277
+ },
+ {
+ "epoch": 2.97,
+ "grad_norm": 0.3057758504695884,
+ "learning_rate": 3.130592269096671e-05,
+ "loss": 0.768,
+ "step": 278
+ },
+ {
+ "epoch": 2.98,
+ "grad_norm": 0.3245404038219604,
+ "learning_rate": 3.0679567197461134e-05,
+ "loss": 0.7706,
+ "step": 279
+ }
+ ],
+ "logging_steps": 1,
+ "max_steps": 372,
+ "num_input_tokens_seen": 0,
+ "num_train_epochs": 4,
+ "save_steps": 93,
+ "total_flos": 5.168039211319689e+18,
+ "train_batch_size": 4,
+ "trial_name": null,
+ "trial_params": null
+}
diff --git a/checkpoint-279/training_args.bin b/checkpoint-279/training_args.bin
new file mode 100644
index 0000000000000000000000000000000000000000..bc11601d02e30533659dbf12ba92faed1ba25b5a
--- /dev/null
+++ b/checkpoint-279/training_args.bin
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c56515a18cd914d4eee44c09952d3a756ea623b0b6e69e8dfaeb0dbc7b665f46
+size 6776
diff --git a/checkpoint-279/zero_to_fp32.py b/checkpoint-279/zero_to_fp32.py
new file mode 100644
index 0000000000000000000000000000000000000000..49b846633d6eb1e836e34681e44033581f4edb7b
--- /dev/null
+++ b/checkpoint-279/zero_to_fp32.py
@@ -0,0 +1,592 @@
+#!/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 _has_callable(obj, fn):
+ attr = getattr(obj, fn, None)
+ return callable(attr)
+
+
+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() if _has_callable(shape, 'numel') else math.prod(shape)
+ 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/checkpoint-336/README.md b/checkpoint-336/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..1d1a367c446e3a5f9a585222f3bda62c8b677d2b
--- /dev/null
+++ b/checkpoint-336/README.md
@@ -0,0 +1,202 @@
+---
+library_name: peft
+base_model: google/gemma-2b
+---
+
+# 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/checkpoint-336/adapter_config.json b/checkpoint-336/adapter_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..9a11027e1f94ce0414cb1f976775603b02ca0a82
--- /dev/null
+++ b/checkpoint-336/adapter_config.json
@@ -0,0 +1,33 @@
+{
+ "alpha_pattern": {},
+ "auto_mapping": null,
+ "base_model_name_or_path": "google/gemma-2b",
+ "bias": "none",
+ "fan_in_fan_out": null,
+ "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,
+ "peft_type": "LORA",
+ "r": 32,
+ "rank_pattern": {},
+ "revision": null,
+ "target_modules": [
+ "up_proj",
+ "q_proj",
+ "v_proj",
+ "down_proj",
+ "gate_proj",
+ "k_proj",
+ "o_proj"
+ ],
+ "task_type": "CAUSAL_LM",
+ "use_dora": false,
+ "use_rslora": false
+}
\ No newline at end of file
diff --git a/checkpoint-336/adapter_model.safetensors b/checkpoint-336/adapter_model.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..88007c5ab9f91dae1bc4ebc890c4c4c690721391
--- /dev/null
+++ b/checkpoint-336/adapter_model.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5ce5c9479f7b4e2f4f1c71ed29d0ec95f79e1731de4be9d3f7759abe3043fcdc
+size 78480320
diff --git a/checkpoint-336/global_step336/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/checkpoint-336/global_step336/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..0f616a6d85e21a06963728d0c146c064a0bb10e0
--- /dev/null
+++ b/checkpoint-336/global_step336/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:5f204930ec4f2a105b656f8596b32abc5228db4def6b1aa8c6f63fe8c492820e
+size 58886928
diff --git a/checkpoint-336/global_step336/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt b/checkpoint-336/global_step336/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..e801efc107d09178bacb23707472c4f4cc14c46e
--- /dev/null
+++ b/checkpoint-336/global_step336/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bd427c55f17c0510ec2ed53fe5e319eb0a2c4761d4083df28d11ba7aa84e5a15
+size 58885968
diff --git a/checkpoint-336/global_step336/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt b/checkpoint-336/global_step336/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..fa0bcde701b60ab4d2f01a933057b3ea69842e19
--- /dev/null
+++ b/checkpoint-336/global_step336/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6271e5b9edc1d160ad0326ac1a89d8d44ef09363904f40271525aff81aa3b01d
+size 58886992
diff --git a/checkpoint-336/global_step336/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt b/checkpoint-336/global_step336/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..c1bfd73d107a2b365992cc375a77a08da8ce1a82
--- /dev/null
+++ b/checkpoint-336/global_step336/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5abf7c61e69335a8e881c7220e7017eb5372fdf817a3b0d26486e4faab795701
+size 58886032
diff --git a/checkpoint-336/global_step336/mp_rank_00_model_states.pt b/checkpoint-336/global_step336/mp_rank_00_model_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..5348de636f4e1ff9b365c04b03562adcc211d530
--- /dev/null
+++ b/checkpoint-336/global_step336/mp_rank_00_model_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8dbda4b13cb1e71570782ac3ce184727dbacb34070d7b08deeb937890375555c
+size 1159049922
diff --git a/checkpoint-336/latest b/checkpoint-336/latest
new file mode 100644
index 0000000000000000000000000000000000000000..2318a7b72334dbaaeb3296df1453d0694267c1df
--- /dev/null
+++ b/checkpoint-336/latest
@@ -0,0 +1 @@
+global_step336
\ No newline at end of file
diff --git a/checkpoint-336/rng_state_0.pth b/checkpoint-336/rng_state_0.pth
new file mode 100644
index 0000000000000000000000000000000000000000..1eae54b3e473b47c36ca4eb73a37d8438e940599
--- /dev/null
+++ b/checkpoint-336/rng_state_0.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:28b9cac536dcc2f0fcb0db1a7ed44d898a5e257f0e6a2dde4782893acb56ce7d
+size 15024
diff --git a/checkpoint-336/rng_state_1.pth b/checkpoint-336/rng_state_1.pth
new file mode 100644
index 0000000000000000000000000000000000000000..1648873632b7b01849d076effee4e57a984deaea
--- /dev/null
+++ b/checkpoint-336/rng_state_1.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d3ee31ce56c4f2248ab7aaf5beaf8d895447d28644df750b83cc2177262498de
+size 15024
diff --git a/checkpoint-336/rng_state_2.pth b/checkpoint-336/rng_state_2.pth
new file mode 100644
index 0000000000000000000000000000000000000000..58b24b2dcc40b678d90990ccde759a13b6a17d27
--- /dev/null
+++ b/checkpoint-336/rng_state_2.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a615e7b3e06287a0e82a15b753b1c48c658347992fbb7d59ee5836d824655ebd
+size 15024
diff --git a/checkpoint-336/rng_state_3.pth b/checkpoint-336/rng_state_3.pth
new file mode 100644
index 0000000000000000000000000000000000000000..33127e14222c12655f914d9b52dc3f8c4985b09d
--- /dev/null
+++ b/checkpoint-336/rng_state_3.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fe5c5388f4cf688aa51717160bed97071e825a07ba7d9a22897241c258de91d9
+size 15024
diff --git a/checkpoint-336/scheduler.pt b/checkpoint-336/scheduler.pt
new file mode 100644
index 0000000000000000000000000000000000000000..a68d06deacf6d087bdaf7905fa20eeaa6368b72f
--- /dev/null
+++ b/checkpoint-336/scheduler.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:033700c231840b794630147afe6dca04265ec61bb681c241b2e3012bcb9cc8a3
+size 1064
diff --git a/checkpoint-336/trainer_state.json b/checkpoint-336/trainer_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..66c93d537aceb5a86d3b8101462f232903cd385e
--- /dev/null
+++ b/checkpoint-336/trainer_state.json
@@ -0,0 +1,2477 @@
+{
+ "best_metric": 1.203959345817566,
+ "best_model_checkpoint": "./out/checkpoint-112",
+ "epoch": 2.991097922848665,
+ "eval_steps": 28,
+ "global_step": 336,
+ "is_hyper_param_search": false,
+ "is_local_process_zero": true,
+ "is_world_process_zero": true,
+ "log_history": [
+ {
+ "epoch": 0.01,
+ "grad_norm": 4.313233023002325,
+ "learning_rate": 1.8181818181818182e-05,
+ "loss": 1.9528,
+ "step": 1
+ },
+ {
+ "epoch": 0.01,
+ "eval_loss": 2.1875686645507812,
+ "eval_runtime": 12.8608,
+ "eval_samples_per_second": 23.327,
+ "eval_steps_per_second": 2.955,
+ "step": 1
+ },
+ {
+ "epoch": 0.02,
+ "grad_norm": 4.039172290955229,
+ "learning_rate": 3.6363636363636364e-05,
+ "loss": 1.8358,
+ "step": 2
+ },
+ {
+ "epoch": 0.03,
+ "grad_norm": 4.504705512003857,
+ "learning_rate": 5.4545454545454546e-05,
+ "loss": 2.0207,
+ "step": 3
+ },
+ {
+ "epoch": 0.04,
+ "grad_norm": 4.591862504847867,
+ "learning_rate": 7.272727272727273e-05,
+ "loss": 1.979,
+ "step": 4
+ },
+ {
+ "epoch": 0.04,
+ "grad_norm": 3.812893581399005,
+ "learning_rate": 9.090909090909092e-05,
+ "loss": 1.8356,
+ "step": 5
+ },
+ {
+ "epoch": 0.05,
+ "grad_norm": 0.42886752872747064,
+ "learning_rate": 0.00010909090909090909,
+ "loss": 1.6722,
+ "step": 6
+ },
+ {
+ "epoch": 0.06,
+ "grad_norm": 0.22497294481851865,
+ "learning_rate": 0.00012727272727272728,
+ "loss": 1.6711,
+ "step": 7
+ },
+ {
+ "epoch": 0.07,
+ "grad_norm": 0.20955259847301927,
+ "learning_rate": 0.00014545454545454546,
+ "loss": 1.8546,
+ "step": 8
+ },
+ {
+ "epoch": 0.08,
+ "grad_norm": 0.2200095325539683,
+ "learning_rate": 0.00016363636363636366,
+ "loss": 1.7538,
+ "step": 9
+ },
+ {
+ "epoch": 0.09,
+ "grad_norm": 0.19187339879899318,
+ "learning_rate": 0.00018181818181818183,
+ "loss": 1.6137,
+ "step": 10
+ },
+ {
+ "epoch": 0.1,
+ "grad_norm": 0.2113395673717837,
+ "learning_rate": 0.0002,
+ "loss": 1.5225,
+ "step": 11
+ },
+ {
+ "epoch": 0.11,
+ "grad_norm": 0.17673768408382828,
+ "learning_rate": 0.00019999741592564903,
+ "loss": 1.5303,
+ "step": 12
+ },
+ {
+ "epoch": 0.12,
+ "grad_norm": 0.24120852820548402,
+ "learning_rate": 0.00019998966383614488,
+ "loss": 1.5089,
+ "step": 13
+ },
+ {
+ "epoch": 0.12,
+ "grad_norm": 0.3089489160535682,
+ "learning_rate": 0.00019997674413212708,
+ "loss": 1.4525,
+ "step": 14
+ },
+ {
+ "epoch": 0.13,
+ "grad_norm": 0.2656143410731927,
+ "learning_rate": 0.00019995865748130516,
+ "loss": 1.4648,
+ "step": 15
+ },
+ {
+ "epoch": 0.14,
+ "grad_norm": 3.769410316227205,
+ "learning_rate": 0.0001999354048184241,
+ "loss": 1.3439,
+ "step": 16
+ },
+ {
+ "epoch": 0.15,
+ "grad_norm": 0.32102180658823753,
+ "learning_rate": 0.00019990698734521613,
+ "loss": 1.4644,
+ "step": 17
+ },
+ {
+ "epoch": 0.16,
+ "grad_norm": 0.22094428128919438,
+ "learning_rate": 0.0001998734065303385,
+ "loss": 1.1927,
+ "step": 18
+ },
+ {
+ "epoch": 0.17,
+ "grad_norm": 0.22344487218098863,
+ "learning_rate": 0.00019983466410929764,
+ "loss": 1.2916,
+ "step": 19
+ },
+ {
+ "epoch": 0.18,
+ "grad_norm": 0.25036262498479456,
+ "learning_rate": 0.0001997907620843595,
+ "loss": 1.2982,
+ "step": 20
+ },
+ {
+ "epoch": 0.19,
+ "grad_norm": 0.22671119151539426,
+ "learning_rate": 0.00019974170272444604,
+ "loss": 1.2146,
+ "step": 21
+ },
+ {
+ "epoch": 0.2,
+ "grad_norm": 0.259249080403425,
+ "learning_rate": 0.00019968748856501788,
+ "loss": 1.2072,
+ "step": 22
+ },
+ {
+ "epoch": 0.2,
+ "grad_norm": 0.23538477651406017,
+ "learning_rate": 0.00019962812240794343,
+ "loss": 1.3281,
+ "step": 23
+ },
+ {
+ "epoch": 0.21,
+ "grad_norm": 0.2659115087625978,
+ "learning_rate": 0.000199563607321354,
+ "loss": 1.1396,
+ "step": 24
+ },
+ {
+ "epoch": 0.22,
+ "grad_norm": 0.23617264858854836,
+ "learning_rate": 0.0001994939466394851,
+ "loss": 1.1389,
+ "step": 25
+ },
+ {
+ "epoch": 0.23,
+ "grad_norm": 0.20514227454180176,
+ "learning_rate": 0.00019941914396250446,
+ "loss": 1.249,
+ "step": 26
+ },
+ {
+ "epoch": 0.24,
+ "grad_norm": 0.19660894225830144,
+ "learning_rate": 0.00019933920315632557,
+ "loss": 1.1776,
+ "step": 27
+ },
+ {
+ "epoch": 0.25,
+ "grad_norm": 0.2067663909729571,
+ "learning_rate": 0.00019925412835240826,
+ "loss": 1.1327,
+ "step": 28
+ },
+ {
+ "epoch": 0.25,
+ "eval_loss": 1.2991960048675537,
+ "eval_runtime": 13.153,
+ "eval_samples_per_second": 22.808,
+ "eval_steps_per_second": 2.889,
+ "step": 28
+ },
+ {
+ "epoch": 0.26,
+ "grad_norm": 0.1816588361901526,
+ "learning_rate": 0.0001991639239475448,
+ "loss": 1.1247,
+ "step": 29
+ },
+ {
+ "epoch": 0.27,
+ "grad_norm": 0.19626955153633807,
+ "learning_rate": 0.00019906859460363307,
+ "loss": 1.1212,
+ "step": 30
+ },
+ {
+ "epoch": 0.28,
+ "grad_norm": 0.21084275590405852,
+ "learning_rate": 0.00019896814524743528,
+ "loss": 0.9927,
+ "step": 31
+ },
+ {
+ "epoch": 0.28,
+ "grad_norm": 0.16560054949456768,
+ "learning_rate": 0.0001988625810703235,
+ "loss": 1.1249,
+ "step": 32
+ },
+ {
+ "epoch": 0.29,
+ "grad_norm": 0.14950879528294536,
+ "learning_rate": 0.0001987519075280114,
+ "loss": 1.1401,
+ "step": 33
+ },
+ {
+ "epoch": 0.3,
+ "grad_norm": 0.1777966882651237,
+ "learning_rate": 0.00019863613034027224,
+ "loss": 1.0769,
+ "step": 34
+ },
+ {
+ "epoch": 0.31,
+ "grad_norm": 0.1480537272052743,
+ "learning_rate": 0.00019851525549064323,
+ "loss": 1.0686,
+ "step": 35
+ },
+ {
+ "epoch": 0.32,
+ "grad_norm": 0.16911906750319078,
+ "learning_rate": 0.00019838928922611632,
+ "loss": 1.0253,
+ "step": 36
+ },
+ {
+ "epoch": 0.33,
+ "grad_norm": 0.15987682972555176,
+ "learning_rate": 0.00019825823805681543,
+ "loss": 1.0609,
+ "step": 37
+ },
+ {
+ "epoch": 0.34,
+ "grad_norm": 0.15757332939676763,
+ "learning_rate": 0.0001981221087556598,
+ "loss": 1.1086,
+ "step": 38
+ },
+ {
+ "epoch": 0.35,
+ "grad_norm": 0.13201845744757537,
+ "learning_rate": 0.00019798090835801418,
+ "loss": 1.073,
+ "step": 39
+ },
+ {
+ "epoch": 0.36,
+ "grad_norm": 0.12544508015984754,
+ "learning_rate": 0.00019783464416132506,
+ "loss": 1.0633,
+ "step": 40
+ },
+ {
+ "epoch": 0.36,
+ "grad_norm": 0.14645820383886451,
+ "learning_rate": 0.00019768332372474366,
+ "loss": 1.0653,
+ "step": 41
+ },
+ {
+ "epoch": 0.37,
+ "grad_norm": 0.14814101902137117,
+ "learning_rate": 0.00019752695486873517,
+ "loss": 1.0937,
+ "step": 42
+ },
+ {
+ "epoch": 0.38,
+ "grad_norm": 0.13888915595055443,
+ "learning_rate": 0.00019736554567467452,
+ "loss": 1.0462,
+ "step": 43
+ },
+ {
+ "epoch": 0.39,
+ "grad_norm": 0.13185349806639524,
+ "learning_rate": 0.00019719910448442893,
+ "loss": 1.2177,
+ "step": 44
+ },
+ {
+ "epoch": 0.4,
+ "grad_norm": 0.15271046712350847,
+ "learning_rate": 0.00019702763989992662,
+ "loss": 1.0237,
+ "step": 45
+ },
+ {
+ "epoch": 0.41,
+ "grad_norm": 0.17053588557430902,
+ "learning_rate": 0.00019685116078271223,
+ "loss": 1.0038,
+ "step": 46
+ },
+ {
+ "epoch": 0.42,
+ "grad_norm": 0.15641087356577812,
+ "learning_rate": 0.00019666967625348906,
+ "loss": 1.0886,
+ "step": 47
+ },
+ {
+ "epoch": 0.43,
+ "grad_norm": 0.1544028594191567,
+ "learning_rate": 0.00019648319569164736,
+ "loss": 1.1378,
+ "step": 48
+ },
+ {
+ "epoch": 0.44,
+ "grad_norm": 0.14794885994140625,
+ "learning_rate": 0.00019629172873477995,
+ "loss": 1.1495,
+ "step": 49
+ },
+ {
+ "epoch": 0.45,
+ "grad_norm": 0.1577684884028266,
+ "learning_rate": 0.0001960952852781838,
+ "loss": 1.0782,
+ "step": 50
+ },
+ {
+ "epoch": 0.45,
+ "grad_norm": 0.15961044045091288,
+ "learning_rate": 0.0001958938754743489,
+ "loss": 1.0107,
+ "step": 51
+ },
+ {
+ "epoch": 0.46,
+ "grad_norm": 0.14486696586022083,
+ "learning_rate": 0.0001956875097324334,
+ "loss": 1.0494,
+ "step": 52
+ },
+ {
+ "epoch": 0.47,
+ "grad_norm": 0.14250413725518896,
+ "learning_rate": 0.00019547619871772574,
+ "loss": 1.039,
+ "step": 53
+ },
+ {
+ "epoch": 0.48,
+ "grad_norm": 0.1196720279125328,
+ "learning_rate": 0.00019525995335109334,
+ "loss": 1.0966,
+ "step": 54
+ },
+ {
+ "epoch": 0.49,
+ "grad_norm": 0.14984795891635327,
+ "learning_rate": 0.0001950387848084183,
+ "loss": 1.0874,
+ "step": 55
+ },
+ {
+ "epoch": 0.5,
+ "grad_norm": 0.14891088442480416,
+ "learning_rate": 0.00019481270452001987,
+ "loss": 1.097,
+ "step": 56
+ },
+ {
+ "epoch": 0.5,
+ "eval_loss": 1.2264304161071777,
+ "eval_runtime": 13.2279,
+ "eval_samples_per_second": 22.679,
+ "eval_steps_per_second": 2.873,
+ "step": 56
+ },
+ {
+ "epoch": 0.51,
+ "grad_norm": 0.17814266552244534,
+ "learning_rate": 0.00019458172417006347,
+ "loss": 1.1372,
+ "step": 57
+ },
+ {
+ "epoch": 0.52,
+ "grad_norm": 0.16125636132578247,
+ "learning_rate": 0.00019434585569595708,
+ "loss": 1.0623,
+ "step": 58
+ },
+ {
+ "epoch": 0.53,
+ "grad_norm": 0.15203437202125702,
+ "learning_rate": 0.00019410511128773418,
+ "loss": 1.0399,
+ "step": 59
+ },
+ {
+ "epoch": 0.53,
+ "grad_norm": 0.1677461135605213,
+ "learning_rate": 0.0001938595033874238,
+ "loss": 1.0884,
+ "step": 60
+ },
+ {
+ "epoch": 0.54,
+ "grad_norm": 0.13564559875683407,
+ "learning_rate": 0.0001936090446884074,
+ "loss": 1.0176,
+ "step": 61
+ },
+ {
+ "epoch": 0.55,
+ "grad_norm": 0.1521886500642157,
+ "learning_rate": 0.00019335374813476302,
+ "loss": 1.0146,
+ "step": 62
+ },
+ {
+ "epoch": 0.56,
+ "grad_norm": 0.1410132122625916,
+ "learning_rate": 0.00019309362692059617,
+ "loss": 1.044,
+ "step": 63
+ },
+ {
+ "epoch": 0.57,
+ "grad_norm": 0.15237848179385577,
+ "learning_rate": 0.00019282869448935798,
+ "loss": 1.0354,
+ "step": 64
+ },
+ {
+ "epoch": 0.58,
+ "grad_norm": 0.13871660988504514,
+ "learning_rate": 0.00019255896453315052,
+ "loss": 1.0189,
+ "step": 65
+ },
+ {
+ "epoch": 0.59,
+ "grad_norm": 0.14863047478901453,
+ "learning_rate": 0.000192284450992019,
+ "loss": 1.0704,
+ "step": 66
+ },
+ {
+ "epoch": 0.6,
+ "grad_norm": 0.13794806124403974,
+ "learning_rate": 0.0001920051680532314,
+ "loss": 1.0996,
+ "step": 67
+ },
+ {
+ "epoch": 0.61,
+ "grad_norm": 0.13030507705779365,
+ "learning_rate": 0.00019172113015054532,
+ "loss": 1.0015,
+ "step": 68
+ },
+ {
+ "epoch": 0.61,
+ "grad_norm": 0.15092494718902358,
+ "learning_rate": 0.0001914323519634619,
+ "loss": 1.0822,
+ "step": 69
+ },
+ {
+ "epoch": 0.62,
+ "grad_norm": 0.1350212989006066,
+ "learning_rate": 0.00019113884841646736,
+ "loss": 1.0197,
+ "step": 70
+ },
+ {
+ "epoch": 0.63,
+ "grad_norm": 0.18991168066586347,
+ "learning_rate": 0.00019084063467826137,
+ "loss": 1.046,
+ "step": 71
+ },
+ {
+ "epoch": 0.64,
+ "grad_norm": 0.14884381774710187,
+ "learning_rate": 0.00019053772616097337,
+ "loss": 1.0346,
+ "step": 72
+ },
+ {
+ "epoch": 0.65,
+ "grad_norm": 0.15579311209945296,
+ "learning_rate": 0.000190230138519366,
+ "loss": 1.0505,
+ "step": 73
+ },
+ {
+ "epoch": 0.66,
+ "grad_norm": 0.16015337150592127,
+ "learning_rate": 0.000189917887650026,
+ "loss": 1.0504,
+ "step": 74
+ },
+ {
+ "epoch": 0.67,
+ "grad_norm": 0.1443969321518926,
+ "learning_rate": 0.00018960098969054255,
+ "loss": 1.0755,
+ "step": 75
+ },
+ {
+ "epoch": 0.68,
+ "grad_norm": 0.15722162227095848,
+ "learning_rate": 0.00018927946101867347,
+ "loss": 1.0541,
+ "step": 76
+ },
+ {
+ "epoch": 0.69,
+ "grad_norm": 0.17009697584926559,
+ "learning_rate": 0.0001889533182514986,
+ "loss": 1.0231,
+ "step": 77
+ },
+ {
+ "epoch": 0.69,
+ "grad_norm": 0.1256822726781221,
+ "learning_rate": 0.0001886225782445612,
+ "loss": 0.8814,
+ "step": 78
+ },
+ {
+ "epoch": 0.7,
+ "grad_norm": 0.14019958069756655,
+ "learning_rate": 0.00018828725809099655,
+ "loss": 1.0277,
+ "step": 79
+ },
+ {
+ "epoch": 0.71,
+ "grad_norm": 0.17159459150063183,
+ "learning_rate": 0.0001879473751206489,
+ "loss": 0.9495,
+ "step": 80
+ },
+ {
+ "epoch": 0.72,
+ "grad_norm": 0.146430011834186,
+ "learning_rate": 0.00018760294689917553,
+ "loss": 1.0598,
+ "step": 81
+ },
+ {
+ "epoch": 0.73,
+ "grad_norm": 0.16834256802992476,
+ "learning_rate": 0.00018725399122713912,
+ "loss": 1.0237,
+ "step": 82
+ },
+ {
+ "epoch": 0.74,
+ "grad_norm": 0.15663699267164208,
+ "learning_rate": 0.00018690052613908772,
+ "loss": 0.939,
+ "step": 83
+ },
+ {
+ "epoch": 0.75,
+ "grad_norm": 0.15655985150409854,
+ "learning_rate": 0.0001865425699026226,
+ "loss": 1.0302,
+ "step": 84
+ },
+ {
+ "epoch": 0.75,
+ "eval_loss": 1.2143030166625977,
+ "eval_runtime": 13.2387,
+ "eval_samples_per_second": 22.661,
+ "eval_steps_per_second": 2.87,
+ "step": 84
+ },
+ {
+ "epoch": 0.76,
+ "grad_norm": 0.15273470110260864,
+ "learning_rate": 0.00018618014101745442,
+ "loss": 1.0127,
+ "step": 85
+ },
+ {
+ "epoch": 0.77,
+ "grad_norm": 0.1723243680259614,
+ "learning_rate": 0.0001858132582144469,
+ "loss": 0.9306,
+ "step": 86
+ },
+ {
+ "epoch": 0.77,
+ "grad_norm": 0.14747098547446996,
+ "learning_rate": 0.00018544194045464886,
+ "loss": 1.0073,
+ "step": 87
+ },
+ {
+ "epoch": 0.78,
+ "grad_norm": 0.17208333285514918,
+ "learning_rate": 0.00018506620692831428,
+ "loss": 1.0328,
+ "step": 88
+ },
+ {
+ "epoch": 0.79,
+ "grad_norm": 0.14918051024971962,
+ "learning_rate": 0.0001846860770539105,
+ "loss": 1.0022,
+ "step": 89
+ },
+ {
+ "epoch": 0.8,
+ "grad_norm": 0.156315164090714,
+ "learning_rate": 0.00018430157047711474,
+ "loss": 1.0293,
+ "step": 90
+ },
+ {
+ "epoch": 0.81,
+ "grad_norm": 0.2013424548288477,
+ "learning_rate": 0.00018391270706979862,
+ "loss": 0.9395,
+ "step": 91
+ },
+ {
+ "epoch": 0.82,
+ "grad_norm": 0.17909726353002614,
+ "learning_rate": 0.00018351950692900126,
+ "loss": 0.9756,
+ "step": 92
+ },
+ {
+ "epoch": 0.83,
+ "grad_norm": 0.16939245158726288,
+ "learning_rate": 0.00018312199037589068,
+ "loss": 0.9576,
+ "step": 93
+ },
+ {
+ "epoch": 0.84,
+ "grad_norm": 0.14685720680893694,
+ "learning_rate": 0.00018272017795471345,
+ "loss": 1.0045,
+ "step": 94
+ },
+ {
+ "epoch": 0.85,
+ "grad_norm": 0.17464839085505987,
+ "learning_rate": 0.000182314090431733,
+ "loss": 0.9862,
+ "step": 95
+ },
+ {
+ "epoch": 0.85,
+ "grad_norm": 0.16060904136932572,
+ "learning_rate": 0.00018190374879415632,
+ "loss": 1.0022,
+ "step": 96
+ },
+ {
+ "epoch": 0.86,
+ "grad_norm": 0.18715193350083867,
+ "learning_rate": 0.00018148917424904953,
+ "loss": 1.042,
+ "step": 97
+ },
+ {
+ "epoch": 0.87,
+ "grad_norm": 0.1675573400576595,
+ "learning_rate": 0.0001810703882222415,
+ "loss": 1.0047,
+ "step": 98
+ },
+ {
+ "epoch": 0.88,
+ "grad_norm": 0.1871466286989249,
+ "learning_rate": 0.00018064741235721687,
+ "loss": 0.9834,
+ "step": 99
+ },
+ {
+ "epoch": 0.89,
+ "grad_norm": 0.17453934867565302,
+ "learning_rate": 0.00018022026851399737,
+ "loss": 0.9649,
+ "step": 100
+ },
+ {
+ "epoch": 0.9,
+ "grad_norm": 0.15960631507184767,
+ "learning_rate": 0.0001797889787680119,
+ "loss": 0.9673,
+ "step": 101
+ },
+ {
+ "epoch": 0.91,
+ "grad_norm": 0.17844936635366368,
+ "learning_rate": 0.00017935356540895597,
+ "loss": 1.0951,
+ "step": 102
+ },
+ {
+ "epoch": 0.92,
+ "grad_norm": 0.16733018789000254,
+ "learning_rate": 0.00017891405093963938,
+ "loss": 0.9954,
+ "step": 103
+ },
+ {
+ "epoch": 0.93,
+ "grad_norm": 0.17305556075296993,
+ "learning_rate": 0.00017847045807482345,
+ "loss": 0.892,
+ "step": 104
+ },
+ {
+ "epoch": 0.93,
+ "grad_norm": 0.17197614099805034,
+ "learning_rate": 0.00017802280974004716,
+ "loss": 1.0494,
+ "step": 105
+ },
+ {
+ "epoch": 0.94,
+ "grad_norm": 0.18063836817127235,
+ "learning_rate": 0.000177571129070442,
+ "loss": 1.0264,
+ "step": 106
+ },
+ {
+ "epoch": 0.95,
+ "grad_norm": 0.14597707005699143,
+ "learning_rate": 0.00017711543940953668,
+ "loss": 0.9532,
+ "step": 107
+ },
+ {
+ "epoch": 0.96,
+ "grad_norm": 0.1422048149465345,
+ "learning_rate": 0.00017665576430805053,
+ "loss": 0.97,
+ "step": 108
+ },
+ {
+ "epoch": 0.97,
+ "grad_norm": 0.18313914688655572,
+ "learning_rate": 0.0001761921275226763,
+ "loss": 0.9282,
+ "step": 109
+ },
+ {
+ "epoch": 0.98,
+ "grad_norm": 0.200679751171441,
+ "learning_rate": 0.00017572455301485249,
+ "loss": 1.0,
+ "step": 110
+ },
+ {
+ "epoch": 0.99,
+ "grad_norm": 0.17700985594898055,
+ "learning_rate": 0.00017525306494952498,
+ "loss": 1.0165,
+ "step": 111
+ },
+ {
+ "epoch": 1.0,
+ "grad_norm": 0.19925777202726191,
+ "learning_rate": 0.0001747776876938981,
+ "loss": 1.0346,
+ "step": 112
+ },
+ {
+ "epoch": 1.0,
+ "eval_loss": 1.203959345817566,
+ "eval_runtime": 13.2547,
+ "eval_samples_per_second": 22.634,
+ "eval_steps_per_second": 2.867,
+ "step": 112
+ },
+ {
+ "epoch": 1.01,
+ "grad_norm": 0.1606469603473709,
+ "learning_rate": 0.00017429844581617532,
+ "loss": 0.9832,
+ "step": 113
+ },
+ {
+ "epoch": 1.01,
+ "grad_norm": 0.16403912763780054,
+ "learning_rate": 0.00017381536408428948,
+ "loss": 0.9346,
+ "step": 114
+ },
+ {
+ "epoch": 1.02,
+ "grad_norm": 0.1936046893744468,
+ "learning_rate": 0.00017332846746462288,
+ "loss": 0.9382,
+ "step": 115
+ },
+ {
+ "epoch": 1.03,
+ "grad_norm": 0.14250769247239573,
+ "learning_rate": 0.0001728377811207168,
+ "loss": 0.8914,
+ "step": 116
+ },
+ {
+ "epoch": 1.04,
+ "grad_norm": 0.17889563599797687,
+ "learning_rate": 0.00017234333041197126,
+ "loss": 0.9736,
+ "step": 117
+ },
+ {
+ "epoch": 1.05,
+ "grad_norm": 0.20288960866045594,
+ "learning_rate": 0.00017184514089233405,
+ "loss": 0.8477,
+ "step": 118
+ },
+ {
+ "epoch": 1.06,
+ "grad_norm": 0.20926349930533472,
+ "learning_rate": 0.00017134323830898037,
+ "loss": 0.9933,
+ "step": 119
+ },
+ {
+ "epoch": 1.07,
+ "grad_norm": 0.21316934416499642,
+ "learning_rate": 0.00017083764860098205,
+ "loss": 0.9168,
+ "step": 120
+ },
+ {
+ "epoch": 1.08,
+ "grad_norm": 0.21654320387312692,
+ "learning_rate": 0.0001703283978979671,
+ "loss": 0.9584,
+ "step": 121
+ },
+ {
+ "epoch": 1.09,
+ "grad_norm": 0.23789742308175463,
+ "learning_rate": 0.00016981551251876904,
+ "loss": 1.0298,
+ "step": 122
+ },
+ {
+ "epoch": 1.09,
+ "grad_norm": 0.16433271793469648,
+ "learning_rate": 0.00016929901897006698,
+ "loss": 0.8833,
+ "step": 123
+ },
+ {
+ "epoch": 1.1,
+ "grad_norm": 0.16908727866207868,
+ "learning_rate": 0.0001687789439450156,
+ "loss": 1.0675,
+ "step": 124
+ },
+ {
+ "epoch": 1.11,
+ "grad_norm": 0.1670067931363302,
+ "learning_rate": 0.00016825531432186543,
+ "loss": 0.9515,
+ "step": 125
+ },
+ {
+ "epoch": 1.12,
+ "grad_norm": 0.17777465531550865,
+ "learning_rate": 0.00016772815716257412,
+ "loss": 0.8929,
+ "step": 126
+ },
+ {
+ "epoch": 1.13,
+ "grad_norm": 0.18442783204919333,
+ "learning_rate": 0.00016719749971140754,
+ "loss": 0.8388,
+ "step": 127
+ },
+ {
+ "epoch": 1.14,
+ "grad_norm": 0.19073362304284272,
+ "learning_rate": 0.0001666633693935319,
+ "loss": 0.9584,
+ "step": 128
+ },
+ {
+ "epoch": 1.15,
+ "grad_norm": 0.20189563405135308,
+ "learning_rate": 0.00016612579381359622,
+ "loss": 1.0264,
+ "step": 129
+ },
+ {
+ "epoch": 1.16,
+ "grad_norm": 0.1694138210313381,
+ "learning_rate": 0.00016558480075430594,
+ "loss": 0.9592,
+ "step": 130
+ },
+ {
+ "epoch": 1.17,
+ "grad_norm": 0.19195382946787184,
+ "learning_rate": 0.00016504041817498678,
+ "loss": 0.974,
+ "step": 131
+ },
+ {
+ "epoch": 1.18,
+ "grad_norm": 0.20684215619155688,
+ "learning_rate": 0.00016449267421013994,
+ "loss": 0.8499,
+ "step": 132
+ },
+ {
+ "epoch": 1.18,
+ "grad_norm": 0.22003490429847744,
+ "learning_rate": 0.00016394159716798807,
+ "loss": 0.9659,
+ "step": 133
+ },
+ {
+ "epoch": 1.19,
+ "grad_norm": 0.21977918206745437,
+ "learning_rate": 0.00016338721552901212,
+ "loss": 0.9213,
+ "step": 134
+ },
+ {
+ "epoch": 1.2,
+ "grad_norm": 0.2076993903333204,
+ "learning_rate": 0.0001628295579444796,
+ "loss": 0.8119,
+ "step": 135
+ },
+ {
+ "epoch": 1.21,
+ "grad_norm": 0.2001771499954729,
+ "learning_rate": 0.0001622686532349637,
+ "loss": 0.9183,
+ "step": 136
+ },
+ {
+ "epoch": 1.22,
+ "grad_norm": 0.18671550149366203,
+ "learning_rate": 0.00016170453038885394,
+ "loss": 0.8836,
+ "step": 137
+ },
+ {
+ "epoch": 1.23,
+ "grad_norm": 0.20867427207572573,
+ "learning_rate": 0.0001611372185608578,
+ "loss": 0.9964,
+ "step": 138
+ },
+ {
+ "epoch": 1.24,
+ "grad_norm": 0.20035138443113176,
+ "learning_rate": 0.0001605667470704942,
+ "loss": 0.9209,
+ "step": 139
+ },
+ {
+ "epoch": 1.25,
+ "grad_norm": 0.22696612020505577,
+ "learning_rate": 0.0001599931454005781,
+ "loss": 1.0162,
+ "step": 140
+ },
+ {
+ "epoch": 1.25,
+ "eval_loss": 1.2188584804534912,
+ "eval_runtime": 13.249,
+ "eval_samples_per_second": 22.643,
+ "eval_steps_per_second": 2.868,
+ "step": 140
+ },
+ {
+ "epoch": 1.26,
+ "grad_norm": 0.21554353495018647,
+ "learning_rate": 0.00015941644319569665,
+ "loss": 1.0487,
+ "step": 141
+ },
+ {
+ "epoch": 1.26,
+ "grad_norm": 0.22894492131909072,
+ "learning_rate": 0.00015883667026067745,
+ "loss": 0.9352,
+ "step": 142
+ },
+ {
+ "epoch": 1.27,
+ "grad_norm": 0.19145184577172686,
+ "learning_rate": 0.00015825385655904788,
+ "loss": 0.8878,
+ "step": 143
+ },
+ {
+ "epoch": 1.28,
+ "grad_norm": 0.22544664152936575,
+ "learning_rate": 0.00015766803221148673,
+ "loss": 1.0,
+ "step": 144
+ },
+ {
+ "epoch": 1.29,
+ "grad_norm": 0.26000661355557114,
+ "learning_rate": 0.00015707922749426737,
+ "loss": 0.9339,
+ "step": 145
+ },
+ {
+ "epoch": 1.3,
+ "grad_norm": 0.24433845134512236,
+ "learning_rate": 0.00015648747283769317,
+ "loss": 0.9474,
+ "step": 146
+ },
+ {
+ "epoch": 1.31,
+ "grad_norm": 0.21973931169609887,
+ "learning_rate": 0.00015589279882452476,
+ "loss": 0.9357,
+ "step": 147
+ },
+ {
+ "epoch": 1.32,
+ "grad_norm": 0.23929008733305812,
+ "learning_rate": 0.0001552952361883994,
+ "loss": 0.9985,
+ "step": 148
+ },
+ {
+ "epoch": 1.33,
+ "grad_norm": 0.23431856747573573,
+ "learning_rate": 0.00015469481581224272,
+ "loss": 0.8913,
+ "step": 149
+ },
+ {
+ "epoch": 1.34,
+ "grad_norm": 0.2233543327912565,
+ "learning_rate": 0.00015409156872667258,
+ "loss": 0.9877,
+ "step": 150
+ },
+ {
+ "epoch": 1.34,
+ "grad_norm": 0.21281207674183256,
+ "learning_rate": 0.0001534855261083954,
+ "loss": 0.9071,
+ "step": 151
+ },
+ {
+ "epoch": 1.35,
+ "grad_norm": 0.20314832700152685,
+ "learning_rate": 0.00015287671927859494,
+ "loss": 0.9373,
+ "step": 152
+ },
+ {
+ "epoch": 1.36,
+ "grad_norm": 0.19648565819019825,
+ "learning_rate": 0.00015226517970131343,
+ "loss": 0.9469,
+ "step": 153
+ },
+ {
+ "epoch": 1.37,
+ "grad_norm": 0.2262428264639853,
+ "learning_rate": 0.00015165093898182562,
+ "loss": 1.0066,
+ "step": 154
+ },
+ {
+ "epoch": 1.38,
+ "grad_norm": 0.22253433035020442,
+ "learning_rate": 0.00015103402886500525,
+ "loss": 0.8875,
+ "step": 155
+ },
+ {
+ "epoch": 1.39,
+ "grad_norm": 0.181161648904613,
+ "learning_rate": 0.00015041448123368455,
+ "loss": 0.9004,
+ "step": 156
+ },
+ {
+ "epoch": 1.4,
+ "grad_norm": 0.20968483802367816,
+ "learning_rate": 0.00014979232810700637,
+ "loss": 0.9133,
+ "step": 157
+ },
+ {
+ "epoch": 1.41,
+ "grad_norm": 0.20540509271288435,
+ "learning_rate": 0.0001491676016387694,
+ "loss": 0.8876,
+ "step": 158
+ },
+ {
+ "epoch": 1.42,
+ "grad_norm": 0.18762795731312454,
+ "learning_rate": 0.00014854033411576659,
+ "loss": 0.933,
+ "step": 159
+ },
+ {
+ "epoch": 1.42,
+ "grad_norm": 0.23223345997338857,
+ "learning_rate": 0.00014791055795611624,
+ "loss": 0.9182,
+ "step": 160
+ },
+ {
+ "epoch": 1.43,
+ "grad_norm": 0.21932384461027146,
+ "learning_rate": 0.00014727830570758678,
+ "loss": 0.9514,
+ "step": 161
+ },
+ {
+ "epoch": 1.44,
+ "grad_norm": 0.21819663730951108,
+ "learning_rate": 0.0001466436100459146,
+ "loss": 0.9162,
+ "step": 162
+ },
+ {
+ "epoch": 1.45,
+ "grad_norm": 0.2325813323476676,
+ "learning_rate": 0.00014600650377311522,
+ "loss": 0.9308,
+ "step": 163
+ },
+ {
+ "epoch": 1.46,
+ "grad_norm": 0.2568337182939043,
+ "learning_rate": 0.0001453670198157883,
+ "loss": 0.9995,
+ "step": 164
+ },
+ {
+ "epoch": 1.47,
+ "grad_norm": 0.22578454460723413,
+ "learning_rate": 0.00014472519122341566,
+ "loss": 0.9052,
+ "step": 165
+ },
+ {
+ "epoch": 1.48,
+ "grad_norm": 0.23564258958796755,
+ "learning_rate": 0.00014408105116665336,
+ "loss": 0.9714,
+ "step": 166
+ },
+ {
+ "epoch": 1.49,
+ "grad_norm": 0.24266133562839415,
+ "learning_rate": 0.00014343463293561734,
+ "loss": 0.9219,
+ "step": 167
+ },
+ {
+ "epoch": 1.5,
+ "grad_norm": 0.23472454708184465,
+ "learning_rate": 0.00014278596993816308,
+ "loss": 0.8762,
+ "step": 168
+ },
+ {
+ "epoch": 1.5,
+ "eval_loss": 1.2197421789169312,
+ "eval_runtime": 13.2616,
+ "eval_samples_per_second": 22.622,
+ "eval_steps_per_second": 2.865,
+ "step": 168
+ },
+ {
+ "epoch": 1.5,
+ "grad_norm": 0.23623633375452713,
+ "learning_rate": 0.00014213509569815884,
+ "loss": 0.8809,
+ "step": 169
+ },
+ {
+ "epoch": 1.51,
+ "grad_norm": 0.25344275204523486,
+ "learning_rate": 0.00014148204385375321,
+ "loss": 0.7972,
+ "step": 170
+ },
+ {
+ "epoch": 1.52,
+ "grad_norm": 0.23111396119549557,
+ "learning_rate": 0.0001408268481556366,
+ "loss": 0.8228,
+ "step": 171
+ },
+ {
+ "epoch": 1.53,
+ "grad_norm": 0.2510618369255398,
+ "learning_rate": 0.00014016954246529696,
+ "loss": 0.8849,
+ "step": 172
+ },
+ {
+ "epoch": 1.54,
+ "grad_norm": 0.2764366116622668,
+ "learning_rate": 0.0001395101607532698,
+ "loss": 0.8936,
+ "step": 173
+ },
+ {
+ "epoch": 1.55,
+ "grad_norm": 0.24325811719582827,
+ "learning_rate": 0.00013884873709738257,
+ "loss": 0.8602,
+ "step": 174
+ },
+ {
+ "epoch": 1.56,
+ "grad_norm": 0.213781513838486,
+ "learning_rate": 0.00013818530568099327,
+ "loss": 0.9492,
+ "step": 175
+ },
+ {
+ "epoch": 1.57,
+ "grad_norm": 0.2397396374239057,
+ "learning_rate": 0.00013751990079122412,
+ "loss": 1.0499,
+ "step": 176
+ },
+ {
+ "epoch": 1.58,
+ "grad_norm": 0.21579907170368723,
+ "learning_rate": 0.00013685255681718922,
+ "loss": 0.9438,
+ "step": 177
+ },
+ {
+ "epoch": 1.58,
+ "grad_norm": 0.2359312681928786,
+ "learning_rate": 0.0001361833082482175,
+ "loss": 0.9289,
+ "step": 178
+ },
+ {
+ "epoch": 1.59,
+ "grad_norm": 0.2618189093396496,
+ "learning_rate": 0.0001355121896720703,
+ "loss": 0.981,
+ "step": 179
+ },
+ {
+ "epoch": 1.6,
+ "grad_norm": 0.20876513773174135,
+ "learning_rate": 0.00013483923577315348,
+ "loss": 0.82,
+ "step": 180
+ },
+ {
+ "epoch": 1.61,
+ "grad_norm": 0.22162748553995645,
+ "learning_rate": 0.00013416448133072526,
+ "loss": 1.0131,
+ "step": 181
+ },
+ {
+ "epoch": 1.62,
+ "grad_norm": 0.20975549982451164,
+ "learning_rate": 0.00013348796121709862,
+ "loss": 0.8763,
+ "step": 182
+ },
+ {
+ "epoch": 1.63,
+ "grad_norm": 0.22840397707525473,
+ "learning_rate": 0.00013280971039583906,
+ "loss": 0.949,
+ "step": 183
+ },
+ {
+ "epoch": 1.64,
+ "grad_norm": 0.23384636230161737,
+ "learning_rate": 0.0001321297639199575,
+ "loss": 0.9567,
+ "step": 184
+ },
+ {
+ "epoch": 1.65,
+ "grad_norm": 0.22905979409902957,
+ "learning_rate": 0.000131448156930099,
+ "loss": 0.9153,
+ "step": 185
+ },
+ {
+ "epoch": 1.66,
+ "grad_norm": 0.27620894683694563,
+ "learning_rate": 0.0001307649246527263,
+ "loss": 0.8246,
+ "step": 186
+ },
+ {
+ "epoch": 1.66,
+ "grad_norm": 0.23004170633106227,
+ "learning_rate": 0.0001300801023982995,
+ "loss": 1.0181,
+ "step": 187
+ },
+ {
+ "epoch": 1.67,
+ "grad_norm": 0.2219849136264378,
+ "learning_rate": 0.00012939372555945112,
+ "loss": 0.9535,
+ "step": 188
+ },
+ {
+ "epoch": 1.68,
+ "grad_norm": 0.24458750452490116,
+ "learning_rate": 0.0001287058296091567,
+ "loss": 0.8968,
+ "step": 189
+ },
+ {
+ "epoch": 1.69,
+ "grad_norm": 0.2564337740159555,
+ "learning_rate": 0.00012801645009890195,
+ "loss": 0.7955,
+ "step": 190
+ },
+ {
+ "epoch": 1.7,
+ "grad_norm": 0.24100850371438767,
+ "learning_rate": 0.0001273256226568451,
+ "loss": 0.9235,
+ "step": 191
+ },
+ {
+ "epoch": 1.71,
+ "grad_norm": 0.24757089527873732,
+ "learning_rate": 0.00012663338298597563,
+ "loss": 1.007,
+ "step": 192
+ },
+ {
+ "epoch": 1.72,
+ "grad_norm": 0.24701038583742888,
+ "learning_rate": 0.00012593976686226904,
+ "loss": 0.9885,
+ "step": 193
+ },
+ {
+ "epoch": 1.73,
+ "grad_norm": 0.26373721125634964,
+ "learning_rate": 0.0001252448101328381,
+ "loss": 0.8785,
+ "step": 194
+ },
+ {
+ "epoch": 1.74,
+ "grad_norm": 0.2227761464470136,
+ "learning_rate": 0.00012454854871407994,
+ "loss": 0.8806,
+ "step": 195
+ },
+ {
+ "epoch": 1.74,
+ "grad_norm": 0.2283950634350429,
+ "learning_rate": 0.00012385101858982005,
+ "loss": 0.9053,
+ "step": 196
+ },
+ {
+ "epoch": 1.74,
+ "eval_loss": 1.2198154926300049,
+ "eval_runtime": 13.2208,
+ "eval_samples_per_second": 22.692,
+ "eval_steps_per_second": 2.874,
+ "step": 196
+ },
+ {
+ "epoch": 1.75,
+ "grad_norm": 0.23406423788354982,
+ "learning_rate": 0.00012315225580945252,
+ "loss": 0.9397,
+ "step": 197
+ },
+ {
+ "epoch": 1.76,
+ "grad_norm": 0.23807045727443327,
+ "learning_rate": 0.0001224522964860769,
+ "loss": 0.9712,
+ "step": 198
+ },
+ {
+ "epoch": 1.77,
+ "grad_norm": 0.2463614808838948,
+ "learning_rate": 0.00012175117679463187,
+ "loss": 0.8558,
+ "step": 199
+ },
+ {
+ "epoch": 1.78,
+ "grad_norm": 0.24737417059302014,
+ "learning_rate": 0.00012104893297002567,
+ "loss": 0.9723,
+ "step": 200
+ },
+ {
+ "epoch": 1.79,
+ "grad_norm": 0.243750688050595,
+ "learning_rate": 0.0001203456013052634,
+ "loss": 0.964,
+ "step": 201
+ },
+ {
+ "epoch": 1.8,
+ "grad_norm": 0.24572059557106538,
+ "learning_rate": 0.00011964121814957137,
+ "loss": 0.9109,
+ "step": 202
+ },
+ {
+ "epoch": 1.81,
+ "grad_norm": 0.24044117903962453,
+ "learning_rate": 0.00011893581990651848,
+ "loss": 1.0019,
+ "step": 203
+ },
+ {
+ "epoch": 1.82,
+ "grad_norm": 0.2737568489071465,
+ "learning_rate": 0.00011822944303213486,
+ "loss": 0.8893,
+ "step": 204
+ },
+ {
+ "epoch": 1.82,
+ "grad_norm": 0.24122455882790084,
+ "learning_rate": 0.00011752212403302784,
+ "loss": 0.9162,
+ "step": 205
+ },
+ {
+ "epoch": 1.83,
+ "grad_norm": 0.28991871401626856,
+ "learning_rate": 0.00011681389946449504,
+ "loss": 0.8555,
+ "step": 206
+ },
+ {
+ "epoch": 1.84,
+ "grad_norm": 0.23767408810646548,
+ "learning_rate": 0.00011610480592863531,
+ "loss": 0.9936,
+ "step": 207
+ },
+ {
+ "epoch": 1.85,
+ "grad_norm": 0.22614733706173062,
+ "learning_rate": 0.00011539488007245702,
+ "loss": 0.916,
+ "step": 208
+ },
+ {
+ "epoch": 1.86,
+ "grad_norm": 0.22471992425846515,
+ "learning_rate": 0.00011468415858598411,
+ "loss": 0.8872,
+ "step": 209
+ },
+ {
+ "epoch": 1.87,
+ "grad_norm": 0.22675717145909688,
+ "learning_rate": 0.00011397267820035986,
+ "loss": 0.8393,
+ "step": 210
+ },
+ {
+ "epoch": 1.88,
+ "grad_norm": 0.2727459336483823,
+ "learning_rate": 0.00011326047568594851,
+ "loss": 0.8265,
+ "step": 211
+ },
+ {
+ "epoch": 1.89,
+ "grad_norm": 0.25216778031670767,
+ "learning_rate": 0.00011254758785043515,
+ "loss": 0.9939,
+ "step": 212
+ },
+ {
+ "epoch": 1.9,
+ "grad_norm": 0.269147378424304,
+ "learning_rate": 0.0001118340515369232,
+ "loss": 0.9102,
+ "step": 213
+ },
+ {
+ "epoch": 1.91,
+ "grad_norm": 0.2216178370833471,
+ "learning_rate": 0.00011111990362203033,
+ "loss": 0.8778,
+ "step": 214
+ },
+ {
+ "epoch": 1.91,
+ "grad_norm": 0.2602474934716497,
+ "learning_rate": 0.00011040518101398276,
+ "loss": 0.9454,
+ "step": 215
+ },
+ {
+ "epoch": 1.92,
+ "grad_norm": 0.2658635078442998,
+ "learning_rate": 0.00010968992065070769,
+ "loss": 0.8098,
+ "step": 216
+ },
+ {
+ "epoch": 1.93,
+ "grad_norm": 0.20997905209488962,
+ "learning_rate": 0.00010897415949792427,
+ "loss": 0.9318,
+ "step": 217
+ },
+ {
+ "epoch": 1.94,
+ "grad_norm": 0.24752453752221557,
+ "learning_rate": 0.00010825793454723325,
+ "loss": 0.949,
+ "step": 218
+ },
+ {
+ "epoch": 1.95,
+ "grad_norm": 0.255579569750529,
+ "learning_rate": 0.0001075412828142051,
+ "loss": 0.915,
+ "step": 219
+ },
+ {
+ "epoch": 1.96,
+ "grad_norm": 0.23186981930561867,
+ "learning_rate": 0.0001068242413364671,
+ "loss": 0.9132,
+ "step": 220
+ },
+ {
+ "epoch": 1.97,
+ "grad_norm": 0.35685140391438824,
+ "learning_rate": 0.00010610684717178905,
+ "loss": 0.9398,
+ "step": 221
+ },
+ {
+ "epoch": 1.98,
+ "grad_norm": 0.27320389987223703,
+ "learning_rate": 0.00010538913739616816,
+ "loss": 0.857,
+ "step": 222
+ },
+ {
+ "epoch": 1.99,
+ "grad_norm": 0.2324276771141761,
+ "learning_rate": 0.00010467114910191289,
+ "loss": 0.8546,
+ "step": 223
+ },
+ {
+ "epoch": 1.99,
+ "grad_norm": 0.22820341349854167,
+ "learning_rate": 0.00010395291939572593,
+ "loss": 0.9301,
+ "step": 224
+ },
+ {
+ "epoch": 1.99,
+ "eval_loss": 1.2246263027191162,
+ "eval_runtime": 13.1981,
+ "eval_samples_per_second": 22.731,
+ "eval_steps_per_second": 2.879,
+ "step": 224
+ },
+ {
+ "epoch": 2.0,
+ "grad_norm": 0.2289800489154315,
+ "learning_rate": 0.00010323448539678653,
+ "loss": 0.9922,
+ "step": 225
+ },
+ {
+ "epoch": 2.01,
+ "grad_norm": 0.2673353778680862,
+ "learning_rate": 0.00010251588423483205,
+ "loss": 0.7779,
+ "step": 226
+ },
+ {
+ "epoch": 2.02,
+ "grad_norm": 0.2420933678952559,
+ "learning_rate": 0.0001017971530482392,
+ "loss": 0.8044,
+ "step": 227
+ },
+ {
+ "epoch": 2.03,
+ "grad_norm": 0.21799264660625498,
+ "learning_rate": 0.00010107832898210439,
+ "loss": 0.8773,
+ "step": 228
+ },
+ {
+ "epoch": 2.04,
+ "grad_norm": 0.21443255695871016,
+ "learning_rate": 0.00010035944918632429,
+ "loss": 0.9031,
+ "step": 229
+ },
+ {
+ "epoch": 2.05,
+ "grad_norm": 0.23983734165788242,
+ "learning_rate": 9.96405508136757e-05,
+ "loss": 0.9014,
+ "step": 230
+ },
+ {
+ "epoch": 2.06,
+ "grad_norm": 0.27915481475799336,
+ "learning_rate": 9.892167101789564e-05,
+ "loss": 0.8853,
+ "step": 231
+ },
+ {
+ "epoch": 2.07,
+ "grad_norm": 0.2688949371564916,
+ "learning_rate": 9.820284695176082e-05,
+ "loss": 0.8452,
+ "step": 232
+ },
+ {
+ "epoch": 2.07,
+ "grad_norm": 0.2623278518867105,
+ "learning_rate": 9.748411576516794e-05,
+ "loss": 0.8612,
+ "step": 233
+ },
+ {
+ "epoch": 2.08,
+ "grad_norm": 0.2710502639103885,
+ "learning_rate": 9.676551460321349e-05,
+ "loss": 0.8108,
+ "step": 234
+ },
+ {
+ "epoch": 2.09,
+ "grad_norm": 0.282572880285737,
+ "learning_rate": 9.60470806042741e-05,
+ "loss": 0.7866,
+ "step": 235
+ },
+ {
+ "epoch": 2.1,
+ "grad_norm": 0.2829396962922612,
+ "learning_rate": 9.532885089808713e-05,
+ "loss": 0.8557,
+ "step": 236
+ },
+ {
+ "epoch": 2.11,
+ "grad_norm": 0.2721172338857335,
+ "learning_rate": 9.461086260383187e-05,
+ "loss": 0.7933,
+ "step": 237
+ },
+ {
+ "epoch": 2.12,
+ "grad_norm": 0.29736638811364446,
+ "learning_rate": 9.389315282821097e-05,
+ "loss": 0.7674,
+ "step": 238
+ },
+ {
+ "epoch": 2.13,
+ "grad_norm": 0.28571679920981263,
+ "learning_rate": 9.317575866353292e-05,
+ "loss": 0.7442,
+ "step": 239
+ },
+ {
+ "epoch": 2.14,
+ "grad_norm": 0.264545167150173,
+ "learning_rate": 9.245871718579491e-05,
+ "loss": 0.8505,
+ "step": 240
+ },
+ {
+ "epoch": 2.15,
+ "grad_norm": 0.30691085134027757,
+ "learning_rate": 9.174206545276677e-05,
+ "loss": 0.7898,
+ "step": 241
+ },
+ {
+ "epoch": 2.15,
+ "grad_norm": 0.31375028121981235,
+ "learning_rate": 9.102584050207578e-05,
+ "loss": 0.7661,
+ "step": 242
+ },
+ {
+ "epoch": 2.16,
+ "grad_norm": 0.28421530221837016,
+ "learning_rate": 9.031007934929236e-05,
+ "loss": 0.8328,
+ "step": 243
+ },
+ {
+ "epoch": 2.17,
+ "grad_norm": 0.25601367811173414,
+ "learning_rate": 8.959481898601728e-05,
+ "loss": 0.8281,
+ "step": 244
+ },
+ {
+ "epoch": 2.18,
+ "grad_norm": 0.2983724947729522,
+ "learning_rate": 8.888009637796968e-05,
+ "loss": 0.8567,
+ "step": 245
+ },
+ {
+ "epoch": 2.19,
+ "grad_norm": 0.2545616786933236,
+ "learning_rate": 8.81659484630768e-05,
+ "loss": 0.9151,
+ "step": 246
+ },
+ {
+ "epoch": 2.2,
+ "grad_norm": 0.23873712362647942,
+ "learning_rate": 8.745241214956483e-05,
+ "loss": 0.8818,
+ "step": 247
+ },
+ {
+ "epoch": 2.21,
+ "grad_norm": 0.285331972404065,
+ "learning_rate": 8.673952431405148e-05,
+ "loss": 0.7983,
+ "step": 248
+ },
+ {
+ "epoch": 2.22,
+ "grad_norm": 0.23897707291689843,
+ "learning_rate": 8.602732179964017e-05,
+ "loss": 0.8758,
+ "step": 249
+ },
+ {
+ "epoch": 2.23,
+ "grad_norm": 0.2830966091447457,
+ "learning_rate": 8.531584141401591e-05,
+ "loss": 0.8714,
+ "step": 250
+ },
+ {
+ "epoch": 2.23,
+ "grad_norm": 0.28872599217076506,
+ "learning_rate": 8.4605119927543e-05,
+ "loss": 0.8387,
+ "step": 251
+ },
+ {
+ "epoch": 2.24,
+ "grad_norm": 0.2652236346400331,
+ "learning_rate": 8.38951940713647e-05,
+ "loss": 0.8232,
+ "step": 252
+ },
+ {
+ "epoch": 2.24,
+ "eval_loss": 1.2432794570922852,
+ "eval_runtime": 13.2405,
+ "eval_samples_per_second": 22.658,
+ "eval_steps_per_second": 2.87,
+ "step": 252
+ },
+ {
+ "epoch": 2.25,
+ "grad_norm": 0.299978013524394,
+ "learning_rate": 8.318610053550497e-05,
+ "loss": 0.7321,
+ "step": 253
+ },
+ {
+ "epoch": 2.26,
+ "grad_norm": 0.2740002835117391,
+ "learning_rate": 8.247787596697218e-05,
+ "loss": 0.7605,
+ "step": 254
+ },
+ {
+ "epoch": 2.27,
+ "grad_norm": 0.2848366030132808,
+ "learning_rate": 8.177055696786516e-05,
+ "loss": 0.8485,
+ "step": 255
+ },
+ {
+ "epoch": 2.28,
+ "grad_norm": 0.24847418856075218,
+ "learning_rate": 8.106418009348157e-05,
+ "loss": 0.7557,
+ "step": 256
+ },
+ {
+ "epoch": 2.29,
+ "grad_norm": 0.33515508602624905,
+ "learning_rate": 8.035878185042868e-05,
+ "loss": 0.8015,
+ "step": 257
+ },
+ {
+ "epoch": 2.3,
+ "grad_norm": 0.2905943721096322,
+ "learning_rate": 7.965439869473664e-05,
+ "loss": 0.8457,
+ "step": 258
+ },
+ {
+ "epoch": 2.31,
+ "grad_norm": 0.3140679719552616,
+ "learning_rate": 7.895106702997437e-05,
+ "loss": 0.8559,
+ "step": 259
+ },
+ {
+ "epoch": 2.31,
+ "grad_norm": 0.29745105018138573,
+ "learning_rate": 7.824882320536814e-05,
+ "loss": 0.7453,
+ "step": 260
+ },
+ {
+ "epoch": 2.32,
+ "grad_norm": 0.29818631731197365,
+ "learning_rate": 7.754770351392311e-05,
+ "loss": 0.8354,
+ "step": 261
+ },
+ {
+ "epoch": 2.33,
+ "grad_norm": 0.24721488944366407,
+ "learning_rate": 7.684774419054747e-05,
+ "loss": 0.7755,
+ "step": 262
+ },
+ {
+ "epoch": 2.34,
+ "grad_norm": 0.31210442779019465,
+ "learning_rate": 7.614898141017996e-05,
+ "loss": 0.7208,
+ "step": 263
+ },
+ {
+ "epoch": 2.35,
+ "grad_norm": 0.2873220240109992,
+ "learning_rate": 7.54514512859201e-05,
+ "loss": 0.7548,
+ "step": 264
+ },
+ {
+ "epoch": 2.36,
+ "grad_norm": 0.3006634171776217,
+ "learning_rate": 7.475518986716194e-05,
+ "loss": 0.7566,
+ "step": 265
+ },
+ {
+ "epoch": 2.37,
+ "grad_norm": 0.2799417613336026,
+ "learning_rate": 7.406023313773097e-05,
+ "loss": 0.727,
+ "step": 266
+ },
+ {
+ "epoch": 2.38,
+ "grad_norm": 0.2451761866231664,
+ "learning_rate": 7.336661701402439e-05,
+ "loss": 0.9641,
+ "step": 267
+ },
+ {
+ "epoch": 2.39,
+ "grad_norm": 0.305202611125298,
+ "learning_rate": 7.267437734315492e-05,
+ "loss": 0.7891,
+ "step": 268
+ },
+ {
+ "epoch": 2.39,
+ "grad_norm": 0.29107717848747816,
+ "learning_rate": 7.198354990109805e-05,
+ "loss": 0.9032,
+ "step": 269
+ },
+ {
+ "epoch": 2.4,
+ "grad_norm": 0.2688898665176787,
+ "learning_rate": 7.129417039084333e-05,
+ "loss": 0.8416,
+ "step": 270
+ },
+ {
+ "epoch": 2.41,
+ "grad_norm": 0.2814206029778395,
+ "learning_rate": 7.060627444054893e-05,
+ "loss": 0.8443,
+ "step": 271
+ },
+ {
+ "epoch": 2.42,
+ "grad_norm": 0.2862094867555512,
+ "learning_rate": 6.99198976017005e-05,
+ "loss": 0.8271,
+ "step": 272
+ },
+ {
+ "epoch": 2.43,
+ "grad_norm": 0.3214647340394826,
+ "learning_rate": 6.923507534727373e-05,
+ "loss": 0.7793,
+ "step": 273
+ },
+ {
+ "epoch": 2.44,
+ "grad_norm": 0.3033659714564417,
+ "learning_rate": 6.855184306990106e-05,
+ "loss": 0.7856,
+ "step": 274
+ },
+ {
+ "epoch": 2.45,
+ "grad_norm": 0.3024382342577774,
+ "learning_rate": 6.78702360800425e-05,
+ "loss": 0.8633,
+ "step": 275
+ },
+ {
+ "epoch": 2.46,
+ "grad_norm": 0.25803598196729505,
+ "learning_rate": 6.719028960416098e-05,
+ "loss": 0.8428,
+ "step": 276
+ },
+ {
+ "epoch": 2.47,
+ "grad_norm": 0.35469202971401803,
+ "learning_rate": 6.651203878290139e-05,
+ "loss": 0.8665,
+ "step": 277
+ },
+ {
+ "epoch": 2.47,
+ "grad_norm": 0.3122516837597691,
+ "learning_rate": 6.583551866927475e-05,
+ "loss": 0.8787,
+ "step": 278
+ },
+ {
+ "epoch": 2.48,
+ "grad_norm": 0.3305470786367901,
+ "learning_rate": 6.516076422684654e-05,
+ "loss": 0.8765,
+ "step": 279
+ },
+ {
+ "epoch": 2.49,
+ "grad_norm": 0.3324622666488467,
+ "learning_rate": 6.448781032792972e-05,
+ "loss": 0.8318,
+ "step": 280
+ },
+ {
+ "epoch": 2.49,
+ "eval_loss": 1.2546111345291138,
+ "eval_runtime": 13.2379,
+ "eval_samples_per_second": 22.662,
+ "eval_steps_per_second": 2.871,
+ "step": 280
+ },
+ {
+ "epoch": 2.5,
+ "grad_norm": 0.342341713579355,
+ "learning_rate": 6.381669175178248e-05,
+ "loss": 0.9517,
+ "step": 281
+ },
+ {
+ "epoch": 2.51,
+ "grad_norm": 0.33913458352374665,
+ "learning_rate": 6.31474431828108e-05,
+ "loss": 0.8564,
+ "step": 282
+ },
+ {
+ "epoch": 2.52,
+ "grad_norm": 0.30528689383480295,
+ "learning_rate": 6.248009920877592e-05,
+ "loss": 0.8199,
+ "step": 283
+ },
+ {
+ "epoch": 2.53,
+ "grad_norm": 0.29698648367254743,
+ "learning_rate": 6.181469431900672e-05,
+ "loss": 0.785,
+ "step": 284
+ },
+ {
+ "epoch": 2.54,
+ "grad_norm": 0.32239262939282626,
+ "learning_rate": 6.115126290261745e-05,
+ "loss": 0.7794,
+ "step": 285
+ },
+ {
+ "epoch": 2.55,
+ "grad_norm": 0.2694595905080167,
+ "learning_rate": 6.048983924673022e-05,
+ "loss": 0.8056,
+ "step": 286
+ },
+ {
+ "epoch": 2.55,
+ "grad_norm": 0.3045496751154443,
+ "learning_rate": 5.983045753470308e-05,
+ "loss": 0.8164,
+ "step": 287
+ },
+ {
+ "epoch": 2.56,
+ "grad_norm": 0.2927868214627918,
+ "learning_rate": 5.917315184436345e-05,
+ "loss": 0.8358,
+ "step": 288
+ },
+ {
+ "epoch": 2.57,
+ "grad_norm": 0.2931914055644858,
+ "learning_rate": 5.851795614624682e-05,
+ "loss": 0.8011,
+ "step": 289
+ },
+ {
+ "epoch": 2.58,
+ "grad_norm": 0.3158716819379082,
+ "learning_rate": 5.786490430184115e-05,
+ "loss": 0.8332,
+ "step": 290
+ },
+ {
+ "epoch": 2.59,
+ "grad_norm": 0.3482519147352008,
+ "learning_rate": 5.72140300618369e-05,
+ "loss": 0.7621,
+ "step": 291
+ },
+ {
+ "epoch": 2.6,
+ "grad_norm": 0.28652801822050894,
+ "learning_rate": 5.656536706438267e-05,
+ "loss": 0.77,
+ "step": 292
+ },
+ {
+ "epoch": 2.61,
+ "grad_norm": 0.29691290613407717,
+ "learning_rate": 5.591894883334667e-05,
+ "loss": 0.9394,
+ "step": 293
+ },
+ {
+ "epoch": 2.62,
+ "grad_norm": 0.26699581966985203,
+ "learning_rate": 5.5274808776584367e-05,
+ "loss": 0.7918,
+ "step": 294
+ },
+ {
+ "epoch": 2.63,
+ "grad_norm": 0.2926923719762685,
+ "learning_rate": 5.463298018421171e-05,
+ "loss": 0.8723,
+ "step": 295
+ },
+ {
+ "epoch": 2.64,
+ "grad_norm": 0.3403087263187063,
+ "learning_rate": 5.399349622688479e-05,
+ "loss": 0.8097,
+ "step": 296
+ },
+ {
+ "epoch": 2.64,
+ "grad_norm": 0.34261233464532476,
+ "learning_rate": 5.335638995408545e-05,
+ "loss": 0.9032,
+ "step": 297
+ },
+ {
+ "epoch": 2.65,
+ "grad_norm": 0.31315234759634086,
+ "learning_rate": 5.272169429241325e-05,
+ "loss": 0.82,
+ "step": 298
+ },
+ {
+ "epoch": 2.66,
+ "grad_norm": 0.3179759425444047,
+ "learning_rate": 5.208944204388377e-05,
+ "loss": 0.8864,
+ "step": 299
+ },
+ {
+ "epoch": 2.67,
+ "grad_norm": 0.3121296356843828,
+ "learning_rate": 5.145966588423341e-05,
+ "loss": 0.8258,
+ "step": 300
+ },
+ {
+ "epoch": 2.68,
+ "grad_norm": 0.268436849924173,
+ "learning_rate": 5.0832398361230596e-05,
+ "loss": 0.8906,
+ "step": 301
+ },
+ {
+ "epoch": 2.69,
+ "grad_norm": 0.2961161602467319,
+ "learning_rate": 5.020767189299369e-05,
+ "loss": 0.8828,
+ "step": 302
+ },
+ {
+ "epoch": 2.7,
+ "grad_norm": 0.27743957099992345,
+ "learning_rate": 4.9585518766315496e-05,
+ "loss": 0.8251,
+ "step": 303
+ },
+ {
+ "epoch": 2.71,
+ "grad_norm": 0.2949909861852426,
+ "learning_rate": 4.896597113499479e-05,
+ "loss": 0.7911,
+ "step": 304
+ },
+ {
+ "epoch": 2.72,
+ "grad_norm": 0.3161115451278363,
+ "learning_rate": 4.834906101817438e-05,
+ "loss": 0.8157,
+ "step": 305
+ },
+ {
+ "epoch": 2.72,
+ "grad_norm": 0.28720077046065867,
+ "learning_rate": 4.773482029868657e-05,
+ "loss": 0.82,
+ "step": 306
+ },
+ {
+ "epoch": 2.73,
+ "grad_norm": 0.4045319357608716,
+ "learning_rate": 4.712328072140505e-05,
+ "loss": 0.8414,
+ "step": 307
+ },
+ {
+ "epoch": 2.74,
+ "grad_norm": 0.3070232288390269,
+ "learning_rate": 4.651447389160458e-05,
+ "loss": 0.8427,
+ "step": 308
+ },
+ {
+ "epoch": 2.74,
+ "eval_loss": 1.2574400901794434,
+ "eval_runtime": 13.2473,
+ "eval_samples_per_second": 22.646,
+ "eval_steps_per_second": 2.869,
+ "step": 308
+ },
+ {
+ "epoch": 2.75,
+ "grad_norm": 0.3214782806968351,
+ "learning_rate": 4.5908431273327436e-05,
+ "loss": 0.8469,
+ "step": 309
+ },
+ {
+ "epoch": 2.76,
+ "grad_norm": 0.24241410698156174,
+ "learning_rate": 4.530518418775733e-05,
+ "loss": 0.8346,
+ "step": 310
+ },
+ {
+ "epoch": 2.77,
+ "grad_norm": 0.3303263594210879,
+ "learning_rate": 4.470476381160065e-05,
+ "loss": 0.8298,
+ "step": 311
+ },
+ {
+ "epoch": 2.78,
+ "grad_norm": 0.30711900849760865,
+ "learning_rate": 4.4107201175475275e-05,
+ "loss": 0.789,
+ "step": 312
+ },
+ {
+ "epoch": 2.79,
+ "grad_norm": 0.2954465859389713,
+ "learning_rate": 4.351252716230685e-05,
+ "loss": 0.8029,
+ "step": 313
+ },
+ {
+ "epoch": 2.8,
+ "grad_norm": 0.29925087091531116,
+ "learning_rate": 4.292077250573266e-05,
+ "loss": 0.8633,
+ "step": 314
+ },
+ {
+ "epoch": 2.8,
+ "grad_norm": 0.3177611223775825,
+ "learning_rate": 4.2331967788513295e-05,
+ "loss": 0.76,
+ "step": 315
+ },
+ {
+ "epoch": 2.81,
+ "grad_norm": 0.28642407848269513,
+ "learning_rate": 4.174614344095213e-05,
+ "loss": 0.823,
+ "step": 316
+ },
+ {
+ "epoch": 2.82,
+ "grad_norm": 0.3243224656005062,
+ "learning_rate": 4.116332973932256e-05,
+ "loss": 0.7831,
+ "step": 317
+ },
+ {
+ "epoch": 2.83,
+ "grad_norm": 0.34877334027822726,
+ "learning_rate": 4.058355680430337e-05,
+ "loss": 0.899,
+ "step": 318
+ },
+ {
+ "epoch": 2.84,
+ "grad_norm": 0.28640325479143114,
+ "learning_rate": 4.0006854599421926e-05,
+ "loss": 0.8292,
+ "step": 319
+ },
+ {
+ "epoch": 2.85,
+ "grad_norm": 0.3135316628014535,
+ "learning_rate": 3.943325292950579e-05,
+ "loss": 0.8731,
+ "step": 320
+ },
+ {
+ "epoch": 2.86,
+ "grad_norm": 0.2949970604257085,
+ "learning_rate": 3.886278143914219e-05,
+ "loss": 0.8402,
+ "step": 321
+ },
+ {
+ "epoch": 2.87,
+ "grad_norm": 0.30057896586780075,
+ "learning_rate": 3.829546961114607e-05,
+ "loss": 0.7713,
+ "step": 322
+ },
+ {
+ "epoch": 2.88,
+ "grad_norm": 0.3558574270285126,
+ "learning_rate": 3.773134676503629e-05,
+ "loss": 0.8435,
+ "step": 323
+ },
+ {
+ "epoch": 2.88,
+ "grad_norm": 0.29115288332943334,
+ "learning_rate": 3.7170442055520415e-05,
+ "loss": 0.9022,
+ "step": 324
+ },
+ {
+ "epoch": 2.89,
+ "grad_norm": 0.3192074718527619,
+ "learning_rate": 3.661278447098789e-05,
+ "loss": 0.7662,
+ "step": 325
+ },
+ {
+ "epoch": 2.9,
+ "grad_norm": 0.33335742888185405,
+ "learning_rate": 3.605840283201195e-05,
+ "loss": 0.8111,
+ "step": 326
+ },
+ {
+ "epoch": 2.91,
+ "grad_norm": 0.29748212071395186,
+ "learning_rate": 3.550732578986006e-05,
+ "loss": 0.7543,
+ "step": 327
+ },
+ {
+ "epoch": 2.92,
+ "grad_norm": 0.3680409192627914,
+ "learning_rate": 3.495958182501325e-05,
+ "loss": 0.8124,
+ "step": 328
+ },
+ {
+ "epoch": 2.93,
+ "grad_norm": 0.27807302364345643,
+ "learning_rate": 3.441519924569408e-05,
+ "loss": 0.7856,
+ "step": 329
+ },
+ {
+ "epoch": 2.94,
+ "grad_norm": 0.3050855823733691,
+ "learning_rate": 3.387420618640379e-05,
+ "loss": 0.8506,
+ "step": 330
+ },
+ {
+ "epoch": 2.95,
+ "grad_norm": 0.3322620263029238,
+ "learning_rate": 3.3336630606468134e-05,
+ "loss": 0.8771,
+ "step": 331
+ },
+ {
+ "epoch": 2.96,
+ "grad_norm": 0.3112008867427982,
+ "learning_rate": 3.280250028859248e-05,
+ "loss": 0.7785,
+ "step": 332
+ },
+ {
+ "epoch": 2.96,
+ "grad_norm": 0.2839548329095365,
+ "learning_rate": 3.227184283742591e-05,
+ "loss": 0.9153,
+ "step": 333
+ },
+ {
+ "epoch": 2.97,
+ "grad_norm": 0.34615397822650606,
+ "learning_rate": 3.174468567813461e-05,
+ "loss": 0.7753,
+ "step": 334
+ },
+ {
+ "epoch": 2.98,
+ "grad_norm": 0.34691866307772695,
+ "learning_rate": 3.122105605498442e-05,
+ "loss": 0.851,
+ "step": 335
+ },
+ {
+ "epoch": 2.99,
+ "grad_norm": 0.296369624391198,
+ "learning_rate": 3.070098102993302e-05,
+ "loss": 0.8572,
+ "step": 336
+ },
+ {
+ "epoch": 2.99,
+ "eval_loss": 1.2511259317398071,
+ "eval_runtime": 13.2202,
+ "eval_samples_per_second": 22.692,
+ "eval_steps_per_second": 2.874,
+ "step": 336
+ }
+ ],
+ "logging_steps": 1,
+ "max_steps": 448,
+ "num_input_tokens_seen": 0,
+ "num_train_epochs": 4,
+ "save_steps": 112,
+ "total_flos": 4.005448726012232e+17,
+ "train_batch_size": 2,
+ "trial_name": null,
+ "trial_params": null
+}
diff --git a/checkpoint-336/training_args.bin b/checkpoint-336/training_args.bin
new file mode 100644
index 0000000000000000000000000000000000000000..4992a3b445f8065303289f8a30d4fedc43285059
--- /dev/null
+++ b/checkpoint-336/training_args.bin
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d400c16f982c36b10268ff7e69e878c44d11f5fb692a61770a8e1efb50d4491c
+size 6776
diff --git a/checkpoint-336/zero_to_fp32.py b/checkpoint-336/zero_to_fp32.py
new file mode 100644
index 0000000000000000000000000000000000000000..49b846633d6eb1e836e34681e44033581f4edb7b
--- /dev/null
+++ b/checkpoint-336/zero_to_fp32.py
@@ -0,0 +1,592 @@
+#!/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 _has_callable(obj, fn):
+ attr = getattr(obj, fn, None)
+ return callable(attr)
+
+
+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() if _has_callable(shape, 'numel') else math.prod(shape)
+ 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/checkpoint-372/README.md b/checkpoint-372/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..cc48d049490be40c7b7654441aabee7b5bc360d2
--- /dev/null
+++ b/checkpoint-372/README.md
@@ -0,0 +1,202 @@
+---
+library_name: peft
+base_model: google/gemma-7b-it
+---
+
+# 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/checkpoint-372/adapter_config.json b/checkpoint-372/adapter_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..3c3e2768efa37865b99706584c01866eafc6c45a
--- /dev/null
+++ b/checkpoint-372/adapter_config.json
@@ -0,0 +1,33 @@
+{
+ "alpha_pattern": {},
+ "auto_mapping": null,
+ "base_model_name_or_path": "google/gemma-7b-it",
+ "bias": "none",
+ "fan_in_fan_out": null,
+ "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,
+ "peft_type": "LORA",
+ "r": 32,
+ "rank_pattern": {},
+ "revision": null,
+ "target_modules": [
+ "down_proj",
+ "o_proj",
+ "k_proj",
+ "q_proj",
+ "gate_proj",
+ "up_proj",
+ "v_proj"
+ ],
+ "task_type": "CAUSAL_LM",
+ "use_dora": false,
+ "use_rslora": false
+}
\ No newline at end of file
diff --git a/checkpoint-372/adapter_model.safetensors b/checkpoint-372/adapter_model.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..0015bf12d8aa10457cc3eafcef7b9515dd2b63c3
--- /dev/null
+++ b/checkpoint-372/adapter_model.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9c23b965687f7bf2e033e1e8051de69e24c99f3103c06606007e68485ebfabea
+size 200068904
diff --git a/checkpoint-372/global_step372/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/checkpoint-372/global_step372/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..4a2f184187d5fb713c7f812f3d447fc319771256
--- /dev/null
+++ b/checkpoint-372/global_step372/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:712292fc7e5a6d570c1376cc3be7e12dab2d34fb7ffe48281da38c8053603a39
+size 150126608
diff --git a/checkpoint-372/global_step372/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt b/checkpoint-372/global_step372/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..c45e01f7296a4d841e594606caacd3859dcfd8d6
--- /dev/null
+++ b/checkpoint-372/global_step372/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d3c6bbd461df3af80fb33496e1907ef542102bfa96434d50c174fe80c0dd98e4
+size 150126672
diff --git a/checkpoint-372/global_step372/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt b/checkpoint-372/global_step372/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..76e00cc0290562adc1b6b707d91f81a3ae2a6b4f
--- /dev/null
+++ b/checkpoint-372/global_step372/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:46fee0787345b6483d7a54f3ceeb3260a7a8bef008c22e24c18225027433ff01
+size 150126736
diff --git a/checkpoint-372/global_step372/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt b/checkpoint-372/global_step372/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..fd1c04607ffa6bcedba73d2be3596c254a85645d
--- /dev/null
+++ b/checkpoint-372/global_step372/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0fbe9084b027f2164f5fa8039ea7d37a722d0e0f9f70b2a76fa605e462a2ad6e
+size 150126736
diff --git a/checkpoint-372/global_step372/mp_rank_00_model_states.pt b/checkpoint-372/global_step372/mp_rank_00_model_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..179e333ae5d1502ea68592df6a33c543b58d2f27
--- /dev/null
+++ b/checkpoint-372/global_step372/mp_rank_00_model_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a38ea9a669e473fff57e6c134dd6703ddacc9f123121be165e81bcdcad09513b
+size 1896781286
diff --git a/checkpoint-372/latest b/checkpoint-372/latest
new file mode 100644
index 0000000000000000000000000000000000000000..58718163630dae3a397bab9fcebd1e5516bfae6b
--- /dev/null
+++ b/checkpoint-372/latest
@@ -0,0 +1 @@
+global_step372
\ No newline at end of file
diff --git a/checkpoint-372/rng_state_0.pth b/checkpoint-372/rng_state_0.pth
new file mode 100644
index 0000000000000000000000000000000000000000..ecbda9fe0809770d12955f1732c0114453213ea4
--- /dev/null
+++ b/checkpoint-372/rng_state_0.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4ebe22192845fac896cd970f52665ebcfd6b5796077804b55f0d8830fcfa32be
+size 15024
diff --git a/checkpoint-372/rng_state_1.pth b/checkpoint-372/rng_state_1.pth
new file mode 100644
index 0000000000000000000000000000000000000000..3636f8e8c132361277c40a90a327d9a54d5cd508
--- /dev/null
+++ b/checkpoint-372/rng_state_1.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a5bbd2194b05d2155d794f7732bdab8deaa38ee92f4c49fa250d0c9f0fd5f532
+size 15024
diff --git a/checkpoint-372/rng_state_2.pth b/checkpoint-372/rng_state_2.pth
new file mode 100644
index 0000000000000000000000000000000000000000..f480bc42cd80af8138987ef5eabe99d53ee6b554
--- /dev/null
+++ b/checkpoint-372/rng_state_2.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f480e768d1b3f6474c222ba1e9d373d3fa99aeb3a944de3d1648ac20b4077d2a
+size 15024
diff --git a/checkpoint-372/rng_state_3.pth b/checkpoint-372/rng_state_3.pth
new file mode 100644
index 0000000000000000000000000000000000000000..59cbcb27ed2a9c4f965cc32825b10cb072d551b0
--- /dev/null
+++ b/checkpoint-372/rng_state_3.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:58480874185eed88dd61379fe4c13e95c8e8899caf976ff7beca6c2c29f825de
+size 15024
diff --git a/checkpoint-372/scheduler.pt b/checkpoint-372/scheduler.pt
new file mode 100644
index 0000000000000000000000000000000000000000..6a29ccdd842ef5dc3c8960bad30268d73a2dc3af
--- /dev/null
+++ b/checkpoint-372/scheduler.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f0a1b84ad14ee5a7b2967e455e771394bef96a10da0abeba0c7fac61961ff2bf
+size 1064
diff --git a/checkpoint-372/trainer_state.json b/checkpoint-372/trainer_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..e74134b082788735a316b3b09e64d90837cf20fb
--- /dev/null
+++ b/checkpoint-372/trainer_state.json
@@ -0,0 +1,2753 @@
+{
+ "best_metric": null,
+ "best_model_checkpoint": null,
+ "epoch": 3.9715302491103204,
+ "eval_steps": 24,
+ "global_step": 372,
+ "is_hyper_param_search": false,
+ "is_local_process_zero": true,
+ "is_world_process_zero": true,
+ "log_history": [
+ {
+ "epoch": 0.01,
+ "grad_norm": 1.8206765789002874,
+ "learning_rate": 2.2222222222222223e-05,
+ "loss": 5.0474,
+ "step": 1
+ },
+ {
+ "epoch": 0.01,
+ "eval_loss": 5.927858829498291,
+ "eval_runtime": 117.3665,
+ "eval_samples_per_second": 8.512,
+ "eval_steps_per_second": 0.537,
+ "step": 1
+ },
+ {
+ "epoch": 0.02,
+ "grad_norm": 1.9889295079554647,
+ "learning_rate": 4.4444444444444447e-05,
+ "loss": 5.5569,
+ "step": 2
+ },
+ {
+ "epoch": 0.03,
+ "grad_norm": 1.8931443004310682,
+ "learning_rate": 6.666666666666667e-05,
+ "loss": 5.2383,
+ "step": 3
+ },
+ {
+ "epoch": 0.04,
+ "grad_norm": 2.195266234429632,
+ "learning_rate": 8.888888888888889e-05,
+ "loss": 5.4943,
+ "step": 4
+ },
+ {
+ "epoch": 0.05,
+ "grad_norm": 2.6001064132041503,
+ "learning_rate": 0.00011111111111111112,
+ "loss": 5.2602,
+ "step": 5
+ },
+ {
+ "epoch": 0.06,
+ "grad_norm": 3.26301463076567,
+ "learning_rate": 0.00013333333333333334,
+ "loss": 4.8182,
+ "step": 6
+ },
+ {
+ "epoch": 0.07,
+ "grad_norm": 3.476044691292363,
+ "learning_rate": 0.00015555555555555556,
+ "loss": 4.0432,
+ "step": 7
+ },
+ {
+ "epoch": 0.09,
+ "grad_norm": 3.378803229553045,
+ "learning_rate": 0.00017777777777777779,
+ "loss": 3.5212,
+ "step": 8
+ },
+ {
+ "epoch": 0.1,
+ "grad_norm": 3.9419449437137017,
+ "learning_rate": 0.0002,
+ "loss": 3.2239,
+ "step": 9
+ },
+ {
+ "epoch": 0.11,
+ "grad_norm": 5.8833082175146485,
+ "learning_rate": 0.00019999625498303932,
+ "loss": 3.4319,
+ "step": 10
+ },
+ {
+ "epoch": 0.12,
+ "grad_norm": 5.4690223843996515,
+ "learning_rate": 0.0001999850202126604,
+ "loss": 2.8167,
+ "step": 11
+ },
+ {
+ "epoch": 0.13,
+ "grad_norm": 7.009614336449043,
+ "learning_rate": 0.00019996629653035126,
+ "loss": 2.7966,
+ "step": 12
+ },
+ {
+ "epoch": 0.14,
+ "grad_norm": 6.254841874500106,
+ "learning_rate": 0.0001999400853385221,
+ "loss": 2.1336,
+ "step": 13
+ },
+ {
+ "epoch": 0.15,
+ "grad_norm": 6.037710889841169,
+ "learning_rate": 0.00019990638860040006,
+ "loss": 1.85,
+ "step": 14
+ },
+ {
+ "epoch": 0.16,
+ "grad_norm": 1.0500019118881985,
+ "learning_rate": 0.00019986520883988232,
+ "loss": 1.5964,
+ "step": 15
+ },
+ {
+ "epoch": 0.17,
+ "grad_norm": 0.6169710624824223,
+ "learning_rate": 0.00019981654914134686,
+ "loss": 1.4307,
+ "step": 16
+ },
+ {
+ "epoch": 0.18,
+ "grad_norm": 1.86114059095932,
+ "learning_rate": 0.00019976041314942155,
+ "loss": 1.4285,
+ "step": 17
+ },
+ {
+ "epoch": 0.19,
+ "grad_norm": 1.6513877610200167,
+ "learning_rate": 0.00019969680506871137,
+ "loss": 1.4621,
+ "step": 18
+ },
+ {
+ "epoch": 0.2,
+ "grad_norm": 1.4395882738454628,
+ "learning_rate": 0.000199625729663483,
+ "loss": 1.3561,
+ "step": 19
+ },
+ {
+ "epoch": 0.21,
+ "grad_norm": 0.70847060238536,
+ "learning_rate": 0.00019954719225730847,
+ "loss": 1.3565,
+ "step": 20
+ },
+ {
+ "epoch": 0.22,
+ "grad_norm": 0.4331630595385925,
+ "learning_rate": 0.00019946119873266613,
+ "loss": 1.3374,
+ "step": 21
+ },
+ {
+ "epoch": 0.23,
+ "grad_norm": 0.5580281682185451,
+ "learning_rate": 0.0001993677555305002,
+ "loss": 1.313,
+ "step": 22
+ },
+ {
+ "epoch": 0.25,
+ "grad_norm": 0.5217443953771937,
+ "learning_rate": 0.00019926686964973813,
+ "loss": 1.2541,
+ "step": 23
+ },
+ {
+ "epoch": 0.26,
+ "grad_norm": 0.36823120314463453,
+ "learning_rate": 0.00019915854864676664,
+ "loss": 1.2191,
+ "step": 24
+ },
+ {
+ "epoch": 0.26,
+ "eval_loss": 1.2946609258651733,
+ "eval_runtime": 118.9039,
+ "eval_samples_per_second": 8.402,
+ "eval_steps_per_second": 0.53,
+ "step": 24
+ },
+ {
+ "epoch": 0.27,
+ "grad_norm": 0.5797477063688413,
+ "learning_rate": 0.0001990428006348656,
+ "loss": 1.24,
+ "step": 25
+ },
+ {
+ "epoch": 0.28,
+ "grad_norm": 0.41369538857234545,
+ "learning_rate": 0.00019891963428360043,
+ "loss": 1.209,
+ "step": 26
+ },
+ {
+ "epoch": 0.29,
+ "grad_norm": 0.36666008426797836,
+ "learning_rate": 0.00019878905881817252,
+ "loss": 1.2543,
+ "step": 27
+ },
+ {
+ "epoch": 0.3,
+ "grad_norm": 0.3976779691989045,
+ "learning_rate": 0.00019865108401872857,
+ "loss": 1.2431,
+ "step": 28
+ },
+ {
+ "epoch": 0.31,
+ "grad_norm": 0.4992861718630414,
+ "learning_rate": 0.00019850572021962788,
+ "loss": 1.2471,
+ "step": 29
+ },
+ {
+ "epoch": 0.32,
+ "grad_norm": 0.33729072192890136,
+ "learning_rate": 0.00019835297830866826,
+ "loss": 1.1933,
+ "step": 30
+ },
+ {
+ "epoch": 0.33,
+ "grad_norm": 0.29373457949318904,
+ "learning_rate": 0.00019819286972627066,
+ "loss": 1.1761,
+ "step": 31
+ },
+ {
+ "epoch": 0.34,
+ "grad_norm": 0.5339184947140588,
+ "learning_rate": 0.0001980254064646223,
+ "loss": 1.165,
+ "step": 32
+ },
+ {
+ "epoch": 0.35,
+ "grad_norm": 0.38755069216510263,
+ "learning_rate": 0.00019785060106677818,
+ "loss": 1.1236,
+ "step": 33
+ },
+ {
+ "epoch": 0.36,
+ "grad_norm": 0.338373181403367,
+ "learning_rate": 0.00019766846662572191,
+ "loss": 1.2102,
+ "step": 34
+ },
+ {
+ "epoch": 0.37,
+ "grad_norm": 0.39237714718744304,
+ "learning_rate": 0.00019747901678338496,
+ "loss": 1.1642,
+ "step": 35
+ },
+ {
+ "epoch": 0.38,
+ "grad_norm": 0.3614249847081747,
+ "learning_rate": 0.00019728226572962473,
+ "loss": 1.1387,
+ "step": 36
+ },
+ {
+ "epoch": 0.4,
+ "grad_norm": 0.28278007479509987,
+ "learning_rate": 0.00019707822820116193,
+ "loss": 1.0939,
+ "step": 37
+ },
+ {
+ "epoch": 0.41,
+ "grad_norm": 0.3008254873268798,
+ "learning_rate": 0.00019686691948047664,
+ "loss": 1.1346,
+ "step": 38
+ },
+ {
+ "epoch": 0.42,
+ "grad_norm": 0.4263010439416343,
+ "learning_rate": 0.0001966483553946637,
+ "loss": 1.1015,
+ "step": 39
+ },
+ {
+ "epoch": 0.43,
+ "grad_norm": 0.32725448028464205,
+ "learning_rate": 0.00019642255231424729,
+ "loss": 1.1324,
+ "step": 40
+ },
+ {
+ "epoch": 0.44,
+ "grad_norm": 0.3028242900588441,
+ "learning_rate": 0.00019618952715195475,
+ "loss": 1.1147,
+ "step": 41
+ },
+ {
+ "epoch": 0.45,
+ "grad_norm": 0.33893311928252234,
+ "learning_rate": 0.00019594929736144976,
+ "loss": 1.0978,
+ "step": 42
+ },
+ {
+ "epoch": 0.46,
+ "grad_norm": 0.2786082334492372,
+ "learning_rate": 0.0001957018809360251,
+ "loss": 1.0933,
+ "step": 43
+ },
+ {
+ "epoch": 0.47,
+ "grad_norm": 0.2732185168098956,
+ "learning_rate": 0.00019544729640725498,
+ "loss": 1.084,
+ "step": 44
+ },
+ {
+ "epoch": 0.48,
+ "grad_norm": 0.33386436894143035,
+ "learning_rate": 0.00019518556284360696,
+ "loss": 1.0673,
+ "step": 45
+ },
+ {
+ "epoch": 0.49,
+ "grad_norm": 0.2761688734050621,
+ "learning_rate": 0.00019491669984901379,
+ "loss": 1.0523,
+ "step": 46
+ },
+ {
+ "epoch": 0.5,
+ "grad_norm": 0.3346957388610895,
+ "learning_rate": 0.00019464072756140486,
+ "loss": 1.0913,
+ "step": 47
+ },
+ {
+ "epoch": 0.51,
+ "grad_norm": 0.30196058996924285,
+ "learning_rate": 0.0001943576666511982,
+ "loss": 1.1165,
+ "step": 48
+ },
+ {
+ "epoch": 0.51,
+ "eval_loss": 1.167867660522461,
+ "eval_runtime": 119.1485,
+ "eval_samples_per_second": 8.384,
+ "eval_steps_per_second": 0.529,
+ "step": 48
+ },
+ {
+ "epoch": 0.52,
+ "grad_norm": 0.27445390350987153,
+ "learning_rate": 0.00019406753831975203,
+ "loss": 1.1069,
+ "step": 49
+ },
+ {
+ "epoch": 0.53,
+ "grad_norm": 0.34729097228771255,
+ "learning_rate": 0.00019377036429777672,
+ "loss": 1.0567,
+ "step": 50
+ },
+ {
+ "epoch": 0.54,
+ "grad_norm": 0.31314016575739406,
+ "learning_rate": 0.0001934661668437073,
+ "loss": 1.0875,
+ "step": 51
+ },
+ {
+ "epoch": 0.56,
+ "grad_norm": 0.29140014335226905,
+ "learning_rate": 0.0001931549687420364,
+ "loss": 1.0929,
+ "step": 52
+ },
+ {
+ "epoch": 0.57,
+ "grad_norm": 0.2638104110161505,
+ "learning_rate": 0.00019283679330160726,
+ "loss": 1.0963,
+ "step": 53
+ },
+ {
+ "epoch": 0.58,
+ "grad_norm": 0.2833945318119855,
+ "learning_rate": 0.0001925116643538684,
+ "loss": 1.0535,
+ "step": 54
+ },
+ {
+ "epoch": 0.59,
+ "grad_norm": 0.28672689795285417,
+ "learning_rate": 0.0001921796062510882,
+ "loss": 1.0699,
+ "step": 55
+ },
+ {
+ "epoch": 0.6,
+ "grad_norm": 0.261255409262294,
+ "learning_rate": 0.00019184064386453128,
+ "loss": 1.0658,
+ "step": 56
+ },
+ {
+ "epoch": 0.61,
+ "grad_norm": 0.24304864434604007,
+ "learning_rate": 0.00019149480258259533,
+ "loss": 1.0441,
+ "step": 57
+ },
+ {
+ "epoch": 0.62,
+ "grad_norm": 0.2987107937915846,
+ "learning_rate": 0.00019114210830890969,
+ "loss": 1.0061,
+ "step": 58
+ },
+ {
+ "epoch": 0.63,
+ "grad_norm": 0.2617045441373282,
+ "learning_rate": 0.00019078258746039507,
+ "loss": 1.0578,
+ "step": 59
+ },
+ {
+ "epoch": 0.64,
+ "grad_norm": 0.2577955355987167,
+ "learning_rate": 0.00019041626696528503,
+ "loss": 1.0333,
+ "step": 60
+ },
+ {
+ "epoch": 0.65,
+ "grad_norm": 0.2823058812174375,
+ "learning_rate": 0.0001900431742611089,
+ "loss": 1.0837,
+ "step": 61
+ },
+ {
+ "epoch": 0.66,
+ "grad_norm": 0.30425238718712166,
+ "learning_rate": 0.00018966333729263674,
+ "loss": 1.0619,
+ "step": 62
+ },
+ {
+ "epoch": 0.67,
+ "grad_norm": 0.29826831116146957,
+ "learning_rate": 0.0001892767845097864,
+ "loss": 1.056,
+ "step": 63
+ },
+ {
+ "epoch": 0.68,
+ "grad_norm": 0.22990267950533677,
+ "learning_rate": 0.00018888354486549237,
+ "loss": 1.061,
+ "step": 64
+ },
+ {
+ "epoch": 0.69,
+ "grad_norm": 0.27604852373975236,
+ "learning_rate": 0.00018848364781353744,
+ "loss": 1.0624,
+ "step": 65
+ },
+ {
+ "epoch": 0.7,
+ "grad_norm": 0.302101014156969,
+ "learning_rate": 0.00018807712330634642,
+ "loss": 1.0965,
+ "step": 66
+ },
+ {
+ "epoch": 0.72,
+ "grad_norm": 0.2532153192142023,
+ "learning_rate": 0.00018766400179274286,
+ "loss": 1.0972,
+ "step": 67
+ },
+ {
+ "epoch": 0.73,
+ "grad_norm": 0.23803088057755897,
+ "learning_rate": 0.00018724431421566823,
+ "loss": 1.0823,
+ "step": 68
+ },
+ {
+ "epoch": 0.74,
+ "grad_norm": 0.2200041903156331,
+ "learning_rate": 0.0001868180920098644,
+ "loss": 1.037,
+ "step": 69
+ },
+ {
+ "epoch": 0.75,
+ "grad_norm": 0.31123761066229655,
+ "learning_rate": 0.00018638536709951917,
+ "loss": 1.0689,
+ "step": 70
+ },
+ {
+ "epoch": 0.76,
+ "grad_norm": 0.2760757149384919,
+ "learning_rate": 0.00018594617189587512,
+ "loss": 1.0071,
+ "step": 71
+ },
+ {
+ "epoch": 0.77,
+ "grad_norm": 0.2452672521810973,
+ "learning_rate": 0.00018550053929480202,
+ "loss": 1.0711,
+ "step": 72
+ },
+ {
+ "epoch": 0.77,
+ "eval_loss": 1.1377497911453247,
+ "eval_runtime": 119.461,
+ "eval_samples_per_second": 8.363,
+ "eval_steps_per_second": 0.527,
+ "step": 72
+ },
+ {
+ "epoch": 0.78,
+ "grad_norm": 0.30897216290479246,
+ "learning_rate": 0.0001850485026743328,
+ "loss": 1.0508,
+ "step": 73
+ },
+ {
+ "epoch": 0.79,
+ "grad_norm": 0.24165903393157925,
+ "learning_rate": 0.00018459009589216364,
+ "loss": 1.046,
+ "step": 74
+ },
+ {
+ "epoch": 0.8,
+ "grad_norm": 0.2509819208307879,
+ "learning_rate": 0.00018412535328311814,
+ "loss": 1.0726,
+ "step": 75
+ },
+ {
+ "epoch": 0.81,
+ "grad_norm": 0.26145395006758515,
+ "learning_rate": 0.00018365430965657526,
+ "loss": 0.9998,
+ "step": 76
+ },
+ {
+ "epoch": 0.82,
+ "grad_norm": 0.26920709605794424,
+ "learning_rate": 0.00018317700029386245,
+ "loss": 1.065,
+ "step": 77
+ },
+ {
+ "epoch": 0.83,
+ "grad_norm": 0.24226754926786417,
+ "learning_rate": 0.0001826934609456129,
+ "loss": 1.0489,
+ "step": 78
+ },
+ {
+ "epoch": 0.84,
+ "grad_norm": 0.3022365661006827,
+ "learning_rate": 0.00018220372782908777,
+ "loss": 1.0372,
+ "step": 79
+ },
+ {
+ "epoch": 0.85,
+ "grad_norm": 0.25795710005352673,
+ "learning_rate": 0.00018170783762546365,
+ "loss": 1.0128,
+ "step": 80
+ },
+ {
+ "epoch": 0.86,
+ "grad_norm": 0.3490748875058354,
+ "learning_rate": 0.00018120582747708502,
+ "loss": 1.0168,
+ "step": 81
+ },
+ {
+ "epoch": 0.88,
+ "grad_norm": 0.24938209735120945,
+ "learning_rate": 0.00018069773498468223,
+ "loss": 0.9586,
+ "step": 82
+ },
+ {
+ "epoch": 0.89,
+ "grad_norm": 0.2527612545099894,
+ "learning_rate": 0.00018018359820455536,
+ "loss": 1.0385,
+ "step": 83
+ },
+ {
+ "epoch": 0.9,
+ "grad_norm": 0.27528879975094916,
+ "learning_rate": 0.0001796634556457236,
+ "loss": 1.0328,
+ "step": 84
+ },
+ {
+ "epoch": 0.91,
+ "grad_norm": 0.2605002777661913,
+ "learning_rate": 0.0001791373462670411,
+ "loss": 0.9966,
+ "step": 85
+ },
+ {
+ "epoch": 0.92,
+ "grad_norm": 0.3117107796665858,
+ "learning_rate": 0.00017860530947427875,
+ "loss": 0.9772,
+ "step": 86
+ },
+ {
+ "epoch": 0.93,
+ "grad_norm": 0.28336227154677734,
+ "learning_rate": 0.0001780673851171728,
+ "loss": 1.0724,
+ "step": 87
+ },
+ {
+ "epoch": 0.94,
+ "grad_norm": 0.42707817919652674,
+ "learning_rate": 0.0001775236134864401,
+ "loss": 1.0038,
+ "step": 88
+ },
+ {
+ "epoch": 0.95,
+ "grad_norm": 0.29236016959846456,
+ "learning_rate": 0.0001769740353107602,
+ "loss": 1.0083,
+ "step": 89
+ },
+ {
+ "epoch": 0.96,
+ "grad_norm": 0.43295063403530637,
+ "learning_rate": 0.00017641869175372493,
+ "loss": 1.022,
+ "step": 90
+ },
+ {
+ "epoch": 0.97,
+ "grad_norm": 0.3086663897043129,
+ "learning_rate": 0.00017585762441075503,
+ "loss": 1.0303,
+ "step": 91
+ },
+ {
+ "epoch": 0.98,
+ "grad_norm": 0.2783768981163154,
+ "learning_rate": 0.0001752908753059849,
+ "loss": 1.061,
+ "step": 92
+ },
+ {
+ "epoch": 0.99,
+ "grad_norm": 0.43168501819843275,
+ "learning_rate": 0.00017471848688911464,
+ "loss": 1.0631,
+ "step": 93
+ },
+ {
+ "epoch": 1.0,
+ "grad_norm": 0.25487494913299935,
+ "learning_rate": 0.0001741405020322309,
+ "loss": 0.9858,
+ "step": 94
+ },
+ {
+ "epoch": 1.01,
+ "grad_norm": 0.3229761094582219,
+ "learning_rate": 0.00017355696402659548,
+ "loss": 0.9495,
+ "step": 95
+ },
+ {
+ "epoch": 1.02,
+ "grad_norm": 0.3178464701266748,
+ "learning_rate": 0.000172967916579403,
+ "loss": 0.9546,
+ "step": 96
+ },
+ {
+ "epoch": 1.02,
+ "eval_loss": 1.1303094625473022,
+ "eval_runtime": 119.6761,
+ "eval_samples_per_second": 8.348,
+ "eval_steps_per_second": 0.526,
+ "step": 96
+ },
+ {
+ "epoch": 1.04,
+ "grad_norm": 0.2534616980189548,
+ "learning_rate": 0.00017237340381050703,
+ "loss": 0.9509,
+ "step": 97
+ },
+ {
+ "epoch": 1.05,
+ "grad_norm": 0.2354382873554396,
+ "learning_rate": 0.00017177347024911562,
+ "loss": 0.9611,
+ "step": 98
+ },
+ {
+ "epoch": 1.06,
+ "grad_norm": 0.2754259154521738,
+ "learning_rate": 0.00017116816083045602,
+ "loss": 0.9184,
+ "step": 99
+ },
+ {
+ "epoch": 1.07,
+ "grad_norm": 0.25868181129480755,
+ "learning_rate": 0.00017055752089240907,
+ "loss": 0.957,
+ "step": 100
+ },
+ {
+ "epoch": 1.08,
+ "grad_norm": 0.2383943586330267,
+ "learning_rate": 0.00016994159617211317,
+ "loss": 0.9638,
+ "step": 101
+ },
+ {
+ "epoch": 1.09,
+ "grad_norm": 0.2706420372628291,
+ "learning_rate": 0.0001693204328025389,
+ "loss": 0.9115,
+ "step": 102
+ },
+ {
+ "epoch": 1.1,
+ "grad_norm": 0.2751042656041904,
+ "learning_rate": 0.0001686940773090333,
+ "loss": 0.9277,
+ "step": 103
+ },
+ {
+ "epoch": 1.11,
+ "grad_norm": 0.27700872737428867,
+ "learning_rate": 0.00016806257660583534,
+ "loss": 0.9248,
+ "step": 104
+ },
+ {
+ "epoch": 1.12,
+ "grad_norm": 0.3350046312844708,
+ "learning_rate": 0.00016742597799256182,
+ "loss": 0.928,
+ "step": 105
+ },
+ {
+ "epoch": 1.13,
+ "grad_norm": 0.4055944986440079,
+ "learning_rate": 0.00016678432915066488,
+ "loss": 0.9074,
+ "step": 106
+ },
+ {
+ "epoch": 1.14,
+ "grad_norm": 0.2515177402600531,
+ "learning_rate": 0.00016613767813986044,
+ "loss": 0.9564,
+ "step": 107
+ },
+ {
+ "epoch": 1.15,
+ "grad_norm": 0.2571149695502646,
+ "learning_rate": 0.00016548607339452853,
+ "loss": 0.93,
+ "step": 108
+ },
+ {
+ "epoch": 1.16,
+ "grad_norm": 0.38608942941048996,
+ "learning_rate": 0.0001648295637200856,
+ "loss": 0.9281,
+ "step": 109
+ },
+ {
+ "epoch": 1.17,
+ "grad_norm": 0.31939838976976676,
+ "learning_rate": 0.000164168198289329,
+ "loss": 0.9914,
+ "step": 110
+ },
+ {
+ "epoch": 1.19,
+ "grad_norm": 0.30504937567650897,
+ "learning_rate": 0.00016350202663875386,
+ "loss": 0.9549,
+ "step": 111
+ },
+ {
+ "epoch": 1.2,
+ "grad_norm": 0.3320388344291162,
+ "learning_rate": 0.0001628310986648427,
+ "loss": 0.9086,
+ "step": 112
+ },
+ {
+ "epoch": 1.21,
+ "grad_norm": 0.27715569151296165,
+ "learning_rate": 0.0001621554646203284,
+ "loss": 0.8537,
+ "step": 113
+ },
+ {
+ "epoch": 1.22,
+ "grad_norm": 0.278787508566418,
+ "learning_rate": 0.0001614751751104301,
+ "loss": 0.9354,
+ "step": 114
+ },
+ {
+ "epoch": 1.23,
+ "grad_norm": 0.24483614460003267,
+ "learning_rate": 0.00016079028108906282,
+ "loss": 0.8996,
+ "step": 115
+ },
+ {
+ "epoch": 1.24,
+ "grad_norm": 0.37520609596400134,
+ "learning_rate": 0.0001601008338550211,
+ "loss": 0.9514,
+ "step": 116
+ },
+ {
+ "epoch": 1.25,
+ "grad_norm": 0.2565631505653599,
+ "learning_rate": 0.00015940688504813662,
+ "loss": 0.8984,
+ "step": 117
+ },
+ {
+ "epoch": 1.26,
+ "grad_norm": 0.26348552476529935,
+ "learning_rate": 0.00015870848664541044,
+ "loss": 0.8941,
+ "step": 118
+ },
+ {
+ "epoch": 1.27,
+ "grad_norm": 0.32431198985496534,
+ "learning_rate": 0.00015800569095711982,
+ "loss": 0.8876,
+ "step": 119
+ },
+ {
+ "epoch": 1.28,
+ "grad_norm": 0.29308039763069227,
+ "learning_rate": 0.00015729855062290022,
+ "loss": 0.9309,
+ "step": 120
+ },
+ {
+ "epoch": 1.28,
+ "eval_loss": 1.129751205444336,
+ "eval_runtime": 119.1497,
+ "eval_samples_per_second": 8.384,
+ "eval_steps_per_second": 0.529,
+ "step": 120
+ },
+ {
+ "epoch": 1.29,
+ "grad_norm": 0.2793291380060977,
+ "learning_rate": 0.0001565871186078025,
+ "loss": 0.9453,
+ "step": 121
+ },
+ {
+ "epoch": 1.3,
+ "grad_norm": 0.28873644301555734,
+ "learning_rate": 0.000155871448198326,
+ "loss": 0.9243,
+ "step": 122
+ },
+ {
+ "epoch": 1.31,
+ "grad_norm": 0.3086103724578039,
+ "learning_rate": 0.00015515159299842707,
+ "loss": 0.8877,
+ "step": 123
+ },
+ {
+ "epoch": 1.32,
+ "grad_norm": 0.30407892484693505,
+ "learning_rate": 0.00015442760692550443,
+ "loss": 0.9448,
+ "step": 124
+ },
+ {
+ "epoch": 1.33,
+ "grad_norm": 0.29771602861368474,
+ "learning_rate": 0.00015369954420636048,
+ "loss": 0.889,
+ "step": 125
+ },
+ {
+ "epoch": 1.35,
+ "grad_norm": 0.30480490158838136,
+ "learning_rate": 0.00015296745937313987,
+ "loss": 0.9405,
+ "step": 126
+ },
+ {
+ "epoch": 1.36,
+ "grad_norm": 0.2949192855418127,
+ "learning_rate": 0.00015223140725924495,
+ "loss": 0.9382,
+ "step": 127
+ },
+ {
+ "epoch": 1.37,
+ "grad_norm": 0.2813631863132807,
+ "learning_rate": 0.00015149144299522873,
+ "loss": 0.9526,
+ "step": 128
+ },
+ {
+ "epoch": 1.38,
+ "grad_norm": 0.28548924064070513,
+ "learning_rate": 0.00015074762200466556,
+ "loss": 0.9174,
+ "step": 129
+ },
+ {
+ "epoch": 1.39,
+ "grad_norm": 0.28137053449960464,
+ "learning_rate": 0.00015000000000000001,
+ "loss": 0.9244,
+ "step": 130
+ },
+ {
+ "epoch": 1.4,
+ "grad_norm": 0.2626750895717777,
+ "learning_rate": 0.00014924863297837378,
+ "loss": 0.9335,
+ "step": 131
+ },
+ {
+ "epoch": 1.41,
+ "grad_norm": 0.26686502371015536,
+ "learning_rate": 0.00014849357721743168,
+ "loss": 0.8948,
+ "step": 132
+ },
+ {
+ "epoch": 1.42,
+ "grad_norm": 0.3332273481179679,
+ "learning_rate": 0.00014773488927110633,
+ "loss": 0.9274,
+ "step": 133
+ },
+ {
+ "epoch": 1.43,
+ "grad_norm": 0.2528048763375234,
+ "learning_rate": 0.00014697262596538227,
+ "loss": 0.8731,
+ "step": 134
+ },
+ {
+ "epoch": 1.44,
+ "grad_norm": 0.27184211707488076,
+ "learning_rate": 0.00014620684439403962,
+ "loss": 0.9318,
+ "step": 135
+ },
+ {
+ "epoch": 1.45,
+ "grad_norm": 0.3051111137538683,
+ "learning_rate": 0.0001454376019143779,
+ "loss": 0.9447,
+ "step": 136
+ },
+ {
+ "epoch": 1.46,
+ "grad_norm": 0.28771401659835155,
+ "learning_rate": 0.00014466495614291977,
+ "loss": 0.9343,
+ "step": 137
+ },
+ {
+ "epoch": 1.47,
+ "grad_norm": 0.28995797921621524,
+ "learning_rate": 0.0001438889649510956,
+ "loss": 0.8978,
+ "step": 138
+ },
+ {
+ "epoch": 1.48,
+ "grad_norm": 0.2749930548874636,
+ "learning_rate": 0.00014310968646090883,
+ "loss": 0.924,
+ "step": 139
+ },
+ {
+ "epoch": 1.49,
+ "grad_norm": 0.3097189537380989,
+ "learning_rate": 0.0001423271790405828,
+ "loss": 0.9574,
+ "step": 140
+ },
+ {
+ "epoch": 1.51,
+ "grad_norm": 0.2449218990319832,
+ "learning_rate": 0.00014154150130018866,
+ "loss": 0.8475,
+ "step": 141
+ },
+ {
+ "epoch": 1.52,
+ "grad_norm": 0.24856388098419674,
+ "learning_rate": 0.0001407527120872557,
+ "loss": 0.9381,
+ "step": 142
+ },
+ {
+ "epoch": 1.53,
+ "grad_norm": 0.3169861882853132,
+ "learning_rate": 0.00013996087048236358,
+ "loss": 0.9141,
+ "step": 143
+ },
+ {
+ "epoch": 1.54,
+ "grad_norm": 0.30689184261103974,
+ "learning_rate": 0.00013916603579471705,
+ "loss": 0.9588,
+ "step": 144
+ },
+ {
+ "epoch": 1.54,
+ "eval_loss": 1.1242448091506958,
+ "eval_runtime": 119.0725,
+ "eval_samples_per_second": 8.39,
+ "eval_steps_per_second": 0.529,
+ "step": 144
+ },
+ {
+ "epoch": 1.55,
+ "grad_norm": 0.2961514212977567,
+ "learning_rate": 0.00013836826755770384,
+ "loss": 0.9371,
+ "step": 145
+ },
+ {
+ "epoch": 1.56,
+ "grad_norm": 0.30790856503439346,
+ "learning_rate": 0.00013756762552443553,
+ "loss": 0.9612,
+ "step": 146
+ },
+ {
+ "epoch": 1.57,
+ "grad_norm": 0.3517398492864053,
+ "learning_rate": 0.000136764169663272,
+ "loss": 0.9253,
+ "step": 147
+ },
+ {
+ "epoch": 1.58,
+ "grad_norm": 0.26375798832515857,
+ "learning_rate": 0.00013595796015332984,
+ "loss": 0.8977,
+ "step": 148
+ },
+ {
+ "epoch": 1.59,
+ "grad_norm": 0.274348892672977,
+ "learning_rate": 0.00013514905737997473,
+ "loss": 0.8817,
+ "step": 149
+ },
+ {
+ "epoch": 1.6,
+ "grad_norm": 0.35917564750751624,
+ "learning_rate": 0.00013433752193029886,
+ "loss": 0.886,
+ "step": 150
+ },
+ {
+ "epoch": 1.61,
+ "grad_norm": 0.38175124377914293,
+ "learning_rate": 0.00013352341458858265,
+ "loss": 0.8576,
+ "step": 151
+ },
+ {
+ "epoch": 1.62,
+ "grad_norm": 0.249633953215678,
+ "learning_rate": 0.00013270679633174218,
+ "loss": 1.0066,
+ "step": 152
+ },
+ {
+ "epoch": 1.63,
+ "grad_norm": 0.33494494430574784,
+ "learning_rate": 0.00013188772832476188,
+ "loss": 0.884,
+ "step": 153
+ },
+ {
+ "epoch": 1.64,
+ "grad_norm": 0.4176467296744032,
+ "learning_rate": 0.00013106627191611332,
+ "loss": 0.9041,
+ "step": 154
+ },
+ {
+ "epoch": 1.65,
+ "grad_norm": 0.27051479454532207,
+ "learning_rate": 0.00013024248863316012,
+ "loss": 0.8764,
+ "step": 155
+ },
+ {
+ "epoch": 1.67,
+ "grad_norm": 0.29302599029848847,
+ "learning_rate": 0.00012941644017754964,
+ "loss": 0.9786,
+ "step": 156
+ },
+ {
+ "epoch": 1.68,
+ "grad_norm": 0.3127378512248151,
+ "learning_rate": 0.00012858818842059145,
+ "loss": 0.9176,
+ "step": 157
+ },
+ {
+ "epoch": 1.69,
+ "grad_norm": 0.40647077063662906,
+ "learning_rate": 0.00012775779539862304,
+ "loss": 0.9387,
+ "step": 158
+ },
+ {
+ "epoch": 1.7,
+ "grad_norm": 0.29290601694481777,
+ "learning_rate": 0.00012692532330836346,
+ "loss": 0.9192,
+ "step": 159
+ },
+ {
+ "epoch": 1.71,
+ "grad_norm": 0.2819168741245354,
+ "learning_rate": 0.0001260908345022547,
+ "loss": 0.9253,
+ "step": 160
+ },
+ {
+ "epoch": 1.72,
+ "grad_norm": 0.3772714091394927,
+ "learning_rate": 0.00012525439148379128,
+ "loss": 0.9264,
+ "step": 161
+ },
+ {
+ "epoch": 1.73,
+ "grad_norm": 0.29399851067321503,
+ "learning_rate": 0.00012441605690283915,
+ "loss": 0.9357,
+ "step": 162
+ },
+ {
+ "epoch": 1.74,
+ "grad_norm": 0.2623180246832513,
+ "learning_rate": 0.00012357589355094275,
+ "loss": 0.8516,
+ "step": 163
+ },
+ {
+ "epoch": 1.75,
+ "grad_norm": 0.27796942024085824,
+ "learning_rate": 0.00012273396435662212,
+ "loss": 0.9328,
+ "step": 164
+ },
+ {
+ "epoch": 1.76,
+ "grad_norm": 0.3107670297529076,
+ "learning_rate": 0.0001218903323806595,
+ "loss": 0.8769,
+ "step": 165
+ },
+ {
+ "epoch": 1.77,
+ "grad_norm": 0.2865573350738354,
+ "learning_rate": 0.00012104506081137608,
+ "loss": 0.9015,
+ "step": 166
+ },
+ {
+ "epoch": 1.78,
+ "grad_norm": 0.30595087117636693,
+ "learning_rate": 0.00012019821295989912,
+ "loss": 0.94,
+ "step": 167
+ },
+ {
+ "epoch": 1.79,
+ "grad_norm": 0.32540365653257874,
+ "learning_rate": 0.00011934985225541998,
+ "loss": 0.8553,
+ "step": 168
+ },
+ {
+ "epoch": 1.79,
+ "eval_loss": 1.1259374618530273,
+ "eval_runtime": 119.4351,
+ "eval_samples_per_second": 8.364,
+ "eval_steps_per_second": 0.527,
+ "step": 168
+ },
+ {
+ "epoch": 1.8,
+ "grad_norm": 0.3058868303314457,
+ "learning_rate": 0.00011850004224044315,
+ "loss": 0.9074,
+ "step": 169
+ },
+ {
+ "epoch": 1.81,
+ "grad_norm": 0.33266760488242775,
+ "learning_rate": 0.0001176488465660271,
+ "loss": 0.8799,
+ "step": 170
+ },
+ {
+ "epoch": 1.83,
+ "grad_norm": 0.3101183375673487,
+ "learning_rate": 0.00011679632898701649,
+ "loss": 0.9004,
+ "step": 171
+ },
+ {
+ "epoch": 1.84,
+ "grad_norm": 0.31535579418195775,
+ "learning_rate": 0.00011594255335726724,
+ "loss": 0.9238,
+ "step": 172
+ },
+ {
+ "epoch": 1.85,
+ "grad_norm": 0.28341827112854334,
+ "learning_rate": 0.00011508758362486358,
+ "loss": 0.9138,
+ "step": 173
+ },
+ {
+ "epoch": 1.86,
+ "grad_norm": 0.25699888796695625,
+ "learning_rate": 0.00011423148382732853,
+ "loss": 0.9175,
+ "step": 174
+ },
+ {
+ "epoch": 1.87,
+ "grad_norm": 0.29504332662698246,
+ "learning_rate": 0.0001133743180868273,
+ "loss": 0.9023,
+ "step": 175
+ },
+ {
+ "epoch": 1.88,
+ "grad_norm": 0.2993175263873948,
+ "learning_rate": 0.0001125161506053646,
+ "loss": 0.8893,
+ "step": 176
+ },
+ {
+ "epoch": 1.89,
+ "grad_norm": 0.2762659379409218,
+ "learning_rate": 0.00011165704565997593,
+ "loss": 0.9071,
+ "step": 177
+ },
+ {
+ "epoch": 1.9,
+ "grad_norm": 0.23620994229530515,
+ "learning_rate": 0.00011079706759791311,
+ "loss": 0.8796,
+ "step": 178
+ },
+ {
+ "epoch": 1.91,
+ "grad_norm": 0.28317619721877,
+ "learning_rate": 0.00010993628083182467,
+ "loss": 0.8983,
+ "step": 179
+ },
+ {
+ "epoch": 1.92,
+ "grad_norm": 0.3252854551640304,
+ "learning_rate": 0.00010907474983493144,
+ "loss": 0.8947,
+ "step": 180
+ },
+ {
+ "epoch": 1.93,
+ "grad_norm": 0.2579136274422669,
+ "learning_rate": 0.00010821253913619726,
+ "loss": 0.8726,
+ "step": 181
+ },
+ {
+ "epoch": 1.94,
+ "grad_norm": 0.27201912720918364,
+ "learning_rate": 0.00010734971331549603,
+ "loss": 0.891,
+ "step": 182
+ },
+ {
+ "epoch": 1.95,
+ "grad_norm": 0.41257277193589503,
+ "learning_rate": 0.0001064863369987743,
+ "loss": 0.9188,
+ "step": 183
+ },
+ {
+ "epoch": 1.96,
+ "grad_norm": 0.264920112831242,
+ "learning_rate": 0.00010562247485321115,
+ "loss": 0.8761,
+ "step": 184
+ },
+ {
+ "epoch": 1.98,
+ "grad_norm": 0.28166441056422037,
+ "learning_rate": 0.00010475819158237425,
+ "loss": 0.8805,
+ "step": 185
+ },
+ {
+ "epoch": 1.99,
+ "grad_norm": 0.2818961139392159,
+ "learning_rate": 0.00010389355192137377,
+ "loss": 0.8934,
+ "step": 186
+ },
+ {
+ "epoch": 2.0,
+ "grad_norm": 0.27424787600345923,
+ "learning_rate": 0.00010302862063201367,
+ "loss": 0.9237,
+ "step": 187
+ },
+ {
+ "epoch": 2.01,
+ "grad_norm": 0.25570082666079225,
+ "learning_rate": 0.00010216346249794087,
+ "loss": 0.8656,
+ "step": 188
+ },
+ {
+ "epoch": 2.02,
+ "grad_norm": 0.2712359904481713,
+ "learning_rate": 0.0001012981423197931,
+ "loss": 0.7627,
+ "step": 189
+ },
+ {
+ "epoch": 2.03,
+ "grad_norm": 0.25054404547068676,
+ "learning_rate": 0.00010043272491034523,
+ "loss": 0.8142,
+ "step": 190
+ },
+ {
+ "epoch": 2.04,
+ "grad_norm": 0.28520868420260026,
+ "learning_rate": 9.956727508965481e-05,
+ "loss": 0.7953,
+ "step": 191
+ },
+ {
+ "epoch": 2.05,
+ "grad_norm": 0.29413880984694873,
+ "learning_rate": 9.870185768020693e-05,
+ "loss": 0.8231,
+ "step": 192
+ },
+ {
+ "epoch": 2.05,
+ "eval_loss": 1.144862413406372,
+ "eval_runtime": 119.3004,
+ "eval_samples_per_second": 8.374,
+ "eval_steps_per_second": 0.528,
+ "step": 192
+ },
+ {
+ "epoch": 2.06,
+ "grad_norm": 0.28378300985247035,
+ "learning_rate": 9.783653750205915e-05,
+ "loss": 0.7478,
+ "step": 193
+ },
+ {
+ "epoch": 2.07,
+ "grad_norm": 0.31792721348179676,
+ "learning_rate": 9.697137936798634e-05,
+ "loss": 0.7961,
+ "step": 194
+ },
+ {
+ "epoch": 2.08,
+ "grad_norm": 0.3291666436295964,
+ "learning_rate": 9.610644807862625e-05,
+ "loss": 0.7434,
+ "step": 195
+ },
+ {
+ "epoch": 2.09,
+ "grad_norm": 0.301579259001567,
+ "learning_rate": 9.524180841762577e-05,
+ "loss": 0.7779,
+ "step": 196
+ },
+ {
+ "epoch": 2.1,
+ "grad_norm": 0.30252161240414444,
+ "learning_rate": 9.437752514678887e-05,
+ "loss": 0.7689,
+ "step": 197
+ },
+ {
+ "epoch": 2.11,
+ "grad_norm": 0.3350657085129171,
+ "learning_rate": 9.35136630012257e-05,
+ "loss": 0.7574,
+ "step": 198
+ },
+ {
+ "epoch": 2.12,
+ "grad_norm": 0.3053109929956358,
+ "learning_rate": 9.265028668450402e-05,
+ "loss": 0.7729,
+ "step": 199
+ },
+ {
+ "epoch": 2.14,
+ "grad_norm": 0.30367223609567207,
+ "learning_rate": 9.178746086380275e-05,
+ "loss": 0.8111,
+ "step": 200
+ },
+ {
+ "epoch": 2.15,
+ "grad_norm": 0.3366440949136126,
+ "learning_rate": 9.092525016506858e-05,
+ "loss": 0.7986,
+ "step": 201
+ },
+ {
+ "epoch": 2.16,
+ "grad_norm": 0.3228036608413652,
+ "learning_rate": 9.006371916817534e-05,
+ "loss": 0.8382,
+ "step": 202
+ },
+ {
+ "epoch": 2.17,
+ "grad_norm": 0.2919040789403488,
+ "learning_rate": 8.920293240208694e-05,
+ "loss": 0.7696,
+ "step": 203
+ },
+ {
+ "epoch": 2.18,
+ "grad_norm": 0.30084198177583166,
+ "learning_rate": 8.83429543400241e-05,
+ "loss": 0.7671,
+ "step": 204
+ },
+ {
+ "epoch": 2.19,
+ "grad_norm": 0.33931609000743107,
+ "learning_rate": 8.748384939463543e-05,
+ "loss": 0.7553,
+ "step": 205
+ },
+ {
+ "epoch": 2.2,
+ "grad_norm": 0.30413284924824485,
+ "learning_rate": 8.662568191317273e-05,
+ "loss": 0.7324,
+ "step": 206
+ },
+ {
+ "epoch": 2.21,
+ "grad_norm": 0.3014038998090481,
+ "learning_rate": 8.57685161726715e-05,
+ "loss": 0.7567,
+ "step": 207
+ },
+ {
+ "epoch": 2.22,
+ "grad_norm": 0.3176466329519527,
+ "learning_rate": 8.491241637513644e-05,
+ "loss": 0.8222,
+ "step": 208
+ },
+ {
+ "epoch": 2.23,
+ "grad_norm": 0.29981213041628285,
+ "learning_rate": 8.405744664273278e-05,
+ "loss": 0.7077,
+ "step": 209
+ },
+ {
+ "epoch": 2.24,
+ "grad_norm": 0.2937916452228122,
+ "learning_rate": 8.320367101298351e-05,
+ "loss": 0.7231,
+ "step": 210
+ },
+ {
+ "epoch": 2.25,
+ "grad_norm": 0.32040684171320816,
+ "learning_rate": 8.235115343397295e-05,
+ "loss": 0.7556,
+ "step": 211
+ },
+ {
+ "epoch": 2.26,
+ "grad_norm": 0.31083028085316033,
+ "learning_rate": 8.149995775955686e-05,
+ "loss": 0.7514,
+ "step": 212
+ },
+ {
+ "epoch": 2.27,
+ "grad_norm": 0.3215465383581194,
+ "learning_rate": 8.065014774458003e-05,
+ "loss": 0.7933,
+ "step": 213
+ },
+ {
+ "epoch": 2.28,
+ "grad_norm": 0.3081200259196015,
+ "learning_rate": 7.980178704010089e-05,
+ "loss": 0.8062,
+ "step": 214
+ },
+ {
+ "epoch": 2.3,
+ "grad_norm": 0.3333248296288759,
+ "learning_rate": 7.895493918862396e-05,
+ "loss": 0.7784,
+ "step": 215
+ },
+ {
+ "epoch": 2.31,
+ "grad_norm": 0.3301326097292383,
+ "learning_rate": 7.810966761934053e-05,
+ "loss": 0.8154,
+ "step": 216
+ },
+ {
+ "epoch": 2.31,
+ "eval_loss": 1.1513652801513672,
+ "eval_runtime": 119.4371,
+ "eval_samples_per_second": 8.364,
+ "eval_steps_per_second": 0.527,
+ "step": 216
+ },
+ {
+ "epoch": 2.32,
+ "grad_norm": 0.3166760836422428,
+ "learning_rate": 7.726603564337791e-05,
+ "loss": 0.7486,
+ "step": 217
+ },
+ {
+ "epoch": 2.33,
+ "grad_norm": 0.31309757318131876,
+ "learning_rate": 7.642410644905726e-05,
+ "loss": 0.771,
+ "step": 218
+ },
+ {
+ "epoch": 2.34,
+ "grad_norm": 0.36968796131043985,
+ "learning_rate": 7.558394309716088e-05,
+ "loss": 0.8051,
+ "step": 219
+ },
+ {
+ "epoch": 2.35,
+ "grad_norm": 0.27537675917328025,
+ "learning_rate": 7.474560851620873e-05,
+ "loss": 0.7536,
+ "step": 220
+ },
+ {
+ "epoch": 2.36,
+ "grad_norm": 0.2878011945022053,
+ "learning_rate": 7.390916549774536e-05,
+ "loss": 0.8126,
+ "step": 221
+ },
+ {
+ "epoch": 2.37,
+ "grad_norm": 0.3172405217395398,
+ "learning_rate": 7.307467669163655e-05,
+ "loss": 0.8156,
+ "step": 222
+ },
+ {
+ "epoch": 2.38,
+ "grad_norm": 0.3183651086957915,
+ "learning_rate": 7.224220460137701e-05,
+ "loss": 0.7821,
+ "step": 223
+ },
+ {
+ "epoch": 2.39,
+ "grad_norm": 0.3318078467573977,
+ "learning_rate": 7.141181157940859e-05,
+ "loss": 0.7993,
+ "step": 224
+ },
+ {
+ "epoch": 2.4,
+ "grad_norm": 0.28446170407344085,
+ "learning_rate": 7.058355982245037e-05,
+ "loss": 0.7987,
+ "step": 225
+ },
+ {
+ "epoch": 2.41,
+ "grad_norm": 0.33568352702219995,
+ "learning_rate": 6.97575113668399e-05,
+ "loss": 0.773,
+ "step": 226
+ },
+ {
+ "epoch": 2.42,
+ "grad_norm": 0.30820575901544944,
+ "learning_rate": 6.893372808388675e-05,
+ "loss": 0.813,
+ "step": 227
+ },
+ {
+ "epoch": 2.43,
+ "grad_norm": 0.3121364386024255,
+ "learning_rate": 6.811227167523815e-05,
+ "loss": 0.7716,
+ "step": 228
+ },
+ {
+ "epoch": 2.44,
+ "grad_norm": 0.3211455560922844,
+ "learning_rate": 6.729320366825784e-05,
+ "loss": 0.7577,
+ "step": 229
+ },
+ {
+ "epoch": 2.46,
+ "grad_norm": 0.3315601260165869,
+ "learning_rate": 6.647658541141735e-05,
+ "loss": 0.779,
+ "step": 230
+ },
+ {
+ "epoch": 2.47,
+ "grad_norm": 0.35482236759964675,
+ "learning_rate": 6.566247806970119e-05,
+ "loss": 0.7936,
+ "step": 231
+ },
+ {
+ "epoch": 2.48,
+ "grad_norm": 0.3318703205331905,
+ "learning_rate": 6.485094262002529e-05,
+ "loss": 0.7721,
+ "step": 232
+ },
+ {
+ "epoch": 2.49,
+ "grad_norm": 0.313412585518615,
+ "learning_rate": 6.404203984667019e-05,
+ "loss": 0.7333,
+ "step": 233
+ },
+ {
+ "epoch": 2.5,
+ "grad_norm": 0.3389693444254627,
+ "learning_rate": 6.323583033672799e-05,
+ "loss": 0.6991,
+ "step": 234
+ },
+ {
+ "epoch": 2.51,
+ "grad_norm": 0.33056782619334757,
+ "learning_rate": 6.243237447556449e-05,
+ "loss": 0.7872,
+ "step": 235
+ },
+ {
+ "epoch": 2.52,
+ "grad_norm": 0.3064085209522584,
+ "learning_rate": 6.163173244229619e-05,
+ "loss": 0.7713,
+ "step": 236
+ },
+ {
+ "epoch": 2.53,
+ "grad_norm": 0.3109445125421656,
+ "learning_rate": 6.083396420528298e-05,
+ "loss": 0.8228,
+ "step": 237
+ },
+ {
+ "epoch": 2.54,
+ "grad_norm": 0.35767207742703394,
+ "learning_rate": 6.0039129517636435e-05,
+ "loss": 0.8167,
+ "step": 238
+ },
+ {
+ "epoch": 2.55,
+ "grad_norm": 0.32869196909020376,
+ "learning_rate": 5.924728791274432e-05,
+ "loss": 0.7893,
+ "step": 239
+ },
+ {
+ "epoch": 2.56,
+ "grad_norm": 0.31178216743238674,
+ "learning_rate": 5.845849869981137e-05,
+ "loss": 0.7354,
+ "step": 240
+ },
+ {
+ "epoch": 2.56,
+ "eval_loss": 1.1470853090286255,
+ "eval_runtime": 119.0749,
+ "eval_samples_per_second": 8.39,
+ "eval_steps_per_second": 0.529,
+ "step": 240
+ },
+ {
+ "epoch": 2.57,
+ "grad_norm": 0.3146586486940167,
+ "learning_rate": 5.7672820959417254e-05,
+ "loss": 0.785,
+ "step": 241
+ },
+ {
+ "epoch": 2.58,
+ "grad_norm": 0.3309473634570162,
+ "learning_rate": 5.68903135390912e-05,
+ "loss": 0.7007,
+ "step": 242
+ },
+ {
+ "epoch": 2.59,
+ "grad_norm": 0.2927704203363025,
+ "learning_rate": 5.611103504890444e-05,
+ "loss": 0.778,
+ "step": 243
+ },
+ {
+ "epoch": 2.6,
+ "grad_norm": 0.31346541530480915,
+ "learning_rate": 5.533504385708024e-05,
+ "loss": 0.7272,
+ "step": 244
+ },
+ {
+ "epoch": 2.62,
+ "grad_norm": 0.2996345434845278,
+ "learning_rate": 5.456239808562209e-05,
+ "loss": 0.8091,
+ "step": 245
+ },
+ {
+ "epoch": 2.63,
+ "grad_norm": 0.29407937930772826,
+ "learning_rate": 5.379315560596038e-05,
+ "loss": 0.7666,
+ "step": 246
+ },
+ {
+ "epoch": 2.64,
+ "grad_norm": 0.30530254935425627,
+ "learning_rate": 5.3027374034617785e-05,
+ "loss": 0.7982,
+ "step": 247
+ },
+ {
+ "epoch": 2.65,
+ "grad_norm": 0.3298149075133802,
+ "learning_rate": 5.226511072889371e-05,
+ "loss": 0.7962,
+ "step": 248
+ },
+ {
+ "epoch": 2.66,
+ "grad_norm": 0.33155001378615223,
+ "learning_rate": 5.1506422782568345e-05,
+ "loss": 0.8087,
+ "step": 249
+ },
+ {
+ "epoch": 2.67,
+ "grad_norm": 0.32891369446509405,
+ "learning_rate": 5.0751367021626215e-05,
+ "loss": 0.7702,
+ "step": 250
+ },
+ {
+ "epoch": 2.68,
+ "grad_norm": 0.3042328939887202,
+ "learning_rate": 5.000000000000002e-05,
+ "loss": 0.7924,
+ "step": 251
+ },
+ {
+ "epoch": 2.69,
+ "grad_norm": 0.3037799376581133,
+ "learning_rate": 4.9252377995334444e-05,
+ "loss": 0.7852,
+ "step": 252
+ },
+ {
+ "epoch": 2.7,
+ "grad_norm": 0.3435430445603929,
+ "learning_rate": 4.85085570047713e-05,
+ "loss": 0.7501,
+ "step": 253
+ },
+ {
+ "epoch": 2.71,
+ "grad_norm": 0.3072160193979946,
+ "learning_rate": 4.776859274075506e-05,
+ "loss": 0.7462,
+ "step": 254
+ },
+ {
+ "epoch": 2.72,
+ "grad_norm": 0.3223586439500028,
+ "learning_rate": 4.703254062686017e-05,
+ "loss": 0.775,
+ "step": 255
+ },
+ {
+ "epoch": 2.73,
+ "grad_norm": 0.3270406403084203,
+ "learning_rate": 4.630045579363957e-05,
+ "loss": 0.8306,
+ "step": 256
+ },
+ {
+ "epoch": 2.74,
+ "grad_norm": 0.3360192842512657,
+ "learning_rate": 4.557239307449561e-05,
+ "loss": 0.7697,
+ "step": 257
+ },
+ {
+ "epoch": 2.75,
+ "grad_norm": 0.34282816479900324,
+ "learning_rate": 4.484840700157295e-05,
+ "loss": 0.7654,
+ "step": 258
+ },
+ {
+ "epoch": 2.77,
+ "grad_norm": 0.30039142762313786,
+ "learning_rate": 4.412855180167406e-05,
+ "loss": 0.7703,
+ "step": 259
+ },
+ {
+ "epoch": 2.78,
+ "grad_norm": 0.34307884673711425,
+ "learning_rate": 4.3412881392197526e-05,
+ "loss": 0.7993,
+ "step": 260
+ },
+ {
+ "epoch": 2.79,
+ "grad_norm": 0.33685538845268104,
+ "learning_rate": 4.270144937709981e-05,
+ "loss": 0.7866,
+ "step": 261
+ },
+ {
+ "epoch": 2.8,
+ "grad_norm": 0.33166767859224683,
+ "learning_rate": 4.19943090428802e-05,
+ "loss": 0.8083,
+ "step": 262
+ },
+ {
+ "epoch": 2.81,
+ "grad_norm": 0.3086370003245581,
+ "learning_rate": 4.129151335458957e-05,
+ "loss": 0.7938,
+ "step": 263
+ },
+ {
+ "epoch": 2.82,
+ "grad_norm": 0.3715649674817313,
+ "learning_rate": 4.059311495186338e-05,
+ "loss": 0.7577,
+ "step": 264
+ },
+ {
+ "epoch": 2.82,
+ "eval_loss": 1.1478512287139893,
+ "eval_runtime": 119.1178,
+ "eval_samples_per_second": 8.387,
+ "eval_steps_per_second": 0.529,
+ "step": 264
+ },
+ {
+ "epoch": 2.83,
+ "grad_norm": 0.3298033298390841,
+ "learning_rate": 3.9899166144978904e-05,
+ "loss": 0.8296,
+ "step": 265
+ },
+ {
+ "epoch": 2.84,
+ "grad_norm": 0.3294808666769515,
+ "learning_rate": 3.920971891093718e-05,
+ "loss": 0.8206,
+ "step": 266
+ },
+ {
+ "epoch": 2.85,
+ "grad_norm": 0.3239672501165848,
+ "learning_rate": 3.852482488956992e-05,
+ "loss": 0.8116,
+ "step": 267
+ },
+ {
+ "epoch": 2.86,
+ "grad_norm": 0.3286742994048133,
+ "learning_rate": 3.784453537967161e-05,
+ "loss": 0.8096,
+ "step": 268
+ },
+ {
+ "epoch": 2.87,
+ "grad_norm": 0.31259050250842946,
+ "learning_rate": 3.7168901335157315e-05,
+ "loss": 0.7669,
+ "step": 269
+ },
+ {
+ "epoch": 2.88,
+ "grad_norm": 0.3308991711135206,
+ "learning_rate": 3.649797336124615e-05,
+ "loss": 0.8041,
+ "step": 270
+ },
+ {
+ "epoch": 2.89,
+ "grad_norm": 0.32757727002633424,
+ "learning_rate": 3.583180171067101e-05,
+ "loss": 0.7673,
+ "step": 271
+ },
+ {
+ "epoch": 2.9,
+ "grad_norm": 0.3342551756453125,
+ "learning_rate": 3.517043627991441e-05,
+ "loss": 0.8005,
+ "step": 272
+ },
+ {
+ "epoch": 2.91,
+ "grad_norm": 0.31643754309861705,
+ "learning_rate": 3.45139266054715e-05,
+ "loss": 0.787,
+ "step": 273
+ },
+ {
+ "epoch": 2.93,
+ "grad_norm": 0.3140452683879005,
+ "learning_rate": 3.3862321860139576e-05,
+ "loss": 0.7888,
+ "step": 274
+ },
+ {
+ "epoch": 2.94,
+ "grad_norm": 0.30706221155036223,
+ "learning_rate": 3.3215670849335155e-05,
+ "loss": 0.827,
+ "step": 275
+ },
+ {
+ "epoch": 2.95,
+ "grad_norm": 0.3185483102727301,
+ "learning_rate": 3.257402200743821e-05,
+ "loss": 0.7779,
+ "step": 276
+ },
+ {
+ "epoch": 2.96,
+ "grad_norm": 0.3032818796307545,
+ "learning_rate": 3.19374233941647e-05,
+ "loss": 0.7993,
+ "step": 277
+ },
+ {
+ "epoch": 2.97,
+ "grad_norm": 0.3057758504695884,
+ "learning_rate": 3.130592269096671e-05,
+ "loss": 0.768,
+ "step": 278
+ },
+ {
+ "epoch": 2.98,
+ "grad_norm": 0.3245404038219604,
+ "learning_rate": 3.0679567197461134e-05,
+ "loss": 0.7706,
+ "step": 279
+ },
+ {
+ "epoch": 2.99,
+ "grad_norm": 0.3376535123919746,
+ "learning_rate": 3.005840382788685e-05,
+ "loss": 0.7825,
+ "step": 280
+ },
+ {
+ "epoch": 3.0,
+ "grad_norm": 0.34483227716329967,
+ "learning_rate": 2.944247910759097e-05,
+ "loss": 0.7725,
+ "step": 281
+ },
+ {
+ "epoch": 3.01,
+ "grad_norm": 0.30532824560617583,
+ "learning_rate": 2.8831839169543996e-05,
+ "loss": 0.7228,
+ "step": 282
+ },
+ {
+ "epoch": 3.02,
+ "grad_norm": 0.31015055336513103,
+ "learning_rate": 2.8226529750884402e-05,
+ "loss": 0.6507,
+ "step": 283
+ },
+ {
+ "epoch": 3.03,
+ "grad_norm": 0.3125936248719555,
+ "learning_rate": 2.7626596189492983e-05,
+ "loss": 0.734,
+ "step": 284
+ },
+ {
+ "epoch": 3.04,
+ "grad_norm": 0.32131974094099536,
+ "learning_rate": 2.7032083420597e-05,
+ "loss": 0.7168,
+ "step": 285
+ },
+ {
+ "epoch": 3.05,
+ "grad_norm": 0.3188571782464755,
+ "learning_rate": 2.6443035973404496e-05,
+ "loss": 0.6591,
+ "step": 286
+ },
+ {
+ "epoch": 3.06,
+ "grad_norm": 0.33177480330954007,
+ "learning_rate": 2.585949796776912e-05,
+ "loss": 0.6965,
+ "step": 287
+ },
+ {
+ "epoch": 3.07,
+ "grad_norm": 0.38345252271104163,
+ "learning_rate": 2.528151311088537e-05,
+ "loss": 0.6647,
+ "step": 288
+ },
+ {
+ "epoch": 3.07,
+ "eval_loss": 1.1923209428787231,
+ "eval_runtime": 118.9649,
+ "eval_samples_per_second": 8.397,
+ "eval_steps_per_second": 0.53,
+ "step": 288
+ },
+ {
+ "epoch": 3.09,
+ "grad_norm": 0.3519739075006545,
+ "learning_rate": 2.4709124694015116e-05,
+ "loss": 0.7169,
+ "step": 289
+ },
+ {
+ "epoch": 3.1,
+ "grad_norm": 0.34731968650913336,
+ "learning_rate": 2.4142375589244957e-05,
+ "loss": 0.7161,
+ "step": 290
+ },
+ {
+ "epoch": 3.11,
+ "grad_norm": 0.33778912337210615,
+ "learning_rate": 2.3581308246275103e-05,
+ "loss": 0.7155,
+ "step": 291
+ },
+ {
+ "epoch": 3.12,
+ "grad_norm": 0.3209719266692497,
+ "learning_rate": 2.302596468923981e-05,
+ "loss": 0.672,
+ "step": 292
+ },
+ {
+ "epoch": 3.13,
+ "grad_norm": 0.3450647699674907,
+ "learning_rate": 2.247638651355991e-05,
+ "loss": 0.696,
+ "step": 293
+ },
+ {
+ "epoch": 3.14,
+ "grad_norm": 0.34077271836911865,
+ "learning_rate": 2.1932614882827197e-05,
+ "loss": 0.6947,
+ "step": 294
+ },
+ {
+ "epoch": 3.15,
+ "grad_norm": 0.35952846733253163,
+ "learning_rate": 2.139469052572127e-05,
+ "loss": 0.6934,
+ "step": 295
+ },
+ {
+ "epoch": 3.16,
+ "grad_norm": 0.32425812401737625,
+ "learning_rate": 2.0862653732958915e-05,
+ "loss": 0.6803,
+ "step": 296
+ },
+ {
+ "epoch": 3.17,
+ "grad_norm": 0.3354776806257836,
+ "learning_rate": 2.03365443542764e-05,
+ "loss": 0.6847,
+ "step": 297
+ },
+ {
+ "epoch": 3.18,
+ "grad_norm": 0.35880539160768654,
+ "learning_rate": 1.981640179544466e-05,
+ "loss": 0.6447,
+ "step": 298
+ },
+ {
+ "epoch": 3.19,
+ "grad_norm": 0.3413724716725652,
+ "learning_rate": 1.93022650153178e-05,
+ "loss": 0.6224,
+ "step": 299
+ },
+ {
+ "epoch": 3.2,
+ "grad_norm": 0.3424458691012398,
+ "learning_rate": 1.879417252291502e-05,
+ "loss": 0.6699,
+ "step": 300
+ },
+ {
+ "epoch": 3.21,
+ "grad_norm": 0.3382667696983362,
+ "learning_rate": 1.829216237453637e-05,
+ "loss": 0.6797,
+ "step": 301
+ },
+ {
+ "epoch": 3.22,
+ "grad_norm": 0.324989093083984,
+ "learning_rate": 1.7796272170912253e-05,
+ "loss": 0.691,
+ "step": 302
+ },
+ {
+ "epoch": 3.23,
+ "grad_norm": 0.32204008590962435,
+ "learning_rate": 1.730653905438714e-05,
+ "loss": 0.6636,
+ "step": 303
+ },
+ {
+ "epoch": 3.25,
+ "grad_norm": 0.34081693500058535,
+ "learning_rate": 1.6822999706137567e-05,
+ "loss": 0.7285,
+ "step": 304
+ },
+ {
+ "epoch": 3.26,
+ "grad_norm": 0.3745986061815685,
+ "learning_rate": 1.634569034342476e-05,
+ "loss": 0.6896,
+ "step": 305
+ },
+ {
+ "epoch": 3.27,
+ "grad_norm": 0.3460331973628518,
+ "learning_rate": 1.587464671688187e-05,
+ "loss": 0.6988,
+ "step": 306
+ },
+ {
+ "epoch": 3.28,
+ "grad_norm": 0.3548738091123995,
+ "learning_rate": 1.5409904107836358e-05,
+ "loss": 0.7166,
+ "step": 307
+ },
+ {
+ "epoch": 3.29,
+ "grad_norm": 0.3616387758766049,
+ "learning_rate": 1.495149732566723e-05,
+ "loss": 0.7033,
+ "step": 308
+ },
+ {
+ "epoch": 3.3,
+ "grad_norm": 0.3358013853175185,
+ "learning_rate": 1.4499460705197998e-05,
+ "loss": 0.7096,
+ "step": 309
+ },
+ {
+ "epoch": 3.31,
+ "grad_norm": 0.34774337705479985,
+ "learning_rate": 1.4053828104124867e-05,
+ "loss": 0.6695,
+ "step": 310
+ },
+ {
+ "epoch": 3.32,
+ "grad_norm": 0.3273729493403579,
+ "learning_rate": 1.361463290048085e-05,
+ "loss": 0.6893,
+ "step": 311
+ },
+ {
+ "epoch": 3.33,
+ "grad_norm": 0.343572039488577,
+ "learning_rate": 1.3181907990135622e-05,
+ "loss": 0.6928,
+ "step": 312
+ },
+ {
+ "epoch": 3.33,
+ "eval_loss": 1.185637354850769,
+ "eval_runtime": 119.6535,
+ "eval_samples_per_second": 8.349,
+ "eval_steps_per_second": 0.527,
+ "step": 312
+ },
+ {
+ "epoch": 3.34,
+ "grad_norm": 0.36314106359094633,
+ "learning_rate": 1.2755685784331783e-05,
+ "loss": 0.6887,
+ "step": 313
+ },
+ {
+ "epoch": 3.35,
+ "grad_norm": 0.3178995942964272,
+ "learning_rate": 1.2335998207257137e-05,
+ "loss": 0.7163,
+ "step": 314
+ },
+ {
+ "epoch": 3.36,
+ "grad_norm": 0.3530883103274161,
+ "learning_rate": 1.1922876693653585e-05,
+ "loss": 0.6264,
+ "step": 315
+ },
+ {
+ "epoch": 3.37,
+ "grad_norm": 0.34700396777915954,
+ "learning_rate": 1.1516352186462586e-05,
+ "loss": 0.6414,
+ "step": 316
+ },
+ {
+ "epoch": 3.38,
+ "grad_norm": 0.3259373809872755,
+ "learning_rate": 1.1116455134507664e-05,
+ "loss": 0.6461,
+ "step": 317
+ },
+ {
+ "epoch": 3.4,
+ "grad_norm": 0.35544661568277985,
+ "learning_rate": 1.0723215490213634e-05,
+ "loss": 0.6723,
+ "step": 318
+ },
+ {
+ "epoch": 3.41,
+ "grad_norm": 0.3488692435606677,
+ "learning_rate": 1.0336662707363287e-05,
+ "loss": 0.7782,
+ "step": 319
+ },
+ {
+ "epoch": 3.42,
+ "grad_norm": 0.35693983497851145,
+ "learning_rate": 9.95682573889114e-06,
+ "loss": 0.6982,
+ "step": 320
+ },
+ {
+ "epoch": 3.43,
+ "grad_norm": 0.33248426163504435,
+ "learning_rate": 9.583733034714981e-06,
+ "loss": 0.6326,
+ "step": 321
+ },
+ {
+ "epoch": 3.44,
+ "grad_norm": 0.38375415594727097,
+ "learning_rate": 9.217412539604942e-06,
+ "loss": 0.6971,
+ "step": 322
+ },
+ {
+ "epoch": 3.45,
+ "grad_norm": 0.37036824832855825,
+ "learning_rate": 8.857891691090337e-06,
+ "loss": 0.698,
+ "step": 323
+ },
+ {
+ "epoch": 3.46,
+ "grad_norm": 0.3417675223689608,
+ "learning_rate": 8.505197417404687e-06,
+ "loss": 0.6836,
+ "step": 324
+ },
+ {
+ "epoch": 3.47,
+ "grad_norm": 0.3700366171554004,
+ "learning_rate": 8.15935613546872e-06,
+ "loss": 0.6465,
+ "step": 325
+ },
+ {
+ "epoch": 3.48,
+ "grad_norm": 0.3492600384568647,
+ "learning_rate": 7.820393748911791e-06,
+ "loss": 0.6808,
+ "step": 326
+ },
+ {
+ "epoch": 3.49,
+ "grad_norm": 0.36976467848962297,
+ "learning_rate": 7.488335646131628e-06,
+ "loss": 0.6615,
+ "step": 327
+ },
+ {
+ "epoch": 3.5,
+ "grad_norm": 0.3290900616093639,
+ "learning_rate": 7.163206698392744e-06,
+ "loss": 0.7275,
+ "step": 328
+ },
+ {
+ "epoch": 3.51,
+ "grad_norm": 0.3566655771775109,
+ "learning_rate": 6.845031257963619e-06,
+ "loss": 0.7116,
+ "step": 329
+ },
+ {
+ "epoch": 3.52,
+ "grad_norm": 0.320805379756211,
+ "learning_rate": 6.533833156292679e-06,
+ "loss": 0.6879,
+ "step": 330
+ },
+ {
+ "epoch": 3.53,
+ "grad_norm": 0.34337800662165496,
+ "learning_rate": 6.229635702223324e-06,
+ "loss": 0.7163,
+ "step": 331
+ },
+ {
+ "epoch": 3.54,
+ "grad_norm": 0.36367722946797926,
+ "learning_rate": 5.932461680248014e-06,
+ "loss": 0.7021,
+ "step": 332
+ },
+ {
+ "epoch": 3.56,
+ "grad_norm": 0.36522399153203633,
+ "learning_rate": 5.6423333488018095e-06,
+ "loss": 0.6861,
+ "step": 333
+ },
+ {
+ "epoch": 3.57,
+ "grad_norm": 0.365852241324378,
+ "learning_rate": 5.359272438595153e-06,
+ "loss": 0.6885,
+ "step": 334
+ },
+ {
+ "epoch": 3.58,
+ "grad_norm": 0.3614672831032901,
+ "learning_rate": 5.083300150986259e-06,
+ "loss": 0.6783,
+ "step": 335
+ },
+ {
+ "epoch": 3.59,
+ "grad_norm": 0.3642169019209535,
+ "learning_rate": 4.8144371563930476e-06,
+ "loss": 0.731,
+ "step": 336
+ },
+ {
+ "epoch": 3.59,
+ "eval_loss": 1.1889785528182983,
+ "eval_runtime": 119.1203,
+ "eval_samples_per_second": 8.386,
+ "eval_steps_per_second": 0.529,
+ "step": 336
+ },
+ {
+ "epoch": 3.6,
+ "grad_norm": 0.34161446199658746,
+ "learning_rate": 4.552703592745033e-06,
+ "loss": 0.7138,
+ "step": 337
+ },
+ {
+ "epoch": 3.61,
+ "grad_norm": 0.35734876291405965,
+ "learning_rate": 4.298119063974914e-06,
+ "loss": 0.6725,
+ "step": 338
+ },
+ {
+ "epoch": 3.62,
+ "grad_norm": 0.32914706405183236,
+ "learning_rate": 4.050702638550275e-06,
+ "loss": 0.6961,
+ "step": 339
+ },
+ {
+ "epoch": 3.63,
+ "grad_norm": 0.3570873592035516,
+ "learning_rate": 3.810472848045266e-06,
+ "loss": 0.6514,
+ "step": 340
+ },
+ {
+ "epoch": 3.64,
+ "grad_norm": 0.3597890086242411,
+ "learning_rate": 3.5774476857527107e-06,
+ "loss": 0.6962,
+ "step": 341
+ },
+ {
+ "epoch": 3.65,
+ "grad_norm": 0.38480539648857937,
+ "learning_rate": 3.3516446053363015e-06,
+ "loss": 0.6686,
+ "step": 342
+ },
+ {
+ "epoch": 3.66,
+ "grad_norm": 0.3525111961446683,
+ "learning_rate": 3.133080519523368e-06,
+ "loss": 0.6667,
+ "step": 343
+ },
+ {
+ "epoch": 3.67,
+ "grad_norm": 0.3735012861865468,
+ "learning_rate": 2.921771798838069e-06,
+ "loss": 0.7137,
+ "step": 344
+ },
+ {
+ "epoch": 3.68,
+ "grad_norm": 0.35587547424949395,
+ "learning_rate": 2.717734270375272e-06,
+ "loss": 0.6743,
+ "step": 345
+ },
+ {
+ "epoch": 3.69,
+ "grad_norm": 0.3657817512714091,
+ "learning_rate": 2.520983216615047e-06,
+ "loss": 0.6373,
+ "step": 346
+ },
+ {
+ "epoch": 3.7,
+ "grad_norm": 0.3509346866409975,
+ "learning_rate": 2.3315333742780942e-06,
+ "loss": 0.6703,
+ "step": 347
+ },
+ {
+ "epoch": 3.72,
+ "grad_norm": 0.3459857927296872,
+ "learning_rate": 2.1493989332218468e-06,
+ "loss": 0.7223,
+ "step": 348
+ },
+ {
+ "epoch": 3.73,
+ "grad_norm": 0.38016379979574644,
+ "learning_rate": 1.974593535377722e-06,
+ "loss": 0.7024,
+ "step": 349
+ },
+ {
+ "epoch": 3.74,
+ "grad_norm": 0.3191443635681887,
+ "learning_rate": 1.8071302737293295e-06,
+ "loss": 0.6933,
+ "step": 350
+ },
+ {
+ "epoch": 3.75,
+ "grad_norm": 0.3586330010035836,
+ "learning_rate": 1.6470216913317626e-06,
+ "loss": 0.7001,
+ "step": 351
+ },
+ {
+ "epoch": 3.76,
+ "grad_norm": 0.3850836045039222,
+ "learning_rate": 1.4942797803721543e-06,
+ "loss": 0.61,
+ "step": 352
+ },
+ {
+ "epoch": 3.77,
+ "grad_norm": 0.34888020988423163,
+ "learning_rate": 1.348915981271437e-06,
+ "loss": 0.6528,
+ "step": 353
+ },
+ {
+ "epoch": 3.78,
+ "grad_norm": 0.354531551308838,
+ "learning_rate": 1.2109411818274852e-06,
+ "loss": 0.7128,
+ "step": 354
+ },
+ {
+ "epoch": 3.79,
+ "grad_norm": 0.38330787603530414,
+ "learning_rate": 1.0803657163995895e-06,
+ "loss": 0.643,
+ "step": 355
+ },
+ {
+ "epoch": 3.8,
+ "grad_norm": 0.3432828481582299,
+ "learning_rate": 9.57199365134387e-07,
+ "loss": 0.6318,
+ "step": 356
+ },
+ {
+ "epoch": 3.81,
+ "grad_norm": 0.37153831756155836,
+ "learning_rate": 8.41451353233369e-07,
+ "loss": 0.694,
+ "step": 357
+ },
+ {
+ "epoch": 3.82,
+ "grad_norm": 0.3701195226107489,
+ "learning_rate": 7.331303502618903e-07,
+ "loss": 0.6561,
+ "step": 358
+ },
+ {
+ "epoch": 3.83,
+ "grad_norm": 0.3831847969050675,
+ "learning_rate": 6.322444694998319e-07,
+ "loss": 0.7167,
+ "step": 359
+ },
+ {
+ "epoch": 3.84,
+ "grad_norm": 0.3382934858827101,
+ "learning_rate": 5.388012673338661e-07,
+ "loss": 0.7193,
+ "step": 360
+ },
+ {
+ "epoch": 3.84,
+ "eval_loss": 1.191129207611084,
+ "eval_runtime": 119.5001,
+ "eval_samples_per_second": 8.36,
+ "eval_steps_per_second": 0.527,
+ "step": 360
+ },
+ {
+ "epoch": 3.85,
+ "grad_norm": 0.35121545616673777,
+ "learning_rate": 4.5280774269154115e-07,
+ "loss": 0.6838,
+ "step": 361
+ },
+ {
+ "epoch": 3.86,
+ "grad_norm": 0.3677398099025592,
+ "learning_rate": 3.742703365170241e-07,
+ "loss": 0.6364,
+ "step": 362
+ },
+ {
+ "epoch": 3.88,
+ "grad_norm": 0.36901780764712055,
+ "learning_rate": 3.0319493128866396e-07,
+ "loss": 0.6827,
+ "step": 363
+ },
+ {
+ "epoch": 3.89,
+ "grad_norm": 0.35056873374955655,
+ "learning_rate": 2.395868505784438e-07,
+ "loss": 0.6432,
+ "step": 364
+ },
+ {
+ "epoch": 3.9,
+ "grad_norm": 0.3627218430880944,
+ "learning_rate": 1.83450858653178e-07,
+ "loss": 0.7243,
+ "step": 365
+ },
+ {
+ "epoch": 3.91,
+ "grad_norm": 0.32428680992451525,
+ "learning_rate": 1.3479116011769767e-07,
+ "loss": 0.6574,
+ "step": 366
+ },
+ {
+ "epoch": 3.92,
+ "grad_norm": 0.349287012328286,
+ "learning_rate": 9.361139959993549e-08,
+ "loss": 0.7048,
+ "step": 367
+ },
+ {
+ "epoch": 3.93,
+ "grad_norm": 0.3701389678746645,
+ "learning_rate": 5.991466147791113e-08,
+ "loss": 0.6742,
+ "step": 368
+ },
+ {
+ "epoch": 3.94,
+ "grad_norm": 0.3562569316390435,
+ "learning_rate": 3.370346964876036e-08,
+ "loss": 0.6747,
+ "step": 369
+ },
+ {
+ "epoch": 3.95,
+ "grad_norm": 0.35498414175449955,
+ "learning_rate": 1.4979787339619578e-08,
+ "loss": 0.6466,
+ "step": 370
+ },
+ {
+ "epoch": 3.96,
+ "grad_norm": 0.353867118979457,
+ "learning_rate": 3.745016960665648e-09,
+ "loss": 0.6586,
+ "step": 371
+ },
+ {
+ "epoch": 3.97,
+ "grad_norm": 0.3411723289198462,
+ "learning_rate": 0.0,
+ "loss": 0.6657,
+ "step": 372
+ }
+ ],
+ "logging_steps": 1,
+ "max_steps": 372,
+ "num_input_tokens_seen": 0,
+ "num_train_epochs": 4,
+ "save_steps": 93,
+ "total_flos": 6.890718948426252e+18,
+ "train_batch_size": 4,
+ "trial_name": null,
+ "trial_params": null
+}
diff --git a/checkpoint-372/training_args.bin b/checkpoint-372/training_args.bin
new file mode 100644
index 0000000000000000000000000000000000000000..bc11601d02e30533659dbf12ba92faed1ba25b5a
--- /dev/null
+++ b/checkpoint-372/training_args.bin
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c56515a18cd914d4eee44c09952d3a756ea623b0b6e69e8dfaeb0dbc7b665f46
+size 6776
diff --git a/checkpoint-372/zero_to_fp32.py b/checkpoint-372/zero_to_fp32.py
new file mode 100644
index 0000000000000000000000000000000000000000..49b846633d6eb1e836e34681e44033581f4edb7b
--- /dev/null
+++ b/checkpoint-372/zero_to_fp32.py
@@ -0,0 +1,592 @@
+#!/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 _has_callable(obj, fn):
+ attr = getattr(obj, fn, None)
+ return callable(attr)
+
+
+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() if _has_callable(shape, 'numel') else math.prod(shape)
+ 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/checkpoint-448/README.md b/checkpoint-448/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..cf214dc8241cd3fa9db952d247cbfcba94fa04e6
--- /dev/null
+++ b/checkpoint-448/README.md
@@ -0,0 +1,1091 @@
+---
+library_name: peft
+base_model: google/gemma-2b
+---
+
+# Model Card for Model ID
+
+Fine-tuned on python
+
+
+## Model Details
+
+### Model Description
+
+
+### Model Sources [optional]
+Gemma-2b trained on python-oasst dataset
+
+## Uses
+
+
+## Training Details
+
+### Training Data
+
+{
+ "_timestamp": 1711018613.433522,
+ "train/grad_norm": 0.1240904619429259,
+ "train/global_step": 232,
+ "eval/steps_per_second": 2.894,
+ "_step": 232,
+ "_runtime": 2545.4226660728455,
+ "eval/loss": 1.189491629600525,
+ "eval/runtime": 1805.8574,
+ "train/learning_rate": 0.000014800637958532697,
+ "eval/samples_per_second": 23.152,
+ "_wandb.runtime": 2547,
+ "train/loss": 1.0436,
+ "train/epoch": 0.01
+}
+
+### Results
+
+
+#### Summary
+
+
+
+
+## Technical Specifications [optional]
+{
+ "bf16": {
+ "desc": null,
+ "value": true
+ },
+ "fp16": {
+ "desc": null,
+ "value": false
+ },
+ "fsdp": {
+ "desc": null,
+ "value": []
+ },
+ "seed": {
+ "desc": null,
+ "value": 42
+ },
+ "tf32": {
+ "desc": null,
+ "value": false
+ },
+ "debug": {
+ "desc": null,
+ "value": []
+ },
+ "optim": {
+ "desc": null,
+ "value": "adamw_bnb_8bit"
+ },
+ "qlora": {
+ "desc": null,
+ "value": true
+ },
+ "top_k": {
+ "desc": null,
+ "value": 50
+ },
+ "top_p": {
+ "desc": null,
+ "value": 1
+ },
+ "_wandb": {
+ "desc": null,
+ "value": {
+ "m": [
+ {
+ "1": "train/global_step",
+ "6": [
+ 3
+ ]
+ },
+ {
+ "1": "train/loss",
+ "5": 1,
+ "6": [
+ 1
+ ]
+ },
+ {
+ "1": "train/grad_norm",
+ "5": 1,
+ "6": [
+ 1
+ ]
+ },
+ {
+ "1": "train/learning_rate",
+ "5": 1,
+ "6": [
+ 1
+ ]
+ },
+ {
+ "1": "train/epoch",
+ "5": 1,
+ "6": [
+ 1
+ ]
+ },
+ {
+ "1": "eval/loss",
+ "5": 1,
+ "6": [
+ 1
+ ]
+ },
+ {
+ "1": "eval/runtime",
+ "5": 1,
+ "6": [
+ 1
+ ]
+ },
+ {
+ "1": "eval/samples_per_second",
+ "5": 1,
+ "6": [
+ 1
+ ]
+ },
+ {
+ "1": "eval/steps_per_second",
+ "5": 1,
+ "6": [
+ 1
+ ]
+ }
+ ],
+ "t": {
+ "1": [
+ 1,
+ 5,
+ 11,
+ 49,
+ 51,
+ 53,
+ 55,
+ 71,
+ 84,
+ 98,
+ 99,
+ 100,
+ 105
+ ],
+ "2": [
+ 1,
+ 5,
+ 11,
+ 49,
+ 51,
+ 53,
+ 55,
+ 71,
+ 84,
+ 98,
+ 99,
+ 100,
+ 105
+ ],
+ "3": [
+ 3,
+ 7,
+ 23
+ ],
+ "4": "3.10.13",
+ "5": "0.16.4",
+ "6": "4.39.0.dev0",
+ "8": [
+ 5
+ ],
+ "9": {
+ "1": "transformers_trainer"
+ },
+ "13": "linux-x86_64"
+ },
+ "framework": "huggingface",
+ "start_time": 1711016068,
+ "cli_version": "0.16.4",
+ "is_jupyter_run": false,
+ "python_version": "3.10.13",
+ "is_kaggle_kernel": false,
+ "huggingface_version": "4.39.0.dev0"
+ }
+ },
+ "prefix": {
+ "desc": null,
+ "value": null
+ },
+ "do_eval": {
+ "desc": null,
+ "value": true
+ },
+ "no_cuda": {
+ "desc": null,
+ "value": false
+ },
+ "use_cpu": {
+ "desc": null,
+ "value": false
+ },
+ "do_train": {
+ "desc": null,
+ "value": false
+ },
+ "head_dim": {
+ "desc": null,
+ "value": 256
+ },
+ "id2label": {
+ "desc": null,
+ "value": {
+ "0": "LABEL_0",
+ "1": "LABEL_1"
+ }
+ },
+ "label2id": {
+ "desc": null,
+ "value": {
+ "LABEL_0": 0,
+ "LABEL_1": 1
+ }
+ },
+ "run_name": {
+ "desc": null,
+ "value": "./out"
+ },
+ "use_ipex": {
+ "desc": null,
+ "value": false
+ },
+ "adafactor": {
+ "desc": null,
+ "value": false
+ },
+ "data_seed": {
+ "desc": null,
+ "value": null
+ },
+ "deepspeed": {
+ "desc": null,
+ "value": "deepspeed_configs/zero1.json"
+ },
+ "do_sample": {
+ "desc": null,
+ "value": false
+ },
+ "hub_token": {
+ "desc": null,
+ },
+ "log_level": {
+ "desc": null,
+ "value": "passive"
+ },
+ "max_steps": {
+ "desc": null,
+ "value": -1
+ },
+ "num_beams": {
+ "desc": null,
+ "value": 1
+ },
+ "ray_scope": {
+ "desc": null,
+ "value": "last"
+ },
+ "report_to": {
+ "desc": null,
+ "value": [
+ "wandb"
+ ]
+ },
+ "typical_p": {
+ "desc": null,
+ "value": 1
+ },
+ "use_cache": {
+ "desc": null,
+ "value": false
+ },
+ "adam_beta1": {
+ "desc": null,
+ "value": 0.9
+ },
+ "adam_beta2": {
+ "desc": null,
+ "value": 0.999
+ },
+ "do_predict": {
+ "desc": null,
+ "value": false
+ },
+ "eval_delay": {
+ "desc": null,
+ "value": 0
+ },
+ "eval_steps": {
+ "desc": null,
+ "value": 0.03125
+ },
+ "hidden_act": {
+ "desc": null,
+ "value": "gelu"
+ },
+ "is_decoder": {
+ "desc": null,
+ "value": false
+ },
+ "local_rank": {
+ "desc": null,
+ "value": 0
+ },
+ "max_length": {
+ "desc": null,
+ "value": 20
+ },
+ "min_length": {
+ "desc": null,
+ "value": 0
+ },
+ "model_type": {
+ "desc": null,
+ "value": "gemma"
+ },
+ "optim_args": {
+ "desc": null,
+ "value": null
+ },
+ "orpo_alpha": {
+ "desc": null,
+ "value": null
+ },
+ "output_dir": {
+ "desc": null,
+ "value": "./out"
+ },
+ "past_index": {
+ "desc": null,
+ "value": -1
+ },
+ "rope_theta": {
+ "desc": null,
+ "value": 10000
+ },
+ "save_steps": {
+ "desc": null,
+ "value": 0.125
+ },
+ "vocab_size": {
+ "desc": null,
+ "value": 256000
+ },
+ "bench_split": {
+ "desc": null,
+ "value": "eval"
+ },
+ "ddp_backend": {
+ "desc": null,
+ "value": null
+ },
+ "ddp_timeout": {
+ "desc": null,
+ "value": 1800
+ },
+ "fsdp_config": {
+ "desc": null,
+ "value": {
+ "xla": false,
+ "xla_fsdp_v2": false,
+ "min_num_params": 0,
+ "xla_fsdp_grad_ckpt": false
+ }
+ },
+ "hidden_size": {
+ "desc": null,
+ "value": 2048
+ },
+ "label_names": {
+ "desc": null,
+ "value": null
+ },
+ "logging_dir": {
+ "desc": null,
+ "value": "./out/runs/Mar21_10-14-24_8205afe3ecd2"
+ },
+ "pretraining": {
+ "desc": null,
+ "value": false
+ },
+ "push_to_hub": {
+ "desc": null,
+ "value": false
+ },
+ "return_dict": {
+ "desc": null,
+ "value": true
+ },
+ "temperature": {
+ "desc": null,
+ "value": 1
+ },
+ "torch_dtype": {
+ "desc": null,
+ "value": "bfloat16"
+ },
+ "torchdynamo": {
+ "desc": null,
+ "value": null
+ },
+ "torchscript": {
+ "desc": null,
+ "value": false
+ },
+ "adam_epsilon": {
+ "desc": null,
+ "value": 1e-8
+ },
+ "bos_token_id": {
+ "desc": null,
+ "value": 2
+ },
+ "disable_tqdm": {
+ "desc": null,
+ "value": false
+ },
+ "eos_token_id": {
+ "desc": null,
+ "value": 1
+ },
+ "fp16_backend": {
+ "desc": null,
+ "value": "auto"
+ },
+ "hub_model_id": {
+ "desc": null,
+ "value": null
+ },
+ "hub_strategy": {
+ "desc": null,
+ "value": "every_save"
+ },
+ "pad_token_id": {
+ "desc": null,
+ "value": 0
+ },
+ "problem_type": {
+ "desc": null,
+ "value": null
+ },
+ "pruned_heads": {
+ "desc": null,
+ "value": {}
+ },
+ "relora_steps": {
+ "desc": null,
+ "value": null
+ },
+ "rms_norm_eps": {
+ "desc": null,
+ "value": 0.000001
+ },
+ "rope_scaling": {
+ "desc": null,
+ "value": null
+ },
+ "sep_token_id": {
+ "desc": null,
+ "value": null
+ },
+ "use_bfloat16": {
+ "desc": null,
+ "value": false
+ },
+ "warmup_ratio": {
+ "desc": null,
+ "value": 0
+ },
+ "warmup_steps": {
+ "desc": null,
+ "value": 3135
+ },
+ "weight_decay": {
+ "desc": null,
+ "value": 0
+ },
+ "_name_or_path": {
+ "desc": null,
+ "value": "dvdmrs09/gemma2b-train"
+ },
+ "architectures": {
+ "desc": null,
+ "value": [
+ "GemmaForCausalLM"
+ ]
+ },
+ "bad_words_ids": {
+ "desc": null,
+ "value": null
+ },
+ "bench_dataset": {
+ "desc": null,
+ "value": "pharaouk/dharma-1/dharma_1_mini.json"
+ },
+ "do_bench_eval": {
+ "desc": null,
+ "value": false
+ },
+ "jit_mode_eval": {
+ "desc": null,
+ "value": false
+ },
+ "learning_rate": {
+ "desc": null,
+ "value": 0.0002
+ },
+ "logging_steps": {
+ "desc": null,
+ "value": 1
+ },
+ "max_grad_norm": {
+ "desc": null,
+ "value": 1
+ },
+ "mp_parameters": {
+ "desc": null,
+ "value": ""
+ },
+ "output_scores": {
+ "desc": null,
+ "value": false
+ },
+ "save_strategy": {
+ "desc": null,
+ "value": "steps"
+ },
+ "split_batches": {
+ "desc": null,
+ "value": null
+ },
+ "torch_compile": {
+ "desc": null,
+ "value": false
+ },
+ "tpu_num_cores": {
+ "desc": null,
+ "value": null
+ },
+ "attention_bias": {
+ "desc": null,
+ "value": false
+ },
+ "bf16_full_eval": {
+ "desc": null,
+ "value": false
+ },
+ "early_stopping": {
+ "desc": null,
+ "value": false
+ },
+ "fp16_full_eval": {
+ "desc": null,
+ "value": false
+ },
+ "fp16_opt_level": {
+ "desc": null,
+ "value": "O1"
+ },
+ "length_penalty": {
+ "desc": null,
+ "value": 1
+ },
+ "max_seq_length": {
+ "desc": null,
+ "value": 4096
+ },
+ "sample_packing": {
+ "desc": null,
+ "value": false
+ },
+ "tf_legacy_loss": {
+ "desc": null,
+ "value": false
+ },
+ "use_mps_device": {
+ "desc": null,
+ "value": false
+ },
+ "finetuning_task": {
+ "desc": null,
+ "value": null
+ },
+ "group_by_length": {
+ "desc": null,
+ "value": false
+ },
+ "hub_always_push": {
+ "desc": null,
+ "value": false
+ },
+ "num_beam_groups": {
+ "desc": null,
+ "value": 1
+ },
+ "save_only_model": {
+ "desc": null,
+ "value": false
+ },
+ "suppress_tokens": {
+ "desc": null,
+ "value": null
+ },
+ "tokenizer_class": {
+ "desc": null,
+ "value": null
+ },
+ "dispatch_batches": {
+ "desc": null,
+ "value": null
+ },
+ "full_determinism": {
+ "desc": null,
+ "value": false
+ },
+ "hub_private_repo": {
+ "desc": null,
+ "value": false
+ },
+ "ignore_data_skip": {
+ "desc": null,
+ "value": false
+ },
+ "log_on_each_node": {
+ "desc": null,
+ "value": true
+ },
+ "logging_strategy": {
+ "desc": null,
+ "value": "steps"
+ },
+ "num_train_epochs": {
+ "desc": null,
+ "value": 8
+ },
+ "save_safetensors": {
+ "desc": null,
+ "value": true
+ },
+ "save_total_limit": {
+ "desc": null,
+ "value": 4
+ },
+ "attention_dropout": {
+ "desc": null,
+ "value": 0
+ },
+ "ddp_bucket_cap_mb": {
+ "desc": null,
+ "value": null
+ },
+ "diversity_penalty": {
+ "desc": null,
+ "value": 0
+ },
+ "do_causal_lm_eval": {
+ "desc": null,
+ "value": false
+ },
+ "greater_is_better": {
+ "desc": null,
+ "value": false
+ },
+ "initializer_range": {
+ "desc": null,
+ "value": 0.02
+ },
+ "intermediate_size": {
+ "desc": null,
+ "value": 16384
+ },
+ "log_level_replica": {
+ "desc": null,
+ "value": "warning"
+ },
+ "loraplus_lr_ratio": {
+ "desc": null,
+ "value": null
+ },
+ "lr_scheduler_type": {
+ "desc": null,
+ "value": "cosine"
+ },
+ "max_bench_samples": {
+ "desc": null,
+ "value": null
+ },
+ "num_hidden_layers": {
+ "desc": null,
+ "value": 18
+ },
+ "output_attentions": {
+ "desc": null,
+ "value": false
+ },
+ "push_to_hub_token": {
+ "desc": null,
+ "value": ""
+ },
+ "save_on_each_node": {
+ "desc": null,
+ "value": false
+ },
+ "tpu_metrics_debug": {
+ "desc": null,
+ "value": false
+ },
+ "accelerator_config": {
+ "desc": null,
+ "value": {
+ "even_batches": true,
+ "split_batches": false,
+ "dispatch_batches": null,
+ "use_seedable_sampler": true
+ }
+ },
+ "is_encoder_decoder": {
+ "desc": null,
+ "value": false
+ },
+ "length_column_name": {
+ "desc": null,
+ "value": "length"
+ },
+ "logging_first_step": {
+ "desc": null,
+ "value": false
+ },
+ "relora_prune_ratio": {
+ "desc": null,
+ "value": 0.9
+ },
+ "repetition_penalty": {
+ "desc": null,
+ "value": 1
+ },
+ "torch_compile_mode": {
+ "desc": null,
+ "value": null
+ },
+ "add_cross_attention": {
+ "desc": null,
+ "value": false
+ },
+ "cosine_min_lr_ratio": {
+ "desc": null,
+ "value": null
+ },
+ "eval_sample_packing": {
+ "desc": null,
+ "value": false
+ },
+ "evaluation_strategy": {
+ "desc": null,
+ "value": "steps"
+ },
+ "forced_bos_token_id": {
+ "desc": null,
+ "value": null
+ },
+ "forced_eos_token_id": {
+ "desc": null,
+ "value": null
+ },
+ "fsdp_min_num_params": {
+ "desc": null,
+ "value": 0
+ },
+ "lr_quadratic_warmup": {
+ "desc": null,
+ "value": false
+ },
+ "lr_scheduler_kwargs": {
+ "desc": null,
+ "value": {}
+ },
+ "neftune_noise_alpha": {
+ "desc": null,
+ "value": null
+ },
+ "num_attention_heads": {
+ "desc": null,
+ "value": 8
+ },
+ "num_key_value_heads": {
+ "desc": null,
+ "value": 1
+ },
+ "quantization_config": {
+ "desc": null,
+ "value": {
+ "load_in_4bit": true,
+ "load_in_8bit": false,
+ "quant_method": "QuantizationMethod.BITS_AND_BYTES",
+ "_load_in_4bit": true,
+ "_load_in_8bit": false,
+ "llm_int8_threshold": 6,
+ "bnb_4bit_quant_type": "nf4",
+ "llm_int8_skip_modules": null,
+ "bnb_4bit_compute_dtype": "bfloat16",
+ "bnb_4bit_quant_storage": "uint8",
+ "llm_int8_has_fp16_weight": false,
+ "bnb_4bit_use_double_quant": true,
+ "llm_int8_enable_fp32_cpu_offload": false
+ }
+ },
+ "relora_anneal_steps": {
+ "desc": null,
+ "value": null
+ },
+ "relora_warmup_steps": {
+ "desc": null,
+ "value": null
+ },
+ "skip_memory_metrics": {
+ "desc": null,
+ "value": true
+ },
+ "tie_encoder_decoder": {
+ "desc": null,
+ "value": false
+ },
+ "tie_word_embeddings": {
+ "desc": null,
+ "value": true
+ },
+ "auto_find_batch_size": {
+ "desc": null,
+ "value": false
+ },
+ "bench_source_max_len": {
+ "desc": null,
+ "value": 2048
+ },
+ "dataloader_drop_last": {
+ "desc": null,
+ "value": false
+ },
+ "no_repeat_ngram_size": {
+ "desc": null,
+ "value": 0
+ },
+ "num_return_sequences": {
+ "desc": null,
+ "value": 1
+ },
+ "optim_target_modules": {
+ "desc": null,
+ "value": null
+ },
+ "output_hidden_states": {
+ "desc": null,
+ "value": false
+ },
+ "overwrite_output_dir": {
+ "desc": null,
+ "value": false
+ },
+ "prediction_loss_only": {
+ "desc": null,
+ "value": false
+ },
+ "push_to_hub_model_id": {
+ "desc": null,
+ "value": null
+ },
+ "task_specific_params": {
+ "desc": null,
+ "value": null
+ },
+ "transformers_version": {
+ "desc": null,
+ "value": "4.39.0.dev0"
+ },
+ "begin_suppress_tokens": {
+ "desc": null,
+ "value": null
+ },
+ "dataloader_pin_memory": {
+ "desc": null,
+ "value": true
+ },
+ "ddp_broadcast_buffers": {
+ "desc": null,
+ "value": null
+ },
+ "loraplus_lr_embedding": {
+ "desc": null,
+ "value": null
+ },
+ "metric_for_best_model": {
+ "desc": null,
+ "value": "loss"
+ },
+ "remove_invalid_values": {
+ "desc": null,
+ "value": false
+ },
+ "remove_unused_columns": {
+ "desc": null,
+ "value": true
+ },
+ "torch_compile_backend": {
+ "desc": null,
+ "value": null
+ },
+ "dataloader_num_workers": {
+ "desc": null,
+ "value": 0
+ },
+ "decoder_start_token_id": {
+ "desc": null,
+ "value": null
+ },
+ "gradient_checkpointing": {
+ "desc": null,
+ "value": true
+ },
+ "half_precision_backend": {
+ "desc": null,
+ "value": "auto"
+ },
+ "label_smoothing_factor": {
+ "desc": null,
+ "value": 0
+ },
+ "load_best_model_at_end": {
+ "desc": null,
+ "value": true
+ },
+ "logging_nan_inf_filter": {
+ "desc": null,
+ "value": true
+ },
+ "multipack_real_batches": {
+ "desc": null,
+ "value": false
+ },
+ "resume_from_checkpoint": {
+ "desc": null,
+ "value": null
+ },
+ "chunk_size_feed_forward": {
+ "desc": null,
+ "value": 0
+ },
+ "eval_accumulation_steps": {
+ "desc": null,
+ "value": 3
+ },
+ "max_position_embeddings": {
+ "desc": null,
+ "value": 8192
+ },
+ "per_gpu_eval_batch_size": {
+ "desc": null,
+ "value": null
+ },
+ "return_dict_in_generate": {
+ "desc": null,
+ "value": false
+ },
+ "cosine_constant_lr_ratio": {
+ "desc": null,
+ "value": null
+ },
+ "per_gpu_train_batch_size": {
+ "desc": null,
+ "value": null
+ },
+ "push_to_hub_organization": {
+ "desc": null,
+ "value": null
+ },
+ "include_tokens_per_second": {
+ "desc": null,
+ "value": false
+ },
+ "sample_packing_efficiency": {
+ "desc": null,
+ "value": 1
+ },
+ "dataloader_prefetch_factor": {
+ "desc": null,
+ "value": null
+ },
+ "ddp_find_unused_parameters": {
+ "desc": null,
+ "value": false
+ },
+ "include_inputs_for_metrics": {
+ "desc": null,
+ "value": false
+ },
+ "per_device_eval_batch_size": {
+ "desc": null,
+ "value": 2
+ },
+ "use_legacy_prediction_loop": {
+ "desc": null,
+ "value": false
+ },
+ "cross_attention_hidden_size": {
+ "desc": null,
+ "value": null
+ },
+ "gradient_accumulation_steps": {
+ "desc": null,
+ "value": 3
+ },
+ "per_device_train_batch_size": {
+ "desc": null,
+ "value": 2
+ },
+ "encoder_no_repeat_ngram_size": {
+ "desc": null,
+ "value": 0
+ },
+ "dataloader_persistent_workers": {
+ "desc": null,
+ "value": false
+ },
+ "gradient_checkpointing_kwargs": {
+ "desc": null,
+ "value": {
+ "use_reentrant": true
+ }
+ },
+ "include_num_input_tokens_seen": {
+ "desc": null,
+ "value": false
+ },
+ "exponential_decay_length_penalty": {
+ "desc": null,
+ "value": null
+ },
+ "sample_packing_seq_len_multiplier": {
+ "desc": null,
+ "value": 2
+ },
+ "fsdp_transformer_layer_cls_to_wrap": {
+ "desc": null,
+ "value": null
+ }
+}
+### Model Architecture and Objective
+
+## Citation [optional]
+
+
+## Glossary [optional]
+### Framework versions
+
+- PEFT 0.9.0
diff --git a/checkpoint-448/adapter_config.json b/checkpoint-448/adapter_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..9a11027e1f94ce0414cb1f976775603b02ca0a82
--- /dev/null
+++ b/checkpoint-448/adapter_config.json
@@ -0,0 +1,33 @@
+{
+ "alpha_pattern": {},
+ "auto_mapping": null,
+ "base_model_name_or_path": "google/gemma-2b",
+ "bias": "none",
+ "fan_in_fan_out": null,
+ "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,
+ "peft_type": "LORA",
+ "r": 32,
+ "rank_pattern": {},
+ "revision": null,
+ "target_modules": [
+ "up_proj",
+ "q_proj",
+ "v_proj",
+ "down_proj",
+ "gate_proj",
+ "k_proj",
+ "o_proj"
+ ],
+ "task_type": "CAUSAL_LM",
+ "use_dora": false,
+ "use_rslora": false
+}
\ No newline at end of file
diff --git a/checkpoint-448/adapter_model.safetensors b/checkpoint-448/adapter_model.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..0f3c1a98c474666070807683551bb113ba53426d
--- /dev/null
+++ b/checkpoint-448/adapter_model.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f99a127576ffaecb34de3d4edc89d1949ba3b1679dc1ed7fd2842d82eb9455bf
+size 78480320
diff --git a/checkpoint-448/global_step448/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/checkpoint-448/global_step448/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..5701a82c7f4087e3f36d9fe133c2088e2862b707
--- /dev/null
+++ b/checkpoint-448/global_step448/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:43c24988891062476de7382ed15e90fbad5418225d862ceb6fd88e9480502287
+size 58886928
diff --git a/checkpoint-448/global_step448/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt b/checkpoint-448/global_step448/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..8e0ca1028d1c65b5c69858bebc19908f2fb45a4d
--- /dev/null
+++ b/checkpoint-448/global_step448/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:99ab332d1739e2f3c68850dc96ff616c41dd510d174f3147ed26532e7c4514af
+size 58885968
diff --git a/checkpoint-448/global_step448/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt b/checkpoint-448/global_step448/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..0c5e4955c0a4f5ca489ac4feff5b098dd07c47ff
--- /dev/null
+++ b/checkpoint-448/global_step448/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3e7dc29b4b32f6ec9dcb5fc8be4fa57f424d8f9f2b0294472a3334a37fd7a5fe
+size 58886992
diff --git a/checkpoint-448/global_step448/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt b/checkpoint-448/global_step448/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..bef50e0b9ec52b2993deb0e6e2c33d2d20422b62
--- /dev/null
+++ b/checkpoint-448/global_step448/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:274561b107cc73f237a78a2781ca85f1bd99e47cd797182bbc3c7bf629069a49
+size 58886032
diff --git a/checkpoint-448/global_step448/mp_rank_00_model_states.pt b/checkpoint-448/global_step448/mp_rank_00_model_states.pt
new file mode 100644
index 0000000000000000000000000000000000000000..ce480109d44c6ddf411ceff715548d2c21919e68
--- /dev/null
+++ b/checkpoint-448/global_step448/mp_rank_00_model_states.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8c28a01f237249400db81971db6adfc9c23deb3e84e97d8ec17b329ef0d45dbf
+size 1159049922
diff --git a/checkpoint-448/latest b/checkpoint-448/latest
new file mode 100644
index 0000000000000000000000000000000000000000..6c83691d1f18f1aa59c0994e76f1e0d010c88273
--- /dev/null
+++ b/checkpoint-448/latest
@@ -0,0 +1 @@
+global_step448
\ No newline at end of file
diff --git a/checkpoint-448/rng_state_0.pth b/checkpoint-448/rng_state_0.pth
new file mode 100644
index 0000000000000000000000000000000000000000..07538ca228f8bf27ad2e09c1b0b78cb8fb52e1bd
--- /dev/null
+++ b/checkpoint-448/rng_state_0.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b355525fc0c81100cf2575a311c308531a030d69aa689ab177e589ba734ba26f
+size 15024
diff --git a/checkpoint-448/rng_state_1.pth b/checkpoint-448/rng_state_1.pth
new file mode 100644
index 0000000000000000000000000000000000000000..a4ecc3647c3912fe6e0b6cb5ae16c49136ed4b05
--- /dev/null
+++ b/checkpoint-448/rng_state_1.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0b43ae95006a17e1c105f80d795d47c96c50c4d3de9b0fa179869e47dda9a2b7
+size 15024
diff --git a/checkpoint-448/rng_state_2.pth b/checkpoint-448/rng_state_2.pth
new file mode 100644
index 0000000000000000000000000000000000000000..77ebab12083b39188ce06023d589ff8418b21a8e
--- /dev/null
+++ b/checkpoint-448/rng_state_2.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c56cc8de2cb76701e40dba1d6536107c0b5c90cf594d9db76a94a2b09f972e86
+size 15024
diff --git a/checkpoint-448/rng_state_3.pth b/checkpoint-448/rng_state_3.pth
new file mode 100644
index 0000000000000000000000000000000000000000..82e6d99eee33faadfe671b0d49de0c9991fd489b
--- /dev/null
+++ b/checkpoint-448/rng_state_3.pth
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6fc458f140d74069a4aa7df11c36e627bc9f362022588000b636afe9124026e7
+size 15024
diff --git a/checkpoint-448/scheduler.pt b/checkpoint-448/scheduler.pt
new file mode 100644
index 0000000000000000000000000000000000000000..e9a92403b8c8ccb7f0b39932e09c835b8e10df10
--- /dev/null
+++ b/checkpoint-448/scheduler.pt
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e0f312f7dfc21d940ab17e42a9ddfcca8440bfc594bbdb7174eb9bb867dd848d
+size 1064
diff --git a/checkpoint-448/trainer_state.json b/checkpoint-448/trainer_state.json
new file mode 100644
index 0000000000000000000000000000000000000000..c184a2783d7b4275aafa7cfe890c28da9206b508
--- /dev/null
+++ b/checkpoint-448/trainer_state.json
@@ -0,0 +1,3293 @@
+{
+ "best_metric": 1.203959345817566,
+ "best_model_checkpoint": "./out/checkpoint-112",
+ "epoch": 3.9881305637982196,
+ "eval_steps": 28,
+ "global_step": 448,
+ "is_hyper_param_search": false,
+ "is_local_process_zero": true,
+ "is_world_process_zero": true,
+ "log_history": [
+ {
+ "epoch": 0.01,
+ "grad_norm": 4.313233023002325,
+ "learning_rate": 1.8181818181818182e-05,
+ "loss": 1.9528,
+ "step": 1
+ },
+ {
+ "epoch": 0.01,
+ "eval_loss": 2.1875686645507812,
+ "eval_runtime": 12.8608,
+ "eval_samples_per_second": 23.327,
+ "eval_steps_per_second": 2.955,
+ "step": 1
+ },
+ {
+ "epoch": 0.02,
+ "grad_norm": 4.039172290955229,
+ "learning_rate": 3.6363636363636364e-05,
+ "loss": 1.8358,
+ "step": 2
+ },
+ {
+ "epoch": 0.03,
+ "grad_norm": 4.504705512003857,
+ "learning_rate": 5.4545454545454546e-05,
+ "loss": 2.0207,
+ "step": 3
+ },
+ {
+ "epoch": 0.04,
+ "grad_norm": 4.591862504847867,
+ "learning_rate": 7.272727272727273e-05,
+ "loss": 1.979,
+ "step": 4
+ },
+ {
+ "epoch": 0.04,
+ "grad_norm": 3.812893581399005,
+ "learning_rate": 9.090909090909092e-05,
+ "loss": 1.8356,
+ "step": 5
+ },
+ {
+ "epoch": 0.05,
+ "grad_norm": 0.42886752872747064,
+ "learning_rate": 0.00010909090909090909,
+ "loss": 1.6722,
+ "step": 6
+ },
+ {
+ "epoch": 0.06,
+ "grad_norm": 0.22497294481851865,
+ "learning_rate": 0.00012727272727272728,
+ "loss": 1.6711,
+ "step": 7
+ },
+ {
+ "epoch": 0.07,
+ "grad_norm": 0.20955259847301927,
+ "learning_rate": 0.00014545454545454546,
+ "loss": 1.8546,
+ "step": 8
+ },
+ {
+ "epoch": 0.08,
+ "grad_norm": 0.2200095325539683,
+ "learning_rate": 0.00016363636363636366,
+ "loss": 1.7538,
+ "step": 9
+ },
+ {
+ "epoch": 0.09,
+ "grad_norm": 0.19187339879899318,
+ "learning_rate": 0.00018181818181818183,
+ "loss": 1.6137,
+ "step": 10
+ },
+ {
+ "epoch": 0.1,
+ "grad_norm": 0.2113395673717837,
+ "learning_rate": 0.0002,
+ "loss": 1.5225,
+ "step": 11
+ },
+ {
+ "epoch": 0.11,
+ "grad_norm": 0.17673768408382828,
+ "learning_rate": 0.00019999741592564903,
+ "loss": 1.5303,
+ "step": 12
+ },
+ {
+ "epoch": 0.12,
+ "grad_norm": 0.24120852820548402,
+ "learning_rate": 0.00019998966383614488,
+ "loss": 1.5089,
+ "step": 13
+ },
+ {
+ "epoch": 0.12,
+ "grad_norm": 0.3089489160535682,
+ "learning_rate": 0.00019997674413212708,
+ "loss": 1.4525,
+ "step": 14
+ },
+ {
+ "epoch": 0.13,
+ "grad_norm": 0.2656143410731927,
+ "learning_rate": 0.00019995865748130516,
+ "loss": 1.4648,
+ "step": 15
+ },
+ {
+ "epoch": 0.14,
+ "grad_norm": 3.769410316227205,
+ "learning_rate": 0.0001999354048184241,
+ "loss": 1.3439,
+ "step": 16
+ },
+ {
+ "epoch": 0.15,
+ "grad_norm": 0.32102180658823753,
+ "learning_rate": 0.00019990698734521613,
+ "loss": 1.4644,
+ "step": 17
+ },
+ {
+ "epoch": 0.16,
+ "grad_norm": 0.22094428128919438,
+ "learning_rate": 0.0001998734065303385,
+ "loss": 1.1927,
+ "step": 18
+ },
+ {
+ "epoch": 0.17,
+ "grad_norm": 0.22344487218098863,
+ "learning_rate": 0.00019983466410929764,
+ "loss": 1.2916,
+ "step": 19
+ },
+ {
+ "epoch": 0.18,
+ "grad_norm": 0.25036262498479456,
+ "learning_rate": 0.0001997907620843595,
+ "loss": 1.2982,
+ "step": 20
+ },
+ {
+ "epoch": 0.19,
+ "grad_norm": 0.22671119151539426,
+ "learning_rate": 0.00019974170272444604,
+ "loss": 1.2146,
+ "step": 21
+ },
+ {
+ "epoch": 0.2,
+ "grad_norm": 0.259249080403425,
+ "learning_rate": 0.00019968748856501788,
+ "loss": 1.2072,
+ "step": 22
+ },
+ {
+ "epoch": 0.2,
+ "grad_norm": 0.23538477651406017,
+ "learning_rate": 0.00019962812240794343,
+ "loss": 1.3281,
+ "step": 23
+ },
+ {
+ "epoch": 0.21,
+ "grad_norm": 0.2659115087625978,
+ "learning_rate": 0.000199563607321354,
+ "loss": 1.1396,
+ "step": 24
+ },
+ {
+ "epoch": 0.22,
+ "grad_norm": 0.23617264858854836,
+ "learning_rate": 0.0001994939466394851,
+ "loss": 1.1389,
+ "step": 25
+ },
+ {
+ "epoch": 0.23,
+ "grad_norm": 0.20514227454180176,
+ "learning_rate": 0.00019941914396250446,
+ "loss": 1.249,
+ "step": 26
+ },
+ {
+ "epoch": 0.24,
+ "grad_norm": 0.19660894225830144,
+ "learning_rate": 0.00019933920315632557,
+ "loss": 1.1776,
+ "step": 27
+ },
+ {
+ "epoch": 0.25,
+ "grad_norm": 0.2067663909729571,
+ "learning_rate": 0.00019925412835240826,
+ "loss": 1.1327,
+ "step": 28
+ },
+ {
+ "epoch": 0.25,
+ "eval_loss": 1.2991960048675537,
+ "eval_runtime": 13.153,
+ "eval_samples_per_second": 22.808,
+ "eval_steps_per_second": 2.889,
+ "step": 28
+ },
+ {
+ "epoch": 0.26,
+ "grad_norm": 0.1816588361901526,
+ "learning_rate": 0.0001991639239475448,
+ "loss": 1.1247,
+ "step": 29
+ },
+ {
+ "epoch": 0.27,
+ "grad_norm": 0.19626955153633807,
+ "learning_rate": 0.00019906859460363307,
+ "loss": 1.1212,
+ "step": 30
+ },
+ {
+ "epoch": 0.28,
+ "grad_norm": 0.21084275590405852,
+ "learning_rate": 0.00019896814524743528,
+ "loss": 0.9927,
+ "step": 31
+ },
+ {
+ "epoch": 0.28,
+ "grad_norm": 0.16560054949456768,
+ "learning_rate": 0.0001988625810703235,
+ "loss": 1.1249,
+ "step": 32
+ },
+ {
+ "epoch": 0.29,
+ "grad_norm": 0.14950879528294536,
+ "learning_rate": 0.0001987519075280114,
+ "loss": 1.1401,
+ "step": 33
+ },
+ {
+ "epoch": 0.3,
+ "grad_norm": 0.1777966882651237,
+ "learning_rate": 0.00019863613034027224,
+ "loss": 1.0769,
+ "step": 34
+ },
+ {
+ "epoch": 0.31,
+ "grad_norm": 0.1480537272052743,
+ "learning_rate": 0.00019851525549064323,
+ "loss": 1.0686,
+ "step": 35
+ },
+ {
+ "epoch": 0.32,
+ "grad_norm": 0.16911906750319078,
+ "learning_rate": 0.00019838928922611632,
+ "loss": 1.0253,
+ "step": 36
+ },
+ {
+ "epoch": 0.33,
+ "grad_norm": 0.15987682972555176,
+ "learning_rate": 0.00019825823805681543,
+ "loss": 1.0609,
+ "step": 37
+ },
+ {
+ "epoch": 0.34,
+ "grad_norm": 0.15757332939676763,
+ "learning_rate": 0.0001981221087556598,
+ "loss": 1.1086,
+ "step": 38
+ },
+ {
+ "epoch": 0.35,
+ "grad_norm": 0.13201845744757537,
+ "learning_rate": 0.00019798090835801418,
+ "loss": 1.073,
+ "step": 39
+ },
+ {
+ "epoch": 0.36,
+ "grad_norm": 0.12544508015984754,
+ "learning_rate": 0.00019783464416132506,
+ "loss": 1.0633,
+ "step": 40
+ },
+ {
+ "epoch": 0.36,
+ "grad_norm": 0.14645820383886451,
+ "learning_rate": 0.00019768332372474366,
+ "loss": 1.0653,
+ "step": 41
+ },
+ {
+ "epoch": 0.37,
+ "grad_norm": 0.14814101902137117,
+ "learning_rate": 0.00019752695486873517,
+ "loss": 1.0937,
+ "step": 42
+ },
+ {
+ "epoch": 0.38,
+ "grad_norm": 0.13888915595055443,
+ "learning_rate": 0.00019736554567467452,
+ "loss": 1.0462,
+ "step": 43
+ },
+ {
+ "epoch": 0.39,
+ "grad_norm": 0.13185349806639524,
+ "learning_rate": 0.00019719910448442893,
+ "loss": 1.2177,
+ "step": 44
+ },
+ {
+ "epoch": 0.4,
+ "grad_norm": 0.15271046712350847,
+ "learning_rate": 0.00019702763989992662,
+ "loss": 1.0237,
+ "step": 45
+ },
+ {
+ "epoch": 0.41,
+ "grad_norm": 0.17053588557430902,
+ "learning_rate": 0.00019685116078271223,
+ "loss": 1.0038,
+ "step": 46
+ },
+ {
+ "epoch": 0.42,
+ "grad_norm": 0.15641087356577812,
+ "learning_rate": 0.00019666967625348906,
+ "loss": 1.0886,
+ "step": 47
+ },
+ {
+ "epoch": 0.43,
+ "grad_norm": 0.1544028594191567,
+ "learning_rate": 0.00019648319569164736,
+ "loss": 1.1378,
+ "step": 48
+ },
+ {
+ "epoch": 0.44,
+ "grad_norm": 0.14794885994140625,
+ "learning_rate": 0.00019629172873477995,
+ "loss": 1.1495,
+ "step": 49
+ },
+ {
+ "epoch": 0.45,
+ "grad_norm": 0.1577684884028266,
+ "learning_rate": 0.0001960952852781838,
+ "loss": 1.0782,
+ "step": 50
+ },
+ {
+ "epoch": 0.45,
+ "grad_norm": 0.15961044045091288,
+ "learning_rate": 0.0001958938754743489,
+ "loss": 1.0107,
+ "step": 51
+ },
+ {
+ "epoch": 0.46,
+ "grad_norm": 0.14486696586022083,
+ "learning_rate": 0.0001956875097324334,
+ "loss": 1.0494,
+ "step": 52
+ },
+ {
+ "epoch": 0.47,
+ "grad_norm": 0.14250413725518896,
+ "learning_rate": 0.00019547619871772574,
+ "loss": 1.039,
+ "step": 53
+ },
+ {
+ "epoch": 0.48,
+ "grad_norm": 0.1196720279125328,
+ "learning_rate": 0.00019525995335109334,
+ "loss": 1.0966,
+ "step": 54
+ },
+ {
+ "epoch": 0.49,
+ "grad_norm": 0.14984795891635327,
+ "learning_rate": 0.0001950387848084183,
+ "loss": 1.0874,
+ "step": 55
+ },
+ {
+ "epoch": 0.5,
+ "grad_norm": 0.14891088442480416,
+ "learning_rate": 0.00019481270452001987,
+ "loss": 1.097,
+ "step": 56
+ },
+ {
+ "epoch": 0.5,
+ "eval_loss": 1.2264304161071777,
+ "eval_runtime": 13.2279,
+ "eval_samples_per_second": 22.679,
+ "eval_steps_per_second": 2.873,
+ "step": 56
+ },
+ {
+ "epoch": 0.51,
+ "grad_norm": 0.17814266552244534,
+ "learning_rate": 0.00019458172417006347,
+ "loss": 1.1372,
+ "step": 57
+ },
+ {
+ "epoch": 0.52,
+ "grad_norm": 0.16125636132578247,
+ "learning_rate": 0.00019434585569595708,
+ "loss": 1.0623,
+ "step": 58
+ },
+ {
+ "epoch": 0.53,
+ "grad_norm": 0.15203437202125702,
+ "learning_rate": 0.00019410511128773418,
+ "loss": 1.0399,
+ "step": 59
+ },
+ {
+ "epoch": 0.53,
+ "grad_norm": 0.1677461135605213,
+ "learning_rate": 0.0001938595033874238,
+ "loss": 1.0884,
+ "step": 60
+ },
+ {
+ "epoch": 0.54,
+ "grad_norm": 0.13564559875683407,
+ "learning_rate": 0.0001936090446884074,
+ "loss": 1.0176,
+ "step": 61
+ },
+ {
+ "epoch": 0.55,
+ "grad_norm": 0.1521886500642157,
+ "learning_rate": 0.00019335374813476302,
+ "loss": 1.0146,
+ "step": 62
+ },
+ {
+ "epoch": 0.56,
+ "grad_norm": 0.1410132122625916,
+ "learning_rate": 0.00019309362692059617,
+ "loss": 1.044,
+ "step": 63
+ },
+ {
+ "epoch": 0.57,
+ "grad_norm": 0.15237848179385577,
+ "learning_rate": 0.00019282869448935798,
+ "loss": 1.0354,
+ "step": 64
+ },
+ {
+ "epoch": 0.58,
+ "grad_norm": 0.13871660988504514,
+ "learning_rate": 0.00019255896453315052,
+ "loss": 1.0189,
+ "step": 65
+ },
+ {
+ "epoch": 0.59,
+ "grad_norm": 0.14863047478901453,
+ "learning_rate": 0.000192284450992019,
+ "loss": 1.0704,
+ "step": 66
+ },
+ {
+ "epoch": 0.6,
+ "grad_norm": 0.13794806124403974,
+ "learning_rate": 0.0001920051680532314,
+ "loss": 1.0996,
+ "step": 67
+ },
+ {
+ "epoch": 0.61,
+ "grad_norm": 0.13030507705779365,
+ "learning_rate": 0.00019172113015054532,
+ "loss": 1.0015,
+ "step": 68
+ },
+ {
+ "epoch": 0.61,
+ "grad_norm": 0.15092494718902358,
+ "learning_rate": 0.0001914323519634619,
+ "loss": 1.0822,
+ "step": 69
+ },
+ {
+ "epoch": 0.62,
+ "grad_norm": 0.1350212989006066,
+ "learning_rate": 0.00019113884841646736,
+ "loss": 1.0197,
+ "step": 70
+ },
+ {
+ "epoch": 0.63,
+ "grad_norm": 0.18991168066586347,
+ "learning_rate": 0.00019084063467826137,
+ "loss": 1.046,
+ "step": 71
+ },
+ {
+ "epoch": 0.64,
+ "grad_norm": 0.14884381774710187,
+ "learning_rate": 0.00019053772616097337,
+ "loss": 1.0346,
+ "step": 72
+ },
+ {
+ "epoch": 0.65,
+ "grad_norm": 0.15579311209945296,
+ "learning_rate": 0.000190230138519366,
+ "loss": 1.0505,
+ "step": 73
+ },
+ {
+ "epoch": 0.66,
+ "grad_norm": 0.16015337150592127,
+ "learning_rate": 0.000189917887650026,
+ "loss": 1.0504,
+ "step": 74
+ },
+ {
+ "epoch": 0.67,
+ "grad_norm": 0.1443969321518926,
+ "learning_rate": 0.00018960098969054255,
+ "loss": 1.0755,
+ "step": 75
+ },
+ {
+ "epoch": 0.68,
+ "grad_norm": 0.15722162227095848,
+ "learning_rate": 0.00018927946101867347,
+ "loss": 1.0541,
+ "step": 76
+ },
+ {
+ "epoch": 0.69,
+ "grad_norm": 0.17009697584926559,
+ "learning_rate": 0.0001889533182514986,
+ "loss": 1.0231,
+ "step": 77
+ },
+ {
+ "epoch": 0.69,
+ "grad_norm": 0.1256822726781221,
+ "learning_rate": 0.0001886225782445612,
+ "loss": 0.8814,
+ "step": 78
+ },
+ {
+ "epoch": 0.7,
+ "grad_norm": 0.14019958069756655,
+ "learning_rate": 0.00018828725809099655,
+ "loss": 1.0277,
+ "step": 79
+ },
+ {
+ "epoch": 0.71,
+ "grad_norm": 0.17159459150063183,
+ "learning_rate": 0.0001879473751206489,
+ "loss": 0.9495,
+ "step": 80
+ },
+ {
+ "epoch": 0.72,
+ "grad_norm": 0.146430011834186,
+ "learning_rate": 0.00018760294689917553,
+ "loss": 1.0598,
+ "step": 81
+ },
+ {
+ "epoch": 0.73,
+ "grad_norm": 0.16834256802992476,
+ "learning_rate": 0.00018725399122713912,
+ "loss": 1.0237,
+ "step": 82
+ },
+ {
+ "epoch": 0.74,
+ "grad_norm": 0.15663699267164208,
+ "learning_rate": 0.00018690052613908772,
+ "loss": 0.939,
+ "step": 83
+ },
+ {
+ "epoch": 0.75,
+ "grad_norm": 0.15655985150409854,
+ "learning_rate": 0.0001865425699026226,
+ "loss": 1.0302,
+ "step": 84
+ },
+ {
+ "epoch": 0.75,
+ "eval_loss": 1.2143030166625977,
+ "eval_runtime": 13.2387,
+ "eval_samples_per_second": 22.661,
+ "eval_steps_per_second": 2.87,
+ "step": 84
+ },
+ {
+ "epoch": 0.76,
+ "grad_norm": 0.15273470110260864,
+ "learning_rate": 0.00018618014101745442,
+ "loss": 1.0127,
+ "step": 85
+ },
+ {
+ "epoch": 0.77,
+ "grad_norm": 0.1723243680259614,
+ "learning_rate": 0.0001858132582144469,
+ "loss": 0.9306,
+ "step": 86
+ },
+ {
+ "epoch": 0.77,
+ "grad_norm": 0.14747098547446996,
+ "learning_rate": 0.00018544194045464886,
+ "loss": 1.0073,
+ "step": 87
+ },
+ {
+ "epoch": 0.78,
+ "grad_norm": 0.17208333285514918,
+ "learning_rate": 0.00018506620692831428,
+ "loss": 1.0328,
+ "step": 88
+ },
+ {
+ "epoch": 0.79,
+ "grad_norm": 0.14918051024971962,
+ "learning_rate": 0.0001846860770539105,
+ "loss": 1.0022,
+ "step": 89
+ },
+ {
+ "epoch": 0.8,
+ "grad_norm": 0.156315164090714,
+ "learning_rate": 0.00018430157047711474,
+ "loss": 1.0293,
+ "step": 90
+ },
+ {
+ "epoch": 0.81,
+ "grad_norm": 0.2013424548288477,
+ "learning_rate": 0.00018391270706979862,
+ "loss": 0.9395,
+ "step": 91
+ },
+ {
+ "epoch": 0.82,
+ "grad_norm": 0.17909726353002614,
+ "learning_rate": 0.00018351950692900126,
+ "loss": 0.9756,
+ "step": 92
+ },
+ {
+ "epoch": 0.83,
+ "grad_norm": 0.16939245158726288,
+ "learning_rate": 0.00018312199037589068,
+ "loss": 0.9576,
+ "step": 93
+ },
+ {
+ "epoch": 0.84,
+ "grad_norm": 0.14685720680893694,
+ "learning_rate": 0.00018272017795471345,
+ "loss": 1.0045,
+ "step": 94
+ },
+ {
+ "epoch": 0.85,
+ "grad_norm": 0.17464839085505987,
+ "learning_rate": 0.000182314090431733,
+ "loss": 0.9862,
+ "step": 95
+ },
+ {
+ "epoch": 0.85,
+ "grad_norm": 0.16060904136932572,
+ "learning_rate": 0.00018190374879415632,
+ "loss": 1.0022,
+ "step": 96
+ },
+ {
+ "epoch": 0.86,
+ "grad_norm": 0.18715193350083867,
+ "learning_rate": 0.00018148917424904953,
+ "loss": 1.042,
+ "step": 97
+ },
+ {
+ "epoch": 0.87,
+ "grad_norm": 0.1675573400576595,
+ "learning_rate": 0.0001810703882222415,
+ "loss": 1.0047,
+ "step": 98
+ },
+ {
+ "epoch": 0.88,
+ "grad_norm": 0.1871466286989249,
+ "learning_rate": 0.00018064741235721687,
+ "loss": 0.9834,
+ "step": 99
+ },
+ {
+ "epoch": 0.89,
+ "grad_norm": 0.17453934867565302,
+ "learning_rate": 0.00018022026851399737,
+ "loss": 0.9649,
+ "step": 100
+ },
+ {
+ "epoch": 0.9,
+ "grad_norm": 0.15960631507184767,
+ "learning_rate": 0.0001797889787680119,
+ "loss": 0.9673,
+ "step": 101
+ },
+ {
+ "epoch": 0.91,
+ "grad_norm": 0.17844936635366368,
+ "learning_rate": 0.00017935356540895597,
+ "loss": 1.0951,
+ "step": 102
+ },
+ {
+ "epoch": 0.92,
+ "grad_norm": 0.16733018789000254,
+ "learning_rate": 0.00017891405093963938,
+ "loss": 0.9954,
+ "step": 103
+ },
+ {
+ "epoch": 0.93,
+ "grad_norm": 0.17305556075296993,
+ "learning_rate": 0.00017847045807482345,
+ "loss": 0.892,
+ "step": 104
+ },
+ {
+ "epoch": 0.93,
+ "grad_norm": 0.17197614099805034,
+ "learning_rate": 0.00017802280974004716,
+ "loss": 1.0494,
+ "step": 105
+ },
+ {
+ "epoch": 0.94,
+ "grad_norm": 0.18063836817127235,
+ "learning_rate": 0.000177571129070442,
+ "loss": 1.0264,
+ "step": 106
+ },
+ {
+ "epoch": 0.95,
+ "grad_norm": 0.14597707005699143,
+ "learning_rate": 0.00017711543940953668,
+ "loss": 0.9532,
+ "step": 107
+ },
+ {
+ "epoch": 0.96,
+ "grad_norm": 0.1422048149465345,
+ "learning_rate": 0.00017665576430805053,
+ "loss": 0.97,
+ "step": 108
+ },
+ {
+ "epoch": 0.97,
+ "grad_norm": 0.18313914688655572,
+ "learning_rate": 0.0001761921275226763,
+ "loss": 0.9282,
+ "step": 109
+ },
+ {
+ "epoch": 0.98,
+ "grad_norm": 0.200679751171441,
+ "learning_rate": 0.00017572455301485249,
+ "loss": 1.0,
+ "step": 110
+ },
+ {
+ "epoch": 0.99,
+ "grad_norm": 0.17700985594898055,
+ "learning_rate": 0.00017525306494952498,
+ "loss": 1.0165,
+ "step": 111
+ },
+ {
+ "epoch": 1.0,
+ "grad_norm": 0.19925777202726191,
+ "learning_rate": 0.0001747776876938981,
+ "loss": 1.0346,
+ "step": 112
+ },
+ {
+ "epoch": 1.0,
+ "eval_loss": 1.203959345817566,
+ "eval_runtime": 13.2547,
+ "eval_samples_per_second": 22.634,
+ "eval_steps_per_second": 2.867,
+ "step": 112
+ },
+ {
+ "epoch": 1.01,
+ "grad_norm": 0.1606469603473709,
+ "learning_rate": 0.00017429844581617532,
+ "loss": 0.9832,
+ "step": 113
+ },
+ {
+ "epoch": 1.01,
+ "grad_norm": 0.16403912763780054,
+ "learning_rate": 0.00017381536408428948,
+ "loss": 0.9346,
+ "step": 114
+ },
+ {
+ "epoch": 1.02,
+ "grad_norm": 0.1936046893744468,
+ "learning_rate": 0.00017332846746462288,
+ "loss": 0.9382,
+ "step": 115
+ },
+ {
+ "epoch": 1.03,
+ "grad_norm": 0.14250769247239573,
+ "learning_rate": 0.0001728377811207168,
+ "loss": 0.8914,
+ "step": 116
+ },
+ {
+ "epoch": 1.04,
+ "grad_norm": 0.17889563599797687,
+ "learning_rate": 0.00017234333041197126,
+ "loss": 0.9736,
+ "step": 117
+ },
+ {
+ "epoch": 1.05,
+ "grad_norm": 0.20288960866045594,
+ "learning_rate": 0.00017184514089233405,
+ "loss": 0.8477,
+ "step": 118
+ },
+ {
+ "epoch": 1.06,
+ "grad_norm": 0.20926349930533472,
+ "learning_rate": 0.00017134323830898037,
+ "loss": 0.9933,
+ "step": 119
+ },
+ {
+ "epoch": 1.07,
+ "grad_norm": 0.21316934416499642,
+ "learning_rate": 0.00017083764860098205,
+ "loss": 0.9168,
+ "step": 120
+ },
+ {
+ "epoch": 1.08,
+ "grad_norm": 0.21654320387312692,
+ "learning_rate": 0.0001703283978979671,
+ "loss": 0.9584,
+ "step": 121
+ },
+ {
+ "epoch": 1.09,
+ "grad_norm": 0.23789742308175463,
+ "learning_rate": 0.00016981551251876904,
+ "loss": 1.0298,
+ "step": 122
+ },
+ {
+ "epoch": 1.09,
+ "grad_norm": 0.16433271793469648,
+ "learning_rate": 0.00016929901897006698,
+ "loss": 0.8833,
+ "step": 123
+ },
+ {
+ "epoch": 1.1,
+ "grad_norm": 0.16908727866207868,
+ "learning_rate": 0.0001687789439450156,
+ "loss": 1.0675,
+ "step": 124
+ },
+ {
+ "epoch": 1.11,
+ "grad_norm": 0.1670067931363302,
+ "learning_rate": 0.00016825531432186543,
+ "loss": 0.9515,
+ "step": 125
+ },
+ {
+ "epoch": 1.12,
+ "grad_norm": 0.17777465531550865,
+ "learning_rate": 0.00016772815716257412,
+ "loss": 0.8929,
+ "step": 126
+ },
+ {
+ "epoch": 1.13,
+ "grad_norm": 0.18442783204919333,
+ "learning_rate": 0.00016719749971140754,
+ "loss": 0.8388,
+ "step": 127
+ },
+ {
+ "epoch": 1.14,
+ "grad_norm": 0.19073362304284272,
+ "learning_rate": 0.0001666633693935319,
+ "loss": 0.9584,
+ "step": 128
+ },
+ {
+ "epoch": 1.15,
+ "grad_norm": 0.20189563405135308,
+ "learning_rate": 0.00016612579381359622,
+ "loss": 1.0264,
+ "step": 129
+ },
+ {
+ "epoch": 1.16,
+ "grad_norm": 0.1694138210313381,
+ "learning_rate": 0.00016558480075430594,
+ "loss": 0.9592,
+ "step": 130
+ },
+ {
+ "epoch": 1.17,
+ "grad_norm": 0.19195382946787184,
+ "learning_rate": 0.00016504041817498678,
+ "loss": 0.974,
+ "step": 131
+ },
+ {
+ "epoch": 1.18,
+ "grad_norm": 0.20684215619155688,
+ "learning_rate": 0.00016449267421013994,
+ "loss": 0.8499,
+ "step": 132
+ },
+ {
+ "epoch": 1.18,
+ "grad_norm": 0.22003490429847744,
+ "learning_rate": 0.00016394159716798807,
+ "loss": 0.9659,
+ "step": 133
+ },
+ {
+ "epoch": 1.19,
+ "grad_norm": 0.21977918206745437,
+ "learning_rate": 0.00016338721552901212,
+ "loss": 0.9213,
+ "step": 134
+ },
+ {
+ "epoch": 1.2,
+ "grad_norm": 0.2076993903333204,
+ "learning_rate": 0.0001628295579444796,
+ "loss": 0.8119,
+ "step": 135
+ },
+ {
+ "epoch": 1.21,
+ "grad_norm": 0.2001771499954729,
+ "learning_rate": 0.0001622686532349637,
+ "loss": 0.9183,
+ "step": 136
+ },
+ {
+ "epoch": 1.22,
+ "grad_norm": 0.18671550149366203,
+ "learning_rate": 0.00016170453038885394,
+ "loss": 0.8836,
+ "step": 137
+ },
+ {
+ "epoch": 1.23,
+ "grad_norm": 0.20867427207572573,
+ "learning_rate": 0.0001611372185608578,
+ "loss": 0.9964,
+ "step": 138
+ },
+ {
+ "epoch": 1.24,
+ "grad_norm": 0.20035138443113176,
+ "learning_rate": 0.0001605667470704942,
+ "loss": 0.9209,
+ "step": 139
+ },
+ {
+ "epoch": 1.25,
+ "grad_norm": 0.22696612020505577,
+ "learning_rate": 0.0001599931454005781,
+ "loss": 1.0162,
+ "step": 140
+ },
+ {
+ "epoch": 1.25,
+ "eval_loss": 1.2188584804534912,
+ "eval_runtime": 13.249,
+ "eval_samples_per_second": 22.643,
+ "eval_steps_per_second": 2.868,
+ "step": 140
+ },
+ {
+ "epoch": 1.26,
+ "grad_norm": 0.21554353495018647,
+ "learning_rate": 0.00015941644319569665,
+ "loss": 1.0487,
+ "step": 141
+ },
+ {
+ "epoch": 1.26,
+ "grad_norm": 0.22894492131909072,
+ "learning_rate": 0.00015883667026067745,
+ "loss": 0.9352,
+ "step": 142
+ },
+ {
+ "epoch": 1.27,
+ "grad_norm": 0.19145184577172686,
+ "learning_rate": 0.00015825385655904788,
+ "loss": 0.8878,
+ "step": 143
+ },
+ {
+ "epoch": 1.28,
+ "grad_norm": 0.22544664152936575,
+ "learning_rate": 0.00015766803221148673,
+ "loss": 1.0,
+ "step": 144
+ },
+ {
+ "epoch": 1.29,
+ "grad_norm": 0.26000661355557114,
+ "learning_rate": 0.00015707922749426737,
+ "loss": 0.9339,
+ "step": 145
+ },
+ {
+ "epoch": 1.3,
+ "grad_norm": 0.24433845134512236,
+ "learning_rate": 0.00015648747283769317,
+ "loss": 0.9474,
+ "step": 146
+ },
+ {
+ "epoch": 1.31,
+ "grad_norm": 0.21973931169609887,
+ "learning_rate": 0.00015589279882452476,
+ "loss": 0.9357,
+ "step": 147
+ },
+ {
+ "epoch": 1.32,
+ "grad_norm": 0.23929008733305812,
+ "learning_rate": 0.0001552952361883994,
+ "loss": 0.9985,
+ "step": 148
+ },
+ {
+ "epoch": 1.33,
+ "grad_norm": 0.23431856747573573,
+ "learning_rate": 0.00015469481581224272,
+ "loss": 0.8913,
+ "step": 149
+ },
+ {
+ "epoch": 1.34,
+ "grad_norm": 0.2233543327912565,
+ "learning_rate": 0.00015409156872667258,
+ "loss": 0.9877,
+ "step": 150
+ },
+ {
+ "epoch": 1.34,
+ "grad_norm": 0.21281207674183256,
+ "learning_rate": 0.0001534855261083954,
+ "loss": 0.9071,
+ "step": 151
+ },
+ {
+ "epoch": 1.35,
+ "grad_norm": 0.20314832700152685,
+ "learning_rate": 0.00015287671927859494,
+ "loss": 0.9373,
+ "step": 152
+ },
+ {
+ "epoch": 1.36,
+ "grad_norm": 0.19648565819019825,
+ "learning_rate": 0.00015226517970131343,
+ "loss": 0.9469,
+ "step": 153
+ },
+ {
+ "epoch": 1.37,
+ "grad_norm": 0.2262428264639853,
+ "learning_rate": 0.00015165093898182562,
+ "loss": 1.0066,
+ "step": 154
+ },
+ {
+ "epoch": 1.38,
+ "grad_norm": 0.22253433035020442,
+ "learning_rate": 0.00015103402886500525,
+ "loss": 0.8875,
+ "step": 155
+ },
+ {
+ "epoch": 1.39,
+ "grad_norm": 0.181161648904613,
+ "learning_rate": 0.00015041448123368455,
+ "loss": 0.9004,
+ "step": 156
+ },
+ {
+ "epoch": 1.4,
+ "grad_norm": 0.20968483802367816,
+ "learning_rate": 0.00014979232810700637,
+ "loss": 0.9133,
+ "step": 157
+ },
+ {
+ "epoch": 1.41,
+ "grad_norm": 0.20540509271288435,
+ "learning_rate": 0.0001491676016387694,
+ "loss": 0.8876,
+ "step": 158
+ },
+ {
+ "epoch": 1.42,
+ "grad_norm": 0.18762795731312454,
+ "learning_rate": 0.00014854033411576659,
+ "loss": 0.933,
+ "step": 159
+ },
+ {
+ "epoch": 1.42,
+ "grad_norm": 0.23223345997338857,
+ "learning_rate": 0.00014791055795611624,
+ "loss": 0.9182,
+ "step": 160
+ },
+ {
+ "epoch": 1.43,
+ "grad_norm": 0.21932384461027146,
+ "learning_rate": 0.00014727830570758678,
+ "loss": 0.9514,
+ "step": 161
+ },
+ {
+ "epoch": 1.44,
+ "grad_norm": 0.21819663730951108,
+ "learning_rate": 0.0001466436100459146,
+ "loss": 0.9162,
+ "step": 162
+ },
+ {
+ "epoch": 1.45,
+ "grad_norm": 0.2325813323476676,
+ "learning_rate": 0.00014600650377311522,
+ "loss": 0.9308,
+ "step": 163
+ },
+ {
+ "epoch": 1.46,
+ "grad_norm": 0.2568337182939043,
+ "learning_rate": 0.0001453670198157883,
+ "loss": 0.9995,
+ "step": 164
+ },
+ {
+ "epoch": 1.47,
+ "grad_norm": 0.22578454460723413,
+ "learning_rate": 0.00014472519122341566,
+ "loss": 0.9052,
+ "step": 165
+ },
+ {
+ "epoch": 1.48,
+ "grad_norm": 0.23564258958796755,
+ "learning_rate": 0.00014408105116665336,
+ "loss": 0.9714,
+ "step": 166
+ },
+ {
+ "epoch": 1.49,
+ "grad_norm": 0.24266133562839415,
+ "learning_rate": 0.00014343463293561734,
+ "loss": 0.9219,
+ "step": 167
+ },
+ {
+ "epoch": 1.5,
+ "grad_norm": 0.23472454708184465,
+ "learning_rate": 0.00014278596993816308,
+ "loss": 0.8762,
+ "step": 168
+ },
+ {
+ "epoch": 1.5,
+ "eval_loss": 1.2197421789169312,
+ "eval_runtime": 13.2616,
+ "eval_samples_per_second": 22.622,
+ "eval_steps_per_second": 2.865,
+ "step": 168
+ },
+ {
+ "epoch": 1.5,
+ "grad_norm": 0.23623633375452713,
+ "learning_rate": 0.00014213509569815884,
+ "loss": 0.8809,
+ "step": 169
+ },
+ {
+ "epoch": 1.51,
+ "grad_norm": 0.25344275204523486,
+ "learning_rate": 0.00014148204385375321,
+ "loss": 0.7972,
+ "step": 170
+ },
+ {
+ "epoch": 1.52,
+ "grad_norm": 0.23111396119549557,
+ "learning_rate": 0.0001408268481556366,
+ "loss": 0.8228,
+ "step": 171
+ },
+ {
+ "epoch": 1.53,
+ "grad_norm": 0.2510618369255398,
+ "learning_rate": 0.00014016954246529696,
+ "loss": 0.8849,
+ "step": 172
+ },
+ {
+ "epoch": 1.54,
+ "grad_norm": 0.2764366116622668,
+ "learning_rate": 0.0001395101607532698,
+ "loss": 0.8936,
+ "step": 173
+ },
+ {
+ "epoch": 1.55,
+ "grad_norm": 0.24325811719582827,
+ "learning_rate": 0.00013884873709738257,
+ "loss": 0.8602,
+ "step": 174
+ },
+ {
+ "epoch": 1.56,
+ "grad_norm": 0.213781513838486,
+ "learning_rate": 0.00013818530568099327,
+ "loss": 0.9492,
+ "step": 175
+ },
+ {
+ "epoch": 1.57,
+ "grad_norm": 0.2397396374239057,
+ "learning_rate": 0.00013751990079122412,
+ "loss": 1.0499,
+ "step": 176
+ },
+ {
+ "epoch": 1.58,
+ "grad_norm": 0.21579907170368723,
+ "learning_rate": 0.00013685255681718922,
+ "loss": 0.9438,
+ "step": 177
+ },
+ {
+ "epoch": 1.58,
+ "grad_norm": 0.2359312681928786,
+ "learning_rate": 0.0001361833082482175,
+ "loss": 0.9289,
+ "step": 178
+ },
+ {
+ "epoch": 1.59,
+ "grad_norm": 0.2618189093396496,
+ "learning_rate": 0.0001355121896720703,
+ "loss": 0.981,
+ "step": 179
+ },
+ {
+ "epoch": 1.6,
+ "grad_norm": 0.20876513773174135,
+ "learning_rate": 0.00013483923577315348,
+ "loss": 0.82,
+ "step": 180
+ },
+ {
+ "epoch": 1.61,
+ "grad_norm": 0.22162748553995645,
+ "learning_rate": 0.00013416448133072526,
+ "loss": 1.0131,
+ "step": 181
+ },
+ {
+ "epoch": 1.62,
+ "grad_norm": 0.20975549982451164,
+ "learning_rate": 0.00013348796121709862,
+ "loss": 0.8763,
+ "step": 182
+ },
+ {
+ "epoch": 1.63,
+ "grad_norm": 0.22840397707525473,
+ "learning_rate": 0.00013280971039583906,
+ "loss": 0.949,
+ "step": 183
+ },
+ {
+ "epoch": 1.64,
+ "grad_norm": 0.23384636230161737,
+ "learning_rate": 0.0001321297639199575,
+ "loss": 0.9567,
+ "step": 184
+ },
+ {
+ "epoch": 1.65,
+ "grad_norm": 0.22905979409902957,
+ "learning_rate": 0.000131448156930099,
+ "loss": 0.9153,
+ "step": 185
+ },
+ {
+ "epoch": 1.66,
+ "grad_norm": 0.27620894683694563,
+ "learning_rate": 0.0001307649246527263,
+ "loss": 0.8246,
+ "step": 186
+ },
+ {
+ "epoch": 1.66,
+ "grad_norm": 0.23004170633106227,
+ "learning_rate": 0.0001300801023982995,
+ "loss": 1.0181,
+ "step": 187
+ },
+ {
+ "epoch": 1.67,
+ "grad_norm": 0.2219849136264378,
+ "learning_rate": 0.00012939372555945112,
+ "loss": 0.9535,
+ "step": 188
+ },
+ {
+ "epoch": 1.68,
+ "grad_norm": 0.24458750452490116,
+ "learning_rate": 0.0001287058296091567,
+ "loss": 0.8968,
+ "step": 189
+ },
+ {
+ "epoch": 1.69,
+ "grad_norm": 0.2564337740159555,
+ "learning_rate": 0.00012801645009890195,
+ "loss": 0.7955,
+ "step": 190
+ },
+ {
+ "epoch": 1.7,
+ "grad_norm": 0.24100850371438767,
+ "learning_rate": 0.0001273256226568451,
+ "loss": 0.9235,
+ "step": 191
+ },
+ {
+ "epoch": 1.71,
+ "grad_norm": 0.24757089527873732,
+ "learning_rate": 0.00012663338298597563,
+ "loss": 1.007,
+ "step": 192
+ },
+ {
+ "epoch": 1.72,
+ "grad_norm": 0.24701038583742888,
+ "learning_rate": 0.00012593976686226904,
+ "loss": 0.9885,
+ "step": 193
+ },
+ {
+ "epoch": 1.73,
+ "grad_norm": 0.26373721125634964,
+ "learning_rate": 0.0001252448101328381,
+ "loss": 0.8785,
+ "step": 194
+ },
+ {
+ "epoch": 1.74,
+ "grad_norm": 0.2227761464470136,
+ "learning_rate": 0.00012454854871407994,
+ "loss": 0.8806,
+ "step": 195
+ },
+ {
+ "epoch": 1.74,
+ "grad_norm": 0.2283950634350429,
+ "learning_rate": 0.00012385101858982005,
+ "loss": 0.9053,
+ "step": 196
+ },
+ {
+ "epoch": 1.74,
+ "eval_loss": 1.2198154926300049,
+ "eval_runtime": 13.2208,
+ "eval_samples_per_second": 22.692,
+ "eval_steps_per_second": 2.874,
+ "step": 196
+ },
+ {
+ "epoch": 1.75,
+ "grad_norm": 0.23406423788354982,
+ "learning_rate": 0.00012315225580945252,
+ "loss": 0.9397,
+ "step": 197
+ },
+ {
+ "epoch": 1.76,
+ "grad_norm": 0.23807045727443327,
+ "learning_rate": 0.0001224522964860769,
+ "loss": 0.9712,
+ "step": 198
+ },
+ {
+ "epoch": 1.77,
+ "grad_norm": 0.2463614808838948,
+ "learning_rate": 0.00012175117679463187,
+ "loss": 0.8558,
+ "step": 199
+ },
+ {
+ "epoch": 1.78,
+ "grad_norm": 0.24737417059302014,
+ "learning_rate": 0.00012104893297002567,
+ "loss": 0.9723,
+ "step": 200
+ },
+ {
+ "epoch": 1.79,
+ "grad_norm": 0.243750688050595,
+ "learning_rate": 0.0001203456013052634,
+ "loss": 0.964,
+ "step": 201
+ },
+ {
+ "epoch": 1.8,
+ "grad_norm": 0.24572059557106538,
+ "learning_rate": 0.00011964121814957137,
+ "loss": 0.9109,
+ "step": 202
+ },
+ {
+ "epoch": 1.81,
+ "grad_norm": 0.24044117903962453,
+ "learning_rate": 0.00011893581990651848,
+ "loss": 1.0019,
+ "step": 203
+ },
+ {
+ "epoch": 1.82,
+ "grad_norm": 0.2737568489071465,
+ "learning_rate": 0.00011822944303213486,
+ "loss": 0.8893,
+ "step": 204
+ },
+ {
+ "epoch": 1.82,
+ "grad_norm": 0.24122455882790084,
+ "learning_rate": 0.00011752212403302784,
+ "loss": 0.9162,
+ "step": 205
+ },
+ {
+ "epoch": 1.83,
+ "grad_norm": 0.28991871401626856,
+ "learning_rate": 0.00011681389946449504,
+ "loss": 0.8555,
+ "step": 206
+ },
+ {
+ "epoch": 1.84,
+ "grad_norm": 0.23767408810646548,
+ "learning_rate": 0.00011610480592863531,
+ "loss": 0.9936,
+ "step": 207
+ },
+ {
+ "epoch": 1.85,
+ "grad_norm": 0.22614733706173062,
+ "learning_rate": 0.00011539488007245702,
+ "loss": 0.916,
+ "step": 208
+ },
+ {
+ "epoch": 1.86,
+ "grad_norm": 0.22471992425846515,
+ "learning_rate": 0.00011468415858598411,
+ "loss": 0.8872,
+ "step": 209
+ },
+ {
+ "epoch": 1.87,
+ "grad_norm": 0.22675717145909688,
+ "learning_rate": 0.00011397267820035986,
+ "loss": 0.8393,
+ "step": 210
+ },
+ {
+ "epoch": 1.88,
+ "grad_norm": 0.2727459336483823,
+ "learning_rate": 0.00011326047568594851,
+ "loss": 0.8265,
+ "step": 211
+ },
+ {
+ "epoch": 1.89,
+ "grad_norm": 0.25216778031670767,
+ "learning_rate": 0.00011254758785043515,
+ "loss": 0.9939,
+ "step": 212
+ },
+ {
+ "epoch": 1.9,
+ "grad_norm": 0.269147378424304,
+ "learning_rate": 0.0001118340515369232,
+ "loss": 0.9102,
+ "step": 213
+ },
+ {
+ "epoch": 1.91,
+ "grad_norm": 0.2216178370833471,
+ "learning_rate": 0.00011111990362203033,
+ "loss": 0.8778,
+ "step": 214
+ },
+ {
+ "epoch": 1.91,
+ "grad_norm": 0.2602474934716497,
+ "learning_rate": 0.00011040518101398276,
+ "loss": 0.9454,
+ "step": 215
+ },
+ {
+ "epoch": 1.92,
+ "grad_norm": 0.2658635078442998,
+ "learning_rate": 0.00010968992065070769,
+ "loss": 0.8098,
+ "step": 216
+ },
+ {
+ "epoch": 1.93,
+ "grad_norm": 0.20997905209488962,
+ "learning_rate": 0.00010897415949792427,
+ "loss": 0.9318,
+ "step": 217
+ },
+ {
+ "epoch": 1.94,
+ "grad_norm": 0.24752453752221557,
+ "learning_rate": 0.00010825793454723325,
+ "loss": 0.949,
+ "step": 218
+ },
+ {
+ "epoch": 1.95,
+ "grad_norm": 0.255579569750529,
+ "learning_rate": 0.0001075412828142051,
+ "loss": 0.915,
+ "step": 219
+ },
+ {
+ "epoch": 1.96,
+ "grad_norm": 0.23186981930561867,
+ "learning_rate": 0.0001068242413364671,
+ "loss": 0.9132,
+ "step": 220
+ },
+ {
+ "epoch": 1.97,
+ "grad_norm": 0.35685140391438824,
+ "learning_rate": 0.00010610684717178905,
+ "loss": 0.9398,
+ "step": 221
+ },
+ {
+ "epoch": 1.98,
+ "grad_norm": 0.27320389987223703,
+ "learning_rate": 0.00010538913739616816,
+ "loss": 0.857,
+ "step": 222
+ },
+ {
+ "epoch": 1.99,
+ "grad_norm": 0.2324276771141761,
+ "learning_rate": 0.00010467114910191289,
+ "loss": 0.8546,
+ "step": 223
+ },
+ {
+ "epoch": 1.99,
+ "grad_norm": 0.22820341349854167,
+ "learning_rate": 0.00010395291939572593,
+ "loss": 0.9301,
+ "step": 224
+ },
+ {
+ "epoch": 1.99,
+ "eval_loss": 1.2246263027191162,
+ "eval_runtime": 13.1981,
+ "eval_samples_per_second": 22.731,
+ "eval_steps_per_second": 2.879,
+ "step": 224
+ },
+ {
+ "epoch": 2.0,
+ "grad_norm": 0.2289800489154315,
+ "learning_rate": 0.00010323448539678653,
+ "loss": 0.9922,
+ "step": 225
+ },
+ {
+ "epoch": 2.01,
+ "grad_norm": 0.2673353778680862,
+ "learning_rate": 0.00010251588423483205,
+ "loss": 0.7779,
+ "step": 226
+ },
+ {
+ "epoch": 2.02,
+ "grad_norm": 0.2420933678952559,
+ "learning_rate": 0.0001017971530482392,
+ "loss": 0.8044,
+ "step": 227
+ },
+ {
+ "epoch": 2.03,
+ "grad_norm": 0.21799264660625498,
+ "learning_rate": 0.00010107832898210439,
+ "loss": 0.8773,
+ "step": 228
+ },
+ {
+ "epoch": 2.04,
+ "grad_norm": 0.21443255695871016,
+ "learning_rate": 0.00010035944918632429,
+ "loss": 0.9031,
+ "step": 229
+ },
+ {
+ "epoch": 2.05,
+ "grad_norm": 0.23983734165788242,
+ "learning_rate": 9.96405508136757e-05,
+ "loss": 0.9014,
+ "step": 230
+ },
+ {
+ "epoch": 2.06,
+ "grad_norm": 0.27915481475799336,
+ "learning_rate": 9.892167101789564e-05,
+ "loss": 0.8853,
+ "step": 231
+ },
+ {
+ "epoch": 2.07,
+ "grad_norm": 0.2688949371564916,
+ "learning_rate": 9.820284695176082e-05,
+ "loss": 0.8452,
+ "step": 232
+ },
+ {
+ "epoch": 2.07,
+ "grad_norm": 0.2623278518867105,
+ "learning_rate": 9.748411576516794e-05,
+ "loss": 0.8612,
+ "step": 233
+ },
+ {
+ "epoch": 2.08,
+ "grad_norm": 0.2710502639103885,
+ "learning_rate": 9.676551460321349e-05,
+ "loss": 0.8108,
+ "step": 234
+ },
+ {
+ "epoch": 2.09,
+ "grad_norm": 0.282572880285737,
+ "learning_rate": 9.60470806042741e-05,
+ "loss": 0.7866,
+ "step": 235
+ },
+ {
+ "epoch": 2.1,
+ "grad_norm": 0.2829396962922612,
+ "learning_rate": 9.532885089808713e-05,
+ "loss": 0.8557,
+ "step": 236
+ },
+ {
+ "epoch": 2.11,
+ "grad_norm": 0.2721172338857335,
+ "learning_rate": 9.461086260383187e-05,
+ "loss": 0.7933,
+ "step": 237
+ },
+ {
+ "epoch": 2.12,
+ "grad_norm": 0.29736638811364446,
+ "learning_rate": 9.389315282821097e-05,
+ "loss": 0.7674,
+ "step": 238
+ },
+ {
+ "epoch": 2.13,
+ "grad_norm": 0.28571679920981263,
+ "learning_rate": 9.317575866353292e-05,
+ "loss": 0.7442,
+ "step": 239
+ },
+ {
+ "epoch": 2.14,
+ "grad_norm": 0.264545167150173,
+ "learning_rate": 9.245871718579491e-05,
+ "loss": 0.8505,
+ "step": 240
+ },
+ {
+ "epoch": 2.15,
+ "grad_norm": 0.30691085134027757,
+ "learning_rate": 9.174206545276677e-05,
+ "loss": 0.7898,
+ "step": 241
+ },
+ {
+ "epoch": 2.15,
+ "grad_norm": 0.31375028121981235,
+ "learning_rate": 9.102584050207578e-05,
+ "loss": 0.7661,
+ "step": 242
+ },
+ {
+ "epoch": 2.16,
+ "grad_norm": 0.28421530221837016,
+ "learning_rate": 9.031007934929236e-05,
+ "loss": 0.8328,
+ "step": 243
+ },
+ {
+ "epoch": 2.17,
+ "grad_norm": 0.25601367811173414,
+ "learning_rate": 8.959481898601728e-05,
+ "loss": 0.8281,
+ "step": 244
+ },
+ {
+ "epoch": 2.18,
+ "grad_norm": 0.2983724947729522,
+ "learning_rate": 8.888009637796968e-05,
+ "loss": 0.8567,
+ "step": 245
+ },
+ {
+ "epoch": 2.19,
+ "grad_norm": 0.2545616786933236,
+ "learning_rate": 8.81659484630768e-05,
+ "loss": 0.9151,
+ "step": 246
+ },
+ {
+ "epoch": 2.2,
+ "grad_norm": 0.23873712362647942,
+ "learning_rate": 8.745241214956483e-05,
+ "loss": 0.8818,
+ "step": 247
+ },
+ {
+ "epoch": 2.21,
+ "grad_norm": 0.285331972404065,
+ "learning_rate": 8.673952431405148e-05,
+ "loss": 0.7983,
+ "step": 248
+ },
+ {
+ "epoch": 2.22,
+ "grad_norm": 0.23897707291689843,
+ "learning_rate": 8.602732179964017e-05,
+ "loss": 0.8758,
+ "step": 249
+ },
+ {
+ "epoch": 2.23,
+ "grad_norm": 0.2830966091447457,
+ "learning_rate": 8.531584141401591e-05,
+ "loss": 0.8714,
+ "step": 250
+ },
+ {
+ "epoch": 2.23,
+ "grad_norm": 0.28872599217076506,
+ "learning_rate": 8.4605119927543e-05,
+ "loss": 0.8387,
+ "step": 251
+ },
+ {
+ "epoch": 2.24,
+ "grad_norm": 0.2652236346400331,
+ "learning_rate": 8.38951940713647e-05,
+ "loss": 0.8232,
+ "step": 252
+ },
+ {
+ "epoch": 2.24,
+ "eval_loss": 1.2432794570922852,
+ "eval_runtime": 13.2405,
+ "eval_samples_per_second": 22.658,
+ "eval_steps_per_second": 2.87,
+ "step": 252
+ },
+ {
+ "epoch": 2.25,
+ "grad_norm": 0.299978013524394,
+ "learning_rate": 8.318610053550497e-05,
+ "loss": 0.7321,
+ "step": 253
+ },
+ {
+ "epoch": 2.26,
+ "grad_norm": 0.2740002835117391,
+ "learning_rate": 8.247787596697218e-05,
+ "loss": 0.7605,
+ "step": 254
+ },
+ {
+ "epoch": 2.27,
+ "grad_norm": 0.2848366030132808,
+ "learning_rate": 8.177055696786516e-05,
+ "loss": 0.8485,
+ "step": 255
+ },
+ {
+ "epoch": 2.28,
+ "grad_norm": 0.24847418856075218,
+ "learning_rate": 8.106418009348157e-05,
+ "loss": 0.7557,
+ "step": 256
+ },
+ {
+ "epoch": 2.29,
+ "grad_norm": 0.33515508602624905,
+ "learning_rate": 8.035878185042868e-05,
+ "loss": 0.8015,
+ "step": 257
+ },
+ {
+ "epoch": 2.3,
+ "grad_norm": 0.2905943721096322,
+ "learning_rate": 7.965439869473664e-05,
+ "loss": 0.8457,
+ "step": 258
+ },
+ {
+ "epoch": 2.31,
+ "grad_norm": 0.3140679719552616,
+ "learning_rate": 7.895106702997437e-05,
+ "loss": 0.8559,
+ "step": 259
+ },
+ {
+ "epoch": 2.31,
+ "grad_norm": 0.29745105018138573,
+ "learning_rate": 7.824882320536814e-05,
+ "loss": 0.7453,
+ "step": 260
+ },
+ {
+ "epoch": 2.32,
+ "grad_norm": 0.29818631731197365,
+ "learning_rate": 7.754770351392311e-05,
+ "loss": 0.8354,
+ "step": 261
+ },
+ {
+ "epoch": 2.33,
+ "grad_norm": 0.24721488944366407,
+ "learning_rate": 7.684774419054747e-05,
+ "loss": 0.7755,
+ "step": 262
+ },
+ {
+ "epoch": 2.34,
+ "grad_norm": 0.31210442779019465,
+ "learning_rate": 7.614898141017996e-05,
+ "loss": 0.7208,
+ "step": 263
+ },
+ {
+ "epoch": 2.35,
+ "grad_norm": 0.2873220240109992,
+ "learning_rate": 7.54514512859201e-05,
+ "loss": 0.7548,
+ "step": 264
+ },
+ {
+ "epoch": 2.36,
+ "grad_norm": 0.3006634171776217,
+ "learning_rate": 7.475518986716194e-05,
+ "loss": 0.7566,
+ "step": 265
+ },
+ {
+ "epoch": 2.37,
+ "grad_norm": 0.2799417613336026,
+ "learning_rate": 7.406023313773097e-05,
+ "loss": 0.727,
+ "step": 266
+ },
+ {
+ "epoch": 2.38,
+ "grad_norm": 0.2451761866231664,
+ "learning_rate": 7.336661701402439e-05,
+ "loss": 0.9641,
+ "step": 267
+ },
+ {
+ "epoch": 2.39,
+ "grad_norm": 0.305202611125298,
+ "learning_rate": 7.267437734315492e-05,
+ "loss": 0.7891,
+ "step": 268
+ },
+ {
+ "epoch": 2.39,
+ "grad_norm": 0.29107717848747816,
+ "learning_rate": 7.198354990109805e-05,
+ "loss": 0.9032,
+ "step": 269
+ },
+ {
+ "epoch": 2.4,
+ "grad_norm": 0.2688898665176787,
+ "learning_rate": 7.129417039084333e-05,
+ "loss": 0.8416,
+ "step": 270
+ },
+ {
+ "epoch": 2.41,
+ "grad_norm": 0.2814206029778395,
+ "learning_rate": 7.060627444054893e-05,
+ "loss": 0.8443,
+ "step": 271
+ },
+ {
+ "epoch": 2.42,
+ "grad_norm": 0.2862094867555512,
+ "learning_rate": 6.99198976017005e-05,
+ "loss": 0.8271,
+ "step": 272
+ },
+ {
+ "epoch": 2.43,
+ "grad_norm": 0.3214647340394826,
+ "learning_rate": 6.923507534727373e-05,
+ "loss": 0.7793,
+ "step": 273
+ },
+ {
+ "epoch": 2.44,
+ "grad_norm": 0.3033659714564417,
+ "learning_rate": 6.855184306990106e-05,
+ "loss": 0.7856,
+ "step": 274
+ },
+ {
+ "epoch": 2.45,
+ "grad_norm": 0.3024382342577774,
+ "learning_rate": 6.78702360800425e-05,
+ "loss": 0.8633,
+ "step": 275
+ },
+ {
+ "epoch": 2.46,
+ "grad_norm": 0.25803598196729505,
+ "learning_rate": 6.719028960416098e-05,
+ "loss": 0.8428,
+ "step": 276
+ },
+ {
+ "epoch": 2.47,
+ "grad_norm": 0.35469202971401803,
+ "learning_rate": 6.651203878290139e-05,
+ "loss": 0.8665,
+ "step": 277
+ },
+ {
+ "epoch": 2.47,
+ "grad_norm": 0.3122516837597691,
+ "learning_rate": 6.583551866927475e-05,
+ "loss": 0.8787,
+ "step": 278
+ },
+ {
+ "epoch": 2.48,
+ "grad_norm": 0.3305470786367901,
+ "learning_rate": 6.516076422684654e-05,
+ "loss": 0.8765,
+ "step": 279
+ },
+ {
+ "epoch": 2.49,
+ "grad_norm": 0.3324622666488467,
+ "learning_rate": 6.448781032792972e-05,
+ "loss": 0.8318,
+ "step": 280
+ },
+ {
+ "epoch": 2.49,
+ "eval_loss": 1.2546111345291138,
+ "eval_runtime": 13.2379,
+ "eval_samples_per_second": 22.662,
+ "eval_steps_per_second": 2.871,
+ "step": 280
+ },
+ {
+ "epoch": 2.5,
+ "grad_norm": 0.342341713579355,
+ "learning_rate": 6.381669175178248e-05,
+ "loss": 0.9517,
+ "step": 281
+ },
+ {
+ "epoch": 2.51,
+ "grad_norm": 0.33913458352374665,
+ "learning_rate": 6.31474431828108e-05,
+ "loss": 0.8564,
+ "step": 282
+ },
+ {
+ "epoch": 2.52,
+ "grad_norm": 0.30528689383480295,
+ "learning_rate": 6.248009920877592e-05,
+ "loss": 0.8199,
+ "step": 283
+ },
+ {
+ "epoch": 2.53,
+ "grad_norm": 0.29698648367254743,
+ "learning_rate": 6.181469431900672e-05,
+ "loss": 0.785,
+ "step": 284
+ },
+ {
+ "epoch": 2.54,
+ "grad_norm": 0.32239262939282626,
+ "learning_rate": 6.115126290261745e-05,
+ "loss": 0.7794,
+ "step": 285
+ },
+ {
+ "epoch": 2.55,
+ "grad_norm": 0.2694595905080167,
+ "learning_rate": 6.048983924673022e-05,
+ "loss": 0.8056,
+ "step": 286
+ },
+ {
+ "epoch": 2.55,
+ "grad_norm": 0.3045496751154443,
+ "learning_rate": 5.983045753470308e-05,
+ "loss": 0.8164,
+ "step": 287
+ },
+ {
+ "epoch": 2.56,
+ "grad_norm": 0.2927868214627918,
+ "learning_rate": 5.917315184436345e-05,
+ "loss": 0.8358,
+ "step": 288
+ },
+ {
+ "epoch": 2.57,
+ "grad_norm": 0.2931914055644858,
+ "learning_rate": 5.851795614624682e-05,
+ "loss": 0.8011,
+ "step": 289
+ },
+ {
+ "epoch": 2.58,
+ "grad_norm": 0.3158716819379082,
+ "learning_rate": 5.786490430184115e-05,
+ "loss": 0.8332,
+ "step": 290
+ },
+ {
+ "epoch": 2.59,
+ "grad_norm": 0.3482519147352008,
+ "learning_rate": 5.72140300618369e-05,
+ "loss": 0.7621,
+ "step": 291
+ },
+ {
+ "epoch": 2.6,
+ "grad_norm": 0.28652801822050894,
+ "learning_rate": 5.656536706438267e-05,
+ "loss": 0.77,
+ "step": 292
+ },
+ {
+ "epoch": 2.61,
+ "grad_norm": 0.29691290613407717,
+ "learning_rate": 5.591894883334667e-05,
+ "loss": 0.9394,
+ "step": 293
+ },
+ {
+ "epoch": 2.62,
+ "grad_norm": 0.26699581966985203,
+ "learning_rate": 5.5274808776584367e-05,
+ "loss": 0.7918,
+ "step": 294
+ },
+ {
+ "epoch": 2.63,
+ "grad_norm": 0.2926923719762685,
+ "learning_rate": 5.463298018421171e-05,
+ "loss": 0.8723,
+ "step": 295
+ },
+ {
+ "epoch": 2.64,
+ "grad_norm": 0.3403087263187063,
+ "learning_rate": 5.399349622688479e-05,
+ "loss": 0.8097,
+ "step": 296
+ },
+ {
+ "epoch": 2.64,
+ "grad_norm": 0.34261233464532476,
+ "learning_rate": 5.335638995408545e-05,
+ "loss": 0.9032,
+ "step": 297
+ },
+ {
+ "epoch": 2.65,
+ "grad_norm": 0.31315234759634086,
+ "learning_rate": 5.272169429241325e-05,
+ "loss": 0.82,
+ "step": 298
+ },
+ {
+ "epoch": 2.66,
+ "grad_norm": 0.3179759425444047,
+ "learning_rate": 5.208944204388377e-05,
+ "loss": 0.8864,
+ "step": 299
+ },
+ {
+ "epoch": 2.67,
+ "grad_norm": 0.3121296356843828,
+ "learning_rate": 5.145966588423341e-05,
+ "loss": 0.8258,
+ "step": 300
+ },
+ {
+ "epoch": 2.68,
+ "grad_norm": 0.268436849924173,
+ "learning_rate": 5.0832398361230596e-05,
+ "loss": 0.8906,
+ "step": 301
+ },
+ {
+ "epoch": 2.69,
+ "grad_norm": 0.2961161602467319,
+ "learning_rate": 5.020767189299369e-05,
+ "loss": 0.8828,
+ "step": 302
+ },
+ {
+ "epoch": 2.7,
+ "grad_norm": 0.27743957099992345,
+ "learning_rate": 4.9585518766315496e-05,
+ "loss": 0.8251,
+ "step": 303
+ },
+ {
+ "epoch": 2.71,
+ "grad_norm": 0.2949909861852426,
+ "learning_rate": 4.896597113499479e-05,
+ "loss": 0.7911,
+ "step": 304
+ },
+ {
+ "epoch": 2.72,
+ "grad_norm": 0.3161115451278363,
+ "learning_rate": 4.834906101817438e-05,
+ "loss": 0.8157,
+ "step": 305
+ },
+ {
+ "epoch": 2.72,
+ "grad_norm": 0.28720077046065867,
+ "learning_rate": 4.773482029868657e-05,
+ "loss": 0.82,
+ "step": 306
+ },
+ {
+ "epoch": 2.73,
+ "grad_norm": 0.4045319357608716,
+ "learning_rate": 4.712328072140505e-05,
+ "loss": 0.8414,
+ "step": 307
+ },
+ {
+ "epoch": 2.74,
+ "grad_norm": 0.3070232288390269,
+ "learning_rate": 4.651447389160458e-05,
+ "loss": 0.8427,
+ "step": 308
+ },
+ {
+ "epoch": 2.74,
+ "eval_loss": 1.2574400901794434,
+ "eval_runtime": 13.2473,
+ "eval_samples_per_second": 22.646,
+ "eval_steps_per_second": 2.869,
+ "step": 308
+ },
+ {
+ "epoch": 2.75,
+ "grad_norm": 0.3214782806968351,
+ "learning_rate": 4.5908431273327436e-05,
+ "loss": 0.8469,
+ "step": 309
+ },
+ {
+ "epoch": 2.76,
+ "grad_norm": 0.24241410698156174,
+ "learning_rate": 4.530518418775733e-05,
+ "loss": 0.8346,
+ "step": 310
+ },
+ {
+ "epoch": 2.77,
+ "grad_norm": 0.3303263594210879,
+ "learning_rate": 4.470476381160065e-05,
+ "loss": 0.8298,
+ "step": 311
+ },
+ {
+ "epoch": 2.78,
+ "grad_norm": 0.30711900849760865,
+ "learning_rate": 4.4107201175475275e-05,
+ "loss": 0.789,
+ "step": 312
+ },
+ {
+ "epoch": 2.79,
+ "grad_norm": 0.2954465859389713,
+ "learning_rate": 4.351252716230685e-05,
+ "loss": 0.8029,
+ "step": 313
+ },
+ {
+ "epoch": 2.8,
+ "grad_norm": 0.29925087091531116,
+ "learning_rate": 4.292077250573266e-05,
+ "loss": 0.8633,
+ "step": 314
+ },
+ {
+ "epoch": 2.8,
+ "grad_norm": 0.3177611223775825,
+ "learning_rate": 4.2331967788513295e-05,
+ "loss": 0.76,
+ "step": 315
+ },
+ {
+ "epoch": 2.81,
+ "grad_norm": 0.28642407848269513,
+ "learning_rate": 4.174614344095213e-05,
+ "loss": 0.823,
+ "step": 316
+ },
+ {
+ "epoch": 2.82,
+ "grad_norm": 0.3243224656005062,
+ "learning_rate": 4.116332973932256e-05,
+ "loss": 0.7831,
+ "step": 317
+ },
+ {
+ "epoch": 2.83,
+ "grad_norm": 0.34877334027822726,
+ "learning_rate": 4.058355680430337e-05,
+ "loss": 0.899,
+ "step": 318
+ },
+ {
+ "epoch": 2.84,
+ "grad_norm": 0.28640325479143114,
+ "learning_rate": 4.0006854599421926e-05,
+ "loss": 0.8292,
+ "step": 319
+ },
+ {
+ "epoch": 2.85,
+ "grad_norm": 0.3135316628014535,
+ "learning_rate": 3.943325292950579e-05,
+ "loss": 0.8731,
+ "step": 320
+ },
+ {
+ "epoch": 2.86,
+ "grad_norm": 0.2949970604257085,
+ "learning_rate": 3.886278143914219e-05,
+ "loss": 0.8402,
+ "step": 321
+ },
+ {
+ "epoch": 2.87,
+ "grad_norm": 0.30057896586780075,
+ "learning_rate": 3.829546961114607e-05,
+ "loss": 0.7713,
+ "step": 322
+ },
+ {
+ "epoch": 2.88,
+ "grad_norm": 0.3558574270285126,
+ "learning_rate": 3.773134676503629e-05,
+ "loss": 0.8435,
+ "step": 323
+ },
+ {
+ "epoch": 2.88,
+ "grad_norm": 0.29115288332943334,
+ "learning_rate": 3.7170442055520415e-05,
+ "loss": 0.9022,
+ "step": 324
+ },
+ {
+ "epoch": 2.89,
+ "grad_norm": 0.3192074718527619,
+ "learning_rate": 3.661278447098789e-05,
+ "loss": 0.7662,
+ "step": 325
+ },
+ {
+ "epoch": 2.9,
+ "grad_norm": 0.33335742888185405,
+ "learning_rate": 3.605840283201195e-05,
+ "loss": 0.8111,
+ "step": 326
+ },
+ {
+ "epoch": 2.91,
+ "grad_norm": 0.29748212071395186,
+ "learning_rate": 3.550732578986006e-05,
+ "loss": 0.7543,
+ "step": 327
+ },
+ {
+ "epoch": 2.92,
+ "grad_norm": 0.3680409192627914,
+ "learning_rate": 3.495958182501325e-05,
+ "loss": 0.8124,
+ "step": 328
+ },
+ {
+ "epoch": 2.93,
+ "grad_norm": 0.27807302364345643,
+ "learning_rate": 3.441519924569408e-05,
+ "loss": 0.7856,
+ "step": 329
+ },
+ {
+ "epoch": 2.94,
+ "grad_norm": 0.3050855823733691,
+ "learning_rate": 3.387420618640379e-05,
+ "loss": 0.8506,
+ "step": 330
+ },
+ {
+ "epoch": 2.95,
+ "grad_norm": 0.3322620263029238,
+ "learning_rate": 3.3336630606468134e-05,
+ "loss": 0.8771,
+ "step": 331
+ },
+ {
+ "epoch": 2.96,
+ "grad_norm": 0.3112008867427982,
+ "learning_rate": 3.280250028859248e-05,
+ "loss": 0.7785,
+ "step": 332
+ },
+ {
+ "epoch": 2.96,
+ "grad_norm": 0.2839548329095365,
+ "learning_rate": 3.227184283742591e-05,
+ "loss": 0.9153,
+ "step": 333
+ },
+ {
+ "epoch": 2.97,
+ "grad_norm": 0.34615397822650606,
+ "learning_rate": 3.174468567813461e-05,
+ "loss": 0.7753,
+ "step": 334
+ },
+ {
+ "epoch": 2.98,
+ "grad_norm": 0.34691866307772695,
+ "learning_rate": 3.122105605498442e-05,
+ "loss": 0.851,
+ "step": 335
+ },
+ {
+ "epoch": 2.99,
+ "grad_norm": 0.296369624391198,
+ "learning_rate": 3.070098102993302e-05,
+ "loss": 0.8572,
+ "step": 336
+ },
+ {
+ "epoch": 2.99,
+ "eval_loss": 1.2511259317398071,
+ "eval_runtime": 13.2202,
+ "eval_samples_per_second": 22.692,
+ "eval_steps_per_second": 2.874,
+ "step": 336
+ },
+ {
+ "epoch": 3.0,
+ "grad_norm": 0.2960426809914107,
+ "learning_rate": 3.018448748123097e-05,
+ "loss": 0.8664,
+ "step": 337
+ },
+ {
+ "epoch": 3.01,
+ "grad_norm": 0.3213684656412904,
+ "learning_rate": 2.9671602102032926e-05,
+ "loss": 0.7387,
+ "step": 338
+ },
+ {
+ "epoch": 3.02,
+ "grad_norm": 0.3057515564517862,
+ "learning_rate": 2.9162351399017963e-05,
+ "loss": 0.767,
+ "step": 339
+ },
+ {
+ "epoch": 3.03,
+ "grad_norm": 0.31163087624473346,
+ "learning_rate": 2.8656761691019673e-05,
+ "loss": 0.8084,
+ "step": 340
+ },
+ {
+ "epoch": 3.04,
+ "grad_norm": 0.29945884165692627,
+ "learning_rate": 2.8154859107665987e-05,
+ "loss": 0.9033,
+ "step": 341
+ },
+ {
+ "epoch": 3.04,
+ "grad_norm": 0.32235895597138414,
+ "learning_rate": 2.7656669588028762e-05,
+ "loss": 0.7144,
+ "step": 342
+ },
+ {
+ "epoch": 3.05,
+ "grad_norm": 0.3458958643468077,
+ "learning_rate": 2.7162218879283176e-05,
+ "loss": 0.7426,
+ "step": 343
+ },
+ {
+ "epoch": 3.06,
+ "grad_norm": 0.3073811670129139,
+ "learning_rate": 2.667153253537713e-05,
+ "loss": 0.723,
+ "step": 344
+ },
+ {
+ "epoch": 3.07,
+ "grad_norm": 0.3223615792503137,
+ "learning_rate": 2.618463591571052e-05,
+ "loss": 0.6815,
+ "step": 345
+ },
+ {
+ "epoch": 3.08,
+ "grad_norm": 0.357176712253696,
+ "learning_rate": 2.570155418382473e-05,
+ "loss": 0.7286,
+ "step": 346
+ },
+ {
+ "epoch": 3.09,
+ "grad_norm": 0.29547503050650586,
+ "learning_rate": 2.5222312306101925e-05,
+ "loss": 0.7895,
+ "step": 347
+ },
+ {
+ "epoch": 3.1,
+ "grad_norm": 0.37115835330190844,
+ "learning_rate": 2.474693505047504e-05,
+ "loss": 0.8722,
+ "step": 348
+ },
+ {
+ "epoch": 3.11,
+ "grad_norm": 0.3840299049618982,
+ "learning_rate": 2.427544698514753e-05,
+ "loss": 0.7022,
+ "step": 349
+ },
+ {
+ "epoch": 3.12,
+ "grad_norm": 0.33738326420366743,
+ "learning_rate": 2.3807872477323733e-05,
+ "loss": 0.7731,
+ "step": 350
+ },
+ {
+ "epoch": 3.12,
+ "grad_norm": 0.35407291134427865,
+ "learning_rate": 2.334423569194948e-05,
+ "loss": 0.7407,
+ "step": 351
+ },
+ {
+ "epoch": 3.13,
+ "grad_norm": 0.2589965276614251,
+ "learning_rate": 2.288456059046331e-05,
+ "loss": 0.865,
+ "step": 352
+ },
+ {
+ "epoch": 3.14,
+ "grad_norm": 0.3521332875577516,
+ "learning_rate": 2.242887092955801e-05,
+ "loss": 0.655,
+ "step": 353
+ },
+ {
+ "epoch": 3.15,
+ "grad_norm": 0.33409347759889046,
+ "learning_rate": 2.1977190259952883e-05,
+ "loss": 0.7536,
+ "step": 354
+ },
+ {
+ "epoch": 3.16,
+ "grad_norm": 0.38883294070164465,
+ "learning_rate": 2.1529541925176555e-05,
+ "loss": 0.7435,
+ "step": 355
+ },
+ {
+ "epoch": 3.17,
+ "grad_norm": 0.3513324514694806,
+ "learning_rate": 2.1085949060360654e-05,
+ "loss": 0.7405,
+ "step": 356
+ },
+ {
+ "epoch": 3.18,
+ "grad_norm": 0.3391182488874308,
+ "learning_rate": 2.064643459104405e-05,
+ "loss": 0.7737,
+ "step": 357
+ },
+ {
+ "epoch": 3.19,
+ "grad_norm": 0.3647814711811327,
+ "learning_rate": 2.0211021231988102e-05,
+ "loss": 0.7095,
+ "step": 358
+ },
+ {
+ "epoch": 3.2,
+ "grad_norm": 0.35539668264402535,
+ "learning_rate": 1.977973148600266e-05,
+ "loss": 0.7543,
+ "step": 359
+ },
+ {
+ "epoch": 3.2,
+ "grad_norm": 0.30454971181182305,
+ "learning_rate": 1.935258764278314e-05,
+ "loss": 0.7897,
+ "step": 360
+ },
+ {
+ "epoch": 3.21,
+ "grad_norm": 0.33290039075033256,
+ "learning_rate": 1.8929611777758526e-05,
+ "loss": 0.6976,
+ "step": 361
+ },
+ {
+ "epoch": 3.22,
+ "grad_norm": 0.28252566634530724,
+ "learning_rate": 1.851082575095051e-05,
+ "loss": 0.8688,
+ "step": 362
+ },
+ {
+ "epoch": 3.23,
+ "grad_norm": 0.38585709417657277,
+ "learning_rate": 1.8096251205843684e-05,
+ "loss": 0.8361,
+ "step": 363
+ },
+ {
+ "epoch": 3.24,
+ "grad_norm": 0.3372165483048113,
+ "learning_rate": 1.7685909568267033e-05,
+ "loss": 0.7818,
+ "step": 364
+ },
+ {
+ "epoch": 3.24,
+ "eval_loss": 1.2727638483047485,
+ "eval_runtime": 13.2462,
+ "eval_samples_per_second": 22.648,
+ "eval_steps_per_second": 2.869,
+ "step": 364
+ },
+ {
+ "epoch": 3.25,
+ "grad_norm": 0.3250536223337791,
+ "learning_rate": 1.7279822045286576e-05,
+ "loss": 0.7973,
+ "step": 365
+ },
+ {
+ "epoch": 3.26,
+ "grad_norm": 0.3593434237000891,
+ "learning_rate": 1.6878009624109313e-05,
+ "loss": 0.7015,
+ "step": 366
+ },
+ {
+ "epoch": 3.27,
+ "grad_norm": 0.3197427893489943,
+ "learning_rate": 1.648049307099874e-05,
+ "loss": 0.7536,
+ "step": 367
+ },
+ {
+ "epoch": 3.28,
+ "grad_norm": 0.36529609852202527,
+ "learning_rate": 1.6087292930201394e-05,
+ "loss": 0.7487,
+ "step": 368
+ },
+ {
+ "epoch": 3.28,
+ "grad_norm": 0.25007649085986594,
+ "learning_rate": 1.569842952288527e-05,
+ "loss": 0.8906,
+ "step": 369
+ },
+ {
+ "epoch": 3.29,
+ "grad_norm": 0.36329388340138336,
+ "learning_rate": 1.5313922946089486e-05,
+ "loss": 0.7645,
+ "step": 370
+ },
+ {
+ "epoch": 3.3,
+ "grad_norm": 0.35241947629057724,
+ "learning_rate": 1.4933793071685732e-05,
+ "loss": 0.8134,
+ "step": 371
+ },
+ {
+ "epoch": 3.31,
+ "grad_norm": 0.3664249862728154,
+ "learning_rate": 1.4558059545351143e-05,
+ "loss": 0.7328,
+ "step": 372
+ },
+ {
+ "epoch": 3.32,
+ "grad_norm": 0.29196433505411595,
+ "learning_rate": 1.4186741785553115e-05,
+ "loss": 0.7608,
+ "step": 373
+ },
+ {
+ "epoch": 3.33,
+ "grad_norm": 0.2923688341161706,
+ "learning_rate": 1.3819858982545598e-05,
+ "loss": 0.7696,
+ "step": 374
+ },
+ {
+ "epoch": 3.34,
+ "grad_norm": 0.3520285590111714,
+ "learning_rate": 1.3457430097377421e-05,
+ "loss": 0.7871,
+ "step": 375
+ },
+ {
+ "epoch": 3.35,
+ "grad_norm": 0.30838315755571466,
+ "learning_rate": 1.3099473860912326e-05,
+ "loss": 0.7398,
+ "step": 376
+ },
+ {
+ "epoch": 3.36,
+ "grad_norm": 0.327647793123604,
+ "learning_rate": 1.2746008772860884e-05,
+ "loss": 0.7974,
+ "step": 377
+ },
+ {
+ "epoch": 3.36,
+ "grad_norm": 0.29911511172677985,
+ "learning_rate": 1.2397053100824463e-05,
+ "loss": 0.8535,
+ "step": 378
+ },
+ {
+ "epoch": 3.37,
+ "grad_norm": 0.34600894138601895,
+ "learning_rate": 1.2052624879351104e-05,
+ "loss": 0.6872,
+ "step": 379
+ },
+ {
+ "epoch": 3.38,
+ "grad_norm": 0.2993988371658933,
+ "learning_rate": 1.1712741909003444e-05,
+ "loss": 0.8554,
+ "step": 380
+ },
+ {
+ "epoch": 3.39,
+ "grad_norm": 0.34130407502289717,
+ "learning_rate": 1.1377421755438832e-05,
+ "loss": 0.9014,
+ "step": 381
+ },
+ {
+ "epoch": 3.4,
+ "grad_norm": 0.33654746414289566,
+ "learning_rate": 1.1046681748501408e-05,
+ "loss": 0.853,
+ "step": 382
+ },
+ {
+ "epoch": 3.41,
+ "grad_norm": 0.32172878518370435,
+ "learning_rate": 1.0720538981326556e-05,
+ "loss": 0.7594,
+ "step": 383
+ },
+ {
+ "epoch": 3.42,
+ "grad_norm": 0.3211202670840339,
+ "learning_rate": 1.0399010309457457e-05,
+ "loss": 0.8017,
+ "step": 384
+ },
+ {
+ "epoch": 3.43,
+ "grad_norm": 0.31506066245322806,
+ "learning_rate": 1.0082112349974016e-05,
+ "loss": 0.7279,
+ "step": 385
+ },
+ {
+ "epoch": 3.44,
+ "grad_norm": 0.33655604261545546,
+ "learning_rate": 9.76986148063398e-06,
+ "loss": 0.8117,
+ "step": 386
+ },
+ {
+ "epoch": 3.45,
+ "grad_norm": 0.34046018532794836,
+ "learning_rate": 9.462273839026624e-06,
+ "loss": 0.7242,
+ "step": 387
+ },
+ {
+ "epoch": 3.45,
+ "grad_norm": 0.36645383790153846,
+ "learning_rate": 9.159365321738655e-06,
+ "loss": 0.6773,
+ "step": 388
+ },
+ {
+ "epoch": 3.46,
+ "grad_norm": 0.29937594196593476,
+ "learning_rate": 8.861151583532656e-06,
+ "loss": 0.8557,
+ "step": 389
+ },
+ {
+ "epoch": 3.47,
+ "grad_norm": 0.382087527071458,
+ "learning_rate": 8.56764803653809e-06,
+ "loss": 0.8144,
+ "step": 390
+ },
+ {
+ "epoch": 3.48,
+ "grad_norm": 0.37165100019020914,
+ "learning_rate": 8.278869849454718e-06,
+ "loss": 0.8668,
+ "step": 391
+ },
+ {
+ "epoch": 3.49,
+ "grad_norm": 0.29949583615336506,
+ "learning_rate": 7.994831946768622e-06,
+ "loss": 0.6793,
+ "step": 392
+ },
+ {
+ "epoch": 3.49,
+ "eval_loss": 1.2786916494369507,
+ "eval_runtime": 13.2527,
+ "eval_samples_per_second": 22.637,
+ "eval_steps_per_second": 2.867,
+ "step": 392
+ },
+ {
+ "epoch": 3.5,
+ "grad_norm": 0.3128750696018338,
+ "learning_rate": 7.715549007981027e-06,
+ "loss": 0.7723,
+ "step": 393
+ },
+ {
+ "epoch": 3.51,
+ "grad_norm": 0.3036786519151417,
+ "learning_rate": 7.441035466849489e-06,
+ "loss": 0.7668,
+ "step": 394
+ },
+ {
+ "epoch": 3.52,
+ "grad_norm": 0.3723258995422837,
+ "learning_rate": 7.171305510642023e-06,
+ "loss": 0.7493,
+ "step": 395
+ },
+ {
+ "epoch": 3.53,
+ "grad_norm": 0.34640959843456987,
+ "learning_rate": 6.906373079403849e-06,
+ "loss": 0.7326,
+ "step": 396
+ },
+ {
+ "epoch": 3.53,
+ "grad_norm": 0.3708769315457807,
+ "learning_rate": 6.646251865236997e-06,
+ "loss": 0.7532,
+ "step": 397
+ },
+ {
+ "epoch": 3.54,
+ "grad_norm": 0.3204533685892251,
+ "learning_rate": 6.390955311592617e-06,
+ "loss": 0.7287,
+ "step": 398
+ },
+ {
+ "epoch": 3.55,
+ "grad_norm": 0.32625233919759344,
+ "learning_rate": 6.140496612576241e-06,
+ "loss": 0.7138,
+ "step": 399
+ },
+ {
+ "epoch": 3.56,
+ "grad_norm": 0.30531644707337335,
+ "learning_rate": 5.8948887122658335e-06,
+ "loss": 0.7123,
+ "step": 400
+ },
+ {
+ "epoch": 3.57,
+ "grad_norm": 0.33767502582039044,
+ "learning_rate": 5.65414430404293e-06,
+ "loss": 0.797,
+ "step": 401
+ },
+ {
+ "epoch": 3.58,
+ "grad_norm": 0.3282428030443849,
+ "learning_rate": 5.418275829936537e-06,
+ "loss": 0.8456,
+ "step": 402
+ },
+ {
+ "epoch": 3.59,
+ "grad_norm": 0.3532395206693705,
+ "learning_rate": 5.187295479980136e-06,
+ "loss": 0.7484,
+ "step": 403
+ },
+ {
+ "epoch": 3.6,
+ "grad_norm": 0.32556237019334716,
+ "learning_rate": 4.961215191581692e-06,
+ "loss": 0.7909,
+ "step": 404
+ },
+ {
+ "epoch": 3.61,
+ "grad_norm": 0.34045978047642994,
+ "learning_rate": 4.740046648906682e-06,
+ "loss": 0.7618,
+ "step": 405
+ },
+ {
+ "epoch": 3.61,
+ "grad_norm": 0.28937387449733615,
+ "learning_rate": 4.523801282274287e-06,
+ "loss": 0.8292,
+ "step": 406
+ },
+ {
+ "epoch": 3.62,
+ "grad_norm": 0.3160933371902765,
+ "learning_rate": 4.312490267566616e-06,
+ "loss": 0.7755,
+ "step": 407
+ },
+ {
+ "epoch": 3.63,
+ "grad_norm": 0.31618578023192107,
+ "learning_rate": 4.106124525651123e-06,
+ "loss": 0.8033,
+ "step": 408
+ },
+ {
+ "epoch": 3.64,
+ "grad_norm": 0.3105026069614601,
+ "learning_rate": 3.904714721816228e-06,
+ "loss": 0.7873,
+ "step": 409
+ },
+ {
+ "epoch": 3.65,
+ "grad_norm": 0.34709823487491576,
+ "learning_rate": 3.7082712652200867e-06,
+ "loss": 0.7882,
+ "step": 410
+ },
+ {
+ "epoch": 3.66,
+ "grad_norm": 0.3349684333518626,
+ "learning_rate": 3.516804308352628e-06,
+ "loss": 0.7841,
+ "step": 411
+ },
+ {
+ "epoch": 3.67,
+ "grad_norm": 0.3467993408892318,
+ "learning_rate": 3.330323746510955e-06,
+ "loss": 0.7605,
+ "step": 412
+ },
+ {
+ "epoch": 3.68,
+ "grad_norm": 0.37371307324588393,
+ "learning_rate": 3.148839217287758e-06,
+ "loss": 0.7229,
+ "step": 413
+ },
+ {
+ "epoch": 3.69,
+ "grad_norm": 0.32271590708905057,
+ "learning_rate": 2.9723601000734016e-06,
+ "loss": 0.7227,
+ "step": 414
+ },
+ {
+ "epoch": 3.69,
+ "grad_norm": 0.3080800887837192,
+ "learning_rate": 2.800895515571078e-06,
+ "loss": 0.7322,
+ "step": 415
+ },
+ {
+ "epoch": 3.7,
+ "grad_norm": 0.3563938469507623,
+ "learning_rate": 2.634454325325497e-06,
+ "loss": 0.7951,
+ "step": 416
+ },
+ {
+ "epoch": 3.71,
+ "grad_norm": 0.3544288347449977,
+ "learning_rate": 2.473045131264862e-06,
+ "loss": 0.7204,
+ "step": 417
+ },
+ {
+ "epoch": 3.72,
+ "grad_norm": 0.37683581963069984,
+ "learning_rate": 2.3166762752563463e-06,
+ "loss": 0.7817,
+ "step": 418
+ },
+ {
+ "epoch": 3.73,
+ "grad_norm": 0.33996733249074595,
+ "learning_rate": 2.1653558386749427e-06,
+ "loss": 0.68,
+ "step": 419
+ },
+ {
+ "epoch": 3.74,
+ "grad_norm": 0.3069725548353936,
+ "learning_rate": 2.0190916419858484e-06,
+ "loss": 0.798,
+ "step": 420
+ },
+ {
+ "epoch": 3.74,
+ "eval_loss": 1.280185580253601,
+ "eval_runtime": 13.1908,
+ "eval_samples_per_second": 22.743,
+ "eval_steps_per_second": 2.881,
+ "step": 420
+ },
+ {
+ "epoch": 3.75,
+ "grad_norm": 0.3417039799474373,
+ "learning_rate": 1.8778912443402242e-06,
+ "loss": 0.7972,
+ "step": 421
+ },
+ {
+ "epoch": 3.76,
+ "grad_norm": 0.36875255309045446,
+ "learning_rate": 1.7417619431845944e-06,
+ "loss": 0.6653,
+ "step": 422
+ },
+ {
+ "epoch": 3.77,
+ "grad_norm": 0.37727682021595976,
+ "learning_rate": 1.6107107738836835e-06,
+ "loss": 0.7994,
+ "step": 423
+ },
+ {
+ "epoch": 3.77,
+ "grad_norm": 0.3680295622641893,
+ "learning_rate": 1.4847445093567836e-06,
+ "loss": 0.7551,
+ "step": 424
+ },
+ {
+ "epoch": 3.78,
+ "grad_norm": 0.34533281482301054,
+ "learning_rate": 1.3638696597277679e-06,
+ "loss": 0.7416,
+ "step": 425
+ },
+ {
+ "epoch": 3.79,
+ "grad_norm": 0.3908807108284709,
+ "learning_rate": 1.2480924719885934e-06,
+ "loss": 0.7188,
+ "step": 426
+ },
+ {
+ "epoch": 3.8,
+ "grad_norm": 0.31916637760320243,
+ "learning_rate": 1.1374189296765037e-06,
+ "loss": 0.7594,
+ "step": 427
+ },
+ {
+ "epoch": 3.81,
+ "grad_norm": 0.33316597860051206,
+ "learning_rate": 1.0318547525647315e-06,
+ "loss": 0.7249,
+ "step": 428
+ },
+ {
+ "epoch": 3.82,
+ "grad_norm": 0.3416859037907314,
+ "learning_rate": 9.314053963669245e-07,
+ "loss": 0.8137,
+ "step": 429
+ },
+ {
+ "epoch": 3.83,
+ "grad_norm": 0.3166447199987983,
+ "learning_rate": 8.360760524551814e-07,
+ "loss": 0.7548,
+ "step": 430
+ },
+ {
+ "epoch": 3.84,
+ "grad_norm": 0.3678155762471668,
+ "learning_rate": 7.458716475917559e-07,
+ "loss": 0.6848,
+ "step": 431
+ },
+ {
+ "epoch": 3.85,
+ "grad_norm": 0.3564576656343474,
+ "learning_rate": 6.607968436744272e-07,
+ "loss": 0.7188,
+ "step": 432
+ },
+ {
+ "epoch": 3.85,
+ "grad_norm": 0.31739334088982646,
+ "learning_rate": 5.808560374955585e-07,
+ "loss": 0.6899,
+ "step": 433
+ },
+ {
+ "epoch": 3.86,
+ "grad_norm": 0.3517404847481434,
+ "learning_rate": 5.06053360514902e-07,
+ "loss": 0.7085,
+ "step": 434
+ },
+ {
+ "epoch": 3.87,
+ "grad_norm": 0.32714795923909773,
+ "learning_rate": 4.363926786460359e-07,
+ "loss": 0.8216,
+ "step": 435
+ },
+ {
+ "epoch": 3.88,
+ "grad_norm": 0.3635146713982181,
+ "learning_rate": 3.718775920565687e-07,
+ "loss": 0.7684,
+ "step": 436
+ },
+ {
+ "epoch": 3.89,
+ "grad_norm": 0.3419976870684463,
+ "learning_rate": 3.125114349821212e-07,
+ "loss": 0.7825,
+ "step": 437
+ },
+ {
+ "epoch": 3.9,
+ "grad_norm": 0.3872335456149991,
+ "learning_rate": 2.5829727555397584e-07,
+ "loss": 0.8252,
+ "step": 438
+ },
+ {
+ "epoch": 3.91,
+ "grad_norm": 0.3918700023496713,
+ "learning_rate": 2.0923791564050333e-07,
+ "loss": 0.6846,
+ "step": 439
+ },
+ {
+ "epoch": 3.92,
+ "grad_norm": 0.3039893808886515,
+ "learning_rate": 1.6533589070237832e-07,
+ "loss": 0.6893,
+ "step": 440
+ },
+ {
+ "epoch": 3.93,
+ "grad_norm": 0.2983095993470017,
+ "learning_rate": 1.2659346966152895e-07,
+ "loss": 0.7482,
+ "step": 441
+ },
+ {
+ "epoch": 3.93,
+ "grad_norm": 0.29173707821708994,
+ "learning_rate": 9.30126547838861e-08,
+ "loss": 0.8286,
+ "step": 442
+ },
+ {
+ "epoch": 3.94,
+ "grad_norm": 0.3410941283765189,
+ "learning_rate": 6.459518157591048e-08,
+ "loss": 0.7608,
+ "step": 443
+ },
+ {
+ "epoch": 3.95,
+ "grad_norm": 0.3551291216161622,
+ "learning_rate": 4.1342518694853506e-08,
+ "loss": 0.8346,
+ "step": 444
+ },
+ {
+ "epoch": 3.96,
+ "grad_norm": 0.340830105966026,
+ "learning_rate": 2.3255867872928882e-08,
+ "loss": 0.7388,
+ "step": 445
+ },
+ {
+ "epoch": 3.97,
+ "grad_norm": 0.3072115448848053,
+ "learning_rate": 1.0336163855129144e-08,
+ "loss": 0.842,
+ "step": 446
+ },
+ {
+ "epoch": 3.98,
+ "grad_norm": 0.3339675653700237,
+ "learning_rate": 2.5840743509863983e-09,
+ "loss": 0.7289,
+ "step": 447
+ },
+ {
+ "epoch": 3.99,
+ "grad_norm": 0.29581508154823644,
+ "learning_rate": 0.0,
+ "loss": 0.7461,
+ "step": 448
+ },
+ {
+ "epoch": 3.99,
+ "eval_loss": 1.2807621955871582,
+ "eval_runtime": 13.2308,
+ "eval_samples_per_second": 22.674,
+ "eval_steps_per_second": 2.872,
+ "step": 448
+ }
+ ],
+ "logging_steps": 1,
+ "max_steps": 448,
+ "num_input_tokens_seen": 0,
+ "num_train_epochs": 4,
+ "save_steps": 112,
+ "total_flos": 5.340598301349642e+17,
+ "train_batch_size": 2,
+ "trial_name": null,
+ "trial_params": null
+}
diff --git a/checkpoint-448/training_args.bin b/checkpoint-448/training_args.bin
new file mode 100644
index 0000000000000000000000000000000000000000..4992a3b445f8065303289f8a30d4fedc43285059
--- /dev/null
+++ b/checkpoint-448/training_args.bin
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d400c16f982c36b10268ff7e69e878c44d11f5fb692a61770a8e1efb50d4491c
+size 6776
diff --git a/checkpoint-448/zero_to_fp32.py b/checkpoint-448/zero_to_fp32.py
new file mode 100644
index 0000000000000000000000000000000000000000..49b846633d6eb1e836e34681e44033581f4edb7b
--- /dev/null
+++ b/checkpoint-448/zero_to_fp32.py
@@ -0,0 +1,592 @@
+#!/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 _has_callable(obj, fn):
+ attr = getattr(obj, fn, None)
+ return callable(attr)
+
+
+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() if _has_callable(shape, 'numel') else math.prod(shape)
+ 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/config.json b/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..8259cac845aa2eaa55cc7cc08d2d4de1aae197ec
--- /dev/null
+++ b/config.json
@@ -0,0 +1,43 @@
+{
+ "_name_or_path": "google/gemma-7b-it",
+ "architectures": [
+ "GemmaForCausalLM"
+ ],
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "bos_token_id": 2,
+ "eos_token_id": 1,
+ "head_dim": 256,
+ "hidden_act": "gelu",
+ "hidden_size": 3072,
+ "initializer_range": 0.02,
+ "intermediate_size": 24576,
+ "max_position_embeddings": 8192,
+ "model_type": "gemma",
+ "num_attention_heads": 16,
+ "num_hidden_layers": 28,
+ "num_key_value_heads": 16,
+ "pad_token_id": 0,
+ "quantization_config": {
+ "_load_in_4bit": true,
+ "_load_in_8bit": false,
+ "bnb_4bit_compute_dtype": "bfloat16",
+ "bnb_4bit_quant_storage": "uint8",
+ "bnb_4bit_quant_type": "nf4",
+ "bnb_4bit_use_double_quant": true,
+ "llm_int8_enable_fp32_cpu_offload": false,
+ "llm_int8_has_fp16_weight": false,
+ "llm_int8_skip_modules": null,
+ "llm_int8_threshold": 6.0,
+ "load_in_4bit": true,
+ "load_in_8bit": false,
+ "quant_method": "bitsandbytes"
+ },
+ "rms_norm_eps": 1e-06,
+ "rope_scaling": null,
+ "rope_theta": 10000.0,
+ "torch_dtype": "bfloat16",
+ "transformers_version": "4.39.0.dev0",
+ "use_cache": false,
+ "vocab_size": 256000
+}
diff --git a/merged/config.json b/merged/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..5cf635c5516ca060a95e347a8fd1d8b0e1719cbf
--- /dev/null
+++ b/merged/config.json
@@ -0,0 +1,28 @@
+{
+ "_name_or_path": "google/gemma-2b",
+ "architectures": [
+ "GemmaForCausalLM"
+ ],
+ "attention_bias": false,
+ "attention_dropout": 0.0,
+ "bos_token_id": 2,
+ "eos_token_id": 1,
+ "head_dim": 256,
+ "hidden_act": "gelu",
+ "hidden_size": 2048,
+ "initializer_range": 0.02,
+ "intermediate_size": 16384,
+ "max_position_embeddings": 8192,
+ "model_type": "gemma",
+ "num_attention_heads": 8,
+ "num_hidden_layers": 18,
+ "num_key_value_heads": 1,
+ "pad_token_id": 0,
+ "rms_norm_eps": 1e-06,
+ "rope_scaling": null,
+ "rope_theta": 10000.0,
+ "torch_dtype": "bfloat16",
+ "transformers_version": "4.39.0.dev0",
+ "use_cache": false,
+ "vocab_size": 256000
+}
diff --git a/merged/generation_config.json b/merged/generation_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6315b520e1541d5ac8d7c9fa201d06bdc5cc22ce
--- /dev/null
+++ b/merged/generation_config.json
@@ -0,0 +1,8 @@
+{
+ "_from_model_config": true,
+ "bos_token_id": 2,
+ "do_sample": true,
+ "eos_token_id": 1,
+ "pad_token_id": 0,
+ "transformers_version": "4.39.0.dev0"
+}
diff --git a/merged/pytorch_model-00001-of-00002.bin b/merged/pytorch_model-00001-of-00002.bin
new file mode 100644
index 0000000000000000000000000000000000000000..181a1825d468da8a4d705495b4c3fc068731c5f0
--- /dev/null
+++ b/merged/pytorch_model-00001-of-00002.bin
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fd397dcd6cec61c08e4380b576faa8636353e8bb163f5fee34d9a4daf0ad10c3
+size 4945278526
diff --git a/merged/pytorch_model-00002-of-00002.bin b/merged/pytorch_model-00002-of-00002.bin
new file mode 100644
index 0000000000000000000000000000000000000000..1ee0c70a98a1a349b85746d380c598818722b2c3
--- /dev/null
+++ b/merged/pytorch_model-00002-of-00002.bin
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:142db532ccdbd1654a08d9f48be8e8790be8660dd96a131697cadbd56691733c
+size 67123448
diff --git a/merged/pytorch_model.bin.index.json b/merged/pytorch_model.bin.index.json
new file mode 100644
index 0000000000000000000000000000000000000000..e4d9d71c0ce85807156139e7d4e24f1274f10700
--- /dev/null
+++ b/merged/pytorch_model.bin.index.json
@@ -0,0 +1,172 @@
+{
+ "metadata": {
+ "total_size": 5012344832
+ },
+ "weight_map": {
+ "lm_head.weight": "pytorch_model-00001-of-00002.bin",
+ "model.embed_tokens.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.0.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.0.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.0.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.0.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.0.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.0.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.0.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.0.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.0.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.1.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.1.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.1.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.1.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.1.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.1.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.1.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.1.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.1.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.10.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.10.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.10.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.10.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.10.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.10.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.10.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.10.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.10.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.11.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.11.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.11.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.11.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.11.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.11.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.11.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.11.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.11.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.12.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.12.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.12.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.12.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.12.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.12.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.12.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.12.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.12.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.13.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.13.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.13.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.13.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.13.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.13.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.13.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.13.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.13.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.14.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.14.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.14.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.14.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.14.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.14.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.14.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.14.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.14.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.15.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.15.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.15.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.15.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.15.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.15.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.15.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.15.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.15.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.16.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.16.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.16.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.16.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.16.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.16.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.16.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.16.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.16.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.17.input_layernorm.weight": "pytorch_model-00002-of-00002.bin",
+ "model.layers.17.mlp.down_proj.weight": "pytorch_model-00002-of-00002.bin",
+ "model.layers.17.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.17.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.17.post_attention_layernorm.weight": "pytorch_model-00002-of-00002.bin",
+ "model.layers.17.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.17.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.17.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.17.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.2.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.2.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.2.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.2.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.2.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.2.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.2.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.2.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.2.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.3.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.3.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.3.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.3.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.3.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.3.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.3.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.3.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.3.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.4.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.4.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.4.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.4.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.4.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.4.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.4.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.4.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.4.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.5.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.5.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.5.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.5.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.5.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.5.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.5.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.5.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.5.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.6.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.6.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.6.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.6.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.6.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.6.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.6.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.6.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.6.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.7.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.7.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.7.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.7.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.7.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.7.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.7.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.7.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.7.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.8.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.8.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.8.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.8.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.8.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.8.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.8.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.8.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.8.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.9.input_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.9.mlp.down_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.9.mlp.gate_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.9.mlp.up_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.9.post_attention_layernorm.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.9.self_attn.k_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.9.self_attn.o_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.9.self_attn.q_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.layers.9.self_attn.v_proj.weight": "pytorch_model-00001-of-00002.bin",
+ "model.norm.weight": "pytorch_model-00002-of-00002.bin"
+ }
+}
diff --git a/merged/special_tokens_map.json b/merged/special_tokens_map.json
new file mode 100644
index 0000000000000000000000000000000000000000..f6119589e367b2de0fc8cbd2f1217667532e3174
--- /dev/null
+++ b/merged/special_tokens_map.json
@@ -0,0 +1,30 @@
+{
+ "bos_token": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false
+ },
+ "eos_token": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false
+ },
+ "pad_token": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false
+ },
+ "unk_token": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false
+ }
+}
diff --git a/merged/tokenizer.json b/merged/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..7d526fa4a2fc483e768773df90a944b54094e367
--- /dev/null
+++ b/merged/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d0d908b4f9326e0998815690e325b6abbd378978553e10627924dd825db7e243
+size 17477553
diff --git a/merged/tokenizer.model b/merged/tokenizer.model
new file mode 100644
index 0000000000000000000000000000000000000000..796efe9ab515c15e146ce7588e6d7b9b8134dbf8
--- /dev/null
+++ b/merged/tokenizer.model
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:61a7b147390c64585d6c3543dd6fc636906c9af3865a5548f27f31aee1d4c8e2
+size 4241003
diff --git a/merged/tokenizer_config.json b/merged/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..c22f33ac79a1ea3d99aa4e2c78d2379d98747f72
--- /dev/null
+++ b/merged/tokenizer_config.json
@@ -0,0 +1,49 @@
+{
+ "add_bos_token": true,
+ "add_eos_token": false,
+ "added_tokens_decoder": {
+ "0": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ },
+ "1": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ },
+ "2": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ },
+ "3": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ }
+ },
+ "bos_token": "",
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "",
+ "legacy": null,
+ "model_max_length": 1000000000000000019884624838656,
+ "pad_token": "",
+ "sp_model_kwargs": {},
+ "spaces_between_special_tokens": false,
+ "tokenizer_class": "GemmaTokenizer",
+ "unk_token": "",
+ "use_default_system_prompt": false
+}
diff --git a/runs/Mar21_07-07-55_8205afe3ecd2/events.out.tfevents.1711004877.8205afe3ecd2.2618.0 b/runs/Mar21_07-07-55_8205afe3ecd2/events.out.tfevents.1711004877.8205afe3ecd2.2618.0
new file mode 100644
index 0000000000000000000000000000000000000000..30668ca1217577b22669b6e1fdd436ce13067833
--- /dev/null
+++ b/runs/Mar21_07-07-55_8205afe3ecd2/events.out.tfevents.1711004877.8205afe3ecd2.2618.0
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6d38690a2d000335f0399b91add00dcb371cb0a32b1af3354dc3bb1227c471f2
+size 104837
diff --git a/special_tokens_map.json b/special_tokens_map.json
new file mode 100644
index 0000000000000000000000000000000000000000..8d6368f7e735fbe4781bf6e956b7c6ad0586df80
--- /dev/null
+++ b/special_tokens_map.json
@@ -0,0 +1,34 @@
+{
+ "additional_special_tokens": [
+ "",
+ ""
+ ],
+ "bos_token": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false
+ },
+ "eos_token": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false
+ },
+ "pad_token": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false
+ },
+ "unk_token": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false
+ }
+}
diff --git a/tokenizer.json b/tokenizer.json
new file mode 100644
index 0000000000000000000000000000000000000000..10d1ca087d5e78cbfc41ae083201df86aa031044
--- /dev/null
+++ b/tokenizer.json
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:05e97791a5e007260de1db7e1692e53150e08cea481e2bf25435553380c147ee
+size 17477929
diff --git a/tokenizer.model b/tokenizer.model
new file mode 100644
index 0000000000000000000000000000000000000000..796efe9ab515c15e146ce7588e6d7b9b8134dbf8
--- /dev/null
+++ b/tokenizer.model
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:61a7b147390c64585d6c3543dd6fc636906c9af3865a5548f27f31aee1d4c8e2
+size 4241003
diff --git a/tokenizer_config.json b/tokenizer_config.json
new file mode 100644
index 0000000000000000000000000000000000000000..1451ca400a880c5056ab40cb960930cf827de2de
--- /dev/null
+++ b/tokenizer_config.json
@@ -0,0 +1,70 @@
+{
+ "add_bos_token": true,
+ "add_eos_token": false,
+ "added_tokens_decoder": {
+ "0": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ },
+ "1": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ },
+ "2": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ },
+ "3": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ },
+ "106": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ },
+ "107": {
+ "content": "",
+ "lstrip": false,
+ "normalized": false,
+ "rstrip": false,
+ "single_word": false,
+ "special": true
+ }
+ },
+ "additional_special_tokens": [
+ "",
+ ""
+ ],
+ "bos_token": "",
+ "chat_template": "{{ bos_token }}{% if messages[0]['role'] == 'system' %}{{ raise_exception('System role not supported') }}{% endif %}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if (message['role'] == 'assistant') %}{% set role = 'model' %}{% else %}{% set role = message['role'] %}{% endif %}{{ '' + role + '\n' + message['content'] | trim + '\n' }}{% endfor %}{% if add_generation_prompt %}{{'model\n'}}{% endif %}",
+ "clean_up_tokenization_spaces": false,
+ "eos_token": "",
+ "legacy": null,
+ "model_max_length": 1000000000000000019884624838656,
+ "pad_token": "",
+ "sp_model_kwargs": {},
+ "spaces_between_special_tokens": false,
+ "tokenizer_class": "GemmaTokenizer",
+ "unk_token": "",
+ "use_default_system_prompt": false
+}