Upload folder using huggingface_hub
Browse files- .gitattributes +1 -0
- README.md +115 -0
- added_tokens.json +28 -0
- chat_template.jinja +117 -0
- config.json +131 -0
- generation_config.json +13 -0
- merges.txt +0 -0
- model-00001-of-00008.safetensors +3 -0
- model-00002-of-00008.safetensors +3 -0
- model-00003-of-00008.safetensors +3 -0
- model-00004-of-00008.safetensors +3 -0
- model-00005-of-00008.safetensors +3 -0
- model-00006-of-00008.safetensors +3 -0
- model-00007-of-00008.safetensors +3 -0
- model-00008-of-00008.safetensors +3 -0
- model.safetensors.index.json +0 -0
- recipe.yaml +33 -0
- special_tokens_map.json +31 -0
- tokenizer.json +3 -0
- tokenizer_config.json +240 -0
- vocab.json +0 -0
.gitattributes
CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language:
|
3 |
+
- multilingual
|
4 |
+
license: other
|
5 |
+
license_name: kwaipilot-license
|
6 |
+
license_link: LICENSE
|
7 |
+
library_name: transformers
|
8 |
+
base_model: Kwaipilot/KAT-Dev
|
9 |
+
---
|
10 |
+
<div align="center">
|
11 |
+
<img src="https://cdn-uploads.huggingface.co/production/uploads/61ee40a269351366e29972ad/KIYEa1c_WJEWPpeS0L_k1.png" width="100%" alt="Kwaipilot" />
|
12 |
+
</div>
|
13 |
+
|
14 |
+
<hr>
|
15 |
+
|
16 |
+
|
17 |
+
# Highlights
|
18 |
+
**KAT-Dev-32B** is an open-source 32B-parameter model for software engineering tasks.
|
19 |
+
|
20 |
+
On SWE-Bench Verified, **KAT-Dev-32B** achieves comparable performance with **62.4%** resolved and ranks **5th** among all open-source models with different scales.
|
21 |
+
|
22 |
+

