初始化项目,由ModelHub XC社区提供模型
Model: nex-agi/internlm3-8B-Nex-N1 Source: Original Platform
This commit is contained in:
53
.gitattributes
vendored
Normal file
53
.gitattributes
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
*.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
|
||||
|
||||
*.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-00003-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00001-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00002-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00004-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
tokenizer.model filter=lfs diff=lfs merge=lfs -text
|
||||
3
Nex-N1-TechReport.pdf
Normal file
3
Nex-N1-TechReport.pdf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b32a420ccd3f74452e9932d04dc334b791c710f29c0d9d274745ea95572bedae
|
||||
size 6464309
|
||||
98
README.md
Normal file
98
README.md
Normal file
@@ -0,0 +1,98 @@
|
||||
---
|
||||
license: apache-2.0
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<img src="./figures/NEX_logo.svg" width="20%"/>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
🏠 <a href="https://nex.sii.edu.cn"><b>Home Page</b></a>   |   
|
||||
🤗 <a href="https://hf.co/collections/nex-agi/nex-n1"><b>Model</b></a>   |   
|
||||
🤗 <a href="https://huggingface.co/datasets/nex-agi/agent-sft"><b>Data</b></a>   |   
|
||||
📑 <a href="https://github.com/nex-agi/Nex-N1/blob/main/Nex-N1-TechReport.pdf"><b>Tech Report</b></a>  
|
||||
</div>
|
||||
|
||||
# Nex-N1
|
||||
|
||||
Nex is a next-generation, full-stack agentic platform that brings foundation models, synthetic data pipelines, RL training, agent frameworks, and deployment tools together in one unified ecosystem.
|
||||
DeepSeek-V3.1-Nex-N1 is the flagship release of the Nex-N1 series — a post-trained model designed to highlight agent autonomy, tool use, and real-world productivity.
|
||||
We are committed to making it easier than ever to build and deploy AI agents by offering researchers and entrepreneurs a high-performance, reliable, and cost-effective "out-of-the-box" agent system.
|
||||
|
||||
## Highlights
|
||||
|
||||
- **Full spectrum model matrix:** From 8B to 671B parameters, the Nex series covers everything from edge-friendly setups to frontier-scale deployments.
|
||||
- **Agent-focused performance:** Demonstrates industry-leading results on programming, tool-use, web-search, and other multi-hop reasoning tasks.
|
||||
- **Production-ready utility:** Excels at mini-app development, website authoring, slide creation, and immersive role-play—delivering immediate productivity
|
||||
gains.
|
||||
- **End-to-end control:** Developers can build the entire data-to-deployment loop on top of Nex, ensuring sovereignty while keeping costs predictable.
|
||||
- **Open ecosystem:** Turnkey synthetic data pipelines, curated datasets, Nex-N1 checkpoints, the NexAU Agent framework, the EaaS MoE inference stack, and NexRL
|
||||
training services are all openly available.
|
||||
|
||||
## Performance
|
||||
|
||||
Nex-N1 is evaluated on six representative agentic benchmarks (general + professional). The model consistently ranks at or near the top across tool-using, web-search, and coding-heavy evaluations, showing strong readiness for real-world agent workflows.
|
||||
|
||||

