infgrad commited on
Commit
a41c6a1
·
verified ·
1 Parent(s): c5668ef

Upload 9 files

Browse files
config.json ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "DeweyV1"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "auto_map": {
8
+ "AutoModel": "modeling_dewey_v1.DeweyV1"
9
+ },
10
+ "bos_token_id": 50281,
11
+ "classifier_activation": "gelu",
12
+ "classifier_bias": false,
13
+ "classifier_dropout": 0.0,
14
+ "classifier_pooling": "mean",
15
+ "cls_token_id": 50281,
16
+ "decoder_bias": true,
17
+ "deterministic_flash_attn": false,
18
+ "embedding_dropout": 0.0,
19
+ "eos_token_id": 50282,
20
+ "global_attn_every_n_layers": 3,
21
+ "global_rope_theta": 73780400,
22
+ "gradient_checkpointing": false,
23
+ "hidden_activation": "gelu",
24
+ "hidden_size": 1024,
25
+ "initializer_cutoff_factor": 2.0,
26
+ "initializer_range": 0.02,
27
+ "intermediate_size": 2624,
28
+ "layer_norm_eps": 1e-05,
29
+ "local_attention": 128,
30
+ "local_rope_theta": 10000.0,
31
+ "max_position_embeddings": 131072,
32
+ "mlp_bias": false,
33
+ "mlp_dropout": 0.0,
34
+ "model_type": "modernbert",
35
+ "norm_bias": false,
36
+ "norm_eps": 1e-05,
37
+ "num_attention_heads": 16,
38
+ "num_hidden_layers": 28,
39
+ "pad_token_id": 50283,
40
+ "position_embedding_type": "absolute",
41
+ "sep_token_id": 50282,
42
+ "torch_dtype": "float32",
43
+ "transformers_version": "4.49.0",
44
+ "vector_size": 2048,
45
+ "single_vector_type":"cls_add_mean",
46
+ "vocab_size": 50370,
47
+ "tie_word_embeddings":false
48
+ }
custom_st.py ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from typing import Optional
3
+ from pydantic import BaseModel
4
+ from sentence_transformers.models import Transformer as BaseTransformer
5
+
6
+
7
+ class TextSpan(BaseModel):
8
+ s: int
9
+ e: int
10
+ module_name: str
11
+ text: Optional[str] = None
12
+
13
+
14
+ class DeweyTransformer(BaseTransformer):
15
+ def __init__(
16
+ self,
17
+ model_name_or_path: str,
18
+ **kwargs,
19
+ ):
20
+ self.single_vector_type = kwargs.get("config_args", {}).get("single_vector_type", "mean")
21
+ super().__init__(model_name_or_path, **kwargs)
22
+
23
+ def forward(
24
+ self, features: dict[str, torch.Tensor], **kwargs
25
+ ) -> dict[str, torch.Tensor]:
26
+ prompt_length = features.get("prompt_length", 0)
27
+ if prompt_length > 0:
28
+ # in MondernBert, text is surrounded by [CLS] and [SEP]
29
+ prompt_length -= 1
30
+ batch_text_spans = []
31
+ for data_len in features["attention_mask"].sum(dim=1):
32
+ if self.single_vector_type == "cls":
33
+ batch_text_spans.append(
34
+ [
35
+ TextSpan(s=0, e=1, module_name="cls_linear")
36
+ ]
37
+ )
38
+ elif self.single_vector_type == "mean":
39
+ batch_text_spans.append(
40
+ [
41
+ TextSpan(s=1 + prompt_length, e=data_len - 1, module_name="chunk_linear")
42
+ ]
43
+ )
44
+ elif self.single_vector_type == "cls_add_mean":
45
+ batch_text_spans.append(
46
+ [
47
+ TextSpan(s=0, e=1, module_name="cls_linear"),
48
+ TextSpan(s=1 + prompt_length, e=data_len - 1, module_name="chunk_linear")
49
+ ]
50
+ )
51
+ else:
52
+ raise Exception("single_vector_type should be in {cls, mean or cls_add_mean}")
53
+
54
+ trans_features = {
55
+ "input_ids": features["input_ids"],
56
+ "attention_mask": features["attention_mask"],
57
+ "batch_text_spans": batch_text_spans,
58
+ "normalize_embeddings": self.single_vector_type == "cls_add_mean",
59
+ }
60
+ # print(features["input_ids"].shape)
61
+ vectors_list = self.auto_model(**trans_features, **kwargs)
62
+ sentence_embedding = torch.cat(
63
+ [vecs.mean(dim=0, keepdim=True) for vecs in vectors_list],
64
+ dim=0
65
+ )
66
+ features.update({"sentence_embedding": sentence_embedding})
67
+ return features
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b474c19520443c3a144d1c62e4d889d1de2580b67b3c9aebb31e24c5c2acac8
3
+ size 1595946872
modeling_dewey_v1.py ADDED
@@ -0,0 +1,283 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import logging
2
+ import torch
3
+ import numpy as np
4
+ import torch.nn as nn
5
+ import torch.nn.functional as F
6
+ from typing import Union, Optional, Tuple, List
7
+ from pydantic import BaseModel
8
+ from tqdm import tqdm
9
+ from langchain_text_splitters import RecursiveCharacterTextSplitter
10
+ from transformers import ModernBertModel, ModernBertPreTrainedModel, ModernBertConfig
11
+
12
+
13
+ class TextSpan(BaseModel):
14
+ s: int
15
+ e: int
16
+ module_name: str
17
+ text: Optional[str] = None
18
+
19
+
20
+ class Instance(BaseModel):
21
+ original_text: str
22
+ text_spans: List[TextSpan]
23
+
24
+
25
+ def recursive_split(text, chunk_size=256, chunk_overlap=32):
26
+ """ recursive split a text by RecursiveCharacterTextSplitter in langchain_text_splitters """
27
+ splitter = RecursiveCharacterTextSplitter(
28
+ chunk_size=chunk_size,
29
+ chunk_overlap=chunk_overlap,
30
+ length_function=lambda x: len(x.split()),
31
+ separators=["\n\n", "\n", ". ", "? ", "! ", "; "],
32
+ )
33
+ chunks = splitter.split_text(text)
34
+ if not chunks:
35
+ logging.error(f"Error, chunks is empty, text:{text}")
36
+ return [text], [[0, len(text)]]
37
+ chunk_span = [
38
+ # TODO a text may have multi same chunks
39
+ [text.find(chunk), text.find(chunk) + len(chunk)]
40
+ for chunk in chunks
41
+ ]
42
+ assert chunk_span[0][0] == 0
43
+ assert all((span[0] >= 0 for span in chunk_span))
44
+ return chunks, chunk_span
45
+
46
+
47
+ def make_batch_input_for_prediction(
48
+ texts: List[str],
49
+ tokenizer,
50
+ max_seq_length: int,
51
+ chunk_size=256,
52
+ chunk_overlap=32,
53
+ prompt: str = "",
54
+ fast_chunk: bool = False,
55
+ batch_text_spans: List[List[TextSpan]] = None,
56
+ ):
57
+ """ prepare input"""
58
+ if batch_text_spans is not None:
59
+ ipt = tokenizer(
60
+ [prompt + i for i in texts],
61
+ padding="longest",
62
+ truncation=True,
63
+ max_length=max_seq_length,
64
+ return_tensors="pt"
65
+ )
66
+ for text_spans, data_len in zip(batch_text_spans, ipt["attention_mask"].sum(dim=1)):
67
+ for text_span in text_spans:
68
+ assert -1 < text_span.s < text_span.e <= data_len
69
+ ipt["batch_text_spans"] = batch_text_spans
70
+ return ipt
71
+ prompt_len = len(tokenizer.tokenize(prompt))
72
+ truncated_texts = [
73
+ tokenizer.decode(
74
+ tokenizer.encode(text)[:max_seq_length - prompt_len - 2],
75
+ skip_special_tokens=True,
76
+ clean_up_tokenization_spaces=True
77
+ ).strip()
78
+ for text in texts
79
+ ]
80
+ ipt = tokenizer(
81
+ [prompt + i for i in truncated_texts],
82
+ padding="longest",
83
+ truncation=True,
84
+ max_length=max_seq_length,
85
+ return_tensors="pt"
86
+ )
87
+ batch_text_spans = []
88
+ for text, data_len in zip(truncated_texts, ipt["attention_mask"].sum(dim=1)):
89
+ text_spans = [
90
+ TextSpan(
91
+ s=0,
92
+ e=1,
93
+ module_name="cls_linear",
94
+ ),
95
+ TextSpan(
96
+ s=1 + prompt_len,
97
+ e=data_len - 1,
98
+ module_name="chunk_linear",
99
+ ),
100
+ ]
101
+
102
+ if chunk_size > 1 and chunk_overlap > -1:
103
+ # chunk_size > 1 means that we need chunk vector
104
+ if fast_chunk:
105
+ start_pos, end_pos = 1 + prompt_len, data_len - 1
106
+ for s in range(start_pos, end_pos, chunk_size):
107
+ s -= chunk_overlap
108
+ s = max((s, start_pos))
109
+ e = min((s + chunk_size, end_pos))
110
+ if e - s > 0 and not (s == start_pos and e == end_pos):
111
+ text_spans.append(
112
+ TextSpan(
113
+ s=s,
114
+ e=e,
115
+ module_name="chunk_linear",
116
+ )
117
+ )
118
+
119
+ else:
120
+ chunks, chunk_span = recursive_split(text, chunk_size=chunk_size, chunk_overlap=chunk_overlap)
121
+ if len(chunks) > 1:
122
+ for (s, e), chunk in zip(chunk_span, chunks):
123
+ s = len(tokenizer.tokenize(text[:s])) + 1 + prompt_len
124
+ e = len(tokenizer.tokenize(text[:e])) + 1 + prompt_len
125
+ if s >= e:
126
+ continue
127
+ # original chunk vector
128
+ text_spans.append(
129
+ TextSpan(
130
+ s=s,
131
+ e=e,
132
+ module_name="chunk_linear",
133
+ text=chunk
134
+ )
135
+ )
136
+
137
+ batch_text_spans.append(text_spans)
138
+ ipt["batch_text_spans"] = batch_text_spans
139
+ return ipt
140
+
141
+
142
+ class DeweyV1(ModernBertPreTrainedModel):
143
+ def __init__(self, config: ModernBertConfig):
144
+ super().__init__(config)
145
+ self.config = config
146
+ self.model = ModernBertModel(config)
147
+ hidden_size = config.hidden_size
148
+ vector_size = config.vector_size
149
+ self.linear_dict = nn.ModuleDict(
150
+ {
151
+ "cls_linear": nn.Linear(hidden_size, vector_size, bias=True),
152
+ "chunk_linear": nn.Linear(hidden_size, vector_size, bias=True),
153
+ }
154
+ )
155
+ # Initialize weights and apply final processing
156
+ self.post_init()
157
+
158
+ def get_multi_vectors(
159
+ self,
160
+ batch_token_embeddings: torch.Tensor,
161
+ batch_text_spans: List[List[TextSpan]],
162
+ normalize_embeddings: bool = True
163
+ ) -> List[torch.Tensor]:
164
+ multi_vectors = []
165
+ for token_embeddings, text_spans in zip(batch_token_embeddings, batch_text_spans):
166
+ chunk_vectors = []
167
+ for text_span in text_spans:
168
+ s, e = text_span.s, text_span.e
169
+ if s >= token_embeddings.shape[0] or s >= e:
170
+ logging.warning(
171
+ f"given span is wrong, s, e, token_embeddings.shape: {s, e, token_embeddings.shape}",
172
+ )
173
+ s, e = 0, 1
174
+ mean_tokens_embs = token_embeddings[s:e, :].mean(dim=0, keepdim=True)
175
+ # if torch.isnan(mean_tokens_embs).any():
176
+ # logging.error(f"NaNs in token_embeddings.shape: {token_embeddings.shape},s,e:{s, e}")
177
+ chunk_vectors.append(
178
+ self.linear_dict[text_span.module_name](mean_tokens_embs),
179
+ )
180
+ chunk_vectors = torch.cat(chunk_vectors, dim=0)
181
+ if normalize_embeddings:
182
+ multi_vectors.append(F.normalize(chunk_vectors, p=2, dim=-1))
183
+ else:
184
+ multi_vectors.append(chunk_vectors)
185
+ return multi_vectors
186
+
187
+ def forward(
188
+ self,
189
+ input_ids: torch.Tensor,
190
+ attention_mask: torch.Tensor,
191
+ batch_text_spans: List[List[TextSpan]],
192
+ normalize_embeddings: bool = True,
193
+ *args,
194
+ **kwargs
195
+ ) -> List[torch.Tensor]:
196
+ batch_token_embeddings = self.model(input_ids=input_ids, attention_mask=attention_mask)[0]
197
+ multi_vectors = self.get_multi_vectors(
198
+ batch_token_embeddings=batch_token_embeddings,
199
+ batch_text_spans=batch_text_spans,
200
+ normalize_embeddings=normalize_embeddings
201
+ )
202
+ return multi_vectors
203
+
204
+ @torch.no_grad()
205
+ def encode(
206
+ self,
207
+ sentences: str | list[str],
208
+ batch_size: int = 32,
209
+ use_cuda: bool = True,
210
+ show_progress_bar: bool = True,
211
+ chunk_size: int = 256,
212
+ chunk_overlap: int = 32,
213
+ convert_to_tensor: bool = False,
214
+ max_seq_length: int = 8192,
215
+ normalize_embeddings: bool = True,
216
+ prompt: str = "",
217
+ fast_chunk: bool = False,
218
+ batch_text_spans: List[List[TextSpan]] = None,
219
+ *args,
220
+ **kwargs
221
+ ) -> Tuple[List[Union[np.ndarray, torch.Tensor]] | torch.Tensor | np.ndarray, List[List[TextSpan]]]:
222
+ """
223
+ encode sentences to multi vectors
224
+ Args:
225
+ sentences: str | list[str], The sentences to embed
226
+ batch_size: int
227
+ use_cuda: bool, Whether to use GPU for inference
228
+ show_progress_bar: bool, Whether to display the progress bar
229
+ chunk_size: int, the number tokens of chunk, The recommended size is between 64-1024. The larger the value,
230
+ the faster the speed, but the effect may decrease. The smaller the value, the slower the speed,
231
+ and when the value is very small, the effect may also decrease.
232
+ chunk_overlap: int, Overlap in characters between chunks
233
+ convert_to_tensor: bool, If true: convert to torch fp32 tensor, otherwise will return fp32 ndarray
234
+ max_seq_length: int, max length of text
235
+ normalize_embeddings: bool, whether to do a L2-normalize for vectors
236
+ prompt: str, the prompt for text, the final text to be encoded is "[CLS]{prompt}{sentence}[SEP]",
237
+ Note, you CANNOT manually add a prompt before the sentence yourself, as this will affect our length calculation!
238
+ fast_chunk: bool, if true, directly chunk on input ids, else using RecursiveCharacterTextSplitter
239
+ batch_text_spans: List[List[TextSpan]], default is None, if provided, the model will not chunk text anymore
240
+ *args:
241
+ **kwargs:
242
+
243
+ Returns:
244
+ List[tensor|ndarray], each text's multi vectors
245
+ """
246
+ self.eval()
247
+ # remove duplicate
248
+ if isinstance(sentences, str):
249
+ sentences = [sentences]
250
+ deduplicate_sentences = list(set(sentences))
251
+ deduplicate_sentences.sort(key=lambda x: len(x), reverse=True)
252
+ # encode
253
+ vectors_list, text_spans = [], []
254
+ for start in tqdm(
255
+ range(0, len(deduplicate_sentences), batch_size),
256
+ desc="encoding text...",
257
+ disable=not show_progress_bar
258
+ ):
259
+ batch = deduplicate_sentences[start:start + batch_size]
260
+ ipt = make_batch_input_for_prediction(
261
+ batch,
262
+ tokenizer=self.tokenizer,
263
+ max_seq_length=max_seq_length,
264
+ chunk_size=chunk_size,
265
+ chunk_overlap=chunk_overlap,
266
+ prompt=prompt,
267
+ fast_chunk=fast_chunk,
268
+ batch_text_spans=batch_text_spans
269
+ )
270
+ text_spans.extend(ipt["batch_text_spans"])
271
+ ipt = {k: v.cuda() if use_cuda and isinstance(v, torch.Tensor) else v for k, v in ipt.items()}
272
+ vectors_list.extend(self(**ipt, normalize_embeddings=normalize_embeddings))
273
+ # print(len(deduplicate_sentences), len(vectors_list), deduplicate_sentences[-1])
274
+ assert len(deduplicate_sentences) == len(vectors_list)
275
+ sen2vecs = dict(zip(deduplicate_sentences, vectors_list))
276
+ sen2spans = dict(zip(deduplicate_sentences, text_spans))
277
+
278
+ text_spans = [sen2spans[sen] for sen in sentences]
279
+ if convert_to_tensor:
280
+ result = [sen2vecs[sen].cpu().float() for sen in sentences]
281
+ else:
282
+ result = [sen2vecs[sen].cpu().float().numpy() for sen in sentences]
283
+ return result, text_spans
modules.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "idx": 0,
4
+ "name": "0",
5
+ "path": "",
6
+ "type": "custom_st.DeweyTransformer"
7
+ },
8
+ {
9
+ "idx": 1,
10
+ "name": "1",
11
+ "path": "1_Normalize",
12
+ "type": "sentence_transformers.models.Normalize"
13
+ }
14
+ ]
sentence_bert_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "max_seq_length": 131072,
3
+ "do_lower_case": false,
4
+ "tokenizer_args": {
5
+ "padding_side": "right"
6
+ }
7
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": {
3
+ "content": "[CLS]",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "mask_token": {
10
+ "content": "[MASK]",
11
+ "lstrip": true,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "[PAD]",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "sep_token": {
24
+ "content": "[SEP]",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ },
30
+ "unk_token": {
31
+ "content": "[UNK]",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false
36
+ }
37
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,968 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "|||IP_ADDRESS|||",
5
+ "lstrip": false,
6
+ "normalized": true,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": false
10
+ },
11
+ "1": {
12
+ "content": "<|padding|>",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "50254": {
20
+ "content": " ",
21
+ "lstrip": false,
22
+ "normalized": true,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": false
26
+ },
27
+ "50255": {
28
+ "content": " ",
29
+ "lstrip": false,
30
+ "normalized": true,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": false
34
+ },
35
+ "50256": {
36
+ "content": " ",
37
+ "lstrip": false,
38
+ "normalized": true,
39
+ "rstrip": false,
40
+ "single_word": false,
41
+ "special": false
42
+ },
43
+ "50257": {
44
+ "content": " ",
45
+ "lstrip": false,
46
+ "normalized": true,
47
+ "rstrip": false,
48
+ "single_word": false,
49
+ "special": false
50
+ },
51
+ "50258": {
52
+ "content": " ",
53
+ "lstrip": false,
54
+ "normalized": true,
55
+ "rstrip": false,
56
+ "single_word": false,
57
+ "special": false
58
+ },
59
+ "50259": {
60
+ "content": " ",
61
+ "lstrip": false,
62
+ "normalized": true,
63
+ "rstrip": false,
64
+ "single_word": false,
65
+ "special": false
66
+ },
67
+ "50260": {
68
+ "content": " ",
69
+ "lstrip": false,
70
+ "normalized": true,
71
+ "rstrip": false,
72
+ "single_word": false,
73
+ "special": false
74
+ },
75
+ "50261": {
76
+ "content": " ",
77
+ "lstrip": false,
78
+ "normalized": true,
79
+ "rstrip": false,
80
+ "single_word": false,
81
+ "special": false
82
+ },
83
+ "50262": {
84
+ "content": " ",
85
+ "lstrip": false,
86
+ "normalized": true,
87
+ "rstrip": false,
88
+ "single_word": false,
89
+ "special": false
90
+ },
91
+ "50263": {
92
+ "content": " ",
93
+ "lstrip": false,
94
+ "normalized": true,
95
+ "rstrip": false,
96
+ "single_word": false,
97
+ "special": false
98
+ },
99
+ "50264": {
100
+ "content": " ",
101
+ "lstrip": false,
102
+ "normalized": true,
103
+ "rstrip": false,
104
+ "single_word": false,
105
+ "special": false
106
+ },
107
+ "50265": {
108
+ "content": " ",
109
+ "lstrip": false,
110
+ "normalized": true,
111
+ "rstrip": false,
112
+ "single_word": false,
113
+ "special": false
114
+ },
115
+ "50266": {
116
+ "content": " ",
117
+ "lstrip": false,
118
+ "normalized": true,
119
+ "rstrip": false,
120
+ "single_word": false,
121
+ "special": false
122
+ },
123
+ "50267": {
124
+ "content": " ",
125
+ "lstrip": false,
126
+ "normalized": true,
127
+ "rstrip": false,
128
+ "single_word": false,
129
+ "special": false
130
+ },
131
+ "50268": {
132
+ "content": " ",
133
+ "lstrip": false,
134
+ "normalized": true,
135
+ "rstrip": false,
136
+ "single_word": false,
137
+ "special": false
138
+ },
139
+ "50269": {
140
+ "content": " ",
141
+ "lstrip": false,
142
+ "normalized": true,
143
+ "rstrip": false,
144
+ "single_word": false,
145
+ "special": false
146
+ },
147
+ "50270": {
148
+ "content": " ",
149
+ "lstrip": false,
150
+ "normalized": true,
151
+ "rstrip": false,
152
+ "single_word": false,
153
+ "special": false
154
+ },
155
+ "50271": {
156
+ "content": " ",
157
+ "lstrip": false,
158
+ "normalized": true,
159
+ "rstrip": false,
160
+ "single_word": false,
161
+ "special": false
162
+ },
163
+ "50272": {
164
+ "content": " ",
165
+ "lstrip": false,
166
+ "normalized": true,
167
+ "rstrip": false,
168
+ "single_word": false,
169
+ "special": false
170
+ },
171
+ "50273": {
172
+ "content": " ",
173
+ "lstrip": false,
174
+ "normalized": true,
175
+ "rstrip": false,
176
+ "single_word": false,
177
+ "special": false
178
+ },
179
+ "50274": {
180
+ "content": " ",
181
+ "lstrip": false,
182
+ "normalized": true,
183
+ "rstrip": false,
184
+ "single_word": false,
185
+ "special": false
186
+ },
187
+ "50275": {
188
+ "content": " ",
189
+ "lstrip": false,
190
+ "normalized": true,
191
+ "rstrip": false,
192
+ "single_word": false,
193
+ "special": false
194
+ },
195
+ "50276": {
196
+ "content": " ",
197
+ "lstrip": false,
198
+ "normalized": true,
199
+ "rstrip": false,
200
+ "single_word": false,
201
+ "special": false
202
+ },
203
+ "50277": {
204
+ "content": "|||EMAIL_ADDRESS|||",
205
+ "lstrip": false,
206
+ "normalized": true,
207
+ "rstrip": false,
208
+ "single_word": false,
209
+ "special": false
210
+ },
211
+ "50278": {
212
+ "content": "|||PHONE_NUMBER|||",
213
+ "lstrip": false,
214
+ "normalized": true,
215
+ "rstrip": false,
216
+ "single_word": false,
217
+ "special": false
218
+ },
219
+ "50279": {
220
+ "content": "<|endoftext|>",
221
+ "lstrip": false,
222
+ "normalized": false,
223
+ "rstrip": false,
224
+ "single_word": false,
225
+ "special": true
226
+ },
227
+ "50280": {
228
+ "content": "[UNK]",
229
+ "lstrip": false,
230
+ "normalized": false,
231
+ "rstrip": false,
232
+ "single_word": false,
233
+ "special": true
234
+ },
235
+ "50281": {
236
+ "content": "[CLS]",
237
+ "lstrip": false,
238
+ "normalized": false,
239
+ "rstrip": false,
240
+ "single_word": false,
241
+ "special": true
242
+ },
243
+ "50282": {
244
+ "content": "[SEP]",
245
+ "lstrip": false,
246
+ "normalized": false,
247
+ "rstrip": false,
248
+ "single_word": false,
249
+ "special": true
250
+ },
251
+ "50283": {
252
+ "content": "[PAD]",
253
+ "lstrip": false,
254
+ "normalized": false,
255
+ "rstrip": false,
256
+ "single_word": false,
257
+ "special": true
258
+ },
259
+ "50284": {
260
+ "content": "[MASK]",
261
+ "lstrip": true,
262
+ "normalized": false,
263
+ "rstrip": false,
264
+ "single_word": false,
265
+ "special": true
266
+ },
267
+ "50285": {
268
+ "content": "[unused0]",
269
+ "lstrip": false,
270
+ "normalized": true,
271
+ "rstrip": false,
272
+ "single_word": false,
273
+ "special": false
274
+ },
275
+ "50286": {
276
+ "content": "[unused1]",
277
+ "lstrip": false,
278
+ "normalized": true,
279
+ "rstrip": false,
280
+ "single_word": false,
281
+ "special": false
282
+ },
283
+ "50287": {
284
+ "content": "[unused2]",
285
+ "lstrip": false,
286
+ "normalized": true,
287
+ "rstrip": false,
288
+ "single_word": false,
289
+ "special": false
290
+ },
291
+ "50288": {
292
+ "content": "[unused3]",
293
+ "lstrip": false,
294
+ "normalized": true,
295
+ "rstrip": false,
296
+ "single_word": false,
297
+ "special": false
298
+ },
299
+ "50289": {
300
+ "content": "[unused4]",
301
+ "lstrip": false,
302
+ "normalized": true,
303
+ "rstrip": false,
304
+ "single_word": false,
305
+ "special": false
306
+ },
307
+ "50290": {
308
+ "content": "[unused5]",
309
+ "lstrip": false,
310
+ "normalized": true,
311
+ "rstrip": false,
312
+ "single_word": false,
313
+ "special": false
314
+ },
315
+ "50291": {
316
+ "content": "[unused6]",
317
+ "lstrip": false,
318
+ "normalized": true,
319
+ "rstrip": false,
320
+ "single_word": false,
321
+ "special": false
322
+ },
323
+ "50292": {
324
+ "content": "[unused7]",
325
+ "lstrip": false,
326
+ "normalized": true,
327
+ "rstrip": false,
328
+ "single_word": false,
329
+ "special": false
330
+ },
331
+ "50293": {
332
+ "content": "[unused8]",
333
+ "lstrip": false,
334
+ "normalized": true,
335
+ "rstrip": false,
336
+ "single_word": false,
337
+ "special": false
338
+ },
339
+ "50294": {
340
+ "content": "[unused9]",
341
+ "lstrip": false,
342
+ "normalized": true,
343
+ "rstrip": false,
344
+ "single_word": false,
345
+ "special": false
346
+ },
347
+ "50295": {
348
+ "content": "[unused10]",
349
+ "lstrip": false,
350
+ "normalized": true,
351
+ "rstrip": false,
352
+ "single_word": false,
353
+ "special": false
354
+ },
355
+ "50296": {
356
+ "content": "[unused11]",
357
+ "lstrip": false,
358
+ "normalized": true,
359
+ "rstrip": false,
360
+ "single_word": false,
361
+ "special": false
362
+ },
363
+ "50297": {
364
+ "content": "[unused12]",
365
+ "lstrip": false,
366
+ "normalized": true,
367
+ "rstrip": false,
368
+ "single_word": false,
369
+ "special": false
370
+ },
371
+ "50298": {
372
+ "content": "[unused13]",
373
+ "lstrip": false,
374
+ "normalized": true,
375
+ "rstrip": false,
376
+ "single_word": false,
377
+ "special": false
378
+ },
379
+ "50299": {
380
+ "content": "[unused14]",
381
+ "lstrip": false,
382
+ "normalized": true,
383
+ "rstrip": false,
384
+ "single_word": false,
385
+ "special": false
386
+ },
387
+ "50300": {
388
+ "content": "[unused15]",
389
+ "lstrip": false,
390
+ "normalized": true,
391
+ "rstrip": false,
392
+ "single_word": false,
393
+ "special": false
394
+ },
395
+ "50301": {
396
+ "content": "[unused16]",
397
+ "lstrip": false,
398
+ "normalized": true,
399
+ "rstrip": false,
400
+ "single_word": false,
401
+ "special": false
402
+ },
403
+ "50302": {
404
+ "content": "[unused17]",
405
+ "lstrip": false,
406
+ "normalized": true,
407
+ "rstrip": false,
408
+ "single_word": false,
409
+ "special": false
410
+ },
411
+ "50303": {
412
+ "content": "[unused18]",
413
+ "lstrip": false,
414
+ "normalized": true,
415
+ "rstrip": false,
416
+ "single_word": false,
417
+ "special": false
418
+ },
419
+ "50304": {
420
+ "content": "[unused19]",
421
+ "lstrip": false,
422
+ "normalized": true,
423
+ "rstrip": false,
424
+ "single_word": false,
425
+ "special": false
426
+ },
427
+ "50305": {
428
+ "content": "[unused20]",
429
+ "lstrip": false,
430
+ "normalized": true,
431
+ "rstrip": false,
432
+ "single_word": false,
433
+ "special": false
434
+ },
435
+ "50306": {
436
+ "content": "[unused21]",
437
+ "lstrip": false,
438
+ "normalized": true,
439
+ "rstrip": false,
440
+ "single_word": false,
441
+ "special": false
442
+ },
443
+ "50307": {
444
+ "content": "[unused22]",
445
+ "lstrip": false,
446
+ "normalized": true,
447
+ "rstrip": false,
448
+ "single_word": false,
449
+ "special": false
450
+ },
451
+ "50308": {
452
+ "content": "[unused23]",
453
+ "lstrip": false,
454
+ "normalized": true,
455
+ "rstrip": false,
456
+ "single_word": false,
457
+ "special": false
458
+ },
459
+ "50309": {
460
+ "content": "[unused24]",
461
+ "lstrip": false,
462
+ "normalized": true,
463
+ "rstrip": false,
464
+ "single_word": false,
465
+ "special": false
466
+ },
467
+ "50310": {
468
+ "content": "[unused25]",
469
+ "lstrip": false,
470
+ "normalized": true,
471
+ "rstrip": false,
472
+ "single_word": false,
473
+ "special": false
474
+ },
475
+ "50311": {
476
+ "content": "[unused26]",
477
+ "lstrip": false,
478
+ "normalized": true,
479
+ "rstrip": false,
480
+ "single_word": false,
481
+ "special": false
482
+ },
483
+ "50312": {
484
+ "content": "[unused27]",
485
+ "lstrip": false,
486
+ "normalized": true,
487
+ "rstrip": false,
488
+ "single_word": false,
489
+ "special": false
490
+ },
491
+ "50313": {
492
+ "content": "[unused28]",
493
+ "lstrip": false,
494
+ "normalized": true,
495
+ "rstrip": false,
496
+ "single_word": false,
497
+ "special": false
498
+ },
499
+ "50314": {
500
+ "content": "[unused29]",
501
+ "lstrip": false,
502
+ "normalized": true,
503
+ "rstrip": false,
504
+ "single_word": false,
505
+ "special": false
506
+ },
507
+ "50315": {
508
+ "content": "[unused30]",
509
+ "lstrip": false,
510
+ "normalized": true,
511
+ "rstrip": false,
512
+ "single_word": false,
513
+ "special": false
514
+ },
515
+ "50316": {
516
+ "content": "[unused31]",
517
+ "lstrip": false,
518
+ "normalized": true,
519
+ "rstrip": false,
520
+ "single_word": false,
521
+ "special": false
522
+ },
523
+ "50317": {
524
+ "content": "[unused32]",
525
+ "lstrip": false,
526
+ "normalized": true,
527
+ "rstrip": false,
528
+ "single_word": false,
529
+ "special": false
530
+ },
531
+ "50318": {
532
+ "content": "[unused33]",
533
+ "lstrip": false,
534
+ "normalized": true,
535
+ "rstrip": false,
536
+ "single_word": false,
537
+ "special": false
538
+ },
539
+ "50319": {
540
+ "content": "[unused34]",
541
+ "lstrip": false,
542
+ "normalized": true,
543
+ "rstrip": false,
544
+ "single_word": false,
545
+ "special": false
546
+ },
547
+ "50320": {
548
+ "content": "[unused35]",
549
+ "lstrip": false,
550
+ "normalized": true,
551
+ "rstrip": false,
552
+ "single_word": false,
553
+ "special": false
554
+ },
555
+ "50321": {
556
+ "content": "[unused36]",
557
+ "lstrip": false,
558
+ "normalized": true,
559
+ "rstrip": false,
560
+ "single_word": false,
561
+ "special": false
562
+ },
563
+ "50322": {
564
+ "content": "[unused37]",
565
+ "lstrip": false,
566
+ "normalized": true,
567
+ "rstrip": false,
568
+ "single_word": false,
569
+ "special": false
570
+ },
571
+ "50323": {
572
+ "content": "[unused38]",
573
+ "lstrip": false,
574
+ "normalized": true,
575
+ "rstrip": false,
576
+ "single_word": false,
577
+ "special": false
578
+ },
579
+ "50324": {
580
+ "content": "[unused39]",
581
+ "lstrip": false,
582
+ "normalized": true,
583
+ "rstrip": false,
584
+ "single_word": false,
585
+ "special": false
586
+ },
587
+ "50325": {
588
+ "content": "[unused40]",
589
+ "lstrip": false,
590
+ "normalized": true,
591
+ "rstrip": false,
592
+ "single_word": false,
593
+ "special": false
594
+ },
595
+ "50326": {
596
+ "content": "[unused41]",
597
+ "lstrip": false,
598
+ "normalized": true,
599
+ "rstrip": false,
600
+ "single_word": false,
601
+ "special": false
602
+ },
603
+ "50327": {
604
+ "content": "[unused42]",
605
+ "lstrip": false,
606
+ "normalized": true,
607
+ "rstrip": false,
608
+ "single_word": false,
609
+ "special": false
610
+ },
611
+ "50328": {
612
+ "content": "[unused43]",
613
+ "lstrip": false,
614
+ "normalized": true,
615
+ "rstrip": false,
616
+ "single_word": false,
617
+ "special": false
618
+ },
619
+ "50329": {
620
+ "content": "[unused44]",
621
+ "lstrip": false,
622
+ "normalized": true,
623
+ "rstrip": false,
624
+ "single_word": false,
625
+ "special": false
626
+ },
627
+ "50330": {
628
+ "content": "[unused45]",
629
+ "lstrip": false,
630
+ "normalized": true,
631
+ "rstrip": false,
632
+ "single_word": false,
633
+ "special": false
634
+ },
635
+ "50331": {
636
+ "content": "[unused46]",
637
+ "lstrip": false,
638
+ "normalized": true,
639
+ "rstrip": false,
640
+ "single_word": false,
641
+ "special": false
642
+ },
643
+ "50332": {
644
+ "content": "[unused47]",
645
+ "lstrip": false,
646
+ "normalized": true,
647
+ "rstrip": false,
648
+ "single_word": false,
649
+ "special": false
650
+ },
651
+ "50333": {
652
+ "content": "[unused48]",
653
+ "lstrip": false,
654
+ "normalized": true,
655
+ "rstrip": false,
656
+ "single_word": false,
657
+ "special": false
658
+ },
659
+ "50334": {
660
+ "content": "[unused49]",
661
+ "lstrip": false,
662
+ "normalized": true,
663
+ "rstrip": false,
664
+ "single_word": false,
665
+ "special": false
666
+ },
667
+ "50335": {
668
+ "content": "[unused50]",
669
+ "lstrip": false,
670
+ "normalized": true,
671
+ "rstrip": false,
672
+ "single_word": false,
673
+ "special": false
674
+ },
675
+ "50336": {
676
+ "content": "[unused51]",
677
+ "lstrip": false,
678
+ "normalized": true,
679
+ "rstrip": false,
680
+ "single_word": false,
681
+ "special": false
682
+ },
683
+ "50337": {
684
+ "content": "[unused52]",
685
+ "lstrip": false,
686
+ "normalized": true,
687
+ "rstrip": false,
688
+ "single_word": false,
689
+ "special": false
690
+ },
691
+ "50338": {
692
+ "content": "[unused53]",
693
+ "lstrip": false,
694
+ "normalized": true,
695
+ "rstrip": false,
696
+ "single_word": false,
697
+ "special": false
698
+ },
699
+ "50339": {
700
+ "content": "[unused54]",
701
+ "lstrip": false,
702
+ "normalized": true,
703
+ "rstrip": false,
704
+ "single_word": false,
705
+ "special": false
706
+ },
707
+ "50340": {
708
+ "content": "[unused55]",
709
+ "lstrip": false,
710
+ "normalized": true,
711
+ "rstrip": false,
712
+ "single_word": false,
713
+ "special": false
714
+ },
715
+ "50341": {
716
+ "content": "[unused56]",
717
+ "lstrip": false,
718
+ "normalized": true,
719
+ "rstrip": false,
720
+ "single_word": false,
721
+ "special": false
722
+ },
723
+ "50342": {
724
+ "content": "[unused57]",
725
+ "lstrip": false,
726
+ "normalized": true,
727
+ "rstrip": false,
728
+ "single_word": false,
729
+ "special": false
730
+ },
731
+ "50343": {
732
+ "content": "[unused58]",
733
+ "lstrip": false,
734
+ "normalized": true,
735
+ "rstrip": false,
736
+ "single_word": false,
737
+ "special": false
738
+ },
739
+ "50344": {
740
+ "content": "[unused59]",
741
+ "lstrip": false,
742
+ "normalized": true,
743
+ "rstrip": false,
744
+ "single_word": false,
745
+ "special": false
746
+ },
747
+ "50345": {
748
+ "content": "[unused60]",
749
+ "lstrip": false,
750
+ "normalized": true,
751
+ "rstrip": false,
752
+ "single_word": false,
753
+ "special": false
754
+ },
755
+ "50346": {
756
+ "content": "[unused61]",
757
+ "lstrip": false,
758
+ "normalized": true,
759
+ "rstrip": false,
760
+ "single_word": false,
761
+ "special": false
762
+ },
763
+ "50347": {
764
+ "content": "[unused62]",
765
+ "lstrip": false,
766
+ "normalized": true,
767
+ "rstrip": false,
768
+ "single_word": false,
769
+ "special": false
770
+ },
771
+ "50348": {
772
+ "content": "[unused63]",
773
+ "lstrip": false,
774
+ "normalized": true,
775
+ "rstrip": false,
776
+ "single_word": false,
777
+ "special": false
778
+ },
779
+ "50349": {
780
+ "content": "[unused64]",
781
+ "lstrip": false,
782
+ "normalized": true,
783
+ "rstrip": false,
784
+ "single_word": false,
785
+ "special": false
786
+ },
787
+ "50350": {
788
+ "content": "[unused65]",
789
+ "lstrip": false,
790
+ "normalized": true,
791
+ "rstrip": false,
792
+ "single_word": false,
793
+ "special": false
794
+ },
795
+ "50351": {
796
+ "content": "[unused66]",
797
+ "lstrip": false,
798
+ "normalized": true,
799
+ "rstrip": false,
800
+ "single_word": false,
801
+ "special": false
802
+ },
803
+ "50352": {
804
+ "content": "[unused67]",
805
+ "lstrip": false,
806
+ "normalized": true,
807
+ "rstrip": false,
808
+ "single_word": false,
809
+ "special": false
810
+ },
811
+ "50353": {
812
+ "content": "[unused68]",
813
+ "lstrip": false,
814
+ "normalized": true,
815
+ "rstrip": false,
816
+ "single_word": false,
817
+ "special": false
818
+ },
819
+ "50354": {
820
+ "content": "[unused69]",
821
+ "lstrip": false,
822
+ "normalized": true,
823
+ "rstrip": false,
824
+ "single_word": false,
825
+ "special": false
826
+ },
827
+ "50355": {
828
+ "content": "[unused70]",
829
+ "lstrip": false,
830
+ "normalized": true,
831
+ "rstrip": false,
832
+ "single_word": false,
833
+ "special": false
834
+ },
835
+ "50356": {
836
+ "content": "[unused71]",
837
+ "lstrip": false,
838
+ "normalized": true,
839
+ "rstrip": false,
840
+ "single_word": false,
841
+ "special": false
842
+ },
843
+ "50357": {
844
+ "content": "[unused72]",
845
+ "lstrip": false,
846
+ "normalized": true,
847
+ "rstrip": false,
848
+ "single_word": false,
849
+ "special": false
850
+ },
851
+ "50358": {
852
+ "content": "[unused73]",
853
+ "lstrip": false,
854
+ "normalized": true,
855
+ "rstrip": false,
856
+ "single_word": false,
857
+ "special": false
858
+ },
859
+ "50359": {
860
+ "content": "[unused74]",
861
+ "lstrip": false,
862
+ "normalized": true,
863
+ "rstrip": false,
864
+ "single_word": false,
865
+ "special": false
866
+ },
867
+ "50360": {
868
+ "content": "[unused75]",
869
+ "lstrip": false,
870
+ "normalized": true,
871
+ "rstrip": false,
872
+ "single_word": false,
873
+ "special": false
874
+ },
875
+ "50361": {
876
+ "content": "[unused76]",
877
+ "lstrip": false,
878
+ "normalized": true,
879
+ "rstrip": false,
880
+ "single_word": false,
881
+ "special": false
882
+ },
883
+ "50362": {
884
+ "content": "[unused77]",
885
+ "lstrip": false,
886
+ "normalized": true,
887
+ "rstrip": false,
888
+ "single_word": false,
889
+ "special": false
890
+ },
891
+ "50363": {
892
+ "content": "[unused78]",
893
+ "lstrip": false,
894
+ "normalized": true,
895
+ "rstrip": false,
896
+ "single_word": false,
897
+ "special": false
898
+ },
899
+ "50364": {
900
+ "content": "[unused79]",
901
+ "lstrip": false,
902
+ "normalized": true,
903
+ "rstrip": false,
904
+ "single_word": false,
905
+ "special": false
906
+ },
907
+ "50365": {
908
+ "content": "[unused80]",
909
+ "lstrip": false,
910
+ "normalized": true,
911
+ "rstrip": false,
912
+ "single_word": false,
913
+ "special": false
914
+ },
915
+ "50366": {
916
+ "content": "[unused81]",
917
+ "lstrip": false,
918
+ "normalized": true,
919
+ "rstrip": false,
920
+ "single_word": false,
921
+ "special": false
922
+ },
923
+ "50367": {
924
+ "content": "[unused82]",
925
+ "lstrip": false,
926
+ "normalized": true,
927
+ "rstrip": false,
928
+ "single_word": false,
929
+ "special": false
930
+ },
931
+ "50368": {
932
+ "content": "<|START_INSTRUCTION|>",
933
+ "lstrip": false,
934
+ "normalized": false,
935
+ "rstrip": false,
936
+ "single_word": false,
937
+ "special": true
938
+ },
939
+ "50369": {
940
+ "content": "<|END_INSTRUCTION|>",
941
+ "lstrip": false,
942
+ "normalized": false,
943
+ "rstrip": false,
944
+ "single_word": false,
945
+ "special": true
946
+ }
947
+ },
948
+ "clean_up_tokenization_spaces": true,
949
+ "cls_token": "[CLS]",
950
+ "extra_special_tokens": {},
951
+ "mask_token": "[MASK]",
952
+ "max_length": 8192,
953
+ "model_input_names": [
954
+ "input_ids",
955
+ "attention_mask"
956
+ ],
957
+ "model_max_length": 131072,
958
+ "pad_to_multiple_of": null,
959
+ "pad_token": "[PAD]",
960
+ "pad_token_type_id": 0,
961
+ "padding_side": "right",
962
+ "sep_token": "[SEP]",
963
+ "stride": 0,
964
+ "tokenizer_class": "PreTrainedTokenizer",
965
+ "truncation_side": "right",
966
+ "truncation_strategy": "longest_first",
967
+ "unk_token": "[UNK]"
968
+ }