commit dd42342ccadcae9ad597faa9bce99f249d2f4653 Author: ModelHub XC Date: Fri May 15 15:08:49 2026 +0800 初始化项目,由ModelHub XC社区提供模型 Model: SidhaarthMurali/llama3.2-1b-gsm8k-full Source: Original Platform diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..cb7fa69 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,40 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz 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 +checkpoint-1000/tokenizer.json filter=lfs diff=lfs merge=lfs -text +checkpoint-1500/tokenizer.json filter=lfs diff=lfs merge=lfs -text +checkpoint-1632/tokenizer.json filter=lfs diff=lfs merge=lfs -text +checkpoint-500/tokenizer.json filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text diff --git a/.ipynb_checkpoints/training_loss-checkpoint.png b/.ipynb_checkpoints/training_loss-checkpoint.png new file mode 100644 index 0000000..27c4983 Binary files /dev/null and b/.ipynb_checkpoints/training_loss-checkpoint.png differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..23e2df5 --- /dev/null +++ b/README.md @@ -0,0 +1,59 @@ +--- +library_name: transformers +license: other +base_model: meta-llama/Llama-3.2-1B +tags: +- llama-factory +- full +- generated_from_trainer +model-index: +- name: gsm8k + results: [] +--- + + + +# gsm8k + +This model is a fine-tuned version of [meta-llama/Llama-3.2-1B](https://huggingface.co/meta-llama/Llama-3.2-1B) on the identity and the gsm8k datasets. + +## 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: 1e-05 +- train_batch_size: 1 +- eval_batch_size: 8 +- seed: 42 +- distributed_type: multi-GPU +- gradient_accumulation_steps: 2 +- total_train_batch_size: 2 +- optimizer: Use OptimizerNames.ADAMW_TORCH with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments +- lr_scheduler_type: cosine +- lr_scheduler_warmup_ratio: 0.1 +- num_epochs: 3.0 + +### Training results + + + +### Framework versions + +- Transformers 4.46.1 +- Pytorch 2.4.0 +- Datasets 3.1.0 +- Tokenizers 0.20.3 diff --git a/all_results.json b/all_results.json new file mode 100644 index 0000000..3961629 --- /dev/null +++ b/all_results.json @@ -0,0 +1,8 @@ +{ + "epoch": 3.0, + "total_flos": 246796222464.0, + "train_loss": 0.3023774076490572, + "train_runtime": 943.8917, + "train_samples_per_second": 3.458, + "train_steps_per_second": 1.729 +} \ No newline at end of file diff --git a/checkpoint-1000/config.json b/checkpoint-1000/config.json new file mode 100644 index 0000000..5a1694f --- /dev/null +++ b/checkpoint-1000/config.json @@ -0,0 +1,36 @@ +{ + "_name_or_path": "meta-llama/Llama-3.2-1B", + "architectures": [ + "LlamaForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 128000, + "eos_token_id": 128001, + "head_dim": 64, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 8192, + "max_position_embeddings": 131072, + "mlp_bias": false, + "model_type": "llama", + "num_attention_heads": 32, + "num_hidden_layers": 16, + "num_key_value_heads": 8, + "pretraining_tp": 1, + "rms_norm_eps": 1e-05, + "rope_scaling": { + "factor": 32.0, + "high_freq_factor": 4.0, + "low_freq_factor": 1.0, + "original_max_position_embeddings": 8192, + "rope_type": "llama3" + }, + "rope_theta": 500000.0, + "tie_word_embeddings": true, + "torch_dtype": "bfloat16", + "transformers_version": "4.46.1", + "use_cache": false, + "vocab_size": 128256 +} diff --git a/checkpoint-1000/generation_config.json b/checkpoint-1000/generation_config.json new file mode 100644 index 0000000..eab5082 --- /dev/null +++ b/checkpoint-1000/generation_config.json @@ -0,0 +1,9 @@ +{ + "_from_model_config": true, + "bos_token_id": 128000, + "do_sample": true, + "eos_token_id": 128001, + "temperature": 0.6, + "top_p": 0.9, + "transformers_version": "4.46.1" +} diff --git a/checkpoint-1000/global_step1000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/checkpoint-1000/global_step1000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000..b6bc66f --- /dev/null +++ b/checkpoint-1000/global_step1000/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:892c2d03db456ff21170b647f052b0cf6e1352777d6d579d4beddc9a855b4675 +size 14829779262 diff --git a/checkpoint-1000/global_step1000/zero_pp_rank_0_mp_rank_00_model_states.pt b/checkpoint-1000/global_step1000/zero_pp_rank_0_mp_rank_00_model_states.pt new file mode 100644 index 0000000..9dd7b18 --- /dev/null +++ b/checkpoint-1000/global_step1000/zero_pp_rank_0_mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a04be0563c5f386492666542da6a8d1e4c6a1a9682f2b7a829686ba673404cb +size 76664 diff --git a/checkpoint-1000/latest b/checkpoint-1000/latest new file mode 100644 index 0000000..e2d3435 --- /dev/null +++ b/checkpoint-1000/latest @@ -0,0 +1 @@ +global_step1000 \ No newline at end of file diff --git a/checkpoint-1000/model.safetensors b/checkpoint-1000/model.safetensors new file mode 100644 index 0000000..d102971 --- /dev/null +++ b/checkpoint-1000/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58f6ff8a12bf515c19d967824c18ff17da812fd6da6052cac5f0ecfb939257fc +size 2471645608 diff --git a/checkpoint-1000/rng_state.pth b/checkpoint-1000/rng_state.pth new file mode 100644 index 0000000..4a3bd2e --- /dev/null +++ b/checkpoint-1000/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c733f603eddfbf8aea2db46dfb96d2d44052ea3c8d772ba82a9011002700581 +size 14244 diff --git a/checkpoint-1000/scheduler.pt b/checkpoint-1000/scheduler.pt new file mode 100644 index 0000000..1938310 --- /dev/null +++ b/checkpoint-1000/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37c48f28ae63964e8f5659d7f3fce20932fb92cf5ae691f29ab80ac40fc0fdab +size 1064 diff --git a/checkpoint-1000/special_tokens_map.json b/checkpoint-1000/special_tokens_map.json new file mode 100644 index 0000000..426a800 --- /dev/null +++ b/checkpoint-1000/special_tokens_map.json @@ -0,0 +1,33 @@ +{ + "additional_special_tokens": [ + { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } + ], + "bos_token": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": "<|end_of_text|>" +} diff --git a/checkpoint-1000/tokenizer.json b/checkpoint-1000/tokenizer.json new file mode 100644 index 0000000..1c1d8d5 --- /dev/null +++ b/checkpoint-1000/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b9e4e7fb171f92fd137b777cc2714bf87d11576700a1dcd7a399e7bbe39537b +size 17209920 diff --git a/checkpoint-1000/tokenizer_config.json b/checkpoint-1000/tokenizer_config.json new file mode 100644 index 0000000..3a8f322 --- /dev/null +++ b/checkpoint-1000/tokenizer_config.json @@ -0,0 +1,2069 @@ +{ + "added_tokens_decoder": { + "128000": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128001": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128002": { + "content": "<|reserved_special_token_0|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128003": { + "content": "<|reserved_special_token_1|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128004": { + "content": "<|finetune_right_pad_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128005": { + "content": "<|reserved_special_token_2|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128006": { + "content": "<|start_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128007": { + "content": "<|end_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128008": { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128009": { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128010": { + "content": "<|python_tag|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128011": { + "content": "<|reserved_special_token_3|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128012": { + "content": "<|reserved_special_token_4|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128013": { + "content": "<|reserved_special_token_5|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128014": { + "content": "<|reserved_special_token_6|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128015": { + "content": "<|reserved_special_token_7|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128016": { + "content": "<|reserved_special_token_8|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128017": { + "content": "<|reserved_special_token_9|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128018": { + "content": "<|reserved_special_token_10|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128019": { + "content": "<|reserved_special_token_11|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128020": { + "content": "<|reserved_special_token_12|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128021": { + "content": "<|reserved_special_token_13|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128022": { + "content": "<|reserved_special_token_14|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128023": { + "content": "<|reserved_special_token_15|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128024": { + "content": "<|reserved_special_token_16|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128025": { + "content": "<|reserved_special_token_17|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128026": { + "content": "<|reserved_special_token_18|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128027": { + "content": "<|reserved_special_token_19|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128028": { + "content": "<|reserved_special_token_20|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128029": { + "content": "<|reserved_special_token_21|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128030": { + "content": "<|reserved_special_token_22|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128031": { + "content": "<|reserved_special_token_23|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128032": { + "content": "<|reserved_special_token_24|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128033": { + "content": "<|reserved_special_token_25|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128034": { + "content": "<|reserved_special_token_26|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128035": { + "content": "<|reserved_special_token_27|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128036": { + "content": "<|reserved_special_token_28|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128037": { + "content": "<|reserved_special_token_29|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128038": { + "content": "<|reserved_special_token_30|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128039": { + "content": "<|reserved_special_token_31|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128040": { + "content": "<|reserved_special_token_32|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128041": { + "content": "<|reserved_special_token_33|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128042": { + "content": "<|reserved_special_token_34|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128043": { + "content": "<|reserved_special_token_35|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128044": { + "content": "<|reserved_special_token_36|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128045": { + "content": "<|reserved_special_token_37|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128046": { + "content": "<|reserved_special_token_38|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128047": { + "content": "<|reserved_special_token_39|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128048": { + "content": "<|reserved_special_token_40|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128049": { + "content": "<|reserved_special_token_41|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128050": { + "content": "<|reserved_special_token_42|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128051": { + "content": "<|reserved_special_token_43|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128052": { + "content": "<|reserved_special_token_44|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128053": { + "content": "<|reserved_special_token_45|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128054": { + "content": "<|reserved_special_token_46|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128055": { + "content": "<|reserved_special_token_47|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128056": { + "content": "<|reserved_special_token_48|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128057": { + "content": "<|reserved_special_token_49|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128058": { + "content": "<|reserved_special_token_50|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128059": { + "content": "<|reserved_special_token_51|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128060": { + "content": "<|reserved_special_token_52|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128061": { + "content": "<|reserved_special_token_53|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128062": { + "content": "<|reserved_special_token_54|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128063": { + "content": "<|reserved_special_token_55|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128064": { + "content": "<|reserved_special_token_56|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128065": { + "content": "<|reserved_special_token_57|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128066": { + "content": "<|reserved_special_token_58|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128067": { + "content": "<|reserved_special_token_59|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128068": { + "content": "<|reserved_special_token_60|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128069": { + "content": "<|reserved_special_token_61|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128070": { + "content": "<|reserved_special_token_62|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128071": { + "content": "<|reserved_special_token_63|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128072": { + "content": "<|reserved_special_token_64|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128073": { + "content": "<|reserved_special_token_65|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128074": { + "content": "<|reserved_special_token_66|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128075": { + "content": "<|reserved_special_token_67|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128076": { + "content": "<|reserved_special_token_68|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128077": { + "content": "<|reserved_special_token_69|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128078": { + "content": "<|reserved_special_token_70|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128079": { + "content": "<|reserved_special_token_71|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128080": { + "content": "<|reserved_special_token_72|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128081": { + "content": "<|reserved_special_token_73|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128082": { + "content": "<|reserved_special_token_74|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128083": { + "content": "<|reserved_special_token_75|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128084": { + "content": "<|reserved_special_token_76|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128085": { + "content": "<|reserved_special_token_77|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128086": { + "content": "<|reserved_special_token_78|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128087": { + "content": "<|reserved_special_token_79|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128088": { + "content": "<|reserved_special_token_80|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128089": { + "content": "<|reserved_special_token_81|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128090": { + "content": "<|reserved_special_token_82|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128091": { + "content": "<|reserved_special_token_83|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128092": { + "content": "<|reserved_special_token_84|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128093": { + "content": "<|reserved_special_token_85|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128094": { + "content": "<|reserved_special_token_86|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128095": { + "content": "<|reserved_special_token_87|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128096": { + "content": "<|reserved_special_token_88|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128097": { + "content": "<|reserved_special_token_89|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128098": { + "content": "<|reserved_special_token_90|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128099": { + "content": "<|reserved_special_token_91|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128100": { + "content": "<|reserved_special_token_92|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128101": { + "content": "<|reserved_special_token_93|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128102": { + "content": "<|reserved_special_token_94|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128103": { + "content": "<|reserved_special_token_95|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128104": { + "content": "<|reserved_special_token_96|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128105": { + "content": "<|reserved_special_token_97|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128106": { + "content": "<|reserved_special_token_98|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128107": { + "content": "<|reserved_special_token_99|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128108": { + "content": "<|reserved_special_token_100|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128109": { + "content": "<|reserved_special_token_101|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128110": { + "content": "<|reserved_special_token_102|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128111": { + "content": "<|reserved_special_token_103|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128112": { + "content": "<|reserved_special_token_104|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128113": { + "content": "<|reserved_special_token_105|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128114": { + "content": "<|reserved_special_token_106|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128115": { + "content": "<|reserved_special_token_107|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128116": { + "content": "<|reserved_special_token_108|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128117": { + "content": "<|reserved_special_token_109|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128118": { + "content": "<|reserved_special_token_110|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128119": { + "content": "<|reserved_special_token_111|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128120": { + "content": "<|reserved_special_token_112|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128121": { + "content": "<|reserved_special_token_113|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128122": { + "content": "<|reserved_special_token_114|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128123": { + "content": "<|reserved_special_token_115|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128124": { + "content": "<|reserved_special_token_116|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128125": { + "content": "<|reserved_special_token_117|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128126": { + "content": "<|reserved_special_token_118|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128127": { + "content": "<|reserved_special_token_119|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128128": { + "content": "<|reserved_special_token_120|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128129": { + "content": "<|reserved_special_token_121|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128130": { + "content": "<|reserved_special_token_122|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128131": { + "content": "<|reserved_special_token_123|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128132": { + "content": "<|reserved_special_token_124|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128133": { + "content": "<|reserved_special_token_125|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128134": { + "content": "<|reserved_special_token_126|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128135": { + "content": "<|reserved_special_token_127|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128136": { + "content": "<|reserved_special_token_128|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128137": { + "content": "<|reserved_special_token_129|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128138": { + "content": "<|reserved_special_token_130|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128139": { + "content": "<|reserved_special_token_131|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128140": { + "content": "<|reserved_special_token_132|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128141": { + "content": "<|reserved_special_token_133|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128142": { + "content": "<|reserved_special_token_134|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128143": { + "content": "<|reserved_special_token_135|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128144": { + "content": "<|reserved_special_token_136|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128145": { + "content": "<|reserved_special_token_137|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128146": { + "content": "<|reserved_special_token_138|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128147": { + "content": "<|reserved_special_token_139|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128148": { + "content": "<|reserved_special_token_140|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128149": { + "content": "<|reserved_special_token_141|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128150": { + "content": "<|reserved_special_token_142|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128151": { + "content": "<|reserved_special_token_143|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128152": { + "content": "<|reserved_special_token_144|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128153": { + "content": "<|reserved_special_token_145|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128154": { + "content": "<|reserved_special_token_146|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128155": { + "content": "<|reserved_special_token_147|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128156": { + "content": "<|reserved_special_token_148|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128157": { + "content": "<|reserved_special_token_149|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128158": { + "content": "<|reserved_special_token_150|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128159": { + "content": "<|reserved_special_token_151|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128160": { + "content": "<|reserved_special_token_152|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128161": { + "content": "<|reserved_special_token_153|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128162": { + "content": "<|reserved_special_token_154|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128163": { + "content": "<|reserved_special_token_155|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128164": { + "content": "<|reserved_special_token_156|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128165": { + "content": "<|reserved_special_token_157|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128166": { + "content": "<|reserved_special_token_158|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128167": { + "content": "<|reserved_special_token_159|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128168": { + "content": "<|reserved_special_token_160|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128169": { + "content": "<|reserved_special_token_161|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128170": { + "content": "<|reserved_special_token_162|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128171": { + "content": "<|reserved_special_token_163|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128172": { + "content": "<|reserved_special_token_164|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128173": { + "content": "<|reserved_special_token_165|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128174": { + "content": "<|reserved_special_token_166|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128175": { + "content": "<|reserved_special_token_167|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128176": { + "content": "<|reserved_special_token_168|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128177": { + "content": "<|reserved_special_token_169|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128178": { + "content": "<|reserved_special_token_170|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128179": { + "content": "<|reserved_special_token_171|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128180": { + "content": "<|reserved_special_token_172|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128181": { + "content": "<|reserved_special_token_173|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128182": { + "content": "<|reserved_special_token_174|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128183": { + "content": "<|reserved_special_token_175|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128184": { + "content": "<|reserved_special_token_176|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128185": { + "content": "<|reserved_special_token_177|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128186": { + "content": "<|reserved_special_token_178|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128187": { + "content": "<|reserved_special_token_179|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128188": { + "content": "<|reserved_special_token_180|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128189": { + "content": "<|reserved_special_token_181|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128190": { + "content": "<|reserved_special_token_182|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128191": { + "content": "<|reserved_special_token_183|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128192": { + "content": "<|reserved_special_token_184|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128193": { + "content": "<|reserved_special_token_185|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128194": { + "content": "<|reserved_special_token_186|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128195": { + "content": "<|reserved_special_token_187|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128196": { + "content": "<|reserved_special_token_188|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128197": { + "content": "<|reserved_special_token_189|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128198": { + "content": "<|reserved_special_token_190|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128199": { + "content": "<|reserved_special_token_191|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128200": { + "content": "<|reserved_special_token_192|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128201": { + "content": "<|reserved_special_token_193|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128202": { + "content": "<|reserved_special_token_194|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128203": { + "content": "<|reserved_special_token_195|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128204": { + "content": "<|reserved_special_token_196|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128205": { + "content": "<|reserved_special_token_197|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128206": { + "content": "<|reserved_special_token_198|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128207": { + "content": "<|reserved_special_token_199|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128208": { + "content": "<|reserved_special_token_200|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128209": { + "content": "<|reserved_special_token_201|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128210": { + "content": "<|reserved_special_token_202|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128211": { + "content": "<|reserved_special_token_203|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128212": { + "content": "<|reserved_special_token_204|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128213": { + "content": "<|reserved_special_token_205|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128214": { + "content": "<|reserved_special_token_206|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128215": { + "content": "<|reserved_special_token_207|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128216": { + "content": "<|reserved_special_token_208|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128217": { + "content": "<|reserved_special_token_209|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128218": { + "content": "<|reserved_special_token_210|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128219": { + "content": "<|reserved_special_token_211|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128220": { + "content": "<|reserved_special_token_212|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128221": { + "content": "<|reserved_special_token_213|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128222": { + "content": "<|reserved_special_token_214|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128223": { + "content": "<|reserved_special_token_215|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128224": { + "content": "<|reserved_special_token_216|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128225": { + "content": "<|reserved_special_token_217|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128226": { + "content": "<|reserved_special_token_218|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128227": { + "content": "<|reserved_special_token_219|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128228": { + "content": "<|reserved_special_token_220|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128229": { + "content": "<|reserved_special_token_221|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128230": { + "content": "<|reserved_special_token_222|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128231": { + "content": "<|reserved_special_token_223|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128232": { + "content": "<|reserved_special_token_224|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128233": { + "content": "<|reserved_special_token_225|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128234": { + "content": "<|reserved_special_token_226|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128235": { + "content": "<|reserved_special_token_227|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128236": { + "content": "<|reserved_special_token_228|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128237": { + "content": "<|reserved_special_token_229|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128238": { + "content": "<|reserved_special_token_230|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128239": { + "content": "<|reserved_special_token_231|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128240": { + "content": "<|reserved_special_token_232|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128241": { + "content": "<|reserved_special_token_233|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128242": { + "content": "<|reserved_special_token_234|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128243": { + "content": "<|reserved_special_token_235|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128244": { + "content": "<|reserved_special_token_236|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128245": { + "content": "<|reserved_special_token_237|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128246": { + "content": "<|reserved_special_token_238|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128247": { + "content": "<|reserved_special_token_239|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128248": { + "content": "<|reserved_special_token_240|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128249": { + "content": "<|reserved_special_token_241|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128250": { + "content": "<|reserved_special_token_242|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128251": { + "content": "<|reserved_special_token_243|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128252": { + "content": "<|reserved_special_token_244|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128253": { + "content": "<|reserved_special_token_245|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128254": { + "content": "<|reserved_special_token_246|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128255": { + "content": "<|reserved_special_token_247|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [ + "<|eot_id|>", + "<|eom_id|>" + ], + "bos_token": "<|begin_of_text|>", + "chat_template": "{{ '<|begin_of_text|>' }}{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% endif %}{% if system_message is defined %}{{ '<|start_header_id|>system<|end_header_id|>\n\n' + system_message + '<|eot_id|>' }}{% endif %}{% for message in loop_messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ '<|start_header_id|>user<|end_header_id|>\n\n' + content + '<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n' }}{% elif message['role'] == 'assistant' %}{{ content + '<|eot_id|>' }}{% endif %}{% endfor %}", + "clean_up_tokenization_spaces": true, + "eos_token": "<|end_of_text|>", + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 2048, + "pad_token": "<|end_of_text|>", + "padding_side": "right", + "split_special_tokens": false, + "tokenizer_class": "PreTrainedTokenizerFast" +} diff --git a/checkpoint-1000/trainer_state.json b/checkpoint-1000/trainer_state.json new file mode 100644 index 0000000..86b842f --- /dev/null +++ b/checkpoint-1000/trainer_state.json @@ -0,0 +1,733 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 1.8382352941176472, + "eval_steps": 500, + "global_step": 1000, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.01838235294117647, + "grad_norm": 24.461347652326168, + "learning_rate": 6.097560975609757e-07, + "loss": 1.2036, + "step": 10 + }, + { + "epoch": 0.03676470588235294, + "grad_norm": 17.308880580961944, + "learning_rate": 1.2195121951219514e-06, + "loss": 1.2064, + "step": 20 + }, + { + "epoch": 0.05514705882352941, + "grad_norm": 29.601720546719697, + "learning_rate": 1.8292682926829268e-06, + "loss": 1.2741, + "step": 30 + }, + { + "epoch": 0.07352941176470588, + "grad_norm": 14.115818236245202, + "learning_rate": 2.4390243902439027e-06, + "loss": 0.7596, + "step": 40 + }, + { + "epoch": 0.09191176470588236, + "grad_norm": 21.73939509164672, + "learning_rate": 3.0487804878048782e-06, + "loss": 0.6171, + "step": 50 + }, + { + "epoch": 0.11029411764705882, + "grad_norm": 16.96116387460838, + "learning_rate": 3.6585365853658537e-06, + "loss": 0.794, + "step": 60 + }, + { + "epoch": 0.12867647058823528, + "grad_norm": 15.372652400517632, + "learning_rate": 4.268292682926829e-06, + "loss": 0.6233, + "step": 70 + }, + { + "epoch": 0.14705882352941177, + "grad_norm": 15.062285237489078, + "learning_rate": 4.8780487804878055e-06, + "loss": 0.5441, + "step": 80 + }, + { + "epoch": 0.16544117647058823, + "grad_norm": 18.632304280702545, + "learning_rate": 5.487804878048781e-06, + "loss": 0.5784, + "step": 90 + }, + { + "epoch": 0.18382352941176472, + "grad_norm": 13.945519044585177, + "learning_rate": 6.0975609756097564e-06, + "loss": 0.4844, + "step": 100 + }, + { + "epoch": 0.20220588235294118, + "grad_norm": 6.9751627817275, + "learning_rate": 6.707317073170733e-06, + "loss": 0.6535, + "step": 110 + }, + { + "epoch": 0.22058823529411764, + "grad_norm": 25.188175477401735, + "learning_rate": 7.317073170731707e-06, + "loss": 0.6897, + "step": 120 + }, + { + "epoch": 0.23897058823529413, + "grad_norm": 14.572936912172068, + "learning_rate": 7.926829268292685e-06, + "loss": 0.4217, + "step": 130 + }, + { + "epoch": 0.25735294117647056, + "grad_norm": 14.934836192557746, + "learning_rate": 8.536585365853658e-06, + "loss": 0.5868, + "step": 140 + }, + { + "epoch": 0.2757352941176471, + "grad_norm": 11.450309910668999, + "learning_rate": 9.146341463414635e-06, + "loss": 0.53, + "step": 150 + }, + { + "epoch": 0.29411764705882354, + "grad_norm": 21.677329690439954, + "learning_rate": 9.756097560975611e-06, + "loss": 0.5538, + "step": 160 + }, + { + "epoch": 0.3125, + "grad_norm": 13.221017712308962, + "learning_rate": 9.999587822598768e-06, + "loss": 0.4616, + "step": 170 + }, + { + "epoch": 0.33088235294117646, + "grad_norm": 17.10580370679984, + "learning_rate": 9.997069206794246e-06, + "loss": 0.5633, + "step": 180 + }, + { + "epoch": 0.3492647058823529, + "grad_norm": 12.4225156252439, + "learning_rate": 9.992262114666653e-06, + "loss": 0.6035, + "step": 190 + }, + { + "epoch": 0.36764705882352944, + "grad_norm": 9.012606555821149, + "learning_rate": 9.985168747689706e-06, + "loss": 0.5822, + "step": 200 + }, + { + "epoch": 0.3860294117647059, + "grad_norm": 7.876601539287651, + "learning_rate": 9.975792354368019e-06, + "loss": 0.3755, + "step": 210 + }, + { + "epoch": 0.40441176470588236, + "grad_norm": 6.10882571982772, + "learning_rate": 9.964137228749409e-06, + "loss": 0.4914, + "step": 220 + }, + { + "epoch": 0.4227941176470588, + "grad_norm": 6.537974128609375, + "learning_rate": 9.950208708458371e-06, + "loss": 0.4604, + "step": 230 + }, + { + "epoch": 0.4411764705882353, + "grad_norm": 7.108775542718406, + "learning_rate": 9.934013172251654e-06, + "loss": 0.5029, + "step": 240 + }, + { + "epoch": 0.45955882352941174, + "grad_norm": 13.652621643454376, + "learning_rate": 9.915558037097003e-06, + "loss": 0.5404, + "step": 250 + }, + { + "epoch": 0.47794117647058826, + "grad_norm": 9.685271320615122, + "learning_rate": 9.894851754776473e-06, + "loss": 0.3555, + "step": 260 + }, + { + "epoch": 0.4963235294117647, + "grad_norm": 10.504810722270348, + "learning_rate": 9.871903808015812e-06, + "loss": 0.4092, + "step": 270 + }, + { + "epoch": 0.5147058823529411, + "grad_norm": 12.557835687927717, + "learning_rate": 9.846724706141718e-06, + "loss": 0.4489, + "step": 280 + }, + { + "epoch": 0.5330882352941176, + "grad_norm": 19.32420837447236, + "learning_rate": 9.819325980268946e-06, + "loss": 0.5297, + "step": 290 + }, + { + "epoch": 0.5514705882352942, + "grad_norm": 12.56688753149935, + "learning_rate": 9.789720178019483e-06, + "loss": 0.4301, + "step": 300 + }, + { + "epoch": 0.5698529411764706, + "grad_norm": 8.769304725602016, + "learning_rate": 9.757920857776188e-06, + "loss": 0.5499, + "step": 310 + }, + { + "epoch": 0.5882352941176471, + "grad_norm": 6.742725850222398, + "learning_rate": 9.723942582473545e-06, + "loss": 0.3723, + "step": 320 + }, + { + "epoch": 0.6066176470588235, + "grad_norm": 32.81061857477797, + "learning_rate": 9.687800912928362e-06, + "loss": 0.6103, + "step": 330 + }, + { + "epoch": 0.625, + "grad_norm": 7.250155807815409, + "learning_rate": 9.649512400713497e-06, + "loss": 0.5561, + "step": 340 + }, + { + "epoch": 0.6433823529411765, + "grad_norm": 8.449295772111478, + "learning_rate": 9.609094580577825e-06, + "loss": 0.4384, + "step": 350 + }, + { + "epoch": 0.6617647058823529, + "grad_norm": 8.965901929446623, + "learning_rate": 9.566565962415958e-06, + "loss": 0.492, + "step": 360 + }, + { + "epoch": 0.6801470588235294, + "grad_norm": 10.783592668291883, + "learning_rate": 9.521946022791402e-06, + "loss": 0.5596, + "step": 370 + }, + { + "epoch": 0.6985294117647058, + "grad_norm": 6.524203722153494, + "learning_rate": 9.475255196016972e-06, + "loss": 0.4657, + "step": 380 + }, + { + "epoch": 0.7169117647058824, + "grad_norm": 6.844495651307719, + "learning_rate": 9.426514864796648e-06, + "loss": 0.547, + "step": 390 + }, + { + "epoch": 0.7352941176470589, + "grad_norm": 7.093995062440304, + "learning_rate": 9.375747350433044e-06, + "loss": 0.4821, + "step": 400 + }, + { + "epoch": 0.7536764705882353, + "grad_norm": 13.008619062718342, + "learning_rate": 9.322975902605082e-06, + "loss": 0.3627, + "step": 410 + }, + { + "epoch": 0.7720588235294118, + "grad_norm": 7.658314017103231, + "learning_rate": 9.268224688720475e-06, + "loss": 0.2779, + "step": 420 + }, + { + "epoch": 0.7904411764705882, + "grad_norm": 9.961772688539515, + "learning_rate": 9.211518782847932e-06, + "loss": 0.684, + "step": 430 + }, + { + "epoch": 0.8088235294117647, + "grad_norm": 5.184448250813704, + "learning_rate": 9.152884154234147e-06, + "loss": 0.3829, + "step": 440 + }, + { + "epoch": 0.8272058823529411, + "grad_norm": 16.899974205034713, + "learning_rate": 9.092347655410818e-06, + "loss": 0.409, + "step": 450 + }, + { + "epoch": 0.8455882352941176, + "grad_norm": 9.123647569900998, + "learning_rate": 9.029937009897176e-06, + "loss": 0.4189, + "step": 460 + }, + { + "epoch": 0.8639705882352942, + "grad_norm": 14.941661911314725, + "learning_rate": 8.96568079950361e-06, + "loss": 0.4846, + "step": 470 + }, + { + "epoch": 0.8823529411764706, + "grad_norm": 6.576553080941865, + "learning_rate": 8.899608451242233e-06, + "loss": 0.4869, + "step": 480 + }, + { + "epoch": 0.9007352941176471, + "grad_norm": 9.989273508498824, + "learning_rate": 8.83175022385039e-06, + "loss": 0.368, + "step": 490 + }, + { + "epoch": 0.9191176470588235, + "grad_norm": 5.168977011450082, + "learning_rate": 8.762137193933241e-06, + "loss": 0.3489, + "step": 500 + }, + { + "epoch": 0.9375, + "grad_norm": 9.716727823960543, + "learning_rate": 8.690801241731818e-06, + "loss": 0.4095, + "step": 510 + }, + { + "epoch": 0.9558823529411765, + "grad_norm": 9.305144213419574, + "learning_rate": 8.617775036523014e-06, + "loss": 0.4641, + "step": 520 + }, + { + "epoch": 0.9742647058823529, + "grad_norm": 7.973224876288721, + "learning_rate": 8.543092021658259e-06, + "loss": 0.3311, + "step": 530 + }, + { + "epoch": 0.9926470588235294, + "grad_norm": 7.223605900810482, + "learning_rate": 8.466786399247663e-06, + "loss": 0.3561, + "step": 540 + }, + { + "epoch": 1.0110294117647058, + "grad_norm": 7.955108957559817, + "learning_rate": 8.388893114496706e-06, + "loss": 0.3474, + "step": 550 + }, + { + "epoch": 1.0294117647058822, + "grad_norm": 8.495071396849232, + "learning_rate": 8.309447839702583e-06, + "loss": 0.2188, + "step": 560 + }, + { + "epoch": 1.0477941176470589, + "grad_norm": 6.043931760485918, + "learning_rate": 8.228486957917608e-06, + "loss": 0.2178, + "step": 570 + }, + { + "epoch": 1.0661764705882353, + "grad_norm": 6.438867996730345, + "learning_rate": 8.146047546287077e-06, + "loss": 0.2783, + "step": 580 + }, + { + "epoch": 1.0845588235294117, + "grad_norm": 3.6977346854366107, + "learning_rate": 8.062167359069301e-06, + "loss": 0.2463, + "step": 590 + }, + { + "epoch": 1.1029411764705883, + "grad_norm": 6.660661443962452, + "learning_rate": 7.97688481034551e-06, + "loss": 0.2634, + "step": 600 + }, + { + "epoch": 1.1213235294117647, + "grad_norm": 9.365314735040004, + "learning_rate": 7.8902389564276e-06, + "loss": 0.294, + "step": 610 + }, + { + "epoch": 1.1397058823529411, + "grad_norm": 6.992327039164838, + "learning_rate": 7.802269477971771e-06, + "loss": 0.273, + "step": 620 + }, + { + "epoch": 1.1580882352941178, + "grad_norm": 16.22021668710731, + "learning_rate": 7.713016661806213e-06, + "loss": 0.2975, + "step": 630 + }, + { + "epoch": 1.1764705882352942, + "grad_norm": 5.1105720664815, + "learning_rate": 7.622521382481208e-06, + "loss": 0.2831, + "step": 640 + }, + { + "epoch": 1.1948529411764706, + "grad_norm": 18.745915660915887, + "learning_rate": 7.530825083550073e-06, + "loss": 0.3548, + "step": 650 + }, + { + "epoch": 1.213235294117647, + "grad_norm": 10.329160246000239, + "learning_rate": 7.437969758589508e-06, + "loss": 0.2454, + "step": 660 + }, + { + "epoch": 1.2316176470588236, + "grad_norm": 6.408214730217885, + "learning_rate": 7.343997931968068e-06, + "loss": 0.2694, + "step": 670 + }, + { + "epoch": 1.25, + "grad_norm": 7.486293079129486, + "learning_rate": 7.248952639371543e-06, + "loss": 0.3091, + "step": 680 + }, + { + "epoch": 1.2683823529411764, + "grad_norm": 5.956954386852354, + "learning_rate": 7.152877408094179e-06, + "loss": 0.2305, + "step": 690 + }, + { + "epoch": 1.2867647058823528, + "grad_norm": 8.065888848768314, + "learning_rate": 7.055816237104753e-06, + "loss": 0.3002, + "step": 700 + }, + { + "epoch": 1.3051470588235294, + "grad_norm": 3.322320099042565, + "learning_rate": 6.957813576896647e-06, + "loss": 0.2868, + "step": 710 + }, + { + "epoch": 1.3235294117647058, + "grad_norm": 11.20812027560389, + "learning_rate": 6.858914309131131e-06, + "loss": 0.2342, + "step": 720 + }, + { + "epoch": 1.3419117647058822, + "grad_norm": 11.126428155503467, + "learning_rate": 6.7591637260831925e-06, + "loss": 0.2143, + "step": 730 + }, + { + "epoch": 1.3602941176470589, + "grad_norm": 6.169632411834191, + "learning_rate": 6.6586075098993196e-06, + "loss": 0.3071, + "step": 740 + }, + { + "epoch": 1.3786764705882353, + "grad_norm": 8.952863279335729, + "learning_rate": 6.557291711676738e-06, + "loss": 0.2977, + "step": 750 + }, + { + "epoch": 1.3970588235294117, + "grad_norm": 4.407249523532787, + "learning_rate": 6.455262730373673e-06, + "loss": 0.2326, + "step": 760 + }, + { + "epoch": 1.4154411764705883, + "grad_norm": 11.807741453984933, + "learning_rate": 6.352567291560319e-06, + "loss": 0.3158, + "step": 770 + }, + { + "epoch": 1.4338235294117647, + "grad_norm": 13.900682242664102, + "learning_rate": 6.249252426020217e-06, + "loss": 0.3301, + "step": 780 + }, + { + "epoch": 1.4522058823529411, + "grad_norm": 10.2905193894227, + "learning_rate": 6.145365448211866e-06, + "loss": 0.2937, + "step": 790 + }, + { + "epoch": 1.4705882352941178, + "grad_norm": 5.654029084586675, + "learning_rate": 6.040953934600425e-06, + "loss": 0.2229, + "step": 800 + }, + { + "epoch": 1.4889705882352942, + "grad_norm": 7.884909374384519, + "learning_rate": 5.936065701869404e-06, + "loss": 0.3169, + "step": 810 + }, + { + "epoch": 1.5073529411764706, + "grad_norm": 4.885582156638979, + "learning_rate": 5.830748785022369e-06, + "loss": 0.257, + "step": 820 + }, + { + "epoch": 1.5257352941176472, + "grad_norm": 10.069197658253753, + "learning_rate": 5.725051415384657e-06, + "loss": 0.2766, + "step": 830 + }, + { + "epoch": 1.5441176470588234, + "grad_norm": 8.25370914927739, + "learning_rate": 5.619021998515165e-06, + "loss": 0.2385, + "step": 840 + }, + { + "epoch": 1.5625, + "grad_norm": 4.810424736549512, + "learning_rate": 5.51270909203838e-06, + "loss": 0.2844, + "step": 850 + }, + { + "epoch": 1.5808823529411766, + "grad_norm": 10.0208212747629, + "learning_rate": 5.40616138340673e-06, + "loss": 0.2924, + "step": 860 + }, + { + "epoch": 1.5992647058823528, + "grad_norm": 13.748183320384355, + "learning_rate": 5.299427667603516e-06, + "loss": 0.2826, + "step": 870 + }, + { + "epoch": 1.6176470588235294, + "grad_norm": 2.892654980772666, + "learning_rate": 5.1925568247965686e-06, + "loss": 0.2106, + "step": 880 + }, + { + "epoch": 1.6360294117647058, + "grad_norm": 4.016652056640837, + "learning_rate": 5.085597797952906e-06, + "loss": 0.3306, + "step": 890 + }, + { + "epoch": 1.6544117647058822, + "grad_norm": 4.348213620564617, + "learning_rate": 4.97859957042464e-06, + "loss": 0.2227, + "step": 900 + }, + { + "epoch": 1.6727941176470589, + "grad_norm": 8.314405849156318, + "learning_rate": 4.871611143516367e-06, + "loss": 0.2275, + "step": 910 + }, + { + "epoch": 1.6911764705882353, + "grad_norm": 3.1251931465193747, + "learning_rate": 4.7646815140443625e-06, + "loss": 0.2966, + "step": 920 + }, + { + "epoch": 1.7095588235294117, + "grad_norm": 2.9353246185637287, + "learning_rate": 4.657859651897807e-06, + "loss": 0.228, + "step": 930 + }, + { + "epoch": 1.7279411764705883, + "grad_norm": 4.988890457346432, + "learning_rate": 4.551194477612351e-06, + "loss": 0.2694, + "step": 940 + }, + { + "epoch": 1.7463235294117647, + "grad_norm": 2.1319176010435252, + "learning_rate": 4.444734839966306e-06, + "loss": 0.1944, + "step": 950 + }, + { + "epoch": 1.7647058823529411, + "grad_norm": 4.43095941592791, + "learning_rate": 4.338529493609647e-06, + "loss": 0.2479, + "step": 960 + }, + { + "epoch": 1.7830882352941178, + "grad_norm": 4.620277796996259, + "learning_rate": 4.232627076736181e-06, + "loss": 0.1819, + "step": 970 + }, + { + "epoch": 1.8014705882352942, + "grad_norm": 9.324548402262511, + "learning_rate": 4.127076088809e-06, + "loss": 0.2514, + "step": 980 + }, + { + "epoch": 1.8198529411764706, + "grad_norm": 9.685553327436127, + "learning_rate": 4.021924868349493e-06, + "loss": 0.24, + "step": 990 + }, + { + "epoch": 1.8382352941176472, + "grad_norm": 4.557597261535076, + "learning_rate": 3.9172215708000655e-06, + "loss": 0.2477, + "step": 1000 + } + ], + "logging_steps": 10, + "max_steps": 1632, + "num_input_tokens_seen": 0, + "num_train_epochs": 3, + "save_steps": 500, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 151077814272.0, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-1000/training_args.bin b/checkpoint-1000/training_args.bin new file mode 100644 index 0000000..10fbb2a --- /dev/null +++ b/checkpoint-1000/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4bebf5c7141bddbed6a7feb4bf1a35ed3fbf020c7c4dc7ab21f6f30268f7e3 +size 7352 diff --git a/checkpoint-1000/zero_to_fp32.py b/checkpoint-1000/zero_to_fp32.py new file mode 100644 index 0000000..0e75914 --- /dev/null +++ b/checkpoint-1000/zero_to_fp32.py @@ -0,0 +1,760 @@ +#!/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 . output_dir/ +# or +# python zero_to_fp32.py . output_dir/ --safe_serialization + +import argparse +import torch +import glob +import math +import os +import re +import gc +import json +import numpy as np +from tqdm import tqdm +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, weights_only=False) + + 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 tqdm(files, desc='Loading checkpoint shards'): + state_dict = torch.load(f, map_location=device, mmap=True, weights_only=False) + # 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}") + + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] 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, exclude_frozen_parameters): + """ + 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, + exclude_frozen_parameters) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states, + exclude_frozen_parameters) + + +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, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _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") + + +class GatheredTensor: + """ + A pseudo tensor that collects partitioned weights. + It is more memory efficient when there are multiple groups. + """ + + def __init__(self, flat_groups, flat_groups_offset, offset, partitioned_numel, shape): + self.flat_groups = flat_groups + self.flat_groups_offset = flat_groups_offset + self.offset = offset + self.partitioned_numel = partitioned_numel + self.shape = shape + self.dtype = self.flat_groups[0][0].dtype + + def contiguous(self): + """ + Merge partitioned weights from flat_groups into a single tensor. + """ + end_idx = self.offset + self.partitioned_numel + world_size = len(self.flat_groups) + pad_flat_param_chunks = [] + + for rank_i in range(world_size): + # for each rank, we need to collect weights from related group/groups + flat_groups_at_rank_i = self.flat_groups[rank_i] + start_group_id = None + end_group_id = None + for group_id in range(len(self.flat_groups_offset)): + if self.flat_groups_offset[group_id] <= self.offset < self.flat_groups_offset[group_id + 1]: + start_group_id = group_id + if self.flat_groups_offset[group_id] < end_idx <= self.flat_groups_offset[group_id + 1]: + end_group_id = group_id + break + # collect weights from related group/groups + for group_id in range(start_group_id, end_group_id + 1): + flat_tensor = flat_groups_at_rank_i[group_id] + start_offset = self.offset - self.flat_groups_offset[group_id] + end_offset = min(end_idx, self.flat_groups_offset[group_id + 1]) - self.flat_groups_offset[group_id] + pad_flat_param_chunks.append(flat_tensor[start_offset:end_offset]) + + # collect weights from all ranks + pad_flat_param = torch.cat(pad_flat_param_chunks, dim=0) + param = pad_flat_param[:self.shape.numel()].view(self.shape).contiguous() + return param + + +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 = sum([flat_group.numel() for flat_group in fp32_flat_groups[0]]) * 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 + flat_groups_offset = [0] + list(np.cumsum([flat_tensor.numel() for flat_tensor in fp32_flat_groups[0]])) + for name, shape in tqdm(param_shapes.items(), desc='Gathering sharded weights'): + 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}" + ) + + # memory efficient tensor + tensor = GatheredTensor(fp32_flat_groups, flat_groups_offset, offset, partitioned_numel, shape) + state_dict[name] = tensor + 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, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _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 to_torch_tensor(state_dict, return_empty_tensor=False): + """ + Convert state_dict of GatheredTensor to torch tensor + """ + torch_state_dict = {} + converted_tensors = {} + for name, tensor in state_dict.items(): + tensor_id = id(tensor) + if tensor_id in converted_tensors: # shared tensors + shared_tensor = torch_state_dict[converted_tensors[tensor_id]] + torch_state_dict[name] = shared_tensor + else: + converted_tensors[tensor_id] = name + if return_empty_tensor: + torch_state_dict[name] = torch.empty(tensor.shape, dtype=tensor.dtype) + else: + torch_state_dict[name] = tensor.contiguous() + return torch_state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag=None, + exclude_frozen_parameters=False, + lazy_mode=False): + """ + 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`` + - ``exclude_frozen_parameters``: exclude frozen parameters + - ``lazy_mode``: get state_dict in lazy mode. It returns a dict of pesduo tensor instead of torch tensor, which is more memory efficient. + Convert the pesduo tensor to torch tensor by ``.contiguous()`` + + Returns: + - pytorch ``state_dict`` + + 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. + + Note: the above usage may not work if your application doesn't have sufficient free CPU memory. + You may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. Or you can load state_dict in lazy mode :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, lazy_mode=True) # not on cpu + for name, lazy_tensor in state_dict.item(): + tensor = lazy_tensor.contiguous() # to cpu + print(name, tensor) + # del tensor to release memory if it no longer in use + """ + 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") + + state_dict = _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters) + if lazy_mode: + return state_dict + else: + return to_torch_tensor(state_dict) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, + output_dir, + max_shard_size="5GB", + safe_serialization=False, + tag=None, + exclude_frozen_parameters=False): + """ + 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_dir``: directory to the pytorch fp32 state_dict output files + - ``max_shard_size``: the maximum size for a checkpoint before being sharded, default value is 5GB + - ``safe_serialization``: whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`). + - ``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`` + - ``exclude_frozen_parameters``: exclude frozen parameters + """ + + # Dependency pre-check + if safe_serialization: + try: + from safetensors.torch import save_file + except ImportError: + print('If you want to use `safe_serialization`, please `pip install safetensors`') + raise + if max_shard_size is not None: + try: + from huggingface_hub import split_torch_state_dict_into_shards + except ImportError: + print('If you want to use `max_shard_size`, please `pip install huggingface_hub`') + raise + + # Convert zero checkpoint to state_dict + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag, + exclude_frozen_parameters, + lazy_mode=True) + + # Shard the model if it is too big. + weights_name = "model.safetensors" if safe_serialization else "pytorch_model.bin" + if max_shard_size is not None: + filename_pattern = weights_name.replace(".bin", "{suffix}.bin").replace(".safetensors", "{suffix}.safetensors") + # an memory-efficient approach for sharding + empty_state_dict = to_torch_tensor(state_dict, return_empty_tensor=True) + state_dict_split = split_torch_state_dict_into_shards(empty_state_dict, + filename_pattern=filename_pattern, + max_shard_size=max_shard_size) + else: + from collections import namedtuple + StateDictSplit = namedtuple("StateDictSplit", ["is_sharded", "filename_to_tensors"]) + state_dict_split = StateDictSplit(is_sharded=False, + filename_to_tensors={weights_name: list(state_dict.keys())}) + + # Save the model by shard + os.makedirs(output_dir, exist_ok=True) + filename_to_tensors = state_dict_split.filename_to_tensors.items() + for shard_file, tensors in tqdm(filename_to_tensors, desc="Saving checkpoint shards"): + shard_state_dict = {tensor_name: state_dict[tensor_name] for tensor_name in tensors} + shard_state_dict = to_torch_tensor(shard_state_dict) + output_path = os.path.join(output_dir, shard_file) + if safe_serialization: + save_file(shard_state_dict, output_path, metadata={"format": "pt"}) + else: + torch.save(shard_state_dict, output_path) + # release the memory of current shard + for tensor_name in list(shard_state_dict.keys()): + del state_dict[tensor_name] + del shard_state_dict[tensor_name] + del shard_state_dict + gc.collect() + + # Save index if sharded + if state_dict_split.is_sharded: + index = { + "metadata": state_dict_split.metadata, + "weight_map": state_dict_split.tensor_to_filename, + } + save_index_file = "model.safetensors.index.json" if safe_serialization else "pytorch_model.bin.index.json" + save_index_file = os.path.join(output_dir, save_index_file) + with open(save_index_file, "w", encoding="utf-8") as f: + content = json.dumps(index, indent=2, sort_keys=True) + "\n" + f.write(content) + + +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_dir", + type=str, + help="directory to the pytorch fp32 state_dict output files" + "(e.g. path/checkpoint-12-output/)") + parser.add_argument( + "--max_shard_size", + type=str, + default="5GB", + help="The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size" + "lower than this size. If expressed as a string, needs to be digits followed by a unit (like `5MB`" + "We default it to 5GB in order for models to be able to run easily on free-tier google colab instances" + "without CPU OOM issues.") + parser.add_argument( + "--safe_serialization", + default=False, + action='store_true', + help="Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).") + 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("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters") + 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_dir, + max_shard_size=args.max_shard_size, + safe_serialization=args.safe_serialization, + tag=args.tag, + exclude_frozen_parameters=args.exclude_frozen_parameters) diff --git a/checkpoint-1500/config.json b/checkpoint-1500/config.json new file mode 100644 index 0000000..5a1694f --- /dev/null +++ b/checkpoint-1500/config.json @@ -0,0 +1,36 @@ +{ + "_name_or_path": "meta-llama/Llama-3.2-1B", + "architectures": [ + "LlamaForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 128000, + "eos_token_id": 128001, + "head_dim": 64, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 8192, + "max_position_embeddings": 131072, + "mlp_bias": false, + "model_type": "llama", + "num_attention_heads": 32, + "num_hidden_layers": 16, + "num_key_value_heads": 8, + "pretraining_tp": 1, + "rms_norm_eps": 1e-05, + "rope_scaling": { + "factor": 32.0, + "high_freq_factor": 4.0, + "low_freq_factor": 1.0, + "original_max_position_embeddings": 8192, + "rope_type": "llama3" + }, + "rope_theta": 500000.0, + "tie_word_embeddings": true, + "torch_dtype": "bfloat16", + "transformers_version": "4.46.1", + "use_cache": false, + "vocab_size": 128256 +} diff --git a/checkpoint-1500/generation_config.json b/checkpoint-1500/generation_config.json new file mode 100644 index 0000000..eab5082 --- /dev/null +++ b/checkpoint-1500/generation_config.json @@ -0,0 +1,9 @@ +{ + "_from_model_config": true, + "bos_token_id": 128000, + "do_sample": true, + "eos_token_id": 128001, + "temperature": 0.6, + "top_p": 0.9, + "transformers_version": "4.46.1" +} diff --git a/checkpoint-1500/global_step1500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/checkpoint-1500/global_step1500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000..b02209f --- /dev/null +++ b/checkpoint-1500/global_step1500/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:f1e68b08d66e431b3cd54cd0f89659dff824fc2df3105c3b2e2180ac2da06517 +size 14829779262 diff --git a/checkpoint-1500/global_step1500/zero_pp_rank_0_mp_rank_00_model_states.pt b/checkpoint-1500/global_step1500/zero_pp_rank_0_mp_rank_00_model_states.pt new file mode 100644 index 0000000..d4fe419 --- /dev/null +++ b/checkpoint-1500/global_step1500/zero_pp_rank_0_mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a48e8852617ed68d2128d22e238030c2b0bba361e1cfee8f20d5f61a7370aee8 +size 76664 diff --git a/checkpoint-1500/latest b/checkpoint-1500/latest new file mode 100644 index 0000000..c56ff77 --- /dev/null +++ b/checkpoint-1500/latest @@ -0,0 +1 @@ +global_step1500 \ No newline at end of file diff --git a/checkpoint-1500/model.safetensors b/checkpoint-1500/model.safetensors new file mode 100644 index 0000000..1142159 --- /dev/null +++ b/checkpoint-1500/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c807005cf21d562786f30bcca039f1908d791df0c8e69013f2cad81e826a57e +size 2471645608 diff --git a/checkpoint-1500/rng_state.pth b/checkpoint-1500/rng_state.pth new file mode 100644 index 0000000..fb20aa3 --- /dev/null +++ b/checkpoint-1500/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b5fa02ce1f2057ffdcccd86019817387a38e6b835bf0ecf5d2277b489b598e7 +size 14244 diff --git a/checkpoint-1500/scheduler.pt b/checkpoint-1500/scheduler.pt new file mode 100644 index 0000000..c6643c0 --- /dev/null +++ b/checkpoint-1500/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7e74e96ab047aa96cdf8dce254abe6ca588ba7199dd2ebe656d636245ccf92a +size 1064 diff --git a/checkpoint-1500/special_tokens_map.json b/checkpoint-1500/special_tokens_map.json new file mode 100644 index 0000000..426a800 --- /dev/null +++ b/checkpoint-1500/special_tokens_map.json @@ -0,0 +1,33 @@ +{ + "additional_special_tokens": [ + { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } + ], + "bos_token": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": "<|end_of_text|>" +} diff --git a/checkpoint-1500/tokenizer.json b/checkpoint-1500/tokenizer.json new file mode 100644 index 0000000..1c1d8d5 --- /dev/null +++ b/checkpoint-1500/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b9e4e7fb171f92fd137b777cc2714bf87d11576700a1dcd7a399e7bbe39537b +size 17209920 diff --git a/checkpoint-1500/tokenizer_config.json b/checkpoint-1500/tokenizer_config.json new file mode 100644 index 0000000..3a8f322 --- /dev/null +++ b/checkpoint-1500/tokenizer_config.json @@ -0,0 +1,2069 @@ +{ + "added_tokens_decoder": { + "128000": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128001": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128002": { + "content": "<|reserved_special_token_0|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128003": { + "content": "<|reserved_special_token_1|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128004": { + "content": "<|finetune_right_pad_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128005": { + "content": "<|reserved_special_token_2|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128006": { + "content": "<|start_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128007": { + "content": "<|end_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128008": { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128009": { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128010": { + "content": "<|python_tag|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128011": { + "content": "<|reserved_special_token_3|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128012": { + "content": "<|reserved_special_token_4|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128013": { + "content": "<|reserved_special_token_5|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128014": { + "content": "<|reserved_special_token_6|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128015": { + "content": "<|reserved_special_token_7|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128016": { + "content": "<|reserved_special_token_8|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128017": { + "content": "<|reserved_special_token_9|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128018": { + "content": "<|reserved_special_token_10|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128019": { + "content": "<|reserved_special_token_11|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128020": { + "content": "<|reserved_special_token_12|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128021": { + "content": "<|reserved_special_token_13|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128022": { + "content": "<|reserved_special_token_14|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128023": { + "content": "<|reserved_special_token_15|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128024": { + "content": "<|reserved_special_token_16|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128025": { + "content": "<|reserved_special_token_17|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128026": { + "content": "<|reserved_special_token_18|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128027": { + "content": "<|reserved_special_token_19|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128028": { + "content": "<|reserved_special_token_20|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128029": { + "content": "<|reserved_special_token_21|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128030": { + "content": "<|reserved_special_token_22|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128031": { + "content": "<|reserved_special_token_23|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128032": { + "content": "<|reserved_special_token_24|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128033": { + "content": "<|reserved_special_token_25|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128034": { + "content": "<|reserved_special_token_26|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128035": { + "content": "<|reserved_special_token_27|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128036": { + "content": "<|reserved_special_token_28|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128037": { + "content": "<|reserved_special_token_29|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128038": { + "content": "<|reserved_special_token_30|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128039": { + "content": "<|reserved_special_token_31|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128040": { + "content": "<|reserved_special_token_32|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128041": { + "content": "<|reserved_special_token_33|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128042": { + "content": "<|reserved_special_token_34|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128043": { + "content": "<|reserved_special_token_35|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128044": { + "content": "<|reserved_special_token_36|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128045": { + "content": "<|reserved_special_token_37|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128046": { + "content": "<|reserved_special_token_38|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128047": { + "content": "<|reserved_special_token_39|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128048": { + "content": "<|reserved_special_token_40|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128049": { + "content": "<|reserved_special_token_41|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128050": { + "content": "<|reserved_special_token_42|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128051": { + "content": "<|reserved_special_token_43|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128052": { + "content": "<|reserved_special_token_44|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128053": { + "content": "<|reserved_special_token_45|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128054": { + "content": "<|reserved_special_token_46|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128055": { + "content": "<|reserved_special_token_47|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128056": { + "content": "<|reserved_special_token_48|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128057": { + "content": "<|reserved_special_token_49|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128058": { + "content": "<|reserved_special_token_50|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128059": { + "content": "<|reserved_special_token_51|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128060": { + "content": "<|reserved_special_token_52|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128061": { + "content": "<|reserved_special_token_53|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128062": { + "content": "<|reserved_special_token_54|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128063": { + "content": "<|reserved_special_token_55|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128064": { + "content": "<|reserved_special_token_56|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128065": { + "content": "<|reserved_special_token_57|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128066": { + "content": "<|reserved_special_token_58|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128067": { + "content": "<|reserved_special_token_59|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128068": { + "content": "<|reserved_special_token_60|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128069": { + "content": "<|reserved_special_token_61|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128070": { + "content": "<|reserved_special_token_62|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128071": { + "content": "<|reserved_special_token_63|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128072": { + "content": "<|reserved_special_token_64|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128073": { + "content": "<|reserved_special_token_65|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128074": { + "content": "<|reserved_special_token_66|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128075": { + "content": "<|reserved_special_token_67|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128076": { + "content": "<|reserved_special_token_68|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128077": { + "content": "<|reserved_special_token_69|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128078": { + "content": "<|reserved_special_token_70|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128079": { + "content": "<|reserved_special_token_71|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128080": { + "content": "<|reserved_special_token_72|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128081": { + "content": "<|reserved_special_token_73|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128082": { + "content": "<|reserved_special_token_74|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128083": { + "content": "<|reserved_special_token_75|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128084": { + "content": "<|reserved_special_token_76|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128085": { + "content": "<|reserved_special_token_77|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128086": { + "content": "<|reserved_special_token_78|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128087": { + "content": "<|reserved_special_token_79|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128088": { + "content": "<|reserved_special_token_80|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128089": { + "content": "<|reserved_special_token_81|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128090": { + "content": "<|reserved_special_token_82|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128091": { + "content": "<|reserved_special_token_83|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128092": { + "content": "<|reserved_special_token_84|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128093": { + "content": "<|reserved_special_token_85|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128094": { + "content": "<|reserved_special_token_86|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128095": { + "content": "<|reserved_special_token_87|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128096": { + "content": "<|reserved_special_token_88|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128097": { + "content": "<|reserved_special_token_89|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128098": { + "content": "<|reserved_special_token_90|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128099": { + "content": "<|reserved_special_token_91|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128100": { + "content": "<|reserved_special_token_92|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128101": { + "content": "<|reserved_special_token_93|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128102": { + "content": "<|reserved_special_token_94|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128103": { + "content": "<|reserved_special_token_95|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128104": { + "content": "<|reserved_special_token_96|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128105": { + "content": "<|reserved_special_token_97|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128106": { + "content": "<|reserved_special_token_98|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128107": { + "content": "<|reserved_special_token_99|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128108": { + "content": "<|reserved_special_token_100|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128109": { + "content": "<|reserved_special_token_101|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128110": { + "content": "<|reserved_special_token_102|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128111": { + "content": "<|reserved_special_token_103|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128112": { + "content": "<|reserved_special_token_104|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128113": { + "content": "<|reserved_special_token_105|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128114": { + "content": "<|reserved_special_token_106|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128115": { + "content": "<|reserved_special_token_107|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128116": { + "content": "<|reserved_special_token_108|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128117": { + "content": "<|reserved_special_token_109|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128118": { + "content": "<|reserved_special_token_110|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128119": { + "content": "<|reserved_special_token_111|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128120": { + "content": "<|reserved_special_token_112|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128121": { + "content": "<|reserved_special_token_113|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128122": { + "content": "<|reserved_special_token_114|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128123": { + "content": "<|reserved_special_token_115|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128124": { + "content": "<|reserved_special_token_116|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128125": { + "content": "<|reserved_special_token_117|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128126": { + "content": "<|reserved_special_token_118|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128127": { + "content": "<|reserved_special_token_119|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128128": { + "content": "<|reserved_special_token_120|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128129": { + "content": "<|reserved_special_token_121|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128130": { + "content": "<|reserved_special_token_122|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128131": { + "content": "<|reserved_special_token_123|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128132": { + "content": "<|reserved_special_token_124|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128133": { + "content": "<|reserved_special_token_125|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128134": { + "content": "<|reserved_special_token_126|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128135": { + "content": "<|reserved_special_token_127|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128136": { + "content": "<|reserved_special_token_128|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128137": { + "content": "<|reserved_special_token_129|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128138": { + "content": "<|reserved_special_token_130|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128139": { + "content": "<|reserved_special_token_131|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128140": { + "content": "<|reserved_special_token_132|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128141": { + "content": "<|reserved_special_token_133|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128142": { + "content": "<|reserved_special_token_134|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128143": { + "content": "<|reserved_special_token_135|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128144": { + "content": "<|reserved_special_token_136|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128145": { + "content": "<|reserved_special_token_137|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128146": { + "content": "<|reserved_special_token_138|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128147": { + "content": "<|reserved_special_token_139|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128148": { + "content": "<|reserved_special_token_140|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128149": { + "content": "<|reserved_special_token_141|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128150": { + "content": "<|reserved_special_token_142|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128151": { + "content": "<|reserved_special_token_143|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128152": { + "content": "<|reserved_special_token_144|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128153": { + "content": "<|reserved_special_token_145|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128154": { + "content": "<|reserved_special_token_146|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128155": { + "content": "<|reserved_special_token_147|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128156": { + "content": "<|reserved_special_token_148|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128157": { + "content": "<|reserved_special_token_149|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128158": { + "content": "<|reserved_special_token_150|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128159": { + "content": "<|reserved_special_token_151|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128160": { + "content": "<|reserved_special_token_152|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128161": { + "content": "<|reserved_special_token_153|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128162": { + "content": "<|reserved_special_token_154|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128163": { + "content": "<|reserved_special_token_155|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128164": { + "content": "<|reserved_special_token_156|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128165": { + "content": "<|reserved_special_token_157|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128166": { + "content": "<|reserved_special_token_158|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128167": { + "content": "<|reserved_special_token_159|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128168": { + "content": "<|reserved_special_token_160|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128169": { + "content": "<|reserved_special_token_161|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128170": { + "content": "<|reserved_special_token_162|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128171": { + "content": "<|reserved_special_token_163|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128172": { + "content": "<|reserved_special_token_164|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128173": { + "content": "<|reserved_special_token_165|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128174": { + "content": "<|reserved_special_token_166|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128175": { + "content": "<|reserved_special_token_167|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128176": { + "content": "<|reserved_special_token_168|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128177": { + "content": "<|reserved_special_token_169|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128178": { + "content": "<|reserved_special_token_170|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128179": { + "content": "<|reserved_special_token_171|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128180": { + "content": "<|reserved_special_token_172|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128181": { + "content": "<|reserved_special_token_173|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128182": { + "content": "<|reserved_special_token_174|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128183": { + "content": "<|reserved_special_token_175|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128184": { + "content": "<|reserved_special_token_176|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128185": { + "content": "<|reserved_special_token_177|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128186": { + "content": "<|reserved_special_token_178|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128187": { + "content": "<|reserved_special_token_179|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128188": { + "content": "<|reserved_special_token_180|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128189": { + "content": "<|reserved_special_token_181|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128190": { + "content": "<|reserved_special_token_182|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128191": { + "content": "<|reserved_special_token_183|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128192": { + "content": "<|reserved_special_token_184|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128193": { + "content": "<|reserved_special_token_185|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128194": { + "content": "<|reserved_special_token_186|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128195": { + "content": "<|reserved_special_token_187|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128196": { + "content": "<|reserved_special_token_188|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128197": { + "content": "<|reserved_special_token_189|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128198": { + "content": "<|reserved_special_token_190|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128199": { + "content": "<|reserved_special_token_191|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128200": { + "content": "<|reserved_special_token_192|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128201": { + "content": "<|reserved_special_token_193|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128202": { + "content": "<|reserved_special_token_194|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128203": { + "content": "<|reserved_special_token_195|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128204": { + "content": "<|reserved_special_token_196|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128205": { + "content": "<|reserved_special_token_197|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128206": { + "content": "<|reserved_special_token_198|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128207": { + "content": "<|reserved_special_token_199|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128208": { + "content": "<|reserved_special_token_200|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128209": { + "content": "<|reserved_special_token_201|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128210": { + "content": "<|reserved_special_token_202|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128211": { + "content": "<|reserved_special_token_203|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128212": { + "content": "<|reserved_special_token_204|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128213": { + "content": "<|reserved_special_token_205|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128214": { + "content": "<|reserved_special_token_206|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128215": { + "content": "<|reserved_special_token_207|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128216": { + "content": "<|reserved_special_token_208|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128217": { + "content": "<|reserved_special_token_209|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128218": { + "content": "<|reserved_special_token_210|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128219": { + "content": "<|reserved_special_token_211|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128220": { + "content": "<|reserved_special_token_212|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128221": { + "content": "<|reserved_special_token_213|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128222": { + "content": "<|reserved_special_token_214|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128223": { + "content": "<|reserved_special_token_215|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128224": { + "content": "<|reserved_special_token_216|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128225": { + "content": "<|reserved_special_token_217|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128226": { + "content": "<|reserved_special_token_218|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128227": { + "content": "<|reserved_special_token_219|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128228": { + "content": "<|reserved_special_token_220|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128229": { + "content": "<|reserved_special_token_221|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128230": { + "content": "<|reserved_special_token_222|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128231": { + "content": "<|reserved_special_token_223|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128232": { + "content": "<|reserved_special_token_224|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128233": { + "content": "<|reserved_special_token_225|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128234": { + "content": "<|reserved_special_token_226|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128235": { + "content": "<|reserved_special_token_227|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128236": { + "content": "<|reserved_special_token_228|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128237": { + "content": "<|reserved_special_token_229|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128238": { + "content": "<|reserved_special_token_230|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128239": { + "content": "<|reserved_special_token_231|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128240": { + "content": "<|reserved_special_token_232|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128241": { + "content": "<|reserved_special_token_233|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128242": { + "content": "<|reserved_special_token_234|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128243": { + "content": "<|reserved_special_token_235|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128244": { + "content": "<|reserved_special_token_236|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128245": { + "content": "<|reserved_special_token_237|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128246": { + "content": "<|reserved_special_token_238|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128247": { + "content": "<|reserved_special_token_239|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128248": { + "content": "<|reserved_special_token_240|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128249": { + "content": "<|reserved_special_token_241|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128250": { + "content": "<|reserved_special_token_242|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128251": { + "content": "<|reserved_special_token_243|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128252": { + "content": "<|reserved_special_token_244|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128253": { + "content": "<|reserved_special_token_245|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128254": { + "content": "<|reserved_special_token_246|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128255": { + "content": "<|reserved_special_token_247|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [ + "<|eot_id|>", + "<|eom_id|>" + ], + "bos_token": "<|begin_of_text|>", + "chat_template": "{{ '<|begin_of_text|>' }}{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% endif %}{% if system_message is defined %}{{ '<|start_header_id|>system<|end_header_id|>\n\n' + system_message + '<|eot_id|>' }}{% endif %}{% for message in loop_messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ '<|start_header_id|>user<|end_header_id|>\n\n' + content + '<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n' }}{% elif message['role'] == 'assistant' %}{{ content + '<|eot_id|>' }}{% endif %}{% endfor %}", + "clean_up_tokenization_spaces": true, + "eos_token": "<|end_of_text|>", + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 2048, + "pad_token": "<|end_of_text|>", + "padding_side": "right", + "split_special_tokens": false, + "tokenizer_class": "PreTrainedTokenizerFast" +} diff --git a/checkpoint-1500/trainer_state.json b/checkpoint-1500/trainer_state.json new file mode 100644 index 0000000..561eb38 --- /dev/null +++ b/checkpoint-1500/trainer_state.json @@ -0,0 +1,1083 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 2.7573529411764706, + "eval_steps": 500, + "global_step": 1500, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.01838235294117647, + "grad_norm": 24.461347652326168, + "learning_rate": 6.097560975609757e-07, + "loss": 1.2036, + "step": 10 + }, + { + "epoch": 0.03676470588235294, + "grad_norm": 17.308880580961944, + "learning_rate": 1.2195121951219514e-06, + "loss": 1.2064, + "step": 20 + }, + { + "epoch": 0.05514705882352941, + "grad_norm": 29.601720546719697, + "learning_rate": 1.8292682926829268e-06, + "loss": 1.2741, + "step": 30 + }, + { + "epoch": 0.07352941176470588, + "grad_norm": 14.115818236245202, + "learning_rate": 2.4390243902439027e-06, + "loss": 0.7596, + "step": 40 + }, + { + "epoch": 0.09191176470588236, + "grad_norm": 21.73939509164672, + "learning_rate": 3.0487804878048782e-06, + "loss": 0.6171, + "step": 50 + }, + { + "epoch": 0.11029411764705882, + "grad_norm": 16.96116387460838, + "learning_rate": 3.6585365853658537e-06, + "loss": 0.794, + "step": 60 + }, + { + "epoch": 0.12867647058823528, + "grad_norm": 15.372652400517632, + "learning_rate": 4.268292682926829e-06, + "loss": 0.6233, + "step": 70 + }, + { + "epoch": 0.14705882352941177, + "grad_norm": 15.062285237489078, + "learning_rate": 4.8780487804878055e-06, + "loss": 0.5441, + "step": 80 + }, + { + "epoch": 0.16544117647058823, + "grad_norm": 18.632304280702545, + "learning_rate": 5.487804878048781e-06, + "loss": 0.5784, + "step": 90 + }, + { + "epoch": 0.18382352941176472, + "grad_norm": 13.945519044585177, + "learning_rate": 6.0975609756097564e-06, + "loss": 0.4844, + "step": 100 + }, + { + "epoch": 0.20220588235294118, + "grad_norm": 6.9751627817275, + "learning_rate": 6.707317073170733e-06, + "loss": 0.6535, + "step": 110 + }, + { + "epoch": 0.22058823529411764, + "grad_norm": 25.188175477401735, + "learning_rate": 7.317073170731707e-06, + "loss": 0.6897, + "step": 120 + }, + { + "epoch": 0.23897058823529413, + "grad_norm": 14.572936912172068, + "learning_rate": 7.926829268292685e-06, + "loss": 0.4217, + "step": 130 + }, + { + "epoch": 0.25735294117647056, + "grad_norm": 14.934836192557746, + "learning_rate": 8.536585365853658e-06, + "loss": 0.5868, + "step": 140 + }, + { + "epoch": 0.2757352941176471, + "grad_norm": 11.450309910668999, + "learning_rate": 9.146341463414635e-06, + "loss": 0.53, + "step": 150 + }, + { + "epoch": 0.29411764705882354, + "grad_norm": 21.677329690439954, + "learning_rate": 9.756097560975611e-06, + "loss": 0.5538, + "step": 160 + }, + { + "epoch": 0.3125, + "grad_norm": 13.221017712308962, + "learning_rate": 9.999587822598768e-06, + "loss": 0.4616, + "step": 170 + }, + { + "epoch": 0.33088235294117646, + "grad_norm": 17.10580370679984, + "learning_rate": 9.997069206794246e-06, + "loss": 0.5633, + "step": 180 + }, + { + "epoch": 0.3492647058823529, + "grad_norm": 12.4225156252439, + "learning_rate": 9.992262114666653e-06, + "loss": 0.6035, + "step": 190 + }, + { + "epoch": 0.36764705882352944, + "grad_norm": 9.012606555821149, + "learning_rate": 9.985168747689706e-06, + "loss": 0.5822, + "step": 200 + }, + { + "epoch": 0.3860294117647059, + "grad_norm": 7.876601539287651, + "learning_rate": 9.975792354368019e-06, + "loss": 0.3755, + "step": 210 + }, + { + "epoch": 0.40441176470588236, + "grad_norm": 6.10882571982772, + "learning_rate": 9.964137228749409e-06, + "loss": 0.4914, + "step": 220 + }, + { + "epoch": 0.4227941176470588, + "grad_norm": 6.537974128609375, + "learning_rate": 9.950208708458371e-06, + "loss": 0.4604, + "step": 230 + }, + { + "epoch": 0.4411764705882353, + "grad_norm": 7.108775542718406, + "learning_rate": 9.934013172251654e-06, + "loss": 0.5029, + "step": 240 + }, + { + "epoch": 0.45955882352941174, + "grad_norm": 13.652621643454376, + "learning_rate": 9.915558037097003e-06, + "loss": 0.5404, + "step": 250 + }, + { + "epoch": 0.47794117647058826, + "grad_norm": 9.685271320615122, + "learning_rate": 9.894851754776473e-06, + "loss": 0.3555, + "step": 260 + }, + { + "epoch": 0.4963235294117647, + "grad_norm": 10.504810722270348, + "learning_rate": 9.871903808015812e-06, + "loss": 0.4092, + "step": 270 + }, + { + "epoch": 0.5147058823529411, + "grad_norm": 12.557835687927717, + "learning_rate": 9.846724706141718e-06, + "loss": 0.4489, + "step": 280 + }, + { + "epoch": 0.5330882352941176, + "grad_norm": 19.32420837447236, + "learning_rate": 9.819325980268946e-06, + "loss": 0.5297, + "step": 290 + }, + { + "epoch": 0.5514705882352942, + "grad_norm": 12.56688753149935, + "learning_rate": 9.789720178019483e-06, + "loss": 0.4301, + "step": 300 + }, + { + "epoch": 0.5698529411764706, + "grad_norm": 8.769304725602016, + "learning_rate": 9.757920857776188e-06, + "loss": 0.5499, + "step": 310 + }, + { + "epoch": 0.5882352941176471, + "grad_norm": 6.742725850222398, + "learning_rate": 9.723942582473545e-06, + "loss": 0.3723, + "step": 320 + }, + { + "epoch": 0.6066176470588235, + "grad_norm": 32.81061857477797, + "learning_rate": 9.687800912928362e-06, + "loss": 0.6103, + "step": 330 + }, + { + "epoch": 0.625, + "grad_norm": 7.250155807815409, + "learning_rate": 9.649512400713497e-06, + "loss": 0.5561, + "step": 340 + }, + { + "epoch": 0.6433823529411765, + "grad_norm": 8.449295772111478, + "learning_rate": 9.609094580577825e-06, + "loss": 0.4384, + "step": 350 + }, + { + "epoch": 0.6617647058823529, + "grad_norm": 8.965901929446623, + "learning_rate": 9.566565962415958e-06, + "loss": 0.492, + "step": 360 + }, + { + "epoch": 0.6801470588235294, + "grad_norm": 10.783592668291883, + "learning_rate": 9.521946022791402e-06, + "loss": 0.5596, + "step": 370 + }, + { + "epoch": 0.6985294117647058, + "grad_norm": 6.524203722153494, + "learning_rate": 9.475255196016972e-06, + "loss": 0.4657, + "step": 380 + }, + { + "epoch": 0.7169117647058824, + "grad_norm": 6.844495651307719, + "learning_rate": 9.426514864796648e-06, + "loss": 0.547, + "step": 390 + }, + { + "epoch": 0.7352941176470589, + "grad_norm": 7.093995062440304, + "learning_rate": 9.375747350433044e-06, + "loss": 0.4821, + "step": 400 + }, + { + "epoch": 0.7536764705882353, + "grad_norm": 13.008619062718342, + "learning_rate": 9.322975902605082e-06, + "loss": 0.3627, + "step": 410 + }, + { + "epoch": 0.7720588235294118, + "grad_norm": 7.658314017103231, + "learning_rate": 9.268224688720475e-06, + "loss": 0.2779, + "step": 420 + }, + { + "epoch": 0.7904411764705882, + "grad_norm": 9.961772688539515, + "learning_rate": 9.211518782847932e-06, + "loss": 0.684, + "step": 430 + }, + { + "epoch": 0.8088235294117647, + "grad_norm": 5.184448250813704, + "learning_rate": 9.152884154234147e-06, + "loss": 0.3829, + "step": 440 + }, + { + "epoch": 0.8272058823529411, + "grad_norm": 16.899974205034713, + "learning_rate": 9.092347655410818e-06, + "loss": 0.409, + "step": 450 + }, + { + "epoch": 0.8455882352941176, + "grad_norm": 9.123647569900998, + "learning_rate": 9.029937009897176e-06, + "loss": 0.4189, + "step": 460 + }, + { + "epoch": 0.8639705882352942, + "grad_norm": 14.941661911314725, + "learning_rate": 8.96568079950361e-06, + "loss": 0.4846, + "step": 470 + }, + { + "epoch": 0.8823529411764706, + "grad_norm": 6.576553080941865, + "learning_rate": 8.899608451242233e-06, + "loss": 0.4869, + "step": 480 + }, + { + "epoch": 0.9007352941176471, + "grad_norm": 9.989273508498824, + "learning_rate": 8.83175022385039e-06, + "loss": 0.368, + "step": 490 + }, + { + "epoch": 0.9191176470588235, + "grad_norm": 5.168977011450082, + "learning_rate": 8.762137193933241e-06, + "loss": 0.3489, + "step": 500 + }, + { + "epoch": 0.9375, + "grad_norm": 9.716727823960543, + "learning_rate": 8.690801241731818e-06, + "loss": 0.4095, + "step": 510 + }, + { + "epoch": 0.9558823529411765, + "grad_norm": 9.305144213419574, + "learning_rate": 8.617775036523014e-06, + "loss": 0.4641, + "step": 520 + }, + { + "epoch": 0.9742647058823529, + "grad_norm": 7.973224876288721, + "learning_rate": 8.543092021658259e-06, + "loss": 0.3311, + "step": 530 + }, + { + "epoch": 0.9926470588235294, + "grad_norm": 7.223605900810482, + "learning_rate": 8.466786399247663e-06, + "loss": 0.3561, + "step": 540 + }, + { + "epoch": 1.0110294117647058, + "grad_norm": 7.955108957559817, + "learning_rate": 8.388893114496706e-06, + "loss": 0.3474, + "step": 550 + }, + { + "epoch": 1.0294117647058822, + "grad_norm": 8.495071396849232, + "learning_rate": 8.309447839702583e-06, + "loss": 0.2188, + "step": 560 + }, + { + "epoch": 1.0477941176470589, + "grad_norm": 6.043931760485918, + "learning_rate": 8.228486957917608e-06, + "loss": 0.2178, + "step": 570 + }, + { + "epoch": 1.0661764705882353, + "grad_norm": 6.438867996730345, + "learning_rate": 8.146047546287077e-06, + "loss": 0.2783, + "step": 580 + }, + { + "epoch": 1.0845588235294117, + "grad_norm": 3.6977346854366107, + "learning_rate": 8.062167359069301e-06, + "loss": 0.2463, + "step": 590 + }, + { + "epoch": 1.1029411764705883, + "grad_norm": 6.660661443962452, + "learning_rate": 7.97688481034551e-06, + "loss": 0.2634, + "step": 600 + }, + { + "epoch": 1.1213235294117647, + "grad_norm": 9.365314735040004, + "learning_rate": 7.8902389564276e-06, + "loss": 0.294, + "step": 610 + }, + { + "epoch": 1.1397058823529411, + "grad_norm": 6.992327039164838, + "learning_rate": 7.802269477971771e-06, + "loss": 0.273, + "step": 620 + }, + { + "epoch": 1.1580882352941178, + "grad_norm": 16.22021668710731, + "learning_rate": 7.713016661806213e-06, + "loss": 0.2975, + "step": 630 + }, + { + "epoch": 1.1764705882352942, + "grad_norm": 5.1105720664815, + "learning_rate": 7.622521382481208e-06, + "loss": 0.2831, + "step": 640 + }, + { + "epoch": 1.1948529411764706, + "grad_norm": 18.745915660915887, + "learning_rate": 7.530825083550073e-06, + "loss": 0.3548, + "step": 650 + }, + { + "epoch": 1.213235294117647, + "grad_norm": 10.329160246000239, + "learning_rate": 7.437969758589508e-06, + "loss": 0.2454, + "step": 660 + }, + { + "epoch": 1.2316176470588236, + "grad_norm": 6.408214730217885, + "learning_rate": 7.343997931968068e-06, + "loss": 0.2694, + "step": 670 + }, + { + "epoch": 1.25, + "grad_norm": 7.486293079129486, + "learning_rate": 7.248952639371543e-06, + "loss": 0.3091, + "step": 680 + }, + { + "epoch": 1.2683823529411764, + "grad_norm": 5.956954386852354, + "learning_rate": 7.152877408094179e-06, + "loss": 0.2305, + "step": 690 + }, + { + "epoch": 1.2867647058823528, + "grad_norm": 8.065888848768314, + "learning_rate": 7.055816237104753e-06, + "loss": 0.3002, + "step": 700 + }, + { + "epoch": 1.3051470588235294, + "grad_norm": 3.322320099042565, + "learning_rate": 6.957813576896647e-06, + "loss": 0.2868, + "step": 710 + }, + { + "epoch": 1.3235294117647058, + "grad_norm": 11.20812027560389, + "learning_rate": 6.858914309131131e-06, + "loss": 0.2342, + "step": 720 + }, + { + "epoch": 1.3419117647058822, + "grad_norm": 11.126428155503467, + "learning_rate": 6.7591637260831925e-06, + "loss": 0.2143, + "step": 730 + }, + { + "epoch": 1.3602941176470589, + "grad_norm": 6.169632411834191, + "learning_rate": 6.6586075098993196e-06, + "loss": 0.3071, + "step": 740 + }, + { + "epoch": 1.3786764705882353, + "grad_norm": 8.952863279335729, + "learning_rate": 6.557291711676738e-06, + "loss": 0.2977, + "step": 750 + }, + { + "epoch": 1.3970588235294117, + "grad_norm": 4.407249523532787, + "learning_rate": 6.455262730373673e-06, + "loss": 0.2326, + "step": 760 + }, + { + "epoch": 1.4154411764705883, + "grad_norm": 11.807741453984933, + "learning_rate": 6.352567291560319e-06, + "loss": 0.3158, + "step": 770 + }, + { + "epoch": 1.4338235294117647, + "grad_norm": 13.900682242664102, + "learning_rate": 6.249252426020217e-06, + "loss": 0.3301, + "step": 780 + }, + { + "epoch": 1.4522058823529411, + "grad_norm": 10.2905193894227, + "learning_rate": 6.145365448211866e-06, + "loss": 0.2937, + "step": 790 + }, + { + "epoch": 1.4705882352941178, + "grad_norm": 5.654029084586675, + "learning_rate": 6.040953934600425e-06, + "loss": 0.2229, + "step": 800 + }, + { + "epoch": 1.4889705882352942, + "grad_norm": 7.884909374384519, + "learning_rate": 5.936065701869404e-06, + "loss": 0.3169, + "step": 810 + }, + { + "epoch": 1.5073529411764706, + "grad_norm": 4.885582156638979, + "learning_rate": 5.830748785022369e-06, + "loss": 0.257, + "step": 820 + }, + { + "epoch": 1.5257352941176472, + "grad_norm": 10.069197658253753, + "learning_rate": 5.725051415384657e-06, + "loss": 0.2766, + "step": 830 + }, + { + "epoch": 1.5441176470588234, + "grad_norm": 8.25370914927739, + "learning_rate": 5.619021998515165e-06, + "loss": 0.2385, + "step": 840 + }, + { + "epoch": 1.5625, + "grad_norm": 4.810424736549512, + "learning_rate": 5.51270909203838e-06, + "loss": 0.2844, + "step": 850 + }, + { + "epoch": 1.5808823529411766, + "grad_norm": 10.0208212747629, + "learning_rate": 5.40616138340673e-06, + "loss": 0.2924, + "step": 860 + }, + { + "epoch": 1.5992647058823528, + "grad_norm": 13.748183320384355, + "learning_rate": 5.299427667603516e-06, + "loss": 0.2826, + "step": 870 + }, + { + "epoch": 1.6176470588235294, + "grad_norm": 2.892654980772666, + "learning_rate": 5.1925568247965686e-06, + "loss": 0.2106, + "step": 880 + }, + { + "epoch": 1.6360294117647058, + "grad_norm": 4.016652056640837, + "learning_rate": 5.085597797952906e-06, + "loss": 0.3306, + "step": 890 + }, + { + "epoch": 1.6544117647058822, + "grad_norm": 4.348213620564617, + "learning_rate": 4.97859957042464e-06, + "loss": 0.2227, + "step": 900 + }, + { + "epoch": 1.6727941176470589, + "grad_norm": 8.314405849156318, + "learning_rate": 4.871611143516367e-06, + "loss": 0.2275, + "step": 910 + }, + { + "epoch": 1.6911764705882353, + "grad_norm": 3.1251931465193747, + "learning_rate": 4.7646815140443625e-06, + "loss": 0.2966, + "step": 920 + }, + { + "epoch": 1.7095588235294117, + "grad_norm": 2.9353246185637287, + "learning_rate": 4.657859651897807e-06, + "loss": 0.228, + "step": 930 + }, + { + "epoch": 1.7279411764705883, + "grad_norm": 4.988890457346432, + "learning_rate": 4.551194477612351e-06, + "loss": 0.2694, + "step": 940 + }, + { + "epoch": 1.7463235294117647, + "grad_norm": 2.1319176010435252, + "learning_rate": 4.444734839966306e-06, + "loss": 0.1944, + "step": 950 + }, + { + "epoch": 1.7647058823529411, + "grad_norm": 4.43095941592791, + "learning_rate": 4.338529493609647e-06, + "loss": 0.2479, + "step": 960 + }, + { + "epoch": 1.7830882352941178, + "grad_norm": 4.620277796996259, + "learning_rate": 4.232627076736181e-06, + "loss": 0.1819, + "step": 970 + }, + { + "epoch": 1.8014705882352942, + "grad_norm": 9.324548402262511, + "learning_rate": 4.127076088809e-06, + "loss": 0.2514, + "step": 980 + }, + { + "epoch": 1.8198529411764706, + "grad_norm": 9.685553327436127, + "learning_rate": 4.021924868349493e-06, + "loss": 0.24, + "step": 990 + }, + { + "epoch": 1.8382352941176472, + "grad_norm": 4.557597261535076, + "learning_rate": 3.9172215708000655e-06, + "loss": 0.2477, + "step": 1000 + }, + { + "epoch": 1.8566176470588234, + "grad_norm": 7.730856763833525, + "learning_rate": 3.8130141464706806e-06, + "loss": 0.2207, + "step": 1010 + }, + { + "epoch": 1.875, + "grad_norm": 6.292936274037211, + "learning_rate": 3.709350318579371e-06, + "loss": 0.2634, + "step": 1020 + }, + { + "epoch": 1.8933823529411766, + "grad_norm": 3.506287081857162, + "learning_rate": 3.606277561396726e-06, + "loss": 0.236, + "step": 1030 + }, + { + "epoch": 1.9117647058823528, + "grad_norm": 5.326613968704466, + "learning_rate": 3.503843078504405e-06, + "loss": 0.2132, + "step": 1040 + }, + { + "epoch": 1.9301470588235294, + "grad_norm": 4.120806515275935, + "learning_rate": 3.4020937811776154e-06, + "loss": 0.2088, + "step": 1050 + }, + { + "epoch": 1.9485294117647058, + "grad_norm": 12.349465603173341, + "learning_rate": 3.301076266901435e-06, + "loss": 0.2413, + "step": 1060 + }, + { + "epoch": 1.9669117647058822, + "grad_norm": 9.063898128342878, + "learning_rate": 3.2008367980308737e-06, + "loss": 0.2271, + "step": 1070 + }, + { + "epoch": 1.9852941176470589, + "grad_norm": 7.508365526935029, + "learning_rate": 3.1014212806043794e-06, + "loss": 0.2285, + "step": 1080 + }, + { + "epoch": 2.0036764705882355, + "grad_norm": 4.625627595178375, + "learning_rate": 3.0028752433205475e-06, + "loss": 0.1852, + "step": 1090 + }, + { + "epoch": 2.0220588235294117, + "grad_norm": 4.4357477825464935, + "learning_rate": 2.9052438166876305e-06, + "loss": 0.1519, + "step": 1100 + }, + { + "epoch": 2.0404411764705883, + "grad_norm": 7.270033498844353, + "learning_rate": 2.808571712355389e-06, + "loss": 0.1601, + "step": 1110 + }, + { + "epoch": 2.0588235294117645, + "grad_norm": 5.430788007652682, + "learning_rate": 2.7129032026388046e-06, + "loss": 0.1264, + "step": 1120 + }, + { + "epoch": 2.077205882352941, + "grad_norm": 5.229399168057504, + "learning_rate": 2.618282100242935e-06, + "loss": 0.137, + "step": 1130 + }, + { + "epoch": 2.0955882352941178, + "grad_norm": 3.2530670171730063, + "learning_rate": 2.5247517381983137e-06, + "loss": 0.1085, + "step": 1140 + }, + { + "epoch": 2.113970588235294, + "grad_norm": 6.719943927301841, + "learning_rate": 2.4323549500159806e-06, + "loss": 0.1258, + "step": 1150 + }, + { + "epoch": 2.1323529411764706, + "grad_norm": 3.3488917523348367, + "learning_rate": 2.3411340500712833e-06, + "loss": 0.1046, + "step": 1160 + }, + { + "epoch": 2.150735294117647, + "grad_norm": 4.657370433299325, + "learning_rate": 2.251130814225449e-06, + "loss": 0.092, + "step": 1170 + }, + { + "epoch": 2.1691176470588234, + "grad_norm": 2.9670688472212303, + "learning_rate": 2.16238646069373e-06, + "loss": 0.0868, + "step": 1180 + }, + { + "epoch": 2.1875, + "grad_norm": 8.131857870303, + "learning_rate": 2.0749416311689845e-06, + "loss": 0.1059, + "step": 1190 + }, + { + "epoch": 2.2058823529411766, + "grad_norm": 10.154475227479216, + "learning_rate": 1.9888363722092376e-06, + "loss": 0.098, + "step": 1200 + }, + { + "epoch": 2.224264705882353, + "grad_norm": 2.0050786002974026, + "learning_rate": 1.9041101168978094e-06, + "loss": 0.108, + "step": 1210 + }, + { + "epoch": 2.2426470588235294, + "grad_norm": 8.439945942355502, + "learning_rate": 1.8208016667844153e-06, + "loss": 0.1039, + "step": 1220 + }, + { + "epoch": 2.261029411764706, + "grad_norm": 8.60486564105295, + "learning_rate": 1.7389491741154373e-06, + "loss": 0.1132, + "step": 1230 + }, + { + "epoch": 2.2794117647058822, + "grad_norm": 4.696484712814838, + "learning_rate": 1.6585901243616044e-06, + "loss": 0.0999, + "step": 1240 + }, + { + "epoch": 2.297794117647059, + "grad_norm": 4.6231552830326255, + "learning_rate": 1.5797613190509908e-06, + "loss": 0.1059, + "step": 1250 + }, + { + "epoch": 2.3161764705882355, + "grad_norm": 3.6902436160334737, + "learning_rate": 1.502498858915254e-06, + "loss": 0.1186, + "step": 1260 + }, + { + "epoch": 2.3345588235294117, + "grad_norm": 2.5370814512282176, + "learning_rate": 1.4268381273568232e-06, + "loss": 0.1018, + "step": 1270 + }, + { + "epoch": 2.3529411764705883, + "grad_norm": 3.8657043800430584, + "learning_rate": 1.352813774244565e-06, + "loss": 0.0953, + "step": 1280 + }, + { + "epoch": 2.3713235294117645, + "grad_norm": 3.432166252044578, + "learning_rate": 1.2804597000454217e-06, + "loss": 0.1211, + "step": 1290 + }, + { + "epoch": 2.389705882352941, + "grad_norm": 4.3716222719550935, + "learning_rate": 1.2098090402992085e-06, + "loss": 0.1821, + "step": 1300 + }, + { + "epoch": 2.4080882352941178, + "grad_norm": 7.998384499842822, + "learning_rate": 1.1408941504437533e-06, + "loss": 0.1263, + "step": 1310 + }, + { + "epoch": 2.426470588235294, + "grad_norm": 3.850208203788365, + "learning_rate": 1.0737465909972778e-06, + "loss": 0.0792, + "step": 1320 + }, + { + "epoch": 2.4448529411764706, + "grad_norm": 3.688555564340551, + "learning_rate": 1.0083971131048158e-06, + "loss": 0.1395, + "step": 1330 + }, + { + "epoch": 2.463235294117647, + "grad_norm": 4.6455960796035, + "learning_rate": 9.448756444553226e-07, + "loss": 0.1168, + "step": 1340 + }, + { + "epoch": 2.4816176470588234, + "grad_norm": 4.203311959035869, + "learning_rate": 8.832112755758598e-07, + "loss": 0.0876, + "step": 1350 + }, + { + "epoch": 2.5, + "grad_norm": 3.3555040280656607, + "learning_rate": 8.234322465092049e-07, + "loss": 0.1019, + "step": 1360 + }, + { + "epoch": 2.5183823529411766, + "grad_norm": 4.650061051052002, + "learning_rate": 7.655659338809329e-07, + "loss": 0.1377, + "step": 1370 + }, + { + "epoch": 2.536764705882353, + "grad_norm": 6.813560936019147, + "learning_rate": 7.09638838361908e-07, + "loss": 0.0879, + "step": 1380 + }, + { + "epoch": 2.5551470588235294, + "grad_norm": 3.7280612376648845, + "learning_rate": 6.556765725319525e-07, + "loss": 0.0958, + "step": 1390 + }, + { + "epoch": 2.5735294117647056, + "grad_norm": 9.06780320870103, + "learning_rate": 6.037038491501978e-07, + "loss": 0.0994, + "step": 1400 + }, + { + "epoch": 2.5919117647058822, + "grad_norm": 3.786951767893351, + "learning_rate": 5.53744469837551e-07, + "loss": 0.0818, + "step": 1410 + }, + { + "epoch": 2.610294117647059, + "grad_norm": 6.614547209289121, + "learning_rate": 5.058213141764151e-07, + "loss": 0.1018, + "step": 1420 + }, + { + "epoch": 2.6286764705882355, + "grad_norm": 1.3227088771313298, + "learning_rate": 4.599563292326592e-07, + "loss": 0.0874, + "step": 1430 + }, + { + "epoch": 2.6470588235294117, + "grad_norm": 4.123067760097869, + "learning_rate": 4.1617051950467613e-07, + "loss": 0.1395, + "step": 1440 + }, + { + "epoch": 2.6654411764705883, + "grad_norm": 3.277587387385848, + "learning_rate": 3.744839373040682e-07, + "loss": 0.1316, + "step": 1450 + }, + { + "epoch": 2.6838235294117645, + "grad_norm": 7.242903909781894, + "learning_rate": 3.3491567357242736e-07, + "loss": 0.1149, + "step": 1460 + }, + { + "epoch": 2.702205882352941, + "grad_norm": 6.625461967024777, + "learning_rate": 2.9748384913837525e-07, + "loss": 0.0907, + "step": 1470 + }, + { + "epoch": 2.7205882352941178, + "grad_norm": 7.203659881581687, + "learning_rate": 2.6220560641887385e-07, + "loss": 0.1253, + "step": 1480 + }, + { + "epoch": 2.7389705882352944, + "grad_norm": 6.378763396607792, + "learning_rate": 2.2909710156863275e-07, + "loss": 0.098, + "step": 1490 + }, + { + "epoch": 2.7573529411764706, + "grad_norm": 7.337516899008145, + "learning_rate": 1.981734970811644e-07, + "loss": 0.1071, + "step": 1500 + } + ], + "logging_steps": 10, + "max_steps": 1632, + "num_input_tokens_seen": 0, + "num_train_epochs": 3, + "save_steps": 500, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 226842181632.0, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-1500/training_args.bin b/checkpoint-1500/training_args.bin new file mode 100644 index 0000000..10fbb2a --- /dev/null +++ b/checkpoint-1500/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4bebf5c7141bddbed6a7feb4bf1a35ed3fbf020c7c4dc7ab21f6f30268f7e3 +size 7352 diff --git a/checkpoint-1500/zero_to_fp32.py b/checkpoint-1500/zero_to_fp32.py new file mode 100644 index 0000000..0e75914 --- /dev/null +++ b/checkpoint-1500/zero_to_fp32.py @@ -0,0 +1,760 @@ +#!/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 . output_dir/ +# or +# python zero_to_fp32.py . output_dir/ --safe_serialization + +import argparse +import torch +import glob +import math +import os +import re +import gc +import json +import numpy as np +from tqdm import tqdm +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, weights_only=False) + + 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 tqdm(files, desc='Loading checkpoint shards'): + state_dict = torch.load(f, map_location=device, mmap=True, weights_only=False) + # 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}") + + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] 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, exclude_frozen_parameters): + """ + 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, + exclude_frozen_parameters) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states, + exclude_frozen_parameters) + + +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, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _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") + + +class GatheredTensor: + """ + A pseudo tensor that collects partitioned weights. + It is more memory efficient when there are multiple groups. + """ + + def __init__(self, flat_groups, flat_groups_offset, offset, partitioned_numel, shape): + self.flat_groups = flat_groups + self.flat_groups_offset = flat_groups_offset + self.offset = offset + self.partitioned_numel = partitioned_numel + self.shape = shape + self.dtype = self.flat_groups[0][0].dtype + + def contiguous(self): + """ + Merge partitioned weights from flat_groups into a single tensor. + """ + end_idx = self.offset + self.partitioned_numel + world_size = len(self.flat_groups) + pad_flat_param_chunks = [] + + for rank_i in range(world_size): + # for each rank, we need to collect weights from related group/groups + flat_groups_at_rank_i = self.flat_groups[rank_i] + start_group_id = None + end_group_id = None + for group_id in range(len(self.flat_groups_offset)): + if self.flat_groups_offset[group_id] <= self.offset < self.flat_groups_offset[group_id + 1]: + start_group_id = group_id + if self.flat_groups_offset[group_id] < end_idx <= self.flat_groups_offset[group_id + 1]: + end_group_id = group_id + break + # collect weights from related group/groups + for group_id in range(start_group_id, end_group_id + 1): + flat_tensor = flat_groups_at_rank_i[group_id] + start_offset = self.offset - self.flat_groups_offset[group_id] + end_offset = min(end_idx, self.flat_groups_offset[group_id + 1]) - self.flat_groups_offset[group_id] + pad_flat_param_chunks.append(flat_tensor[start_offset:end_offset]) + + # collect weights from all ranks + pad_flat_param = torch.cat(pad_flat_param_chunks, dim=0) + param = pad_flat_param[:self.shape.numel()].view(self.shape).contiguous() + return param + + +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 = sum([flat_group.numel() for flat_group in fp32_flat_groups[0]]) * 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 + flat_groups_offset = [0] + list(np.cumsum([flat_tensor.numel() for flat_tensor in fp32_flat_groups[0]])) + for name, shape in tqdm(param_shapes.items(), desc='Gathering sharded weights'): + 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}" + ) + + # memory efficient tensor + tensor = GatheredTensor(fp32_flat_groups, flat_groups_offset, offset, partitioned_numel, shape) + state_dict[name] = tensor + 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, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _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 to_torch_tensor(state_dict, return_empty_tensor=False): + """ + Convert state_dict of GatheredTensor to torch tensor + """ + torch_state_dict = {} + converted_tensors = {} + for name, tensor in state_dict.items(): + tensor_id = id(tensor) + if tensor_id in converted_tensors: # shared tensors + shared_tensor = torch_state_dict[converted_tensors[tensor_id]] + torch_state_dict[name] = shared_tensor + else: + converted_tensors[tensor_id] = name + if return_empty_tensor: + torch_state_dict[name] = torch.empty(tensor.shape, dtype=tensor.dtype) + else: + torch_state_dict[name] = tensor.contiguous() + return torch_state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag=None, + exclude_frozen_parameters=False, + lazy_mode=False): + """ + 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`` + - ``exclude_frozen_parameters``: exclude frozen parameters + - ``lazy_mode``: get state_dict in lazy mode. It returns a dict of pesduo tensor instead of torch tensor, which is more memory efficient. + Convert the pesduo tensor to torch tensor by ``.contiguous()`` + + Returns: + - pytorch ``state_dict`` + + 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. + + Note: the above usage may not work if your application doesn't have sufficient free CPU memory. + You may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. Or you can load state_dict in lazy mode :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, lazy_mode=True) # not on cpu + for name, lazy_tensor in state_dict.item(): + tensor = lazy_tensor.contiguous() # to cpu + print(name, tensor) + # del tensor to release memory if it no longer in use + """ + 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") + + state_dict = _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters) + if lazy_mode: + return state_dict + else: + return to_torch_tensor(state_dict) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, + output_dir, + max_shard_size="5GB", + safe_serialization=False, + tag=None, + exclude_frozen_parameters=False): + """ + 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_dir``: directory to the pytorch fp32 state_dict output files + - ``max_shard_size``: the maximum size for a checkpoint before being sharded, default value is 5GB + - ``safe_serialization``: whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`). + - ``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`` + - ``exclude_frozen_parameters``: exclude frozen parameters + """ + + # Dependency pre-check + if safe_serialization: + try: + from safetensors.torch import save_file + except ImportError: + print('If you want to use `safe_serialization`, please `pip install safetensors`') + raise + if max_shard_size is not None: + try: + from huggingface_hub import split_torch_state_dict_into_shards + except ImportError: + print('If you want to use `max_shard_size`, please `pip install huggingface_hub`') + raise + + # Convert zero checkpoint to state_dict + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag, + exclude_frozen_parameters, + lazy_mode=True) + + # Shard the model if it is too big. + weights_name = "model.safetensors" if safe_serialization else "pytorch_model.bin" + if max_shard_size is not None: + filename_pattern = weights_name.replace(".bin", "{suffix}.bin").replace(".safetensors", "{suffix}.safetensors") + # an memory-efficient approach for sharding + empty_state_dict = to_torch_tensor(state_dict, return_empty_tensor=True) + state_dict_split = split_torch_state_dict_into_shards(empty_state_dict, + filename_pattern=filename_pattern, + max_shard_size=max_shard_size) + else: + from collections import namedtuple + StateDictSplit = namedtuple("StateDictSplit", ["is_sharded", "filename_to_tensors"]) + state_dict_split = StateDictSplit(is_sharded=False, + filename_to_tensors={weights_name: list(state_dict.keys())}) + + # Save the model by shard + os.makedirs(output_dir, exist_ok=True) + filename_to_tensors = state_dict_split.filename_to_tensors.items() + for shard_file, tensors in tqdm(filename_to_tensors, desc="Saving checkpoint shards"): + shard_state_dict = {tensor_name: state_dict[tensor_name] for tensor_name in tensors} + shard_state_dict = to_torch_tensor(shard_state_dict) + output_path = os.path.join(output_dir, shard_file) + if safe_serialization: + save_file(shard_state_dict, output_path, metadata={"format": "pt"}) + else: + torch.save(shard_state_dict, output_path) + # release the memory of current shard + for tensor_name in list(shard_state_dict.keys()): + del state_dict[tensor_name] + del shard_state_dict[tensor_name] + del shard_state_dict + gc.collect() + + # Save index if sharded + if state_dict_split.is_sharded: + index = { + "metadata": state_dict_split.metadata, + "weight_map": state_dict_split.tensor_to_filename, + } + save_index_file = "model.safetensors.index.json" if safe_serialization else "pytorch_model.bin.index.json" + save_index_file = os.path.join(output_dir, save_index_file) + with open(save_index_file, "w", encoding="utf-8") as f: + content = json.dumps(index, indent=2, sort_keys=True) + "\n" + f.write(content) + + +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_dir", + type=str, + help="directory to the pytorch fp32 state_dict output files" + "(e.g. path/checkpoint-12-output/)") + parser.add_argument( + "--max_shard_size", + type=str, + default="5GB", + help="The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size" + "lower than this size. If expressed as a string, needs to be digits followed by a unit (like `5MB`" + "We default it to 5GB in order for models to be able to run easily on free-tier google colab instances" + "without CPU OOM issues.") + parser.add_argument( + "--safe_serialization", + default=False, + action='store_true', + help="Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).") + 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("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters") + 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_dir, + max_shard_size=args.max_shard_size, + safe_serialization=args.safe_serialization, + tag=args.tag, + exclude_frozen_parameters=args.exclude_frozen_parameters) diff --git a/checkpoint-1632/config.json b/checkpoint-1632/config.json new file mode 100644 index 0000000..5a1694f --- /dev/null +++ b/checkpoint-1632/config.json @@ -0,0 +1,36 @@ +{ + "_name_or_path": "meta-llama/Llama-3.2-1B", + "architectures": [ + "LlamaForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 128000, + "eos_token_id": 128001, + "head_dim": 64, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 8192, + "max_position_embeddings": 131072, + "mlp_bias": false, + "model_type": "llama", + "num_attention_heads": 32, + "num_hidden_layers": 16, + "num_key_value_heads": 8, + "pretraining_tp": 1, + "rms_norm_eps": 1e-05, + "rope_scaling": { + "factor": 32.0, + "high_freq_factor": 4.0, + "low_freq_factor": 1.0, + "original_max_position_embeddings": 8192, + "rope_type": "llama3" + }, + "rope_theta": 500000.0, + "tie_word_embeddings": true, + "torch_dtype": "bfloat16", + "transformers_version": "4.46.1", + "use_cache": false, + "vocab_size": 128256 +} diff --git a/checkpoint-1632/generation_config.json b/checkpoint-1632/generation_config.json new file mode 100644 index 0000000..eab5082 --- /dev/null +++ b/checkpoint-1632/generation_config.json @@ -0,0 +1,9 @@ +{ + "_from_model_config": true, + "bos_token_id": 128000, + "do_sample": true, + "eos_token_id": 128001, + "temperature": 0.6, + "top_p": 0.9, + "transformers_version": "4.46.1" +} diff --git a/checkpoint-1632/global_step1632/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/checkpoint-1632/global_step1632/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000..7defc50 --- /dev/null +++ b/checkpoint-1632/global_step1632/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:46b7ba153e6a773ec5bb4f19f823a41bf3262a6e785936ec134ed20e02588fdf +size 14829779262 diff --git a/checkpoint-1632/global_step1632/zero_pp_rank_0_mp_rank_00_model_states.pt b/checkpoint-1632/global_step1632/zero_pp_rank_0_mp_rank_00_model_states.pt new file mode 100644 index 0000000..37d5178 --- /dev/null +++ b/checkpoint-1632/global_step1632/zero_pp_rank_0_mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5acab3879626811ad85f5df10c5139869df0cb796888beee5202ff8554e87206 +size 76664 diff --git a/checkpoint-1632/latest b/checkpoint-1632/latest new file mode 100644 index 0000000..c5a1134 --- /dev/null +++ b/checkpoint-1632/latest @@ -0,0 +1 @@ +global_step1632 \ No newline at end of file diff --git a/checkpoint-1632/model.safetensors b/checkpoint-1632/model.safetensors new file mode 100644 index 0000000..1b87b65 --- /dev/null +++ b/checkpoint-1632/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:297c740fd49c32381d3300f0f09c71cffc651269dd89120d8e28cf8032173667 +size 2471645608 diff --git a/checkpoint-1632/rng_state.pth b/checkpoint-1632/rng_state.pth new file mode 100644 index 0000000..fb20aa3 --- /dev/null +++ b/checkpoint-1632/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b5fa02ce1f2057ffdcccd86019817387a38e6b835bf0ecf5d2277b489b598e7 +size 14244 diff --git a/checkpoint-1632/scheduler.pt b/checkpoint-1632/scheduler.pt new file mode 100644 index 0000000..521d254 --- /dev/null +++ b/checkpoint-1632/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b641a7a33fc204d057f4018cff79d83370a7ec087a5e1a7e9641a81a0c087fd4 +size 1064 diff --git a/checkpoint-1632/special_tokens_map.json b/checkpoint-1632/special_tokens_map.json new file mode 100644 index 0000000..426a800 --- /dev/null +++ b/checkpoint-1632/special_tokens_map.json @@ -0,0 +1,33 @@ +{ + "additional_special_tokens": [ + { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } + ], + "bos_token": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": "<|end_of_text|>" +} diff --git a/checkpoint-1632/tokenizer.json b/checkpoint-1632/tokenizer.json new file mode 100644 index 0000000..1c1d8d5 --- /dev/null +++ b/checkpoint-1632/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b9e4e7fb171f92fd137b777cc2714bf87d11576700a1dcd7a399e7bbe39537b +size 17209920 diff --git a/checkpoint-1632/tokenizer_config.json b/checkpoint-1632/tokenizer_config.json new file mode 100644 index 0000000..3a8f322 --- /dev/null +++ b/checkpoint-1632/tokenizer_config.json @@ -0,0 +1,2069 @@ +{ + "added_tokens_decoder": { + "128000": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128001": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128002": { + "content": "<|reserved_special_token_0|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128003": { + "content": "<|reserved_special_token_1|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128004": { + "content": "<|finetune_right_pad_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128005": { + "content": "<|reserved_special_token_2|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128006": { + "content": "<|start_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128007": { + "content": "<|end_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128008": { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128009": { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128010": { + "content": "<|python_tag|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128011": { + "content": "<|reserved_special_token_3|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128012": { + "content": "<|reserved_special_token_4|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128013": { + "content": "<|reserved_special_token_5|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128014": { + "content": "<|reserved_special_token_6|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128015": { + "content": "<|reserved_special_token_7|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128016": { + "content": "<|reserved_special_token_8|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128017": { + "content": "<|reserved_special_token_9|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128018": { + "content": "<|reserved_special_token_10|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128019": { + "content": "<|reserved_special_token_11|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128020": { + "content": "<|reserved_special_token_12|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128021": { + "content": "<|reserved_special_token_13|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128022": { + "content": "<|reserved_special_token_14|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128023": { + "content": "<|reserved_special_token_15|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128024": { + "content": "<|reserved_special_token_16|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128025": { + "content": "<|reserved_special_token_17|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128026": { + "content": "<|reserved_special_token_18|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128027": { + "content": "<|reserved_special_token_19|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128028": { + "content": "<|reserved_special_token_20|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128029": { + "content": "<|reserved_special_token_21|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128030": { + "content": "<|reserved_special_token_22|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128031": { + "content": "<|reserved_special_token_23|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128032": { + "content": "<|reserved_special_token_24|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128033": { + "content": "<|reserved_special_token_25|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128034": { + "content": "<|reserved_special_token_26|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128035": { + "content": "<|reserved_special_token_27|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128036": { + "content": "<|reserved_special_token_28|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128037": { + "content": "<|reserved_special_token_29|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128038": { + "content": "<|reserved_special_token_30|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128039": { + "content": "<|reserved_special_token_31|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128040": { + "content": "<|reserved_special_token_32|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128041": { + "content": "<|reserved_special_token_33|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128042": { + "content": "<|reserved_special_token_34|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128043": { + "content": "<|reserved_special_token_35|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128044": { + "content": "<|reserved_special_token_36|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128045": { + "content": "<|reserved_special_token_37|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128046": { + "content": "<|reserved_special_token_38|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128047": { + "content": "<|reserved_special_token_39|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128048": { + "content": "<|reserved_special_token_40|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128049": { + "content": "<|reserved_special_token_41|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128050": { + "content": "<|reserved_special_token_42|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128051": { + "content": "<|reserved_special_token_43|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128052": { + "content": "<|reserved_special_token_44|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128053": { + "content": "<|reserved_special_token_45|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128054": { + "content": "<|reserved_special_token_46|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128055": { + "content": "<|reserved_special_token_47|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128056": { + "content": "<|reserved_special_token_48|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128057": { + "content": "<|reserved_special_token_49|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128058": { + "content": "<|reserved_special_token_50|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128059": { + "content": "<|reserved_special_token_51|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128060": { + "content": "<|reserved_special_token_52|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128061": { + "content": "<|reserved_special_token_53|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128062": { + "content": "<|reserved_special_token_54|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128063": { + "content": "<|reserved_special_token_55|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128064": { + "content": "<|reserved_special_token_56|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128065": { + "content": "<|reserved_special_token_57|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128066": { + "content": "<|reserved_special_token_58|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128067": { + "content": "<|reserved_special_token_59|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128068": { + "content": "<|reserved_special_token_60|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128069": { + "content": "<|reserved_special_token_61|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128070": { + "content": "<|reserved_special_token_62|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128071": { + "content": "<|reserved_special_token_63|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128072": { + "content": "<|reserved_special_token_64|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128073": { + "content": "<|reserved_special_token_65|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128074": { + "content": "<|reserved_special_token_66|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128075": { + "content": "<|reserved_special_token_67|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128076": { + "content": "<|reserved_special_token_68|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128077": { + "content": "<|reserved_special_token_69|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128078": { + "content": "<|reserved_special_token_70|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128079": { + "content": "<|reserved_special_token_71|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128080": { + "content": "<|reserved_special_token_72|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128081": { + "content": "<|reserved_special_token_73|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128082": { + "content": "<|reserved_special_token_74|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128083": { + "content": "<|reserved_special_token_75|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128084": { + "content": "<|reserved_special_token_76|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128085": { + "content": "<|reserved_special_token_77|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128086": { + "content": "<|reserved_special_token_78|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128087": { + "content": "<|reserved_special_token_79|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128088": { + "content": "<|reserved_special_token_80|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128089": { + "content": "<|reserved_special_token_81|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128090": { + "content": "<|reserved_special_token_82|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128091": { + "content": "<|reserved_special_token_83|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128092": { + "content": "<|reserved_special_token_84|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128093": { + "content": "<|reserved_special_token_85|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128094": { + "content": "<|reserved_special_token_86|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128095": { + "content": "<|reserved_special_token_87|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128096": { + "content": "<|reserved_special_token_88|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128097": { + "content": "<|reserved_special_token_89|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128098": { + "content": "<|reserved_special_token_90|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128099": { + "content": "<|reserved_special_token_91|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128100": { + "content": "<|reserved_special_token_92|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128101": { + "content": "<|reserved_special_token_93|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128102": { + "content": "<|reserved_special_token_94|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128103": { + "content": "<|reserved_special_token_95|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128104": { + "content": "<|reserved_special_token_96|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128105": { + "content": "<|reserved_special_token_97|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128106": { + "content": "<|reserved_special_token_98|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128107": { + "content": "<|reserved_special_token_99|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128108": { + "content": "<|reserved_special_token_100|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128109": { + "content": "<|reserved_special_token_101|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128110": { + "content": "<|reserved_special_token_102|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128111": { + "content": "<|reserved_special_token_103|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128112": { + "content": "<|reserved_special_token_104|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128113": { + "content": "<|reserved_special_token_105|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128114": { + "content": "<|reserved_special_token_106|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128115": { + "content": "<|reserved_special_token_107|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128116": { + "content": "<|reserved_special_token_108|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128117": { + "content": "<|reserved_special_token_109|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128118": { + "content": "<|reserved_special_token_110|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128119": { + "content": "<|reserved_special_token_111|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128120": { + "content": "<|reserved_special_token_112|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128121": { + "content": "<|reserved_special_token_113|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128122": { + "content": "<|reserved_special_token_114|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128123": { + "content": "<|reserved_special_token_115|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128124": { + "content": "<|reserved_special_token_116|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128125": { + "content": "<|reserved_special_token_117|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128126": { + "content": "<|reserved_special_token_118|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128127": { + "content": "<|reserved_special_token_119|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128128": { + "content": "<|reserved_special_token_120|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128129": { + "content": "<|reserved_special_token_121|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128130": { + "content": "<|reserved_special_token_122|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128131": { + "content": "<|reserved_special_token_123|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128132": { + "content": "<|reserved_special_token_124|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128133": { + "content": "<|reserved_special_token_125|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128134": { + "content": "<|reserved_special_token_126|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128135": { + "content": "<|reserved_special_token_127|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128136": { + "content": "<|reserved_special_token_128|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128137": { + "content": "<|reserved_special_token_129|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128138": { + "content": "<|reserved_special_token_130|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128139": { + "content": "<|reserved_special_token_131|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128140": { + "content": "<|reserved_special_token_132|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128141": { + "content": "<|reserved_special_token_133|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128142": { + "content": "<|reserved_special_token_134|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128143": { + "content": "<|reserved_special_token_135|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128144": { + "content": "<|reserved_special_token_136|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128145": { + "content": "<|reserved_special_token_137|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128146": { + "content": "<|reserved_special_token_138|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128147": { + "content": "<|reserved_special_token_139|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128148": { + "content": "<|reserved_special_token_140|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128149": { + "content": "<|reserved_special_token_141|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128150": { + "content": "<|reserved_special_token_142|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128151": { + "content": "<|reserved_special_token_143|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128152": { + "content": "<|reserved_special_token_144|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128153": { + "content": "<|reserved_special_token_145|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128154": { + "content": "<|reserved_special_token_146|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128155": { + "content": "<|reserved_special_token_147|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128156": { + "content": "<|reserved_special_token_148|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128157": { + "content": "<|reserved_special_token_149|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128158": { + "content": "<|reserved_special_token_150|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128159": { + "content": "<|reserved_special_token_151|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128160": { + "content": "<|reserved_special_token_152|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128161": { + "content": "<|reserved_special_token_153|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128162": { + "content": "<|reserved_special_token_154|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128163": { + "content": "<|reserved_special_token_155|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128164": { + "content": "<|reserved_special_token_156|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128165": { + "content": "<|reserved_special_token_157|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128166": { + "content": "<|reserved_special_token_158|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128167": { + "content": "<|reserved_special_token_159|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128168": { + "content": "<|reserved_special_token_160|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128169": { + "content": "<|reserved_special_token_161|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128170": { + "content": "<|reserved_special_token_162|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128171": { + "content": "<|reserved_special_token_163|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128172": { + "content": "<|reserved_special_token_164|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128173": { + "content": "<|reserved_special_token_165|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128174": { + "content": "<|reserved_special_token_166|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128175": { + "content": "<|reserved_special_token_167|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128176": { + "content": "<|reserved_special_token_168|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128177": { + "content": "<|reserved_special_token_169|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128178": { + "content": "<|reserved_special_token_170|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128179": { + "content": "<|reserved_special_token_171|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128180": { + "content": "<|reserved_special_token_172|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128181": { + "content": "<|reserved_special_token_173|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128182": { + "content": "<|reserved_special_token_174|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128183": { + "content": "<|reserved_special_token_175|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128184": { + "content": "<|reserved_special_token_176|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128185": { + "content": "<|reserved_special_token_177|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128186": { + "content": "<|reserved_special_token_178|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128187": { + "content": "<|reserved_special_token_179|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128188": { + "content": "<|reserved_special_token_180|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128189": { + "content": "<|reserved_special_token_181|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128190": { + "content": "<|reserved_special_token_182|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128191": { + "content": "<|reserved_special_token_183|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128192": { + "content": "<|reserved_special_token_184|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128193": { + "content": "<|reserved_special_token_185|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128194": { + "content": "<|reserved_special_token_186|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128195": { + "content": "<|reserved_special_token_187|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128196": { + "content": "<|reserved_special_token_188|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128197": { + "content": "<|reserved_special_token_189|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128198": { + "content": "<|reserved_special_token_190|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128199": { + "content": "<|reserved_special_token_191|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128200": { + "content": "<|reserved_special_token_192|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128201": { + "content": "<|reserved_special_token_193|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128202": { + "content": "<|reserved_special_token_194|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128203": { + "content": "<|reserved_special_token_195|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128204": { + "content": "<|reserved_special_token_196|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128205": { + "content": "<|reserved_special_token_197|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128206": { + "content": "<|reserved_special_token_198|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128207": { + "content": "<|reserved_special_token_199|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128208": { + "content": "<|reserved_special_token_200|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128209": { + "content": "<|reserved_special_token_201|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128210": { + "content": "<|reserved_special_token_202|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128211": { + "content": "<|reserved_special_token_203|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128212": { + "content": "<|reserved_special_token_204|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128213": { + "content": "<|reserved_special_token_205|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128214": { + "content": "<|reserved_special_token_206|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128215": { + "content": "<|reserved_special_token_207|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128216": { + "content": "<|reserved_special_token_208|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128217": { + "content": "<|reserved_special_token_209|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128218": { + "content": "<|reserved_special_token_210|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128219": { + "content": "<|reserved_special_token_211|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128220": { + "content": "<|reserved_special_token_212|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128221": { + "content": "<|reserved_special_token_213|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128222": { + "content": "<|reserved_special_token_214|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128223": { + "content": "<|reserved_special_token_215|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128224": { + "content": "<|reserved_special_token_216|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128225": { + "content": "<|reserved_special_token_217|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128226": { + "content": "<|reserved_special_token_218|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128227": { + "content": "<|reserved_special_token_219|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128228": { + "content": "<|reserved_special_token_220|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128229": { + "content": "<|reserved_special_token_221|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128230": { + "content": "<|reserved_special_token_222|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128231": { + "content": "<|reserved_special_token_223|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128232": { + "content": "<|reserved_special_token_224|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128233": { + "content": "<|reserved_special_token_225|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128234": { + "content": "<|reserved_special_token_226|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128235": { + "content": "<|reserved_special_token_227|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128236": { + "content": "<|reserved_special_token_228|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128237": { + "content": "<|reserved_special_token_229|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128238": { + "content": "<|reserved_special_token_230|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128239": { + "content": "<|reserved_special_token_231|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128240": { + "content": "<|reserved_special_token_232|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128241": { + "content": "<|reserved_special_token_233|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128242": { + "content": "<|reserved_special_token_234|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128243": { + "content": "<|reserved_special_token_235|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128244": { + "content": "<|reserved_special_token_236|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128245": { + "content": "<|reserved_special_token_237|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128246": { + "content": "<|reserved_special_token_238|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128247": { + "content": "<|reserved_special_token_239|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128248": { + "content": "<|reserved_special_token_240|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128249": { + "content": "<|reserved_special_token_241|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128250": { + "content": "<|reserved_special_token_242|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128251": { + "content": "<|reserved_special_token_243|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128252": { + "content": "<|reserved_special_token_244|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128253": { + "content": "<|reserved_special_token_245|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128254": { + "content": "<|reserved_special_token_246|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128255": { + "content": "<|reserved_special_token_247|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [ + "<|eot_id|>", + "<|eom_id|>" + ], + "bos_token": "<|begin_of_text|>", + "chat_template": "{{ '<|begin_of_text|>' }}{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% endif %}{% if system_message is defined %}{{ '<|start_header_id|>system<|end_header_id|>\n\n' + system_message + '<|eot_id|>' }}{% endif %}{% for message in loop_messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ '<|start_header_id|>user<|end_header_id|>\n\n' + content + '<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n' }}{% elif message['role'] == 'assistant' %}{{ content + '<|eot_id|>' }}{% endif %}{% endfor %}", + "clean_up_tokenization_spaces": true, + "eos_token": "<|end_of_text|>", + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 2048, + "pad_token": "<|end_of_text|>", + "padding_side": "right", + "split_special_tokens": false, + "tokenizer_class": "PreTrainedTokenizerFast" +} diff --git a/checkpoint-1632/trainer_state.json b/checkpoint-1632/trainer_state.json new file mode 100644 index 0000000..5b5a518 --- /dev/null +++ b/checkpoint-1632/trainer_state.json @@ -0,0 +1,1174 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 3.0, + "eval_steps": 500, + "global_step": 1632, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.01838235294117647, + "grad_norm": 24.461347652326168, + "learning_rate": 6.097560975609757e-07, + "loss": 1.2036, + "step": 10 + }, + { + "epoch": 0.03676470588235294, + "grad_norm": 17.308880580961944, + "learning_rate": 1.2195121951219514e-06, + "loss": 1.2064, + "step": 20 + }, + { + "epoch": 0.05514705882352941, + "grad_norm": 29.601720546719697, + "learning_rate": 1.8292682926829268e-06, + "loss": 1.2741, + "step": 30 + }, + { + "epoch": 0.07352941176470588, + "grad_norm": 14.115818236245202, + "learning_rate": 2.4390243902439027e-06, + "loss": 0.7596, + "step": 40 + }, + { + "epoch": 0.09191176470588236, + "grad_norm": 21.73939509164672, + "learning_rate": 3.0487804878048782e-06, + "loss": 0.6171, + "step": 50 + }, + { + "epoch": 0.11029411764705882, + "grad_norm": 16.96116387460838, + "learning_rate": 3.6585365853658537e-06, + "loss": 0.794, + "step": 60 + }, + { + "epoch": 0.12867647058823528, + "grad_norm": 15.372652400517632, + "learning_rate": 4.268292682926829e-06, + "loss": 0.6233, + "step": 70 + }, + { + "epoch": 0.14705882352941177, + "grad_norm": 15.062285237489078, + "learning_rate": 4.8780487804878055e-06, + "loss": 0.5441, + "step": 80 + }, + { + "epoch": 0.16544117647058823, + "grad_norm": 18.632304280702545, + "learning_rate": 5.487804878048781e-06, + "loss": 0.5784, + "step": 90 + }, + { + "epoch": 0.18382352941176472, + "grad_norm": 13.945519044585177, + "learning_rate": 6.0975609756097564e-06, + "loss": 0.4844, + "step": 100 + }, + { + "epoch": 0.20220588235294118, + "grad_norm": 6.9751627817275, + "learning_rate": 6.707317073170733e-06, + "loss": 0.6535, + "step": 110 + }, + { + "epoch": 0.22058823529411764, + "grad_norm": 25.188175477401735, + "learning_rate": 7.317073170731707e-06, + "loss": 0.6897, + "step": 120 + }, + { + "epoch": 0.23897058823529413, + "grad_norm": 14.572936912172068, + "learning_rate": 7.926829268292685e-06, + "loss": 0.4217, + "step": 130 + }, + { + "epoch": 0.25735294117647056, + "grad_norm": 14.934836192557746, + "learning_rate": 8.536585365853658e-06, + "loss": 0.5868, + "step": 140 + }, + { + "epoch": 0.2757352941176471, + "grad_norm": 11.450309910668999, + "learning_rate": 9.146341463414635e-06, + "loss": 0.53, + "step": 150 + }, + { + "epoch": 0.29411764705882354, + "grad_norm": 21.677329690439954, + "learning_rate": 9.756097560975611e-06, + "loss": 0.5538, + "step": 160 + }, + { + "epoch": 0.3125, + "grad_norm": 13.221017712308962, + "learning_rate": 9.999587822598768e-06, + "loss": 0.4616, + "step": 170 + }, + { + "epoch": 0.33088235294117646, + "grad_norm": 17.10580370679984, + "learning_rate": 9.997069206794246e-06, + "loss": 0.5633, + "step": 180 + }, + { + "epoch": 0.3492647058823529, + "grad_norm": 12.4225156252439, + "learning_rate": 9.992262114666653e-06, + "loss": 0.6035, + "step": 190 + }, + { + "epoch": 0.36764705882352944, + "grad_norm": 9.012606555821149, + "learning_rate": 9.985168747689706e-06, + "loss": 0.5822, + "step": 200 + }, + { + "epoch": 0.3860294117647059, + "grad_norm": 7.876601539287651, + "learning_rate": 9.975792354368019e-06, + "loss": 0.3755, + "step": 210 + }, + { + "epoch": 0.40441176470588236, + "grad_norm": 6.10882571982772, + "learning_rate": 9.964137228749409e-06, + "loss": 0.4914, + "step": 220 + }, + { + "epoch": 0.4227941176470588, + "grad_norm": 6.537974128609375, + "learning_rate": 9.950208708458371e-06, + "loss": 0.4604, + "step": 230 + }, + { + "epoch": 0.4411764705882353, + "grad_norm": 7.108775542718406, + "learning_rate": 9.934013172251654e-06, + "loss": 0.5029, + "step": 240 + }, + { + "epoch": 0.45955882352941174, + "grad_norm": 13.652621643454376, + "learning_rate": 9.915558037097003e-06, + "loss": 0.5404, + "step": 250 + }, + { + "epoch": 0.47794117647058826, + "grad_norm": 9.685271320615122, + "learning_rate": 9.894851754776473e-06, + "loss": 0.3555, + "step": 260 + }, + { + "epoch": 0.4963235294117647, + "grad_norm": 10.504810722270348, + "learning_rate": 9.871903808015812e-06, + "loss": 0.4092, + "step": 270 + }, + { + "epoch": 0.5147058823529411, + "grad_norm": 12.557835687927717, + "learning_rate": 9.846724706141718e-06, + "loss": 0.4489, + "step": 280 + }, + { + "epoch": 0.5330882352941176, + "grad_norm": 19.32420837447236, + "learning_rate": 9.819325980268946e-06, + "loss": 0.5297, + "step": 290 + }, + { + "epoch": 0.5514705882352942, + "grad_norm": 12.56688753149935, + "learning_rate": 9.789720178019483e-06, + "loss": 0.4301, + "step": 300 + }, + { + "epoch": 0.5698529411764706, + "grad_norm": 8.769304725602016, + "learning_rate": 9.757920857776188e-06, + "loss": 0.5499, + "step": 310 + }, + { + "epoch": 0.5882352941176471, + "grad_norm": 6.742725850222398, + "learning_rate": 9.723942582473545e-06, + "loss": 0.3723, + "step": 320 + }, + { + "epoch": 0.6066176470588235, + "grad_norm": 32.81061857477797, + "learning_rate": 9.687800912928362e-06, + "loss": 0.6103, + "step": 330 + }, + { + "epoch": 0.625, + "grad_norm": 7.250155807815409, + "learning_rate": 9.649512400713497e-06, + "loss": 0.5561, + "step": 340 + }, + { + "epoch": 0.6433823529411765, + "grad_norm": 8.449295772111478, + "learning_rate": 9.609094580577825e-06, + "loss": 0.4384, + "step": 350 + }, + { + "epoch": 0.6617647058823529, + "grad_norm": 8.965901929446623, + "learning_rate": 9.566565962415958e-06, + "loss": 0.492, + "step": 360 + }, + { + "epoch": 0.6801470588235294, + "grad_norm": 10.783592668291883, + "learning_rate": 9.521946022791402e-06, + "loss": 0.5596, + "step": 370 + }, + { + "epoch": 0.6985294117647058, + "grad_norm": 6.524203722153494, + "learning_rate": 9.475255196016972e-06, + "loss": 0.4657, + "step": 380 + }, + { + "epoch": 0.7169117647058824, + "grad_norm": 6.844495651307719, + "learning_rate": 9.426514864796648e-06, + "loss": 0.547, + "step": 390 + }, + { + "epoch": 0.7352941176470589, + "grad_norm": 7.093995062440304, + "learning_rate": 9.375747350433044e-06, + "loss": 0.4821, + "step": 400 + }, + { + "epoch": 0.7536764705882353, + "grad_norm": 13.008619062718342, + "learning_rate": 9.322975902605082e-06, + "loss": 0.3627, + "step": 410 + }, + { + "epoch": 0.7720588235294118, + "grad_norm": 7.658314017103231, + "learning_rate": 9.268224688720475e-06, + "loss": 0.2779, + "step": 420 + }, + { + "epoch": 0.7904411764705882, + "grad_norm": 9.961772688539515, + "learning_rate": 9.211518782847932e-06, + "loss": 0.684, + "step": 430 + }, + { + "epoch": 0.8088235294117647, + "grad_norm": 5.184448250813704, + "learning_rate": 9.152884154234147e-06, + "loss": 0.3829, + "step": 440 + }, + { + "epoch": 0.8272058823529411, + "grad_norm": 16.899974205034713, + "learning_rate": 9.092347655410818e-06, + "loss": 0.409, + "step": 450 + }, + { + "epoch": 0.8455882352941176, + "grad_norm": 9.123647569900998, + "learning_rate": 9.029937009897176e-06, + "loss": 0.4189, + "step": 460 + }, + { + "epoch": 0.8639705882352942, + "grad_norm": 14.941661911314725, + "learning_rate": 8.96568079950361e-06, + "loss": 0.4846, + "step": 470 + }, + { + "epoch": 0.8823529411764706, + "grad_norm": 6.576553080941865, + "learning_rate": 8.899608451242233e-06, + "loss": 0.4869, + "step": 480 + }, + { + "epoch": 0.9007352941176471, + "grad_norm": 9.989273508498824, + "learning_rate": 8.83175022385039e-06, + "loss": 0.368, + "step": 490 + }, + { + "epoch": 0.9191176470588235, + "grad_norm": 5.168977011450082, + "learning_rate": 8.762137193933241e-06, + "loss": 0.3489, + "step": 500 + }, + { + "epoch": 0.9375, + "grad_norm": 9.716727823960543, + "learning_rate": 8.690801241731818e-06, + "loss": 0.4095, + "step": 510 + }, + { + "epoch": 0.9558823529411765, + "grad_norm": 9.305144213419574, + "learning_rate": 8.617775036523014e-06, + "loss": 0.4641, + "step": 520 + }, + { + "epoch": 0.9742647058823529, + "grad_norm": 7.973224876288721, + "learning_rate": 8.543092021658259e-06, + "loss": 0.3311, + "step": 530 + }, + { + "epoch": 0.9926470588235294, + "grad_norm": 7.223605900810482, + "learning_rate": 8.466786399247663e-06, + "loss": 0.3561, + "step": 540 + }, + { + "epoch": 1.0110294117647058, + "grad_norm": 7.955108957559817, + "learning_rate": 8.388893114496706e-06, + "loss": 0.3474, + "step": 550 + }, + { + "epoch": 1.0294117647058822, + "grad_norm": 8.495071396849232, + "learning_rate": 8.309447839702583e-06, + "loss": 0.2188, + "step": 560 + }, + { + "epoch": 1.0477941176470589, + "grad_norm": 6.043931760485918, + "learning_rate": 8.228486957917608e-06, + "loss": 0.2178, + "step": 570 + }, + { + "epoch": 1.0661764705882353, + "grad_norm": 6.438867996730345, + "learning_rate": 8.146047546287077e-06, + "loss": 0.2783, + "step": 580 + }, + { + "epoch": 1.0845588235294117, + "grad_norm": 3.6977346854366107, + "learning_rate": 8.062167359069301e-06, + "loss": 0.2463, + "step": 590 + }, + { + "epoch": 1.1029411764705883, + "grad_norm": 6.660661443962452, + "learning_rate": 7.97688481034551e-06, + "loss": 0.2634, + "step": 600 + }, + { + "epoch": 1.1213235294117647, + "grad_norm": 9.365314735040004, + "learning_rate": 7.8902389564276e-06, + "loss": 0.294, + "step": 610 + }, + { + "epoch": 1.1397058823529411, + "grad_norm": 6.992327039164838, + "learning_rate": 7.802269477971771e-06, + "loss": 0.273, + "step": 620 + }, + { + "epoch": 1.1580882352941178, + "grad_norm": 16.22021668710731, + "learning_rate": 7.713016661806213e-06, + "loss": 0.2975, + "step": 630 + }, + { + "epoch": 1.1764705882352942, + "grad_norm": 5.1105720664815, + "learning_rate": 7.622521382481208e-06, + "loss": 0.2831, + "step": 640 + }, + { + "epoch": 1.1948529411764706, + "grad_norm": 18.745915660915887, + "learning_rate": 7.530825083550073e-06, + "loss": 0.3548, + "step": 650 + }, + { + "epoch": 1.213235294117647, + "grad_norm": 10.329160246000239, + "learning_rate": 7.437969758589508e-06, + "loss": 0.2454, + "step": 660 + }, + { + "epoch": 1.2316176470588236, + "grad_norm": 6.408214730217885, + "learning_rate": 7.343997931968068e-06, + "loss": 0.2694, + "step": 670 + }, + { + "epoch": 1.25, + "grad_norm": 7.486293079129486, + "learning_rate": 7.248952639371543e-06, + "loss": 0.3091, + "step": 680 + }, + { + "epoch": 1.2683823529411764, + "grad_norm": 5.956954386852354, + "learning_rate": 7.152877408094179e-06, + "loss": 0.2305, + "step": 690 + }, + { + "epoch": 1.2867647058823528, + "grad_norm": 8.065888848768314, + "learning_rate": 7.055816237104753e-06, + "loss": 0.3002, + "step": 700 + }, + { + "epoch": 1.3051470588235294, + "grad_norm": 3.322320099042565, + "learning_rate": 6.957813576896647e-06, + "loss": 0.2868, + "step": 710 + }, + { + "epoch": 1.3235294117647058, + "grad_norm": 11.20812027560389, + "learning_rate": 6.858914309131131e-06, + "loss": 0.2342, + "step": 720 + }, + { + "epoch": 1.3419117647058822, + "grad_norm": 11.126428155503467, + "learning_rate": 6.7591637260831925e-06, + "loss": 0.2143, + "step": 730 + }, + { + "epoch": 1.3602941176470589, + "grad_norm": 6.169632411834191, + "learning_rate": 6.6586075098993196e-06, + "loss": 0.3071, + "step": 740 + }, + { + "epoch": 1.3786764705882353, + "grad_norm": 8.952863279335729, + "learning_rate": 6.557291711676738e-06, + "loss": 0.2977, + "step": 750 + }, + { + "epoch": 1.3970588235294117, + "grad_norm": 4.407249523532787, + "learning_rate": 6.455262730373673e-06, + "loss": 0.2326, + "step": 760 + }, + { + "epoch": 1.4154411764705883, + "grad_norm": 11.807741453984933, + "learning_rate": 6.352567291560319e-06, + "loss": 0.3158, + "step": 770 + }, + { + "epoch": 1.4338235294117647, + "grad_norm": 13.900682242664102, + "learning_rate": 6.249252426020217e-06, + "loss": 0.3301, + "step": 780 + }, + { + "epoch": 1.4522058823529411, + "grad_norm": 10.2905193894227, + "learning_rate": 6.145365448211866e-06, + "loss": 0.2937, + "step": 790 + }, + { + "epoch": 1.4705882352941178, + "grad_norm": 5.654029084586675, + "learning_rate": 6.040953934600425e-06, + "loss": 0.2229, + "step": 800 + }, + { + "epoch": 1.4889705882352942, + "grad_norm": 7.884909374384519, + "learning_rate": 5.936065701869404e-06, + "loss": 0.3169, + "step": 810 + }, + { + "epoch": 1.5073529411764706, + "grad_norm": 4.885582156638979, + "learning_rate": 5.830748785022369e-06, + "loss": 0.257, + "step": 820 + }, + { + "epoch": 1.5257352941176472, + "grad_norm": 10.069197658253753, + "learning_rate": 5.725051415384657e-06, + "loss": 0.2766, + "step": 830 + }, + { + "epoch": 1.5441176470588234, + "grad_norm": 8.25370914927739, + "learning_rate": 5.619021998515165e-06, + "loss": 0.2385, + "step": 840 + }, + { + "epoch": 1.5625, + "grad_norm": 4.810424736549512, + "learning_rate": 5.51270909203838e-06, + "loss": 0.2844, + "step": 850 + }, + { + "epoch": 1.5808823529411766, + "grad_norm": 10.0208212747629, + "learning_rate": 5.40616138340673e-06, + "loss": 0.2924, + "step": 860 + }, + { + "epoch": 1.5992647058823528, + "grad_norm": 13.748183320384355, + "learning_rate": 5.299427667603516e-06, + "loss": 0.2826, + "step": 870 + }, + { + "epoch": 1.6176470588235294, + "grad_norm": 2.892654980772666, + "learning_rate": 5.1925568247965686e-06, + "loss": 0.2106, + "step": 880 + }, + { + "epoch": 1.6360294117647058, + "grad_norm": 4.016652056640837, + "learning_rate": 5.085597797952906e-06, + "loss": 0.3306, + "step": 890 + }, + { + "epoch": 1.6544117647058822, + "grad_norm": 4.348213620564617, + "learning_rate": 4.97859957042464e-06, + "loss": 0.2227, + "step": 900 + }, + { + "epoch": 1.6727941176470589, + "grad_norm": 8.314405849156318, + "learning_rate": 4.871611143516367e-06, + "loss": 0.2275, + "step": 910 + }, + { + "epoch": 1.6911764705882353, + "grad_norm": 3.1251931465193747, + "learning_rate": 4.7646815140443625e-06, + "loss": 0.2966, + "step": 920 + }, + { + "epoch": 1.7095588235294117, + "grad_norm": 2.9353246185637287, + "learning_rate": 4.657859651897807e-06, + "loss": 0.228, + "step": 930 + }, + { + "epoch": 1.7279411764705883, + "grad_norm": 4.988890457346432, + "learning_rate": 4.551194477612351e-06, + "loss": 0.2694, + "step": 940 + }, + { + "epoch": 1.7463235294117647, + "grad_norm": 2.1319176010435252, + "learning_rate": 4.444734839966306e-06, + "loss": 0.1944, + "step": 950 + }, + { + "epoch": 1.7647058823529411, + "grad_norm": 4.43095941592791, + "learning_rate": 4.338529493609647e-06, + "loss": 0.2479, + "step": 960 + }, + { + "epoch": 1.7830882352941178, + "grad_norm": 4.620277796996259, + "learning_rate": 4.232627076736181e-06, + "loss": 0.1819, + "step": 970 + }, + { + "epoch": 1.8014705882352942, + "grad_norm": 9.324548402262511, + "learning_rate": 4.127076088809e-06, + "loss": 0.2514, + "step": 980 + }, + { + "epoch": 1.8198529411764706, + "grad_norm": 9.685553327436127, + "learning_rate": 4.021924868349493e-06, + "loss": 0.24, + "step": 990 + }, + { + "epoch": 1.8382352941176472, + "grad_norm": 4.557597261535076, + "learning_rate": 3.9172215708000655e-06, + "loss": 0.2477, + "step": 1000 + }, + { + "epoch": 1.8566176470588234, + "grad_norm": 7.730856763833525, + "learning_rate": 3.8130141464706806e-06, + "loss": 0.2207, + "step": 1010 + }, + { + "epoch": 1.875, + "grad_norm": 6.292936274037211, + "learning_rate": 3.709350318579371e-06, + "loss": 0.2634, + "step": 1020 + }, + { + "epoch": 1.8933823529411766, + "grad_norm": 3.506287081857162, + "learning_rate": 3.606277561396726e-06, + "loss": 0.236, + "step": 1030 + }, + { + "epoch": 1.9117647058823528, + "grad_norm": 5.326613968704466, + "learning_rate": 3.503843078504405e-06, + "loss": 0.2132, + "step": 1040 + }, + { + "epoch": 1.9301470588235294, + "grad_norm": 4.120806515275935, + "learning_rate": 3.4020937811776154e-06, + "loss": 0.2088, + "step": 1050 + }, + { + "epoch": 1.9485294117647058, + "grad_norm": 12.349465603173341, + "learning_rate": 3.301076266901435e-06, + "loss": 0.2413, + "step": 1060 + }, + { + "epoch": 1.9669117647058822, + "grad_norm": 9.063898128342878, + "learning_rate": 3.2008367980308737e-06, + "loss": 0.2271, + "step": 1070 + }, + { + "epoch": 1.9852941176470589, + "grad_norm": 7.508365526935029, + "learning_rate": 3.1014212806043794e-06, + "loss": 0.2285, + "step": 1080 + }, + { + "epoch": 2.0036764705882355, + "grad_norm": 4.625627595178375, + "learning_rate": 3.0028752433205475e-06, + "loss": 0.1852, + "step": 1090 + }, + { + "epoch": 2.0220588235294117, + "grad_norm": 4.4357477825464935, + "learning_rate": 2.9052438166876305e-06, + "loss": 0.1519, + "step": 1100 + }, + { + "epoch": 2.0404411764705883, + "grad_norm": 7.270033498844353, + "learning_rate": 2.808571712355389e-06, + "loss": 0.1601, + "step": 1110 + }, + { + "epoch": 2.0588235294117645, + "grad_norm": 5.430788007652682, + "learning_rate": 2.7129032026388046e-06, + "loss": 0.1264, + "step": 1120 + }, + { + "epoch": 2.077205882352941, + "grad_norm": 5.229399168057504, + "learning_rate": 2.618282100242935e-06, + "loss": 0.137, + "step": 1130 + }, + { + "epoch": 2.0955882352941178, + "grad_norm": 3.2530670171730063, + "learning_rate": 2.5247517381983137e-06, + "loss": 0.1085, + "step": 1140 + }, + { + "epoch": 2.113970588235294, + "grad_norm": 6.719943927301841, + "learning_rate": 2.4323549500159806e-06, + "loss": 0.1258, + "step": 1150 + }, + { + "epoch": 2.1323529411764706, + "grad_norm": 3.3488917523348367, + "learning_rate": 2.3411340500712833e-06, + "loss": 0.1046, + "step": 1160 + }, + { + "epoch": 2.150735294117647, + "grad_norm": 4.657370433299325, + "learning_rate": 2.251130814225449e-06, + "loss": 0.092, + "step": 1170 + }, + { + "epoch": 2.1691176470588234, + "grad_norm": 2.9670688472212303, + "learning_rate": 2.16238646069373e-06, + "loss": 0.0868, + "step": 1180 + }, + { + "epoch": 2.1875, + "grad_norm": 8.131857870303, + "learning_rate": 2.0749416311689845e-06, + "loss": 0.1059, + "step": 1190 + }, + { + "epoch": 2.2058823529411766, + "grad_norm": 10.154475227479216, + "learning_rate": 1.9888363722092376e-06, + "loss": 0.098, + "step": 1200 + }, + { + "epoch": 2.224264705882353, + "grad_norm": 2.0050786002974026, + "learning_rate": 1.9041101168978094e-06, + "loss": 0.108, + "step": 1210 + }, + { + "epoch": 2.2426470588235294, + "grad_norm": 8.439945942355502, + "learning_rate": 1.8208016667844153e-06, + "loss": 0.1039, + "step": 1220 + }, + { + "epoch": 2.261029411764706, + "grad_norm": 8.60486564105295, + "learning_rate": 1.7389491741154373e-06, + "loss": 0.1132, + "step": 1230 + }, + { + "epoch": 2.2794117647058822, + "grad_norm": 4.696484712814838, + "learning_rate": 1.6585901243616044e-06, + "loss": 0.0999, + "step": 1240 + }, + { + "epoch": 2.297794117647059, + "grad_norm": 4.6231552830326255, + "learning_rate": 1.5797613190509908e-06, + "loss": 0.1059, + "step": 1250 + }, + { + "epoch": 2.3161764705882355, + "grad_norm": 3.6902436160334737, + "learning_rate": 1.502498858915254e-06, + "loss": 0.1186, + "step": 1260 + }, + { + "epoch": 2.3345588235294117, + "grad_norm": 2.5370814512282176, + "learning_rate": 1.4268381273568232e-06, + "loss": 0.1018, + "step": 1270 + }, + { + "epoch": 2.3529411764705883, + "grad_norm": 3.8657043800430584, + "learning_rate": 1.352813774244565e-06, + "loss": 0.0953, + "step": 1280 + }, + { + "epoch": 2.3713235294117645, + "grad_norm": 3.432166252044578, + "learning_rate": 1.2804597000454217e-06, + "loss": 0.1211, + "step": 1290 + }, + { + "epoch": 2.389705882352941, + "grad_norm": 4.3716222719550935, + "learning_rate": 1.2098090402992085e-06, + "loss": 0.1821, + "step": 1300 + }, + { + "epoch": 2.4080882352941178, + "grad_norm": 7.998384499842822, + "learning_rate": 1.1408941504437533e-06, + "loss": 0.1263, + "step": 1310 + }, + { + "epoch": 2.426470588235294, + "grad_norm": 3.850208203788365, + "learning_rate": 1.0737465909972778e-06, + "loss": 0.0792, + "step": 1320 + }, + { + "epoch": 2.4448529411764706, + "grad_norm": 3.688555564340551, + "learning_rate": 1.0083971131048158e-06, + "loss": 0.1395, + "step": 1330 + }, + { + "epoch": 2.463235294117647, + "grad_norm": 4.6455960796035, + "learning_rate": 9.448756444553226e-07, + "loss": 0.1168, + "step": 1340 + }, + { + "epoch": 2.4816176470588234, + "grad_norm": 4.203311959035869, + "learning_rate": 8.832112755758598e-07, + "loss": 0.0876, + "step": 1350 + }, + { + "epoch": 2.5, + "grad_norm": 3.3555040280656607, + "learning_rate": 8.234322465092049e-07, + "loss": 0.1019, + "step": 1360 + }, + { + "epoch": 2.5183823529411766, + "grad_norm": 4.650061051052002, + "learning_rate": 7.655659338809329e-07, + "loss": 0.1377, + "step": 1370 + }, + { + "epoch": 2.536764705882353, + "grad_norm": 6.813560936019147, + "learning_rate": 7.09638838361908e-07, + "loss": 0.0879, + "step": 1380 + }, + { + "epoch": 2.5551470588235294, + "grad_norm": 3.7280612376648845, + "learning_rate": 6.556765725319525e-07, + "loss": 0.0958, + "step": 1390 + }, + { + "epoch": 2.5735294117647056, + "grad_norm": 9.06780320870103, + "learning_rate": 6.037038491501978e-07, + "loss": 0.0994, + "step": 1400 + }, + { + "epoch": 2.5919117647058822, + "grad_norm": 3.786951767893351, + "learning_rate": 5.53744469837551e-07, + "loss": 0.0818, + "step": 1410 + }, + { + "epoch": 2.610294117647059, + "grad_norm": 6.614547209289121, + "learning_rate": 5.058213141764151e-07, + "loss": 0.1018, + "step": 1420 + }, + { + "epoch": 2.6286764705882355, + "grad_norm": 1.3227088771313298, + "learning_rate": 4.599563292326592e-07, + "loss": 0.0874, + "step": 1430 + }, + { + "epoch": 2.6470588235294117, + "grad_norm": 4.123067760097869, + "learning_rate": 4.1617051950467613e-07, + "loss": 0.1395, + "step": 1440 + }, + { + "epoch": 2.6654411764705883, + "grad_norm": 3.277587387385848, + "learning_rate": 3.744839373040682e-07, + "loss": 0.1316, + "step": 1450 + }, + { + "epoch": 2.6838235294117645, + "grad_norm": 7.242903909781894, + "learning_rate": 3.3491567357242736e-07, + "loss": 0.1149, + "step": 1460 + }, + { + "epoch": 2.702205882352941, + "grad_norm": 6.625461967024777, + "learning_rate": 2.9748384913837525e-07, + "loss": 0.0907, + "step": 1470 + }, + { + "epoch": 2.7205882352941178, + "grad_norm": 7.203659881581687, + "learning_rate": 2.6220560641887385e-07, + "loss": 0.1253, + "step": 1480 + }, + { + "epoch": 2.7389705882352944, + "grad_norm": 6.378763396607792, + "learning_rate": 2.2909710156863275e-07, + "loss": 0.098, + "step": 1490 + }, + { + "epoch": 2.7573529411764706, + "grad_norm": 7.337516899008145, + "learning_rate": 1.981734970811644e-07, + "loss": 0.1071, + "step": 1500 + }, + { + "epoch": 2.775735294117647, + "grad_norm": 3.1329621536642542, + "learning_rate": 1.6944895484492075e-07, + "loss": 0.097, + "step": 1510 + }, + { + "epoch": 2.7941176470588234, + "grad_norm": 4.118478339669222, + "learning_rate": 1.429366296576623e-07, + "loss": 0.0984, + "step": 1520 + }, + { + "epoch": 2.8125, + "grad_norm": 4.232819621818319, + "learning_rate": 1.1864866320203116e-07, + "loss": 0.0858, + "step": 1530 + }, + { + "epoch": 2.8308823529411766, + "grad_norm": 5.587393080677787, + "learning_rate": 9.659617848510883e-08, + "loss": 0.1211, + "step": 1540 + }, + { + "epoch": 2.849264705882353, + "grad_norm": 7.695362333030779, + "learning_rate": 7.678927474447817e-08, + "loss": 0.1214, + "step": 1550 + }, + { + "epoch": 2.8676470588235294, + "grad_norm": 5.960106493970138, + "learning_rate": 5.9237022823140924e-08, + "loss": 0.0839, + "step": 1560 + }, + { + "epoch": 2.8860294117647056, + "grad_norm": 3.1314860543234366, + "learning_rate": 4.394746101540115e-08, + "loss": 0.1084, + "step": 1570 + }, + { + "epoch": 2.9044117647058822, + "grad_norm": 4.547681508219823, + "learning_rate": 3.092759138561607e-08, + "loss": 0.109, + "step": 1580 + }, + { + "epoch": 2.922794117647059, + "grad_norm": 4.617590187379549, + "learning_rate": 2.0183376561507263e-08, + "loss": 0.0956, + "step": 1590 + }, + { + "epoch": 2.9411764705882355, + "grad_norm": 3.342902872290941, + "learning_rate": 1.171973700349216e-08, + "loss": 0.119, + "step": 1600 + }, + { + "epoch": 2.9595588235294117, + "grad_norm": 7.136250820241153, + "learning_rate": 5.540548751292174e-09, + "loss": 0.1018, + "step": 1610 + }, + { + "epoch": 2.9779411764705883, + "grad_norm": 6.138459039674928, + "learning_rate": 1.6486416488459279e-09, + "loss": 0.0922, + "step": 1620 + }, + { + "epoch": 2.9963235294117645, + "grad_norm": 3.150046185555739, + "learning_rate": 4.579804834703438e-11, + "loss": 0.0803, + "step": 1630 + } + ], + "logging_steps": 10, + "max_steps": 1632, + "num_input_tokens_seen": 0, + "num_train_epochs": 3, + "save_steps": 500, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": true + }, + "attributes": {} + } + }, + "total_flos": 246796222464.0, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-1632/training_args.bin b/checkpoint-1632/training_args.bin new file mode 100644 index 0000000..10fbb2a --- /dev/null +++ b/checkpoint-1632/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4bebf5c7141bddbed6a7feb4bf1a35ed3fbf020c7c4dc7ab21f6f30268f7e3 +size 7352 diff --git a/checkpoint-1632/zero_to_fp32.py b/checkpoint-1632/zero_to_fp32.py new file mode 100644 index 0000000..0e75914 --- /dev/null +++ b/checkpoint-1632/zero_to_fp32.py @@ -0,0 +1,760 @@ +#!/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 . output_dir/ +# or +# python zero_to_fp32.py . output_dir/ --safe_serialization + +import argparse +import torch +import glob +import math +import os +import re +import gc +import json +import numpy as np +from tqdm import tqdm +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, weights_only=False) + + 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 tqdm(files, desc='Loading checkpoint shards'): + state_dict = torch.load(f, map_location=device, mmap=True, weights_only=False) + # 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}") + + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] 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, exclude_frozen_parameters): + """ + 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, + exclude_frozen_parameters) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states, + exclude_frozen_parameters) + + +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, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _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") + + +class GatheredTensor: + """ + A pseudo tensor that collects partitioned weights. + It is more memory efficient when there are multiple groups. + """ + + def __init__(self, flat_groups, flat_groups_offset, offset, partitioned_numel, shape): + self.flat_groups = flat_groups + self.flat_groups_offset = flat_groups_offset + self.offset = offset + self.partitioned_numel = partitioned_numel + self.shape = shape + self.dtype = self.flat_groups[0][0].dtype + + def contiguous(self): + """ + Merge partitioned weights from flat_groups into a single tensor. + """ + end_idx = self.offset + self.partitioned_numel + world_size = len(self.flat_groups) + pad_flat_param_chunks = [] + + for rank_i in range(world_size): + # for each rank, we need to collect weights from related group/groups + flat_groups_at_rank_i = self.flat_groups[rank_i] + start_group_id = None + end_group_id = None + for group_id in range(len(self.flat_groups_offset)): + if self.flat_groups_offset[group_id] <= self.offset < self.flat_groups_offset[group_id + 1]: + start_group_id = group_id + if self.flat_groups_offset[group_id] < end_idx <= self.flat_groups_offset[group_id + 1]: + end_group_id = group_id + break + # collect weights from related group/groups + for group_id in range(start_group_id, end_group_id + 1): + flat_tensor = flat_groups_at_rank_i[group_id] + start_offset = self.offset - self.flat_groups_offset[group_id] + end_offset = min(end_idx, self.flat_groups_offset[group_id + 1]) - self.flat_groups_offset[group_id] + pad_flat_param_chunks.append(flat_tensor[start_offset:end_offset]) + + # collect weights from all ranks + pad_flat_param = torch.cat(pad_flat_param_chunks, dim=0) + param = pad_flat_param[:self.shape.numel()].view(self.shape).contiguous() + return param + + +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 = sum([flat_group.numel() for flat_group in fp32_flat_groups[0]]) * 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 + flat_groups_offset = [0] + list(np.cumsum([flat_tensor.numel() for flat_tensor in fp32_flat_groups[0]])) + for name, shape in tqdm(param_shapes.items(), desc='Gathering sharded weights'): + 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}" + ) + + # memory efficient tensor + tensor = GatheredTensor(fp32_flat_groups, flat_groups_offset, offset, partitioned_numel, shape) + state_dict[name] = tensor + 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, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _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 to_torch_tensor(state_dict, return_empty_tensor=False): + """ + Convert state_dict of GatheredTensor to torch tensor + """ + torch_state_dict = {} + converted_tensors = {} + for name, tensor in state_dict.items(): + tensor_id = id(tensor) + if tensor_id in converted_tensors: # shared tensors + shared_tensor = torch_state_dict[converted_tensors[tensor_id]] + torch_state_dict[name] = shared_tensor + else: + converted_tensors[tensor_id] = name + if return_empty_tensor: + torch_state_dict[name] = torch.empty(tensor.shape, dtype=tensor.dtype) + else: + torch_state_dict[name] = tensor.contiguous() + return torch_state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag=None, + exclude_frozen_parameters=False, + lazy_mode=False): + """ + 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`` + - ``exclude_frozen_parameters``: exclude frozen parameters + - ``lazy_mode``: get state_dict in lazy mode. It returns a dict of pesduo tensor instead of torch tensor, which is more memory efficient. + Convert the pesduo tensor to torch tensor by ``.contiguous()`` + + Returns: + - pytorch ``state_dict`` + + 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. + + Note: the above usage may not work if your application doesn't have sufficient free CPU memory. + You may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. Or you can load state_dict in lazy mode :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, lazy_mode=True) # not on cpu + for name, lazy_tensor in state_dict.item(): + tensor = lazy_tensor.contiguous() # to cpu + print(name, tensor) + # del tensor to release memory if it no longer in use + """ + 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") + + state_dict = _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters) + if lazy_mode: + return state_dict + else: + return to_torch_tensor(state_dict) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, + output_dir, + max_shard_size="5GB", + safe_serialization=False, + tag=None, + exclude_frozen_parameters=False): + """ + 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_dir``: directory to the pytorch fp32 state_dict output files + - ``max_shard_size``: the maximum size for a checkpoint before being sharded, default value is 5GB + - ``safe_serialization``: whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`). + - ``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`` + - ``exclude_frozen_parameters``: exclude frozen parameters + """ + + # Dependency pre-check + if safe_serialization: + try: + from safetensors.torch import save_file + except ImportError: + print('If you want to use `safe_serialization`, please `pip install safetensors`') + raise + if max_shard_size is not None: + try: + from huggingface_hub import split_torch_state_dict_into_shards + except ImportError: + print('If you want to use `max_shard_size`, please `pip install huggingface_hub`') + raise + + # Convert zero checkpoint to state_dict + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag, + exclude_frozen_parameters, + lazy_mode=True) + + # Shard the model if it is too big. + weights_name = "model.safetensors" if safe_serialization else "pytorch_model.bin" + if max_shard_size is not None: + filename_pattern = weights_name.replace(".bin", "{suffix}.bin").replace(".safetensors", "{suffix}.safetensors") + # an memory-efficient approach for sharding + empty_state_dict = to_torch_tensor(state_dict, return_empty_tensor=True) + state_dict_split = split_torch_state_dict_into_shards(empty_state_dict, + filename_pattern=filename_pattern, + max_shard_size=max_shard_size) + else: + from collections import namedtuple + StateDictSplit = namedtuple("StateDictSplit", ["is_sharded", "filename_to_tensors"]) + state_dict_split = StateDictSplit(is_sharded=False, + filename_to_tensors={weights_name: list(state_dict.keys())}) + + # Save the model by shard + os.makedirs(output_dir, exist_ok=True) + filename_to_tensors = state_dict_split.filename_to_tensors.items() + for shard_file, tensors in tqdm(filename_to_tensors, desc="Saving checkpoint shards"): + shard_state_dict = {tensor_name: state_dict[tensor_name] for tensor_name in tensors} + shard_state_dict = to_torch_tensor(shard_state_dict) + output_path = os.path.join(output_dir, shard_file) + if safe_serialization: + save_file(shard_state_dict, output_path, metadata={"format": "pt"}) + else: + torch.save(shard_state_dict, output_path) + # release the memory of current shard + for tensor_name in list(shard_state_dict.keys()): + del state_dict[tensor_name] + del shard_state_dict[tensor_name] + del shard_state_dict + gc.collect() + + # Save index if sharded + if state_dict_split.is_sharded: + index = { + "metadata": state_dict_split.metadata, + "weight_map": state_dict_split.tensor_to_filename, + } + save_index_file = "model.safetensors.index.json" if safe_serialization else "pytorch_model.bin.index.json" + save_index_file = os.path.join(output_dir, save_index_file) + with open(save_index_file, "w", encoding="utf-8") as f: + content = json.dumps(index, indent=2, sort_keys=True) + "\n" + f.write(content) + + +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_dir", + type=str, + help="directory to the pytorch fp32 state_dict output files" + "(e.g. path/checkpoint-12-output/)") + parser.add_argument( + "--max_shard_size", + type=str, + default="5GB", + help="The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size" + "lower than this size. If expressed as a string, needs to be digits followed by a unit (like `5MB`" + "We default it to 5GB in order for models to be able to run easily on free-tier google colab instances" + "without CPU OOM issues.") + parser.add_argument( + "--safe_serialization", + default=False, + action='store_true', + help="Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).") + 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("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters") + 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_dir, + max_shard_size=args.max_shard_size, + safe_serialization=args.safe_serialization, + tag=args.tag, + exclude_frozen_parameters=args.exclude_frozen_parameters) diff --git a/checkpoint-500/config.json b/checkpoint-500/config.json new file mode 100644 index 0000000..5a1694f --- /dev/null +++ b/checkpoint-500/config.json @@ -0,0 +1,36 @@ +{ + "_name_or_path": "meta-llama/Llama-3.2-1B", + "architectures": [ + "LlamaForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 128000, + "eos_token_id": 128001, + "head_dim": 64, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 8192, + "max_position_embeddings": 131072, + "mlp_bias": false, + "model_type": "llama", + "num_attention_heads": 32, + "num_hidden_layers": 16, + "num_key_value_heads": 8, + "pretraining_tp": 1, + "rms_norm_eps": 1e-05, + "rope_scaling": { + "factor": 32.0, + "high_freq_factor": 4.0, + "low_freq_factor": 1.0, + "original_max_position_embeddings": 8192, + "rope_type": "llama3" + }, + "rope_theta": 500000.0, + "tie_word_embeddings": true, + "torch_dtype": "bfloat16", + "transformers_version": "4.46.1", + "use_cache": false, + "vocab_size": 128256 +} diff --git a/checkpoint-500/generation_config.json b/checkpoint-500/generation_config.json new file mode 100644 index 0000000..eab5082 --- /dev/null +++ b/checkpoint-500/generation_config.json @@ -0,0 +1,9 @@ +{ + "_from_model_config": true, + "bos_token_id": 128000, + "do_sample": true, + "eos_token_id": 128001, + "temperature": 0.6, + "top_p": 0.9, + "transformers_version": "4.46.1" +} diff --git a/checkpoint-500/global_step500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt b/checkpoint-500/global_step500/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt new file mode 100644 index 0000000..baddb88 --- /dev/null +++ b/checkpoint-500/global_step500/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:f961f3448064dc752f94d8dfd289d74cce46be39b3ec34d5dd06a04b9648ecf6 +size 14829779262 diff --git a/checkpoint-500/global_step500/zero_pp_rank_0_mp_rank_00_model_states.pt b/checkpoint-500/global_step500/zero_pp_rank_0_mp_rank_00_model_states.pt new file mode 100644 index 0000000..59e659b --- /dev/null +++ b/checkpoint-500/global_step500/zero_pp_rank_0_mp_rank_00_model_states.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39f51449e1fd4b5a48b41f33e928e36d9d078efd55264156360b3ee751e865d0 +size 76664 diff --git a/checkpoint-500/latest b/checkpoint-500/latest new file mode 100644 index 0000000..f0b47ce --- /dev/null +++ b/checkpoint-500/latest @@ -0,0 +1 @@ +global_step500 \ No newline at end of file diff --git a/checkpoint-500/model.safetensors b/checkpoint-500/model.safetensors new file mode 100644 index 0000000..7db7ef5 --- /dev/null +++ b/checkpoint-500/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fefe2d5a3d03415cdfd9e766365e52e825289ffd058ac4b8e7bd97ead3599ad0 +size 2471645608 diff --git a/checkpoint-500/rng_state.pth b/checkpoint-500/rng_state.pth new file mode 100644 index 0000000..97f0d87 --- /dev/null +++ b/checkpoint-500/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:835f869ea325fd6edf27b48b589309fb66641cb92b45f2fc13d1bb6e8814106c +size 14244 diff --git a/checkpoint-500/scheduler.pt b/checkpoint-500/scheduler.pt new file mode 100644 index 0000000..6f89811 --- /dev/null +++ b/checkpoint-500/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7f7a6ec5b6b336abd2fdc77b6cf79ecd28a2794fe661fa2e10edb2faaed0f3a +size 1064 diff --git a/checkpoint-500/special_tokens_map.json b/checkpoint-500/special_tokens_map.json new file mode 100644 index 0000000..426a800 --- /dev/null +++ b/checkpoint-500/special_tokens_map.json @@ -0,0 +1,33 @@ +{ + "additional_special_tokens": [ + { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } + ], + "bos_token": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": "<|end_of_text|>" +} diff --git a/checkpoint-500/tokenizer.json b/checkpoint-500/tokenizer.json new file mode 100644 index 0000000..1c1d8d5 --- /dev/null +++ b/checkpoint-500/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b9e4e7fb171f92fd137b777cc2714bf87d11576700a1dcd7a399e7bbe39537b +size 17209920 diff --git a/checkpoint-500/tokenizer_config.json b/checkpoint-500/tokenizer_config.json new file mode 100644 index 0000000..3a8f322 --- /dev/null +++ b/checkpoint-500/tokenizer_config.json @@ -0,0 +1,2069 @@ +{ + "added_tokens_decoder": { + "128000": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128001": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128002": { + "content": "<|reserved_special_token_0|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128003": { + "content": "<|reserved_special_token_1|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128004": { + "content": "<|finetune_right_pad_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128005": { + "content": "<|reserved_special_token_2|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128006": { + "content": "<|start_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128007": { + "content": "<|end_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128008": { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128009": { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128010": { + "content": "<|python_tag|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128011": { + "content": "<|reserved_special_token_3|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128012": { + "content": "<|reserved_special_token_4|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128013": { + "content": "<|reserved_special_token_5|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128014": { + "content": "<|reserved_special_token_6|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128015": { + "content": "<|reserved_special_token_7|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128016": { + "content": "<|reserved_special_token_8|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128017": { + "content": "<|reserved_special_token_9|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128018": { + "content": "<|reserved_special_token_10|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128019": { + "content": "<|reserved_special_token_11|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128020": { + "content": "<|reserved_special_token_12|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128021": { + "content": "<|reserved_special_token_13|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128022": { + "content": "<|reserved_special_token_14|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128023": { + "content": "<|reserved_special_token_15|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128024": { + "content": "<|reserved_special_token_16|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128025": { + "content": "<|reserved_special_token_17|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128026": { + "content": "<|reserved_special_token_18|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128027": { + "content": "<|reserved_special_token_19|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128028": { + "content": "<|reserved_special_token_20|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128029": { + "content": "<|reserved_special_token_21|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128030": { + "content": "<|reserved_special_token_22|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128031": { + "content": "<|reserved_special_token_23|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128032": { + "content": "<|reserved_special_token_24|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128033": { + "content": "<|reserved_special_token_25|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128034": { + "content": "<|reserved_special_token_26|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128035": { + "content": "<|reserved_special_token_27|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128036": { + "content": "<|reserved_special_token_28|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128037": { + "content": "<|reserved_special_token_29|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128038": { + "content": "<|reserved_special_token_30|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128039": { + "content": "<|reserved_special_token_31|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128040": { + "content": "<|reserved_special_token_32|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128041": { + "content": "<|reserved_special_token_33|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128042": { + "content": "<|reserved_special_token_34|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128043": { + "content": "<|reserved_special_token_35|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128044": { + "content": "<|reserved_special_token_36|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128045": { + "content": "<|reserved_special_token_37|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128046": { + "content": "<|reserved_special_token_38|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128047": { + "content": "<|reserved_special_token_39|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128048": { + "content": "<|reserved_special_token_40|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128049": { + "content": "<|reserved_special_token_41|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128050": { + "content": "<|reserved_special_token_42|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128051": { + "content": "<|reserved_special_token_43|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128052": { + "content": "<|reserved_special_token_44|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128053": { + "content": "<|reserved_special_token_45|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128054": { + "content": "<|reserved_special_token_46|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128055": { + "content": "<|reserved_special_token_47|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128056": { + "content": "<|reserved_special_token_48|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128057": { + "content": "<|reserved_special_token_49|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128058": { + "content": "<|reserved_special_token_50|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128059": { + "content": "<|reserved_special_token_51|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128060": { + "content": "<|reserved_special_token_52|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128061": { + "content": "<|reserved_special_token_53|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128062": { + "content": "<|reserved_special_token_54|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128063": { + "content": "<|reserved_special_token_55|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128064": { + "content": "<|reserved_special_token_56|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128065": { + "content": "<|reserved_special_token_57|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128066": { + "content": "<|reserved_special_token_58|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128067": { + "content": "<|reserved_special_token_59|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128068": { + "content": "<|reserved_special_token_60|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128069": { + "content": "<|reserved_special_token_61|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128070": { + "content": "<|reserved_special_token_62|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128071": { + "content": "<|reserved_special_token_63|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128072": { + "content": "<|reserved_special_token_64|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128073": { + "content": "<|reserved_special_token_65|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128074": { + "content": "<|reserved_special_token_66|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128075": { + "content": "<|reserved_special_token_67|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128076": { + "content": "<|reserved_special_token_68|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128077": { + "content": "<|reserved_special_token_69|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128078": { + "content": "<|reserved_special_token_70|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128079": { + "content": "<|reserved_special_token_71|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128080": { + "content": "<|reserved_special_token_72|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128081": { + "content": "<|reserved_special_token_73|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128082": { + "content": "<|reserved_special_token_74|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128083": { + "content": "<|reserved_special_token_75|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128084": { + "content": "<|reserved_special_token_76|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128085": { + "content": "<|reserved_special_token_77|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128086": { + "content": "<|reserved_special_token_78|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128087": { + "content": "<|reserved_special_token_79|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128088": { + "content": "<|reserved_special_token_80|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128089": { + "content": "<|reserved_special_token_81|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128090": { + "content": "<|reserved_special_token_82|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128091": { + "content": "<|reserved_special_token_83|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128092": { + "content": "<|reserved_special_token_84|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128093": { + "content": "<|reserved_special_token_85|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128094": { + "content": "<|reserved_special_token_86|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128095": { + "content": "<|reserved_special_token_87|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128096": { + "content": "<|reserved_special_token_88|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128097": { + "content": "<|reserved_special_token_89|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128098": { + "content": "<|reserved_special_token_90|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128099": { + "content": "<|reserved_special_token_91|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128100": { + "content": "<|reserved_special_token_92|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128101": { + "content": "<|reserved_special_token_93|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128102": { + "content": "<|reserved_special_token_94|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128103": { + "content": "<|reserved_special_token_95|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128104": { + "content": "<|reserved_special_token_96|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128105": { + "content": "<|reserved_special_token_97|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128106": { + "content": "<|reserved_special_token_98|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128107": { + "content": "<|reserved_special_token_99|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128108": { + "content": "<|reserved_special_token_100|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128109": { + "content": "<|reserved_special_token_101|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128110": { + "content": "<|reserved_special_token_102|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128111": { + "content": "<|reserved_special_token_103|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128112": { + "content": "<|reserved_special_token_104|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128113": { + "content": "<|reserved_special_token_105|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128114": { + "content": "<|reserved_special_token_106|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128115": { + "content": "<|reserved_special_token_107|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128116": { + "content": "<|reserved_special_token_108|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128117": { + "content": "<|reserved_special_token_109|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128118": { + "content": "<|reserved_special_token_110|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128119": { + "content": "<|reserved_special_token_111|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128120": { + "content": "<|reserved_special_token_112|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128121": { + "content": "<|reserved_special_token_113|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128122": { + "content": "<|reserved_special_token_114|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128123": { + "content": "<|reserved_special_token_115|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128124": { + "content": "<|reserved_special_token_116|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128125": { + "content": "<|reserved_special_token_117|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128126": { + "content": "<|reserved_special_token_118|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128127": { + "content": "<|reserved_special_token_119|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128128": { + "content": "<|reserved_special_token_120|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128129": { + "content": "<|reserved_special_token_121|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128130": { + "content": "<|reserved_special_token_122|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128131": { + "content": "<|reserved_special_token_123|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128132": { + "content": "<|reserved_special_token_124|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128133": { + "content": "<|reserved_special_token_125|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128134": { + "content": "<|reserved_special_token_126|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128135": { + "content": "<|reserved_special_token_127|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128136": { + "content": "<|reserved_special_token_128|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128137": { + "content": "<|reserved_special_token_129|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128138": { + "content": "<|reserved_special_token_130|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128139": { + "content": "<|reserved_special_token_131|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128140": { + "content": "<|reserved_special_token_132|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128141": { + "content": "<|reserved_special_token_133|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128142": { + "content": "<|reserved_special_token_134|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128143": { + "content": "<|reserved_special_token_135|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128144": { + "content": "<|reserved_special_token_136|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128145": { + "content": "<|reserved_special_token_137|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128146": { + "content": "<|reserved_special_token_138|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128147": { + "content": "<|reserved_special_token_139|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128148": { + "content": "<|reserved_special_token_140|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128149": { + "content": "<|reserved_special_token_141|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128150": { + "content": "<|reserved_special_token_142|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128151": { + "content": "<|reserved_special_token_143|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128152": { + "content": "<|reserved_special_token_144|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128153": { + "content": "<|reserved_special_token_145|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128154": { + "content": "<|reserved_special_token_146|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128155": { + "content": "<|reserved_special_token_147|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128156": { + "content": "<|reserved_special_token_148|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128157": { + "content": "<|reserved_special_token_149|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128158": { + "content": "<|reserved_special_token_150|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128159": { + "content": "<|reserved_special_token_151|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128160": { + "content": "<|reserved_special_token_152|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128161": { + "content": "<|reserved_special_token_153|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128162": { + "content": "<|reserved_special_token_154|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128163": { + "content": "<|reserved_special_token_155|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128164": { + "content": "<|reserved_special_token_156|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128165": { + "content": "<|reserved_special_token_157|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128166": { + "content": "<|reserved_special_token_158|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128167": { + "content": "<|reserved_special_token_159|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128168": { + "content": "<|reserved_special_token_160|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128169": { + "content": "<|reserved_special_token_161|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128170": { + "content": "<|reserved_special_token_162|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128171": { + "content": "<|reserved_special_token_163|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128172": { + "content": "<|reserved_special_token_164|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128173": { + "content": "<|reserved_special_token_165|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128174": { + "content": "<|reserved_special_token_166|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128175": { + "content": "<|reserved_special_token_167|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128176": { + "content": "<|reserved_special_token_168|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128177": { + "content": "<|reserved_special_token_169|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128178": { + "content": "<|reserved_special_token_170|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128179": { + "content": "<|reserved_special_token_171|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128180": { + "content": "<|reserved_special_token_172|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128181": { + "content": "<|reserved_special_token_173|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128182": { + "content": "<|reserved_special_token_174|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128183": { + "content": "<|reserved_special_token_175|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128184": { + "content": "<|reserved_special_token_176|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128185": { + "content": "<|reserved_special_token_177|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128186": { + "content": "<|reserved_special_token_178|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128187": { + "content": "<|reserved_special_token_179|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128188": { + "content": "<|reserved_special_token_180|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128189": { + "content": "<|reserved_special_token_181|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128190": { + "content": "<|reserved_special_token_182|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128191": { + "content": "<|reserved_special_token_183|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128192": { + "content": "<|reserved_special_token_184|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128193": { + "content": "<|reserved_special_token_185|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128194": { + "content": "<|reserved_special_token_186|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128195": { + "content": "<|reserved_special_token_187|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128196": { + "content": "<|reserved_special_token_188|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128197": { + "content": "<|reserved_special_token_189|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128198": { + "content": "<|reserved_special_token_190|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128199": { + "content": "<|reserved_special_token_191|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128200": { + "content": "<|reserved_special_token_192|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128201": { + "content": "<|reserved_special_token_193|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128202": { + "content": "<|reserved_special_token_194|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128203": { + "content": "<|reserved_special_token_195|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128204": { + "content": "<|reserved_special_token_196|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128205": { + "content": "<|reserved_special_token_197|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128206": { + "content": "<|reserved_special_token_198|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128207": { + "content": "<|reserved_special_token_199|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128208": { + "content": "<|reserved_special_token_200|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128209": { + "content": "<|reserved_special_token_201|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128210": { + "content": "<|reserved_special_token_202|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128211": { + "content": "<|reserved_special_token_203|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128212": { + "content": "<|reserved_special_token_204|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128213": { + "content": "<|reserved_special_token_205|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128214": { + "content": "<|reserved_special_token_206|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128215": { + "content": "<|reserved_special_token_207|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128216": { + "content": "<|reserved_special_token_208|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128217": { + "content": "<|reserved_special_token_209|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128218": { + "content": "<|reserved_special_token_210|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128219": { + "content": "<|reserved_special_token_211|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128220": { + "content": "<|reserved_special_token_212|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128221": { + "content": "<|reserved_special_token_213|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128222": { + "content": "<|reserved_special_token_214|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128223": { + "content": "<|reserved_special_token_215|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128224": { + "content": "<|reserved_special_token_216|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128225": { + "content": "<|reserved_special_token_217|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128226": { + "content": "<|reserved_special_token_218|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128227": { + "content": "<|reserved_special_token_219|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128228": { + "content": "<|reserved_special_token_220|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128229": { + "content": "<|reserved_special_token_221|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128230": { + "content": "<|reserved_special_token_222|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128231": { + "content": "<|reserved_special_token_223|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128232": { + "content": "<|reserved_special_token_224|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128233": { + "content": "<|reserved_special_token_225|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128234": { + "content": "<|reserved_special_token_226|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128235": { + "content": "<|reserved_special_token_227|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128236": { + "content": "<|reserved_special_token_228|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128237": { + "content": "<|reserved_special_token_229|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128238": { + "content": "<|reserved_special_token_230|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128239": { + "content": "<|reserved_special_token_231|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128240": { + "content": "<|reserved_special_token_232|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128241": { + "content": "<|reserved_special_token_233|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128242": { + "content": "<|reserved_special_token_234|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128243": { + "content": "<|reserved_special_token_235|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128244": { + "content": "<|reserved_special_token_236|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128245": { + "content": "<|reserved_special_token_237|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128246": { + "content": "<|reserved_special_token_238|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128247": { + "content": "<|reserved_special_token_239|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128248": { + "content": "<|reserved_special_token_240|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128249": { + "content": "<|reserved_special_token_241|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128250": { + "content": "<|reserved_special_token_242|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128251": { + "content": "<|reserved_special_token_243|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128252": { + "content": "<|reserved_special_token_244|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128253": { + "content": "<|reserved_special_token_245|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128254": { + "content": "<|reserved_special_token_246|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128255": { + "content": "<|reserved_special_token_247|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [ + "<|eot_id|>", + "<|eom_id|>" + ], + "bos_token": "<|begin_of_text|>", + "chat_template": "{{ '<|begin_of_text|>' }}{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% endif %}{% if system_message is defined %}{{ '<|start_header_id|>system<|end_header_id|>\n\n' + system_message + '<|eot_id|>' }}{% endif %}{% for message in loop_messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ '<|start_header_id|>user<|end_header_id|>\n\n' + content + '<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n' }}{% elif message['role'] == 'assistant' %}{{ content + '<|eot_id|>' }}{% endif %}{% endfor %}", + "clean_up_tokenization_spaces": true, + "eos_token": "<|end_of_text|>", + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 2048, + "pad_token": "<|end_of_text|>", + "padding_side": "right", + "split_special_tokens": false, + "tokenizer_class": "PreTrainedTokenizerFast" +} diff --git a/checkpoint-500/trainer_state.json b/checkpoint-500/trainer_state.json new file mode 100644 index 0000000..b670d39 --- /dev/null +++ b/checkpoint-500/trainer_state.json @@ -0,0 +1,383 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.9191176470588235, + "eval_steps": 500, + "global_step": 500, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.01838235294117647, + "grad_norm": 24.461347652326168, + "learning_rate": 6.097560975609757e-07, + "loss": 1.2036, + "step": 10 + }, + { + "epoch": 0.03676470588235294, + "grad_norm": 17.308880580961944, + "learning_rate": 1.2195121951219514e-06, + "loss": 1.2064, + "step": 20 + }, + { + "epoch": 0.05514705882352941, + "grad_norm": 29.601720546719697, + "learning_rate": 1.8292682926829268e-06, + "loss": 1.2741, + "step": 30 + }, + { + "epoch": 0.07352941176470588, + "grad_norm": 14.115818236245202, + "learning_rate": 2.4390243902439027e-06, + "loss": 0.7596, + "step": 40 + }, + { + "epoch": 0.09191176470588236, + "grad_norm": 21.73939509164672, + "learning_rate": 3.0487804878048782e-06, + "loss": 0.6171, + "step": 50 + }, + { + "epoch": 0.11029411764705882, + "grad_norm": 16.96116387460838, + "learning_rate": 3.6585365853658537e-06, + "loss": 0.794, + "step": 60 + }, + { + "epoch": 0.12867647058823528, + "grad_norm": 15.372652400517632, + "learning_rate": 4.268292682926829e-06, + "loss": 0.6233, + "step": 70 + }, + { + "epoch": 0.14705882352941177, + "grad_norm": 15.062285237489078, + "learning_rate": 4.8780487804878055e-06, + "loss": 0.5441, + "step": 80 + }, + { + "epoch": 0.16544117647058823, + "grad_norm": 18.632304280702545, + "learning_rate": 5.487804878048781e-06, + "loss": 0.5784, + "step": 90 + }, + { + "epoch": 0.18382352941176472, + "grad_norm": 13.945519044585177, + "learning_rate": 6.0975609756097564e-06, + "loss": 0.4844, + "step": 100 + }, + { + "epoch": 0.20220588235294118, + "grad_norm": 6.9751627817275, + "learning_rate": 6.707317073170733e-06, + "loss": 0.6535, + "step": 110 + }, + { + "epoch": 0.22058823529411764, + "grad_norm": 25.188175477401735, + "learning_rate": 7.317073170731707e-06, + "loss": 0.6897, + "step": 120 + }, + { + "epoch": 0.23897058823529413, + "grad_norm": 14.572936912172068, + "learning_rate": 7.926829268292685e-06, + "loss": 0.4217, + "step": 130 + }, + { + "epoch": 0.25735294117647056, + "grad_norm": 14.934836192557746, + "learning_rate": 8.536585365853658e-06, + "loss": 0.5868, + "step": 140 + }, + { + "epoch": 0.2757352941176471, + "grad_norm": 11.450309910668999, + "learning_rate": 9.146341463414635e-06, + "loss": 0.53, + "step": 150 + }, + { + "epoch": 0.29411764705882354, + "grad_norm": 21.677329690439954, + "learning_rate": 9.756097560975611e-06, + "loss": 0.5538, + "step": 160 + }, + { + "epoch": 0.3125, + "grad_norm": 13.221017712308962, + "learning_rate": 9.999587822598768e-06, + "loss": 0.4616, + "step": 170 + }, + { + "epoch": 0.33088235294117646, + "grad_norm": 17.10580370679984, + "learning_rate": 9.997069206794246e-06, + "loss": 0.5633, + "step": 180 + }, + { + "epoch": 0.3492647058823529, + "grad_norm": 12.4225156252439, + "learning_rate": 9.992262114666653e-06, + "loss": 0.6035, + "step": 190 + }, + { + "epoch": 0.36764705882352944, + "grad_norm": 9.012606555821149, + "learning_rate": 9.985168747689706e-06, + "loss": 0.5822, + "step": 200 + }, + { + "epoch": 0.3860294117647059, + "grad_norm": 7.876601539287651, + "learning_rate": 9.975792354368019e-06, + "loss": 0.3755, + "step": 210 + }, + { + "epoch": 0.40441176470588236, + "grad_norm": 6.10882571982772, + "learning_rate": 9.964137228749409e-06, + "loss": 0.4914, + "step": 220 + }, + { + "epoch": 0.4227941176470588, + "grad_norm": 6.537974128609375, + "learning_rate": 9.950208708458371e-06, + "loss": 0.4604, + "step": 230 + }, + { + "epoch": 0.4411764705882353, + "grad_norm": 7.108775542718406, + "learning_rate": 9.934013172251654e-06, + "loss": 0.5029, + "step": 240 + }, + { + "epoch": 0.45955882352941174, + "grad_norm": 13.652621643454376, + "learning_rate": 9.915558037097003e-06, + "loss": 0.5404, + "step": 250 + }, + { + "epoch": 0.47794117647058826, + "grad_norm": 9.685271320615122, + "learning_rate": 9.894851754776473e-06, + "loss": 0.3555, + "step": 260 + }, + { + "epoch": 0.4963235294117647, + "grad_norm": 10.504810722270348, + "learning_rate": 9.871903808015812e-06, + "loss": 0.4092, + "step": 270 + }, + { + "epoch": 0.5147058823529411, + "grad_norm": 12.557835687927717, + "learning_rate": 9.846724706141718e-06, + "loss": 0.4489, + "step": 280 + }, + { + "epoch": 0.5330882352941176, + "grad_norm": 19.32420837447236, + "learning_rate": 9.819325980268946e-06, + "loss": 0.5297, + "step": 290 + }, + { + "epoch": 0.5514705882352942, + "grad_norm": 12.56688753149935, + "learning_rate": 9.789720178019483e-06, + "loss": 0.4301, + "step": 300 + }, + { + "epoch": 0.5698529411764706, + "grad_norm": 8.769304725602016, + "learning_rate": 9.757920857776188e-06, + "loss": 0.5499, + "step": 310 + }, + { + "epoch": 0.5882352941176471, + "grad_norm": 6.742725850222398, + "learning_rate": 9.723942582473545e-06, + "loss": 0.3723, + "step": 320 + }, + { + "epoch": 0.6066176470588235, + "grad_norm": 32.81061857477797, + "learning_rate": 9.687800912928362e-06, + "loss": 0.6103, + "step": 330 + }, + { + "epoch": 0.625, + "grad_norm": 7.250155807815409, + "learning_rate": 9.649512400713497e-06, + "loss": 0.5561, + "step": 340 + }, + { + "epoch": 0.6433823529411765, + "grad_norm": 8.449295772111478, + "learning_rate": 9.609094580577825e-06, + "loss": 0.4384, + "step": 350 + }, + { + "epoch": 0.6617647058823529, + "grad_norm": 8.965901929446623, + "learning_rate": 9.566565962415958e-06, + "loss": 0.492, + "step": 360 + }, + { + "epoch": 0.6801470588235294, + "grad_norm": 10.783592668291883, + "learning_rate": 9.521946022791402e-06, + "loss": 0.5596, + "step": 370 + }, + { + "epoch": 0.6985294117647058, + "grad_norm": 6.524203722153494, + "learning_rate": 9.475255196016972e-06, + "loss": 0.4657, + "step": 380 + }, + { + "epoch": 0.7169117647058824, + "grad_norm": 6.844495651307719, + "learning_rate": 9.426514864796648e-06, + "loss": 0.547, + "step": 390 + }, + { + "epoch": 0.7352941176470589, + "grad_norm": 7.093995062440304, + "learning_rate": 9.375747350433044e-06, + "loss": 0.4821, + "step": 400 + }, + { + "epoch": 0.7536764705882353, + "grad_norm": 13.008619062718342, + "learning_rate": 9.322975902605082e-06, + "loss": 0.3627, + "step": 410 + }, + { + "epoch": 0.7720588235294118, + "grad_norm": 7.658314017103231, + "learning_rate": 9.268224688720475e-06, + "loss": 0.2779, + "step": 420 + }, + { + "epoch": 0.7904411764705882, + "grad_norm": 9.961772688539515, + "learning_rate": 9.211518782847932e-06, + "loss": 0.684, + "step": 430 + }, + { + "epoch": 0.8088235294117647, + "grad_norm": 5.184448250813704, + "learning_rate": 9.152884154234147e-06, + "loss": 0.3829, + "step": 440 + }, + { + "epoch": 0.8272058823529411, + "grad_norm": 16.899974205034713, + "learning_rate": 9.092347655410818e-06, + "loss": 0.409, + "step": 450 + }, + { + "epoch": 0.8455882352941176, + "grad_norm": 9.123647569900998, + "learning_rate": 9.029937009897176e-06, + "loss": 0.4189, + "step": 460 + }, + { + "epoch": 0.8639705882352942, + "grad_norm": 14.941661911314725, + "learning_rate": 8.96568079950361e-06, + "loss": 0.4846, + "step": 470 + }, + { + "epoch": 0.8823529411764706, + "grad_norm": 6.576553080941865, + "learning_rate": 8.899608451242233e-06, + "loss": 0.4869, + "step": 480 + }, + { + "epoch": 0.9007352941176471, + "grad_norm": 9.989273508498824, + "learning_rate": 8.83175022385039e-06, + "loss": 0.368, + "step": 490 + }, + { + "epoch": 0.9191176470588235, + "grad_norm": 5.168977011450082, + "learning_rate": 8.762137193933241e-06, + "loss": 0.3489, + "step": 500 + } + ], + "logging_steps": 10, + "max_steps": 1632, + "num_input_tokens_seen": 0, + "num_train_epochs": 3, + "save_steps": 500, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 75890884608.0, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-500/training_args.bin b/checkpoint-500/training_args.bin new file mode 100644 index 0000000..10fbb2a --- /dev/null +++ b/checkpoint-500/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4bebf5c7141bddbed6a7feb4bf1a35ed3fbf020c7c4dc7ab21f6f30268f7e3 +size 7352 diff --git a/checkpoint-500/zero_to_fp32.py b/checkpoint-500/zero_to_fp32.py new file mode 100644 index 0000000..0e75914 --- /dev/null +++ b/checkpoint-500/zero_to_fp32.py @@ -0,0 +1,760 @@ +#!/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 . output_dir/ +# or +# python zero_to_fp32.py . output_dir/ --safe_serialization + +import argparse +import torch +import glob +import math +import os +import re +import gc +import json +import numpy as np +from tqdm import tqdm +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, weights_only=False) + + 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 tqdm(files, desc='Loading checkpoint shards'): + state_dict = torch.load(f, map_location=device, mmap=True, weights_only=False) + # 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}") + + fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] 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, exclude_frozen_parameters): + """ + 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, + exclude_frozen_parameters) + elif zero_stage == 3: + return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states, + exclude_frozen_parameters) + + +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, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _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") + + +class GatheredTensor: + """ + A pseudo tensor that collects partitioned weights. + It is more memory efficient when there are multiple groups. + """ + + def __init__(self, flat_groups, flat_groups_offset, offset, partitioned_numel, shape): + self.flat_groups = flat_groups + self.flat_groups_offset = flat_groups_offset + self.offset = offset + self.partitioned_numel = partitioned_numel + self.shape = shape + self.dtype = self.flat_groups[0][0].dtype + + def contiguous(self): + """ + Merge partitioned weights from flat_groups into a single tensor. + """ + end_idx = self.offset + self.partitioned_numel + world_size = len(self.flat_groups) + pad_flat_param_chunks = [] + + for rank_i in range(world_size): + # for each rank, we need to collect weights from related group/groups + flat_groups_at_rank_i = self.flat_groups[rank_i] + start_group_id = None + end_group_id = None + for group_id in range(len(self.flat_groups_offset)): + if self.flat_groups_offset[group_id] <= self.offset < self.flat_groups_offset[group_id + 1]: + start_group_id = group_id + if self.flat_groups_offset[group_id] < end_idx <= self.flat_groups_offset[group_id + 1]: + end_group_id = group_id + break + # collect weights from related group/groups + for group_id in range(start_group_id, end_group_id + 1): + flat_tensor = flat_groups_at_rank_i[group_id] + start_offset = self.offset - self.flat_groups_offset[group_id] + end_offset = min(end_idx, self.flat_groups_offset[group_id + 1]) - self.flat_groups_offset[group_id] + pad_flat_param_chunks.append(flat_tensor[start_offset:end_offset]) + + # collect weights from all ranks + pad_flat_param = torch.cat(pad_flat_param_chunks, dim=0) + param = pad_flat_param[:self.shape.numel()].view(self.shape).contiguous() + return param + + +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 = sum([flat_group.numel() for flat_group in fp32_flat_groups[0]]) * 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 + flat_groups_offset = [0] + list(np.cumsum([flat_tensor.numel() for flat_tensor in fp32_flat_groups[0]])) + for name, shape in tqdm(param_shapes.items(), desc='Gathering sharded weights'): + 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}" + ) + + # memory efficient tensor + tensor = GatheredTensor(fp32_flat_groups, flat_groups_offset, offset, partitioned_numel, shape) + state_dict[name] = tensor + 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, + exclude_frozen_parameters): + state_dict = OrderedDict() + + # buffers + buffers = zero_model_states[0].buffers + state_dict.update(buffers) + if debug: + print(f"added {len(buffers)} buffers") + + if not exclude_frozen_parameters: + _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 to_torch_tensor(state_dict, return_empty_tensor=False): + """ + Convert state_dict of GatheredTensor to torch tensor + """ + torch_state_dict = {} + converted_tensors = {} + for name, tensor in state_dict.items(): + tensor_id = id(tensor) + if tensor_id in converted_tensors: # shared tensors + shared_tensor = torch_state_dict[converted_tensors[tensor_id]] + torch_state_dict[name] = shared_tensor + else: + converted_tensors[tensor_id] = name + if return_empty_tensor: + torch_state_dict[name] = torch.empty(tensor.shape, dtype=tensor.dtype) + else: + torch_state_dict[name] = tensor.contiguous() + return torch_state_dict + + +def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag=None, + exclude_frozen_parameters=False, + lazy_mode=False): + """ + 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`` + - ``exclude_frozen_parameters``: exclude frozen parameters + - ``lazy_mode``: get state_dict in lazy mode. It returns a dict of pesduo tensor instead of torch tensor, which is more memory efficient. + Convert the pesduo tensor to torch tensor by ``.contiguous()`` + + Returns: + - pytorch ``state_dict`` + + 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. + + Note: the above usage may not work if your application doesn't have sufficient free CPU memory. + You may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with + the checkpoint. Or you can load state_dict in lazy mode :: + + from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, lazy_mode=True) # not on cpu + for name, lazy_tensor in state_dict.item(): + tensor = lazy_tensor.contiguous() # to cpu + print(name, tensor) + # del tensor to release memory if it no longer in use + """ + 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") + + state_dict = _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters) + if lazy_mode: + return state_dict + else: + return to_torch_tensor(state_dict) + + +def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, + output_dir, + max_shard_size="5GB", + safe_serialization=False, + tag=None, + exclude_frozen_parameters=False): + """ + 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_dir``: directory to the pytorch fp32 state_dict output files + - ``max_shard_size``: the maximum size for a checkpoint before being sharded, default value is 5GB + - ``safe_serialization``: whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`). + - ``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`` + - ``exclude_frozen_parameters``: exclude frozen parameters + """ + + # Dependency pre-check + if safe_serialization: + try: + from safetensors.torch import save_file + except ImportError: + print('If you want to use `safe_serialization`, please `pip install safetensors`') + raise + if max_shard_size is not None: + try: + from huggingface_hub import split_torch_state_dict_into_shards + except ImportError: + print('If you want to use `max_shard_size`, please `pip install huggingface_hub`') + raise + + # Convert zero checkpoint to state_dict + state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, + tag, + exclude_frozen_parameters, + lazy_mode=True) + + # Shard the model if it is too big. + weights_name = "model.safetensors" if safe_serialization else "pytorch_model.bin" + if max_shard_size is not None: + filename_pattern = weights_name.replace(".bin", "{suffix}.bin").replace(".safetensors", "{suffix}.safetensors") + # an memory-efficient approach for sharding + empty_state_dict = to_torch_tensor(state_dict, return_empty_tensor=True) + state_dict_split = split_torch_state_dict_into_shards(empty_state_dict, + filename_pattern=filename_pattern, + max_shard_size=max_shard_size) + else: + from collections import namedtuple + StateDictSplit = namedtuple("StateDictSplit", ["is_sharded", "filename_to_tensors"]) + state_dict_split = StateDictSplit(is_sharded=False, + filename_to_tensors={weights_name: list(state_dict.keys())}) + + # Save the model by shard + os.makedirs(output_dir, exist_ok=True) + filename_to_tensors = state_dict_split.filename_to_tensors.items() + for shard_file, tensors in tqdm(filename_to_tensors, desc="Saving checkpoint shards"): + shard_state_dict = {tensor_name: state_dict[tensor_name] for tensor_name in tensors} + shard_state_dict = to_torch_tensor(shard_state_dict) + output_path = os.path.join(output_dir, shard_file) + if safe_serialization: + save_file(shard_state_dict, output_path, metadata={"format": "pt"}) + else: + torch.save(shard_state_dict, output_path) + # release the memory of current shard + for tensor_name in list(shard_state_dict.keys()): + del state_dict[tensor_name] + del shard_state_dict[tensor_name] + del shard_state_dict + gc.collect() + + # Save index if sharded + if state_dict_split.is_sharded: + index = { + "metadata": state_dict_split.metadata, + "weight_map": state_dict_split.tensor_to_filename, + } + save_index_file = "model.safetensors.index.json" if safe_serialization else "pytorch_model.bin.index.json" + save_index_file = os.path.join(output_dir, save_index_file) + with open(save_index_file, "w", encoding="utf-8") as f: + content = json.dumps(index, indent=2, sort_keys=True) + "\n" + f.write(content) + + +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_dir", + type=str, + help="directory to the pytorch fp32 state_dict output files" + "(e.g. path/checkpoint-12-output/)") + parser.add_argument( + "--max_shard_size", + type=str, + default="5GB", + help="The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size" + "lower than this size. If expressed as a string, needs to be digits followed by a unit (like `5MB`" + "We default it to 5GB in order for models to be able to run easily on free-tier google colab instances" + "without CPU OOM issues.") + parser.add_argument( + "--safe_serialization", + default=False, + action='store_true', + help="Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).") + 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("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters") + 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_dir, + max_shard_size=args.max_shard_size, + safe_serialization=args.safe_serialization, + tag=args.tag, + exclude_frozen_parameters=args.exclude_frozen_parameters) diff --git a/config.json b/config.json new file mode 100644 index 0000000..5a1694f --- /dev/null +++ b/config.json @@ -0,0 +1,36 @@ +{ + "_name_or_path": "meta-llama/Llama-3.2-1B", + "architectures": [ + "LlamaForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 128000, + "eos_token_id": 128001, + "head_dim": 64, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 8192, + "max_position_embeddings": 131072, + "mlp_bias": false, + "model_type": "llama", + "num_attention_heads": 32, + "num_hidden_layers": 16, + "num_key_value_heads": 8, + "pretraining_tp": 1, + "rms_norm_eps": 1e-05, + "rope_scaling": { + "factor": 32.0, + "high_freq_factor": 4.0, + "low_freq_factor": 1.0, + "original_max_position_embeddings": 8192, + "rope_type": "llama3" + }, + "rope_theta": 500000.0, + "tie_word_embeddings": true, + "torch_dtype": "bfloat16", + "transformers_version": "4.46.1", + "use_cache": false, + "vocab_size": 128256 +} diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..eab5082 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,9 @@ +{ + "_from_model_config": true, + "bos_token_id": 128000, + "do_sample": true, + "eos_token_id": 128001, + "temperature": 0.6, + "top_p": 0.9, + "transformers_version": "4.46.1" +} diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..1b87b65 --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:297c740fd49c32381d3300f0f09c71cffc651269dd89120d8e28cf8032173667 +size 2471645608 diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..426a800 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,33 @@ +{ + "additional_special_tokens": [ + { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } + ], + "bos_token": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": "<|end_of_text|>" +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..1c1d8d5 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b9e4e7fb171f92fd137b777cc2714bf87d11576700a1dcd7a399e7bbe39537b +size 17209920 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..3a8f322 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,2069 @@ +{ + "added_tokens_decoder": { + "128000": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128001": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128002": { + "content": "<|reserved_special_token_0|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128003": { + "content": "<|reserved_special_token_1|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128004": { + "content": "<|finetune_right_pad_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128005": { + "content": "<|reserved_special_token_2|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128006": { + "content": "<|start_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128007": { + "content": "<|end_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128008": { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128009": { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128010": { + "content": "<|python_tag|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128011": { + "content": "<|reserved_special_token_3|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128012": { + "content": "<|reserved_special_token_4|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128013": { + "content": "<|reserved_special_token_5|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128014": { + "content": "<|reserved_special_token_6|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128015": { + "content": "<|reserved_special_token_7|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128016": { + "content": "<|reserved_special_token_8|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128017": { + "content": "<|reserved_special_token_9|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128018": { + "content": "<|reserved_special_token_10|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128019": { + "content": "<|reserved_special_token_11|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128020": { + "content": "<|reserved_special_token_12|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128021": { + "content": "<|reserved_special_token_13|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128022": { + "content": "<|reserved_special_token_14|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128023": { + "content": "<|reserved_special_token_15|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128024": { + "content": "<|reserved_special_token_16|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128025": { + "content": "<|reserved_special_token_17|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128026": { + "content": "<|reserved_special_token_18|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128027": { + "content": "<|reserved_special_token_19|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128028": { + "content": "<|reserved_special_token_20|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128029": { + "content": "<|reserved_special_token_21|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128030": { + "content": "<|reserved_special_token_22|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128031": { + "content": "<|reserved_special_token_23|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128032": { + "content": "<|reserved_special_token_24|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128033": { + "content": "<|reserved_special_token_25|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128034": { + "content": "<|reserved_special_token_26|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128035": { + "content": "<|reserved_special_token_27|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128036": { + "content": "<|reserved_special_token_28|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128037": { + "content": "<|reserved_special_token_29|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128038": { + "content": "<|reserved_special_token_30|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128039": { + "content": "<|reserved_special_token_31|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128040": { + "content": "<|reserved_special_token_32|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128041": { + "content": "<|reserved_special_token_33|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128042": { + "content": "<|reserved_special_token_34|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128043": { + "content": "<|reserved_special_token_35|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128044": { + "content": "<|reserved_special_token_36|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128045": { + "content": "<|reserved_special_token_37|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128046": { + "content": "<|reserved_special_token_38|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128047": { + "content": "<|reserved_special_token_39|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128048": { + "content": "<|reserved_special_token_40|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128049": { + "content": "<|reserved_special_token_41|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128050": { + "content": "<|reserved_special_token_42|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128051": { + "content": "<|reserved_special_token_43|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128052": { + "content": "<|reserved_special_token_44|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128053": { + "content": "<|reserved_special_token_45|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128054": { + "content": "<|reserved_special_token_46|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128055": { + "content": "<|reserved_special_token_47|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128056": { + "content": "<|reserved_special_token_48|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128057": { + "content": "<|reserved_special_token_49|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128058": { + "content": "<|reserved_special_token_50|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128059": { + "content": "<|reserved_special_token_51|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128060": { + "content": "<|reserved_special_token_52|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128061": { + "content": "<|reserved_special_token_53|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128062": { + "content": "<|reserved_special_token_54|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128063": { + "content": "<|reserved_special_token_55|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128064": { + "content": "<|reserved_special_token_56|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128065": { + "content": "<|reserved_special_token_57|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128066": { + "content": "<|reserved_special_token_58|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128067": { + "content": "<|reserved_special_token_59|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128068": { + "content": "<|reserved_special_token_60|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128069": { + "content": "<|reserved_special_token_61|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128070": { + "content": "<|reserved_special_token_62|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128071": { + "content": "<|reserved_special_token_63|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128072": { + "content": "<|reserved_special_token_64|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128073": { + "content": "<|reserved_special_token_65|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128074": { + "content": "<|reserved_special_token_66|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128075": { + "content": "<|reserved_special_token_67|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128076": { + "content": "<|reserved_special_token_68|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128077": { + "content": "<|reserved_special_token_69|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128078": { + "content": "<|reserved_special_token_70|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128079": { + "content": "<|reserved_special_token_71|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128080": { + "content": "<|reserved_special_token_72|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128081": { + "content": "<|reserved_special_token_73|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128082": { + "content": "<|reserved_special_token_74|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128083": { + "content": "<|reserved_special_token_75|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128084": { + "content": "<|reserved_special_token_76|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128085": { + "content": "<|reserved_special_token_77|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128086": { + "content": "<|reserved_special_token_78|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128087": { + "content": "<|reserved_special_token_79|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128088": { + "content": "<|reserved_special_token_80|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128089": { + "content": "<|reserved_special_token_81|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128090": { + "content": "<|reserved_special_token_82|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128091": { + "content": "<|reserved_special_token_83|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128092": { + "content": "<|reserved_special_token_84|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128093": { + "content": "<|reserved_special_token_85|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128094": { + "content": "<|reserved_special_token_86|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128095": { + "content": "<|reserved_special_token_87|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128096": { + "content": "<|reserved_special_token_88|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128097": { + "content": "<|reserved_special_token_89|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128098": { + "content": "<|reserved_special_token_90|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128099": { + "content": "<|reserved_special_token_91|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128100": { + "content": "<|reserved_special_token_92|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128101": { + "content": "<|reserved_special_token_93|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128102": { + "content": "<|reserved_special_token_94|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128103": { + "content": "<|reserved_special_token_95|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128104": { + "content": "<|reserved_special_token_96|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128105": { + "content": "<|reserved_special_token_97|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128106": { + "content": "<|reserved_special_token_98|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128107": { + "content": "<|reserved_special_token_99|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128108": { + "content": "<|reserved_special_token_100|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128109": { + "content": "<|reserved_special_token_101|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128110": { + "content": "<|reserved_special_token_102|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128111": { + "content": "<|reserved_special_token_103|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128112": { + "content": "<|reserved_special_token_104|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128113": { + "content": "<|reserved_special_token_105|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128114": { + "content": "<|reserved_special_token_106|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128115": { + "content": "<|reserved_special_token_107|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128116": { + "content": "<|reserved_special_token_108|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128117": { + "content": "<|reserved_special_token_109|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128118": { + "content": "<|reserved_special_token_110|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128119": { + "content": "<|reserved_special_token_111|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128120": { + "content": "<|reserved_special_token_112|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128121": { + "content": "<|reserved_special_token_113|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128122": { + "content": "<|reserved_special_token_114|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128123": { + "content": "<|reserved_special_token_115|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128124": { + "content": "<|reserved_special_token_116|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128125": { + "content": "<|reserved_special_token_117|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128126": { + "content": "<|reserved_special_token_118|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128127": { + "content": "<|reserved_special_token_119|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128128": { + "content": "<|reserved_special_token_120|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128129": { + "content": "<|reserved_special_token_121|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128130": { + "content": "<|reserved_special_token_122|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128131": { + "content": "<|reserved_special_token_123|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128132": { + "content": "<|reserved_special_token_124|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128133": { + "content": "<|reserved_special_token_125|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128134": { + "content": "<|reserved_special_token_126|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128135": { + "content": "<|reserved_special_token_127|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128136": { + "content": "<|reserved_special_token_128|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128137": { + "content": "<|reserved_special_token_129|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128138": { + "content": "<|reserved_special_token_130|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128139": { + "content": "<|reserved_special_token_131|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128140": { + "content": "<|reserved_special_token_132|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128141": { + "content": "<|reserved_special_token_133|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128142": { + "content": "<|reserved_special_token_134|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128143": { + "content": "<|reserved_special_token_135|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128144": { + "content": "<|reserved_special_token_136|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128145": { + "content": "<|reserved_special_token_137|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128146": { + "content": "<|reserved_special_token_138|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128147": { + "content": "<|reserved_special_token_139|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128148": { + "content": "<|reserved_special_token_140|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128149": { + "content": "<|reserved_special_token_141|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128150": { + "content": "<|reserved_special_token_142|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128151": { + "content": "<|reserved_special_token_143|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128152": { + "content": "<|reserved_special_token_144|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128153": { + "content": "<|reserved_special_token_145|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128154": { + "content": "<|reserved_special_token_146|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128155": { + "content": "<|reserved_special_token_147|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128156": { + "content": "<|reserved_special_token_148|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128157": { + "content": "<|reserved_special_token_149|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128158": { + "content": "<|reserved_special_token_150|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128159": { + "content": "<|reserved_special_token_151|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128160": { + "content": "<|reserved_special_token_152|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128161": { + "content": "<|reserved_special_token_153|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128162": { + "content": "<|reserved_special_token_154|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128163": { + "content": "<|reserved_special_token_155|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128164": { + "content": "<|reserved_special_token_156|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128165": { + "content": "<|reserved_special_token_157|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128166": { + "content": "<|reserved_special_token_158|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128167": { + "content": "<|reserved_special_token_159|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128168": { + "content": "<|reserved_special_token_160|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128169": { + "content": "<|reserved_special_token_161|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128170": { + "content": "<|reserved_special_token_162|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128171": { + "content": "<|reserved_special_token_163|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128172": { + "content": "<|reserved_special_token_164|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128173": { + "content": "<|reserved_special_token_165|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128174": { + "content": "<|reserved_special_token_166|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128175": { + "content": "<|reserved_special_token_167|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128176": { + "content": "<|reserved_special_token_168|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128177": { + "content": "<|reserved_special_token_169|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128178": { + "content": "<|reserved_special_token_170|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128179": { + "content": "<|reserved_special_token_171|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128180": { + "content": "<|reserved_special_token_172|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128181": { + "content": "<|reserved_special_token_173|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128182": { + "content": "<|reserved_special_token_174|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128183": { + "content": "<|reserved_special_token_175|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128184": { + "content": "<|reserved_special_token_176|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128185": { + "content": "<|reserved_special_token_177|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128186": { + "content": "<|reserved_special_token_178|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128187": { + "content": "<|reserved_special_token_179|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128188": { + "content": "<|reserved_special_token_180|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128189": { + "content": "<|reserved_special_token_181|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128190": { + "content": "<|reserved_special_token_182|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128191": { + "content": "<|reserved_special_token_183|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128192": { + "content": "<|reserved_special_token_184|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128193": { + "content": "<|reserved_special_token_185|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128194": { + "content": "<|reserved_special_token_186|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128195": { + "content": "<|reserved_special_token_187|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128196": { + "content": "<|reserved_special_token_188|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128197": { + "content": "<|reserved_special_token_189|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128198": { + "content": "<|reserved_special_token_190|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128199": { + "content": "<|reserved_special_token_191|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128200": { + "content": "<|reserved_special_token_192|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128201": { + "content": "<|reserved_special_token_193|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128202": { + "content": "<|reserved_special_token_194|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128203": { + "content": "<|reserved_special_token_195|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128204": { + "content": "<|reserved_special_token_196|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128205": { + "content": "<|reserved_special_token_197|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128206": { + "content": "<|reserved_special_token_198|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128207": { + "content": "<|reserved_special_token_199|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128208": { + "content": "<|reserved_special_token_200|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128209": { + "content": "<|reserved_special_token_201|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128210": { + "content": "<|reserved_special_token_202|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128211": { + "content": "<|reserved_special_token_203|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128212": { + "content": "<|reserved_special_token_204|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128213": { + "content": "<|reserved_special_token_205|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128214": { + "content": "<|reserved_special_token_206|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128215": { + "content": "<|reserved_special_token_207|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128216": { + "content": "<|reserved_special_token_208|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128217": { + "content": "<|reserved_special_token_209|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128218": { + "content": "<|reserved_special_token_210|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128219": { + "content": "<|reserved_special_token_211|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128220": { + "content": "<|reserved_special_token_212|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128221": { + "content": "<|reserved_special_token_213|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128222": { + "content": "<|reserved_special_token_214|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128223": { + "content": "<|reserved_special_token_215|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128224": { + "content": "<|reserved_special_token_216|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128225": { + "content": "<|reserved_special_token_217|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128226": { + "content": "<|reserved_special_token_218|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128227": { + "content": "<|reserved_special_token_219|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128228": { + "content": "<|reserved_special_token_220|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128229": { + "content": "<|reserved_special_token_221|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128230": { + "content": "<|reserved_special_token_222|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128231": { + "content": "<|reserved_special_token_223|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128232": { + "content": "<|reserved_special_token_224|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128233": { + "content": "<|reserved_special_token_225|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128234": { + "content": "<|reserved_special_token_226|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128235": { + "content": "<|reserved_special_token_227|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128236": { + "content": "<|reserved_special_token_228|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128237": { + "content": "<|reserved_special_token_229|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128238": { + "content": "<|reserved_special_token_230|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128239": { + "content": "<|reserved_special_token_231|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128240": { + "content": "<|reserved_special_token_232|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128241": { + "content": "<|reserved_special_token_233|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128242": { + "content": "<|reserved_special_token_234|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128243": { + "content": "<|reserved_special_token_235|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128244": { + "content": "<|reserved_special_token_236|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128245": { + "content": "<|reserved_special_token_237|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128246": { + "content": "<|reserved_special_token_238|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128247": { + "content": "<|reserved_special_token_239|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128248": { + "content": "<|reserved_special_token_240|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128249": { + "content": "<|reserved_special_token_241|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128250": { + "content": "<|reserved_special_token_242|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128251": { + "content": "<|reserved_special_token_243|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128252": { + "content": "<|reserved_special_token_244|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128253": { + "content": "<|reserved_special_token_245|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128254": { + "content": "<|reserved_special_token_246|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128255": { + "content": "<|reserved_special_token_247|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [ + "<|eot_id|>", + "<|eom_id|>" + ], + "bos_token": "<|begin_of_text|>", + "chat_template": "{{ '<|begin_of_text|>' }}{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% endif %}{% if system_message is defined %}{{ '<|start_header_id|>system<|end_header_id|>\n\n' + system_message + '<|eot_id|>' }}{% endif %}{% for message in loop_messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ '<|start_header_id|>user<|end_header_id|>\n\n' + content + '<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n' }}{% elif message['role'] == 'assistant' %}{{ content + '<|eot_id|>' }}{% endif %}{% endfor %}", + "clean_up_tokenization_spaces": true, + "eos_token": "<|end_of_text|>", + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 2048, + "pad_token": "<|end_of_text|>", + "padding_side": "right", + "split_special_tokens": false, + "tokenizer_class": "PreTrainedTokenizerFast" +} diff --git a/train_results.json b/train_results.json new file mode 100644 index 0000000..3961629 --- /dev/null +++ b/train_results.json @@ -0,0 +1,8 @@ +{ + "epoch": 3.0, + "total_flos": 246796222464.0, + "train_loss": 0.3023774076490572, + "train_runtime": 943.8917, + "train_samples_per_second": 3.458, + "train_steps_per_second": 1.729 +} \ No newline at end of file diff --git a/trainer_log.jsonl b/trainer_log.jsonl new file mode 100644 index 0000000..2d97525 --- /dev/null +++ b/trainer_log.jsonl @@ -0,0 +1,164 @@ +{"current_steps": 10, "total_steps": 1632, "loss": 1.2036, "lr": 6.097560975609757e-07, "epoch": 0.01838235294117647, "percentage": 0.61, "elapsed_time": "0:00:06", "remaining_time": "0:17:09"} +{"current_steps": 20, "total_steps": 1632, "loss": 1.2064, "lr": 1.2195121951219514e-06, "epoch": 0.03676470588235294, "percentage": 1.23, "elapsed_time": "0:00:11", "remaining_time": "0:15:49"} +{"current_steps": 30, "total_steps": 1632, "loss": 1.2741, "lr": 1.8292682926829268e-06, "epoch": 0.05514705882352941, "percentage": 1.84, "elapsed_time": "0:00:17", "remaining_time": "0:15:16"} +{"current_steps": 40, "total_steps": 1632, "loss": 0.7596, "lr": 2.4390243902439027e-06, "epoch": 0.07352941176470588, "percentage": 2.45, "elapsed_time": "0:00:22", "remaining_time": "0:14:58"} +{"current_steps": 50, "total_steps": 1632, "loss": 0.6171, "lr": 3.0487804878048782e-06, "epoch": 0.09191176470588236, "percentage": 3.06, "elapsed_time": "0:00:27", "remaining_time": "0:14:44"} +{"current_steps": 60, "total_steps": 1632, "loss": 0.794, "lr": 3.6585365853658537e-06, "epoch": 0.11029411764705882, "percentage": 3.68, "elapsed_time": "0:00:33", "remaining_time": "0:14:33"} +{"current_steps": 70, "total_steps": 1632, "loss": 0.6233, "lr": 4.268292682926829e-06, "epoch": 0.12867647058823528, "percentage": 4.29, "elapsed_time": "0:00:38", "remaining_time": "0:14:25"} +{"current_steps": 80, "total_steps": 1632, "loss": 0.5441, "lr": 4.8780487804878055e-06, "epoch": 0.14705882352941177, "percentage": 4.9, "elapsed_time": "0:00:44", "remaining_time": "0:14:16"} +{"current_steps": 90, "total_steps": 1632, "loss": 0.5784, "lr": 5.487804878048781e-06, "epoch": 0.16544117647058823, "percentage": 5.51, "elapsed_time": "0:00:49", "remaining_time": "0:14:08"} +{"current_steps": 100, "total_steps": 1632, "loss": 0.4844, "lr": 6.0975609756097564e-06, "epoch": 0.18382352941176472, "percentage": 6.13, "elapsed_time": "0:00:54", "remaining_time": "0:14:00"} +{"current_steps": 110, "total_steps": 1632, "loss": 0.6535, "lr": 6.707317073170733e-06, "epoch": 0.20220588235294118, "percentage": 6.74, "elapsed_time": "0:01:00", "remaining_time": "0:13:53"} +{"current_steps": 120, "total_steps": 1632, "loss": 0.6897, "lr": 7.317073170731707e-06, "epoch": 0.22058823529411764, "percentage": 7.35, "elapsed_time": "0:01:05", "remaining_time": "0:13:47"} +{"current_steps": 130, "total_steps": 1632, "loss": 0.4217, "lr": 7.926829268292685e-06, "epoch": 0.23897058823529413, "percentage": 7.97, "elapsed_time": "0:01:11", "remaining_time": "0:13:41"} +{"current_steps": 140, "total_steps": 1632, "loss": 0.5868, "lr": 8.536585365853658e-06, "epoch": 0.25735294117647056, "percentage": 8.58, "elapsed_time": "0:01:16", "remaining_time": "0:13:35"} +{"current_steps": 150, "total_steps": 1632, "loss": 0.53, "lr": 9.146341463414635e-06, "epoch": 0.2757352941176471, "percentage": 9.19, "elapsed_time": "0:01:21", "remaining_time": "0:13:29"} +{"current_steps": 160, "total_steps": 1632, "loss": 0.5538, "lr": 9.756097560975611e-06, "epoch": 0.29411764705882354, "percentage": 9.8, "elapsed_time": "0:01:27", "remaining_time": "0:13:23"} +{"current_steps": 170, "total_steps": 1632, "loss": 0.4616, "lr": 9.999587822598768e-06, "epoch": 0.3125, "percentage": 10.42, "elapsed_time": "0:01:32", "remaining_time": "0:13:17"} +{"current_steps": 180, "total_steps": 1632, "loss": 0.5633, "lr": 9.997069206794246e-06, "epoch": 0.33088235294117646, "percentage": 11.03, "elapsed_time": "0:01:38", "remaining_time": "0:13:11"} +{"current_steps": 190, "total_steps": 1632, "loss": 0.6035, "lr": 9.992262114666653e-06, "epoch": 0.3492647058823529, "percentage": 11.64, "elapsed_time": "0:01:43", "remaining_time": "0:13:05"} +{"current_steps": 200, "total_steps": 1632, "loss": 0.5822, "lr": 9.985168747689706e-06, "epoch": 0.36764705882352944, "percentage": 12.25, "elapsed_time": "0:01:48", "remaining_time": "0:13:00"} +{"current_steps": 210, "total_steps": 1632, "loss": 0.3755, "lr": 9.975792354368019e-06, "epoch": 0.3860294117647059, "percentage": 12.87, "elapsed_time": "0:01:54", "remaining_time": "0:12:54"} +{"current_steps": 220, "total_steps": 1632, "loss": 0.4914, "lr": 9.964137228749409e-06, "epoch": 0.40441176470588236, "percentage": 13.48, "elapsed_time": "0:01:59", "remaining_time": "0:12:49"} +{"current_steps": 230, "total_steps": 1632, "loss": 0.4604, "lr": 9.950208708458371e-06, "epoch": 0.4227941176470588, "percentage": 14.09, "elapsed_time": "0:02:05", "remaining_time": "0:12:43"} +{"current_steps": 240, "total_steps": 1632, "loss": 0.5029, "lr": 9.934013172251654e-06, "epoch": 0.4411764705882353, "percentage": 14.71, "elapsed_time": "0:02:10", "remaining_time": "0:12:37"} +{"current_steps": 250, "total_steps": 1632, "loss": 0.5404, "lr": 9.915558037097003e-06, "epoch": 0.45955882352941174, "percentage": 15.32, "elapsed_time": "0:02:16", "remaining_time": "0:12:32"} +{"current_steps": 260, "total_steps": 1632, "loss": 0.3555, "lr": 9.894851754776473e-06, "epoch": 0.47794117647058826, "percentage": 15.93, "elapsed_time": "0:02:21", "remaining_time": "0:12:26"} +{"current_steps": 270, "total_steps": 1632, "loss": 0.4092, "lr": 9.871903808015812e-06, "epoch": 0.4963235294117647, "percentage": 16.54, "elapsed_time": "0:02:26", "remaining_time": "0:12:21"} +{"current_steps": 280, "total_steps": 1632, "loss": 0.4489, "lr": 9.846724706141718e-06, "epoch": 0.5147058823529411, "percentage": 17.16, "elapsed_time": "0:02:32", "remaining_time": "0:12:15"} +{"current_steps": 290, "total_steps": 1632, "loss": 0.5297, "lr": 9.819325980268946e-06, "epoch": 0.5330882352941176, "percentage": 17.77, "elapsed_time": "0:02:37", "remaining_time": "0:12:10"} +{"current_steps": 300, "total_steps": 1632, "loss": 0.4301, "lr": 9.789720178019483e-06, "epoch": 0.5514705882352942, "percentage": 18.38, "elapsed_time": "0:02:43", "remaining_time": "0:12:04"} +{"current_steps": 310, "total_steps": 1632, "loss": 0.5499, "lr": 9.757920857776188e-06, "epoch": 0.5698529411764706, "percentage": 19.0, "elapsed_time": "0:02:48", "remaining_time": "0:11:59"} +{"current_steps": 320, "total_steps": 1632, "loss": 0.3723, "lr": 9.723942582473545e-06, "epoch": 0.5882352941176471, "percentage": 19.61, "elapsed_time": "0:02:54", "remaining_time": "0:11:54"} +{"current_steps": 330, "total_steps": 1632, "loss": 0.6103, "lr": 9.687800912928362e-06, "epoch": 0.6066176470588235, "percentage": 20.22, "elapsed_time": "0:02:59", "remaining_time": "0:11:48"} +{"current_steps": 340, "total_steps": 1632, "loss": 0.5561, "lr": 9.649512400713497e-06, "epoch": 0.625, "percentage": 20.83, "elapsed_time": "0:03:04", "remaining_time": "0:11:42"} +{"current_steps": 350, "total_steps": 1632, "loss": 0.4384, "lr": 9.609094580577825e-06, "epoch": 0.6433823529411765, "percentage": 21.45, "elapsed_time": "0:03:10", "remaining_time": "0:11:37"} +{"current_steps": 360, "total_steps": 1632, "loss": 0.492, "lr": 9.566565962415958e-06, "epoch": 0.6617647058823529, "percentage": 22.06, "elapsed_time": "0:03:15", "remaining_time": "0:11:31"} +{"current_steps": 370, "total_steps": 1632, "loss": 0.5596, "lr": 9.521946022791402e-06, "epoch": 0.6801470588235294, "percentage": 22.67, "elapsed_time": "0:03:21", "remaining_time": "0:11:26"} +{"current_steps": 380, "total_steps": 1632, "loss": 0.4657, "lr": 9.475255196016972e-06, "epoch": 0.6985294117647058, "percentage": 23.28, "elapsed_time": "0:03:26", "remaining_time": "0:11:20"} +{"current_steps": 390, "total_steps": 1632, "loss": 0.547, "lr": 9.426514864796648e-06, "epoch": 0.7169117647058824, "percentage": 23.9, "elapsed_time": "0:03:32", "remaining_time": "0:11:15"} +{"current_steps": 400, "total_steps": 1632, "loss": 0.4821, "lr": 9.375747350433044e-06, "epoch": 0.7352941176470589, "percentage": 24.51, "elapsed_time": "0:03:37", "remaining_time": "0:11:09"} +{"current_steps": 410, "total_steps": 1632, "loss": 0.3627, "lr": 9.322975902605082e-06, "epoch": 0.7536764705882353, "percentage": 25.12, "elapsed_time": "0:03:42", "remaining_time": "0:11:04"} +{"current_steps": 420, "total_steps": 1632, "loss": 0.2779, "lr": 9.268224688720475e-06, "epoch": 0.7720588235294118, "percentage": 25.74, "elapsed_time": "0:03:48", "remaining_time": "0:10:58"} +{"current_steps": 430, "total_steps": 1632, "loss": 0.684, "lr": 9.211518782847932e-06, "epoch": 0.7904411764705882, "percentage": 26.35, "elapsed_time": "0:03:53", "remaining_time": "0:10:53"} +{"current_steps": 440, "total_steps": 1632, "loss": 0.3829, "lr": 9.152884154234147e-06, "epoch": 0.8088235294117647, "percentage": 26.96, "elapsed_time": "0:03:59", "remaining_time": "0:10:47"} +{"current_steps": 450, "total_steps": 1632, "loss": 0.409, "lr": 9.092347655410818e-06, "epoch": 0.8272058823529411, "percentage": 27.57, "elapsed_time": "0:04:04", "remaining_time": "0:10:42"} +{"current_steps": 460, "total_steps": 1632, "loss": 0.4189, "lr": 9.029937009897176e-06, "epoch": 0.8455882352941176, "percentage": 28.19, "elapsed_time": "0:04:09", "remaining_time": "0:10:36"} +{"current_steps": 470, "total_steps": 1632, "loss": 0.4846, "lr": 8.96568079950361e-06, "epoch": 0.8639705882352942, "percentage": 28.8, "elapsed_time": "0:04:15", "remaining_time": "0:10:31"} +{"current_steps": 480, "total_steps": 1632, "loss": 0.4869, "lr": 8.899608451242233e-06, "epoch": 0.8823529411764706, "percentage": 29.41, "elapsed_time": "0:04:20", "remaining_time": "0:10:25"} +{"current_steps": 490, "total_steps": 1632, "loss": 0.368, "lr": 8.83175022385039e-06, "epoch": 0.9007352941176471, "percentage": 30.02, "elapsed_time": "0:04:26", "remaining_time": "0:10:20"} +{"current_steps": 500, "total_steps": 1632, "loss": 0.3489, "lr": 8.762137193933241e-06, "epoch": 0.9191176470588235, "percentage": 30.64, "elapsed_time": "0:04:31", "remaining_time": "0:10:14"} +{"current_steps": 510, "total_steps": 1632, "loss": 0.4095, "lr": 8.690801241731818e-06, "epoch": 0.9375, "percentage": 31.25, "elapsed_time": "0:04:52", "remaining_time": "0:10:42"} +{"current_steps": 520, "total_steps": 1632, "loss": 0.4641, "lr": 8.617775036523014e-06, "epoch": 0.9558823529411765, "percentage": 31.86, "elapsed_time": "0:04:57", "remaining_time": "0:10:36"} +{"current_steps": 530, "total_steps": 1632, "loss": 0.3311, "lr": 8.543092021658259e-06, "epoch": 0.9742647058823529, "percentage": 32.48, "elapsed_time": "0:05:03", "remaining_time": "0:10:30"} +{"current_steps": 540, "total_steps": 1632, "loss": 0.3561, "lr": 8.466786399247663e-06, "epoch": 0.9926470588235294, "percentage": 33.09, "elapsed_time": "0:05:08", "remaining_time": "0:10:23"} +{"current_steps": 550, "total_steps": 1632, "loss": 0.3474, "lr": 8.388893114496706e-06, "epoch": 1.0110294117647058, "percentage": 33.7, "elapsed_time": "0:05:13", "remaining_time": "0:10:17"} +{"current_steps": 560, "total_steps": 1632, "loss": 0.2188, "lr": 8.309447839702583e-06, "epoch": 1.0294117647058822, "percentage": 34.31, "elapsed_time": "0:05:19", "remaining_time": "0:10:11"} +{"current_steps": 570, "total_steps": 1632, "loss": 0.2178, "lr": 8.228486957917608e-06, "epoch": 1.0477941176470589, "percentage": 34.93, "elapsed_time": "0:05:24", "remaining_time": "0:10:05"} +{"current_steps": 580, "total_steps": 1632, "loss": 0.2783, "lr": 8.146047546287077e-06, "epoch": 1.0661764705882353, "percentage": 35.54, "elapsed_time": "0:05:30", "remaining_time": "0:09:58"} +{"current_steps": 590, "total_steps": 1632, "loss": 0.2463, "lr": 8.062167359069301e-06, "epoch": 1.0845588235294117, "percentage": 36.15, "elapsed_time": "0:05:35", "remaining_time": "0:09:52"} +{"current_steps": 600, "total_steps": 1632, "loss": 0.2634, "lr": 7.97688481034551e-06, "epoch": 1.1029411764705883, "percentage": 36.76, "elapsed_time": "0:05:41", "remaining_time": "0:09:46"} +{"current_steps": 610, "total_steps": 1632, "loss": 0.294, "lr": 7.8902389564276e-06, "epoch": 1.1213235294117647, "percentage": 37.38, "elapsed_time": "0:05:46", "remaining_time": "0:09:40"} +{"current_steps": 620, "total_steps": 1632, "loss": 0.273, "lr": 7.802269477971771e-06, "epoch": 1.1397058823529411, "percentage": 37.99, "elapsed_time": "0:05:51", "remaining_time": "0:09:34"} +{"current_steps": 630, "total_steps": 1632, "loss": 0.2975, "lr": 7.713016661806213e-06, "epoch": 1.1580882352941178, "percentage": 38.6, "elapsed_time": "0:05:57", "remaining_time": "0:09:28"} +{"current_steps": 640, "total_steps": 1632, "loss": 0.2831, "lr": 7.622521382481208e-06, "epoch": 1.1764705882352942, "percentage": 39.22, "elapsed_time": "0:06:02", "remaining_time": "0:09:22"} +{"current_steps": 650, "total_steps": 1632, "loss": 0.3548, "lr": 7.530825083550073e-06, "epoch": 1.1948529411764706, "percentage": 39.83, "elapsed_time": "0:06:08", "remaining_time": "0:09:16"} +{"current_steps": 660, "total_steps": 1632, "loss": 0.2454, "lr": 7.437969758589508e-06, "epoch": 1.213235294117647, "percentage": 40.44, "elapsed_time": "0:06:13", "remaining_time": "0:09:10"} +{"current_steps": 670, "total_steps": 1632, "loss": 0.2694, "lr": 7.343997931968068e-06, "epoch": 1.2316176470588236, "percentage": 41.05, "elapsed_time": "0:06:19", "remaining_time": "0:09:04"} +{"current_steps": 680, "total_steps": 1632, "loss": 0.3091, "lr": 7.248952639371543e-06, "epoch": 1.25, "percentage": 41.67, "elapsed_time": "0:06:24", "remaining_time": "0:08:58"} +{"current_steps": 690, "total_steps": 1632, "loss": 0.2305, "lr": 7.152877408094179e-06, "epoch": 1.2683823529411764, "percentage": 42.28, "elapsed_time": "0:06:29", "remaining_time": "0:08:52"} +{"current_steps": 700, "total_steps": 1632, "loss": 0.3002, "lr": 7.055816237104753e-06, "epoch": 1.2867647058823528, "percentage": 42.89, "elapsed_time": "0:06:35", "remaining_time": "0:08:46"} +{"current_steps": 710, "total_steps": 1632, "loss": 0.2868, "lr": 6.957813576896647e-06, "epoch": 1.3051470588235294, "percentage": 43.5, "elapsed_time": "0:06:40", "remaining_time": "0:08:40"} +{"current_steps": 720, "total_steps": 1632, "loss": 0.2342, "lr": 6.858914309131131e-06, "epoch": 1.3235294117647058, "percentage": 44.12, "elapsed_time": "0:06:45", "remaining_time": "0:08:34"} +{"current_steps": 730, "total_steps": 1632, "loss": 0.2143, "lr": 6.7591637260831925e-06, "epoch": 1.3419117647058822, "percentage": 44.73, "elapsed_time": "0:06:51", "remaining_time": "0:08:28"} +{"current_steps": 740, "total_steps": 1632, "loss": 0.3071, "lr": 6.6586075098993196e-06, "epoch": 1.3602941176470589, "percentage": 45.34, "elapsed_time": "0:06:56", "remaining_time": "0:08:22"} +{"current_steps": 750, "total_steps": 1632, "loss": 0.2977, "lr": 6.557291711676738e-06, "epoch": 1.3786764705882353, "percentage": 45.96, "elapsed_time": "0:07:02", "remaining_time": "0:08:16"} +{"current_steps": 760, "total_steps": 1632, "loss": 0.2326, "lr": 6.455262730373673e-06, "epoch": 1.3970588235294117, "percentage": 46.57, "elapsed_time": "0:07:07", "remaining_time": "0:08:10"} +{"current_steps": 770, "total_steps": 1632, "loss": 0.3158, "lr": 6.352567291560319e-06, "epoch": 1.4154411764705883, "percentage": 47.18, "elapsed_time": "0:07:12", "remaining_time": "0:08:04"} +{"current_steps": 780, "total_steps": 1632, "loss": 0.3301, "lr": 6.249252426020217e-06, "epoch": 1.4338235294117647, "percentage": 47.79, "elapsed_time": "0:07:18", "remaining_time": "0:07:58"} +{"current_steps": 790, "total_steps": 1632, "loss": 0.2937, "lr": 6.145365448211866e-06, "epoch": 1.4522058823529411, "percentage": 48.41, "elapsed_time": "0:07:23", "remaining_time": "0:07:53"} +{"current_steps": 800, "total_steps": 1632, "loss": 0.2229, "lr": 6.040953934600425e-06, "epoch": 1.4705882352941178, "percentage": 49.02, "elapsed_time": "0:07:29", "remaining_time": "0:07:47"} +{"current_steps": 810, "total_steps": 1632, "loss": 0.3169, "lr": 5.936065701869404e-06, "epoch": 1.4889705882352942, "percentage": 49.63, "elapsed_time": "0:07:34", "remaining_time": "0:07:41"} +{"current_steps": 820, "total_steps": 1632, "loss": 0.257, "lr": 5.830748785022369e-06, "epoch": 1.5073529411764706, "percentage": 50.25, "elapsed_time": "0:07:40", "remaining_time": "0:07:35"} +{"current_steps": 830, "total_steps": 1632, "loss": 0.2766, "lr": 5.725051415384657e-06, "epoch": 1.5257352941176472, "percentage": 50.86, "elapsed_time": "0:07:45", "remaining_time": "0:07:29"} +{"current_steps": 840, "total_steps": 1632, "loss": 0.2385, "lr": 5.619021998515165e-06, "epoch": 1.5441176470588234, "percentage": 51.47, "elapsed_time": "0:07:50", "remaining_time": "0:07:23"} +{"current_steps": 850, "total_steps": 1632, "loss": 0.2844, "lr": 5.51270909203838e-06, "epoch": 1.5625, "percentage": 52.08, "elapsed_time": "0:07:56", "remaining_time": "0:07:18"} +{"current_steps": 860, "total_steps": 1632, "loss": 0.2924, "lr": 5.40616138340673e-06, "epoch": 1.5808823529411766, "percentage": 52.7, "elapsed_time": "0:08:01", "remaining_time": "0:07:12"} +{"current_steps": 870, "total_steps": 1632, "loss": 0.2826, "lr": 5.299427667603516e-06, "epoch": 1.5992647058823528, "percentage": 53.31, "elapsed_time": "0:08:07", "remaining_time": "0:07:06"} +{"current_steps": 880, "total_steps": 1632, "loss": 0.2106, "lr": 5.1925568247965686e-06, "epoch": 1.6176470588235294, "percentage": 53.92, "elapsed_time": "0:08:12", "remaining_time": "0:07:00"} +{"current_steps": 890, "total_steps": 1632, "loss": 0.3306, "lr": 5.085597797952906e-06, "epoch": 1.6360294117647058, "percentage": 54.53, "elapsed_time": "0:08:18", "remaining_time": "0:06:55"} +{"current_steps": 900, "total_steps": 1632, "loss": 0.2227, "lr": 4.97859957042464e-06, "epoch": 1.6544117647058822, "percentage": 55.15, "elapsed_time": "0:08:23", "remaining_time": "0:06:49"} +{"current_steps": 910, "total_steps": 1632, "loss": 0.2275, "lr": 4.871611143516367e-06, "epoch": 1.6727941176470589, "percentage": 55.76, "elapsed_time": "0:08:28", "remaining_time": "0:06:43"} +{"current_steps": 920, "total_steps": 1632, "loss": 0.2966, "lr": 4.7646815140443625e-06, "epoch": 1.6911764705882353, "percentage": 56.37, "elapsed_time": "0:08:34", "remaining_time": "0:06:38"} +{"current_steps": 930, "total_steps": 1632, "loss": 0.228, "lr": 4.657859651897807e-06, "epoch": 1.7095588235294117, "percentage": 56.99, "elapsed_time": "0:08:39", "remaining_time": "0:06:32"} +{"current_steps": 940, "total_steps": 1632, "loss": 0.2694, "lr": 4.551194477612351e-06, "epoch": 1.7279411764705883, "percentage": 57.6, "elapsed_time": "0:08:45", "remaining_time": "0:06:26"} +{"current_steps": 950, "total_steps": 1632, "loss": 0.1944, "lr": 4.444734839966306e-06, "epoch": 1.7463235294117647, "percentage": 58.21, "elapsed_time": "0:08:50", "remaining_time": "0:06:20"} +{"current_steps": 960, "total_steps": 1632, "loss": 0.2479, "lr": 4.338529493609647e-06, "epoch": 1.7647058823529411, "percentage": 58.82, "elapsed_time": "0:08:55", "remaining_time": "0:06:15"} +{"current_steps": 970, "total_steps": 1632, "loss": 0.1819, "lr": 4.232627076736181e-06, "epoch": 1.7830882352941178, "percentage": 59.44, "elapsed_time": "0:09:01", "remaining_time": "0:06:09"} +{"current_steps": 980, "total_steps": 1632, "loss": 0.2514, "lr": 4.127076088809e-06, "epoch": 1.8014705882352942, "percentage": 60.05, "elapsed_time": "0:09:06", "remaining_time": "0:06:03"} +{"current_steps": 990, "total_steps": 1632, "loss": 0.24, "lr": 4.021924868349493e-06, "epoch": 1.8198529411764706, "percentage": 60.66, "elapsed_time": "0:09:12", "remaining_time": "0:05:57"} +{"current_steps": 1000, "total_steps": 1632, "loss": 0.2477, "lr": 3.9172215708000655e-06, "epoch": 1.8382352941176472, "percentage": 61.27, "elapsed_time": "0:09:17", "remaining_time": "0:05:52"} +{"current_steps": 1010, "total_steps": 1632, "loss": 0.2207, "lr": 3.8130141464706806e-06, "epoch": 1.8566176470588234, "percentage": 61.89, "elapsed_time": "0:09:36", "remaining_time": "0:05:55"} +{"current_steps": 1020, "total_steps": 1632, "loss": 0.2634, "lr": 3.709350318579371e-06, "epoch": 1.875, "percentage": 62.5, "elapsed_time": "0:09:41", "remaining_time": "0:05:49"} +{"current_steps": 1030, "total_steps": 1632, "loss": 0.236, "lr": 3.606277561396726e-06, "epoch": 1.8933823529411766, "percentage": 63.11, "elapsed_time": "0:09:47", "remaining_time": "0:05:43"} +{"current_steps": 1040, "total_steps": 1632, "loss": 0.2132, "lr": 3.503843078504405e-06, "epoch": 1.9117647058823528, "percentage": 63.73, "elapsed_time": "0:09:52", "remaining_time": "0:05:37"} +{"current_steps": 1050, "total_steps": 1632, "loss": 0.2088, "lr": 3.4020937811776154e-06, "epoch": 1.9301470588235294, "percentage": 64.34, "elapsed_time": "0:09:58", "remaining_time": "0:05:31"} +{"current_steps": 1060, "total_steps": 1632, "loss": 0.2413, "lr": 3.301076266901435e-06, "epoch": 1.9485294117647058, "percentage": 64.95, "elapsed_time": "0:10:03", "remaining_time": "0:05:25"} +{"current_steps": 1070, "total_steps": 1632, "loss": 0.2271, "lr": 3.2008367980308737e-06, "epoch": 1.9669117647058822, "percentage": 65.56, "elapsed_time": "0:10:08", "remaining_time": "0:05:19"} +{"current_steps": 1080, "total_steps": 1632, "loss": 0.2285, "lr": 3.1014212806043794e-06, "epoch": 1.9852941176470589, "percentage": 66.18, "elapsed_time": "0:10:14", "remaining_time": "0:05:13"} +{"current_steps": 1090, "total_steps": 1632, "loss": 0.1852, "lr": 3.0028752433205475e-06, "epoch": 2.0036764705882355, "percentage": 66.79, "elapsed_time": "0:10:19", "remaining_time": "0:05:08"} +{"current_steps": 1100, "total_steps": 1632, "loss": 0.1519, "lr": 2.9052438166876305e-06, "epoch": 2.0220588235294117, "percentage": 67.4, "elapsed_time": "0:10:25", "remaining_time": "0:05:02"} +{"current_steps": 1110, "total_steps": 1632, "loss": 0.1601, "lr": 2.808571712355389e-06, "epoch": 2.0404411764705883, "percentage": 68.01, "elapsed_time": "0:10:30", "remaining_time": "0:04:56"} +{"current_steps": 1120, "total_steps": 1632, "loss": 0.1264, "lr": 2.7129032026388046e-06, "epoch": 2.0588235294117645, "percentage": 68.63, "elapsed_time": "0:10:35", "remaining_time": "0:04:50"} +{"current_steps": 1130, "total_steps": 1632, "loss": 0.137, "lr": 2.618282100242935e-06, "epoch": 2.077205882352941, "percentage": 69.24, "elapsed_time": "0:10:41", "remaining_time": "0:04:44"} +{"current_steps": 1140, "total_steps": 1632, "loss": 0.1085, "lr": 2.5247517381983137e-06, "epoch": 2.0955882352941178, "percentage": 69.85, "elapsed_time": "0:10:46", "remaining_time": "0:04:39"} +{"current_steps": 1150, "total_steps": 1632, "loss": 0.1258, "lr": 2.4323549500159806e-06, "epoch": 2.113970588235294, "percentage": 70.47, "elapsed_time": "0:10:52", "remaining_time": "0:04:33"} +{"current_steps": 1160, "total_steps": 1632, "loss": 0.1046, "lr": 2.3411340500712833e-06, "epoch": 2.1323529411764706, "percentage": 71.08, "elapsed_time": "0:10:57", "remaining_time": "0:04:27"} +{"current_steps": 1170, "total_steps": 1632, "loss": 0.092, "lr": 2.251130814225449e-06, "epoch": 2.150735294117647, "percentage": 71.69, "elapsed_time": "0:11:03", "remaining_time": "0:04:21"} +{"current_steps": 1180, "total_steps": 1632, "loss": 0.0868, "lr": 2.16238646069373e-06, "epoch": 2.1691176470588234, "percentage": 72.3, "elapsed_time": "0:11:08", "remaining_time": "0:04:16"} +{"current_steps": 1190, "total_steps": 1632, "loss": 0.1059, "lr": 2.0749416311689845e-06, "epoch": 2.1875, "percentage": 72.92, "elapsed_time": "0:11:13", "remaining_time": "0:04:10"} +{"current_steps": 1200, "total_steps": 1632, "loss": 0.098, "lr": 1.9888363722092376e-06, "epoch": 2.2058823529411766, "percentage": 73.53, "elapsed_time": "0:11:19", "remaining_time": "0:04:04"} +{"current_steps": 1210, "total_steps": 1632, "loss": 0.108, "lr": 1.9041101168978094e-06, "epoch": 2.224264705882353, "percentage": 74.14, "elapsed_time": "0:11:24", "remaining_time": "0:03:58"} +{"current_steps": 1220, "total_steps": 1632, "loss": 0.1039, "lr": 1.8208016667844153e-06, "epoch": 2.2426470588235294, "percentage": 74.75, "elapsed_time": "0:11:30", "remaining_time": "0:03:53"} +{"current_steps": 1230, "total_steps": 1632, "loss": 0.1132, "lr": 1.7389491741154373e-06, "epoch": 2.261029411764706, "percentage": 75.37, "elapsed_time": "0:11:35", "remaining_time": "0:03:47"} +{"current_steps": 1240, "total_steps": 1632, "loss": 0.0999, "lr": 1.6585901243616044e-06, "epoch": 2.2794117647058822, "percentage": 75.98, "elapsed_time": "0:11:41", "remaining_time": "0:03:41"} +{"current_steps": 1250, "total_steps": 1632, "loss": 0.1059, "lr": 1.5797613190509908e-06, "epoch": 2.297794117647059, "percentage": 76.59, "elapsed_time": "0:11:46", "remaining_time": "0:03:35"} +{"current_steps": 1260, "total_steps": 1632, "loss": 0.1186, "lr": 1.502498858915254e-06, "epoch": 2.3161764705882355, "percentage": 77.21, "elapsed_time": "0:11:51", "remaining_time": "0:03:30"} +{"current_steps": 1270, "total_steps": 1632, "loss": 0.1018, "lr": 1.4268381273568232e-06, "epoch": 2.3345588235294117, "percentage": 77.82, "elapsed_time": "0:11:57", "remaining_time": "0:03:24"} +{"current_steps": 1280, "total_steps": 1632, "loss": 0.0953, "lr": 1.352813774244565e-06, "epoch": 2.3529411764705883, "percentage": 78.43, "elapsed_time": "0:12:02", "remaining_time": "0:03:18"} +{"current_steps": 1290, "total_steps": 1632, "loss": 0.1211, "lr": 1.2804597000454217e-06, "epoch": 2.3713235294117645, "percentage": 79.04, "elapsed_time": "0:12:08", "remaining_time": "0:03:13"} +{"current_steps": 1300, "total_steps": 1632, "loss": 0.1821, "lr": 1.2098090402992085e-06, "epoch": 2.389705882352941, "percentage": 79.66, "elapsed_time": "0:12:13", "remaining_time": "0:03:07"} +{"current_steps": 1310, "total_steps": 1632, "loss": 0.1263, "lr": 1.1408941504437533e-06, "epoch": 2.4080882352941178, "percentage": 80.27, "elapsed_time": "0:12:18", "remaining_time": "0:03:01"} +{"current_steps": 1320, "total_steps": 1632, "loss": 0.0792, "lr": 1.0737465909972778e-06, "epoch": 2.426470588235294, "percentage": 80.88, "elapsed_time": "0:12:24", "remaining_time": "0:02:55"} +{"current_steps": 1330, "total_steps": 1632, "loss": 0.1395, "lr": 1.0083971131048158e-06, "epoch": 2.4448529411764706, "percentage": 81.5, "elapsed_time": "0:12:29", "remaining_time": "0:02:50"} +{"current_steps": 1340, "total_steps": 1632, "loss": 0.1168, "lr": 9.448756444553226e-07, "epoch": 2.463235294117647, "percentage": 82.11, "elapsed_time": "0:12:35", "remaining_time": "0:02:44"} +{"current_steps": 1350, "total_steps": 1632, "loss": 0.0876, "lr": 8.832112755758598e-07, "epoch": 2.4816176470588234, "percentage": 82.72, "elapsed_time": "0:12:40", "remaining_time": "0:02:38"} +{"current_steps": 1360, "total_steps": 1632, "loss": 0.1019, "lr": 8.234322465092049e-07, "epoch": 2.5, "percentage": 83.33, "elapsed_time": "0:12:46", "remaining_time": "0:02:33"} +{"current_steps": 1370, "total_steps": 1632, "loss": 0.1377, "lr": 7.655659338809329e-07, "epoch": 2.5183823529411766, "percentage": 83.95, "elapsed_time": "0:12:51", "remaining_time": "0:02:27"} +{"current_steps": 1380, "total_steps": 1632, "loss": 0.0879, "lr": 7.09638838361908e-07, "epoch": 2.536764705882353, "percentage": 84.56, "elapsed_time": "0:12:56", "remaining_time": "0:02:21"} +{"current_steps": 1390, "total_steps": 1632, "loss": 0.0958, "lr": 6.556765725319525e-07, "epoch": 2.5551470588235294, "percentage": 85.17, "elapsed_time": "0:13:02", "remaining_time": "0:02:16"} +{"current_steps": 1400, "total_steps": 1632, "loss": 0.0994, "lr": 6.037038491501978e-07, "epoch": 2.5735294117647056, "percentage": 85.78, "elapsed_time": "0:13:07", "remaining_time": "0:02:10"} +{"current_steps": 1410, "total_steps": 1632, "loss": 0.0818, "lr": 5.53744469837551e-07, "epoch": 2.5919117647058822, "percentage": 86.4, "elapsed_time": "0:13:13", "remaining_time": "0:02:04"} +{"current_steps": 1420, "total_steps": 1632, "loss": 0.1018, "lr": 5.058213141764151e-07, "epoch": 2.610294117647059, "percentage": 87.01, "elapsed_time": "0:13:18", "remaining_time": "0:01:59"} +{"current_steps": 1430, "total_steps": 1632, "loss": 0.0874, "lr": 4.599563292326592e-07, "epoch": 2.6286764705882355, "percentage": 87.62, "elapsed_time": "0:13:23", "remaining_time": "0:01:53"} +{"current_steps": 1440, "total_steps": 1632, "loss": 0.1395, "lr": 4.1617051950467613e-07, "epoch": 2.6470588235294117, "percentage": 88.24, "elapsed_time": "0:13:29", "remaining_time": "0:01:47"} +{"current_steps": 1450, "total_steps": 1632, "loss": 0.1316, "lr": 3.744839373040682e-07, "epoch": 2.6654411764705883, "percentage": 88.85, "elapsed_time": "0:13:34", "remaining_time": "0:01:42"} +{"current_steps": 1460, "total_steps": 1632, "loss": 0.1149, "lr": 3.3491567357242736e-07, "epoch": 2.6838235294117645, "percentage": 89.46, "elapsed_time": "0:13:40", "remaining_time": "0:01:36"} +{"current_steps": 1470, "total_steps": 1632, "loss": 0.0907, "lr": 2.9748384913837525e-07, "epoch": 2.702205882352941, "percentage": 90.07, "elapsed_time": "0:13:45", "remaining_time": "0:01:30"} +{"current_steps": 1480, "total_steps": 1632, "loss": 0.1253, "lr": 2.6220560641887385e-07, "epoch": 2.7205882352941178, "percentage": 90.69, "elapsed_time": "0:13:50", "remaining_time": "0:01:25"} +{"current_steps": 1490, "total_steps": 1632, "loss": 0.098, "lr": 2.2909710156863275e-07, "epoch": 2.7389705882352944, "percentage": 91.3, "elapsed_time": "0:13:56", "remaining_time": "0:01:19"} +{"current_steps": 1500, "total_steps": 1632, "loss": 0.1071, "lr": 1.981734970811644e-07, "epoch": 2.7573529411764706, "percentage": 91.91, "elapsed_time": "0:14:01", "remaining_time": "0:01:14"} +{"current_steps": 1510, "total_steps": 1632, "loss": 0.097, "lr": 1.6944895484492075e-07, "epoch": 2.775735294117647, "percentage": 92.52, "elapsed_time": "0:14:21", "remaining_time": "0:01:09"} +{"current_steps": 1520, "total_steps": 1632, "loss": 0.0984, "lr": 1.429366296576623e-07, "epoch": 2.7941176470588234, "percentage": 93.14, "elapsed_time": "0:14:26", "remaining_time": "0:01:03"} +{"current_steps": 1530, "total_steps": 1632, "loss": 0.0858, "lr": 1.1864866320203116e-07, "epoch": 2.8125, "percentage": 93.75, "elapsed_time": "0:14:32", "remaining_time": "0:00:58"} +{"current_steps": 1540, "total_steps": 1632, "loss": 0.1211, "lr": 9.659617848510883e-08, "epoch": 2.8308823529411766, "percentage": 94.36, "elapsed_time": "0:14:37", "remaining_time": "0:00:52"} +{"current_steps": 1550, "total_steps": 1632, "loss": 0.1214, "lr": 7.678927474447817e-08, "epoch": 2.849264705882353, "percentage": 94.98, "elapsed_time": "0:14:43", "remaining_time": "0:00:46"} +{"current_steps": 1560, "total_steps": 1632, "loss": 0.0839, "lr": 5.9237022823140924e-08, "epoch": 2.8676470588235294, "percentage": 95.59, "elapsed_time": "0:14:48", "remaining_time": "0:00:41"} +{"current_steps": 1570, "total_steps": 1632, "loss": 0.1084, "lr": 4.394746101540115e-08, "epoch": 2.8860294117647056, "percentage": 96.2, "elapsed_time": "0:14:54", "remaining_time": "0:00:35"} +{"current_steps": 1580, "total_steps": 1632, "loss": 0.109, "lr": 3.092759138561607e-08, "epoch": 2.9044117647058822, "percentage": 96.81, "elapsed_time": "0:14:59", "remaining_time": "0:00:29"} +{"current_steps": 1590, "total_steps": 1632, "loss": 0.0956, "lr": 2.0183376561507263e-08, "epoch": 2.922794117647059, "percentage": 97.43, "elapsed_time": "0:15:04", "remaining_time": "0:00:23"} +{"current_steps": 1600, "total_steps": 1632, "loss": 0.119, "lr": 1.171973700349216e-08, "epoch": 2.9411764705882355, "percentage": 98.04, "elapsed_time": "0:15:10", "remaining_time": "0:00:18"} +{"current_steps": 1610, "total_steps": 1632, "loss": 0.1018, "lr": 5.540548751292174e-09, "epoch": 2.9595588235294117, "percentage": 98.65, "elapsed_time": "0:15:15", "remaining_time": "0:00:12"} +{"current_steps": 1620, "total_steps": 1632, "loss": 0.0922, "lr": 1.6486416488459279e-09, "epoch": 2.9779411764705883, "percentage": 99.26, "elapsed_time": "0:15:21", "remaining_time": "0:00:06"} +{"current_steps": 1630, "total_steps": 1632, "loss": 0.0803, "lr": 4.579804834703438e-11, "epoch": 2.9963235294117645, "percentage": 99.88, "elapsed_time": "0:15:26", "remaining_time": "0:00:01"} +{"current_steps": 1632, "total_steps": 1632, "epoch": 3.0, "percentage": 100.0, "elapsed_time": "0:15:43", "remaining_time": "0:00:00"} diff --git a/trainer_state.json b/trainer_state.json new file mode 100644 index 0000000..b558657 --- /dev/null +++ b/trainer_state.json @@ -0,0 +1,1183 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 3.0, + "eval_steps": 500, + "global_step": 1632, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.01838235294117647, + "grad_norm": 24.461347652326168, + "learning_rate": 6.097560975609757e-07, + "loss": 1.2036, + "step": 10 + }, + { + "epoch": 0.03676470588235294, + "grad_norm": 17.308880580961944, + "learning_rate": 1.2195121951219514e-06, + "loss": 1.2064, + "step": 20 + }, + { + "epoch": 0.05514705882352941, + "grad_norm": 29.601720546719697, + "learning_rate": 1.8292682926829268e-06, + "loss": 1.2741, + "step": 30 + }, + { + "epoch": 0.07352941176470588, + "grad_norm": 14.115818236245202, + "learning_rate": 2.4390243902439027e-06, + "loss": 0.7596, + "step": 40 + }, + { + "epoch": 0.09191176470588236, + "grad_norm": 21.73939509164672, + "learning_rate": 3.0487804878048782e-06, + "loss": 0.6171, + "step": 50 + }, + { + "epoch": 0.11029411764705882, + "grad_norm": 16.96116387460838, + "learning_rate": 3.6585365853658537e-06, + "loss": 0.794, + "step": 60 + }, + { + "epoch": 0.12867647058823528, + "grad_norm": 15.372652400517632, + "learning_rate": 4.268292682926829e-06, + "loss": 0.6233, + "step": 70 + }, + { + "epoch": 0.14705882352941177, + "grad_norm": 15.062285237489078, + "learning_rate": 4.8780487804878055e-06, + "loss": 0.5441, + "step": 80 + }, + { + "epoch": 0.16544117647058823, + "grad_norm": 18.632304280702545, + "learning_rate": 5.487804878048781e-06, + "loss": 0.5784, + "step": 90 + }, + { + "epoch": 0.18382352941176472, + "grad_norm": 13.945519044585177, + "learning_rate": 6.0975609756097564e-06, + "loss": 0.4844, + "step": 100 + }, + { + "epoch": 0.20220588235294118, + "grad_norm": 6.9751627817275, + "learning_rate": 6.707317073170733e-06, + "loss": 0.6535, + "step": 110 + }, + { + "epoch": 0.22058823529411764, + "grad_norm": 25.188175477401735, + "learning_rate": 7.317073170731707e-06, + "loss": 0.6897, + "step": 120 + }, + { + "epoch": 0.23897058823529413, + "grad_norm": 14.572936912172068, + "learning_rate": 7.926829268292685e-06, + "loss": 0.4217, + "step": 130 + }, + { + "epoch": 0.25735294117647056, + "grad_norm": 14.934836192557746, + "learning_rate": 8.536585365853658e-06, + "loss": 0.5868, + "step": 140 + }, + { + "epoch": 0.2757352941176471, + "grad_norm": 11.450309910668999, + "learning_rate": 9.146341463414635e-06, + "loss": 0.53, + "step": 150 + }, + { + "epoch": 0.29411764705882354, + "grad_norm": 21.677329690439954, + "learning_rate": 9.756097560975611e-06, + "loss": 0.5538, + "step": 160 + }, + { + "epoch": 0.3125, + "grad_norm": 13.221017712308962, + "learning_rate": 9.999587822598768e-06, + "loss": 0.4616, + "step": 170 + }, + { + "epoch": 0.33088235294117646, + "grad_norm": 17.10580370679984, + "learning_rate": 9.997069206794246e-06, + "loss": 0.5633, + "step": 180 + }, + { + "epoch": 0.3492647058823529, + "grad_norm": 12.4225156252439, + "learning_rate": 9.992262114666653e-06, + "loss": 0.6035, + "step": 190 + }, + { + "epoch": 0.36764705882352944, + "grad_norm": 9.012606555821149, + "learning_rate": 9.985168747689706e-06, + "loss": 0.5822, + "step": 200 + }, + { + "epoch": 0.3860294117647059, + "grad_norm": 7.876601539287651, + "learning_rate": 9.975792354368019e-06, + "loss": 0.3755, + "step": 210 + }, + { + "epoch": 0.40441176470588236, + "grad_norm": 6.10882571982772, + "learning_rate": 9.964137228749409e-06, + "loss": 0.4914, + "step": 220 + }, + { + "epoch": 0.4227941176470588, + "grad_norm": 6.537974128609375, + "learning_rate": 9.950208708458371e-06, + "loss": 0.4604, + "step": 230 + }, + { + "epoch": 0.4411764705882353, + "grad_norm": 7.108775542718406, + "learning_rate": 9.934013172251654e-06, + "loss": 0.5029, + "step": 240 + }, + { + "epoch": 0.45955882352941174, + "grad_norm": 13.652621643454376, + "learning_rate": 9.915558037097003e-06, + "loss": 0.5404, + "step": 250 + }, + { + "epoch": 0.47794117647058826, + "grad_norm": 9.685271320615122, + "learning_rate": 9.894851754776473e-06, + "loss": 0.3555, + "step": 260 + }, + { + "epoch": 0.4963235294117647, + "grad_norm": 10.504810722270348, + "learning_rate": 9.871903808015812e-06, + "loss": 0.4092, + "step": 270 + }, + { + "epoch": 0.5147058823529411, + "grad_norm": 12.557835687927717, + "learning_rate": 9.846724706141718e-06, + "loss": 0.4489, + "step": 280 + }, + { + "epoch": 0.5330882352941176, + "grad_norm": 19.32420837447236, + "learning_rate": 9.819325980268946e-06, + "loss": 0.5297, + "step": 290 + }, + { + "epoch": 0.5514705882352942, + "grad_norm": 12.56688753149935, + "learning_rate": 9.789720178019483e-06, + "loss": 0.4301, + "step": 300 + }, + { + "epoch": 0.5698529411764706, + "grad_norm": 8.769304725602016, + "learning_rate": 9.757920857776188e-06, + "loss": 0.5499, + "step": 310 + }, + { + "epoch": 0.5882352941176471, + "grad_norm": 6.742725850222398, + "learning_rate": 9.723942582473545e-06, + "loss": 0.3723, + "step": 320 + }, + { + "epoch": 0.6066176470588235, + "grad_norm": 32.81061857477797, + "learning_rate": 9.687800912928362e-06, + "loss": 0.6103, + "step": 330 + }, + { + "epoch": 0.625, + "grad_norm": 7.250155807815409, + "learning_rate": 9.649512400713497e-06, + "loss": 0.5561, + "step": 340 + }, + { + "epoch": 0.6433823529411765, + "grad_norm": 8.449295772111478, + "learning_rate": 9.609094580577825e-06, + "loss": 0.4384, + "step": 350 + }, + { + "epoch": 0.6617647058823529, + "grad_norm": 8.965901929446623, + "learning_rate": 9.566565962415958e-06, + "loss": 0.492, + "step": 360 + }, + { + "epoch": 0.6801470588235294, + "grad_norm": 10.783592668291883, + "learning_rate": 9.521946022791402e-06, + "loss": 0.5596, + "step": 370 + }, + { + "epoch": 0.6985294117647058, + "grad_norm": 6.524203722153494, + "learning_rate": 9.475255196016972e-06, + "loss": 0.4657, + "step": 380 + }, + { + "epoch": 0.7169117647058824, + "grad_norm": 6.844495651307719, + "learning_rate": 9.426514864796648e-06, + "loss": 0.547, + "step": 390 + }, + { + "epoch": 0.7352941176470589, + "grad_norm": 7.093995062440304, + "learning_rate": 9.375747350433044e-06, + "loss": 0.4821, + "step": 400 + }, + { + "epoch": 0.7536764705882353, + "grad_norm": 13.008619062718342, + "learning_rate": 9.322975902605082e-06, + "loss": 0.3627, + "step": 410 + }, + { + "epoch": 0.7720588235294118, + "grad_norm": 7.658314017103231, + "learning_rate": 9.268224688720475e-06, + "loss": 0.2779, + "step": 420 + }, + { + "epoch": 0.7904411764705882, + "grad_norm": 9.961772688539515, + "learning_rate": 9.211518782847932e-06, + "loss": 0.684, + "step": 430 + }, + { + "epoch": 0.8088235294117647, + "grad_norm": 5.184448250813704, + "learning_rate": 9.152884154234147e-06, + "loss": 0.3829, + "step": 440 + }, + { + "epoch": 0.8272058823529411, + "grad_norm": 16.899974205034713, + "learning_rate": 9.092347655410818e-06, + "loss": 0.409, + "step": 450 + }, + { + "epoch": 0.8455882352941176, + "grad_norm": 9.123647569900998, + "learning_rate": 9.029937009897176e-06, + "loss": 0.4189, + "step": 460 + }, + { + "epoch": 0.8639705882352942, + "grad_norm": 14.941661911314725, + "learning_rate": 8.96568079950361e-06, + "loss": 0.4846, + "step": 470 + }, + { + "epoch": 0.8823529411764706, + "grad_norm": 6.576553080941865, + "learning_rate": 8.899608451242233e-06, + "loss": 0.4869, + "step": 480 + }, + { + "epoch": 0.9007352941176471, + "grad_norm": 9.989273508498824, + "learning_rate": 8.83175022385039e-06, + "loss": 0.368, + "step": 490 + }, + { + "epoch": 0.9191176470588235, + "grad_norm": 5.168977011450082, + "learning_rate": 8.762137193933241e-06, + "loss": 0.3489, + "step": 500 + }, + { + "epoch": 0.9375, + "grad_norm": 9.716727823960543, + "learning_rate": 8.690801241731818e-06, + "loss": 0.4095, + "step": 510 + }, + { + "epoch": 0.9558823529411765, + "grad_norm": 9.305144213419574, + "learning_rate": 8.617775036523014e-06, + "loss": 0.4641, + "step": 520 + }, + { + "epoch": 0.9742647058823529, + "grad_norm": 7.973224876288721, + "learning_rate": 8.543092021658259e-06, + "loss": 0.3311, + "step": 530 + }, + { + "epoch": 0.9926470588235294, + "grad_norm": 7.223605900810482, + "learning_rate": 8.466786399247663e-06, + "loss": 0.3561, + "step": 540 + }, + { + "epoch": 1.0110294117647058, + "grad_norm": 7.955108957559817, + "learning_rate": 8.388893114496706e-06, + "loss": 0.3474, + "step": 550 + }, + { + "epoch": 1.0294117647058822, + "grad_norm": 8.495071396849232, + "learning_rate": 8.309447839702583e-06, + "loss": 0.2188, + "step": 560 + }, + { + "epoch": 1.0477941176470589, + "grad_norm": 6.043931760485918, + "learning_rate": 8.228486957917608e-06, + "loss": 0.2178, + "step": 570 + }, + { + "epoch": 1.0661764705882353, + "grad_norm": 6.438867996730345, + "learning_rate": 8.146047546287077e-06, + "loss": 0.2783, + "step": 580 + }, + { + "epoch": 1.0845588235294117, + "grad_norm": 3.6977346854366107, + "learning_rate": 8.062167359069301e-06, + "loss": 0.2463, + "step": 590 + }, + { + "epoch": 1.1029411764705883, + "grad_norm": 6.660661443962452, + "learning_rate": 7.97688481034551e-06, + "loss": 0.2634, + "step": 600 + }, + { + "epoch": 1.1213235294117647, + "grad_norm": 9.365314735040004, + "learning_rate": 7.8902389564276e-06, + "loss": 0.294, + "step": 610 + }, + { + "epoch": 1.1397058823529411, + "grad_norm": 6.992327039164838, + "learning_rate": 7.802269477971771e-06, + "loss": 0.273, + "step": 620 + }, + { + "epoch": 1.1580882352941178, + "grad_norm": 16.22021668710731, + "learning_rate": 7.713016661806213e-06, + "loss": 0.2975, + "step": 630 + }, + { + "epoch": 1.1764705882352942, + "grad_norm": 5.1105720664815, + "learning_rate": 7.622521382481208e-06, + "loss": 0.2831, + "step": 640 + }, + { + "epoch": 1.1948529411764706, + "grad_norm": 18.745915660915887, + "learning_rate": 7.530825083550073e-06, + "loss": 0.3548, + "step": 650 + }, + { + "epoch": 1.213235294117647, + "grad_norm": 10.329160246000239, + "learning_rate": 7.437969758589508e-06, + "loss": 0.2454, + "step": 660 + }, + { + "epoch": 1.2316176470588236, + "grad_norm": 6.408214730217885, + "learning_rate": 7.343997931968068e-06, + "loss": 0.2694, + "step": 670 + }, + { + "epoch": 1.25, + "grad_norm": 7.486293079129486, + "learning_rate": 7.248952639371543e-06, + "loss": 0.3091, + "step": 680 + }, + { + "epoch": 1.2683823529411764, + "grad_norm": 5.956954386852354, + "learning_rate": 7.152877408094179e-06, + "loss": 0.2305, + "step": 690 + }, + { + "epoch": 1.2867647058823528, + "grad_norm": 8.065888848768314, + "learning_rate": 7.055816237104753e-06, + "loss": 0.3002, + "step": 700 + }, + { + "epoch": 1.3051470588235294, + "grad_norm": 3.322320099042565, + "learning_rate": 6.957813576896647e-06, + "loss": 0.2868, + "step": 710 + }, + { + "epoch": 1.3235294117647058, + "grad_norm": 11.20812027560389, + "learning_rate": 6.858914309131131e-06, + "loss": 0.2342, + "step": 720 + }, + { + "epoch": 1.3419117647058822, + "grad_norm": 11.126428155503467, + "learning_rate": 6.7591637260831925e-06, + "loss": 0.2143, + "step": 730 + }, + { + "epoch": 1.3602941176470589, + "grad_norm": 6.169632411834191, + "learning_rate": 6.6586075098993196e-06, + "loss": 0.3071, + "step": 740 + }, + { + "epoch": 1.3786764705882353, + "grad_norm": 8.952863279335729, + "learning_rate": 6.557291711676738e-06, + "loss": 0.2977, + "step": 750 + }, + { + "epoch": 1.3970588235294117, + "grad_norm": 4.407249523532787, + "learning_rate": 6.455262730373673e-06, + "loss": 0.2326, + "step": 760 + }, + { + "epoch": 1.4154411764705883, + "grad_norm": 11.807741453984933, + "learning_rate": 6.352567291560319e-06, + "loss": 0.3158, + "step": 770 + }, + { + "epoch": 1.4338235294117647, + "grad_norm": 13.900682242664102, + "learning_rate": 6.249252426020217e-06, + "loss": 0.3301, + "step": 780 + }, + { + "epoch": 1.4522058823529411, + "grad_norm": 10.2905193894227, + "learning_rate": 6.145365448211866e-06, + "loss": 0.2937, + "step": 790 + }, + { + "epoch": 1.4705882352941178, + "grad_norm": 5.654029084586675, + "learning_rate": 6.040953934600425e-06, + "loss": 0.2229, + "step": 800 + }, + { + "epoch": 1.4889705882352942, + "grad_norm": 7.884909374384519, + "learning_rate": 5.936065701869404e-06, + "loss": 0.3169, + "step": 810 + }, + { + "epoch": 1.5073529411764706, + "grad_norm": 4.885582156638979, + "learning_rate": 5.830748785022369e-06, + "loss": 0.257, + "step": 820 + }, + { + "epoch": 1.5257352941176472, + "grad_norm": 10.069197658253753, + "learning_rate": 5.725051415384657e-06, + "loss": 0.2766, + "step": 830 + }, + { + "epoch": 1.5441176470588234, + "grad_norm": 8.25370914927739, + "learning_rate": 5.619021998515165e-06, + "loss": 0.2385, + "step": 840 + }, + { + "epoch": 1.5625, + "grad_norm": 4.810424736549512, + "learning_rate": 5.51270909203838e-06, + "loss": 0.2844, + "step": 850 + }, + { + "epoch": 1.5808823529411766, + "grad_norm": 10.0208212747629, + "learning_rate": 5.40616138340673e-06, + "loss": 0.2924, + "step": 860 + }, + { + "epoch": 1.5992647058823528, + "grad_norm": 13.748183320384355, + "learning_rate": 5.299427667603516e-06, + "loss": 0.2826, + "step": 870 + }, + { + "epoch": 1.6176470588235294, + "grad_norm": 2.892654980772666, + "learning_rate": 5.1925568247965686e-06, + "loss": 0.2106, + "step": 880 + }, + { + "epoch": 1.6360294117647058, + "grad_norm": 4.016652056640837, + "learning_rate": 5.085597797952906e-06, + "loss": 0.3306, + "step": 890 + }, + { + "epoch": 1.6544117647058822, + "grad_norm": 4.348213620564617, + "learning_rate": 4.97859957042464e-06, + "loss": 0.2227, + "step": 900 + }, + { + "epoch": 1.6727941176470589, + "grad_norm": 8.314405849156318, + "learning_rate": 4.871611143516367e-06, + "loss": 0.2275, + "step": 910 + }, + { + "epoch": 1.6911764705882353, + "grad_norm": 3.1251931465193747, + "learning_rate": 4.7646815140443625e-06, + "loss": 0.2966, + "step": 920 + }, + { + "epoch": 1.7095588235294117, + "grad_norm": 2.9353246185637287, + "learning_rate": 4.657859651897807e-06, + "loss": 0.228, + "step": 930 + }, + { + "epoch": 1.7279411764705883, + "grad_norm": 4.988890457346432, + "learning_rate": 4.551194477612351e-06, + "loss": 0.2694, + "step": 940 + }, + { + "epoch": 1.7463235294117647, + "grad_norm": 2.1319176010435252, + "learning_rate": 4.444734839966306e-06, + "loss": 0.1944, + "step": 950 + }, + { + "epoch": 1.7647058823529411, + "grad_norm": 4.43095941592791, + "learning_rate": 4.338529493609647e-06, + "loss": 0.2479, + "step": 960 + }, + { + "epoch": 1.7830882352941178, + "grad_norm": 4.620277796996259, + "learning_rate": 4.232627076736181e-06, + "loss": 0.1819, + "step": 970 + }, + { + "epoch": 1.8014705882352942, + "grad_norm": 9.324548402262511, + "learning_rate": 4.127076088809e-06, + "loss": 0.2514, + "step": 980 + }, + { + "epoch": 1.8198529411764706, + "grad_norm": 9.685553327436127, + "learning_rate": 4.021924868349493e-06, + "loss": 0.24, + "step": 990 + }, + { + "epoch": 1.8382352941176472, + "grad_norm": 4.557597261535076, + "learning_rate": 3.9172215708000655e-06, + "loss": 0.2477, + "step": 1000 + }, + { + "epoch": 1.8566176470588234, + "grad_norm": 7.730856763833525, + "learning_rate": 3.8130141464706806e-06, + "loss": 0.2207, + "step": 1010 + }, + { + "epoch": 1.875, + "grad_norm": 6.292936274037211, + "learning_rate": 3.709350318579371e-06, + "loss": 0.2634, + "step": 1020 + }, + { + "epoch": 1.8933823529411766, + "grad_norm": 3.506287081857162, + "learning_rate": 3.606277561396726e-06, + "loss": 0.236, + "step": 1030 + }, + { + "epoch": 1.9117647058823528, + "grad_norm": 5.326613968704466, + "learning_rate": 3.503843078504405e-06, + "loss": 0.2132, + "step": 1040 + }, + { + "epoch": 1.9301470588235294, + "grad_norm": 4.120806515275935, + "learning_rate": 3.4020937811776154e-06, + "loss": 0.2088, + "step": 1050 + }, + { + "epoch": 1.9485294117647058, + "grad_norm": 12.349465603173341, + "learning_rate": 3.301076266901435e-06, + "loss": 0.2413, + "step": 1060 + }, + { + "epoch": 1.9669117647058822, + "grad_norm": 9.063898128342878, + "learning_rate": 3.2008367980308737e-06, + "loss": 0.2271, + "step": 1070 + }, + { + "epoch": 1.9852941176470589, + "grad_norm": 7.508365526935029, + "learning_rate": 3.1014212806043794e-06, + "loss": 0.2285, + "step": 1080 + }, + { + "epoch": 2.0036764705882355, + "grad_norm": 4.625627595178375, + "learning_rate": 3.0028752433205475e-06, + "loss": 0.1852, + "step": 1090 + }, + { + "epoch": 2.0220588235294117, + "grad_norm": 4.4357477825464935, + "learning_rate": 2.9052438166876305e-06, + "loss": 0.1519, + "step": 1100 + }, + { + "epoch": 2.0404411764705883, + "grad_norm": 7.270033498844353, + "learning_rate": 2.808571712355389e-06, + "loss": 0.1601, + "step": 1110 + }, + { + "epoch": 2.0588235294117645, + "grad_norm": 5.430788007652682, + "learning_rate": 2.7129032026388046e-06, + "loss": 0.1264, + "step": 1120 + }, + { + "epoch": 2.077205882352941, + "grad_norm": 5.229399168057504, + "learning_rate": 2.618282100242935e-06, + "loss": 0.137, + "step": 1130 + }, + { + "epoch": 2.0955882352941178, + "grad_norm": 3.2530670171730063, + "learning_rate": 2.5247517381983137e-06, + "loss": 0.1085, + "step": 1140 + }, + { + "epoch": 2.113970588235294, + "grad_norm": 6.719943927301841, + "learning_rate": 2.4323549500159806e-06, + "loss": 0.1258, + "step": 1150 + }, + { + "epoch": 2.1323529411764706, + "grad_norm": 3.3488917523348367, + "learning_rate": 2.3411340500712833e-06, + "loss": 0.1046, + "step": 1160 + }, + { + "epoch": 2.150735294117647, + "grad_norm": 4.657370433299325, + "learning_rate": 2.251130814225449e-06, + "loss": 0.092, + "step": 1170 + }, + { + "epoch": 2.1691176470588234, + "grad_norm": 2.9670688472212303, + "learning_rate": 2.16238646069373e-06, + "loss": 0.0868, + "step": 1180 + }, + { + "epoch": 2.1875, + "grad_norm": 8.131857870303, + "learning_rate": 2.0749416311689845e-06, + "loss": 0.1059, + "step": 1190 + }, + { + "epoch": 2.2058823529411766, + "grad_norm": 10.154475227479216, + "learning_rate": 1.9888363722092376e-06, + "loss": 0.098, + "step": 1200 + }, + { + "epoch": 2.224264705882353, + "grad_norm": 2.0050786002974026, + "learning_rate": 1.9041101168978094e-06, + "loss": 0.108, + "step": 1210 + }, + { + "epoch": 2.2426470588235294, + "grad_norm": 8.439945942355502, + "learning_rate": 1.8208016667844153e-06, + "loss": 0.1039, + "step": 1220 + }, + { + "epoch": 2.261029411764706, + "grad_norm": 8.60486564105295, + "learning_rate": 1.7389491741154373e-06, + "loss": 0.1132, + "step": 1230 + }, + { + "epoch": 2.2794117647058822, + "grad_norm": 4.696484712814838, + "learning_rate": 1.6585901243616044e-06, + "loss": 0.0999, + "step": 1240 + }, + { + "epoch": 2.297794117647059, + "grad_norm": 4.6231552830326255, + "learning_rate": 1.5797613190509908e-06, + "loss": 0.1059, + "step": 1250 + }, + { + "epoch": 2.3161764705882355, + "grad_norm": 3.6902436160334737, + "learning_rate": 1.502498858915254e-06, + "loss": 0.1186, + "step": 1260 + }, + { + "epoch": 2.3345588235294117, + "grad_norm": 2.5370814512282176, + "learning_rate": 1.4268381273568232e-06, + "loss": 0.1018, + "step": 1270 + }, + { + "epoch": 2.3529411764705883, + "grad_norm": 3.8657043800430584, + "learning_rate": 1.352813774244565e-06, + "loss": 0.0953, + "step": 1280 + }, + { + "epoch": 2.3713235294117645, + "grad_norm": 3.432166252044578, + "learning_rate": 1.2804597000454217e-06, + "loss": 0.1211, + "step": 1290 + }, + { + "epoch": 2.389705882352941, + "grad_norm": 4.3716222719550935, + "learning_rate": 1.2098090402992085e-06, + "loss": 0.1821, + "step": 1300 + }, + { + "epoch": 2.4080882352941178, + "grad_norm": 7.998384499842822, + "learning_rate": 1.1408941504437533e-06, + "loss": 0.1263, + "step": 1310 + }, + { + "epoch": 2.426470588235294, + "grad_norm": 3.850208203788365, + "learning_rate": 1.0737465909972778e-06, + "loss": 0.0792, + "step": 1320 + }, + { + "epoch": 2.4448529411764706, + "grad_norm": 3.688555564340551, + "learning_rate": 1.0083971131048158e-06, + "loss": 0.1395, + "step": 1330 + }, + { + "epoch": 2.463235294117647, + "grad_norm": 4.6455960796035, + "learning_rate": 9.448756444553226e-07, + "loss": 0.1168, + "step": 1340 + }, + { + "epoch": 2.4816176470588234, + "grad_norm": 4.203311959035869, + "learning_rate": 8.832112755758598e-07, + "loss": 0.0876, + "step": 1350 + }, + { + "epoch": 2.5, + "grad_norm": 3.3555040280656607, + "learning_rate": 8.234322465092049e-07, + "loss": 0.1019, + "step": 1360 + }, + { + "epoch": 2.5183823529411766, + "grad_norm": 4.650061051052002, + "learning_rate": 7.655659338809329e-07, + "loss": 0.1377, + "step": 1370 + }, + { + "epoch": 2.536764705882353, + "grad_norm": 6.813560936019147, + "learning_rate": 7.09638838361908e-07, + "loss": 0.0879, + "step": 1380 + }, + { + "epoch": 2.5551470588235294, + "grad_norm": 3.7280612376648845, + "learning_rate": 6.556765725319525e-07, + "loss": 0.0958, + "step": 1390 + }, + { + "epoch": 2.5735294117647056, + "grad_norm": 9.06780320870103, + "learning_rate": 6.037038491501978e-07, + "loss": 0.0994, + "step": 1400 + }, + { + "epoch": 2.5919117647058822, + "grad_norm": 3.786951767893351, + "learning_rate": 5.53744469837551e-07, + "loss": 0.0818, + "step": 1410 + }, + { + "epoch": 2.610294117647059, + "grad_norm": 6.614547209289121, + "learning_rate": 5.058213141764151e-07, + "loss": 0.1018, + "step": 1420 + }, + { + "epoch": 2.6286764705882355, + "grad_norm": 1.3227088771313298, + "learning_rate": 4.599563292326592e-07, + "loss": 0.0874, + "step": 1430 + }, + { + "epoch": 2.6470588235294117, + "grad_norm": 4.123067760097869, + "learning_rate": 4.1617051950467613e-07, + "loss": 0.1395, + "step": 1440 + }, + { + "epoch": 2.6654411764705883, + "grad_norm": 3.277587387385848, + "learning_rate": 3.744839373040682e-07, + "loss": 0.1316, + "step": 1450 + }, + { + "epoch": 2.6838235294117645, + "grad_norm": 7.242903909781894, + "learning_rate": 3.3491567357242736e-07, + "loss": 0.1149, + "step": 1460 + }, + { + "epoch": 2.702205882352941, + "grad_norm": 6.625461967024777, + "learning_rate": 2.9748384913837525e-07, + "loss": 0.0907, + "step": 1470 + }, + { + "epoch": 2.7205882352941178, + "grad_norm": 7.203659881581687, + "learning_rate": 2.6220560641887385e-07, + "loss": 0.1253, + "step": 1480 + }, + { + "epoch": 2.7389705882352944, + "grad_norm": 6.378763396607792, + "learning_rate": 2.2909710156863275e-07, + "loss": 0.098, + "step": 1490 + }, + { + "epoch": 2.7573529411764706, + "grad_norm": 7.337516899008145, + "learning_rate": 1.981734970811644e-07, + "loss": 0.1071, + "step": 1500 + }, + { + "epoch": 2.775735294117647, + "grad_norm": 3.1329621536642542, + "learning_rate": 1.6944895484492075e-07, + "loss": 0.097, + "step": 1510 + }, + { + "epoch": 2.7941176470588234, + "grad_norm": 4.118478339669222, + "learning_rate": 1.429366296576623e-07, + "loss": 0.0984, + "step": 1520 + }, + { + "epoch": 2.8125, + "grad_norm": 4.232819621818319, + "learning_rate": 1.1864866320203116e-07, + "loss": 0.0858, + "step": 1530 + }, + { + "epoch": 2.8308823529411766, + "grad_norm": 5.587393080677787, + "learning_rate": 9.659617848510883e-08, + "loss": 0.1211, + "step": 1540 + }, + { + "epoch": 2.849264705882353, + "grad_norm": 7.695362333030779, + "learning_rate": 7.678927474447817e-08, + "loss": 0.1214, + "step": 1550 + }, + { + "epoch": 2.8676470588235294, + "grad_norm": 5.960106493970138, + "learning_rate": 5.9237022823140924e-08, + "loss": 0.0839, + "step": 1560 + }, + { + "epoch": 2.8860294117647056, + "grad_norm": 3.1314860543234366, + "learning_rate": 4.394746101540115e-08, + "loss": 0.1084, + "step": 1570 + }, + { + "epoch": 2.9044117647058822, + "grad_norm": 4.547681508219823, + "learning_rate": 3.092759138561607e-08, + "loss": 0.109, + "step": 1580 + }, + { + "epoch": 2.922794117647059, + "grad_norm": 4.617590187379549, + "learning_rate": 2.0183376561507263e-08, + "loss": 0.0956, + "step": 1590 + }, + { + "epoch": 2.9411764705882355, + "grad_norm": 3.342902872290941, + "learning_rate": 1.171973700349216e-08, + "loss": 0.119, + "step": 1600 + }, + { + "epoch": 2.9595588235294117, + "grad_norm": 7.136250820241153, + "learning_rate": 5.540548751292174e-09, + "loss": 0.1018, + "step": 1610 + }, + { + "epoch": 2.9779411764705883, + "grad_norm": 6.138459039674928, + "learning_rate": 1.6486416488459279e-09, + "loss": 0.0922, + "step": 1620 + }, + { + "epoch": 2.9963235294117645, + "grad_norm": 3.150046185555739, + "learning_rate": 4.579804834703438e-11, + "loss": 0.0803, + "step": 1630 + }, + { + "epoch": 3.0, + "step": 1632, + "total_flos": 246796222464.0, + "train_loss": 0.3023774076490572, + "train_runtime": 943.8917, + "train_samples_per_second": 3.458, + "train_steps_per_second": 1.729 + } + ], + "logging_steps": 10, + "max_steps": 1632, + "num_input_tokens_seen": 0, + "num_train_epochs": 3, + "save_steps": 500, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": true + }, + "attributes": {} + } + }, + "total_flos": 246796222464.0, + "train_batch_size": 1, + "trial_name": null, + "trial_params": null +} diff --git a/training_args.bin b/training_args.bin new file mode 100644 index 0000000..10fbb2a --- /dev/null +++ b/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4bebf5c7141bddbed6a7feb4bf1a35ed3fbf020c7c4dc7ab21f6f30268f7e3 +size 7352 diff --git a/training_loss.png b/training_loss.png new file mode 100644 index 0000000..27c4983 Binary files /dev/null and b/training_loss.png differ