moelanoby commited on
Commit
2ce46c3
·
verified ·
1 Parent(s): 5fac435

Upload fine-tuned model with ReflectiveMemoryLayer

Browse files
added_tokens.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "<|assistant|>": 32001,
3
+ "<|endoftext|>": 32000,
4
+ "<|end|>": 32007,
5
+ "<|placeholder1|>": 32002,
6
+ "<|placeholder2|>": 32003,
7
+ "<|placeholder3|>": 32004,
8
+ "<|placeholder4|>": 32005,
9
+ "<|placeholder5|>": 32008,
10
+ "<|placeholder6|>": 32009,
11
+ "<|system|>": 32006,
12
+ "<|user|>": 32010
13
+ }
architectureV3.py ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # --- START OF FILE architectureV3.py ---
2
+
3
+ import torch
4
+ import torch.nn as nn
5
+ import torch.nn.functional as F
6
+ from transformers import Phi3Config, Phi3ForCausalLM
7
+ from transformers.modeling_outputs import CausalLMOutputWithPast
8
+ from typing import Optional, Dict, Tuple
9
+ from dataclasses import dataclass
10
+
11
+ @dataclass
12
+ class CausalLMOutputWithLTM(CausalLMOutputWithPast):
13
+ loss: Optional[torch.FloatTensor] = None
14
+ logits: torch.FloatTensor = None
15
+ past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None
16
+ hidden_states: Optional[Tuple[torch.FloatTensor]] = None
17
+ attentions: Optional[Tuple[torch.FloatTensor]] = None
18
+ ltm_state: Optional[torch.Tensor] = None # The returned LTM state
19
+
20
+ # --- BUILDING BLOCK 1: Hierarchical VectorMemoryHead (Stateless) ---
21
+ class VectorMemoryHead(nn.Module):
22
+ def __init__(self, hidden_dim: int, num_memory_slots: int, num_heads: int, ff_dim: int,
23
+ num_long_term_memory_slots: int = 0,
24
+ device=None, dtype=None):
25
+ super().__init__()
26
+ self.hidden_dim = hidden_dim
27
+ self.num_memory_slots = num_memory_slots
28
+ self.num_long_term_memory_slots = num_long_term_memory_slots
29
+ self.use_long_term_memory = self.num_long_term_memory_slots > 0
30
+
31
+ encoder_layer = nn.TransformerEncoderLayer(
32
+ d_model=hidden_dim, nhead=num_heads, dim_feedforward=ff_dim, dropout=0.1, batch_first=True,
33
+ device=device, dtype=dtype)
34
+ self.encoder = nn.TransformerEncoder(encoder_layer, num_layers=1)
35
+ self.memory_queries = nn.Parameter(torch.randn(1, num_memory_slots, hidden_dim, device=device, dtype=dtype))
36
+ self.memory_attention = nn.MultiheadAttention(
37
+ embed_dim=hidden_dim, num_heads=num_heads, dropout=0.1, batch_first=True, device=device, dtype=dtype)
38
+ self.memory_layernorm = nn.LayerNorm(hidden_dim, device=device, dtype=dtype)
39
+ self.decoder_attention = nn.MultiheadAttention(
40
+ embed_dim=hidden_dim, num_heads=num_heads, dropout=0.1, batch_first=True, device=device, dtype=dtype)
41
+ self.decoder_layernorm = nn.LayerNorm(hidden_dim, device=device, dtype=dtype)
42
+ self.decoder_ffn = nn.Sequential(
43
+ nn.Linear(hidden_dim, ff_dim, device=device, dtype=dtype), nn.ReLU(),
44
+ nn.Linear(ff_dim, hidden_dim, device=device, dtype=dtype))
45
+
46
+ if self.use_long_term_memory:
47
+ self.memory_update_gate = nn.Sequential(
48
+ nn.Linear(hidden_dim, hidden_dim, device=device, dtype=dtype), nn.Sigmoid())
49
+ self.ltm_retrieval_attention = nn.MultiheadAttention(
50
+ embed_dim=hidden_dim, num_heads=num_heads, dropout=0.1, batch_first=True, device=device, dtype=dtype)
51
+
52
+ def forward(self, memory_input_sequence: torch.Tensor,
53
+ long_term_memory: Optional[torch.Tensor] = None) -> Tuple[torch.Tensor, torch.Tensor, Optional[torch.Tensor]]:
54
+ batch_size = memory_input_sequence.shape[0]
55
+ new_ltm_state = long_term_memory
56
+ queries = self.memory_queries.expand(batch_size, -1, -1)
57
+ encoded_vectors = self.encoder(memory_input_sequence)
58
+ compressed_memory, _ = self.memory_attention(query=queries, key=encoded_vectors, value=encoded_vectors)
59
+ compressed_memory = self.memory_layernorm(compressed_memory + queries)
60
+ final_memory_context = compressed_memory
61
+
62
+ if self.use_long_term_memory and long_term_memory is not None:
63
+ retrieved_ltm, _ = self.ltm_retrieval_attention(
64
+ query=compressed_memory, key=long_term_memory, value=long_term_memory)
65
+ l1_summary = compressed_memory.mean(dim=1, keepdim=True)
66
+ update_gate = self.memory_update_gate(l1_summary)
67
+ new_ltm_state = (update_gate * l1_summary) + ((1 - update_gate) * long_term_memory)
68
+ final_memory_context = final_memory_context + retrieved_ltm
69
+
70
+ reconstructed, _ = self.decoder_attention(query=encoded_vectors, key=final_memory_context, value=final_memory_context)
71
+ reconstructed_vectors = self.decoder_layernorm(reconstructed + encoded_vectors)
72
+ reconstructed_vectors = self.decoder_ffn(reconstructed_vectors)
73
+ return compressed_memory, reconstructed_vectors, new_ltm_state
74
+
75
+ # --- BUILDING BLOCK 2: ReflectiveMemoryLayer ---
76
+ class ReflectiveMemoryLayer(nn.Module):
77
+ def __init__(self, original_layer: nn.Linear, global_input_dim: int,
78
+ memory_dim: int, num_memory_slots: int, memory_num_heads: int,
79
+ global_state_storage: Dict):
80
+ super().__init__()
81
+ self.input_dim, self.output_dim = original_layer.in_features, original_layer.out_features
82
+ self.memory_dim, self.global_state_storage = memory_dim, global_state_storage
83
+ self.linear = original_layer # Keep the original linear layer frozen
84
+ self.refinement_passes: int = 2
85
+ device, dtype = self.linear.weight.device, self.linear.weight.dtype
86
+
87
+ self.local_state_proj = nn.Linear(self.input_dim, memory_dim, device=device, dtype=dtype)
88
+ self.global_state_proj = nn.Linear(global_input_dim, memory_dim, device=device, dtype=dtype)
89
+ self.memory_head = VectorMemoryHead(
90
+ hidden_dim=memory_dim, num_memory_slots=num_memory_slots, num_heads=memory_num_heads,
91
+ ff_dim=memory_dim * 2, num_long_term_memory_slots=32, device=device, dtype=dtype)
92
+ self.thought_critique_attention = nn.MultiheadAttention(
93
+ embed_dim=memory_dim, num_heads=memory_num_heads, dropout=0.1, batch_first=True, device=device, dtype=dtype)
94
+ self.thought_layernorm = nn.LayerNorm(memory_dim, device=device, dtype=dtype)
95
+ self.correction_head = nn.Linear(memory_dim, 2 * self.output_dim, device=device, dtype=dtype)
96
+
97
+ self.last_corrected_activation, self.last_additive_correction = None, None
98
+ self.last_memory_input, self.last_reconstructed_from_memory = None, None
99
+
100
+ def forward(self, x: torch.Tensor):
101
+ base_output = self.linear(x)
102
+ if 'embeds' not in self.global_state_storage: return base_output
103
+
104
+ global_embeds = self.global_state_storage['embeds']
105
+ if global_embeds.shape[1] != x.shape[1]: global_embeds = global_embeds[:, -x.shape[1]:, :]
106
+ B, S, _ = x.shape
107
+
108
+ ltm_state = self.global_state_storage.get('ltm', None)
109
+ proj_local = self.local_state_proj(x)
110
+ proj_global = self.global_state_proj(global_embeds)
111
+ memory_input = torch.stack([proj_global, proj_local], dim=2)
112
+ memory_input_flat = memory_input.view(B * S, 2, self.memory_dim)
113
+
114
+ # *** FIX: Expand LTM state to match the flattened token dimension (B*S) ***
115
+ ltm_state_expanded = None
116
+ if ltm_state is not None:
117
+ ltm_state_expanded = ltm_state.repeat_interleave(S, dim=0)
118
+
119
+ compressed_mem_flat, recon_flat, new_ltm_state_expanded = self.memory_head(memory_input_flat, ltm_state_expanded)
120
+
121
+ # *** FIX: Condense updated LTM state back to batch dimension B ***
122
+ if new_ltm_state_expanded is not None:
123
+ num_ltm_slots = new_ltm_state_expanded.shape[1]
124
+ new_ltm_condensed = new_ltm_state_expanded.view(B, S, num_ltm_slots, self.memory_dim).mean(dim=1)
125
+ self.global_state_storage['ltm'] = new_ltm_condensed.detach()
126
+
127
+ initial_thought = compressed_mem_flat.mean(dim=1).view(B, S, self.memory_dim)
128
+ current_thought = initial_thought
129
+ if not self.training and self.refinement_passes > 0:
130
+ with torch.no_grad():
131
+ for _ in range(self.refinement_passes):
132
+ current_thought_flat = current_thought.view(B * S, 1, self.memory_dim)
133
+ internal_ref, _ = self.memory_head.decoder_attention(
134
+ query=current_thought_flat, key=compressed_mem_flat, value=compressed_mem_flat)
135
+ external_crit, _ = self.thought_critique_attention(
136
+ query=current_thought_flat, key=memory_input_flat, value=memory_input_flat)
137
+ refined_thought = current_thought + internal_ref.view(B,S,-1) + external_crit.view(B,S,-1)
138
+ current_thought = self.thought_layernorm(refined_thought)
139
+
140
+ thought_for_correction = current_thought if not self.training else initial_thought
141
+ raw_correction = self.correction_head(thought_for_correction)
142
+ gate, value = torch.chunk(raw_correction, 2, dim=-1)
143
+ final_activation = base_output * torch.sigmoid(gate.to(x.dtype)) + value.to(x.dtype)
144
+
145
+ if self.training:
146
+ self.last_corrected_activation = final_activation
147
+ self.last_additive_correction = value
148
+ self.last_memory_input = memory_input
149
+ self.last_reconstructed_from_memory = recon_flat.view(B, S, 2, self.memory_dim)
150
+ return final_activation
151
+
152
+ # --- BUILDING BLOCK 3: The Full Custom Model with State Management ---
153
+ class Phi3WithReflectiveMemoryForCausalLM(Phi3ForCausalLM):
154
+ def __init__(self, config):
155
+ super().__init__(config)
156
+ self.global_state_storage = {}
157
+ self.target_layer_path = "model.layers.15.mlp.gate_up_proj"
158
+ self.memory_dim, self.num_long_term_memory_slots = 64, 32
159
+
160
+ self.model.embed_tokens.register_forward_hook(
161
+ lambda module, input, output: self.global_state_storage.update({'embeds': output}))
162
+
163
+ try:
164
+ original_layer = self.get_submodule(self.target_layer_path)
165
+ custom_layer = ReflectiveMemoryLayer(
166
+ original_layer=original_layer, global_input_dim=config.hidden_size,
167
+ memory_dim=self.memory_dim, num_memory_slots=8, memory_num_heads=4,
168
+ global_state_storage=self.global_state_storage)
169
+ parent_path = ".".join(self.target_layer_path.split('.')[:-1])
170
+ setattr(self.get_submodule(parent_path), self.target_layer_path.split('.')[-1], custom_layer)
171
+ print(f"Successfully replaced '{self.target_layer_path}' with ReflectiveMemoryLayer.")
172
+ except AttributeError:
173
+ print(f"Could not find target layer '{self.target_layer_path}'. Model remains unmodified.")
174
+
175
+ def _init_ltm_state(self, batch_size, device, dtype):
176
+ # *** FIX: Initialize LTM state per item in the batch (no hardcoded hack) ***
177
+ return torch.zeros(
178
+ batch_size, self.num_long_term_memory_slots, self.memory_dim, device=device, dtype=dtype)
179
+
180
+ def forward(self, input_ids: torch.LongTensor = None, attention_mask: Optional[torch.Tensor] = None,
181
+ position_ids: Optional[torch.LongTensor] = None, past_key_values: Optional[list[torch.FloatTensor]] = None,
182
+ inputs_embeds: Optional[torch.FloatTensor] = None, labels: Optional[torch.LongTensor] = None,
183
+ use_cache: Optional[bool] = None, output_attentions: Optional[bool] = None,
184
+ output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None,
185
+ ltm_state: Optional[torch.Tensor] = None):
186
+ return_dict = return_dict if return_dict is not None else self.config.use_return_dict
187
+ self.global_state_storage.clear()
188
+
189
+ # *** FIX: Initialize LTM state if not provided, for both training and first step of inference ***
190
+ if ltm_state is None:
191
+ batch_size = input_ids.shape[0] if input_ids is not None else inputs_embeds.shape[0]
192
+ ltm_state = self._init_ltm_state(batch_size, self.device, self.dtype)
193
+ self.global_state_storage['ltm'] = ltm_state
194
+
195
+ outputs = self.model(
196
+ input_ids=input_ids, attention_mask=attention_mask, position_ids=position_ids,
197
+ past_key_values=past_key_values, inputs_embeds=inputs_embeds, use_cache=use_cache,
198
+ output_attentions=output_attentions, output_hidden_states=output_hidden_states, return_dict=return_dict)
199
+
200
+ hidden_states = outputs[0]
201
+ logits = self.lm_head(hidden_states).float()
202
+
203
+ loss = None
204
+ if labels is not None:
205
+ loss_fct = nn.CrossEntropyLoss()
206
+ loss = loss_fct(logits[..., :-1, :].contiguous().view(-1, self.config.vocab_size),
207
+ labels[..., 1:].contiguous().view(-1))
208
+ # Note: Auxiliary losses from main.py are calculated outside the model forward pass.
209
+
210
+ new_ltm_state = self.global_state_storage.get('ltm', None)
211
+
212
+ if not return_dict:
213
+ output = (logits,) + outputs[1:] + (new_ltm_state,)
214
+ return (loss,) + output if loss is not None else output
215
+
216
+ return CausalLMOutputWithLTM(
217
+ loss=loss, logits=logits, past_key_values=outputs.past_key_values,
218
+ hidden_states=outputs.hidden_states, attentions=outputs.attentions, ltm_state=new_ltm_state)
chat_template.jinja ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {% for message in messages %}{% if message['role'] == 'system' %}{{'<|system|>
2
+ ' + message['content'] + '<|end|>
3
+ '}}{% elif message['role'] == 'user' %}{{'<|user|>
4
+ ' + message['content'] + '<|end|>
5
+ '}}{% elif message['role'] == 'assistant' %}{{'<|assistant|>
6
+ ' + message['content'] + '<|end|>
7
+ '}}{% endif %}{% endfor %}{% if add_generation_prompt %}{{ '<|assistant|>
8
+ ' }}{% else %}{{ eos_token }}{% endif %}
config.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Phi3ForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "auto_map": {
8
+ "AutoConfig": "configuration_phi3.Phi3Config",
9
+ "AutoModelForCausalLM": "architectureV3.Phi3WithReflectiveMemoryForCausalLM"
10
+ },
11
+ "bos_token_id": 1,
12
+ "embd_pdrop": 0.0,
13
+ "eos_token_id": 32000,
14
+ "hidden_act": "silu",
15
+ "hidden_size": 3072,
16
+ "initializer_range": 0.02,
17
+ "intermediate_size": 8192,
18
+ "max_position_embeddings": 4096,
19
+ "model_type": "phi3",
20
+ "num_attention_heads": 32,
21
+ "num_hidden_layers": 32,
22
+ "num_key_value_heads": 32,
23
+ "original_max_position_embeddings": 4096,
24
+ "pad_token_id": 32000,
25
+ "resid_pdrop": 0.0,
26
+ "rms_norm_eps": 1e-05,
27
+ "rope_scaling": null,
28
+ "rope_theta": 10000.0,
29
+ "sliding_window": 2047,
30
+ "tie_word_embeddings": false,
31
+ "torch_dtype": "bfloat16",
32
+ "transformers_version": "4.53.0",
33
+ "use_cache": true,
34
+ "vocab_size": 32064
35
+ }
configuration_phi3.py ADDED
@@ -0,0 +1,227 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2024 Microsoft and the HuggingFace Inc. team. All rights reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ """ Phi-3 model configuration"""
17
+
18
+
19
+ from transformers.configuration_utils import PretrainedConfig
20
+ from transformers.utils import logging
21
+
22
+
23
+ logger = logging.get_logger(__name__)
24
+
25
+ PHI3_PRETRAINED_CONFIG_ARCHIVE_MAP = {
26
+ "microsoft/Phi-3-mini-4k-instruct": "https://huggingface.co/microsoft/Phi-3-mini-4k-instruct/resolve/main/config.json",
27
+ "microsoft/Phi-3-mini-128k-instruct": "https://huggingface.co/microsoft/Phi-3-mini-128k-instruct/resolve/main/config.json",
28
+ }
29
+
30
+
31
+ class Phi3Config(PretrainedConfig):
32
+ r"""
33
+ This is the configuration class to store the configuration of a [`Phi3Model`]. It is used to instantiate a Phi-3
34
+ model according to the specified arguments, defining the model architecture. Instantiating a configuration with the
35
+ defaults will yield a similar configuration to that of the
36
+ [microsoft/Phi-3-mini-4k-instruct](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct).
37
+
38
+ Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
39
+ documentation from [`PretrainedConfig`] for more information.
40
+
41
+ Args:
42
+ vocab_size (`int`, *optional*, defaults to 32064):
43
+ Vocabulary size of the Phi-3 model. Defines the number of different tokens that can be represented by the
44
+ `inputs_ids` passed when calling [`Phi3Model`].
45
+ hidden_size (`int`, *optional*, defaults to 3072):
46
+ Dimension of the hidden representations.
47
+ intermediate_size (`int`, *optional*, defaults to 8192):
48
+ Dimension of the MLP representations.
49
+ num_hidden_layers (`int`, *optional*, defaults to 32):
50
+ Number of hidden layers in the Transformer decoder.
51
+ num_attention_heads (`int`, *optional*, defaults to 32):
52
+ Number of attention heads for each attention layer in the Transformer decoder.
53
+ num_key_value_heads (`int`, *optional*):
54
+ This is the number of key_value heads that should be used to implement Grouped Query Attention. If
55
+ `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
56
+ `num_key_value_heads=1 the model will use Multi Query Attention (MQA) otherwise GQA is used. When
57
+ converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
58
+ by meanpooling all the original heads within that group. For more details checkout [this
59
+ paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to
60
+ `num_attention_heads`.
61
+ resid_pdrop (`float`, *optional*, defaults to 0.0):
62
+ Dropout probability for mlp outputs.
63
+ embd_pdrop (`int`, *optional*, defaults to 0.0):
64
+ The dropout ratio for the embeddings.
65
+ attention_dropout (`float`, *optional*, defaults to 0.0):
66
+ The dropout ratio after computing the attention scores.
67
+ hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
68
+ The non-linear activation function (function or string) in the decoder.
69
+ max_position_embeddings (`int`, *optional*, defaults to 4096):
70
+ The maximum sequence length that this model might ever be used with.
71
+ original_max_position_embeddings (`int`, *optional*, defaults to 4096):
72
+ The maximum sequence length that this model was trained with. This is used to determine the size of the
73
+ original RoPE embeddings when using long scaling.
74
+ initializer_range (`float`, *optional*, defaults to 0.02):
75
+ The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
76
+ rms_norm_eps (`float`, *optional*, defaults to 1e-05):
77
+ The epsilon value used for the RMSNorm.
78
+ use_cache (`bool`, *optional*, defaults to `True`):
79
+ Whether or not the model should return the last key/values attentions (not used by all models). Only
80
+ relevant if `config.is_decoder=True`. Whether to tie weight embeddings or not.
81
+ tie_word_embeddings (`bool`, *optional*, defaults to `False`):
82
+ Whether to tie weight embeddings
83
+ rope_theta (`float`, *optional*, defaults to 10000.0):
84
+ The base period of the RoPE embeddings.
85
+ rope_scaling (`dict`, *optional*):
86
+ The scaling strategy for the RoPE embeddings. If `None`, no scaling is applied. If a dictionary, it must
87
+ contain the following keys: `type`, `short_factor` and `long_factor`. The `type` must be `longrope` and
88
+ the `short_factor` and `long_factor` must be lists of numbers with the same length as the hidden size
89
+ divided by the number of attention heads divided by 2.
90
+ bos_token_id (`int`, *optional*, defaults to 1):
91
+ The id of the "beginning-of-sequence" token.
92
+ eos_token_id (`int`, *optional*, defaults to 32000):
93
+ The id of the "end-of-sequence" token.
94
+ pad_token_id (`int`, *optional*, defaults to 32000):
95
+ The id of the padding token.
96
+ sliding_window (`int`, *optional*):
97
+ Sliding window attention window size. If `None`, no sliding window is applied.
98
+
99
+ Example:
100
+
101
+ ```python
102
+ >>> from transformers import Phi3Model, Phi3Config
103
+
104
+ >>> # Initializing a Phi-3 style configuration
105
+ >>> configuration = Phi3Config.from_pretrained("microsoft/Phi-3-mini-4k-instruct")
106
+
107
+ >>> # Initializing a model from the configuration
108
+ >>> model = Phi3Model(configuration)
109
+
110
+ >>> # Accessing the model configuration
111
+ >>> configuration = model.config
112
+ ```"""
113
+
114
+ model_type = "phi3"
115
+ keys_to_ignore_at_inference = ["past_key_values"]
116
+
117
+ def __init__(
118
+ self,
119
+ vocab_size=32064,
120
+ hidden_size=3072,
121
+ intermediate_size=8192,
122
+ num_hidden_layers=32,
123
+ num_attention_heads=32,
124
+ num_key_value_heads=None,
125
+ resid_pdrop=0.0,
126
+ embd_pdrop=0.0,
127
+ attention_dropout=0.0,
128
+ hidden_act="silu",
129
+ max_position_embeddings=4096,
130
+ original_max_position_embeddings=4096,
131
+ initializer_range=0.02,
132
+ rms_norm_eps=1e-5,
133
+ use_cache=True,
134
+ tie_word_embeddings=False,
135
+ rope_theta=10000.0,
136
+ rope_scaling=None,
137
+ bos_token_id=1,
138
+ eos_token_id=32000,
139
+ pad_token_id=32000,
140
+ sliding_window=None,
141
+ **kwargs,
142
+ ):
143
+ self.vocab_size = vocab_size
144
+ self.hidden_size = hidden_size
145
+ self.intermediate_size = intermediate_size
146
+ self.num_hidden_layers = num_hidden_layers
147
+ self.num_attention_heads = num_attention_heads
148
+
149
+ if num_key_value_heads is None:
150
+ num_key_value_heads = num_attention_heads
151
+
152
+ self.num_key_value_heads = num_key_value_heads
153
+ self.resid_pdrop = resid_pdrop
154
+ self.embd_pdrop = embd_pdrop
155
+ self.attention_dropout = attention_dropout
156
+ self.hidden_act = hidden_act
157
+ self.max_position_embeddings = max_position_embeddings
158
+ self.original_max_position_embeddings = original_max_position_embeddings
159
+ self.initializer_range = initializer_range
160
+ self.rms_norm_eps = rms_norm_eps
161
+ self.use_cache = use_cache
162
+ self.rope_theta = rope_theta
163
+ self.rope_scaling = rope_scaling
164
+ self._rope_scaling_adjustment()
165
+ self._rope_scaling_validation()
166
+ self.sliding_window = sliding_window
167
+
168
+ super().__init__(
169
+ bos_token_id=bos_token_id,
170
+ eos_token_id=eos_token_id,
171
+ pad_token_id=pad_token_id,
172
+ tie_word_embeddings=tie_word_embeddings,
173
+ **kwargs,
174
+ )
175
+
176
+ def _rope_scaling_adjustment(self):
177
+ """
178
+ Adjust the `type` of the `rope_scaling` configuration for backward compatibility.
179
+ """
180
+ if self.rope_scaling is None:
181
+ return
182
+
183
+ rope_scaling_type = self.rope_scaling.get("type", None)
184
+
185
+ # For backward compatibility if previous version used "su" or "yarn"
186
+ if rope_scaling_type is not None and rope_scaling_type in ["su", "yarn"]:
187
+ self.rope_scaling["type"] = "longrope"
188
+
189
+ def _rope_scaling_validation(self):
190
+ """
191
+ Validate the `rope_scaling` configuration.
192
+ """
193
+ if self.rope_scaling is None:
194
+ return
195
+
196
+ if not isinstance(self.rope_scaling, dict) or len(self.rope_scaling) != 3:
197
+ raise ValueError(
198
+ "`rope_scaling` must be a dictionary with three fields, `type`, `short_factor` and `long_factor`, "
199
+ f"got {self.rope_scaling}"
200
+ )
201
+ rope_scaling_type = self.rope_scaling.get("type", None)
202
+ rope_scaling_short_factor = self.rope_scaling.get("short_factor", None)
203
+ rope_scaling_long_factor = self.rope_scaling.get("long_factor", None)
204
+ if rope_scaling_type is None or rope_scaling_type not in ["longrope"]:
205
+ raise ValueError(f"`rope_scaling`'s type field must be one of ['longrope'], got {rope_scaling_type}")
206
+ if not (
207
+ isinstance(rope_scaling_short_factor, list)
208
+ and all(isinstance(x, (int, float)) for x in rope_scaling_short_factor)
209
+ ):
210
+ raise ValueError(
211
+ f"`rope_scaling`'s short_factor field must be a list of numbers, got {rope_scaling_short_factor}"
212
+ )
213
+ if not len(rope_scaling_short_factor) == self.hidden_size // self.num_attention_heads // 2:
214
+ raise ValueError(
215
+ f"`rope_scaling`'s short_factor field must have length {self.hidden_size // self.num_attention_heads // 2}, got {len(rope_scaling_short_factor)}"
216
+ )
217
+ if not (
218
+ isinstance(rope_scaling_long_factor, list)
219
+ and all(isinstance(x, (int, float)) for x in rope_scaling_long_factor)
220
+ ):
221
+ raise ValueError(
222
+ f"`rope_scaling`'s long_factor field must be a list of numbers, got {rope_scaling_long_factor}"
223
+ )
224
+ if not len(rope_scaling_long_factor) == self.hidden_size // self.num_attention_heads // 2:
225
+ raise ValueError(
226
+ f"`rope_scaling`'s long_factor field must have length {self.hidden_size // self.num_attention_heads // 2}, got {len(rope_scaling_long_factor)}"
227
+ )
generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 1,
4
+ "eos_token_id": 32000,
5
+ "pad_token_id": 32000,
6
+ "transformers_version": "4.53.0"
7
+ }
model-00001-of-00002.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b838acd9f2c8bbe02dedecef4234aeedf3304fbe7a1a786163300be81581def4
3
+ size 4983487544
model-00002-of-00002.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3f311787aa136e858556caa8543015161edcad85ba81b6a36072443d7fa73c87
3
+ size 2669692552
model.safetensors.index.json ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "total_parameters": 3826575232,
4
+ "total_size": 7653150464
5
+ },
6
+ "weight_map": {
7
+ "lm_head.weight": "model-00002-of-00002.safetensors",
8
+ "model.embed_tokens.weight": "model-00001-of-00002.safetensors",
9
+ "model.layers.0.input_layernorm.weight": "model-00001-of-00002.safetensors",
10
+ "model.layers.0.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
11
+ "model.layers.0.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
12
+ "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
13
+ "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
14
+ "model.layers.0.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
15
+ "model.layers.1.input_layernorm.weight": "model-00001-of-00002.safetensors",
16
+ "model.layers.1.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
17
+ "model.layers.1.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
18
+ "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
19
+ "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
20
+ "model.layers.1.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
21
+ "model.layers.10.input_layernorm.weight": "model-00001-of-00002.safetensors",
22
+ "model.layers.10.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
23
+ "model.layers.10.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
24
+ "model.layers.10.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
25
+ "model.layers.10.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
26
+ "model.layers.10.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
27
+ "model.layers.11.input_layernorm.weight": "model-00001-of-00002.safetensors",
28
+ "model.layers.11.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
29
+ "model.layers.11.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
30
+ "model.layers.11.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
31
+ "model.layers.11.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
32
+ "model.layers.11.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
33
+ "model.layers.12.input_layernorm.weight": "model-00001-of-00002.safetensors",
34
+ "model.layers.12.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
35
+ "model.layers.12.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
36
+ "model.layers.12.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
37
+ "model.layers.12.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
38
+ "model.layers.12.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
39
+ "model.layers.13.input_layernorm.weight": "model-00001-of-00002.safetensors",
40
+ "model.layers.13.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
41
+ "model.layers.13.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
42
+ "model.layers.13.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
43
+ "model.layers.13.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
44
+ "model.layers.13.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
45
+ "model.layers.14.input_layernorm.weight": "model-00001-of-00002.safetensors",
46
+ "model.layers.14.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
47
+ "model.layers.14.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
48
+ "model.layers.14.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
49
+ "model.layers.14.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
50
+ "model.layers.14.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
51
+ "model.layers.15.input_layernorm.weight": "model-00001-of-00002.safetensors",
52
+ "model.layers.15.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
53
+ "model.layers.15.mlp.gate_up_proj.correction_head.bias": "model-00001-of-00002.safetensors",
54
+ "model.layers.15.mlp.gate_up_proj.correction_head.weight": "model-00001-of-00002.safetensors",
55
+ "model.layers.15.mlp.gate_up_proj.global_state_proj.bias": "model-00001-of-00002.safetensors",
56
+ "model.layers.15.mlp.gate_up_proj.global_state_proj.weight": "model-00001-of-00002.safetensors",
57
+ "model.layers.15.mlp.gate_up_proj.linear.weight": "model-00001-of-00002.safetensors",
58
+ "model.layers.15.mlp.gate_up_proj.local_state_proj.bias": "model-00001-of-00002.safetensors",
59
+ "model.layers.15.mlp.gate_up_proj.local_state_proj.weight": "model-00001-of-00002.safetensors",
60
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_attention.in_proj_bias": "model-00001-of-00002.safetensors",
61
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_attention.in_proj_weight": "model-00001-of-00002.safetensors",
62
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_attention.out_proj.bias": "model-00001-of-00002.safetensors",
63
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_attention.out_proj.weight": "model-00001-of-00002.safetensors",
64
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_ffn.0.bias": "model-00001-of-00002.safetensors",
65
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_ffn.0.weight": "model-00001-of-00002.safetensors",
66
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_ffn.2.bias": "model-00001-of-00002.safetensors",
67
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_ffn.2.weight": "model-00001-of-00002.safetensors",
68
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_layernorm.bias": "model-00001-of-00002.safetensors",
69
+ "model.layers.15.mlp.gate_up_proj.memory_head.decoder_layernorm.weight": "model-00001-of-00002.safetensors",
70
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.linear1.bias": "model-00001-of-00002.safetensors",
71
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.linear1.weight": "model-00001-of-00002.safetensors",
72
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.linear2.bias": "model-00001-of-00002.safetensors",
73
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.linear2.weight": "model-00001-of-00002.safetensors",
74
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.norm1.bias": "model-00001-of-00002.safetensors",
75
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.norm1.weight": "model-00001-of-00002.safetensors",
76
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.norm2.bias": "model-00001-of-00002.safetensors",
77
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.norm2.weight": "model-00001-of-00002.safetensors",
78
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.self_attn.in_proj_bias": "model-00001-of-00002.safetensors",
79
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.self_attn.in_proj_weight": "model-00001-of-00002.safetensors",
80
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.self_attn.out_proj.bias": "model-00001-of-00002.safetensors",
81
+ "model.layers.15.mlp.gate_up_proj.memory_head.encoder.layers.0.self_attn.out_proj.weight": "model-00001-of-00002.safetensors",
82
+ "model.layers.15.mlp.gate_up_proj.memory_head.ltm_retrieval_attention.in_proj_bias": "model-00001-of-00002.safetensors",
83
+ "model.layers.15.mlp.gate_up_proj.memory_head.ltm_retrieval_attention.in_proj_weight": "model-00001-of-00002.safetensors",
84
+ "model.layers.15.mlp.gate_up_proj.memory_head.ltm_retrieval_attention.out_proj.bias": "model-00001-of-00002.safetensors",
85
+ "model.layers.15.mlp.gate_up_proj.memory_head.ltm_retrieval_attention.out_proj.weight": "model-00001-of-00002.safetensors",
86
+ "model.layers.15.mlp.gate_up_proj.memory_head.memory_attention.in_proj_bias": "model-00001-of-00002.safetensors",
87
+ "model.layers.15.mlp.gate_up_proj.memory_head.memory_attention.in_proj_weight": "model-00001-of-00002.safetensors",
88
+ "model.layers.15.mlp.gate_up_proj.memory_head.memory_attention.out_proj.bias": "model-00001-of-00002.safetensors",
89
+ "model.layers.15.mlp.gate_up_proj.memory_head.memory_attention.out_proj.weight": "model-00001-of-00002.safetensors",
90
+ "model.layers.15.mlp.gate_up_proj.memory_head.memory_layernorm.bias": "model-00001-of-00002.safetensors",
91
+ "model.layers.15.mlp.gate_up_proj.memory_head.memory_layernorm.weight": "model-00001-of-00002.safetensors",
92
+ "model.layers.15.mlp.gate_up_proj.memory_head.memory_queries": "model-00001-of-00002.safetensors",
93
+ "model.layers.15.mlp.gate_up_proj.memory_head.memory_update_gate.0.bias": "model-00001-of-00002.safetensors",
94
+ "model.layers.15.mlp.gate_up_proj.memory_head.memory_update_gate.0.weight": "model-00001-of-00002.safetensors",
95
+ "model.layers.15.mlp.gate_up_proj.thought_critique_attention.in_proj_bias": "model-00001-of-00002.safetensors",
96
+ "model.layers.15.mlp.gate_up_proj.thought_critique_attention.in_proj_weight": "model-00001-of-00002.safetensors",
97
+ "model.layers.15.mlp.gate_up_proj.thought_critique_attention.out_proj.bias": "model-00001-of-00002.safetensors",
98
+ "model.layers.15.mlp.gate_up_proj.thought_critique_attention.out_proj.weight": "model-00001-of-00002.safetensors",
99
+ "model.layers.15.mlp.gate_up_proj.thought_layernorm.bias": "model-00001-of-00002.safetensors",
100
+ "model.layers.15.mlp.gate_up_proj.thought_layernorm.weight": "model-00001-of-00002.safetensors",
101
+ "model.layers.15.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
102
+ "model.layers.15.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
103
+ "model.layers.15.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
104
+ "model.layers.16.input_layernorm.weight": "model-00001-of-00002.safetensors",
105
+ "model.layers.16.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
106
+ "model.layers.16.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
107
+ "model.layers.16.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
108
+ "model.layers.16.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
109
+ "model.layers.16.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
110
+ "model.layers.17.input_layernorm.weight": "model-00001-of-00002.safetensors",
111
+ "model.layers.17.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
112
+ "model.layers.17.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
113
+ "model.layers.17.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
114
+ "model.layers.17.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
115
+ "model.layers.17.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
116
+ "model.layers.18.input_layernorm.weight": "model-00001-of-00002.safetensors",
117
+ "model.layers.18.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
118
+ "model.layers.18.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
119
+ "model.layers.18.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
120
+ "model.layers.18.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
121
+ "model.layers.18.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
122
+ "model.layers.19.input_layernorm.weight": "model-00001-of-00002.safetensors",
123
+ "model.layers.19.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
124
+ "model.layers.19.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
125
+ "model.layers.19.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
126
+ "model.layers.19.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
127
+ "model.layers.19.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
128
+ "model.layers.2.input_layernorm.weight": "model-00001-of-00002.safetensors",
129
+ "model.layers.2.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
130
+ "model.layers.2.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
131
+ "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
132
+ "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
133
+ "model.layers.2.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
134
+ "model.layers.20.input_layernorm.weight": "model-00001-of-00002.safetensors",
135
+ "model.layers.20.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
136
+ "model.layers.20.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
137
+ "model.layers.20.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
138
+ "model.layers.20.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
139
+ "model.layers.20.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
140
+ "model.layers.21.input_layernorm.weight": "model-00002-of-00002.safetensors",
141
+ "model.layers.21.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
142
+ "model.layers.21.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
143
+ "model.layers.21.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
144
+ "model.layers.21.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
145
+ "model.layers.21.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
146
+ "model.layers.22.input_layernorm.weight": "model-00002-of-00002.safetensors",
147
+ "model.layers.22.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
148
+ "model.layers.22.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
149
+ "model.layers.22.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
150
+ "model.layers.22.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
151
+ "model.layers.22.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
152
+ "model.layers.23.input_layernorm.weight": "model-00002-of-00002.safetensors",
153
+ "model.layers.23.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
154
+ "model.layers.23.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
155
+ "model.layers.23.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
156
+ "model.layers.23.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
157
+ "model.layers.23.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
158
+ "model.layers.24.input_layernorm.weight": "model-00002-of-00002.safetensors",
159
+ "model.layers.24.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
160
+ "model.layers.24.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
161
+ "model.layers.24.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
162
+ "model.layers.24.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
163
+ "model.layers.24.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
164
+ "model.layers.25.input_layernorm.weight": "model-00002-of-00002.safetensors",
165
+ "model.layers.25.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
166
+ "model.layers.25.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
167
+ "model.layers.25.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
168
+ "model.layers.25.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
169
+ "model.layers.25.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
170
+ "model.layers.26.input_layernorm.weight": "model-00002-of-00002.safetensors",
171
+ "model.layers.26.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
172
+ "model.layers.26.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
173
+ "model.layers.26.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
174
+ "model.layers.26.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
175
+ "model.layers.26.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
176
+ "model.layers.27.input_layernorm.weight": "model-00002-of-00002.safetensors",
177
+ "model.layers.27.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
178
+ "model.layers.27.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
179
+ "model.layers.27.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
180
+ "model.layers.27.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
181
+ "model.layers.27.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
182
+ "model.layers.28.input_layernorm.weight": "model-00002-of-00002.safetensors",
183
+ "model.layers.28.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
184
+ "model.layers.28.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
185
+ "model.layers.28.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
186
+ "model.layers.28.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
187
+ "model.layers.28.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
188
+ "model.layers.29.input_layernorm.weight": "model-00002-of-00002.safetensors",
189
+ "model.layers.29.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
190
+ "model.layers.29.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
191
+ "model.layers.29.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
192
+ "model.layers.29.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
193
+ "model.layers.29.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
194
+ "model.layers.3.input_layernorm.weight": "model-00001-of-00002.safetensors",
195
+ "model.layers.3.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
196
+ "model.layers.3.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
197
+ "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
198
+ "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
199
+ "model.layers.3.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
200
+ "model.layers.30.input_layernorm.weight": "model-00002-of-00002.safetensors",
201
+ "model.layers.30.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
202
+ "model.layers.30.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
203
+ "model.layers.30.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
204
+ "model.layers.30.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
205
+ "model.layers.30.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
206
+ "model.layers.31.input_layernorm.weight": "model-00002-of-00002.safetensors",
207
+ "model.layers.31.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
208
+ "model.layers.31.mlp.gate_up_proj.weight": "model-00002-of-00002.safetensors",
209
+ "model.layers.31.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
210
+ "model.layers.31.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
211
+ "model.layers.31.self_attn.qkv_proj.weight": "model-00002-of-00002.safetensors",
212
+ "model.layers.4.input_layernorm.weight": "model-00001-of-00002.safetensors",
213
+ "model.layers.4.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
214
+ "model.layers.4.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
215
+ "model.layers.4.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
216
+ "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
217
+ "model.layers.4.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
218
+ "model.layers.5.input_layernorm.weight": "model-00001-of-00002.safetensors",
219
+ "model.layers.5.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
220
+ "model.layers.5.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
221
+ "model.layers.5.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
222
+ "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
223
+ "model.layers.5.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
224
+ "model.layers.6.input_layernorm.weight": "model-00001-of-00002.safetensors",
225
+ "model.layers.6.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
226
+ "model.layers.6.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
227
+ "model.layers.6.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
228
+ "model.layers.6.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
229
+ "model.layers.6.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
230
+ "model.layers.7.input_layernorm.weight": "model-00001-of-00002.safetensors",
231
+ "model.layers.7.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
232
+ "model.layers.7.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
233
+ "model.layers.7.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
234
+ "model.layers.7.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
235
+ "model.layers.7.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
236
+ "model.layers.8.input_layernorm.weight": "model-00001-of-00002.safetensors",
237
+ "model.layers.8.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
238
+ "model.layers.8.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
239
+ "model.layers.8.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
240
+ "model.layers.8.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
241
+ "model.layers.8.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
242
+ "model.layers.9.input_layernorm.weight": "model-00001-of-00002.safetensors",
243
+ "model.layers.9.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
244
+ "model.layers.9.mlp.gate_up_proj.weight": "model-00001-of-00002.safetensors",
245
+ "model.layers.9.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
246
+ "model.layers.9.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
247
+ "model.layers.9.self_attn.qkv_proj.weight": "model-00001-of-00002.safetensors",
248
+ "model.norm.weight": "model-00002-of-00002.safetensors"
249
+ }
250
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "<|endoftext|>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "<|endoftext|>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "unk_token": {
24
+ "content": "<unk>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ }
30
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9e556afd44213b6bd1be2b850ebbbd98f5481437a8021afaf58ee7fb1818d347
3
+ size 499723
tokenizer_config.json ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": null,
5
+ "added_tokens_decoder": {
6
+ "0": {
7
+ "content": "<unk>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "1": {
15
+ "content": "<s>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "2": {
23
+ "content": "</s>",
24
+ "lstrip": false,
25
+ "normalized": false,
26
+ "rstrip": true,
27
+ "single_word": false,
28
+ "special": false
29
+ },
30
+ "32000": {
31
+ "content": "<|endoftext|>",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false,
36
+ "special": true
37
+ },
38
+ "32001": {
39
+ "content": "<|assistant|>",
40
+ "lstrip": false,
41
+ "normalized": false,
42
+ "rstrip": true,
43
+ "single_word": false,
44
+ "special": true
45
+ },
46
+ "32002": {
47
+ "content": "<|placeholder1|>",
48
+ "lstrip": false,
49
+ "normalized": false,
50
+ "rstrip": true,
51
+ "single_word": false,
52
+ "special": true
53
+ },
54
+ "32003": {
55
+ "content": "<|placeholder2|>",
56
+ "lstrip": false,
57
+ "normalized": false,
58
+ "rstrip": true,
59
+ "single_word": false,
60
+ "special": true
61
+ },
62
+ "32004": {
63
+ "content": "<|placeholder3|>",
64
+ "lstrip": false,
65
+ "normalized": false,
66
+ "rstrip": true,
67
+ "single_word": false,
68
+ "special": true
69
+ },
70
+ "32005": {
71
+ "content": "<|placeholder4|>",
72
+ "lstrip": false,
73
+ "normalized": false,
74
+ "rstrip": true,
75
+ "single_word": false,
76
+ "special": true
77
+ },
78
+ "32006": {
79
+ "content": "<|system|>",
80
+ "lstrip": false,
81
+ "normalized": false,
82
+ "rstrip": true,
83
+ "single_word": false,
84
+ "special": true
85
+ },
86
+ "32007": {
87
+ "content": "<|end|>",
88
+ "lstrip": false,
89
+ "normalized": false,
90
+ "rstrip": true,
91
+ "single_word": false,
92
+ "special": true
93
+ },
94
+ "32008": {
95
+ "content": "<|placeholder5|>",
96
+ "lstrip": false,
97
+ "normalized": false,
98
+ "rstrip": true,
99
+ "single_word": false,
100
+ "special": true
101
+ },
102
+ "32009": {
103
+ "content": "<|placeholder6|>",
104
+ "lstrip": false,
105
+ "normalized": false,
106
+ "rstrip": true,
107
+ "single_word": false,
108
+ "special": true
109
+ },
110
+ "32010": {
111
+ "content": "<|user|>",
112
+ "lstrip": false,
113
+ "normalized": false,
114
+ "rstrip": true,
115
+ "single_word": false,
116
+ "special": true
117
+ }
118
+ },
119
+ "bos_token": "<s>",
120
+ "clean_up_tokenization_spaces": false,
121
+ "eos_token": "<|endoftext|>",
122
+ "extra_special_tokens": {},
123
+ "legacy": false,
124
+ "model_max_length": 4096,
125
+ "pad_token": "<|endoftext|>",
126
+ "padding_side": "left",
127
+ "sp_model_kwargs": {},
128
+ "tokenizer_class": "LlamaTokenizer",
129
+ "unk_token": "<unk>",
130
+ "use_default_system_prompt": false
131
+ }