From 4c7e076efbc39c98950b3544988e1d3393411d62 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Tue, 30 Jun 2026 05:58:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: mlfoundations-dev/316_globalbatchsize64_lr1e5_epochs5 Source: Original Platform --- .gitattributes | 56 +++++ README.md | 61 ++++++ added_tokens.json | 24 +++ all_results.json | 8 + config.json | 29 +++ configs.yaml | 39 ++++ configuration.json | 1 + generation_config.json | 14 ++ merges.txt | 3 + model-00001-of-00004.safetensors | 3 + model-00002-of-00004.safetensors | 3 + model-00003-of-00004.safetensors | 3 + model-00004-of-00004.safetensors | 3 + model.safetensors.index.json | 346 +++++++++++++++++++++++++++++++ special_tokens_map.json | 31 +++ tokenizer.json | 3 + tokenizer_config.json | 208 +++++++++++++++++++ train_results.json | 8 + trainer_log.jsonl | 26 +++ trainer_state.json | 217 +++++++++++++++++++ training_args.bin | 3 + training_loss.png | Bin 0 -> 37876 bytes vocab.json | 3 + 23 files changed, 1092 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 added_tokens.json create mode 100644 all_results.json create mode 100644 config.json create mode 100644 configs.yaml create mode 100644 configuration.json create mode 100644 generation_config.json create mode 100644 merges.txt create mode 100644 model-00001-of-00004.safetensors create mode 100644 model-00002-of-00004.safetensors create mode 100644 model-00003-of-00004.safetensors create mode 100644 model-00004-of-00004.safetensors create mode 100644 model.safetensors.index.json create mode 100644 special_tokens_map.json create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 train_results.json create mode 100644 trainer_log.jsonl create mode 100644 trainer_state.json create mode 100644 training_args.bin create mode 100644 training_loss.png create mode 100644 vocab.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..68b264a --- /dev/null +++ b/.gitattributes @@ -0,0 +1,56 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text + + +*.bz2 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 +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack 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 +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* 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 +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text + +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.gguf* filter=lfs diff=lfs merge=lfs -text +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text + +model-00002-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text +training_args.bin filter=lfs diff=lfs merge=lfs -text +merges.txt filter=lfs diff=lfs merge=lfs -text +vocab.json filter=lfs diff=lfs merge=lfs -text +model-00003-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +model-00001-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +model-00004-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b4b9b62 --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +--- +library_name: transformers +license: apache-2.0 +base_model: Qwen/Qwen2.5-7B-Instruct +tags: +- llama-factory +- full +- generated_from_trainer +model-index: +- name: 316_globalbatchsize64_lr1e5_epochs5 + results: [] +--- + + + +# 316_globalbatchsize64_lr1e5_epochs5 + +This model is a fine-tuned version of [Qwen/Qwen2.5-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-7B-Instruct) on the mlfoundations-dev/openthoughts_316 dataset. + +## 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 +- num_devices: 8 +- gradient_accumulation_steps: 8 +- total_train_batch_size: 64 +- total_eval_batch_size: 64 +- 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: 5.0 + +### Training results + + + +### Framework versions + +- Transformers 4.46.1 +- Pytorch 2.3.0 +- Datasets 3.1.0 +- Tokenizers 0.20.3 diff --git a/added_tokens.json b/added_tokens.json new file mode 100644 index 0000000..482ced4 --- /dev/null +++ b/added_tokens.json @@ -0,0 +1,24 @@ +{ + "": 151658, + "": 151657, + "<|box_end|>": 151649, + "<|box_start|>": 151648, + "<|endoftext|>": 151643, + "<|file_sep|>": 151664, + "<|fim_middle|>": 151660, + "<|fim_pad|>": 151662, + "<|fim_prefix|>": 151659, + "<|fim_suffix|>": 151661, + "<|im_end|>": 151645, + "<|im_start|>": 151644, + "<|image_pad|>": 151655, + "<|object_ref_end|>": 151647, + "<|object_ref_start|>": 151646, + "<|quad_end|>": 151651, + "<|quad_start|>": 151650, + "<|repo_name|>": 151663, + "<|video_pad|>": 151656, + "<|vision_end|>": 151653, + "<|vision_pad|>": 151654, + "<|vision_start|>": 151652 +} diff --git a/all_results.json b/all_results.json new file mode 100644 index 0000000..e78033a --- /dev/null +++ b/all_results.json @@ -0,0 +1,8 @@ +{ + "epoch": 5.0, + "total_flos": 3.2478016827293696e+16, + "train_loss": 0.6773358273506165, + "train_runtime": 2116.0034, + "train_samples_per_second": 0.747, + "train_steps_per_second": 0.012 +} \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..6c52571 --- /dev/null +++ b/config.json @@ -0,0 +1,29 @@ +{ + "_name_or_path": "Qwen/Qwen2.5-7B-Instruct", + "architectures": [ + "Qwen2ForCausalLM" + ], + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151645, + "hidden_act": "silu", + "hidden_size": 3584, + "initializer_range": 0.02, + "intermediate_size": 18944, + "max_position_embeddings": 32768, + "max_window_layers": 28, + "model_type": "qwen2", + "num_attention_heads": 28, + "num_hidden_layers": 28, + "num_key_value_heads": 4, + "rms_norm_eps": 1e-06, + "rope_scaling": null, + "rope_theta": 1000000.0, + "sliding_window": null, + "tie_word_embeddings": false, + "torch_dtype": "bfloat16", + "transformers_version": "4.46.1", + "use_cache": false, + "use_sliding_window": false, + "vocab_size": 152064 +} diff --git a/configs.yaml b/configs.yaml new file mode 100644 index 0000000..00572e0 --- /dev/null +++ b/configs.yaml @@ -0,0 +1,39 @@ +assistant_tag: assistant +bf16: 'True' +content_tag: value +cutoff_len: '16384' +dataloader_num_workers: '4' +dataloader_persistent_workers: 'True' +dataloader_pin_memory: 'True' +dataset: mlfoundations-dev/openthoughts_316 +dataset_dir: ONLINE +ddp_timeout: '180000000' +deepspeed: /opt/ml/code/zero3.json +do_train: 'True' +enable_liger_kernel: 'True' +finetuning_type: full +formatting: sharegpt +global_batch_size: '64' +gradient_accumulation_steps: '8' +hub_model_id: mlfoundations-dev/316_globalbatchsize64_lr1e5_epochs5 +learning_rate: 1e-05 +logging_steps: '1' +lr_scheduler_type: cosine +messages: conversations +model_name_or_path: Qwen/Qwen2.5-7B-Instruct +num_train_epochs: '5.0' +output_dir: /opt/ml/model +overwrite_cache: 'True' +per_device_train_batch_size: '1' +plot_loss: 'True' +preprocessing_num_workers: '16' +push_to_db: 'True' +push_to_hub: 'True' +report_to: wandb +role_tag: from +run_name: 316_globalbatchsize64_lr1e5_epochs5 +save_strategy: epoch +stage: sft +template: qwen25 +user_tag: user +warmup_ratio: '0.1' diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..bbeeda1 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "text-generation", "allow_remote": true} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..a753841 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,14 @@ +{ + "bos_token_id": 151643, + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "pad_token_id": 151643, + "repetition_penalty": 1.05, + "temperature": 0.7, + "top_k": 20, + "top_p": 0.8, + "transformers_version": "4.46.1" +} diff --git a/merges.txt b/merges.txt new file mode 100644 index 0000000..80c1a19 --- /dev/null +++ b/merges.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5 +size 1671853 diff --git a/model-00001-of-00004.safetensors b/model-00001-of-00004.safetensors new file mode 100644 index 0000000..bfaf39f --- /dev/null +++ b/model-00001-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca029c7d8115d85e06cc9f3d4d72629dfb705420a7e46410244b284ace1c0f8d +size 4877660776 diff --git a/model-00002-of-00004.safetensors b/model-00002-of-00004.safetensors new file mode 100644 index 0000000..d5b1bf0 --- /dev/null +++ b/model-00002-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96c952da2e86ab475b08ad96f1f2046fed78e4bdbaa5f651a6b96ee5cb5d3190 +size 4932751008 diff --git a/model-00003-of-00004.safetensors b/model-00003-of-00004.safetensors new file mode 100644 index 0000000..d50174a --- /dev/null +++ b/model-00003-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80db1d95f18042a2070c06a2e423c1a61ee38d9aa2b6632bd43a6e211285586b +size 4330865200 diff --git a/model-00004-of-00004.safetensors b/model-00004-of-00004.safetensors new file mode 100644 index 0000000..bc32ec1 --- /dev/null +++ b/model-00004-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:577c8bdfff5248ce01d8d5ba5e597b9ba3e0675319f25264fa2fc6e9f468d183 +size 1089994880 diff --git a/model.safetensors.index.json b/model.safetensors.index.json new file mode 100644 index 0000000..6ca5084 --- /dev/null +++ b/model.safetensors.index.json @@ -0,0 +1,346 @@ +{ + "metadata": { + "total_size": 15231233024 + }, + "weight_map": { + "lm_head.weight": "model-00004-of-00004.safetensors", + "model.embed_tokens.weight": "model-00001-of-00004.safetensors", + "model.layers.0.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.10.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.16.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.17.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.19.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.2.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.20.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.26.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.27.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.3.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.5.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.6.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.6.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.7.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.8.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.9.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.norm.weight": "model-00003-of-00004.safetensors" + } +} diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..17305b3 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,31 @@ +{ + "additional_special_tokens": [ + "<|im_start|>", + "<|im_end|>", + "<|object_ref_start|>", + "<|object_ref_end|>", + "<|box_start|>", + "<|box_end|>", + "<|quad_start|>", + "<|quad_end|>", + "<|vision_start|>", + "<|vision_end|>", + "<|vision_pad|>", + "<|image_pad|>", + "<|video_pad|>" + ], + "eos_token": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..51ebb3b --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c5ae00e602b8860cbd784ba82a8aa14e8feecec692e7076590d014d7b7fdafa +size 11421896 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..b84f53a --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,208 @@ +{ + "add_bos_token": false, + "add_prefix_space": false, + "added_tokens_decoder": { + "151643": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151644": { + "content": "<|im_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151645": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151646": { + "content": "<|object_ref_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151647": { + "content": "<|object_ref_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151648": { + "content": "<|box_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151649": { + "content": "<|box_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151650": { + "content": "<|quad_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151651": { + "content": "<|quad_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151652": { + "content": "<|vision_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151653": { + "content": "<|vision_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151654": { + "content": "<|vision_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151655": { + "content": "<|image_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151656": { + "content": "<|video_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151657": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151658": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151659": { + "content": "<|fim_prefix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151660": { + "content": "<|fim_middle|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151661": { + "content": "<|fim_suffix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151662": { + "content": "<|fim_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151663": { + "content": "<|repo_name|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151664": { + "content": "<|file_sep|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + } + }, + "additional_special_tokens": [ + "<|im_start|>", + "<|im_end|>", + "<|object_ref_start|>", + "<|object_ref_end|>", + "<|box_start|>", + "<|box_end|>", + "<|quad_start|>", + "<|quad_end|>", + "<|vision_start|>", + "<|vision_end|>", + "<|vision_pad|>", + "<|image_pad|>", + "<|video_pad|>" + ], + "bos_token": null, + "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }}\n {%- endif %}\n {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within XML tags:\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\\n\\nFor each function call, return a json object with function name and arguments within XML tags:\\n\\n{\\\"name\\\": , \\\"arguments\\\": }\\n<|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- else %}\n {{- '<|im_start|>system\\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) or (message.role == \"assistant\" and not message.tool_calls) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + message.content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- message.content }}\n {{- '\\n' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n", + "clean_up_tokenization_spaces": false, + "eos_token": "<|endoftext|>", + "errors": "replace", + "model_max_length": 131072, + "pad_token": "<|endoftext|>", + "padding_side": "right", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +} diff --git a/train_results.json b/train_results.json new file mode 100644 index 0000000..e78033a --- /dev/null +++ b/train_results.json @@ -0,0 +1,8 @@ +{ + "epoch": 5.0, + "total_flos": 3.2478016827293696e+16, + "train_loss": 0.6773358273506165, + "train_runtime": 2116.0034, + "train_samples_per_second": 0.747, + "train_steps_per_second": 0.012 +} \ No newline at end of file diff --git a/trainer_log.jsonl b/trainer_log.jsonl new file mode 100644 index 0000000..c16534c --- /dev/null +++ b/trainer_log.jsonl @@ -0,0 +1,26 @@ +{"current_steps": 1, "total_steps": 25, "loss": 0.832, "lr": 3.3333333333333333e-06, "epoch": 0.2, "percentage": 4.0, "elapsed_time": "0:01:10", "remaining_time": "0:28:19"} +{"current_steps": 2, "total_steps": 25, "loss": 0.8909, "lr": 6.666666666666667e-06, "epoch": 0.4, "percentage": 8.0, "elapsed_time": "0:02:12", "remaining_time": "0:25:23"} +{"current_steps": 3, "total_steps": 25, "loss": 0.895, "lr": 1e-05, "epoch": 0.6, "percentage": 12.0, "elapsed_time": "0:03:19", "remaining_time": "0:24:25"} +{"current_steps": 4, "total_steps": 25, "loss": 0.8295, "lr": 9.949107209404664e-06, "epoch": 0.8, "percentage": 16.0, "elapsed_time": "0:04:25", "remaining_time": "0:23:16"} +{"current_steps": 5, "total_steps": 25, "loss": 0.8042, "lr": 9.797464868072489e-06, "epoch": 1.0, "percentage": 20.0, "elapsed_time": "0:05:41", "remaining_time": "0:22:47"} +{"current_steps": 6, "total_steps": 25, "loss": 0.7827, "lr": 9.548159976772593e-06, "epoch": 1.2, "percentage": 24.0, "elapsed_time": "0:07:51", "remaining_time": "0:24:53"} +{"current_steps": 7, "total_steps": 25, "loss": 0.7791, "lr": 9.206267664155906e-06, "epoch": 1.4, "percentage": 28.0, "elapsed_time": "0:09:01", "remaining_time": "0:23:13"} +{"current_steps": 8, "total_steps": 25, "loss": 0.7468, "lr": 8.778747871771293e-06, "epoch": 1.6, "percentage": 32.0, "elapsed_time": "0:09:59", "remaining_time": "0:21:14"} +{"current_steps": 9, "total_steps": 25, "loss": 0.7373, "lr": 8.274303669726427e-06, "epoch": 1.8, "percentage": 36.0, "elapsed_time": "0:11:10", "remaining_time": "0:19:51"} +{"current_steps": 10, "total_steps": 25, "loss": 0.6852, "lr": 7.703204087277989e-06, "epoch": 2.0, "percentage": 40.0, "elapsed_time": "0:12:27", "remaining_time": "0:18:40"} +{"current_steps": 11, "total_steps": 25, "loss": 0.6784, "lr": 7.0770750650094335e-06, "epoch": 2.2, "percentage": 44.0, "elapsed_time": "0:14:41", "remaining_time": "0:18:41"} +{"current_steps": 12, "total_steps": 25, "loss": 0.6349, "lr": 6.408662784207149e-06, "epoch": 2.4, "percentage": 48.0, "elapsed_time": "0:15:51", "remaining_time": "0:17:10"} +{"current_steps": 13, "total_steps": 25, "loss": 0.6179, "lr": 5.711574191366427e-06, "epoch": 2.6, "percentage": 52.0, "elapsed_time": "0:17:11", "remaining_time": "0:15:52"} +{"current_steps": 14, "total_steps": 25, "loss": 0.6468, "lr": 5e-06, "epoch": 2.8, "percentage": 56.0, "elapsed_time": "0:18:10", "remaining_time": "0:14:16"} +{"current_steps": 15, "total_steps": 25, "loss": 0.6264, "lr": 4.2884258086335755e-06, "epoch": 3.0, "percentage": 60.0, "elapsed_time": "0:19:20", "remaining_time": "0:12:53"} +{"current_steps": 16, "total_steps": 25, "loss": 0.5678, "lr": 3.5913372157928515e-06, "epoch": 3.2, "percentage": 64.0, "elapsed_time": "0:21:32", "remaining_time": "0:12:07"} +{"current_steps": 17, "total_steps": 25, "loss": 0.6467, "lr": 2.9229249349905686e-06, "epoch": 3.4, "percentage": 68.0, "elapsed_time": "0:22:49", "remaining_time": "0:10:44"} +{"current_steps": 18, "total_steps": 25, "loss": 0.5901, "lr": 2.296795912722014e-06, "epoch": 3.6, "percentage": 72.0, "elapsed_time": "0:24:11", "remaining_time": "0:09:24"} +{"current_steps": 19, "total_steps": 25, "loss": 0.5917, "lr": 1.7256963302735752e-06, "epoch": 3.8, "percentage": 76.0, "elapsed_time": "0:24:57", "remaining_time": "0:07:52"} +{"current_steps": 20, "total_steps": 25, "loss": 0.5287, "lr": 1.2212521282287093e-06, "epoch": 4.0, "percentage": 80.0, "elapsed_time": "0:25:57", "remaining_time": "0:06:29"} +{"current_steps": 21, "total_steps": 25, "loss": 0.5862, "lr": 7.937323358440935e-07, "epoch": 4.2, "percentage": 84.0, "elapsed_time": "0:28:11", "remaining_time": "0:05:22"} +{"current_steps": 22, "total_steps": 25, "loss": 0.5381, "lr": 4.5184002322740784e-07, "epoch": 4.4, "percentage": 88.0, "elapsed_time": "0:29:25", "remaining_time": "0:04:00"} +{"current_steps": 23, "total_steps": 25, "loss": 0.5601, "lr": 2.0253513192751374e-07, "epoch": 4.6, "percentage": 92.0, "elapsed_time": "0:30:35", "remaining_time": "0:02:39"} +{"current_steps": 24, "total_steps": 25, "loss": 0.5729, "lr": 5.089279059533658e-08, "epoch": 4.8, "percentage": 96.0, "elapsed_time": "0:31:50", "remaining_time": "0:01:19"} +{"current_steps": 25, "total_steps": 25, "loss": 0.5641, "lr": 0.0, "epoch": 5.0, "percentage": 100.0, "elapsed_time": "0:32:56", "remaining_time": "0:00:00"} +{"current_steps": 25, "total_steps": 25, "epoch": 5.0, "percentage": 100.0, "elapsed_time": "0:35:14", "remaining_time": "0:00:00"} diff --git a/trainer_state.json b/trainer_state.json new file mode 100644 index 0000000..1adfd55 --- /dev/null +++ b/trainer_state.json @@ -0,0 +1,217 @@ +{ + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 5.0, + "eval_steps": 500, + "global_step": 25, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.2, + "grad_norm": 5.582047512699039, + "learning_rate": 3.3333333333333333e-06, + "loss": 0.832, + "step": 1 + }, + { + "epoch": 0.4, + "grad_norm": 6.008045063224414, + "learning_rate": 6.666666666666667e-06, + "loss": 0.8909, + "step": 2 + }, + { + "epoch": 0.6, + "grad_norm": 5.619691260140896, + "learning_rate": 1e-05, + "loss": 0.895, + "step": 3 + }, + { + "epoch": 0.8, + "grad_norm": 2.4419954363812546, + "learning_rate": 9.949107209404664e-06, + "loss": 0.8295, + "step": 4 + }, + { + "epoch": 1.0, + "grad_norm": 4.388419710102024, + "learning_rate": 9.797464868072489e-06, + "loss": 0.8042, + "step": 5 + }, + { + "epoch": 1.2, + "grad_norm": 4.783176654227559, + "learning_rate": 9.548159976772593e-06, + "loss": 0.7827, + "step": 6 + }, + { + "epoch": 1.4, + "grad_norm": 5.091132431503279, + "learning_rate": 9.206267664155906e-06, + "loss": 0.7791, + "step": 7 + }, + { + "epoch": 1.6, + "grad_norm": 3.822231767141275, + "learning_rate": 8.778747871771293e-06, + "loss": 0.7468, + "step": 8 + }, + { + "epoch": 1.8, + "grad_norm": 2.5817851399644267, + "learning_rate": 8.274303669726427e-06, + "loss": 0.7373, + "step": 9 + }, + { + "epoch": 2.0, + "grad_norm": 1.6946946923157924, + "learning_rate": 7.703204087277989e-06, + "loss": 0.6852, + "step": 10 + }, + { + "epoch": 2.2, + "grad_norm": 1.6248909167963212, + "learning_rate": 7.0770750650094335e-06, + "loss": 0.6784, + "step": 11 + }, + { + "epoch": 2.4, + "grad_norm": 1.5707404220045935, + "learning_rate": 6.408662784207149e-06, + "loss": 0.6349, + "step": 12 + }, + { + "epoch": 2.6, + "grad_norm": 0.9743312920477364, + "learning_rate": 5.711574191366427e-06, + "loss": 0.6179, + "step": 13 + }, + { + "epoch": 2.8, + "grad_norm": 1.1820747823709539, + "learning_rate": 5e-06, + "loss": 0.6468, + "step": 14 + }, + { + "epoch": 3.0, + "grad_norm": 1.0613411323142574, + "learning_rate": 4.2884258086335755e-06, + "loss": 0.6264, + "step": 15 + }, + { + "epoch": 3.2, + "grad_norm": 0.9343671083929717, + "learning_rate": 3.5913372157928515e-06, + "loss": 0.5678, + "step": 16 + }, + { + "epoch": 3.4, + "grad_norm": 0.825169270658582, + "learning_rate": 2.9229249349905686e-06, + "loss": 0.6467, + "step": 17 + }, + { + "epoch": 3.6, + "grad_norm": 0.7335904450059882, + "learning_rate": 2.296795912722014e-06, + "loss": 0.5901, + "step": 18 + }, + { + "epoch": 3.8, + "grad_norm": 0.7118131164733261, + "learning_rate": 1.7256963302735752e-06, + "loss": 0.5917, + "step": 19 + }, + { + "epoch": 4.0, + "grad_norm": 0.5995644006563385, + "learning_rate": 1.2212521282287093e-06, + "loss": 0.5287, + "step": 20 + }, + { + "epoch": 4.2, + "grad_norm": 0.5329284210983056, + "learning_rate": 7.937323358440935e-07, + "loss": 0.5862, + "step": 21 + }, + { + "epoch": 4.4, + "grad_norm": 0.49244683959100055, + "learning_rate": 4.5184002322740784e-07, + "loss": 0.5381, + "step": 22 + }, + { + "epoch": 4.6, + "grad_norm": 0.5407056028850911, + "learning_rate": 2.0253513192751374e-07, + "loss": 0.5601, + "step": 23 + }, + { + "epoch": 4.8, + "grad_norm": 0.48949102048400017, + "learning_rate": 5.089279059533658e-08, + "loss": 0.5729, + "step": 24 + }, + { + "epoch": 5.0, + "grad_norm": 0.5481083314386501, + "learning_rate": 0.0, + "loss": 0.5641, + "step": 25 + }, + { + "epoch": 5.0, + "step": 25, + "total_flos": 3.2478016827293696e+16, + "train_loss": 0.6773358273506165, + "train_runtime": 2116.0034, + "train_samples_per_second": 0.747, + "train_steps_per_second": 0.012 + } + ], + "logging_steps": 1.0, + "max_steps": 25, + "num_input_tokens_seen": 0, + "num_train_epochs": 5, + "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": 3.2478016827293696e+16, + "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..cd43429 --- /dev/null +++ b/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d5bd093a53c94bc7e32d219e2ff2263d205040843a229e0fc9ecf59ef279761 +size 7224 diff --git a/training_loss.png b/training_loss.png new file mode 100644 index 0000000000000000000000000000000000000000..ada6ba4f07ebab3cda26528946008a9630bc2ccb GIT binary patch literal 37876 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 pe*_Hw2(