From 4a924d5afb808f74c49ec030c63a7ac2d02b28e1 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Fri, 22 May 2026 09:12: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: FlagRelease/Qwen2-7B-FlagOS-Arm Source: Original Platform --- .DS_Store | Bin 0 -> 6148 bytes .gitattributes | 51 +++++ .msc | Bin 0 -> 1078 bytes .mv | 1 + LICENSE | 202 ++++++++++++++++++ README.md | 95 +++++++++ config.json | 27 +++ configuration.json | 1 + generation_config.json | 14 ++ image/group.png | Bin 0 -> 62124 bytes 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 +++++++++++++++++++++++++++++++ tokenizer.json | 3 + tokenizer_config.json | 40 ++++ vocab.json | 3 + 19 files changed, 798 insertions(+) create mode 100644 .DS_Store create mode 100644 .gitattributes create mode 100644 .msc create mode 100644 .mv create mode 100644 LICENSE create mode 100644 README.md create mode 100644 config.json create mode 100644 configuration.json create mode 100644 generation_config.json create mode 100644 image/group.png 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 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 vocab.json diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7b1552989fd7527ea044ee782b25f9b897284b78 GIT binary patch literal 6148 zcmeHKTS~(~6g^`LN<|St@k22iP^`LuSnY=({&WFqTP@YvK$A-GEC24nEr^S8F@EW} zGovO`1Eqq9%q@4$WODDB^kg0x0ID`@SAit}b9BLSg~c}}_r=F-#nbE@*cI>apdPMEMTK35oQ;jP|CiK2u4+n_z{4<@2_;;t~f0>AXZ(9D+ z;Y9rVQ}aJN{OcM03lygEUFt3GXjC)`%bO1GBHvPk8~vubxF-&Za`mWt%*=w7Z*nIZ zzmU0*WvbwgPtoGIX%_Y_qd1$x%O4o`Y_Yj{gTC|%cm=!yp9;wO5YPofi>X1qbgiRk;4Q2V xviBurO-9q-<3-9nR1NE;u3nZyUoCaJ$WDqSJpCO%JZ)Rc6)O1`D*g*9_@8Q;Plf;h literal 0 HcmV?d00001 diff --git a/.mv b/.mv new file mode 100644 index 0000000..9f739fc --- /dev/null +++ b/.mv @@ -0,0 +1 @@ +Revision:master,CreatedAt:1740572143 \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..cc375d9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2024 Alibaba Cloud + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..aaf570c --- /dev/null +++ b/README.md @@ -0,0 +1,95 @@ +# Introduction + +Qwen2-7B-FlagOS-Arm provides an all-in-one deployment solution, enabling execution of arm-Qwen2-7B on Amazon . As the first-generation release for the Amazon Graviton4 CPUs, this package delivers two key features: + +1. Comprehensive Integration: + - Integrated with FlagScale (https://github.com/FlagOpen/FlagScale). + - Open-source inference execution code, preconfigured with all necessary software and hardware settings. + - Pre-built Docker image for rapid deployment on Amazon . +3. Consistency Validation: + - Evaluation tests verifying consistency of results between the official and ours. + +# Technical Summary + +## Serving Engine + +We use FlagScale as the serving engine to improve the portability of distributed inference. + +FlagScale is an end-to-end framework for large models across multiple chips, maximizing computational resource efficiency while ensuring model effectiveness. It ensures both ease of use and high performance for users when deploying models across different chip architectures: + +- One-Click Service Deployment: FlagScale provides a unified and simple command execution mechanism, allowing users to fast deploy services seamlessly across various hardware platforms using the same command. This significantly reduces the entry barrier and enhances user experience. +- Automated Deployment Optimization: FlagScale automatically optimizes distributed parallel strategies based on the computational capabilities of different AI chips, ensuring optimal resource allocation and efficient utilization, thereby improving overall deployment performance. +- Automatic Operator Library Switching: Leveraging FlagScale's unified Runner mechanism and deep integration with FlagGems, users can seamlessly switch to the FlagGems operator library for inference by simply adding environment variables in the configuration file. + +## Triton Support + +We validate the execution of arm-Qwen2-7B model with a Triton-based operator library as a PyTorch alternative. + +We use a variety of Triton-implemented operation kernels to run the arm-Qwen2-7B model. These kernels come from two main sources: + +- Most Triton kernels are provided by FlagGems (https://github.com/FlagOpen/FlagGems). You can enable FlagGems kernels by setting the environment variable USE_FLAGGEMS. + +- Also included are Triton kernels from vLLM, such as fused MoE. + +# Evaluation Results + +## Benchmark Result + +| Metrics | Qwen2-7B-H100-CUDA | Qwen2-7B-FlagOS-Arm | +|:-------------------|--------------------------|-----------------------------| +| mmlu |0.700 | 0.687 | + +Qwen2-7B is a pre-o1 model without "thinking" or "reasoning" abilities. We use MMLU instead of AIME or GPQA-diamond to evaluate Qwen2-7B + +# How to Run Locally +## 📌 Getting Started +### Download the FlagOS image + +```bash +docker pull flagrelease-registry.cn-beijing.cr.aliyuncs.com/flagrelease/flagrelease:flagrelease-arm +``` + +### Download open-source weights + +```bash +pip install modelscope +modelscope download --model Qwen/Qwen2-7B-Instruct --local_dir /nfs/Qwen/Qwen2-7B-Instruct +``` + +### Start the inference service + +```bash +docker run --rm --init --detach \ + --net=host --uts=host --ipc=host \ + --security-opt=seccomp=unconfined \ + --privileged=true \ + --ulimit stack=67108864 \ + --ulimit memlock=-1 \ + --ulimit nofile=1048576:1048576 \ + --shm-size=32G \ + -v /nfs:/nfs \ + --gpus all \ + --name flagos \ + flagrelease-registry.cn-beijing.cr.aliyuncs.com/flagrelease/flagrelease:flagrelease-arm \ + sleep infinity + +docker exec -it flagos bash +``` + +### Serve + +```bash +flagscale serve Qwen2-7B-Instruct +``` + +# Contributing + +We warmly welcome global developers to join us: +1. Submit Issues to report problems +2. Create Pull Requests to contribute code +3. Improve technical documentation +4. Expand hardware adaptation support + +# License + +本模型的权重来源于Qwen/Qwen3-4B,以apache2.0协议https://www.apache.org/licenses/LICENSE-2.0.txt开源。 \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..ae681ed --- /dev/null +++ b/config.json @@ -0,0 +1,27 @@ +{ + "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_theta": 1000000.0, + "sliding_window": 131072, + "tie_word_embeddings": false, + "torch_dtype": "bfloat16", + "transformers_version": "4.41.2", + "use_cache": true, + "use_sliding_window": false, + "vocab_size": 152064 +} diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..f9291c3 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework":"Pytorch","task":"text-generation"} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..0eb3c53 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,14 @@ +{ + "bos_token_id": 151643, + "pad_token_id": 151643, + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "repetition_penalty": 1.05, + "temperature": 0.7, + "top_p": 0.8, + "top_k": 20, + "transformers_version": "4.37.0" +} diff --git a/image/group.png b/image/group.png new file mode 100644 index 0000000000000000000000000000000000000000..0cfccf22ad571e82dbf9efdcbf7712213d850a39 GIT binary patch literal 62124 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%0D~UA&@!aFB0MQci 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 E2efAUV*mgE literal 0 HcmV?d00001 diff --git a/merges.txt b/merges.txt new file mode 100644 index 0000000..7ce1d95 --- /dev/null +++ b/merges.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3 +size 1671839 diff --git a/model-00001-of-00004.safetensors b/model-00001-of-00004.safetensors new file mode 100644 index 0000000..f645933 --- /dev/null +++ b/model-00001-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26d9919262ccd063fcdfd926763fe9025ef1e3073767aaa8c83a375d7c5140c4 +size 3945426872 diff --git a/model-00002-of-00004.safetensors b/model-00002-of-00004.safetensors new file mode 100644 index 0000000..c0667f8 --- /dev/null +++ b/model-00002-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5bb99fdadcac55c2c176497ec99f088a1764e78ed986fa4a0d45d12426ef0fa +size 3864726352 diff --git a/model-00003-of-00004.safetensors b/model-00003-of-00004.safetensors new file mode 100644 index 0000000..810a052 --- /dev/null +++ b/model-00003-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b749a4446d7cda007d5e7bd9f908849d08d89867192d4c039dc167e9ab5a02e +size 3864726408 diff --git a/model-00004-of-00004.safetensors b/model-00004-of-00004.safetensors new file mode 100644 index 0000000..f971a33 --- /dev/null +++ b/model-00004-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da724bb7d3c3512eb371aa6caa5bcc08d78bda84f94e00ae9a9b2124e3e9c62f +size 3556392240 diff --git a/model.safetensors.index.json b/model.safetensors.index.json new file mode 100644 index 0000000..4bf699d --- /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-00003-of-00004.safetensors", + "model.layers.14.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.14.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.14.post_attention_layernorm.weight": "model-00003-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-00003-of-00004.safetensors", + "model.layers.15.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.15.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.15.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.15.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.15.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.16.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.17.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.weight": "model-00003-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-00003-of-00004.safetensors", + "model.layers.18.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.weight": "model-00003-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-00004-of-00004.safetensors", + "model.layers.22.mlp.down_proj.weight": "model-00004-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-00004-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-00004-of-00004.safetensors", + "model.layers.23.mlp.down_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.23.mlp.gate_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.23.mlp.up_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.23.post_attention_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.23.self_attn.o_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.24.input_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.24.mlp.down_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.24.mlp.gate_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.24.mlp.up_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.24.post_attention_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.24.self_attn.o_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.25.input_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.25.mlp.down_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.25.mlp.gate_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.25.mlp.up_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.25.post_attention_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.25.self_attn.o_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.26.input_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.26.mlp.down_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.26.mlp.gate_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.26.mlp.up_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.26.post_attention_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.26.self_attn.o_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.input_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.27.mlp.down_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.mlp.gate_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.mlp.up_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.post_attention_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.o_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.weight": "model-00004-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-00002-of-00004.safetensors", + "model.layers.6.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.post_attention_layernorm.weight": "model-00002-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-00002-of-00004.safetensors", + "model.layers.7.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.weight": "model-00002-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-00002-of-00004.safetensors", + "model.layers.8.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.weight": "model-00002-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-00004-of-00004.safetensors" + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..611910f --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7c9b2dba4a296b1aa76c16a34b8225c0c118978400d4bb66bff0902d702f5b8 +size 7028015 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..428f592 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,40 @@ +{ + "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 + } + }, + "additional_special_tokens": ["<|im_start|>", "<|im_end|>"], + "bos_token": null, + "chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}", + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "model_max_length": 131072, + "pad_token": "<|endoftext|>", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +} diff --git a/vocab.json b/vocab.json new file mode 100644 index 0000000..6c49fc6 --- /dev/null +++ b/vocab.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910 +size 2776833