|
||||
|
||||
<ul align="left" style="font-size:12px; color:#6c757d;">
|
||||
<li>Data points are sourced by default from the model’s official technical report or blog, as well as the benchmark’s official results. All other metrics were tested in strict compliance with the official standard evaluation framework.</li>
|
||||
<li>Results for Tau2-bench are derived via a weighted average.</li>
|
||||
<li>For SWE-verified-bench, test results are based on an internal scaffold built with OpenHands—using a 128k context length and 150 maximum steps—and represent the average of four runs.</li>
|
||||
<li>Terminal-Bench2 is evaluated using the official Terminus2 agent.</li>
|
||||
</ul>
|
||||
|
||||
Nex-N1 provides various size models from 8B to 671B for different usage scenarios.
|
||||
|
||||
| Model | GAIA2 | τ2-Bench | SWE-bench Verified | Terminal-Bench2 | BaxBench | BFCL v4 |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| [DeepSeek-V3.1-Nex-N1](https://huggingface.co/nex-agi/DeepSeek-V3.1-Nex-N1) | 29.5 | 80.2 | 70.6 | 31.8 | 59.7 | 65.3 |
|
||||
| [Qwen3-32B-Nex-N1](https://huggingface.co/nex-agi/Qwen3-32B-Nex-N1) | 16.7 | 72.1 | 50.5 | 16.7 | 34.8 | 60.5 |
|
||||
| [Qwen3-30B-A3B-Nex-N1](https://huggingface.co/nex-agi/Qwen3-30B-A3B-Nex-N1) | 11.3 | 65.3 | 29.7 | 8.3 | 13.6 | 51.9 |
|
||||
| [internlm3-8B-Nex-N1](https://huggingface.co/nex-agi/internlm3-8B-Nex-N1) | 8.6 | 63.0 | 20.3 | - | - | 44.5 |
|
||||
|
||||
Nex-N1 demonstrates competitive performance across all evaluation scenarios, showing particularly strong results in practical coding and HTML generation tasks.
|
||||
|
||||
<div align="center">
|
||||
<img src="./figures/coding-eval.png" width="80%"/>
|
||||
<div>Practical Coding Evaluation</div>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<img src="./figures/html-eval.png" width="80%"/>
|
||||
<div>HTML Generation Evaluation</div>
|
||||
</div>
|
||||
|
||||
Refer to <https://huggingface.co/datasets/nex-agi/coding-eval> and <https://huggingface.co/datasets/nex-agi/html-eval> for more details.
|
||||
|
||||
## Usage
|
||||
|
||||
### Local Deployment
|
||||
|
||||
We recommend `sglang` for serving Nex-series models locally:
|
||||
|
||||
```bash
|
||||
python -m sglang.launch_server --model-path /path/to/your/model
|
||||
```
|
||||
|
||||
### Function Calling
|
||||
|
||||
Nex-series models support robust function-calling capabilities. To maximize the function-calling capabilities of the Nex-series models, we modified the tool parser of `qwen3_coder`, see: <https://github.com/sgl-project/sglang/pull/13411>. To enable this feature, simply add the `--tool-call-parser qwen3_coder` flag when launching the server:
|
||||
|
||||
```bash
|
||||
python -m sglang.launch_server --model-path /path/to/your/model --tool-call-parser qwen3_coder
|
||||
```
|
||||
|
||||
### Mini Program Development
|
||||
|
||||
Nex-N1 is optimized for mini program development. For optimal performance, we recommend using Claude Code configured with both `context7` and a search MCP.
|
||||
|
||||
```shell
|
||||
claude mcp add --transport http context7 https://mcp.context7.com/mcp --header "CONTEXT7_API_KEY: [CONTEXT7_API_KEY]"
|
||||
|
||||
claude mcp add --transport stdio serper-search --env SERPER_API_KEY=[SERPER_API_KEY] -- npx -y serper-search-scrape-mcp-server
|
||||
```
|
||||
|
||||
Refer to <https://github.com/upstash/context7> for more details on setting up `context7`.
|
||||
160
chat_template.jinja
Normal file
160
chat_template.jinja
Normal file
@@ -0,0 +1,160 @@
|
||||
{% macro render_item_list(item_list, tag_name='required') %}
|
||||
{%- if item_list is defined and item_list is iterable and item_list | length > 0 %}
|
||||
{%- if tag_name %}{{- '\n<' ~ tag_name ~ '>' -}}{% endif %}
|
||||
{{- '[' }}
|
||||
{%- for item in item_list -%}
|
||||
{%- if loop.index > 1 %}{{- ", "}}{% endif -%}
|
||||
{%- if item is string -%}
|
||||
{{ "`" ~ item ~ "`" }}
|
||||
{%- else -%}
|
||||
{{ item }}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{{- ']' }}
|
||||
{%- if tag_name %}{{- '</' ~ tag_name ~ '>' -}}{% endif %}
|
||||
{%- endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{%- if not add_generation_prompt is defined %}
|
||||
{% set add_generation_prompt = false %}
|
||||
{%- endif %}
|
||||
|
||||
{%- set ns = namespace(is_first=false, system_prompt='You are Nex, a helpful assistant.', is_first_sp=true, is_last_user=false) %}
|
||||
{%- for message in messages %}
|
||||
{%- if message['role'] == 'system' %}
|
||||
{%- if ns.is_first_sp %}
|
||||
{% set ns.system_prompt = message['content'] %}
|
||||
{% set ns.is_first_sp = false %}
|
||||
{%- else %}
|
||||
{% set ns.system_prompt = ns.system_prompt ~ '\n\n' ~ message['content'] %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endfor -%}
|
||||
|
||||
{%- if tools is defined and tools is not none %}
|
||||
{% set tool_ns = namespace(text='You are a helpful assistant with tool calling capabilities. '
|
||||
'When a tool call is needed, you MUST use the following format to issue the call:\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:\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\n'
|
||||
'You have access to the following functions:\n\n'
|
||||
'<tools>') %}
|
||||
{% for tool in tools %}
|
||||
{%- if tool.function is defined %}
|
||||
{%- set tool = tool.function %}
|
||||
{%- endif %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<function>\n<name>' ~ tool.name ~ '</name>' %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<description>' ~ (tool.description | trim) ~ '</description>' %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<parameters>' %}
|
||||
{%- for param_name, param_fields in tool.parameters.properties|items %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<parameter>' %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<name>' ~ param_name ~ '</name>' %}
|
||||
{%- if param_fields.type is defined %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<type>' ~ (param_fields.type | string) ~ '</type>' %}
|
||||
{%- endif %}
|
||||
{%- if param_fields.description is defined %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<description>' ~ (param_fields.description | trim) ~ '</description>' %}
|
||||
{%- endif %}
|
||||
{%- if param_fields.enum is defined and param_fields.enum is iterable and param_fields.enum | length > 0 %}
|
||||
{% set tool_ns.text = tool_ns.text ~ render_item_list(param_fields.enum, 'enum') %}
|
||||
{%- endif %}
|
||||
{%- set handled_keys = ['type', 'description', 'enum', 'required'] %}
|
||||
{%- for json_key in param_fields.keys() | reject("in", handled_keys) %}
|
||||
{%- set normed_json_key = json_key | replace("-", "_") | replace(" ", "_") | replace("$", "") %}
|
||||
{%- if param_fields[json_key] is mapping %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<' ~ normed_json_key ~ '>' ~ (param_fields[json_key] | tojson | safe) ~ '</' ~ normed_json_key ~ '>' %}
|
||||
{%- else %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<' ~ normed_json_key ~ '>' ~ (param_fields[json_key] | string) ~ '</' ~ normed_json_key ~ '>' %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- if param_fields.required is defined and param_fields.required is iterable and param_fields.required | length > 0 %}
|
||||
{% set tool_ns.text = tool_ns.text ~ render_item_list(param_fields.required, 'required') %}
|
||||
{%- endif %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n</parameter>' %}
|
||||
{%- endfor %}
|
||||
{%- if tool.parameters.required is defined and tool.parameters.required is iterable and tool.parameters.required | length > 0 %}
|
||||
{% set tool_ns.text = tool_ns.text ~ render_item_list(tool.parameters.required, 'required') %}
|
||||
{%- endif %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n</parameters>' %}
|
||||
{%- if tool.return is defined %}
|
||||
{%- if tool.return is mapping %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<return>' ~ (tool.return | tojson | safe) ~ '</return>' %}
|
||||
{%- else %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n<return>' ~ (tool.return | string) ~ '</return>' %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n</function>' %}
|
||||
{% endfor %}
|
||||
{% set tool_ns.text = tool_ns.text ~ '\n</tools>' %}
|
||||
{% set ns.system_prompt = ns.system_prompt ~ '\n\n' ~ tool_ns.text %}
|
||||
{%- endif %}
|
||||
|
||||
{%- if ns.system_prompt %}
|
||||
{{- '<|im_start|>system\n' ~ ns.system_prompt ~ '<|im_end|>\n' }}
|
||||
{%- endif %}
|
||||
|
||||
{%- for message in messages %}
|
||||
{% set content = message['content'] %}
|
||||
{%- if content is none %}
|
||||
{% set content = '' %}
|
||||
{%- endif %}
|
||||
{%- if message['role'] == 'user' %}
|
||||
{%- set ns.is_first = false -%}
|
||||
{%- set ns.is_last_user = true -%}
|
||||
{{- '<|im_start|>user\n' ~ content ~ '<|im_end|>\n' }}
|
||||
{%- endif %}
|
||||
{%- if message['role'] == 'assistant' %}
|
||||
{% if '</think>' in content %}
|
||||
{% set content = content.split('</think>')[-1] %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{%- if message['role'] == 'assistant' and message['tool_calls'] is defined and message['tool_calls'] is not none %}
|
||||
{%- set ns.is_last_user = false -%}
|
||||
{%- set ns.is_first = false %}
|
||||
{{- '<|im_start|>assistant' }}
|
||||
{%- if content is defined and content is not none and content | trim | length > 0 %}
|
||||
{{- '\n' + content | trim + '\n' }}
|
||||
{%- endif %}
|
||||
{%- for tool in message['tool_calls'] %}
|
||||
{%- if tool.function is defined %}
|
||||
{%- set tool_call = tool.function %}
|
||||
{%- else %}
|
||||
{%- set tool_call = tool %}
|
||||
{%- endif %}
|
||||
{{- '\n<tool_call>\n<function=' ~ tool_call.name ~ '>\n' }}
|
||||
{%- if tool_call.arguments is defined %}
|
||||
{%- for args_name, args_value in tool_call.arguments|items %}
|
||||
{{- '<parameter=' ~ args_name ~ '>\n' }}
|
||||
{%- set args_value = args_value if args_value is string else args_value | string %}
|
||||
{{- args_value }}
|
||||
{{- '\n</parameter>\n' }}
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
||||
{{- '</function>\n</tool_call>' }}
|
||||
{%- endfor %}
|
||||
{{- '<|im_end|>\n'}}
|
||||
{%- endif %}
|
||||
{%- if message['role'] == 'assistant' and (message['tool_calls'] is not defined or message['tool_calls'] is none)%}
|
||||
{%- set ns.is_last_user = false -%}
|
||||
{{- '<|im_start|>assistant\n' ~ content ~ '<|im_end|>\n'}}
|
||||
{%- endif %}
|
||||
{%- if message['role'] == 'tool' %}
|
||||
{%- set ns.is_last_user = false -%}
|
||||
{%- if loop.previtem and loop.previtem['role'] != 'tool' %}
|
||||
{{- '<|im_start|>user\n' }}
|
||||
{%- endif %}
|
||||
{{- '<tool_response>\n' }}
|
||||
{{- content }}
|
||||
{{- '\n</tool_response>\n' }}
|
||||
{%- if not loop.last and loop.nextitem['role'] != 'tool' %}
|
||||
{{- '<|im_end|>\n' }}
|
||||
{%- elif loop.last %}
|
||||
{{- '<|im_end|>\n' }}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endfor -%}
|
||||
{% if add_generation_prompt %}
|
||||
{{- '<|im_start|>assistant\n'}}
|
||||
{%- endif %}
|
||||
41
config.json
Normal file
41
config.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"architectures": [
|
||||
"InternLM3ForCausalLM"
|
||||
],
|
||||
"attention_dropout": 0.0,
|
||||
"auto_map": {
|
||||
"AutoConfig": "configuration_internlm3.InternLM3Config",
|
||||
"AutoModel": "modeling_internlm3.InternLM3Model",
|
||||
"AutoModelForCausalLM": "modeling_internlm3.InternLM3ForCausalLM"
|
||||
},
|
||||
"bias": false,
|
||||
"bos_token_id": 1,
|
||||
"eos_token_id": [
|
||||
2,
|
||||
128131,
|
||||
128129
|
||||
],
|
||||
"head_dim": 128,
|
||||
"hidden_act": "silu",
|
||||
"hidden_size": 4096,
|
||||
"initializer_range": 0.02,
|
||||
"intermediate_size": 10240,
|
||||
"max_position_embeddings": 131072,
|
||||
"model_type": "internlm3",
|
||||
"num_attention_heads": 32,
|
||||
"num_hidden_layers": 48,
|
||||
"num_key_value_heads": 2,
|
||||
"pad_token_id": 2,
|
||||
"qkv_bias": false,
|
||||
"rms_norm_eps": 1e-05,
|
||||
"rope_scaling": {
|
||||
"factor": 6.0,
|
||||
"rope_type": "dynamic"
|
||||
},
|
||||
"rope_theta": 50000000,
|
||||
"tie_word_embeddings": false,
|
||||
"torch_dtype": "bfloat16",
|
||||
"transformers_version": "4.47.1",
|
||||
"use_cache": true,
|
||||
"vocab_size": 128512
|
||||
}
|
||||
1
configuration.json
Normal file
1
configuration.json
Normal file
@@ -0,0 +1 @@
|
||||
{"framework":"Pytorch","task":"text-generation"}
|
||||
197
configuration_internlm3.py
Normal file
197
configuration_internlm3.py
Normal file
@@ -0,0 +1,197 @@
|
||||
# coding=utf-8
|
||||
# Copyright (c) The InternLM team and The HuggingFace Inc. team. All rights reserved.
|
||||
#
|
||||
# This code is based on transformers/src/transformers/models/llama/configuration_llama.py
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
""" InternLM3 model configuration"""
|
||||
|
||||
from transformers.configuration_utils import PretrainedConfig
|
||||
from transformers.modeling_rope_utils import rope_config_validation
|
||||
from transformers.utils import logging
|
||||
|
||||
|
||||
logger = logging.get_logger(__name__)
|
||||
|
||||
|
||||
class InternLM3Config(PretrainedConfig):
|
||||
r"""
|
||||
This is the configuration class to store the configuration of a [`InternLM2Model`]. It is used to instantiate
|
||||
an InternLM2 model according to the specified arguments, defining the model architecture. Instantiating a
|
||||
configuration with the defaults will yield a similar configuration to that of the InternLM2-7B.
|
||||
|
||||
Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
|
||||
documentation from [`PretrainedConfig`] for more information.
|
||||
|
||||
|
||||
Args:
|
||||
vocab_size (`int`, *optional*, defaults to 151936):
|
||||
Vocabulary size of the InternLM3 model. Defines the number of different tokens that can be represented by the
|
||||
`inputs_ids` passed when calling [`InternLM3Model`]
|
||||
hidden_size (`int`, *optional*, defaults to 4096):
|
||||
Dimension of the hidden representations.
|
||||
intermediate_size (`int`, *optional*, defaults to 22016):
|
||||
Dimension of the MLP representations.
|
||||
num_hidden_layers (`int`, *optional*, defaults to 32):
|
||||
Number of hidden layers in the Transformer encoder.
|
||||
num_attention_heads (`int`, *optional*, defaults to 32):
|
||||
Number of attention heads for each attention layer in the Transformer encoder.
|
||||
num_key_value_heads (`int`, *optional*, defaults to 32):
|
||||
This is the number of key_value heads that should be used to implement Grouped Query Attention. If
|
||||
`num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
|
||||
`num_key_value_heads=1` the model will use Multi Query Attention (MQA) otherwise GQA is used. When
|
||||
converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
|
||||
by meanpooling all the original heads within that group. For more details checkout [this
|
||||
paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to `32`.
|
||||
hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
|
||||
The non-linear activation function (function or string) in the decoder.
|
||||
max_position_embeddings (`int`, *optional*, defaults to 32768):
|
||||
The maximum sequence length that this model might ever be used with.
|
||||
initializer_range (`float`, *optional*, defaults to 0.02):
|
||||
The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
|
||||
rms_norm_eps (`float`, *optional*, defaults to 1e-06):
|
||||
The epsilon used by the rms normalization layers.
|
||||
use_cache (`bool`, *optional*, defaults to `True`):
|
||||
Whether or not the model should return the last key/values attentions (not used by all models). Only
|
||||
relevant if `config.is_decoder=True`.
|
||||
tie_word_embeddings (`bool`, *optional*, defaults to `False`):
|
||||
Whether the model's input and output word embeddings should be tied.
|
||||
rope_theta (`float`, *optional*, defaults to 10000.0):
|
||||
The base period of the RoPE embeddings.
|
||||
rope_scaling (`Dict`, *optional*):
|
||||
Dictionary containing the scaling configuration for the RoPE embeddings. NOTE: if you apply new rope type
|
||||
and you expect the model to work on longer `max_position_embeddings`, we recommend you to update this value
|
||||
accordingly.
|
||||
Expected contents:
|
||||
`rope_type` (`str`):
|
||||
The sub-variant of RoPE to use. Can be one of ['default', 'linear', 'dynamic', 'yarn', 'longrope',
|
||||
'llama3'], with 'default' being the original RoPE implementation.
|
||||
`factor` (`float`, *optional*):
|
||||
Used with all rope types except 'default'. The scaling factor to apply to the RoPE embeddings. In
|
||||
most scaling types, a `factor` of x will enable the model to handle sequences of length x *
|
||||
original maximum pre-trained length.
|
||||
`original_max_position_embeddings` (`int`, *optional*):
|
||||
Used with 'dynamic', 'longrope' and 'llama3'. The original max position embeddings used during
|
||||
pretraining.
|
||||
`attention_factor` (`float`, *optional*):
|
||||
Used with 'yarn' and 'longrope'. The scaling factor to be applied on the attention
|
||||
computation. If unspecified, it defaults to value recommended by the implementation, using the
|
||||
`factor` field to infer the suggested value.
|
||||
`beta_fast` (`float`, *optional*):
|
||||
Only used with 'yarn'. Parameter to set the boundary for extrapolation (only) in the linear
|
||||
ramp function. If unspecified, it defaults to 32.
|
||||
`beta_slow` (`float`, *optional*):
|
||||
Only used with 'yarn'. Parameter to set the boundary for interpolation (only) in the linear
|
||||
ramp function. If unspecified, it defaults to 1.
|
||||
`short_factor` (`List[float]`, *optional*):
|
||||
Only used with 'longrope'. The scaling factor to be applied to short contexts (<
|
||||
`original_max_position_embeddings`). Must be a list of numbers with the same length as the hidden
|
||||
size divided by the number of attention heads divided by 2
|
||||
`long_factor` (`List[float]`, *optional*):
|
||||
Only used with 'longrope'. The scaling factor to be applied to long contexts (<
|
||||
`original_max_position_embeddings`). Must be a list of numbers with the same length as the hidden
|
||||
size divided by the number of attention heads divided by 2
|
||||
`low_freq_factor` (`float`, *optional*):
|
||||
Only used with 'llama3'. Scaling factor applied to low frequency components of the RoPE
|
||||
`high_freq_factor` (`float`, *optional*):
|
||||
Only used with 'llama3'. Scaling factor applied to high frequency components of the RoPE
|
||||
qkv_bias (`bool`, *optional*, defaults to `False`):
|
||||
Whether to use a bias in the query, key and value projection layers during self-attention.
|
||||
attention_dropout (`float`, *optional*, defaults to 0.0):
|
||||
The dropout ratio for the attention probabilities.
|
||||
bias (`bool`, *optional*, defaults to `False`):
|
||||
Whether to use a bias in o_proj, up_proj, down_proj and gate_proj layers.
|
||||
head_dim (`int`, *optional*):
|
||||
The attention head dimension. If None, it will default to hidden_size // num_heads
|
||||
|
||||
```python
|
||||
>>> from transformers import InternLM3Model, InternLM3Config
|
||||
|
||||
>>> # Initializing a InternLM3 style configuration
|
||||
>>> configuration = InternLM3Config()
|
||||
|
||||
>>> # Initializing a model from the InternLM3-8B style configuration
|
||||
>>> model = InternLM3Model(configuration)
|
||||
|
||||
>>> # Accessing the model configuration
|
||||
>>> configuration = model.config
|
||||
```"""
|
||||
|
||||
model_type = "internlm3"
|
||||
keys_to_ignore_at_inference = ["past_key_values"]
|
||||
|
||||
# Default tensor parallel plan for base model `InternLM3`
|
||||
base_model_tp_plan = {
|
||||
"layers.*.self_attn.q_proj": "colwise",
|
||||
"layers.*.self_attn.k_proj": "colwise",
|
||||
"layers.*.self_attn.v_proj": "colwise",
|
||||
"layers.*.self_attn.o_proj": "rowwise",
|
||||
"layers.*.mlp.gate_proj": "colwise",
|
||||
"layers.*.mlp.up_proj": "colwise",
|
||||
"layers.*.mlp.down_proj": "rowwise",
|
||||
}
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
vocab_size=128512,
|
||||
hidden_size=4096,
|
||||
intermediate_size=11008,
|
||||
num_hidden_layers=32,
|
||||
num_attention_heads=32,
|
||||
num_key_value_heads=32,
|
||||
hidden_act="silu",
|
||||
max_position_embeddings=32768,
|
||||
initializer_range=0.02,
|
||||
rms_norm_eps=1e-6,
|
||||
use_cache=True,
|
||||
tie_word_embeddings=False,
|
||||
rope_theta=10000.0,
|
||||
rope_scaling=None,
|
||||
qkv_bias=False,
|
||||
attention_dropout=0.0,
|
||||
bias=False,
|
||||
head_dim=None,
|
||||
**kwargs,
|
||||
):
|
||||
self.vocab_size = vocab_size
|
||||
self.max_position_embeddings = max_position_embeddings
|
||||
self.hidden_size = hidden_size
|
||||
self.intermediate_size = intermediate_size
|
||||
self.num_hidden_layers = num_hidden_layers
|
||||
self.num_attention_heads = num_attention_heads
|
||||
|
||||
# for backward compatibility
|
||||
if num_key_value_heads is None:
|
||||
num_key_value_heads = num_attention_heads
|
||||
|
||||
self.num_key_value_heads = num_key_value_heads
|
||||
self.hidden_act = hidden_act
|
||||
self.initializer_range = initializer_range
|
||||
self.rms_norm_eps = rms_norm_eps
|
||||
self.use_cache = use_cache
|
||||
self.rope_theta = rope_theta
|
||||
self.rope_scaling = rope_scaling
|
||||
self.qkv_bias = qkv_bias
|
||||
self.attention_dropout = attention_dropout
|
||||
self.bias = bias
|
||||
self.head_dim = head_dim if head_dim is not None else self.hidden_size // self.num_attention_heads
|
||||
# Validate the correctness of rotary position embeddings parameters
|
||||
# BC: if there is a 'type' field, move it to 'rope_type'.
|
||||
if self.rope_scaling is not None and "type" in self.rope_scaling:
|
||||
self.rope_scaling["rope_type"] = self.rope_scaling["type"]
|
||||
rope_config_validation(self)
|
||||
|
||||
super().__init__(
|
||||
tie_word_embeddings=tie_word_embeddings,
|
||||
**kwargs,
|
||||
)
|
||||
7
figures/NEX_logo.svg
Normal file
7
figures/NEX_logo.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg width="1118" height="354" viewBox="0 0 1118 354" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1000.47 204.517L977.244 175.437L949.704 141L949.165 141.652L906.805 194.625L884.304 222.799L883.792 223.451L883.765 223.479L861.237 251.652L846.66 233.399L823.404 204.319L780.559 257.944L758.031 286.117L705 352.468H835.745L845.932 339.741L888.777 286.117L911.305 257.944L911.332 257.916L934.56 286.996L949.139 305.248L986.891 352.468H1117.64C1094.98 323.813 1044.55 260.048 1015.08 222.771L1000.47 204.517Z" fill="black"/>
|
||||
<path d="M845.932 176.379L869.16 205.459L869.187 205.431L869.727 204.779L892.227 176.605L934.56 123.632L935.099 122.98L957.627 94.808L972.205 113.06L999.744 147.525L1093.41 30.3267L1106.48 13.9454L1117.64 3.25913e-05H986.891L934.372 65.728L911.871 93.872L911.332 94.552L838.845 3.8827L835.747 3.25913e-05H705L845.959 176.351L845.932 176.379Z" fill="black"/>
|
||||
<path d="M501.499 261.748V221.813H752.03V130.86H501.499V90.9534H751.6L678.9 0H415L415.027 352.701H678.9L751.6 261.748H501.499Z" fill="black"/>
|
||||
<path d="M281.67 249.173L135.396 153.907V266.272L268.634 353.041H394.921V352.7H394.927V3.05176e-05H281.67V249.173Z" fill="black"/>
|
||||
<path d="M113.257 103.868L259.532 199.135V86.7694L126.293 3.05176e-05L0.00665283 3.05176e-05V0.34137H0V353.041H113.257L113.257 103.868Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
BIN
figures/Nex-N1-Benchamrk-white.png
Normal file
BIN
figures/Nex-N1-Benchamrk-white.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 613 KiB |
3
figures/coding-eval.png
Normal file
3
figures/coding-eval.png
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:08ee86e410634ca6b74e3972ce8d5ca27921af3f8b54afba2b5532b51fc17f07
|
||||
size 282848
|
||||
3
figures/html-eval.png
Normal file
3
figures/html-eval.png
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7f32196b03b76469f6ab0c000267b2993dd1f2c921c949482845ddd62a995547
|
||||
size 284325
|
||||
7
generation_config.json
Normal file
7
generation_config.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"_from_model_config": true,
|
||||
"bos_token_id": 1,
|
||||
"eos_token_id": 2,
|
||||
"pad_token_id": 2,
|
||||
"transformers_version": "4.47.1"
|
||||
}
|
||||
3
model-00001-of-00004.safetensors
Normal file
3
model-00001-of-00004.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1e28ee05a0b63d7913996bc1d219b13385fa20813cfa92b5fead99bbcf74535d
|
||||
size 4999820088
|
||||
3
model-00002-of-00004.safetensors
Normal file
3
model-00002-of-00004.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f0be81604dcef205a264dc3721c7016fca7c9ffcee306a10d1795fff0598df46
|
||||
size 4928568784
|
||||
3
model-00003-of-00004.safetensors
Normal file
3
model-00003-of-00004.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:50407dba2bf0a72ac0ea640fe634ebe6e2c33c2727c1ba8398ad12f9c1641341
|
||||
size 4928568784
|
||||
3
model-00004-of-00004.safetensors
Normal file
3
model-00004-of-00004.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fd243f94aae95bb1871f1ae4ecf2d01eaf2e41c385fc8bcd22c4e22e87d35748
|
||||
size 2751575736
|
||||
442
model.safetensors.index.json
Normal file
442
model.safetensors.index.json
Normal file
@@ -0,0 +1,442 @@
|
||||
{
|
||||
"metadata": {
|
||||
"total_size": 17608482816
|
||||
},
|
||||
"weight_map": {
|
||||
"lm_head.weight": "model-00004-of-00004.safetensors",
|
||||
"model.embed_tokens.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.0.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.0.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.0.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.0.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.0.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.0.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.0.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.0.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.0.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.1.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.1.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.1.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.1.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.1.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.1.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.1.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.1.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.1.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.10.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.10.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.10.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.10.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.10.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.10.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.10.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.10.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.10.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.11.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.11.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.11.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.11.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.11.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.11.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.11.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.11.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.11.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.12.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.12.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.12.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.12.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.12.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.12.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.12.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.12.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.12.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.13.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.13.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.13.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.13.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.13.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.13.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.13.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.13.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.13.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.14.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.14.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.14.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.14.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.14.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.14.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.14.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.14.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.14.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.15.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.15.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.15.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.15.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.15.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.15.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.15.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.15.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.15.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.16.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.16.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.16.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.16.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.16.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.16.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.16.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.16.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.16.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.17.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.17.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.17.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.17.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.17.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.17.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.17.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.17.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.17.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.18.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.18.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.18.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.18.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.18.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.18.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.18.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.18.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.18.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.19.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.19.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.19.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.19.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.19.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.19.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.19.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.19.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.19.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.2.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.2.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.2.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.2.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.2.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.2.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.2.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.2.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.2.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.20.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.20.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.20.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.20.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.20.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.20.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.20.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.20.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.20.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.21.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.21.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.21.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.21.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.21.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.21.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.21.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.21.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.21.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.22.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.22.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.22.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.22.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.22.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.22.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.22.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.22.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.22.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.23.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.23.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.23.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.23.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.23.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.23.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.23.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.23.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.23.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.24.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.24.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.24.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.24.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.24.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.24.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.24.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.24.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.24.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.25.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.25.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.25.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.25.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.25.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.25.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.25.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.25.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.25.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.26.input_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.26.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.26.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.26.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.26.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.26.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.26.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.26.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.26.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.27.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.27.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.27.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.27.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.27.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.27.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.27.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.27.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.27.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
|
||||
"model.layers.28.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.28.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.28.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.28.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.28.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.28.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.28.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.28.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.28.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.29.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.29.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.29.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.29.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.29.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.29.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.29.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.29.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.29.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.3.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.3.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.3.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.3.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.3.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.3.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.3.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.3.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.3.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.30.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.30.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.30.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.30.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.30.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.30.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.30.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.30.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.30.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.31.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.31.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.31.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.31.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.31.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.31.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.31.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.31.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.31.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.32.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.32.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.32.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.32.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.32.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.32.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.32.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.32.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.32.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.33.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.33.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.33.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.33.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.33.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.33.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.33.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.33.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.33.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.34.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.34.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.34.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.34.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.34.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.34.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.34.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.34.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.34.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.35.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.35.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.35.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.35.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.35.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.35.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.35.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.35.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.35.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.36.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.36.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.36.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.36.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.36.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.36.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.36.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.36.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.36.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.37.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.37.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.37.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.37.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.37.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.37.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.37.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.37.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.37.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.38.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.38.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.38.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.38.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.38.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.38.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.38.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.38.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.38.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.39.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.39.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.39.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.39.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.39.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.39.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.39.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.39.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.39.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.4.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.4.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.4.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.4.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.4.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.4.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.4.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.4.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.4.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.40.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.40.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.40.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.40.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.40.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.40.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.40.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.40.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.40.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.41.input_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.41.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.41.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.41.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.41.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.41.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.41.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.41.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.41.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.42.input_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.42.mlp.down_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.42.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.42.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.42.post_attention_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.42.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.42.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.42.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.42.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
|
||||
"model.layers.43.input_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.43.mlp.down_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.43.mlp.gate_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.43.mlp.up_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.43.post_attention_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.43.self_attn.k_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.43.self_attn.o_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.43.self_attn.q_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.43.self_attn.v_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.44.input_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.44.mlp.down_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.44.mlp.gate_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.44.mlp.up_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.44.post_attention_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.44.self_attn.k_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.44.self_attn.o_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.44.self_attn.q_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.44.self_attn.v_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.45.input_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.45.mlp.down_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.45.mlp.gate_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.45.mlp.up_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.45.post_attention_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.45.self_attn.k_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.45.self_attn.o_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.45.self_attn.q_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.45.self_attn.v_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.46.input_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.46.mlp.down_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.46.mlp.gate_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.46.mlp.up_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.46.post_attention_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.46.self_attn.k_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.46.self_attn.o_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.46.self_attn.q_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.46.self_attn.v_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.47.input_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.47.mlp.down_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.47.mlp.gate_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.47.mlp.up_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.47.post_attention_layernorm.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.47.self_attn.k_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.47.self_attn.o_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.47.self_attn.q_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.47.self_attn.v_proj.weight": "model-00004-of-00004.safetensors",
|
||||
"model.layers.5.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.5.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.5.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.5.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.5.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.5.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.5.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.5.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.5.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.6.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.6.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.6.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.6.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.6.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.6.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.6.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.6.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.6.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.7.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.7.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.7.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.7.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.7.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.7.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.7.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.7.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.7.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.8.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.8.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.8.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.8.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.8.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.8.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.8.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.8.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.8.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.9.input_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.9.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.9.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.9.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.9.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.9.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.9.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.9.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.layers.9.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
|
||||
"model.norm.weight": "model-00004-of-00004.safetensors"
|
||||
}
|
||||
}
|
||||
54
special_tokens_map.json
Normal file
54
special_tokens_map.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"additional_special_tokens": [
|
||||
"<|im_start|>",
|
||||
"<|im_end|>",
|
||||
"<|action_start|>",
|
||||
"<|action_end|>",
|
||||
"<|interpreter|>",
|
||||
"<|plugin|>",
|
||||
"<restate>",
|
||||
"</restate>",
|
||||
"<planning>",
|
||||
"</planning>",
|
||||
"<recollect>",
|
||||
"</recollect>",
|
||||
"<execution>",
|
||||
"</execution>",
|
||||
"<review>",
|
||||
"</review>",
|
||||
"<summarize>",
|
||||
"</summarize>",
|
||||
"<retry>",
|
||||
"</retry>",
|
||||
"<conclude>",
|
||||
"</conclude>"
|
||||
],
|
||||
"bos_token": {
|
||||
"content": "<s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
},
|
||||
"eos_token": {
|
||||
"content": "</s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
},
|
||||
"pad_token": {
|
||||
"content": "</s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
},
|
||||
"unk_token": {
|
||||
"content": "<unk>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
}
|
||||
}
|
||||
294
tokenization_internlm3.py
Normal file
294
tokenization_internlm3.py
Normal file
@@ -0,0 +1,294 @@
|
||||
import os
|
||||
from shutil import copyfile
|
||||
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple
|
||||
|
||||
import sentencepiece as spm
|
||||
from transformers.tokenization_utils import AddedToken, PreTrainedTokenizer
|
||||
from transformers.utils import logging
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from transformers.tokenization_utils_base import TextInput
|
||||
|
||||
logger = logging.get_logger(__name__)
|
||||
|
||||
VOCAB_FILES_NAMES = {"vocab_file": "tokenizer.model"}
|
||||
|
||||
SPIECE_UNDERLINE = "▁"
|
||||
|
||||
|
||||
class InternLM3Tokenizer(PreTrainedTokenizer):
|
||||
"""
|
||||
Construct a InternLM3 tokenizer. Based on byte-level Byte-Pair-Encoding. The default padding token is unset as there is
|
||||
no padding token in the original model.
|
||||
|
||||
Args:
|
||||
vocab_file (`str`):
|
||||
Path to the vocabulary file.
|
||||
unk_token (`str` or `tokenizers.AddedToken`, *optional*, defaults to `"<unk>"`):
|
||||
The unknown token. A token that is not in the vocabulary cannot be converted to an ID and is set to be this
|
||||
token instead.
|
||||
bos_token (`str` or `tokenizers.AddedToken`, *optional*, defaults to `"<s>"`):
|
||||
The beginning of sequence token that was used during pretraining. Can be used a sequence classifier token.
|
||||
eos_token (`str` or `tokenizers.AddedToken`, *optional*, defaults to `"</s>"`):
|
||||
The end of sequence token.
|
||||
pad_token (`str` or `tokenizers.AddedToken`, *optional*):
|
||||
A special token used to make arrays of tokens the same size for batching purpose. Will then be ignored by
|
||||
attention mechanisms or loss computation.
|
||||
sp_model_kwargs (`Dict[str, Any]`, `Optional`, *optional*):
|
||||
Will be passed to the `SentencePieceProcessor.__init__()` method. The [Python wrapper for
|
||||
SentencePiece](https://github.com/google/sentencepiece/tree/master/python) can be used, among other things,
|
||||
to set:
|
||||
|
||||
- `enable_sampling`: Enable subword regularization.
|
||||
- `nbest_size`: Sampling parameters for unigram. Invalid for BPE-Dropout.
|
||||
|
||||
- `nbest_size = {0,1}`: No sampling is performed.
|
||||
- `nbest_size > 1`: samples from the nbest_size results.
|
||||
- `nbest_size < 0`: assuming that nbest_size is infinite and samples from the all hypothesis (lattice)
|
||||
using forward-filtering-and-backward-sampling algorithm.
|
||||
|
||||
- `alpha`: Smoothing parameter for unigram sampling, and dropout probability of merge operations for
|
||||
BPE-dropout.
|
||||
|
||||
add_bos_token (`bool`, *optional*, defaults to `True`):
|
||||
Whether or not to add an `bos_token` at the start of sequences.
|
||||
add_eos_token (`bool`, *optional*, defaults to `False`):
|
||||
Whether or not to add an `eos_token` at the end of sequences.
|
||||
clean_up_tokenization_spaces (`bool`, *optional*, defaults to `False`):
|
||||
Whether or not to cleanup spaces after decoding, cleanup consists in removing potential artifacts like
|
||||
extra spaces.
|
||||
use_default_system_prompt (`bool`, *optional*, defaults to `False`):
|
||||
Whether or not the default system prompt for InternLM3 should be used.
|
||||
spaces_between_special_tokens (`bool`, *optional*, defaults to `False`):
|
||||
Whether or not to add spaces between special tokens.
|
||||
spaces_for_interleaved_special_tokens (`bool`, *optional*, defaults to `False`):
|
||||
Whether or not to add spaces between special tokens that are interleaved with normal tokens.
|
||||
add_prefix_space (`bool`, *optional*, defaults to `True`):
|
||||
Whether or not to add an initial space to the input. This allows to treat the leading word just as any
|
||||
other word. Again, this should be set with `from_slow=True` to make sure it's taken into account.
|
||||
"""
|
||||
|
||||
vocab_files_names = VOCAB_FILES_NAMES
|
||||
model_input_names = ["input_ids", "attention_mask"]
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
vocab_file,
|
||||
unk_token="<unk>",
|
||||
bos_token="<s>",
|
||||
eos_token="</s>",
|
||||
pad_token=None,
|
||||
sp_model_kwargs: Optional[Dict[str, Any]] = None,
|
||||
add_bos_token=True,
|
||||
add_eos_token=False,
|
||||
clean_up_tokenization_spaces=False,
|
||||
use_default_system_prompt=False,
|
||||
spaces_between_special_tokens=False,
|
||||
spaces_for_interleaved_special_tokens=False,
|
||||
add_prefix_space=True,
|
||||
**kwargs,
|
||||
):
|
||||
self.sp_model_kwargs = {} if sp_model_kwargs is None else sp_model_kwargs
|
||||
bos_token = AddedToken(bos_token, normalized=False, special=True) if isinstance(bos_token, str) else bos_token
|
||||
eos_token = AddedToken(eos_token, normalized=False, special=True) if isinstance(eos_token, str) else eos_token
|
||||
unk_token = AddedToken(unk_token, normalized=False, special=True) if isinstance(unk_token, str) else unk_token
|
||||
pad_token = AddedToken(pad_token, normalized=False, special=True) if isinstance(pad_token, str) else pad_token
|
||||
|
||||
self.vocab_file = vocab_file
|
||||
self.add_bos_token = add_bos_token
|
||||
self.add_eos_token = add_eos_token
|
||||
self.use_default_system_prompt = use_default_system_prompt
|
||||
self.sp_model = spm.SentencePieceProcessor(**self.sp_model_kwargs)
|
||||
self.sp_model.Load(vocab_file)
|
||||
self.add_prefix_space = add_prefix_space
|
||||
self.spaces_for_interleaved_special_tokens = spaces_for_interleaved_special_tokens
|
||||
|
||||
vocab_size = self.sp_model.get_piece_size()
|
||||
self.decoder = {i: self.sp_model.id_to_piece(i) for i in range(vocab_size)}
|
||||
|
||||
super().__init__(
|
||||
bos_token=bos_token,
|
||||
eos_token=eos_token,
|
||||
unk_token=unk_token,
|
||||
pad_token=pad_token,
|
||||
add_bos_token=add_bos_token,
|
||||
add_eos_token=add_eos_token,
|
||||
sp_model_kwargs=sp_model_kwargs,
|
||||
clean_up_tokenization_spaces=clean_up_tokenization_spaces,
|
||||
use_default_system_prompt=use_default_system_prompt,
|
||||
spaces_between_special_tokens=spaces_between_special_tokens,
|
||||
add_prefix_space=add_prefix_space,
|
||||
**kwargs,
|
||||
)
|
||||
|
||||
def __getstate__(self):
|
||||
state = self.__dict__.copy()
|
||||
state["sp_model"] = None
|
||||
state["sp_model_proto"] = self.sp_model.serialized_model_proto()
|
||||
return state
|
||||
|
||||
def __setstate__(self, d):
|
||||
self.__dict__.update(d)
|
||||
self.sp_model = spm.SentencePieceProcessor(**self.sp_model_kwargs)
|
||||
self.sp_model.LoadFromSerializedProto(self.sp_model_proto)
|
||||
|
||||
@property
|
||||
def vocab_size(self):
|
||||
"""Returns vocab size"""
|
||||
return self.sp_model.get_piece_size()
|
||||
|
||||
def get_vocab(self):
|
||||
"""Returns vocab as a dict"""
|
||||
vocab = {self.convert_ids_to_tokens(i): i for i in range(self.vocab_size)}
|
||||
vocab.update(self.added_tokens_encoder)
|
||||
return vocab
|
||||
|
||||
def tokenize(self, text: "TextInput", **kwargs) -> List[str]:
|
||||
"""
|
||||
Args:
|
||||
text: TextInput
|
||||
Simply calls PreTrainedTokenizer's method
|
||||
"""
|
||||
return super().tokenize(text, **kwargs)
|
||||
|
||||
def _tokenize(self, text, **kwargs):
|
||||
"""
|
||||
Args:
|
||||
text: TextInput
|
||||
Returns a tokenized string. The Gemma tokenizer never adds a prefix space.
|
||||
"""
|
||||
return self.sp_model.encode(text, out_type=str)
|
||||
|
||||
def _convert_token_to_id(self, token):
|
||||
"""Converts a token (str) in an id using the vocab."""
|
||||
return self.sp_model.piece_to_id(token)
|
||||
|
||||
def _convert_id_to_token(self, index):
|
||||
"""Converts an index (integer) in a token (str) using the vocab."""
|
||||
return self.decoder.get(index, "")
|
||||
|
||||
def convert_tokens_to_string(self, tokens):
|
||||
"""Converts a sequence of tokens (string) in a single string."""
|
||||
# since we manually add the prefix space, we have to remove it when decoding
|
||||
if tokens[0].startswith(SPIECE_UNDERLINE) and self.add_prefix_space:
|
||||
tokens[0] = tokens[0][1:]
|
||||
|
||||
current_sub_tokens = []
|
||||
out_string = ""
|
||||
prev_is_special = False
|
||||
for i, token in enumerate(tokens):
|
||||
# make sure that special tokens are not decoded using sentencepiece model
|
||||
if token in self.all_special_tokens:
|
||||
if not prev_is_special and i != 0 and self.spaces_for_interleaved_special_tokens:
|
||||
out_string += " "
|
||||
out_string += self.sp_model.decode(current_sub_tokens) + token
|
||||
prev_is_special = True
|
||||
current_sub_tokens = []
|
||||
else:
|
||||
if (
|
||||
prev_is_special
|
||||
and i == 1
|
||||
and self.add_prefix_space
|
||||
and not token.startswith(SPIECE_UNDERLINE)
|
||||
and self.spaces_for_interleaved_special_tokens
|
||||
):
|
||||
out_string += " "
|
||||
current_sub_tokens.append(token)
|
||||
prev_is_special = False
|
||||
out_string += self.sp_model.decode(current_sub_tokens)
|
||||
return out_string
|
||||
|
||||
def save_vocabulary(self, save_directory, filename_prefix: Optional[str] = None) -> Tuple[str]:
|
||||
"""
|
||||
Save the vocabulary and special tokens file to a directory.
|
||||
|
||||
Args:
|
||||
save_directory (`str`):
|
||||
The directory in which to save the vocabulary.
|
||||
|
||||
Returns:
|
||||
`Tuple(str)`: Paths to the files saved.
|
||||
"""
|
||||
if not os.path.isdir(save_directory):
|
||||
logger.error(f"Vocabulary path ({save_directory}) should be a directory")
|
||||
return
|
||||
out_vocab_file = os.path.join(save_directory, (filename_prefix + "-" if filename_prefix else "") + VOCAB_FILES_NAMES["vocab_file"])
|
||||
|
||||
if os.path.abspath(self.vocab_file) != os.path.abspath(out_vocab_file) and os.path.isfile(self.vocab_file):
|
||||
copyfile(self.vocab_file, out_vocab_file)
|
||||
elif not os.path.isfile(self.vocab_file):
|
||||
with open(out_vocab_file, "wb") as fi:
|
||||
content_spiece_model = self.sp_model.serialized_model_proto()
|
||||
fi.write(content_spiece_model)
|
||||
|
||||
return (out_vocab_file,)
|
||||
|
||||
def build_inputs_with_special_tokens(self, token_ids_0, token_ids_1=None):
|
||||
bos_token_id = [self.bos_token_id] if self.add_bos_token else []
|
||||
eos_token_id = [self.eos_token_id] if self.add_eos_token else []
|
||||
|
||||
output = bos_token_id + token_ids_0 + eos_token_id
|
||||
|
||||
if token_ids_1 is not None:
|
||||
output = output + bos_token_id + token_ids_1 + eos_token_id
|
||||
|
||||
return output
|
||||
|
||||
def get_special_tokens_mask(
|
||||
self, token_ids_0: List[int], token_ids_1: Optional[List[int]] = None, already_has_special_tokens: bool = False
|
||||
) -> List[int]:
|
||||
"""
|
||||
Retrieve sequence ids from a token list that has no special tokens added. This method is called when adding
|
||||
special tokens using the tokenizer `prepare_for_model` method.
|
||||
|
||||
Args:
|
||||
token_ids_0 (`List[int]`):
|
||||
List of IDs.
|
||||
token_ids_1 (`List[int]`, *optional*):
|
||||
Optional second list of IDs for sequence pairs.
|
||||
already_has_special_tokens (`bool`, *optional*, defaults to `False`):
|
||||
Whether or not the token list is already formatted with special tokens for the model.
|
||||
|
||||
Returns:
|
||||
`List[int]`: A list of integers in the range [0, 1]: 1 for a special token, 0 for a sequence token.
|
||||
"""
|
||||
if already_has_special_tokens:
|
||||
return super().get_special_tokens_mask(token_ids_0=token_ids_0, token_ids_1=token_ids_1, already_has_special_tokens=True)
|
||||
|
||||
bos_token_id = [1] if self.add_bos_token else []
|
||||
eos_token_id = [1] if self.add_eos_token else []
|
||||
|
||||
if token_ids_1 is None:
|
||||
return bos_token_id + ([0] * len(token_ids_0)) + eos_token_id
|
||||
return bos_token_id + ([0] * len(token_ids_0)) + eos_token_id + bos_token_id + ([0] * len(token_ids_1)) + eos_token_id
|
||||
|
||||
def create_token_type_ids_from_sequences(self, token_ids_0: List[int], token_ids_1: Optional[List[int]] = None) -> List[int]:
|
||||
"""
|
||||
Creates a mask from the two sequences passed to be used in a sequence-pair classification task. An ALBERT
|
||||
sequence pair mask has the following format:
|
||||
|
||||
```
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
|
||||
| first sequence | second sequence |
|
||||
```
|
||||
|
||||
if token_ids_1 is None, only returns the first portion of the mask (0s).
|
||||
|
||||
Args:
|
||||
token_ids_0 (`List[int]`):
|
||||
List of ids.
|
||||
token_ids_1 (`List[int]`, *optional*):
|
||||
Optional second list of IDs for sequence pairs.
|
||||
|
||||
Returns:
|
||||
`List[int]`: List of [token type IDs](../glossary#token-type-ids) according to the given sequence(s).
|
||||
"""
|
||||
bos_token_id = [self.bos_token_id] if self.add_bos_token else []
|
||||
eos_token_id = [self.eos_token_id] if self.add_eos_token else []
|
||||
|
||||
output = [0] * len(bos_token_id + token_ids_0 + eos_token_id)
|
||||
|
||||
if token_ids_1 is not None:
|
||||
output += [1] * len(bos_token_id + token_ids_1 + eos_token_id)
|
||||
|
||||
return output
|
||||
3
tokenizer.model
Normal file
3
tokenizer.model
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bcacff3229854f5103ee7a85473a30ca9a8b3a68f3aae9b7479574b23ac2256b
|
||||
size 2475075
|
||||
248
tokenizer_config.json
Normal file
248
tokenizer_config.json
Normal file
@@ -0,0 +1,248 @@
|
||||
{
|
||||
"add_bos_token": true,
|
||||
"add_eos_token": false,
|
||||
"add_prefix_space": true,
|
||||
"added_tokens_decoder": {
|
||||
"0": {
|
||||
"content": "<unk>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"1": {
|
||||
"content": "<s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"2": {
|
||||
"content": "</s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128111": {
|
||||
"content": "<restate>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128112": {
|
||||
"content": "</restate>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128113": {
|
||||
"content": "<planning>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128114": {
|
||||
"content": "</planning>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128115": {
|
||||
"content": "<recollect>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128116": {
|
||||
"content": "</recollect>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128117": {
|
||||
"content": "<execution>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128118": {
|
||||
"content": "</execution>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128119": {
|
||||
"content": "<review>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128120": {
|
||||
"content": "</review>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128121": {
|
||||
"content": "<summarize>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128122": {
|
||||
"content": "</summarize>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128123": {
|
||||
"content": "<retry>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128124": {
|
||||
"content": "</retry>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128125": {
|
||||
"content": "<conclude>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128126": {
|
||||
"content": "</conclude>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128127": {
|
||||
"content": "<|plugin|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128128": {
|
||||
"content": "<|interpreter|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128129": {
|
||||
"content": "<|action_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128130": {
|
||||
"content": "<|action_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128131": {
|
||||
"content": "<|im_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"128132": {
|
||||
"content": "<|im_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
}
|
||||
},
|
||||
"additional_special_tokens": [
|
||||
"<|im_start|>",
|
||||
"<|im_end|>",
|
||||
"<|action_start|>",
|
||||
"<|action_end|>",
|
||||
"<|interpreter|>",
|
||||
"<|plugin|>",
|
||||
"<restate>",
|
||||
"</restate>",
|
||||
"<planning>",
|
||||
"</planning>",
|
||||
"<recollect>",
|
||||
"</recollect>",
|
||||
"<execution>",
|
||||
"</execution>",
|
||||
"<review>",
|
||||
"</review>",
|
||||
"<summarize>",
|
||||
"</summarize>",
|
||||
"<retry>",
|
||||
"</retry>",
|
||||
"<conclude>",
|
||||
"</conclude>"
|
||||
],
|
||||
"auto_map": {
|
||||
"AutoTokenizer": [
|
||||
"tokenization_internlm3.InternLM3Tokenizer",
|
||||
null
|
||||
]
|
||||
},
|
||||
"bos_token": "<s>",
|
||||
"clean_up_tokenization_spaces": false,
|
||||
"eos_token": "</s>",
|
||||
"extra_special_tokens": {},
|
||||
"model_max_length": 1000000000000000019884624838656,
|
||||
"pad_token": "</s>",
|
||||
"sp_model_kwargs": {},
|
||||
"spaces_between_special_tokens": false,
|
||||
"tokenizer_class": "InternLM3Tokenizer",
|
||||
"unk_token": "<unk>",
|
||||
"use_default_system_prompt": false
|
||||
}
|
||||
Reference in New Issue
Block a user