From 891f5975230f62b347dd0e8ec81ebf4971a82e33 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Sun, 28 Jun 2026 18:10:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: KORMo-Team/KORMo-10B-base Source: Original Platform --- .gitattributes | 55 ++++ README.md | 191 ++++++++++++ _configuration_kormo.py | 77 +++++ _modeling_kormo.py | 502 +++++++++++++++++++++++++++++++ config.json | 37 +++ configuration.json | 1 + generation_config.json | 6 + model-00001-of-00005.safetensors | 3 + model-00002-of-00005.safetensors | 3 + model-00003-of-00005.safetensors | 3 + model-00004-of-00005.safetensors | 3 + model-00005-of-00005.safetensors | 3 + model.safetensors.index.json | 371 +++++++++++++++++++++++ special_tokens_map.json | 23 ++ tokenizer.json | 3 + tokenizer_config.json | 295 ++++++++++++++++++ 16 files changed, 1576 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 _configuration_kormo.py create mode 100644 _modeling_kormo.py create mode 100644 config.json create mode 100644 configuration.json create mode 100644 generation_config.json create mode 100644 model-00001-of-00005.safetensors create mode 100644 model-00002-of-00005.safetensors create mode 100644 model-00003-of-00005.safetensors create mode 100644 model-00004-of-00005.safetensors create mode 100644 model-00005-of-00005.safetensors create mode 100644 model.safetensors.index.json create mode 100644 special_tokens_map.json create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3f40855 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,55 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text + +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.gguf* filter=lfs diff=lfs merge=lfs -text +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text + +model-00003-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text +model-00005-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text +model-00004-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text +model-00001-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text +model-00002-of-00005.safetensors filter=lfs diff=lfs merge=lfs -text + +tokenizer.json filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8942302 --- /dev/null +++ b/README.md @@ -0,0 +1,191 @@ +--- +library_name: transformers +license: apache-2.0 +--- + + +

+ +

