From aa754a9035d20c63ebf1a64a69e92e0ce6731092 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Tue, 14 Apr 2026 16:17:00 +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: kakaocorp/kanana-2-30b-a3b-instruct-2601 Source: Original Platform --- .gitattributes | 63 + LICENSE | 73 ++ README.md | 692 ++++++++++ assets/logo/kanana.png | Bin 0 -> 109633 bytes chat_template.jinja | 85 ++ config.json | 48 + configuration.json | 1 + generation_config.json | 7 + model-00001-of-00013.safetensors | 3 + model-00002-of-00013.safetensors | 3 + model-00003-of-00013.safetensors | 3 + model-00004-of-00013.safetensors | 3 + model-00005-of-00013.safetensors | 3 + model-00006-of-00013.safetensors | 3 + model-00007-of-00013.safetensors | 3 + model-00008-of-00013.safetensors | 3 + model-00009-of-00013.safetensors | 3 + model-00010-of-00013.safetensors | 3 + model-00011-of-00013.safetensors | 3 + model-00012-of-00013.safetensors | 3 + model-00013-of-00013.safetensors | 3 + model.safetensors.index.json | 3 + tokenizer.json | 3 + tokenizer_config.json | 2063 ++++++++++++++++++++++++++++++ 24 files changed, 3077 insertions(+) create mode 100644 .gitattributes create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/logo/kanana.png create mode 100644 chat_template.jinja create mode 100644 config.json create mode 100644 configuration.json create mode 100644 generation_config.json create mode 100644 model-00001-of-00013.safetensors create mode 100644 model-00002-of-00013.safetensors create mode 100644 model-00003-of-00013.safetensors create mode 100644 model-00004-of-00013.safetensors create mode 100644 model-00005-of-00013.safetensors create mode 100644 model-00006-of-00013.safetensors create mode 100644 model-00007-of-00013.safetensors create mode 100644 model-00008-of-00013.safetensors create mode 100644 model-00009-of-00013.safetensors create mode 100644 model-00010-of-00013.safetensors create mode 100644 model-00011-of-00013.safetensors create mode 100644 model-00012-of-00013.safetensors create mode 100644 model-00013-of-00013.safetensors create mode 100644 model.safetensors.index.json create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..0a14891 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +*.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 +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text + +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.gguf* filter=lfs diff=lfs merge=lfs -text +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text + +model-00001-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00008-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00009-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00002-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00012-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00013-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00005-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00006-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00007-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00003-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00004-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model.safetensors.index.json filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text +model-00011-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text +model-00010-of-00013.safetensors filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1d6566a --- /dev/null +++ b/LICENSE @@ -0,0 +1,73 @@ +KANANA LICENSE AGREEMENT + +Kanana Release Date: July 17, 2025 + +This KANANA LICENSE AGREEMENT (this “Agreement”) is made by and between you and Kakao Corp. (“KAKAO”) that governs your use of Kanana Materials that KAKAO provides to you. +By using, copying, modifying, distributing, performing, or displaying all or part of Kanana Materials, or otherwise accepting the terms and conditions of this Agreement, you agree to be bound by this Agreement. You hereby represent and warrant that (i) you are legally authorized to enter into this Agreement, and (ii) if you are entering into this Agreement on behalf of a legal entity, you have the authority to legally and validly bind such entity. + +1. Definition + 1.1 “Agreement” means the terms and conditions for use, copying, distribution and modification of Kanana Materials as set forth herein. + 1.2 “KAKAO” means Kakao Corp. + 1.3 “You” means an individual or legal entity that enters into this Agreement with KAKAO and exercises its rights hereunder or uses Kanana Materials for any purpose. If you enter into this Agreement on behalf of a legal entity, “you” shall include such entity. + 1.4 “Kanana” means the basic large-scale language model, software, and algorithms distributed by KAKAO under this Agreement, including parameters (such as Model Weights and optimizer status), machine learning model codes, inference/learning/fine-tuning codes, and other related elements. + 1.5 “Documentation” means the specifications, manuals, and other documentation accompanying Kanana distributed by KAKAO. + 1.6 “Kanana Materials” means, collectively, Kanana and Documentation, including any portions or components thereof. + 1.7 “Outputs” means information content generated by operating or otherwise using Kanana Materials. + 1.8 “Derivative Works” means (i) any modifications to Kanana, (ii) any work of authorship based on Kanana, or (iii) any other designed machine learning models that either directly use the patterns of Model Weights, parameters, operations, and/or outputs or incorporate a substantial part of Kanana’s performance or functional characteristics through methods including, but not limited to, transfer learning, fine-tuning, or knowledge distillation. This includes distillation methods using Kanana’s intermediate data representations or a method based on the synthetic data outputs generated by Kanana; provided, however, that Outputs shall not be deemed to be Derivative Works. + 1.9 “Model Weights” means a set of numerical parameter values generated during Kanana’s learning process, representing the result of substantial investment and effort by KAKAO. + +2. Grant of License and Use Policy + 2.1 Grant of License. Subject to the terms and conditions of this Agreement, you are granted a non-exclusive, worldwide, non-transferrable, royalty-free limited license under KAKAO’s intellectual property or other rights owned by KAKAO that enables you to access, download, install, copy, use, reproduce, distribute, create Derivative Works of, and make modifications to Kanana Materials. + 2.2 Policy on Prohibited Use. Your use of Kanana Materials and Derivative Works must comply with applicable laws and regulations and adhere to KAKAO’s Guidelines For Responsible AI (https://www.kakaocorp.com/page/responsible/detail/guidelinesForResponsibleAI), which is hereby incorporated into this Agreement. + 2.3 This Agreement applies solely to Kanana-*** and shall not apply to any other models distributed by KAKAO under separate licenses. Licenses applicable to such other models shall not apply to Kanana-***. + 2.4 The license terms applicable to a specific version of Kanana applies exclusively to that version and shall not extend to any other versions. Each version shall be deemed as an independent and separate work of authorship. + 2.5 You may use each version of Kanana only in accordance with the license terms expressly specified for that version, and you shall not claim that the license terms applicable to one version apply to any other version. + 2.6 You shall not combine different versions of Kanana versions that are subject to different license terms in order to circumvent any applicable license terms. + +3. Redistribution + 3.1 You may copy, distribute or disclose Kanana, Derivative Works, or any products or services that contain Kanana or Derivative Works; provided, however, that you shall: + (i) incorporate the compliance obligation set forth in the Policy on Prohibited Use provision of Section 2.2 in any agreement for use and distribution and notify subsequent users that such use restrictions apply; + (ii) provide any recipients of Kanana Materials or Derivative Works a copy of this Agreement; + (iii) expressly indicate in any files you have modified that it has been modified by you; + (iv) include a “Notice” text file that includes the following notice: + “Kanana is licensed in accordance with the Kanana License Agreement. Copyright © KAKAO Corp. All Rights Reserved.”; and + (v) clearly display the phrase “Powered by Kanana” on related websites, user interfaces, blog posts, introduction pages, or product documentation in a manner that is easily recognizable to users. In addition, if you use Kanana Materials or their outputs to create, train, improve, or enhance other AI models and distribute them, you must include ‘Kanana’ as a prefix to the name of such AI models. + 3.2 You may add your own copyright statement to your modifications of Kanana Materials and may provide additional or different license terms and conditions; provided, however, that such additional or different license terms and conditions shall not violate or conflict with any provisions of this Agreement. + +4. Additional Commercial Terms + 4.1 If you wish to engage in any of the following activities using Kanana Materials or any Derivative Works, you must obtain a separate commercial license expressly granted by KAKAO: + (i) Offering or (re)selling to third parties access to Kanana Materials or any Derivative Works through API, cloud platforms, or other remote access services; + (ii) Offering or (re)selling to third parties Kanana Materials or any Derivative Works in whole or in part, as part of a system integration (SI) or on-premise deployment solution; or + (iii) Offering or (re)selling to third parties Kanana Materials or any Derivative Works embedded in an on-device domains. + 4.2 If, as of Kanana Release Date, the number of monthly active users of the products or services provided by you and/or your affiliates, is greater than 10 million in the preceding calendar month, you must obtain a separate commercial license expressly granted by KAKAO. + 4.3 For clarity, unless your activities or conditions fall within those specified in Sections 4.1 and 4.2 above, you may use Kanana Materials or any Derivative Works for the development and operation of your own services without obtaining a commercial license from KAKAO. + 4.4 The grant of any commercial license under Sections 4.1 and 4.2 shall be at KAKAO’s sole discretion + +5. Outputs +KAKAO will not claim any rights to Outputs you generate using Kanana Materials. You shall be solely responsible for Outputs and the use thereof. + +6. Disclaimer of Warranty +Unless required by law, Kanana Materials are provided on an “AS IS” basis, and KAKAO disclaims all warranties of any kind, both express and implied, including, without limitation, any warranties of title, non-infringement, merchantability, or fitness for a particular purpose. + +7. Limitation on Liability +Unless required by law, in no event shall KAKAO be liable to you for damages, including any direct, indirect, special, consequential, incidental, and punitive damages of any character arising out of the use or inability to use Kanana Materials, Derivative Works, or Outputs, even if KAKAO has been advised of the possibility of such damages. + +8. Indemnification +You shall indemnify and hold KAKAO harmless from and against any and all claims that may be filed by a third party as a result of your infringement of any third party’s rights or violation of any applicable law, to the extent caused by your use or distribution of Kanana Materials, Derivative Works, or Outputs; provided, however, that the foregoing shall not apply to claims resulting from KAKAO’s willful or gross negligence. + +9. Intellectual Property + 9.1 This Agreement does not grant you any rights to use KAKAO’s trademarks, service marks, or product names. However, on a limited basis and solely for the purpose of complying with Section 3.1(v), KAKAO authorizes you to use the Kanana trademark, provided that KAKAO may require you to discontinue such use at any time if you impair the value of the Kanana trademark. + 9.2 KAKAO retains ownership of Kanana Materials and Derivative Works created by KAKAO, but you will retain ownership of any Derivative Works and modifications made by you. + 9.3 If you bring any legal action or proceeding against KAKAO or a third party alleging that the Kanana Materials, Derivative Works, or Outputs infringe your intellectual property rights, your rights under this Agreement shall automatically terminate as of the date such action is filed. + 9.4 You acknowledge that Model Weights are a valuable asset of KAKAO. You shall not extract, copy, distribute, modify Model Weights or use them to train new models, except as expressly permitted under this Agreement. + 9.5 The protections under this Agreement apply to all components of Kanana Materials (irrespective of whether it is recognized as a work of authorship), including, but not limited to, Model Weights, parameters, algorithms, or structures. You may exercise your rights in these components only to the extent expressly permitted under this Agreement. + +10. Term and Termination +The term of this Agreement will commence upon your acceptance of this Agreement or access to Kanana Materials and will continue in full force and effect until terminated in accordance with the terms and conditions herein. KAKAO may terminate this Agreement if you are in breach of any term or condition of this Agreement. Upon termination of this Agreement, you shall delete and cease use of Kanana Materials and Derivative Works. Sections 5, 6, 7, 8, 10 and 11 shall survive the termination of this Agreement. + +11. Governing Law and Arbitration + 11.1 This Agreement will be governed and construed under the laws of the Republic of Korea, without regard to its conflicts of laws principles. + 11.2 Any disputes arising out of or in connection with this Agreement shall be finally settled by arbitration in accordance with the International Arbitration Rules of the Korean Commercial Arbitration Board. The number of arbitrators shall be one. The seat, or legal place, of arbitral proceedings shall be Seoul, Republic of Korea. The language to be used in the arbitral proceedings shall be English. Either party may seek interim or provisional relief from a court of competent jurisdiction, which shall not be considered a waiver of any provision in this Section. The arbitral tribunal also has the authority to issue orders for interim or provisional relief. + +12. No Waiver +KAKAO’s failure or delay in exercising any of its rights under this Agreement shall not constitute a waiver of such rights. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e49edcd --- /dev/null +++ b/README.md @@ -0,0 +1,692 @@ +--- +library_name: transformers +license_name: "kanana" +license_link: LICENSE +pipeline_tag: text-generation +model_id: kakaocorp/kanana-2-30b-a3b-instruct-2601 +repo: kakaocorp/kanana-2-30b-a3b-instruct-2601 +developers: Kanana LLM +base_model: +- kakaocorp/kanana-2-30b-a3b-mid-2601 +--- + +

+ Kanana +

+ +

+ 🤗 HF Models   |   + 📕 Pre-Training Blog   |   + 📕 Post-Training Blog   |   + 📕 Teaser Blog   +

+

+ +## News 🔥 + +- `2026/01/15`: 🤗 Released `kanana-2-30b-a3b-2601` HF model weights. +- `2026/01/15`: 📕 Published blog posts ([pre-training](https://tech.kakao.com/posts/807), [post-training](https://tech.kakao.com/posts/808)) about the development of `Kanana-2` models. +- `2025/12/19`: 🤗 Released `kanana-2-30b-a3b` HF model weights and publised a [teaser blog](https://tech.kakao.com/posts/804). + +
+ +# Kanana-2 Highlights + +**Kanana-2**, the latest open-source evolution of the Kanana model family, is designed specifically for **Agentic AI**, presenting substantial enhancements in **tool calling, complex instruction following, and logical reasoning**. This new version adopts a cutting-edge architecture featuring MLA (Multi-head Latent Attention) and MoE (Mixture of Experts). These innovations allow the model to utilize significantly fewer active parameters compared to the previous 32.5B model while delivering superior performance and ensuring high throughput. Furthermore, the model **natively supports context lengths of up to 32,768 tokens**, enabling it to maintain coherence when handling extensive documents or long-context interactions. + +In addition, Kanana-2 now supports 6 languages, covering **Korean, English, Japanese, Chinese, Thai, and Vietnamese**. To support this expansion, Kanana-2 utilizes a newly trained tokenizer that demonstrates superior tokenization efficiency across these languages, including an improvement of over 30% specifically for Korean. Finally, to address advanced problem-solving needs, Kanana-2 introduces **reasoning models** capable of deliberate thinking and reasoning, achieving significantly enhanced performance in downstream tasks, especially when tackling hard problems. + +> [!NOTE] +> No Kakao user data was used for either pre-training or post-training. + +
+ +## Model Overview + +**kanana-2-30b-a3b** series has the following features: +- Total Parameters: 30B +- Activated Parameters: 3B +- Number of Layers: 48 +- Number of Dense Layers: 1 +- Number of Experts: 128 +- Number of Selected Experts: 6 +- Number of Shared Experts: 2 +- Attention Mechanism: MLA +- Vocabulary Size: 128256 +- Context Length: 32,768 + +
+ +## Model Downloads + +
+ +| **Model** | **Download** | +| :------------: | :------------: | +| kanana-2-30b-a3b-base-2601* | [🤗 HuggingFace](https://huggingface.co/kakaocorp/kanana-2-30b-a3b-base-2601) | +| kanana-2-30b-a3b-mid-2601* | [🤗 HuggingFace](https://huggingface.co/kakaocorp/kanana-2-30b-a3b-mid-2601) | +| kanana-2-30b-a3b-instruct-2601 | [🤗 HuggingFace](https://huggingface.co/kakaocorp/kanana-2-30b-a3b-instruct-2601) | +| kanana-2-30b-a3b-thinking-2601 | [🤗 HuggingFace](https://huggingface.co/kakaocorp/kanana-2-30b-a3b-thinking-2601) | + + +* We are releasing the kanana-2-30b-a3b-base-2601 (prior to mid-training) checkpoint to contribute to the research community.
+  Note: kanana-2-30b-a3b-mid-2601 is identical to kanana-2-30b-a3b-base. +
+ +
+ +
+ +## Performance + +### Base model evaluation results + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BenchmarkMetricShotkanana-2-30b-a3b-mid-2601kanana-2-30b-a3b-base-2601kanana-1.5-32.5b-baseQwen3-30B-A3B-Base*
General Tasks
MMLUacc575.4474.8376.7681.14
MMLU-Proacc556.1452.6152.4061.83
BBHacc379.7676.4681.5479.97
SimpleQAacc529.7029.1326.9526.47
Mathematics Tasks
MATHem454.4048.8647.6862.58
GSM8Kem882.7176.5785.1488.10
Coding Tasks
HumanEvalpass@1075.2971.3475.5953.32
MBPPpass@1362.3960.2165.9672.58
Korean Tasks
KMMLUacc562.1561.9861.5662.25
KoSimpleQAacc549.7049.4045.7026.33
HAE-RAE Bench (v1.0)acc588.7388.9190.6572.04
MATH-Koem454.0745.5847.4258.20
GSM8K-Koem877.4870.4381.4388.10
MBPP-Ko§pass@1361.5557.2965.4166.84
Long Context Tasks
RULER-4Kacc093.0992.4986.3994.32
RULER-8Kacc092.2992.1490.1692.16
RULER-16Kacc090.7390.0185.8891.28
RULER-32Kacc088.6387.9281.6288.32
+ + +* Evaluated using an internal evaluation toolkit.
+ Evaluated in Multiple Choice Question Answering (MCQA) format with 10 options.
+ Subsets from HRM8K (MATH, GSM8K).
+§ Internally translated to Korean. +
+ +
+ +### Instruct model evaluation results + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BenchmarkMetrickanana-2-30b-a3b-instruct-2601kanana-2-30b-a3b-instructkanana-1.5-32.5b-instructQwen3-30B-A3B-Instruct-2507*Qwen3-30B-A3B
(non-thinking)*
Chat
MT-Benchjudge8.308.428.238.718.38
KoMT-Benchjudge8.218.247.948.497.89
Instruction Following
IFEvalprompt strict87.2584.4779.4882.6284.10
IFBenchprompt strict48.3041.8438.7830.2729.25
Multi-IF (EN)acc77.8875.8168.5177.9381.03
Multi-Challengeacc35.1634.8019.0541.7627.84
Tool Calling
BFCL-v3
(Live)
pass@176.6674.3068.7473.9369.14
BFCL-v3
(Multi-Turn)
pass@138.6335.3811.3838.7711.88
Code Generation
HumanEval+pass@181.1079.8879.8886.5987.20
MBPP+pass@173.0273.8171.9675.1375.13
Mathematics
GSM8Kem93.1091.8991.5893.5693.33
MATHacc88.5686.2677.9290.9687.20
Reasoning & Knowledge
MMLUem81.6180.8082.7587.1385.60
KMMLUem68.2667.3265.7567.5663.49
GPQA Diamondpass@152.5342.9342.4254.5550.51
HAERAE-Bench (v1.0)em75.5775.5765.3453.4157.39
+ + +* Evaluated using an internal evaluation toolkit.
+ Evaluated using gpt-4o-2024-08-06 as the judge model.
+ Live denotes the average score of 6 live benchmarks, and Multi-Turn denotes the average score of 4 multi-turn benchmarks. +
+ +
+ +### Reasoning model evaluation results + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BenchmarkMetrickanana-2-30b-a3b-thinking-2601kanana-2-30b-a3b-thinkingQwen3-30B-A3B-Thinking-2507*Qwen3-30B-A3B
(thinking)*
Reasoning & Knowledge
MMLU-Propass@174.275.380.878.5
GPQA Diamondpass@157.861.370.662.6
Competition Math
AIME 2025pass@174.072.782.370.7
AIME 2024pass@179.078.391.082.7
AIME 2024-Kopass@175.025.380.372.3
Code Generation
LiveCodeBenchpass@158.860.868.362.3
LiveCodeBench-Kopass@151.29.466.361.5
Instruction Following
IFEvalprompt strict82.282.287.886.1
IFBenchprompt strict47.842.347.636.7
Tool Calling
BFCL-v3
(Live§)
pass@175.975.682.980.3
BFCL-v3
(Multi-Turn§)
pass@143.734.353.635.6
+ + +* Evaluated using an internal evaluation toolkit.
+ Korean translation of AIME 2024 sourced from MCLM.
+ Internally translated to Korean.
+§ Live denotes the average score of 6 live benchmarks, and Multi-Turn denotes the average score of 4 multi-turn benchmarks.
+ Most responses were generated in English. +
+ +
+ +## Deployment + +> [!NOTE] +> For optimal results with the reasoning model, please adhere to the default parameters: `temperature=0.6`, `top_p=0.95`, `top_k=20`. **We strongly advise against greedy decoding**, as it may lead to performance degradation and infinite repetition loops. + +### vLLM +[vLLM](https://github.com/vllm-project/vllm) is a fast and memory-optimized engine designed for high-performance LLM inference and serving. + +For kanana-2-30b-a3b-instruct-2601, +```shell +vllm serve kakaocorp/kanana-2-30b-a3b-instruct-2601 --enable-auto-tool-choice --tool-call-parser hermes +``` + +For kanana-2-30b-a3b-thinking-2601, +```shell +vllm serve kakaocorp/kanana-2-30b-a3b-thinking-2601 --reasoning-parser deepseek_r1 --enable-auto-tool-choice --tool-call-parser hermes +``` + +### SGLang +[SGLang](https://github.com/sgl-project/sglang) is a high-efficiency framework for serving LLMs and VLMs, enabling easy deployment of OpenAI-compatible API servers. + +For kanana-2-30b-a3b-instruct-2601, +```shell +python3 -m sglang.launch_server --model-path kakaocorp/kanana-2-30b-a3b-instruct-2601 --tool-call-parser qwen +``` + +For kanana-2-30b-a3b-thinking-2601, +```shell +python3 -m sglang.launch_server --model-path kakaocorp/kanana-2-30b-a3b-thinking-2601 --reasoning-parser deepseek-r1 --tool-call-parser qwen +``` + +
+ +## Processing 32K+ Length +Currently, the `config.json` uploaded to HuggingFace is configured for token lengths of 32,768 or less. To process tokens beyond this length, YaRN must be applied. By updating the `config.json` with the following parameters, you can apply YaRN to handle token sequences up to 128K in length: +```json +"rope_scaling": { + "beta_fast": 32, + "beta_slow": 1, + "factor": 4.0, + "mscale": 1.0, + "mscale_all_dim": 1.0, + "original_max_position_embeddings": 32768, + "type": "yarn", +}, +``` + +Passing command line arguments for deployment: + +- `vllm` + ```shell + vllm serve ... --hf-overrides '{"max_position_embeddings": 131072, "rope_scaling": {"rope_type":"deepseek_yarn","factor":4.0,"beta_fast":32,"beta_slow":1,"mscale":1.0,"mscale_all_dim":1.0,"original_max_position_embeddings":32768}}' + ``` + +- `sglang` + ```shell + python3 -m sglang.launch_server ... --json-model-override-args '{"max_position_embeddings":131072, "rope_scaling":{"rope_type":"deepseek_yarn","factor":4.0,"beta_fast":32,"beta_slow":1,"mscale":1.0,"mscale_all_dim":1.0,"original_max_position_embeddings":32768}}' + ``` + +> [!NOTE] +> Most leading open-source implementations of static YaRN apply a constant scaling factor, which can negatively impact performance on shorter texts. To ensure optimal performance: +> * **Enable `rope_scaling` only when necessary** for processing long contexts. +> * **Adjust the `factor` based on your specific needs** (e.g., set `factor` to 2.0 for a 65,536-token context)." + +
+ +## License + +The model weights are released under the [Kanana License](./LICENSE). + +
+ +## Citation + +``` +@article{, + title={Kanana-2 LLM}, + author={Kanana LLM}, + year={2025}, + url={https://huggingface.co/collections/kakaocorp/kanana-2} +} +``` + +
+ +## Contact +- Kanana LLM Team Technical Support: kanana-llm@kakaocorp.com +- Business & Partnership Contact: alpha.k@kakaocorp.com diff --git a/assets/logo/kanana.png b/assets/logo/kanana.png new file mode 100644 index 0000000000000000000000000000000000000000..ea737d49a62e764c4d499b4b9ff599beedbb3fca GIT binary patch literal 109633 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

+;KgsZ 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 Bp1S}5 literal 0 HcmV?d00001 diff --git a/chat_template.jinja b/chat_template.jinja new file mode 100644 index 0000000..1be8f88 --- /dev/null +++ b/chat_template.jinja @@ -0,0 +1,85 @@ +{%- if not add_generation_prompt is defined %} + {%- set add_generation_prompt = false %} +{%- endif %} +{%- if tools %} + {{- '<|im_start|>system\n' }} + {%- if messages[0].role == 'system' %} + {{- messages[0].content + '\n\n' }} + {%- endif %} + {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within XML tags:\n" }} + {%- for tool in tools %} + {{- "\n" }} + {{- tool | tojson }} + {%- endfor %} + {{- "\n\n\nFor each function call, return a json object with function name and arguments within XML tags:\n\n{\"name\": , \"arguments\": }\n<|im_end|>\n" }} +{%- else %} + {%- if messages[0].role == 'system' %} + {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }} + {%- endif %} +{%- endif %} +{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %} +{%- for message in messages[::-1] %} + {%- set index = (messages|length - 1) - loop.index0 %} + {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('') and message.content.endswith('')) %} + {%- set ns.multi_step_tool = false %} + {%- set ns.last_query_index = index %} + {%- endif %} +{%- endfor %} +{%- for message in messages %} + {%- if message.content is string %} + {%- set content = message.content %} + {%- else %} + {%- set content = '' %} + {%- endif %} + {%- if (message.role == "user") or (message.role == "system" and not loop.first) %} + {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }} + {%- elif message.role == "assistant" %} + {%- set reasoning_content = '' %} + {%- if message.reasoning_content is string %} + {%- set reasoning_content = message.reasoning_content %} + {%- else %} + {%- if '' in content %} + {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %} + {%- set content = content.split('')[-1].lstrip('\n') %} + {%- endif %} + {%- endif %} + {%- if loop.index0 > ns.last_query_index and (loop.last or reasoning_content) and reasoning_content|trim != '' %} + {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content.strip('\n') + '\n\n\n' + content.lstrip('\n') }} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- if message.tool_calls %} + {%- for tool_call in message.tool_calls %} + {%- if (loop.first and content) or (not loop.first) %} + {{- '\n' }} + {%- endif %} + {%- if tool_call.function %} + {%- set tool_call = tool_call.function %} + {%- endif %} + {{- '\n{"name": "' }} + {{- tool_call.name }} + {{- '", "arguments": ' }} + {%- if tool_call.arguments is string %} + {{- tool_call.arguments }} + {%- else %} + {{- tool_call.arguments | tojson }} + {%- endif %} + {{- '}\n' }} + {%- endfor %} + {%- endif %} + {{- '<|im_end|>\n' }} + {%- elif message.role == "tool" %} + {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %} + {{- '<|im_start|>user' }} + {%- endif %} + {{- '\n\n' }} + {{- content }} + {{- '\n' }} + {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %} + {{- '<|im_end|>\n' }} + {%- endif %} + {%- endif %} +{%- endfor %} +{%- if add_generation_prompt %} + {{- '<|im_start|>assistant\n' }} +{%- endif %} \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..917f8d3 --- /dev/null +++ b/config.json @@ -0,0 +1,48 @@ +{ + "architectures": [ + "DeepseekV3ForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": 128000, + "dtype": "bfloat16", + "eos_token_id": 128010, + "first_k_dense_replace": 1, + "head_dim": 64, + "hidden_act": "silu", + "hidden_size": 2048, + "initializer_range": 0.02, + "intermediate_size": 6144, + "kv_lora_rank": 512, + "max_position_embeddings": 32768, + "model_type": "deepseek_v3", + "moe_intermediate_size": 768, + "moe_layer_freq": 1, + "n_group": 1, + "n_routed_experts": 128, + "n_shared_experts": 2, + "norm_topk_prob": true, + "num_attention_heads": 32, + "num_experts_per_tok": 6, + "num_hidden_layers": 48, + "num_key_value_heads": 32, + "pad_token_id": 128001, + "pretraining_tp": 1, + "q_lora_rank": null, + "qk_head_dim": 192, + "qk_nope_head_dim": 128, + "qk_rope_head_dim": 64, + "rms_norm_eps": 1e-06, + "rope_interleave": true, + "rope_scaling": null, + "rope_theta": 1000000, + "routed_scaling_factor": 2.448, + "scoring_func": "sigmoid", + "tie_word_embeddings": false, + "topk_group": 1, + "topk_method": "noaux_tc", + "transformers_version": "4.57.3", + "use_cache": true, + "v_head_dim": 128, + "vocab_size": 128256 +} 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..969ac4d --- /dev/null +++ b/generation_config.json @@ -0,0 +1,7 @@ +{ + "_from_model_config": true, + "bos_token_id": 128000, + "eos_token_id": 128010, + "pad_token_id": 128001, + "transformers_version": "4.57.3" +} diff --git a/model-00001-of-00013.safetensors b/model-00001-of-00013.safetensors new file mode 100644 index 0000000..e401c87 --- /dev/null +++ b/model-00001-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:254d64c4471e0287e48f3cb30fe7b7c804906d4950112136feaf1760294414cc +size 4999552848 diff --git a/model-00002-of-00013.safetensors b/model-00002-of-00013.safetensors new file mode 100644 index 0000000..369b515 --- /dev/null +++ b/model-00002-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:865f62c4b03a9923e7cc2fe4799be8f8219d6fd8158a1a68ff18ac5f52a43cf3 +size 4997741048 diff --git a/model-00003-of-00013.safetensors b/model-00003-of-00013.safetensors new file mode 100644 index 0000000..6ec7991 --- /dev/null +++ b/model-00003-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dc3117d2173b5b32c1129305c17362705151dc3c0a30fc174f7ad445ece51c0 +size 4997741912 diff --git a/model-00004-of-00013.safetensors b/model-00004-of-00013.safetensors new file mode 100644 index 0000000..4c1356a --- /dev/null +++ b/model-00004-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19e5e4194e292dbfae7fc5722cf596f3cc018e306eb3009239dbc4d6377cfd87 +size 4997742592 diff --git a/model-00005-of-00013.safetensors b/model-00005-of-00013.safetensors new file mode 100644 index 0000000..ddb0595 --- /dev/null +++ b/model-00005-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:942d69cd816f879ce7544a291c3863e8ead4904794f83238763c9e2d1b8c7fe3 +size 4982800272 diff --git a/model-00006-of-00013.safetensors b/model-00006-of-00013.safetensors new file mode 100644 index 0000000..e2bc844 --- /dev/null +++ b/model-00006-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:653c3e2f6aa01f35ea381076faf5d7ff413996eeae518224aeaf63b1b9556e62 +size 4997209720 diff --git a/model-00007-of-00013.safetensors b/model-00007-of-00013.safetensors new file mode 100644 index 0000000..4d2a653 --- /dev/null +++ b/model-00007-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a606f00c3df05f28dac9dbac247821729255d6013c22a67d28034023ea825e48 +size 4997742552 diff --git a/model-00008-of-00013.safetensors b/model-00008-of-00013.safetensors new file mode 100644 index 0000000..d5d3beb --- /dev/null +++ b/model-00008-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e1e3bf22dfb05cee789f8e3764ecf1868d25822ad6e2049b1ba8acddef1fb15 +size 4997742576 diff --git a/model-00009-of-00013.safetensors b/model-00009-of-00013.safetensors new file mode 100644 index 0000000..5a77e4e --- /dev/null +++ b/model-00009-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd28affdd940406b3b7fd6754427e587a93bc1eec21a3440caff715098d56805 +size 4997742592 diff --git a/model-00010-of-00013.safetensors b/model-00010-of-00013.safetensors new file mode 100644 index 0000000..40c0cfd --- /dev/null +++ b/model-00010-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:937b68169926c165d5060d33b3139c2e8ad21f1b1ba563c53d2951b111459b73 +size 4997742592 diff --git a/model-00011-of-00013.safetensors b/model-00011-of-00013.safetensors new file mode 100644 index 0000000..c14fe31 --- /dev/null +++ b/model-00011-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b73902cf4b200e6da81608d73c102d6ec8bee063f9bef2e52eee218224bc0169 +size 4997742592 diff --git a/model-00012-of-00013.safetensors b/model-00012-of-00013.safetensors new file mode 100644 index 0000000..2b64797 --- /dev/null +++ b/model-00012-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c214510399af1de06af9dd7f6293038708afcc15d0b1baade31144750e9b5e57 +size 4997742592 diff --git a/model-00013-of-00013.safetensors b/model-00013-of-00013.safetensors new file mode 100644 index 0000000..80d1c83 --- /dev/null +++ b/model-00013-of-00013.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47710e69d103e608eb6d82676cbd55b57cc40f91772216a55130653e67d6214c +size 1384691200 diff --git a/model.safetensors.index.json b/model.safetensors.index.json new file mode 100644 index 0000000..759896a --- /dev/null +++ b/model.safetensors.index.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98b6eee9ebbe4b1f056db299a5281ebeac9d9e4c054ca12acf86d7c6815ccdfb +size 1680317 diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..0900d2a --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f677910f98ff8282b4963d64444285af7c7f78dcdb688dcb4adc67c39e702d8d +size 10057650 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..0004ec8 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,2063 @@ +{ + "added_tokens_decoder": { + "128000": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128001": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128002": { + "content": "<|start_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128003": { + "content": "<|end_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128004": { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128005": { + "content": "<|eom_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128006": { + "content": "<|python_tag|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128007": { + "content": "<|NONE|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128008": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128009": { + "content": "<|im_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128010": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128011": { + "content": "<|object_ref_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128012": { + "content": "<|object_ref_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128013": { + "content": "<|box_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128014": { + "content": "<|box_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128015": { + "content": "<|quad_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128016": { + "content": "<|quad_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128017": { + "content": "<|vision_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128018": { + "content": "<|vision_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128019": { + "content": "<|vision_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128020": { + "content": "<|image_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128021": { + "content": "<|video_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128022": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "128023": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "128024": { + "content": "<|fim_prefix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128025": { + "content": "<|fim_middle|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128026": { + "content": "<|fim_suffix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128027": { + "content": "<|fim_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128028": { + "content": "<|repo_name|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128029": { + "content": "<|file_sep|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128030": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "128031": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "128032": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "128033": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "128034": { + "content": "<|pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128035": { + "content": "<|reserved_special_token_35|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128036": { + "content": "<|reserved_special_token_36|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128037": { + "content": "<|reserved_special_token_37|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128038": { + "content": "<|reserved_special_token_38|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128039": { + "content": "<|reserved_special_token_39|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128040": { + "content": "<|reserved_special_token_40|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128041": { + "content": "<|reserved_special_token_41|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128042": { + "content": "<|reserved_special_token_42|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128043": { + "content": "<|reserved_special_token_43|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128044": { + "content": "<|reserved_special_token_44|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128045": { + "content": "<|reserved_special_token_45|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128046": { + "content": "<|reserved_special_token_46|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128047": { + "content": "<|reserved_special_token_47|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128048": { + "content": "<|reserved_special_token_48|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128049": { + "content": "<|reserved_special_token_49|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128050": { + "content": "<|reserved_special_token_50|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128051": { + "content": "<|reserved_special_token_51|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128052": { + "content": "<|reserved_special_token_52|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128053": { + "content": "<|reserved_special_token_53|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128054": { + "content": "<|reserved_special_token_54|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128055": { + "content": "<|reserved_special_token_55|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128056": { + "content": "<|reserved_special_token_56|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128057": { + "content": "<|reserved_special_token_57|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128058": { + "content": "<|reserved_special_token_58|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128059": { + "content": "<|reserved_special_token_59|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128060": { + "content": "<|reserved_special_token_60|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128061": { + "content": "<|reserved_special_token_61|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128062": { + "content": "<|reserved_special_token_62|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128063": { + "content": "<|reserved_special_token_63|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128064": { + "content": "<|reserved_special_token_64|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128065": { + "content": "<|reserved_special_token_65|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128066": { + "content": "<|reserved_special_token_66|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128067": { + "content": "<|reserved_special_token_67|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128068": { + "content": "<|reserved_special_token_68|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128069": { + "content": "<|reserved_special_token_69|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128070": { + "content": "<|reserved_special_token_70|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128071": { + "content": "<|reserved_special_token_71|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128072": { + "content": "<|reserved_special_token_72|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128073": { + "content": "<|reserved_special_token_73|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128074": { + "content": "<|reserved_special_token_74|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128075": { + "content": "<|reserved_special_token_75|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128076": { + "content": "<|reserved_special_token_76|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128077": { + "content": "<|reserved_special_token_77|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128078": { + "content": "<|reserved_special_token_78|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128079": { + "content": "<|reserved_special_token_79|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128080": { + "content": "<|reserved_special_token_80|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128081": { + "content": "<|reserved_special_token_81|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128082": { + "content": "<|reserved_special_token_82|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128083": { + "content": "<|reserved_special_token_83|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128084": { + "content": "<|reserved_special_token_84|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128085": { + "content": "<|reserved_special_token_85|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128086": { + "content": "<|reserved_special_token_86|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128087": { + "content": "<|reserved_special_token_87|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128088": { + "content": "<|reserved_special_token_88|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128089": { + "content": "<|reserved_special_token_89|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128090": { + "content": "<|reserved_special_token_90|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128091": { + "content": "<|reserved_special_token_91|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128092": { + "content": "<|reserved_special_token_92|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128093": { + "content": "<|reserved_special_token_93|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128094": { + "content": "<|reserved_special_token_94|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128095": { + "content": "<|reserved_special_token_95|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128096": { + "content": "<|reserved_special_token_96|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128097": { + "content": "<|reserved_special_token_97|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128098": { + "content": "<|reserved_special_token_98|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128099": { + "content": "<|reserved_special_token_99|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128100": { + "content": "<|reserved_special_token_100|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128101": { + "content": "<|reserved_special_token_101|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128102": { + "content": "<|reserved_special_token_102|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128103": { + "content": "<|reserved_special_token_103|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128104": { + "content": "<|reserved_special_token_104|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128105": { + "content": "<|reserved_special_token_105|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128106": { + "content": "<|reserved_special_token_106|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128107": { + "content": "<|reserved_special_token_107|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128108": { + "content": "<|reserved_special_token_108|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128109": { + "content": "<|reserved_special_token_109|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128110": { + "content": "<|reserved_special_token_110|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128111": { + "content": "<|reserved_special_token_111|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128112": { + "content": "<|reserved_special_token_112|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128113": { + "content": "<|reserved_special_token_113|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128114": { + "content": "<|reserved_special_token_114|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128115": { + "content": "<|reserved_special_token_115|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128116": { + "content": "<|reserved_special_token_116|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128117": { + "content": "<|reserved_special_token_117|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128118": { + "content": "<|reserved_special_token_118|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128119": { + "content": "<|reserved_special_token_119|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128120": { + "content": "<|reserved_special_token_120|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128121": { + "content": "<|reserved_special_token_121|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128122": { + "content": "<|reserved_special_token_122|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128123": { + "content": "<|reserved_special_token_123|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128124": { + "content": "<|reserved_special_token_124|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128125": { + "content": "<|reserved_special_token_125|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128126": { + "content": "<|reserved_special_token_126|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128127": { + "content": "<|reserved_special_token_127|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128128": { + "content": "<|reserved_special_token_128|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128129": { + "content": "<|reserved_special_token_129|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128130": { + "content": "<|reserved_special_token_130|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128131": { + "content": "<|reserved_special_token_131|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128132": { + "content": "<|reserved_special_token_132|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128133": { + "content": "<|reserved_special_token_133|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128134": { + "content": "<|reserved_special_token_134|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128135": { + "content": "<|reserved_special_token_135|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128136": { + "content": "<|reserved_special_token_136|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128137": { + "content": "<|reserved_special_token_137|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128138": { + "content": "<|reserved_special_token_138|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128139": { + "content": "<|reserved_special_token_139|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128140": { + "content": "<|reserved_special_token_140|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128141": { + "content": "<|reserved_special_token_141|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128142": { + "content": "<|reserved_special_token_142|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128143": { + "content": "<|reserved_special_token_143|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128144": { + "content": "<|reserved_special_token_144|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128145": { + "content": "<|reserved_special_token_145|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128146": { + "content": "<|reserved_special_token_146|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128147": { + "content": "<|reserved_special_token_147|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128148": { + "content": "<|reserved_special_token_148|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128149": { + "content": "<|reserved_special_token_149|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128150": { + "content": "<|reserved_special_token_150|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128151": { + "content": "<|reserved_special_token_151|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128152": { + "content": "<|reserved_special_token_152|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128153": { + "content": "<|reserved_special_token_153|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128154": { + "content": "<|reserved_special_token_154|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128155": { + "content": "<|reserved_special_token_155|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128156": { + "content": "<|reserved_special_token_156|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128157": { + "content": "<|reserved_special_token_157|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128158": { + "content": "<|reserved_special_token_158|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128159": { + "content": "<|reserved_special_token_159|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128160": { + "content": "<|reserved_special_token_160|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128161": { + "content": "<|reserved_special_token_161|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128162": { + "content": "<|reserved_special_token_162|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128163": { + "content": "<|reserved_special_token_163|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128164": { + "content": "<|reserved_special_token_164|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128165": { + "content": "<|reserved_special_token_165|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128166": { + "content": "<|reserved_special_token_166|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128167": { + "content": "<|reserved_special_token_167|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128168": { + "content": "<|reserved_special_token_168|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128169": { + "content": "<|reserved_special_token_169|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128170": { + "content": "<|reserved_special_token_170|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128171": { + "content": "<|reserved_special_token_171|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128172": { + "content": "<|reserved_special_token_172|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128173": { + "content": "<|reserved_special_token_173|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128174": { + "content": "<|reserved_special_token_174|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128175": { + "content": "<|reserved_special_token_175|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128176": { + "content": "<|reserved_special_token_176|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128177": { + "content": "<|reserved_special_token_177|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128178": { + "content": "<|reserved_special_token_178|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128179": { + "content": "<|reserved_special_token_179|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128180": { + "content": "<|reserved_special_token_180|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128181": { + "content": "<|reserved_special_token_181|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128182": { + "content": "<|reserved_special_token_182|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128183": { + "content": "<|reserved_special_token_183|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128184": { + "content": "<|reserved_special_token_184|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128185": { + "content": "<|reserved_special_token_185|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128186": { + "content": "<|reserved_special_token_186|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128187": { + "content": "<|reserved_special_token_187|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128188": { + "content": "<|reserved_special_token_188|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128189": { + "content": "<|reserved_special_token_189|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128190": { + "content": "<|reserved_special_token_190|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128191": { + "content": "<|reserved_special_token_191|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128192": { + "content": "<|reserved_special_token_192|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128193": { + "content": "<|reserved_special_token_193|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128194": { + "content": "<|reserved_special_token_194|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128195": { + "content": "<|reserved_special_token_195|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128196": { + "content": "<|reserved_special_token_196|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128197": { + "content": "<|reserved_special_token_197|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128198": { + "content": "<|reserved_special_token_198|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128199": { + "content": "<|reserved_special_token_199|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128200": { + "content": "<|reserved_special_token_200|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128201": { + "content": "<|reserved_special_token_201|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128202": { + "content": "<|reserved_special_token_202|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128203": { + "content": "<|reserved_special_token_203|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128204": { + "content": "<|reserved_special_token_204|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128205": { + "content": "<|reserved_special_token_205|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128206": { + "content": "<|reserved_special_token_206|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128207": { + "content": "<|reserved_special_token_207|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128208": { + "content": "<|reserved_special_token_208|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128209": { + "content": "<|reserved_special_token_209|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128210": { + "content": "<|reserved_special_token_210|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128211": { + "content": "<|reserved_special_token_211|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128212": { + "content": "<|reserved_special_token_212|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128213": { + "content": "<|reserved_special_token_213|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128214": { + "content": "<|reserved_special_token_214|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128215": { + "content": "<|reserved_special_token_215|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128216": { + "content": "<|reserved_special_token_216|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128217": { + "content": "<|reserved_special_token_217|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128218": { + "content": "<|reserved_special_token_218|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128219": { + "content": "<|reserved_special_token_219|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128220": { + "content": "<|reserved_special_token_220|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128221": { + "content": "<|reserved_special_token_221|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128222": { + "content": "<|reserved_special_token_222|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128223": { + "content": "<|reserved_special_token_223|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128224": { + "content": "<|reserved_special_token_224|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128225": { + "content": "<|reserved_special_token_225|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128226": { + "content": "<|reserved_special_token_226|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128227": { + "content": "<|reserved_special_token_227|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128228": { + "content": "<|reserved_special_token_228|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128229": { + "content": "<|reserved_special_token_229|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128230": { + "content": "<|reserved_special_token_230|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128231": { + "content": "<|reserved_special_token_231|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128232": { + "content": "<|reserved_special_token_232|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128233": { + "content": "<|reserved_special_token_233|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128234": { + "content": "<|reserved_special_token_234|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128235": { + "content": "<|reserved_special_token_235|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128236": { + "content": "<|reserved_special_token_236|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128237": { + "content": "<|reserved_special_token_237|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128238": { + "content": "<|reserved_special_token_238|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128239": { + "content": "<|reserved_special_token_239|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128240": { + "content": "<|reserved_special_token_240|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128241": { + "content": "<|reserved_special_token_241|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128242": { + "content": "<|reserved_special_token_242|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128243": { + "content": "<|reserved_special_token_243|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128244": { + "content": "<|reserved_special_token_244|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128245": { + "content": "<|reserved_special_token_245|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128246": { + "content": "<|reserved_special_token_246|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128247": { + "content": "<|reserved_special_token_247|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128248": { + "content": "<|reserved_special_token_248|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128249": { + "content": "<|reserved_special_token_249|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128250": { + "content": "<|reserved_special_token_250|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128251": { + "content": "<|reserved_special_token_251|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128252": { + "content": "<|reserved_special_token_252|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128253": { + "content": "<|reserved_special_token_253|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128254": { + "content": "<|reserved_special_token_254|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128255": { + "content": "<|reserved_special_token_255|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "bos_token": "<|begin_of_text|>", + "clean_up_tokenization_spaces": true, + "eos_token": "<|im_end|>", + "extra_special_tokens": {}, + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 1000000000000000019884624838656, + "pad_token": "<|end_of_text|>", + "tokenizer_class": "PreTrainedTokenizerFast" +}