|
23 |
+
|
24 |
+
# Introduction
|
25 |
+
|
26 |
+
**KAT-Dev-32B** is optimized via several stages of training, including a mid-training stage, supervised fine-tuning (SFT) & reinforcement fine-tuning (RFT) stage and an large-scale agentic reinforcement learning (RL) stage. In summary, our contributions include:
|
27 |
+
|
28 |
+
<table>
|
29 |
+
<thead>
|
30 |
+
<tr>
|
31 |
+
<th style="text-align:left; width:18%;">Stage</th>
|
32 |
+
<th style="text-align:left;">Key Techniques</th>
|
33 |
+
</tr>
|
34 |
+
</thead>
|
35 |
+
<tbody>
|
36 |
+
<tr>
|
37 |
+
<td><strong>1. Mid-Training</strong></td>
|
38 |
+
<td>We observe that adding extensive training for tool-use capability, multi-turn interaction, and instruction-following at this stage may not yield large performance gains in the current results (e.g., on leaderboards like SWE-bench). However, since our experiments are based on the Qwen3-32B model, we find that enhancing these foundational capabilities will have a significant impact on the subsequent SFT and RL stages. This suggests that improving such core abilities can profoundly influence the model’s capacity to handle more complex tasks.
|
39 |
+
</td>
|
40 |
+
</tr>
|
41 |
+
<tr>
|
42 |
+
<td><strong>2. SFT & RFT</strong></td>
|
43 |
+
<td>We meticulously curated eight task types and eight programming scenarios during the SFT stage to ensure the model’s generalization and comprehensive capabilities. Moreover, before RL, we innovatively introduced an RFT stage. Compared with traditional RL, we incorporate “teacher trajectories” annotated by human engineers as guidance during training—much like a learner driver being assisted by an experienced co-driver before officially driving after getting a license. This step not only boosts model performance but also further stabilizes the subsequent RL training.
|
44 |
+
</td>
|
45 |
+
</tr>
|
46 |
+
<tr>
|
47 |
+
<td><strong>3. Agentic RL Scaling</strong></td>
|
48 |
+
<td>Scaling agentic RL hinges on three challenges: efficient learning over nonlinear trajectory histories, leveraging intrinsic model signals, and building scalable high-throughput infrastructure. We address these with a multi-level prefix caching mechanism in the RL training engine, an entropy-based trajectory pruning technique, and an inner implementation of SeamlessFlow[1] architecture that cleanly decouples agents from training while exploiting heterogeneous compute. These innovations together cut scaling costs and enable efficient large-scale RL.
|
49 |
+
</td>
|
50 |
+
</tr>
|
51 |
+
</tbody>
|
52 |
+
</table>
|
53 |
+
|
54 |
+
For more details, including benchmark evaluation, hardware requirements, and inference performance, please refer to our [blog](https://kwaipilot.github.io/KAT-Coder/).
|
55 |
+
|
56 |
+
# Quickstart
|
57 |
+
|
58 |
+
```python
|
59 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
60 |
+
|
61 |
+
model_name = "Kwaipilot/KAT-Dev"
|
62 |
+
|
63 |
+
# load the tokenizer and the model
|
64 |
+
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
65 |
+
model = AutoModelForCausalLM.from_pretrained(
|
66 |
+
model_name,
|
67 |
+
torch_dtype="auto",
|
68 |
+
device_map="auto"
|
69 |
+
)
|
70 |
+
|
71 |
+
# prepare the model input
|
72 |
+
prompt = "Give me a short introduction to large language model."
|
73 |
+
messages = [
|
74 |
+
{"role": "user", "content": prompt}
|
75 |
+
]
|
76 |
+
text = tokenizer.apply_chat_template(
|
77 |
+
messages,
|
78 |
+
tokenize=False,
|
79 |
+
add_generation_prompt=True,
|
80 |
+
)
|
81 |
+
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
|
82 |
+
|
83 |
+
# conduct text completion
|
84 |
+
generated_ids = model.generate(
|
85 |
+
**model_inputs,
|
86 |
+
max_new_tokens=65536
|
87 |
+
)
|
88 |
+
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
|
89 |
+
|
90 |
+
content = tokenizer.decode(output_ids, skip_special_tokens=True)
|
91 |
+
|
92 |
+
print("content:", content)
|
93 |
+
```
|
94 |
+
|
95 |
+
## Claude Code
|
96 |
+
### vllm server
|
97 |
+
```
|
98 |
+
MODEL_PATH="Kwaipilot/KAT-Dev"
|
99 |
+
|
100 |
+
vllm serve $MODEL_PATH \
|
101 |
+
--enable-prefix-caching \
|
102 |
+
--tensor-parallel-size 8 \
|
103 |
+
--tool-parser-plugin $MODEL_PATH/qwen3coder_tool_parser.py \
|
104 |
+
--chat-template $MODEL_PATH/chat_template.jinja \
|
105 |
+
--enable-auto-tool-choice --tool-call-parser qwen3_coder
|
106 |
+
```
|
107 |
+
|
108 |
+
[claude-code-router](https://github.com/musistudio/claude-code-router) is a third-party routing utility that allows Claude Code to flexibly switch between different backend APIs.
|
109 |
+
On the dashScope platform, you can install the **claude-code-config** extension package, which automatically generates a default configuration for `claude-code-router` with built-in dashScope support.
|
110 |
+
|
111 |
+
Once the configuration files and plugin directory are generated, the environment required by `ccr` will be ready.
|
112 |
+
If needed, you can still manually edit `~/.claude-code-router/config.json` and the files under `~/.claude-code-router/plugins/` to customize the setup.
|
113 |
+
|
114 |
+
Finally, simply start `ccr` to run Claude Code and seamlessly connect it with the powerful coding capabilities of **KAT-Dev-32B**.
|
115 |
+
Happy coding!
|
added_tokens.json
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"</think>": 151668,
|
3 |
+
"</tool_call>": 151658,
|
4 |
+
"</tool_response>": 151666,
|
5 |
+
"<think>": 151667,
|
6 |
+
"<tool_call>": 151657,
|
7 |
+
"<tool_response>": 151665,
|
8 |
+
"<|box_end|>": 151649,
|
9 |
+
"<|box_start|>": 151648,
|
10 |
+
"<|endoftext|>": 151643,
|
11 |
+
"<|file_sep|>": 151664,
|
12 |
+
"<|fim_middle|>": 151660,
|
13 |
+
"<|fim_pad|>": 151662,
|
14 |
+
"<|fim_prefix|>": 151659,
|
15 |
+
"<|fim_suffix|>": 151661,
|
16 |
+
"<|im_end|>": 151645,
|
17 |
+
"<|im_start|>": 151644,
|
18 |
+
"<|image_pad|>": 151655,
|
19 |
+
"<|object_ref_end|>": 151647,
|
20 |
+
"<|object_ref_start|>": 151646,
|
21 |
+
"<|quad_end|>": 151651,
|
22 |
+
"<|quad_start|>": 151650,
|
23 |
+
"<|repo_name|>": 151663,
|
24 |
+
"<|video_pad|>": 151656,
|
25 |
+
"<|vision_end|>": 151653,
|
26 |
+
"<|vision_pad|>": 151654,
|
27 |
+
"<|vision_start|>": 151652
|
28 |
+
}
|
chat_template.jinja
ADDED
@@ -0,0 +1,117 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{% macro render_extra_keys(json_dict, handled_keys) %}
|
2 |
+
{%- if json_dict is mapping %}
|
3 |
+
{%- for json_key in json_dict if json_key not in handled_keys %}
|
4 |
+
{%- if json_dict[json_key] is mapping or (json_dict[json_key] is sequence and json_dict[json_key] is not string) %}
|
5 |
+
{{- '\n<' ~ json_key ~ '>' ~ (json_dict[json_key] | tojson | safe) ~ '</' ~ json_key ~ '>' }}
|
6 |
+
{%- else %}
|
7 |
+
{{-'\n<' ~ json_key ~ '>' ~ (json_dict[json_key] | string) ~ '</' ~ json_key ~ '>' }}
|
8 |
+
{%- endif %}
|
9 |
+
{%- endfor %}
|
10 |
+
{%- endif %}
|
11 |
+
{% endmacro %}
|
12 |
+
|
13 |
+
{%- if messages[0]["role"] == "system" %}
|
14 |
+
{%- set system_message = messages[0]["content"] %}
|
15 |
+
{%- set loop_messages = messages[1:] %}
|
16 |
+
{%- else %}
|
17 |
+
{%- set loop_messages = messages %}
|
18 |
+
{%- endif %}
|
19 |
+
|
20 |
+
{%- if not tools is defined %}
|
21 |
+
{%- set tools = [] %}
|
22 |
+
{%- endif %}
|
23 |
+
|
24 |
+
{%- if system_message is defined %}
|
25 |
+
{{- "<|im_start|>system\n" + system_message }}
|
26 |
+
{%- else %}
|
27 |
+
{%- if tools is iterable and tools | length > 0 %}
|
28 |
+
{{- "<|im_start|>system\nYou are a helpful AI assistant that can interact with a computer to solve tasks." }}
|
29 |
+
{%- endif %}
|
30 |
+
{%- endif %}
|
31 |
+
{%- if tools is iterable and tools | length > 0 %}
|
32 |
+
{{- "\n\n# Tools\n\nYou have access to the following functions:\n\n" }}
|
33 |
+
{{- "<tools>" }}
|
34 |
+
{%- for tool in tools %}
|
35 |
+
{%- if tool.function is defined %}
|
36 |
+
{%- set tool = tool.function %}
|
37 |
+
{%- endif %}
|
38 |
+
{{- "\n<function>\n<name>" ~ tool.name ~ "</name>" }}
|
39 |
+
{%- if tool.description is defined %}
|
40 |
+
{{- '\n<description>' ~ (tool.description | trim) ~ '</description>' }}
|
41 |
+
{%- endif %}
|
42 |
+
{{- '\n<parameters>' }}
|
43 |
+
{%- if tool.parameters is defined and tool.parameters is mapping and tool.parameters.properties is defined and tool.parameters.properties is mapping %}
|
44 |
+
{%- for param_name, param_fields in tool.parameters.properties|items %}
|
45 |
+
{{- '\n<parameter>' }}
|
46 |
+
{{- '\n<name>' ~ param_name ~ '</name>' }}
|
47 |
+
{%- if param_fields.type is defined %}
|
48 |
+
{{- '\n<type>' ~ (param_fields.type | string) ~ '</type>' }}
|
49 |
+
{%- endif %}
|
50 |
+
{%- if param_fields.description is defined %}
|
51 |
+
{{- '\n<description>' ~ (param_fields.description | trim) ~ '</description>' }}
|
52 |
+
{%- endif %}
|
53 |
+
{%- set handled_keys = ['name', 'type', 'description'] %}
|
54 |
+
{{- render_extra_keys(param_fields, handled_keys) }}
|
55 |
+
{{- '\n</parameter>' }}
|
56 |
+
{%- endfor %}
|
57 |
+
{%- endif %}
|
58 |
+
{% set handled_keys = ['type', 'properties'] %}
|
59 |
+
{{- render_extra_keys(tool.parameters, handled_keys) }}
|
60 |
+
{{- '\n</parameters>' }}
|
61 |
+
{%- set handled_keys = ['type', 'name', 'description', 'parameters'] %}
|
62 |
+
{{- render_extra_keys(tool, handled_keys) }}
|
63 |
+
{{- '\n</function>' }}
|
64 |
+
{%- endfor %}
|
65 |
+
{{- "\n</tools>" }}
|
66 |
+
{{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
|
67 |
+
{%- endif %}
|
68 |
+
{%- if system_message is defined %}
|
69 |
+
{{- '<|im_end|>\n' }}
|
70 |
+
{%- else %}
|
71 |
+
{%- if tools is iterable and tools | length > 0 %}
|
72 |
+
{{- '<|im_end|>\n' }}
|
73 |
+
{%- endif %}
|
74 |
+
{%- endif %}
|
75 |
+
{%- for message in loop_messages %}
|
76 |
+
{%- if message.role == "assistant" and message.tool_calls is defined and message.tool_calls is iterable and message.tool_calls | length > 0 %}
|
77 |
+
{{- '<|im_start|>' + message.role }}
|
78 |
+
{%- if message.content is defined and message.content is string and message.content | trim | length > 0 %}
|
79 |
+
{{- '\n' + message.content | trim + '\n' }}
|
80 |
+
{%- endif %}
|
81 |
+
{%- for tool_call in message.tool_calls %}
|
82 |
+
{%- if tool_call.function is defined %}
|
83 |
+
{%- set tool_call = tool_call.function %}
|
84 |
+
{%- endif %}
|
85 |
+
{{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
|
86 |
+
{%- if tool_call.arguments is defined %}
|
87 |
+
{%- for args_name, args_value in tool_call.arguments|items %}
|
88 |
+
{{- '<parameter=' + args_name + '>\n' }}
|
89 |
+
{%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
|
90 |
+
{{- args_value }}
|
91 |
+
{{- '\n</parameter>\n' }}
|
92 |
+
{%- endfor %}
|
93 |
+
{%- endif %}
|
94 |
+
{{- '</function>\n</tool_call>' }}
|
95 |
+
{%- endfor %}
|
96 |
+
{{- '<|im_end|>\n' }}
|
97 |
+
{%- elif message.role == "user" or message.role == "system" or message.role == "assistant" %}
|
98 |
+
{{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }}
|
99 |
+
{%- elif message.role == "tool" %}
|
100 |
+
{%- if loop.previtem and loop.previtem.role != "tool" %}
|
101 |
+
{{- '<|im_start|>user\n' }}
|
102 |
+
{%- endif %}
|
103 |
+
{{- '<tool_response>\n' }}
|
104 |
+
{{- message.content }}
|
105 |
+
{{- '\n</tool_response>\n' }}
|
106 |
+
{%- if not loop.last and loop.nextitem.role != "tool" %}
|
107 |
+
{{- '<|im_end|>\n' }}
|
108 |
+
{%- elif loop.last %}
|
109 |
+
{{- '<|im_end|>\n' }}
|
110 |
+
{%- endif %}
|
111 |
+
{%- else %}
|
112 |
+
{{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>\n' }}
|
113 |
+
{%- endif %}
|
114 |
+
{%- endfor %}
|
115 |
+
{%- if add_generation_prompt %}
|
116 |
+
{{- '<|im_start|>assistant\n' }}
|
117 |
+
{%- endif %}
|
config.json
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"architectures": [
|
3 |
+
"Qwen3ForCausalLM"
|
4 |
+
],
|
5 |
+
"attention_bias": false,
|
6 |
+
"attention_dropout": 0.0,
|
7 |
+
"dtype": "bfloat16",
|
8 |
+
"eos_token_id": 151645,
|
9 |
+
"head_dim": 128,
|
10 |
+
"hidden_act": "silu",
|
11 |
+
"hidden_size": 5120,
|
12 |
+
"initializer_range": 0.02,
|
13 |
+
"intermediate_size": 25600,
|
14 |
+
"layer_types": [
|
15 |
+
"full_attention",
|
16 |
+
"full_attention",
|
17 |
+
"full_attention",
|
18 |
+
"full_attention",
|
19 |
+
"full_attention",
|
20 |
+
"full_attention",
|
21 |
+
"full_attention",
|
22 |
+
"full_attention",
|
23 |
+
"full_attention",
|
24 |
+
"full_attention",
|
25 |
+
"full_attention",
|
26 |
+
"full_attention",
|
27 |
+
"full_attention",
|
28 |
+
"full_attention",
|
29 |
+
"full_attention",
|
30 |
+
"full_attention",
|
31 |
+
"full_attention",
|
32 |
+
"full_attention",
|
33 |
+
"full_attention",
|
34 |
+
"full_attention",
|
35 |
+
"full_attention",
|
36 |
+
"full_attention",
|
37 |
+
"full_attention",
|
38 |
+
"full_attention",
|
39 |
+
"full_attention",
|
40 |
+
"full_attention",
|
41 |
+
"full_attention",
|
42 |
+
"full_attention",
|
43 |
+
"full_attention",
|
44 |
+
"full_attention",
|
45 |
+
"full_attention",
|
46 |
+
"full_attention",
|
47 |
+
"full_attention",
|
48 |
+
"full_attention",
|
49 |
+
"full_attention",
|
50 |
+
"full_attention",
|
51 |
+
"full_attention",
|
52 |
+
"full_attention",
|
53 |
+
"full_attention",
|
54 |
+
"full_attention",
|
55 |
+
"full_attention",
|
56 |
+
"full_attention",
|
57 |
+
"full_attention",
|
58 |
+
"full_attention",
|
59 |
+
"full_attention",
|
60 |
+
"full_attention",
|
61 |
+
"full_attention",
|
62 |
+
"full_attention",
|
63 |
+
"full_attention",
|
64 |
+
"full_attention",
|
65 |
+
"full_attention",
|
66 |
+
"full_attention",
|
67 |
+
"full_attention",
|
68 |
+
"full_attention",
|
69 |
+
"full_attention",
|
70 |
+
"full_attention",
|
71 |
+
"full_attention",
|
72 |
+
"full_attention",
|
73 |
+
"full_attention",
|
74 |
+
"full_attention",
|
75 |
+
"full_attention",
|
76 |
+
"full_attention",
|
77 |
+
"full_attention",
|
78 |
+
"full_attention"
|
79 |
+
],
|
80 |
+
"max_position_embeddings": 131072,
|
81 |
+
"max_window_layers": 64,
|
82 |
+
"model_type": "qwen3",
|
83 |
+
"num_attention_heads": 64,
|
84 |
+
"num_hidden_layers": 64,
|
85 |
+
"num_key_value_heads": 8,
|
86 |
+
"pad_token_id": 151643,
|
87 |
+
"quantization_config": {
|
88 |
+
"config_groups": {
|
89 |
+
"group_0": {
|
90 |
+
"format": "pack-quantized",
|
91 |
+
"input_activations": null,
|
92 |
+
"output_activations": null,
|
93 |
+
"targets": [
|
94 |
+
"Linear"
|
95 |
+
],
|
96 |
+
"weights": {
|
97 |
+
"actorder": null,
|
98 |
+
"block_structure": null,
|
99 |
+
"dynamic": false,
|
100 |
+
"group_size": 32,
|
101 |
+
"num_bits": 8,
|
102 |
+
"observer": "mse",
|
103 |
+
"observer_kwargs": {},
|
104 |
+
"strategy": "group",
|
105 |
+
"symmetric": true,
|
106 |
+
"type": "int"
|
107 |
+
}
|
108 |
+
}
|
109 |
+
},
|
110 |
+
"format": "pack-quantized",
|
111 |
+
"global_compression_ratio": null,
|
112 |
+
"ignore": [
|
113 |
+
"lm_head"
|
114 |
+
],
|
115 |
+
"kv_cache_scheme": null,
|
116 |
+
"quant_method": "compressed-tensors",
|
117 |
+
"quantization_status": "compressed",
|
118 |
+
"sparsity_config": {},
|
119 |
+
"transform_config": {},
|
120 |
+
"version": "0.11.0"
|
121 |
+
},
|
122 |
+
"rms_norm_eps": 1e-06,
|
123 |
+
"rope_scaling": null,
|
124 |
+
"rope_theta": 1000000,
|
125 |
+
"sliding_window": null,
|
126 |
+
"tie_word_embeddings": false,
|
127 |
+
"transformers_version": "4.57.0.dev0",
|
128 |
+
"use_cache": false,
|
129 |
+
"use_sliding_window": false,
|
130 |
+
"vocab_size": 151936
|
131 |
+
}
|
generation_config.json
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"bos_token_id": 151643,
|
3 |
+
"do_sample": true,
|
4 |
+
"eos_token_id": [
|
5 |
+
151645,
|
6 |
+
151643
|
7 |
+
],
|
8 |
+
"pad_token_id": 151643,
|
9 |
+
"temperature": 0.6,
|
10 |
+
"top_k": 20,
|
11 |
+
"top_p": 0.95,
|
12 |
+
"transformers_version": "4.57.0.dev0"
|
13 |
+
}
|
merges.txt
ADDED
The diff for this file is too large to render.
See raw diff
|
|
model-00001-of-00008.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a9ce80d4fad1dd49075aec9b862f75f1e25d16657b3960b9338edb072eae3ad1
|
3 |
+
size 4903877600
|
model-00002-of-00008.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d3d842833eb002252b4ecd158d061ec3f98d0162e8fd76cc9c30cfc356f4f757
|
3 |
+
size 4997030472
|
model-00003-of-00008.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:86bdf6f37d10dbbf088ed2fd9c42f15426e4050bd996de02367b313eabb04e85
|
3 |
+
size 4985868728
|
model-00004-of-00008.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9d4f56eb998568d9c0dafc2f33a937f8d1771389035f7e836349ffb967617c9e
|
3 |
+
size 4902331784
|
model-00005-of-00008.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8e267b58641b5a46ec167159dc22add680c344e86be1563d2a14321df71f447a
|
3 |
+
size 4941303152
|
model-00006-of-00008.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:71595fb81adafcb13562be9e2cb4601e8a9a3d779c7cb67809e3b0db4246e050
|
3 |
+
size 4902331784
|
model-00007-of-00008.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6cfd0c3515ffbf844c95968e0a965ff490109f684ec3e10ee21962f7e42f1923
|
3 |
+
size 4941303152
|
model-00008-of-00008.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8642b19e9f1141f32bcf7323058c0bc4fc9014d243ee4ff76bb9f5d01128f6ad
|
3 |
+
size 1695120056
|
model.safetensors.index.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
recipe.yaml
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
quant_stage:
|
2 |
+
quant_modifiers:
|
3 |
+
AWQModifier:
|
4 |
+
config_groups:
|
5 |
+
group_0:
|
6 |
+
targets: [Linear]
|
7 |
+
weights:
|
8 |
+
num_bits: 8
|
9 |
+
type: int
|
10 |
+
symmetric: true
|
11 |
+
group_size: 32
|
12 |
+
strategy: group
|
13 |
+
block_structure: null
|
14 |
+
dynamic: false
|
15 |
+
actorder: null
|
16 |
+
observer: mse
|
17 |
+
observer_kwargs: {}
|
18 |
+
input_activations: null
|
19 |
+
output_activations: null
|
20 |
+
format: null
|
21 |
+
targets: [Linear]
|
22 |
+
ignore: [model.embed_tokens, 're:.*input_layernorm$', 're:.*post_attention_layernorm$',
|
23 |
+
model.norm, lm_head]
|
24 |
+
mappings:
|
25 |
+
- smooth_layer: re:.*input_layernorm$
|
26 |
+
balance_layers: ['re:.*q_proj$', 're:.*k_proj$', 're:.*v_proj$']
|
27 |
+
- smooth_layer: re:.*v_proj$
|
28 |
+
balance_layers: ['re:.*o_proj$']
|
29 |
+
- smooth_layer: re:.*post_attention_layernorm$
|
30 |
+
balance_layers: ['re:.*gate_proj$', 're:.*up_proj$']
|
31 |
+
- smooth_layer: re:.*up_proj$
|
32 |
+
balance_layers: ['re:.*down_proj$']
|
33 |
+
duo_scaling: true
|
special_tokens_map.json
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"additional_special_tokens": [
|
3 |
+
"<|im_start|>",
|
4 |
+
"<|im_end|>",
|
5 |
+
"<|object_ref_start|>",
|
6 |
+
"<|object_ref_end|>",
|
7 |
+
"<|box_start|>",
|
8 |
+
"<|box_end|>",
|
9 |
+
"<|quad_start|>",
|
10 |
+
"<|quad_end|>",
|
11 |
+
"<|vision_start|>",
|
12 |
+
"<|vision_end|>",
|
13 |
+
"<|vision_pad|>",
|
14 |
+
"<|image_pad|>",
|
15 |
+
"<|video_pad|>"
|
16 |
+
],
|
17 |
+
"eos_token": {
|
18 |
+
"content": "<|im_end|>",
|
19 |
+
"lstrip": false,
|
20 |
+
"normalized": false,
|
21 |
+
"rstrip": false,
|
22 |
+
"single_word": false
|
23 |
+
},
|
24 |
+
"pad_token": {
|
25 |
+
"content": "<|endoftext|>",
|
26 |
+
"lstrip": false,
|
27 |
+
"normalized": false,
|
28 |
+
"rstrip": false,
|
29 |
+
"single_word": false
|
30 |
+
}
|
31 |
+
}
|
tokenizer.json
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
|
3 |
+
size 11422654
|
tokenizer_config.json
ADDED
@@ -0,0 +1,240 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"add_bos_token": false,
|
3 |
+
"add_prefix_space": false,
|
4 |
+
"added_tokens_decoder": {
|
5 |
+
"151643": {
|
6 |
+
"content": "<|endoftext|>",
|
7 |
+
"lstrip": false,
|
8 |
+
"normalized": false,
|
9 |
+
"rstrip": false,
|
10 |
+
"single_word": false,
|
11 |
+
"special": true
|
12 |
+
},
|
13 |
+
"151644": {
|
14 |
+
"content": "<|im_start|>",
|
15 |
+
"lstrip": false,
|
16 |
+
"normalized": false,
|
17 |
+
"rstrip": false,
|
18 |
+
"single_word": false,
|
19 |
+
"special": true
|
20 |
+
},
|
21 |
+
"151645": {
|
22 |
+
"content": "<|im_end|>",
|
23 |
+
"lstrip": false,
|
24 |
+
"normalized": false,
|
25 |
+
"rstrip": false,
|
26 |
+
"single_word": false,
|
27 |
+
"special": true
|
28 |
+
},
|
29 |
+
"151646": {
|
30 |
+
"content": "<|object_ref_start|>",
|
31 |
+
"lstrip": false,
|
32 |
+
"normalized": false,
|
33 |
+
"rstrip": false,
|
34 |
+
"single_word": false,
|
35 |
+
"special": true
|
36 |
+
},
|
37 |
+
"151647": {
|
38 |
+
"content": "<|object_ref_end|>",
|
39 |
+
"lstrip": false,
|
40 |
+
"normalized": false,
|
41 |
+
"rstrip": false,
|
42 |
+
"single_word": false,
|
43 |
+
"special": true
|
44 |
+
},
|
45 |
+
"151648": {
|
46 |
+
"content": "<|box_start|>",
|
47 |
+
"lstrip": false,
|
48 |
+
"normalized": false,
|
49 |
+
"rstrip": false,
|
50 |
+
"single_word": false,
|
51 |
+
"special": true
|
52 |
+
},
|
53 |
+
"151649": {
|
54 |
+
"content": "<|box_end|>",
|
55 |
+
"lstrip": false,
|
56 |
+
"normalized": false,
|
57 |
+
"rstrip": false,
|
58 |
+
"single_word": false,
|
59 |
+
"special": true
|
60 |
+
},
|
61 |
+
"151650": {
|
62 |
+
"content": "<|quad_start|>",
|
63 |
+
"lstrip": false,
|
64 |
+
"normalized": false,
|
65 |
+
"rstrip": false,
|
66 |
+
"single_word": false,
|
67 |
+
"special": true
|
68 |
+
},
|
69 |
+
"151651": {
|
70 |
+
"content": "<|quad_end|>",
|
71 |
+
"lstrip": false,
|
72 |
+
"normalized": false,
|
73 |
+
"rstrip": false,
|
74 |
+
"single_word": false,
|
75 |
+
"special": true
|
76 |
+
},
|
77 |
+
"151652": {
|
78 |
+
"content": "<|vision_start|>",
|
79 |
+
"lstrip": false,
|
80 |
+
"normalized": false,
|
81 |
+
"rstrip": false,
|
82 |
+
"single_word": false,
|
83 |
+
"special": true
|
84 |
+
},
|
85 |
+
"151653": {
|
86 |
+
"content": "<|vision_end|>",
|
87 |
+
"lstrip": false,
|
88 |
+
"normalized": false,
|
89 |
+
"rstrip": false,
|
90 |
+
"single_word": false,
|
91 |
+
"special": true
|
92 |
+
},
|
93 |
+
"151654": {
|
94 |
+
"content": "<|vision_pad|>",
|
95 |
+
"lstrip": false,
|
96 |
+
"normalized": false,
|
97 |
+
"rstrip": false,
|
98 |
+
"single_word": false,
|
99 |
+
"special": true
|
100 |
+
},
|
101 |
+
"151655": {
|
102 |
+
"content": "<|image_pad|>",
|
103 |
+
"lstrip": false,
|
104 |
+
"normalized": false,
|
105 |
+
"rstrip": false,
|
106 |
+
"single_word": false,
|
107 |
+
"special": true
|
108 |
+
},
|
109 |
+
"151656": {
|
110 |
+
"content": "<|video_pad|>",
|
111 |
+
"lstrip": false,
|
112 |
+
"normalized": false,
|
113 |
+
"rstrip": false,
|
114 |
+
"single_word": false,
|
115 |
+
"special": true
|
116 |
+
},
|
117 |
+
"151657": {
|
118 |
+
"content": "<tool_call>",
|
119 |
+
"lstrip": false,
|
120 |
+
"normalized": false,
|
121 |
+
"rstrip": false,
|
122 |
+
"single_word": false,
|
123 |
+
"special": false
|
124 |
+
},
|
125 |
+
"151658": {
|
126 |
+
"content": "</tool_call>",
|
127 |
+
"lstrip": false,
|
128 |
+
"normalized": false,
|
129 |
+
"rstrip": false,
|
130 |
+
"single_word": false,
|
131 |
+
"special": false
|
132 |
+
},
|
133 |
+
"151659": {
|
134 |
+
"content": "<|fim_prefix|>",
|
135 |
+
"lstrip": false,
|
136 |
+
"normalized": false,
|
137 |
+
"rstrip": false,
|
138 |
+
"single_word": false,
|
139 |
+
"special": false
|
140 |
+
},
|
141 |
+
"151660": {
|
142 |
+
"content": "<|fim_middle|>",
|
143 |
+
"lstrip": false,
|
144 |
+
"normalized": false,
|
145 |
+
"rstrip": false,
|
146 |
+
"single_word": false,
|
147 |
+
"special": false
|
148 |
+
},
|
149 |
+
"151661": {
|
150 |
+
"content": "<|fim_suffix|>",
|
151 |
+
"lstrip": false,
|
152 |
+
"normalized": false,
|
153 |
+
"rstrip": false,
|
154 |
+
"single_word": false,
|
155 |
+
"special": false
|
156 |
+
},
|
157 |
+
"151662": {
|
158 |
+
"content": "<|fim_pad|>",
|
159 |
+
"lstrip": false,
|
160 |
+
"normalized": false,
|
161 |
+
"rstrip": false,
|
162 |
+
"single_word": false,
|
163 |
+
"special": false
|
164 |
+
},
|
165 |
+
"151663": {
|
166 |
+
"content": "<|repo_name|>",
|
167 |
+
"lstrip": false,
|
168 |
+
"normalized": false,
|
169 |
+
"rstrip": false,
|
170 |
+
"single_word": false,
|
171 |
+
"special": false
|
172 |
+
},
|
173 |
+
"151664": {
|
174 |
+
"content": "<|file_sep|>",
|
175 |
+
"lstrip": false,
|
176 |
+
"normalized": false,
|
177 |
+
"rstrip": false,
|
178 |
+
"single_word": false,
|
179 |
+
"special": false
|
180 |
+
},
|
181 |
+
"151665": {
|
182 |
+
"content": "<tool_response>",
|
183 |
+
"lstrip": false,
|
184 |
+
"normalized": false,
|
185 |
+
"rstrip": false,
|
186 |
+
"single_word": false,
|
187 |
+
"special": false
|
188 |
+
},
|
189 |
+
"151666": {
|
190 |
+
"content": "</tool_response>",
|
191 |
+
"lstrip": false,
|
192 |
+
"normalized": false,
|
193 |
+
"rstrip": false,
|
194 |
+
"single_word": false,
|
195 |
+
"special": false
|
196 |
+
},
|
197 |
+
"151667": {
|
198 |
+
"content": "<think>",
|
199 |
+
"lstrip": false,
|
200 |
+
"normalized": false,
|
201 |
+
"rstrip": false,
|
202 |
+
"single_word": false,
|
203 |
+
"special": false
|
204 |
+
},
|
205 |
+
"151668": {
|
206 |
+
"content": "</think>",
|
207 |
+
"lstrip": false,
|
208 |
+
"normalized": false,
|
209 |
+
"rstrip": false,
|
210 |
+
"single_word": false,
|
211 |
+
"special": false
|
212 |
+
}
|
213 |
+
},
|
214 |
+
"additional_special_tokens": [
|
215 |
+
"<|im_start|>",
|
216 |
+
"<|im_end|>",
|
217 |
+
"<|object_ref_start|>",
|
218 |
+
"<|object_ref_end|>",
|
219 |
+
"<|box_start|>",
|
220 |
+
"<|box_end|>",
|
221 |
+
"<|quad_start|>",
|
222 |
+
"<|quad_end|>",
|
223 |
+
"<|vision_start|>",
|
224 |
+
"<|vision_end|>",
|
225 |
+
"<|vision_pad|>",
|
226 |
+
"<|image_pad|>",
|
227 |
+
"<|video_pad|>"
|
228 |
+
],
|
229 |
+
"bos_token": null,
|
230 |
+
"clean_up_tokenization_spaces": false,
|
231 |
+
"eos_token": "<|im_end|>",
|
232 |
+
"errors": "replace",
|
233 |
+
"extra_special_tokens": {},
|
234 |
+
"model_max_length": 131072,
|
235 |
+
"pad_token": "<|endoftext|>",
|
236 |
+
"padding_side": "right",
|
237 |
+
"split_special_tokens": false,
|
238 |
+
"tokenizer_class": "Qwen2Tokenizer",
|
239 |
+
"unk_token": null
|
240 |
+
}
|
vocab.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|