+ + + + +## πŸš€ Update News +- **2025-10-13**: Official release of KORMo-10B-base (Be aware that it's not an SFT model!!). +--- +## πŸ’‘ About KORMo +**KORMo-10B** is a **10.8B parameter fully open LLM** capable of handling both **Korean and English**. +The model, training code, and training data are all **fully open**, allowing anyone to reproduce and extend them. + +- **Model Size**: 10.8B parameters +- **Languages**: Korean / English +- **Training Data**: Synthetic data + public datasets (approximately 3T tokens) +- **License**: Apache 2.0 + +```md +The First Fully Open-Source LLM from a Non-English Region + +KORMo was created with a public-interest mission: to make world-class language models accessible to everyone. +Our goal is to empower anyone to build and advance their own large language models at a global standard. + +Key Features: + +1. A 10B-parameter Korean–English reasoning model trained entirely from scratch. +2. 100% open resources β€” including all training data, code, intermediate checkpoints, and tutorials β€” allowing anyone to reproduce and extend a near-SOTA model on their own. +3. 3 trillion tokens of training data released publicly, featuring never-before-shared, high-quality full-cycle Korean datasets (for pretraining, post-training, general, reasoning, and reinforcement learning). +4. A collaborative effort by eight master’s students at the KAIST Graduate School of Culture Technology (MLP Lab), documented in a 45-page research paper. + +If you’ve ever used a Korean language model that performs well on benchmarks but feels strange in real use, or if fine-tuning only made it worse, you’re not alone. + +KORMo solves these problems head-on. +By releasing every intermediate model and post-training dataset, we give users the freedom to build on the base model with their own data, customizing and fine-tuning it in any direction they want. + +πŸ‘‰ "If you want a great Korean language model, now you can build it yourself. It even works with free Colab GPUs!" πŸ€— +``` + +--- + +## πŸ”— Links + +- πŸ“– **Technical Report**: [πŸ‘‰ Arxive](https://arxiv.org/pdf/2510.09426) +- πŸ€— **Hugging Face**: [πŸ‘‰ Model Download](https://huggingface.co/KORMo-Team) +- πŸ’» **GitHub Repository**: [πŸ‘‰ Training and Inference Code](https://github.com/MLP-Lab/KORMo-tutorial) +- πŸ”‰ **Tutorial**: [πŸ‘‰ Instruction Tuning over google colab](https://colab.research.google.com/github/MLP-Lab/KORMo-tutorial/blob/main/tutorial/02.sft_qlora.ipynb) [πŸ‘‰ Youtube Tutorial](https://www.youtube.com/@MLPLab) + +--- + + +## πŸ“ˆ Benchmark Performance + +### πŸ“Š Quantitative Evaluation + +| Benchmark | **KORMo-10B** | smolLM3-3B | olmo2-7B | olmo2-13B | kanana1.5-8B | qwen3-8B | llama3.1-8B | gemma3-4B | gemma3-12B | +|:-----------|---------------:|-----------:|---------:|---------:|------------:|--------:|-----------:|---------:|----------:| +| **πŸ‡ΊπŸ‡Έ English Benchmarks** ||||||||||| +| arc_challenge | 58.96 | 55.55 | 59.13 | 61.01 | 56.48 | 63.82 | 54.61 | 53.58 | 63.82 | +| arc_easy | 85.48 | 83.21 | 85.06 | 86.57 | 82.74 | 87.50 | 84.01 | 82.83 | 87.37 | +| boolq | 83.46 | 82.17 | 84.50 | 86.48 | 84.53 | 87.71 | 81.87 | 80.70 | 86.61 | +| copa | 93.00 | 91.00 | 92.00 | 93.00 | 88.00 | 92.00 | 93.00 | 89.00 | 95.00 | +| gpqa_main | 30.13 | 26.79 | 26.34 | 29.24 | 29.24 | 30.13 | 23.44 | 30.13 | 35.71 | +| hellaswag | 60.25 | 56.78 | 61.52 | 65.02 | 59.93 | 59.54 | 60.96 | 57.56 | 63.67 | +| mmlu | 67.96 | 61.37 | 62.81 | 66.85 | 63.73 | 76.95 | 65.03 | 59.60 | 73.58 | +| mmlu_global | 63.44 | 57.52 | 59.88 | 63.99 | 60.21 | 75.05 | 61.30 | 57.23 | 70.23 | +| mmlu_pro | 40.18 | 34.94 | 27.29 | 32.50 | 34.93 | 56.58 | 36.23 | 27.79 | 37.07 | +| mmlu_redux | 69.00 | 62.95 | 63.53 | 68.37 | 65.88 | 78.19 | 65.86 | 60.86 | 75.25 | +| openbookqa | 39.00 | 36.40 | 39.00 | 39.60 | 36.80 | 39.20 | 39.00 | 37.00 | 40.20 | +| piqa | 81.12 | 78.45 | 80.79 | 82.64 | 80.30 | 79.05 | 80.90 | 79.49 | 82.59 | +| social_iqa | 52.81 | 50.72 | 55.89 | 57.57 | 57.01 | 56.96 | 53.12 | 51.84 | 56.45 | +| **English Avg.** | **63.45** | 59.83 | 61.36 | 64.06 | 61.52 | 67.90 | 61.49 | 59.05 | 66.73 | +| **πŸ‡°πŸ‡· Korean Benchmarks** ||||||||||| +| click | 55.29 | 46.97 | 37.79 | 41.80 | 62.76 | 60.70 | 49.22 | 49.62 | 62.21 | +| csatqa | 38.00 | 26.67 | 19.33 | 24.67 | 44.67 | 52.00 | 28.67 | 28.67 | 31.33 | +| haerae | 68.29 | 55.82 | 31.62 | 37.58 | 80.75 | 67.19 | 53.25 | 60.68 | 74.34 | +| k2_eval | 84.89 | 75.23 | 49.54 | 63.43 | 84.72 | 84.72 | 76.62 | 76.39 | 85.42 | +| kobest | 75.05 | 69.13 | 57.27 | 59.02 | 81.93 | 80.05 | 70.55 | 69.33 | 77.70 | +| kobalt | 22.86 | 15.86 | 11.43 | 13.14 | 26.29 | 26.57 | 17.43 | 15.57 | 23.86 | +| kmmlu | 46.48 | 38.52 | 33.05 | 31.24 | 48.86 | 56.93 | 40.75 | 39.84 | 51.60 | +| mmlu_global (ko) | 55.16 | 44.15 | 34.00 | 36.95 | 52.65 | 61.95 | 46.34 | 46.33 | 59.68 | +| kr_clinical_qa | 77.32 | 53.97 | 48.33 | 46.22 | 65.84 | 80.00 | 63.54 | 60.00 | 77.22 | +| **Korean Avg.** | **58.15** | 47.37 | 35.82 | 39.34 | 60.94 | 63.35 | 49.60 | 49.60 | 60.37 | + + +### πŸ“ Qualitative Evaluation (LLM-as-a-Judge) + +| Benchmark | KORMo-10B | smolLM3-3B | olmo2-7B | olmo2-13B | kanana1.5-8B | qwen3-8B | llama3.1-8B | exaone3.5-8B | gemma3-12B | +|:----------|---------:|----------:|---------:|---------:|------------:|--------:|------------:|-------------:|-----------:| +| MT-Bench (EN) | 8.32 | 7.15 | 7.32 | 7.64 | 8.45 | 8.70 | 6.32 | 8.15 | 8.70 | +| KO-MT-Bench (KO) | 8.54 | - | - | - | 8.02 | 8.16 | 4.27 | 8.13 | 8.51 | +| LogicKor (KO) | 8.96 | - | - | - | 8.94 | 8.63 | 6.45 | 9.20 | 8.46 | +| **Average** | **8.61** | - | - | - | **8.47** | **8.50** | **5.68** | **8.49** | **8.56** | + +--- + +## πŸ“¦ Installation + +```bash +git clone https://github.com/MLP-Lab/KORMo-tutorial.git +cd KORMo-tutorial +bash setup/create_uv_venv.sh +source .venv_kormo/bin/activate +``` + +--- +## πŸš€ Inference Example + +```python +from transformers import AutoModelForCausalLM, AutoTokenizer +import torch + +model_name = "KORMo-Team/KORMo-10B-sft" +tokenizer = AutoTokenizer.from_pretrained(model_name) +model = AutoModelForCausalLM.from_pretrained( + model_name, + torch_dtype=torch.bfloat16, + device_map="auto", + trust_remote_code=True +) + +messages = [ + {"role": "user", "content": "What happens inside a black hole?"} +] + +chat_prompt = tokenizer.apply_chat_template( + messages, + tokenize=False, + add_generation_prompt=True, + enable_thinking=False +) + +inputs = tokenizer(chat_prompt, return_tensors="pt").to(model.device) + +with torch.inference_mode(): + output_ids = model.generate( + **inputs, + max_new_tokens=1024, + ) + +response = tokenizer.decode(output_ids[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True) +print("Assistant:", response) +``` + +## 🧠 Enabling Thinking Mode + +If you want to enable the **thinking** mode, simply set `enable_thinking=True`: + +```python +chat_prompt = tokenizer.apply_chat_template( + messages, + tokenize=False, + add_generation_prompt=True, + enable_thinking=True +) +``` +--- + + + +## Contact +- KyungTae Lim, Professor at KAIST. `ktlim@kaist.ac.kr` + + + +## Acknowledgments +- This work was supported by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government(MSIT) (RS-2025-02653113, High-Performance Research AI Computing Infrastructure Support at the 2 PFLOPS Scale) + + +## Citation + +```text +@misc{KORMo, + author = {Minjun Kim, Hyeonseok Lim, Hangyeol Yoo, Inho Won, Seungwoo Song, Minkyung Cho, Junghun Yuk, Changsu Choi, Dongjae Shin, Huije Lee, Hoyun Song, Alice Oh and KyungTae Lim}, + title = {KORMo: Korean Open Reasoning Model for Everyone}, + year = {2025}, + publisher = {GitHub}, + journal = {Technical Report}, + paperLink = {\url{https://arxiv.org/abs/2510.09426}}, + }, +} +``` diff --git a/_configuration_kormo.py b/_configuration_kormo.py new file mode 100644 index 0000000..be84f9a --- /dev/null +++ b/_configuration_kormo.py @@ -0,0 +1,77 @@ +from transformers import PretrainedConfig +from transformers.modeling_rope_utils import rope_config_validation + +class KORMoConfig(PretrainedConfig): + model_type = "kormo" + keys_to_ignore_at_inference = ["past_key_values"] + 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=112576, + hidden_size=6144, + intermediate_size=21504, + num_hidden_layers=48, + num_attention_heads=40, + num_key_value_heads=8, + hidden_act="silu", + max_position_embeddings=131072, + initializer_range=0.02, + rms_norm_eps=1e-05, + use_cache=True, + pad_token_id=None, + bos_token_id=0, + eos_token_id=1, + pretraining_tp=1, + tie_word_embeddings=False, + rope_theta=500000.0, + attention_bias=False, + attention_dropout=0.0, + rope_scaling=None, + mlp_bias=False, + head_dim=128, + **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 + + 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.pretraining_tp = pretraining_tp + self.use_cache = use_cache + self.rope_theta = rope_theta + self.rope_scaling = rope_scaling + self.attention_bias = attention_bias + self.attention_dropout = attention_dropout + self.mlp_bias = mlp_bias + self.head_dim = head_dim if head_dim is not None else self.hidden_size // self.num_attention_heads + self.mask_type = None + + 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__( + pad_token_id=pad_token_id, + bos_token_id=bos_token_id, + eos_token_id=eos_token_id, + tie_word_embeddings=tie_word_embeddings, + **kwargs, + ) \ No newline at end of file diff --git a/_modeling_kormo.py b/_modeling_kormo.py new file mode 100644 index 0000000..49d3588 --- /dev/null +++ b/_modeling_kormo.py @@ -0,0 +1,502 @@ +from typing import Callable, List, Optional, Tuple, Union + +import torch +from torch import nn + +from transformers.activations import ACT2FN +from transformers.cache_utils import Cache, DynamicCache +from transformers.generation import GenerationMixin +from transformers.integrations import use_kernel_forward_from_hub +from transformers.masking_utils import create_causal_mask +from transformers.modeling_flash_attention_utils import FlashAttentionKwargs +from transformers.modeling_layers import GradientCheckpointingLayer +from transformers.modeling_outputs import ( + BaseModelOutputWithPast, + CausalLMOutputWithPast, +) +from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS, dynamic_rope_update +from transformers.modeling_utils import ALL_ATTENTION_FUNCTIONS, PreTrainedModel +from transformers.processing_utils import Unpack +from transformers.utils import can_return_tuple, logging +from ._configuration_kormo import KORMoConfig + + +logger = logging.get_logger(__name__) + +@use_kernel_forward_from_hub("RMSNorm") +class RMSNorm(nn.Module): + """ + KORMoRMSNorm is equivalent to T5LayerNorm + """ + def __init__(self, hidden_size: int, eps: float = 1e-6): + super().__init__() + self.weight = nn.Parameter(torch.ones(hidden_size)) + self.variance_epsilon = eps + + def forward(self, hidden_states): + input_dtype = hidden_states.dtype + hidden_states = hidden_states.to(torch.float32) + variance = hidden_states.pow(2).mean(-1, keepdim=True) + hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + return (self.weight * hidden_states).to(input_dtype) + + def extra_repr(self): + return f"{tuple(self.weight.shape)}, eps={self.variance_epsilon}" + + +def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor: + """ + This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch, + num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim) + """ + batch, num_key_value_heads, slen, head_dim = hidden_states.shape + if n_rep == 1: + return hidden_states + hidden_states = hidden_states[:, :, None, :, :].expand(batch, num_key_value_heads, n_rep, slen, head_dim) + return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim) + +def eager_attention_forward( + module: nn.Module, + query: torch.Tensor, + key: torch.Tensor, + value: torch.Tensor, + attention_mask: Optional[torch.Tensor], + scaling: float, + dropout: float = 0.0, + **kwargs, +): + key_states = repeat_kv(key, module.num_key_value_groups) + value_states = repeat_kv(value, module.num_key_value_groups) + + attn_weights = torch.matmul(query, key_states.transpose(2, 3)) * scaling + if attention_mask is not None: + causal_mask = attention_mask[:, :, :, : key_states.shape[-2]] + attn_weights = attn_weights + causal_mask + + attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to(query.dtype) + attn_weights = nn.functional.dropout(attn_weights, p=dropout, training=module.training) + attn_output = torch.matmul(attn_weights, value_states) + attn_output = attn_output.transpose(1, 2).contiguous() + + return attn_output, attn_weights + + +def apply_rotary_pos_emb(q, k, cos, sin, unsqueeze_dim=1): + cos = cos.unsqueeze(unsqueeze_dim) + sin = sin.unsqueeze(unsqueeze_dim) + q_embed = (q * cos) + (rotate_half(q) * sin) + k_embed = (k * cos) + (rotate_half(k) * sin) + return q_embed.to(q.dtype), k_embed.to(k.dtype) + + +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + +class Attention(nn.Module): + """Multi-headed attention from 'Attention Is All You Need' paper""" + + def __init__(self, config: KORMoConfig, layer_idx: int): + super().__init__() + self.config = config + self.layer_idx = layer_idx + self.head_dim = getattr(config, "head_dim", config.hidden_size // config.num_attention_heads) + self.num_key_value_groups = config.num_attention_heads // config.num_key_value_heads + self.scaling = self.head_dim**-0.5 + self.attention_dropout = config.attention_dropout + self.is_causal = True + self.q_proj = nn.Linear(config.hidden_size, config.num_attention_heads * self.head_dim, bias=False) + self.k_proj = nn.Linear(config.hidden_size, config.num_key_value_heads * self.head_dim, bias=False) + self.v_proj = nn.Linear(config.hidden_size, config.num_key_value_heads * self.head_dim, bias=False) + self.o_proj = nn.Linear(config.num_attention_heads * self.head_dim, config.hidden_size, bias=False) + + def forward( + self, + hidden_states: torch.Tensor, + position_embeddings: tuple[torch.Tensor, torch.Tensor], + attention_mask: Optional[torch.Tensor], + past_key_value: Optional[Cache] = None, + cache_position: Optional[torch.LongTensor] = None, + **kwargs, + ) -> tuple[torch.Tensor, Optional[torch.Tensor], Optional[tuple[torch.Tensor]]]: + input_shape = hidden_states.shape[:-1] + hidden_shape = (*input_shape, -1, self.head_dim) + + query_states = self.q_proj(hidden_states) + key_states = self.k_proj(hidden_states) + value_states = self.v_proj(hidden_states) + + query_states = query_states.view(hidden_shape).transpose(1, 2) + key_states = key_states.view(hidden_shape).transpose(1, 2) + value_states = value_states.view(hidden_shape).transpose(1, 2) + + cos, sin = position_embeddings + query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin) + + if past_key_value is not None: + cache_kwargs = {"sin": sin, "cos": cos, "cache_position": cache_position} + key_states, value_states = past_key_value.update(key_states, value_states, self.layer_idx, cache_kwargs) + + attention_interface: Callable = eager_attention_forward + if self.config._attn_implementation != "eager": + attention_interface = ALL_ATTENTION_FUNCTIONS[self.config._attn_implementation] + + attn_output, attn_weights = attention_interface( + self, + query_states, + key_states, + value_states, + attention_mask, + dropout=0.0 if not self.training else self.attention_dropout, + scaling=self.scaling, + **kwargs, + ) + + attn_output = attn_output.reshape(*input_shape, -1).contiguous() + attn_output = self.o_proj(attn_output) + return attn_output, attn_weights + +@use_kernel_forward_from_hub("MLP") +class MLP(nn.Module): + def __init__(self, config): + super().__init__() + self.config = config + self.hidden_size = config.hidden_size + self.intermediate_size = config.intermediate_size + self.gate_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False) + self.up_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False) + self.down_proj = nn.Linear(self.intermediate_size, self.hidden_size, bias=False) + self.act_fn = ACT2FN[config.hidden_act] + + def forward(self, x): + output = self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x)) + return output + +class DecoderLayer(GradientCheckpointingLayer): + def __init__(self, config: KORMoConfig, layer_idx: int): + super().__init__() + self.hidden_size = config.hidden_size + self.self_attn = Attention(config=config, layer_idx=layer_idx) + self.mlp = MLP(config) + self.pre_attention_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.pre_mlp_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: Optional[bool] = False, + use_cache: Optional[bool] = False, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[Tuple[torch.Tensor, torch.Tensor]] = None, # necessary, but kept here for BC + **kwargs: Unpack[FlashAttentionKwargs], + ) -> Tuple[torch.FloatTensor, Optional[Tuple[torch.FloatTensor, torch.FloatTensor]]]: + residual = hidden_states + hidden_states = self.pre_attention_layernorm(hidden_states) + + # Self Attention + hidden_states, self_attn_weights = self.self_attn( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + output_attentions=output_attentions, + use_cache=use_cache, + cache_position=cache_position, + position_embeddings=position_embeddings, + **kwargs, + ) + hidden_states = residual + hidden_states + + # MLP layer + residual = hidden_states + hidden_states = self.pre_mlp_layernorm(hidden_states) + hidden_states = self.mlp(hidden_states) + hidden_states = residual + hidden_states + + outputs = (hidden_states,) + if output_attentions: + outputs += (self_attn_weights,) + + return outputs + + +class RotaryEmbedding(nn.Module): + def __init__(self, config: KORMoConfig, device=None): + super().__init__() + # BC: "rope_type" was originally "type" + if hasattr(config, "rope_scaling") and config.rope_scaling is not None: + self.rope_type = config.rope_scaling.get("rope_type", config.rope_scaling.get("type")) + else: + self.rope_type = "default" + self.max_seq_len_cached = config.max_position_embeddings + self.original_max_seq_len = config.max_position_embeddings + + self.config = config + self.rope_init_fn = ROPE_INIT_FUNCTIONS[self.rope_type] + + inv_freq, self.attention_scaling = self.rope_init_fn(self.config, device) + self.register_buffer("inv_freq", inv_freq, persistent=False) + self.original_inv_freq = self.inv_freq + + @torch.no_grad() + @dynamic_rope_update # power user: used with advanced RoPE types (e.g. dynamic rope) + def forward(self, x, position_ids): + inv_freq_expanded = self.inv_freq[None, :, None].float().expand(position_ids.shape[0], -1, 1).to(x.device) + position_ids_expanded = position_ids[:, None, :].float() + + device_type = x.device.type if isinstance(x.device.type, str) and x.device.type != "mps" else "cpu" + with torch.autocast(device_type=device_type, enabled=False): # Force float32 + freqs = (inv_freq_expanded.float() @ position_ids_expanded.float()).transpose(1, 2) + emb = torch.cat((freqs, freqs), dim=-1) + cos = emb.cos() * self.attention_scaling + sin = emb.sin() * self.attention_scaling + return cos, sin + + + + + + +class KORMoPreTrainedModel(PreTrainedModel): + config_class = KORMoConfig + base_model_prefix = "model" + supports_gradient_checkpointing = True + _no_split_modules = ["DecoderLayer"] + _skip_keys_device_placement = ["past_key_values"] + _supports_flash_attn_3 = True + _supports_flash_attn_2 = True + _supports_sdpa = True + _supports_flex_attn = True + _supports_cache_class = True + _supports_quantized_cache = True + _supports_static_cache = True + _supports_attention_backend = True + + def _init_weights(self, module): + std = self.config.initializer_range + if isinstance(module, nn.Linear): + module.weight.data.normal_(mean=0.0, std=std) + if module.bias is not None: + module.bias.data.zero_() + elif isinstance(module, nn.Embedding): + module.weight.data.normal_(mean=0.0, std=std) + if module.padding_idx is not None: + module.weight.data[module.padding_idx].zero_() + elif isinstance(module, RMSNorm): + module.weight.data.fill_(1.0) + + +class KORMoModel(KORMoPreTrainedModel): + def __init__(self, config: KORMoConfig): + super().__init__(config) + self.padding_idx = config.pad_token_id + self.vocab_size = config.vocab_size + + self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, self.padding_idx) + self.layers = nn.ModuleList( + [DecoderLayer(config, layer_idx) for layer_idx in range(config.num_hidden_layers)] + ) + self.norm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.rotary_emb = RotaryEmbedding(config=config) + self.gradient_checkpointing = False + + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.embed_tokens + + def set_input_embeddings(self, value): + self.embed_tokens = value + + @can_return_tuple + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Cache] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + cache_position: Optional[torch.LongTensor] = None, + **flash_attn_kwargs: Unpack[FlashAttentionKwargs], + ) -> BaseModelOutputWithPast: + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + use_cache = use_cache if use_cache is not None else self.config.use_cache + + if (input_ids is None) ^ (inputs_embeds is not None): + raise ValueError("You must specify exactly one of input_ids or inputs_embeds") + + if self.gradient_checkpointing and self.training and use_cache: + logger.warning_once( + "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`." + ) + use_cache = False + + if not isinstance(past_key_values, (type(None), Cache)): + raise ValueError("The `past_key_values` should be either a `Cache` object or `None`.") + + if inputs_embeds is None: + inputs_embeds = self.embed_tokens(input_ids) + + if use_cache and past_key_values is None: + past_key_values = DynamicCache() + + if cache_position is None: + past_seen_tokens = past_key_values.get_seq_length() if past_key_values is not None else 0 + cache_position = torch.arange( + past_seen_tokens, past_seen_tokens + inputs_embeds.shape[1], device=inputs_embeds.device + ) + + if position_ids is None: + position_ids = cache_position.unsqueeze(0) + + if self.config._attn_implementation == "flash_attention_3_doc": + ### TODO: μˆ˜μ •ν•„μš” + causal_mask = attention_mask + else: + causal_mask = create_causal_mask( + config=self.config, + input_embeds=inputs_embeds, + attention_mask=attention_mask, + cache_position=cache_position, + past_key_values=past_key_values, + position_ids=position_ids, + ) + + + hidden_states = inputs_embeds + position_embeddings = self.rotary_emb(hidden_states, position_ids) + + all_hidden_states = () if output_hidden_states else None + all_self_attns = () if output_attentions else None + + for decoder_layer in self.layers[: self.config.num_hidden_layers]: + if output_hidden_states: + all_hidden_states += (hidden_states,) + + + layer_outputs = decoder_layer( + hidden_states, + attention_mask=causal_mask, + position_ids=position_ids, + past_key_value=past_key_values, + output_attentions=output_attentions, + use_cache=use_cache, + cache_position=cache_position, + position_embeddings=position_embeddings, + **flash_attn_kwargs, + ) + + hidden_states = layer_outputs[0] + + if output_attentions: + all_self_attns += (layer_outputs[1],) + + hidden_states = self.norm(hidden_states) + + # add hidden states from the last decoder layer + if output_hidden_states: + all_hidden_states += (hidden_states,) + + return BaseModelOutputWithPast( + last_hidden_state=hidden_states, + past_key_values=past_key_values if use_cache else None, + hidden_states=all_hidden_states, + attentions=all_self_attns, + ) + + +class KORMoForCausalLM(KORMoPreTrainedModel, GenerationMixin): + _tied_weights_keys = ["lm_head.weight"] + _tp_plan = {"lm_head": "colwise_rep"} + _pp_plan = {"lm_head": (["hidden_states"], ["logits"])} + + def __init__(self, config): + super().__init__(config) + self.model = KORMoModel(config) + self.vocab_size = config.vocab_size + self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.post_init() + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, value): + self.model.embed_tokens = value + + def get_output_embeddings(self): + return self.lm_head + + def set_output_embeddings(self, new_embeddings): + self.lm_head = new_embeddings + + def set_decoder(self, decoder): + self.model = decoder + + def get_decoder(self): + return self.model + + @can_return_tuple + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Union[Cache, List[torch.FloatTensor]]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + labels: Optional[torch.LongTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + cache_position: Optional[torch.LongTensor] = None, + logits_to_keep: int = 0, + **kwargs, + ) -> CausalLMOutputWithPast: + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + + # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn) + outputs: BaseModelOutputWithPast = self.model( + input_ids=input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=inputs_embeds, + use_cache=use_cache, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + cache_position=cache_position, + **kwargs, + ) + + hidden_states = outputs.last_hidden_state + # Only compute necessary logits, and do not upcast them to float if we are not computing the loss + slice_indices = slice(-logits_to_keep, None) if isinstance(logits_to_keep, int) else logits_to_keep + logits = self.lm_head(hidden_states[:, slice_indices, :]) + + loss = None + if labels is not None: + loss = self.loss_function(logits=logits, labels=labels, vocab_size=self.config.vocab_size, **kwargs) + + return CausalLMOutputWithPast( + loss=loss, + logits=logits, + past_key_values=outputs.past_key_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + diff --git a/config.json b/config.json new file mode 100644 index 0000000..007bcbc --- /dev/null +++ b/config.json @@ -0,0 +1,37 @@ +{ + "architectures": [ + "KORMoForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "auto_map": { + "AutoConfig": "_configuration_kormo.KORMoConfig", + "AutoModel": "_modeling_kormo.KORMoModel", + "AutoModelForCausalLM": "_modeling_kormo.KORMoForCausalLM" + }, + "bos_token_id": 125030, + "dtype": "bfloat16", + "eos_token_id": 125031, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 4096, + "initializer_range": 0.02, + "intermediate_size": 16384, + "mask_type": null, + "max_position_embeddings": 131072, + "mlp_bias": false, + "model_type": "kormo", + "num_attention_heads": 32, + "num_hidden_layers": 40, + "num_key_value_heads": 8, + "pretrain_tp": 1, + "pretraining_tp": 1, + "rms_norm_eps": 1e-05, + "rope_scaling": null, + "rope_theta": 500000.0, + "tie_word_embeddings": false, + "tie_word_embeddins": false, + "transformers_version": "4.57.0", + "use_cache": true, + "vocab_size": 125184 +} diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..bbeeda1 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "text-generation", "allow_remote": true} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..17f3ecb --- /dev/null +++ b/generation_config.json @@ -0,0 +1,6 @@ +{ + "_from_model_config": true, + "bos_token_id": 125030, + "eos_token_id": 125031, + "transformers_version": "4.57.0" +} diff --git a/model-00001-of-00005.safetensors b/model-00001-of-00005.safetensors new file mode 100644 index 0000000..a819f6a --- /dev/null +++ b/model-00001-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b2aa7d4d965fa4afe72d16aa6e296b2c796e27edf4fe90d92d896915ff6ab69 +size 4968292992 diff --git a/model-00002-of-00005.safetensors b/model-00002-of-00005.safetensors new file mode 100644 index 0000000..19894aa --- /dev/null +++ b/model-00002-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d116cb4359cbb2e9735d70dc81498f51f6b1312b1552cf565abf79c64aff1629 +size 4899121536 diff --git a/model-00003-of-00005.safetensors b/model-00003-of-00005.safetensors new file mode 100644 index 0000000..0a7cc78 --- /dev/null +++ b/model-00003-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a714968a85d39052b5edf68e59238557c8511cc35a89c10c8debb57d05dfcab +size 4999784848 diff --git a/model-00004-of-00005.safetensors b/model-00004-of-00005.safetensors new file mode 100644 index 0000000..2a5d2c7 --- /dev/null +++ b/model-00004-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a970caf674ee510f15d668f02587519c49b6e0b22c8c7cf7391d7072aff5c1b4 +size 4999784848 diff --git a/model-00005-of-00005.safetensors b/model-00005-of-00005.safetensors new file mode 100644 index 0000000..4243a44 --- /dev/null +++ b/model-00005-of-00005.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e291b5a4251a572b58bbd9a7bb4f9586a730dd2315ef18bef8c21997769ce2dd +size 1646306904 diff --git a/model.safetensors.index.json b/model.safetensors.index.json new file mode 100644 index 0000000..ddaf841 --- /dev/null +++ b/model.safetensors.index.json @@ -0,0 +1,371 @@ +{ + "metadata": { + "total_parameters": 10756624384, + "total_size": 21513248768 + }, + "weight_map": { + "lm_head.weight": "model-00005-of-00005.safetensors", + "model.embed_tokens.weight": "model-00001-of-00005.safetensors", + "model.layers.0.mlp.down_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.0.mlp.up_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.0.pre_attention_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.0.pre_mlp_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.1.mlp.down_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.1.mlp.up_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.1.pre_attention_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.1.pre_mlp_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.10.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.10.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.10.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.10.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.10.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.10.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.10.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.10.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.10.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.11.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.11.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.11.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.11.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.11.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.11.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.11.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.11.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.11.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.12.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.12.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.12.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.12.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.12.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.12.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.12.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.12.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.12.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.13.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.13.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.13.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.13.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.13.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.13.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.13.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.13.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.13.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.14.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.14.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.14.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.14.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.14.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.14.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.14.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.14.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.14.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.15.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.15.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.15.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.15.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.15.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.15.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.15.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.15.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.15.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.16.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.16.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.16.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.16.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.16.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.16.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.16.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.16.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.16.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.17.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.17.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.17.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.17.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.17.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.17.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.17.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.17.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.17.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.18.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.18.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.18.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.18.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.18.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.18.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.18.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.18.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.18.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.19.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.19.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.19.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.19.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.19.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.19.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.19.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.19.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.19.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.2.mlp.down_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.2.mlp.up_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.2.pre_attention_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.2.pre_mlp_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.20.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.20.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.20.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.20.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.20.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.20.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.20.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.20.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.20.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.21.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.21.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.21.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.21.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.21.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.21.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.21.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.21.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.21.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.22.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.22.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.22.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.22.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.22.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.22.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.22.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.22.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.22.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.23.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.23.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.23.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.23.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.23.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.23.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.23.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.23.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.23.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.24.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.24.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.24.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.24.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.24.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.24.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.24.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.24.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.24.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.25.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.25.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.25.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.25.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.25.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.25.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.25.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.25.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.25.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.26.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.26.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.26.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.26.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.26.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.26.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.26.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.26.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.26.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.27.mlp.down_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.27.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.27.mlp.up_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.27.pre_attention_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.27.pre_mlp_layernorm.weight": "model-00003-of-00005.safetensors", + "model.layers.27.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.27.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.27.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.27.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.28.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.28.mlp.gate_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.28.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.28.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.28.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.28.self_attn.k_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.28.self_attn.o_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.28.self_attn.q_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.28.self_attn.v_proj.weight": "model-00003-of-00005.safetensors", + "model.layers.29.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.29.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.29.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.29.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.29.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.29.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.29.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.29.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.29.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.3.mlp.down_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.3.mlp.gate_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.3.mlp.up_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.3.pre_attention_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.3.pre_mlp_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.30.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.30.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.30.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.30.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.30.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.30.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.30.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.30.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.30.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.31.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.31.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.31.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.31.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.31.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.31.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.31.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.31.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.31.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.32.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.32.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.32.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.32.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.32.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.32.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.32.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.32.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.32.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.33.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.33.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.33.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.33.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.33.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.33.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.33.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.33.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.33.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.34.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.34.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.34.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.34.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.34.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.34.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.34.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.34.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.34.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.35.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.35.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.35.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.35.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.35.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.35.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.35.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.35.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.35.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.36.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.36.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.36.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.36.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.36.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.36.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.36.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.36.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.36.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.37.mlp.down_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.37.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.37.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.37.pre_attention_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.37.pre_mlp_layernorm.weight": "model-00004-of-00005.safetensors", + "model.layers.37.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.37.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.37.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.37.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.38.mlp.down_proj.weight": "model-00005-of-00005.safetensors", + "model.layers.38.mlp.gate_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.38.mlp.up_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.38.pre_attention_layernorm.weight": "model-00005-of-00005.safetensors", + "model.layers.38.pre_mlp_layernorm.weight": "model-00005-of-00005.safetensors", + "model.layers.38.self_attn.k_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.38.self_attn.o_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.38.self_attn.q_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.38.self_attn.v_proj.weight": "model-00004-of-00005.safetensors", + "model.layers.39.mlp.down_proj.weight": "model-00005-of-00005.safetensors", + "model.layers.39.mlp.gate_proj.weight": "model-00005-of-00005.safetensors", + "model.layers.39.mlp.up_proj.weight": "model-00005-of-00005.safetensors", + "model.layers.39.pre_attention_layernorm.weight": "model-00005-of-00005.safetensors", + "model.layers.39.pre_mlp_layernorm.weight": "model-00005-of-00005.safetensors", + "model.layers.39.self_attn.k_proj.weight": "model-00005-of-00005.safetensors", + "model.layers.39.self_attn.o_proj.weight": "model-00005-of-00005.safetensors", + "model.layers.39.self_attn.q_proj.weight": "model-00005-of-00005.safetensors", + "model.layers.39.self_attn.v_proj.weight": "model-00005-of-00005.safetensors", + "model.layers.4.mlp.down_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.4.mlp.gate_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.4.mlp.up_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.4.pre_attention_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.4.pre_mlp_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.4.self_attn.k_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.4.self_attn.q_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.5.mlp.down_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.5.mlp.gate_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.5.mlp.up_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.5.pre_attention_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.5.pre_mlp_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.5.self_attn.q_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.6.mlp.down_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.6.mlp.gate_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.6.mlp.up_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.6.pre_attention_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.6.pre_mlp_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.6.self_attn.k_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.6.self_attn.o_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.6.self_attn.q_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.6.self_attn.v_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.7.mlp.down_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.7.mlp.gate_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.7.mlp.up_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.7.pre_attention_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.7.pre_mlp_layernorm.weight": "model-00001-of-00005.safetensors", + "model.layers.7.self_attn.k_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.7.self_attn.o_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.7.self_attn.q_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.7.self_attn.v_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.8.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.8.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.8.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.8.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.8.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.8.self_attn.k_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.8.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.8.self_attn.q_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.8.self_attn.v_proj.weight": "model-00001-of-00005.safetensors", + "model.layers.9.mlp.down_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.9.mlp.gate_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.9.mlp.up_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.9.pre_attention_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.9.pre_mlp_layernorm.weight": "model-00002-of-00005.safetensors", + "model.layers.9.self_attn.k_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.9.self_attn.o_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.9.self_attn.q_proj.weight": "model-00002-of-00005.safetensors", + "model.layers.9.self_attn.v_proj.weight": "model-00002-of-00005.safetensors", + "model.norm.weight": "model-00005-of-00005.safetensors" + } +} diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..9879097 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,23 @@ +{ + "bos_token": { + "content": "<|BOS|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "<|EOS|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "<|PAD|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..30117f7 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f919f15fee2d762ac2f1749d88f08ae6bdeaff47ea1f568195b3beba0308151 +size 9887518 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..a89e62f --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,295 @@ +{ + "added_tokens_decoder": { + "125000": { + "content": "\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125001": { + "content": "\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125002": { + "content": "\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125003": { + "content": "\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125004": { + "content": "\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125005": { + "content": "\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125006": { + "content": "\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125007": { + "content": "\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125008": { + "content": "\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125009": { + "content": "\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125010": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125011": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125012": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125013": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125014": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125015": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125016": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125017": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125018": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125019": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125020": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125021": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125022": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125023": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125024": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125025": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125026": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125027": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125028": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125029": { + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "125030": { + "content": "<|BOS|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "125031": { + "content": "<|EOS|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "125032": { + "content": "<|PAD|>", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "125033": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "125034": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "bos_token": "<|BOS|>", + "clean_up_tokenization_spaces": false, + "eos_token": "<|EOS|>", + "extra_special_tokens": {}, + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 1000000000000000019884624838656, + "pad_token": "<|PAD|>", + "tokenizer_class": "PreTrainedTokenizerFast" +}