commit aad76e555c27af3f915c248bda6f70f962ac664c Author: ModelHub XC Date: Sun Apr 19 21:35:02 2026 +0800 初始化项目,由ModelHub XC社区提供模型 Model: chestnutlzj/MoE-Qwen-4x1.8B-pretrain-50000-ckpt Source: Original Platform diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..e6e3df6 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,52 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* 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 + +*.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-00002.safetensors filter=lfs diff=lfs merge=lfs -text +loss_plot.png filter=lfs diff=lfs merge=lfs -text +qwen.tiktoken filter=lfs diff=lfs merge=lfs -text +model-00001-of-00002.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..9ee7f01 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +--- +license: apache-2.0 +language: +- zh +--- +# 4x1.8B MoE Qwen Ckpt 50000 + +This is a MoE model project constructed based on the Qwen 1.8B model. In this project, we concatenated 4 original models and trained them using special training methods. + +This model is a checkpoint model for the continue pretraining stage. + +![](loss_plot.png) + +# Evaluations + +| Groups |n-shot| Metric |Value | |Stderr| +|------------------|-----:|--------|-----:|---|-----:| +|boolq | 0|acc |0.6508|± |0.0083| +|ceval-valid | 0|acc |0.5290|± |0.1912| +| | 0|acc_norm|0.5290|± |0.1912| +|cmmlu | 0|acc |0.5087|± |0.1237| +| | 0|acc_norm|0.5087|± |0.1237| +|mathqa | 0|acc |0.2647|± |0.0081| +| | 0|acc_norm|0.2693|± |0.0081| +|mmlu | 0|acc |0.4353|± |0.0830| +| - stem | 0|acc |0.3809|± |0.0659| +| - social_sciences| 0|acc |0.4959|± |0.0708| +| - other | 0|acc |0.4844|± |0.0744| +| - humanities | 0|acc |0.3998|± |0.0849| + +# Acknowledgements + ++ [Qwen](https://github.com/QwenLM/Qwen) ++ [mistral.ai](https://mistral.ai) + +# License Agreement + +This project is open source under the Tongyi Qianwen Research License Agreement. You can view the complete license agreement in this link: [https://github.com/QwenLM/Qwen/blob/main/Tongyi%20Qianwen%20RESEARCH%20LICENSE%20AGREEMENT]. + +During the use of this project, please ensure that your usage behavior complies with the terms and conditions of the license agreement. \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..8e4d48a --- /dev/null +++ b/config.json @@ -0,0 +1,31 @@ +{ + "_name_or_path": "/data03/moe_chatlaw/models/moe_chatlaw_pt_4/checkpoint-26000", + "architectures": [ + "MixtralForCausalLM" + ], + "attention_bias": true, + "attention_dropout": 0.0, + "bos_token_id": 1, + "eos_token_id": 2, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 5504, + "max_position_embeddings": 8192, + "model_type": "mixtral", + "num_attention_heads": 16, + "num_experts_per_tok": 2, + "num_hidden_layers": 24, + "num_key_value_heads": 16, + "num_local_experts": 4, + "output_router_logits": true, + "rms_norm_eps": 1e-06, + "rope_theta": 10000.0, + "router_aux_loss_coef": 0.001, + "sliding_window": 4096, + "tie_word_embeddings": false, + "torch_dtype": "bfloat16", + "transformers_version": "4.36.2", + "use_cache": true, + "vocab_size": 151936 +} 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..c533f93 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,6 @@ +{ + "_from_model_config": true, + "bos_token_id": 1, + "eos_token_id": 2, + "transformers_version": "4.36.2" +} diff --git a/loss_plot.png b/loss_plot.png new file mode 100644 index 0000000..3d8487d --- /dev/null +++ b/loss_plot.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93ef77aafc4823302da7032ee042368f6506ae348a582769b81a20720f7f33a4 +size 1055988 diff --git a/model-00001-of-00002.safetensors b/model-00001-of-00002.safetensors new file mode 100644 index 0000000..e2c74a9 --- /dev/null +++ b/model-00001-of-00002.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f79d23cd83ba12f9a072ca6be145b05ccf91a90421811b2f57db6dd953d468e8 +size 4981245312 diff --git a/model-00002-of-00002.safetensors b/model-00002-of-00002.safetensors new file mode 100644 index 0000000..1cffe9a --- /dev/null +++ b/model-00002-of-00002.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:facfec55cca83a8e0bd2e817ab54b336151f1cbe5630cd76cc19489f197552ed +size 3562355120 diff --git a/model.safetensors.index.json b/model.safetensors.index.json new file mode 100644 index 0000000..9711689 --- /dev/null +++ b/model.safetensors.index.json @@ -0,0 +1,466 @@ +{ + "metadata": { + "total_size": 8543543296 + }, + "weight_map": { + "lm_head.weight": "model-00002-of-00002.safetensors", + "model.embed_tokens.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.0.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.0.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.1.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.1.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.10.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.10.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.10.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.10.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.10.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.10.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.10.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.11.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.11.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.11.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.11.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.11.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.11.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.11.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.12.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.12.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.12.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.12.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.12.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.13.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.13.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.13.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.13.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.13.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.13.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.13.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.14.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.14.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.14.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.14.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.14.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.14.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.14.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.14.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.0.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.0.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.0.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.15.block_sparse_moe.gate.weight": "model-00002-of-00002.safetensors", + "model.layers.15.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.15.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.15.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.15.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.15.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.15.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.0.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.0.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.0.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.16.block_sparse_moe.gate.weight": "model-00002-of-00002.safetensors", + "model.layers.16.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.16.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.16.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.16.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.16.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.16.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.0.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.0.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.0.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.17.block_sparse_moe.gate.weight": "model-00002-of-00002.safetensors", + "model.layers.17.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.17.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.17.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.17.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.17.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.17.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.0.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.0.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.0.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.18.block_sparse_moe.gate.weight": "model-00002-of-00002.safetensors", + "model.layers.18.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.18.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.18.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.18.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.18.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.18.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.0.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.0.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.0.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.19.block_sparse_moe.gate.weight": "model-00002-of-00002.safetensors", + "model.layers.19.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.19.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.19.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.19.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.19.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.19.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.2.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.2.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.0.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.0.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.0.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.20.block_sparse_moe.gate.weight": "model-00002-of-00002.safetensors", + "model.layers.20.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.20.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.20.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.20.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.20.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.20.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.0.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.0.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.0.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.21.block_sparse_moe.gate.weight": "model-00002-of-00002.safetensors", + "model.layers.21.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.21.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.21.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.21.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.21.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.21.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.0.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.0.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.0.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.22.block_sparse_moe.gate.weight": "model-00002-of-00002.safetensors", + "model.layers.22.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.22.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.22.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.22.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.22.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.22.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.0.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.0.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.0.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.1.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.1.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.1.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.2.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.2.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.2.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.3.w1.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.3.w2.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.experts.3.w3.weight": "model-00002-of-00002.safetensors", + "model.layers.23.block_sparse_moe.gate.weight": "model-00002-of-00002.safetensors", + "model.layers.23.input_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.23.post_attention_layernorm.weight": "model-00002-of-00002.safetensors", + "model.layers.23.self_attn.k_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.23.self_attn.o_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.23.self_attn.q_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.23.self_attn.v_proj.weight": "model-00002-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.3.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.3.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.4.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.4.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.4.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.4.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.4.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.5.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.5.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.5.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.5.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.6.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.6.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.6.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.6.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.6.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.7.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.7.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.7.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.7.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.7.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.7.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.7.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.8.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.8.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.8.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.8.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.8.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.8.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.8.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.0.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.0.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.0.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.1.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.1.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.1.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.2.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.2.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.2.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.3.w1.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.3.w2.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.experts.3.w3.weight": "model-00001-of-00002.safetensors", + "model.layers.9.block_sparse_moe.gate.weight": "model-00001-of-00002.safetensors", + "model.layers.9.input_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.9.post_attention_layernorm.weight": "model-00001-of-00002.safetensors", + "model.layers.9.self_attn.k_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.self_attn.o_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.self_attn.q_proj.weight": "model-00001-of-00002.safetensors", + "model.layers.9.self_attn.v_proj.weight": "model-00001-of-00002.safetensors", + "model.norm.weight": "model-00002-of-00002.safetensors" + } +} diff --git a/qwen.tiktoken b/qwen.tiktoken new file mode 100644 index 0000000..b59a29f --- /dev/null +++ b/qwen.tiktoken @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2b1b8dfb5cc5f024bafc373121c6aba3f66f9a5a0269e243470a1de16a33186 +size 2561218 diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..837e77d --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,3 @@ +{ + "pad_token": "<|endoftext|>" +} diff --git a/tokenization_qwen.py b/tokenization_qwen.py new file mode 100644 index 0000000..2a526d6 --- /dev/null +++ b/tokenization_qwen.py @@ -0,0 +1,276 @@ +# Copyright (c) Alibaba Cloud. +# +# This source code is licensed under the license found in the +# LICENSE file in the root directory of this source tree. + +"""Tokenization classes for QWen.""" + +import base64 +import logging +import os +import unicodedata +from typing import Collection, Dict, List, Set, Tuple, Union + +import tiktoken +from transformers import PreTrainedTokenizer, AddedToken + +logger = logging.getLogger(__name__) + + +VOCAB_FILES_NAMES = {"vocab_file": "qwen.tiktoken"} + +PAT_STR = r"""(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+""" +ENDOFTEXT = "<|endoftext|>" +IMSTART = "<|im_start|>" +IMEND = "<|im_end|>" +# as the default behavior is changed to allow special tokens in +# regular texts, the surface forms of special tokens need to be +# as different as possible to minimize the impact +EXTRAS = tuple((f"<|extra_{i}|>" for i in range(205))) +# changed to use actual index to avoid misconfiguration with vocabulary expansion +SPECIAL_START_ID = 151643 +SPECIAL_TOKENS = tuple( + enumerate( + ( + ( + ENDOFTEXT, + IMSTART, + IMEND, + ) + + EXTRAS + ), + start=SPECIAL_START_ID, + ) +) +SPECIAL_TOKENS_SET = set(t for i, t in SPECIAL_TOKENS) + + +def _load_tiktoken_bpe(tiktoken_bpe_file: str) -> Dict[bytes, int]: + with open(tiktoken_bpe_file, "rb") as f: + contents = f.read() + return { + base64.b64decode(token): int(rank) + for token, rank in (line.split() for line in contents.splitlines() if line) + } + + +class QWenTokenizer(PreTrainedTokenizer): + """QWen tokenizer.""" + + vocab_files_names = VOCAB_FILES_NAMES + + def __init__( + self, + vocab_file, + errors="replace", + extra_vocab_file=None, + **kwargs, + ): + super().__init__(**kwargs) + + # how to handle errors in decoding UTF-8 byte sequences + # use ignore if you are in streaming inference + self.errors = errors + + self.mergeable_ranks = _load_tiktoken_bpe(vocab_file) # type: Dict[bytes, int] + self.special_tokens = { + token: index + for index, token in SPECIAL_TOKENS + } + + # try load extra vocab from file + if extra_vocab_file is not None: + used_ids = set(self.mergeable_ranks.values()) | set(self.special_tokens.values()) + extra_mergeable_ranks = _load_tiktoken_bpe(extra_vocab_file) + for token, index in extra_mergeable_ranks.items(): + if token in self.mergeable_ranks: + logger.info(f"extra token {token} exists, skipping") + continue + if index in used_ids: + logger.info(f'the index {index} for extra token {token} exists, skipping') + continue + self.mergeable_ranks[token] = index + # the index may be sparse after this, but don't worry tiktoken.Encoding will handle this + + enc = tiktoken.Encoding( + "Qwen", + pat_str=PAT_STR, + mergeable_ranks=self.mergeable_ranks, + special_tokens=self.special_tokens, + ) + assert ( + len(self.mergeable_ranks) + len(self.special_tokens) == enc.n_vocab + ), f"{len(self.mergeable_ranks) + len(self.special_tokens)} != {enc.n_vocab} in encoding" + + self.decoder = { + v: k for k, v in self.mergeable_ranks.items() + } # type: dict[int, bytes|str] + self.decoder.update({v: k for k, v in self.special_tokens.items()}) + + self.tokenizer = enc # type: tiktoken.Encoding + + self.eod_id = self.tokenizer.eot_token + self.im_start_id = self.special_tokens[IMSTART] + self.im_end_id = self.special_tokens[IMEND] + + def __getstate__(self): + # for pickle lovers + state = self.__dict__.copy() + del state["tokenizer"] + return state + + def __setstate__(self, state): + # tokenizer is not python native; don't pass it; rebuild it + self.__dict__.update(state) + enc = tiktoken.Encoding( + "Qwen", + pat_str=PAT_STR, + mergeable_ranks=self.mergeable_ranks, + special_tokens=self.special_tokens, + ) + self.tokenizer = enc + + def __len__(self) -> int: + return self.tokenizer.n_vocab + + def get_vocab(self) -> Dict[bytes, int]: + return self.mergeable_ranks + + def convert_tokens_to_ids( + self, tokens: Union[bytes, str, List[Union[bytes, str]]] + ) -> List[int]: + ids = [] + if isinstance(tokens, (str, bytes)): + if tokens in self.special_tokens: + return self.special_tokens[tokens] + else: + return self.mergeable_ranks.get(tokens) + for token in tokens: + if token in self.special_tokens: + ids.append(self.special_tokens[token]) + else: + ids.append(self.mergeable_ranks.get(token)) + return ids + + def _add_tokens( + self, + new_tokens: Union[List[str], List[AddedToken]], + special_tokens: bool = False, + ) -> int: + if not special_tokens and new_tokens: + raise ValueError("Adding regular tokens is not supported") + for token in new_tokens: + surface_form = token.content if isinstance(token, AddedToken) else token + if surface_form not in SPECIAL_TOKENS_SET: + raise ValueError("Adding unknown special tokens is not supported") + return 0 + + def save_vocabulary(self, save_directory: str, **kwargs) -> Tuple[str]: + """ + Save only the vocabulary of the tokenizer (vocabulary). + + Returns: + `Tuple(str)`: Paths to the files saved. + """ + file_path = os.path.join(save_directory, "qwen.tiktoken") + with open(file_path, "w", encoding="utf8") as w: + for k, v in self.mergeable_ranks.items(): + line = base64.b64encode(k).decode("utf8") + " " + str(v) + "\n" + w.write(line) + return (file_path,) + + def tokenize( + self, + text: str, + allowed_special: Union[Set, str] = "all", + disallowed_special: Union[Collection, str] = (), + **kwargs, + ) -> List[Union[bytes, str]]: + """ + Converts a string in a sequence of tokens. + + Args: + text (`str`): + The sequence to be encoded. + allowed_special (`Literal["all"]` or `set`): + The surface forms of the tokens to be encoded as special tokens in regular texts. + Default to "all". + disallowed_special (`Literal["all"]` or `Collection`): + The surface forms of the tokens that should not be in regular texts and trigger errors. + Default to an empty tuple. + + kwargs (additional keyword arguments, *optional*): + Will be passed to the underlying model specific encode method. + + Returns: + `List[bytes|str]`: The list of tokens. + """ + tokens = [] + text = unicodedata.normalize("NFC", text) + + # this implementation takes a detour: text -> token id -> token surface forms + for t in self.tokenizer.encode( + text, allowed_special=allowed_special, disallowed_special=disallowed_special + ): + tokens.append(self.decoder[t]) + return tokens + + def convert_tokens_to_string(self, tokens: List[Union[bytes, str]]) -> str: + """ + Converts a sequence of tokens in a single string. + """ + text = "" + temp = b"" + for t in tokens: + if isinstance(t, str): + if temp: + text += temp.decode("utf-8", errors=self.errors) + temp = b"" + text += t + elif isinstance(t, bytes): + temp += t + else: + raise TypeError("token should only be of type types or str") + if temp: + text += temp.decode("utf-8", errors=self.errors) + return text + + @property + def vocab_size(self): + return self.tokenizer.n_vocab + + def _convert_id_to_token(self, index: int) -> Union[bytes, str]: + """Converts an id to a token, special tokens included""" + if index in self.decoder: + return self.decoder[index] + raise ValueError("unknown ids") + + def _convert_token_to_id(self, token: Union[bytes, str]) -> int: + """Converts a token to an id using the vocab, special tokens included""" + if token in self.special_tokens: + return self.special_tokens[token] + if token in self.mergeable_ranks: + return self.mergeable_ranks[token] + raise ValueError("unknown token") + + def _tokenize(self, text: str, **kwargs): + """ + Converts a string in a sequence of tokens (string), using the tokenizer. Split in words for word-based + vocabulary or sub-words for sub-word-based vocabularies (BPE/SentencePieces/WordPieces). + + Do NOT take care of added tokens. + """ + raise NotImplementedError + + def _decode( + self, + token_ids: Union[int, List[int]], + skip_special_tokens: bool = False, + errors: str = None, + **kwargs, + ) -> str: + if isinstance(token_ids, int): + token_ids = [token_ids] + if skip_special_tokens: + token_ids = [i for i in token_ids if i < self.eod_id] + return self.tokenizer.decode(token_ids, errors=errors or self.errors) diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..1bee840 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,14 @@ +{ + "added_tokens_decoder": {}, + "auto_map": { + "AutoTokenizer": [ + "tokenization_qwen.QWenTokenizer", + null + ] + }, + "clean_up_tokenization_spaces": true, + "model_max_length": 8192, + "pad_token": "<|endoftext|>", + "tokenizer_class": "QWenTokenizer", + "use_fast": false +}