From 0eb35a91618e322ee2d8fd227f834434409bff8d Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Tue, 21 Jul 2026 18:23:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: AI4PD/ZymCTRL Source: Original Platform --- .gitattributes | 32 + 5.run_clm-post.py | 385 ++++ README.md | 374 ++++ config.json | 35 + github1.png | Bin 0 -> 53727 bytes pytorch_model.bin | 3 + tokenizer.json | 4352 +++++++++++++++++++++++++++++++++++++++++++++ vocab.json | 1 + 8 files changed, 5182 insertions(+) create mode 100644 .gitattributes create mode 100644 5.run_clm-post.py create mode 100644 README.md create mode 100644 config.json create mode 100644 github1.png create mode 100644 pytorch_model.bin create mode 100644 tokenizer.json create mode 100644 vocab.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..637fa16 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,32 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text diff --git a/5.run_clm-post.py b/5.run_clm-post.py new file mode 100644 index 0000000..6406d4d --- /dev/null +++ b/5.run_clm-post.py @@ -0,0 +1,385 @@ +#!/usr/bin/env python +# coding=utf-8 +# Copyright 2020 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Fine-tuning the library models for causal language modeling (GPT, GPT-2, CTRL, ...) on a text file or a dataset. + +Here is the full list of checkpoints on the hub that can be fine-tuned by this script: +https://huggingface.co/models?filter=causal-lm +""" +# You can also adapt this script on your own causal language modeling task. Pointers for this are left as comments. + +import logging +import math +import os +import sys +from dataclasses import dataclass, field +from typing import Optional + +import datasets +from datasets import load_dataset +from datasets import load_from_disk + +import transformers +from transformers import ( + CONFIG_MAPPING, + MODEL_FOR_CAUSAL_LM_MAPPING, + AutoConfig, + AutoModelForCausalLM, + AutoTokenizer, + HfArgumentParser, + Trainer, + TrainingArguments, + default_data_collator, + set_seed, +) +from transformers.testing_utils import CaptureLogger +from transformers.trainer_utils import get_last_checkpoint +from transformers.utils import check_min_version +from transformers.utils.versions import require_version + + +# Will error if the minimal version of Transformers is not installed. Remove at your own risks. +check_min_version("4.13.0.dev0") + +require_version("datasets>=1.8.0", "To fix: pip install -r examples/pytorch/language-modeling/requirements.txt") + +logger = logging.getLogger(__name__) + + +MODEL_CONFIG_CLASSES = list(MODEL_FOR_CAUSAL_LM_MAPPING.keys()) +MODEL_TYPES = tuple(conf.model_type for conf in MODEL_CONFIG_CLASSES) + + +@dataclass +class ModelArguments: + """ + Arguments pertaining to which model/config/tokenizer we are going to fine-tune, or train from scratch. + """ + + model_name_or_path: Optional[str] = field( + default=None, + metadata={ + "help": "The model checkpoint for weights initialization." + "Don't set if you want to train a model from scratch." + }, + ) + model_type: Optional[str] = field( + default=None, + metadata={"help": "If training from scratch, pass a model type from the list: " + ", ".join(MODEL_TYPES)}, + ) + config_overrides: Optional[str] = field( + default=None, + metadata={ + "help": "Override some existing default config settings when a model is trained from scratch. Example: " + "n_embd=10,resid_pdrop=0.2,scale_attn_weights=false,summary_type=cls_index" + }, + ) + config_name: Optional[str] = field( + default=None, metadata={"help": "Pretrained config name or path if not the same as model_name"} + ) + tokenizer_name: Optional[str] = field( + default=None, metadata={"help": "Pretrained tokenizer name or path if not the same as model_name"} + ) + cache_dir: Optional[str] = field( + default=None, + metadata={"help": "Where do you want to store the pretrained models downloaded from huggingface.co"}, + ) + use_fast_tokenizer: bool = field( + default=True, + metadata={"help": "Whether to use one of the fast tokenizer (backed by the tokenizers library) or not."}, + ) + model_revision: str = field( + default="main", + metadata={"help": "The specific model version to use (can be a branch name, tag name or commit id)."}, + ) + use_auth_token: bool = field( + default=False, + metadata={ + "help": "Will use the token generated when running `transformers-cli login` (necessary to use this script " + "with private models)." + }, + ) + + def __post_init__(self): + if self.config_overrides is not None and (self.config_name is not None or self.model_name_or_path is not None): + raise ValueError( + "--config_overrides can't be used in combination with --config_name or --model_name_or_path" + ) + + +@dataclass +class DataTrainingArguments: + """ + Arguments pertaining to what data we are going to input our model for training and eval. + """ + + dataset_name: Optional[str] = field( + default=None, metadata={"help": "The name of the dataset to use (via the datasets library)."} + ) + dataset_config_name: Optional[str] = field( + default=None, metadata={"help": "The configuration name of the dataset to use (via the datasets library)."} + ) + train_file: Optional[str] = field(default=None, metadata={"help": "The input training data file (a text file)."}) + validation_file: Optional[str] = field( + default=None, + metadata={"help": "An optional input evaluation data file to evaluate the perplexity on (a text file)."}, + ) + max_train_samples: Optional[int] = field( + default=None, + metadata={ + "help": "For debugging purposes or quicker training, truncate the number of training examples to this " + "value if set." + }, + ) + max_eval_samples: Optional[int] = field( + default=None, + metadata={ + "help": "For debugging purposes or quicker training, truncate the number of evaluation examples to this " + "value if set." + }, + ) + + block_size: Optional[int] = field( + default=None, + metadata={ + "help": "Optional input sequence length after tokenization. " + "The training dataset will be truncated in block of this size for training. " + "Default to the model max input length for single sentence inputs (take into account special tokens)." + }, + ) + overwrite_cache: bool = field( + default=False, metadata={"help": "Overwrite the cached training and evaluation sets"} + ) + validation_split_percentage: Optional[int] = field( + default=5, + metadata={ + "help": "The percentage of the train set used as validation set in case there's no validation split" + }, + ) + preprocessing_num_workers: Optional[int] = field( + default=None, + metadata={"help": "The number of processes to use for the preprocessing."}, + ) + keep_linebreaks: bool = field( + default=True, metadata={"help": "Whether to keep line breaks when using TXT files or not."} + ) + + #def __post_init__(self): + # if self.dataset_name is None and self.train_file is None and self.validation_file is None: + # raise ValueError("Need either a dataset name or a training/validation file.") + # else: + # if self.train_file is not None: + # extension = self.train_file.split(".")[-1] + # assert extension in ["csv", "json", "txt"], "`train_file` should be a csv, a json or a txt file." + # if self.validation_file is not None: + # extension = self.validation_file.split(".")[-1] + # assert extension in ["csv", "json", "txt"], "`validation_file` should be a csv, a json or a txt file." + + +def main(): + # See all possible arguments in src/transformers/training_args.py + # or by passing the --help flag to this script. + # We now keep distinct sets of args, for a cleaner separation of concerns. + + parser = HfArgumentParser((ModelArguments, DataTrainingArguments, TrainingArguments)) + if len(sys.argv) == 2 and sys.argv[1].endswith(".json"): + # If we pass only one argument to the script and it's the path to a json file, + # let's parse it to get our arguments. + model_args, data_args, training_args = parser.parse_json_file(json_file=os.path.abspath(sys.argv[1])) + else: + model_args, data_args, training_args = parser.parse_args_into_dataclasses() + + # Setup logging + logging.basicConfig( + format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", + datefmt="%m/%d/%Y %H:%M:%S", + handlers=[logging.StreamHandler(sys.stdout)], + ) + + log_level = training_args.get_process_log_level() + logger.setLevel(log_level) + datasets.utils.logging.set_verbosity(log_level) + transformers.utils.logging.set_verbosity(log_level) + transformers.utils.logging.enable_default_handler() + transformers.utils.logging.enable_explicit_format() + + # Log on each process the small summary: + logger.warning( + f"Process rank: {training_args.local_rank}, device: {training_args.device}, n_gpu: {training_args.n_gpu}" + + f"distributed training: {bool(training_args.local_rank != -1)}, 16-bits training: {training_args.fp16}" + ) + logger.info(f"Training/evaluation parameters {training_args}") + + # Detecting last checkpoint. + last_checkpoint = None + if os.path.isdir(training_args.output_dir) and training_args.do_train and not training_args.overwrite_output_dir: + last_checkpoint = get_last_checkpoint(training_args.output_dir) + if last_checkpoint is None and len(os.listdir(training_args.output_dir)) > 0: + raise ValueError( + f"Output directory ({training_args.output_dir}) already exists and is not empty. " + "Use --overwrite_output_dir to overcome." + ) + elif last_checkpoint is not None and training_args.resume_from_checkpoint is None: + logger.info( + f"Checkpoint detected, resuming training at {last_checkpoint}. To avoid this behavior, change " + "the `--output_dir` or add `--overwrite_output_dir` to train from scratch." + ) + + # Set seed before initializing model. + set_seed(training_args.seed) + + # Get the datasets: you can either provide your own CSV/JSON/TXT training and evaluation files (see below) + # or just provide the name of one of the public datasets available on the hub at https://huggingface.co/datasets/ + # (the dataset will be downloaded automatically from the datasets Hub). + # + # For CSV/JSON files, this script will use the column called 'text' or the first column if no column called + # 'text' is found. You can easily tweak this behavior (see below). + # + # In distributed training, the load_dataset function guarantee that only one local process can concurrently + # download the dataset. + + # See more about loading any type of standard or custom dataset (from files, python dict, pandas DataFrame, etc) at + # https://huggingface.co/docs/datasets/loading_datasets.html. + + # Load pretrained model and tokenizer + # + # Distributed training: + # The .from_pretrained methods guarantee that only one local process can concurrently + # download model & vocab. + + config_kwargs = { + "cache_dir": model_args.cache_dir, + "revision": model_args.model_revision, + "use_auth_token": True if model_args.use_auth_token else None, + } + if model_args.config_name: + config = AutoConfig.from_pretrained(model_args.config_name, **config_kwargs) + elif model_args.model_name_or_path: + config = AutoConfig.from_pretrained(model_args.model_name_or_path, **config_kwargs) + else: + config = CONFIG_MAPPING[model_args.model_type]() + logger.warning("You are instantiating a new config instance from scratch.") + if model_args.config_overrides is not None: + logger.info(f"Overriding config: {model_args.config_overrides}") + config.update_from_string(model_args.config_overrides) + + tokenizer_kwargs = { + "cache_dir": model_args.cache_dir, + "use_fast": model_args.use_fast_tokenizer, + "revision": model_args.model_revision, + "use_auth_token": True if model_args.use_auth_token else None, + } + if model_args.tokenizer_name: + tokenizer = AutoTokenizer.from_pretrained(model_args.tokenizer_name, **tokenizer_kwargs) + elif model_args.model_name_or_path: + tokenizer = AutoTokenizer.from_pretrained(model_args.model_name_or_path, **tokenizer_kwargs) + else: + raise ValueError( + "You are instantiating a new tokenizer from scratch. This is not supported by this script." + "You can do it from another script, save it, and load it from here, using --tokenizer_name." + ) + + if model_args.model_name_or_path: + model = AutoModelForCausalLM.from_pretrained( + model_args.model_name_or_path, + from_tf=bool(".ckpt" in model_args.model_name_or_path), + config=config, + cache_dir=model_args.cache_dir, + revision=model_args.model_revision, + use_auth_token=True if model_args.use_auth_token else None, + ) + else: + model = AutoModelForCausalLM.from_config(config) + n_params = sum(dict((p.data_ptr(), p.numel()) for p in model.parameters()).values()) + logger.info(f"Training new model from scratch - Total size={n_params/2**20:.2f}M params") + + model.resize_token_embeddings(len(tokenizer)) + + train_dataset = load_from_disk('dataset/train2') + eval_dataset = load_from_disk('dataset/eval2') + + # Initialize our Trainer + trainer = Trainer( + model=model, + args=training_args, + train_dataset=train_dataset if training_args.do_train else None, + eval_dataset=eval_dataset if training_args.do_eval else None, + tokenizer=tokenizer, + # Data collator will default to DataCollatorWithPadding, so we change it. + data_collator=default_data_collator, + ) + + # Training + if training_args.do_train: + checkpoint = None + if training_args.resume_from_checkpoint is not None: + checkpoint = training_args.resume_from_checkpoint + elif last_checkpoint is not None: + checkpoint = last_checkpoint + train_result = trainer.train(resume_from_checkpoint=checkpoint) + trainer.save_model() # Saves the tokenizer too for easy upload + + metrics = train_result.metrics + + max_train_samples = ( + data_args.max_train_samples if data_args.max_train_samples is not None else len(train_dataset) + ) + metrics["train_samples"] = min(max_train_samples, len(train_dataset)) + + trainer.log_metrics("train", metrics) + trainer.save_metrics("train", metrics) + trainer.save_state() + + # Evaluation + if training_args.do_eval: + logger.info("*** Evaluate ***") + + metrics = trainer.evaluate() + + max_eval_samples = data_args.max_eval_samples if data_args.max_eval_samples is not None else len(eval_dataset) + metrics["eval_samples"] = min(max_eval_samples, len(eval_dataset)) + try: + perplexity = math.exp(metrics["eval_loss"]) + except OverflowError: + perplexity = float("inf") + metrics["perplexity"] = perplexity + + trainer.log_metrics("eval", metrics) + trainer.save_metrics("eval", metrics) + + kwargs = {"finetuned_from": model_args.model_name_or_path, "tasks": "text-generation"} + if data_args.dataset_name is not None: + kwargs["dataset_tags"] = data_args.dataset_name + if data_args.dataset_config_name is not None: + kwargs["dataset_args"] = data_args.dataset_config_name + kwargs["dataset"] = f"{data_args.dataset_name} {data_args.dataset_config_name}" + else: + kwargs["dataset"] = data_args.dataset_name + + if training_args.push_to_hub: + trainer.push_to_hub(**kwargs) + else: + trainer.create_model_card(**kwargs) + + +def _mp_fn(index): + # For xla_spawn (TPUs) + main() + + +if __name__ == "__main__": + main() + diff --git a/README.md b/README.md new file mode 100644 index 0000000..2568ce1 --- /dev/null +++ b/README.md @@ -0,0 +1,374 @@ +--- +license: apache-2.0 +pipeline_tag: text-generation +widget: +- text: 1.1.1.21 +inference: + parameters: + top_k: 9 + repetition_penalty: 1.2 +tags: +- biology +--- +# **ZymCTRL** + +ZymCTRL (Enzyme Control) ([ see preprint ](https://www.biorxiv.org/content/10.1101/2024.05.03.592223v1)) +is a conditional language model for the generation of artificial functional enzymes. +It was trained on the UniProt database of sequences containing (Enzyme Commission) EC annotations, comprising over 37 M sequences. +Given a user-defined Enzymatic Commission (EC) number, the model generates protein sequences that fulfil that catalytic reaction. +The generated sequences are ordered, globular, and distant to natural ones, while their intended catalytic properties match those defined by users. + +If you don't know the EC number of your protein of interest, have a look for example here: https://www.brenda-enzymes.org/ecexplorer.php?browser=1 + +See below for information about the model, how to generate sequences, and how to save and rank them by perplexity. + +## **Model description** +ZymCTRL is based on the [CTRL Transformer](https://arxiv.org/abs/1909.05858) architecture (which in turn is very similar to ChatGPT) and contains 36 layers +with a model dimensionality of 1280, totaling 738 million parameters. + +ZymCTRL is a decoder-only transformer model pre-trained on the Uniprot subset of enzyme sequences, totalling 37M sequences. +(version July 2022). The pre-training was done on the raw sequences without FASTA headers, +with the EC classes prepended to each sequence. The databases will be uploaded soon. + +ZymCTRL was trained with an autoregressive objective, i.e., the model learns to predict +the next token given a sequence context. Because the first tokens on each sequence encode the EC numbers, +the model learns the dependencies among EC classes and their corresponding sequences and is able to _speak_ the enzyme language. + +There are stark differences in the number of members among EC classes, and for this reason, we also tokenized the EC numbers. +In this manner, EC numbers '2.7.1.1' and '2.7.1.2' share the first three tokens (six, including separators), and hence the model can infer that +there are relationships between the two classes. + +The figure below summarizes the process of training: + +![plot](./github1.png) + + +## **How to use ZymCTRL** +ZymCTRL can be used with the HuggingFace transformer python package. +Detailed installation instructions can be found here: https://huggingface.co/docs/transformers/installation + +Since ZymCTRL has been trained on the classical language model objective on enzyme sequences with their EC annotation, +it particularly excels at generating enzyme sequences given a user-defined EC class, such as alcohol dehydrogenases ('1.1.1.2'). + +The model can generate in two ways: in a zero-shot fashion, i.e., directly generating from the checkpoint weights, or after fine-tuning. +Fine-tuning allows augmenting the specific EC datasets that were used during training, for example, +if you have a curated internal dataset or a set of ancestrally-reconstructed sequences. This is entirely optional. One advantage of +running the model in zero-shot is that it doesn't require any further training. + + +### **Example 1: Generating nitrilases (EC 3.5.5.1)** + +The script below will be used for the generation of any EC class in a zero-shot fashion, +here we showcase the generation of novel nitrilases. + +To run this script, you should download ZymCTRL to a local folder in your workstation. +Then replace the placeholders in the script with your actual folder path. + +You can run it directly in the command line (once you have hugging face installed), +with the following command: `python generate.py` + +The script will write each sequence in a fasta file in the folder you specify. In the fasta header, +it will store the sequence's computed perplexity value. Perplexity is a measure of the model's confidence +in that generation, with lower values being better. The sequences are ordered by perplexity before writing them out, +so those that finish in *_0.fasta and *_1.fasta will be the best ones per batch. + +**Given that generation runs so fast, we recommend generating hundreds or thousands and then only picking the best 5% or less. +With the script below, that would mean picking only those that finish in '_0.fasta'. Good perplexity values for this model so be below 1.75-1.5.** + +```python +import torch +from transformers import GPT2LMHeadModel, AutoTokenizer +import os +from tqdm import tqdm +import math + +def remove_characters(sequence, char_list): + "This function removes special tokens used during training." + columns = sequence.split('') + seq = columns[1] + for char in char_list: + seq = seq.replace(char, '') + return seq + +def calculatePerplexity(input_ids,model,tokenizer): + "This function computes perplexities for the generated sequences" + with torch.no_grad(): + outputs = model(input_ids, labels=input_ids) + loss, logits = outputs[:2] + return math.exp(loss) + +def main(label, model,special_tokens,device,tokenizer): + # Generating sequences + input_ids = tokenizer.encode(label,return_tensors='pt').to(device) + outputs = model.generate( + input_ids, + top_k=9, #tbd + repetition_penalty=1.2, + max_length=1024, + eos_token_id=1, + pad_token_id=0, + do_sample=True, + num_return_sequences=20) # Depending non your GPU, you'll be able to generate fewer or more sequences. This runs in an A40. + + # Check sequence sanity, ensure sequences are not-truncated. + # The model will truncate sequences longer than the specified max_length (1024 above). We want to avoid those sequences. + new_outputs = [ output for output in outputs if output[-1] == 0] + if not new_outputs: + print("not enough sequences with short lengths!!") + + # Compute perplexity for every generated sequence in the batch + ppls = [(tokenizer.decode(output), calculatePerplexity(output, model, tokenizer)) for output in new_outputs ] + + # Sort the batch by perplexity, the lower the better + ppls.sort(key=lambda i:i[1]) # duplicated sequences? + + # Final dictionary with the results + sequences={} + sequences[label] = [(remove_characters(x[0], special_tokens), x[1]) for x in ppls] + + return sequences + +if __name__=='__main__': + device = torch.device("cuda") # Replace with 'cpu' if you don't have a GPU - but it will be slow + print('Reading pretrained model and tokenizer') + tokenizer = AutoTokenizer.from_pretrained('/path/to/zymCTRL/') # change to ZymCTRL location + model = GPT2LMHeadModel.from_pretrained('/path/to/zymCTRL').to(device) # change to ZymCTRL location + special_tokens = ['', '', '<|endoftext|>','',' ', ''] + + # change to the appropriate EC classes + labels=['3.5.5.1'] # nitrilases. You can put as many labels as you want. + + for label in tqdm(labels): + # We'll run 100 batches per label. 20 sequences will be generated per batch. + for i in range(0,100): + sequences = main(label, model, special_tokens, device, tokenizer) + for key,value in sequences.items(): + for index, val in enumerate(value): + # Sequences will be saved with the name of the label followed by the batch index, + # and the order of the sequence in that batch. + fn = open(f"/path/to/folder/{label}_{i}_{index}.fasta", "w") + fn.write(f'>{label}_{i}_{index}\t{val[1]}\n{val[0]}') + fn.close() +``` + + +## **Example 2: Fine-tuning on a set of user-defined sequences** + +This alternative to the zero-shot generation allows updating ZymCTRL's weights to new sequences. + +This strategy is not strictly necessary, in fact, we have observed good generations even for EC classes where there are +only 1-2 representatives in Nature. But you might have an internal set of sequences that you'd like to incorporate into the model. +For example, internal datasets after protein engineering efforts, +ancestrally-reconstructed sets, or after searching against metagenomics databases. In these cases, it is advisable to fine-tune ZymCTRL, +as it will learn new properties from your dataset and potentially improve the generation quality +(especially for poorly populated EC classes). + +To fine-tune ZymCTRL, you can use the script below to process your sequences. The only requisite is to start with an input file, +'sequences.fasta' which contains all the sequences in a fasta format. Please follow the format below. There should not be new lines '\n' or +any separator between sequences. In the script, change the variable ec_label to the specific EC class you'd like to fine-tune. +The script will produce a file called {ec_label}_processed.txt and a folder with the training and validation datasets (split 10%) +``` +>Sequence1 +MMMMYMPLKVCD.. +>Sequence2 +MQWMXMYMPLKVCD.. +>Sequence3 +MPLKVCWMXMYMPLD.. +``` +We recommend using at least 200 sequences to obtain the best results. But we've seen it working with fewer sequences, so if you don't have +that many, give it still a go. + + +```python +import random +from transformers import AutoTokenizer + +from datasets import load_dataset +import transformers +from transformers.testing_utils import CaptureLogger + +## DEFINE THESE VARIABLES +tokenizer = AutoTokenizer.from_pretrained('AI4PD/ZymCTRL') +ec_label = '1.1.1.1' # CHANGE TO YOUR LABEL +validation_split_percentage = 10 # change if you want +sequence_file = 'sequence.fasta' + + +#Load sequences, Read source file +with open(sequence_file, 'r') as fn: #! CHANGE TO SEQUENCES.FASTA + data = fn.readlines() + fn.close() + +# Put sequences into dictionary +sequences={} +for line in data: + if '>' in line: + name = line.strip() + sequences[name] = [] #! CHANGE TO corre + continue + sequences[name].append(line.strip()) + +#Pass sequences to list and shuffle their order randomly +sequences_list = [(key,value[0]) for key,value in sequences.items()] +random.shuffle(sequences_list) + +#the objective is to get here strings, that when tokenized, would span a length of 1024. +#for each sequence group its length and untokenized string +print("procesing dataset") +processed_dataset = [] +for i in sequences_list: + # length of the control code + sequence = i[1].strip() + separator = '' + control_code_length = len(tokenizer(ec_label+separator)['input_ids']) + available_space = 1021 - control_code_length # It is not 1024 because '<|endoftext|>', and start and end + + # Option 1: the sequence is larger than the available space (3-4% of sequences) + if len(sequence) > available_space: + total_length = control_code_length + len(sequence[:available_space]) + 1 + seq = f"{ec_label}{separator}{sequence[:available_space]}<|endoftext|>" + processed_dataset.append((total_length, seq)) + + # Option 2 & 3: The sequence fits in the block_size space with or without padding + else: + total_length = control_code_length + len(sequence) + 3 + # in this case the sequence does not fit with the start/end tokens + seq = f"{ec_label}{separator}{sequence}<|endoftext|>" + processed_dataset.append((total_length, seq)) + +# Group sequences +def grouper(iterable): + prev = None + group = '' + total_sum = 0 + for item in iterable: + if prev is None or item[0] + total_sum < 1025: + group += item[1] + total_sum += item[0] + else: + total_sum = item[0] + yield group + group = item[1] + prev = item + if group: + total_sum = 0 + yield group + +print("grouping processed dataset") +grouped_dataset=dict(enumerate(grouper(processed_dataset),1)) + +# Write file out for the tokenizer to read +fn = open(f"{ec_label}_processed.txt",'w') +for key,value in grouped_dataset.items(): + padding_len = 1024 - len(tokenizer(value)['input_ids']) + padding = ""*padding_len + fn.write(value+padding) + fn.write + fn.write("\n") +fn.close() + +##TOKENIZE +# adapted from the trainer file +data_files = {} +dataset_args = {} + +data_files["train"] = f"{ec_label}_processed.txt" +extension = "text" +tok_logger = transformers.utils.logging.get_logger("transformers.tokenization_utils_base") + +raw_datasets = load_dataset(extension, data_files=data_files, cache_dir='.', **dataset_args) + +raw_datasets["train"] = load_dataset(extension, + data_files=data_files, + split=f"train[{validation_split_percentage}%:]", + cache_dir='.', + **dataset_args,) + +raw_datasets["validation"] = load_dataset(extension, + data_files=data_files, + split=f"train[:{validation_split_percentage}%]", + cache_dir='.', + **dataset_args,) + +def tokenize_function(examples): + with CaptureLogger(tok_logger) as cl: + output = tokenizer(examples["text"]) + # clm input could be much much longer than block_size + if "Token indices sequence length is longer than the" in cl.out: + tok_logger.warning( + "^^^^^^^^^^^^^^^^ Please ignore the warning above - this long input will be chunked into smaller bits before being passed to the model." + ) + return output + +tokenized_datasets = raw_datasets.map( + tokenize_function, + batched=True, + num_proc=32, + remove_columns=['text'], + load_from_cache_file = False, + desc="Running tokenizer on dataset", +) + +block_size = 1024 +def group_texts(examples): + # Concatenate all texts. + concatenated_examples = {k: sum(examples[k], []) for k in examples.keys()} + total_length = len(concatenated_examples[list(examples.keys())[0]]) + # We drop the small remainder, we could add padding if the model supported it instead of this drop, + # you can customize this part to your needs. + if total_length >= block_size: + total_length = (total_length // block_size) * block_size + # Split by chunks of max_len. + result = { + k: [t[i : i + block_size] for i in range(0, total_length, block_size)] + for k, t in concatenated_examples.items() + } + result["labels"] = result["input_ids"].copy() + return result + +lm_datasets = tokenized_datasets.map( + group_texts, + batched=True, + num_proc=124, + load_from_cache_file=False, + desc=f"Grouping texts in chunks of {block_size}", +) + +train_dataset = lm_datasets["train"] +eval_dataset = lm_datasets["validation"] + +train_dataset.save_to_disk('./dataset/train2') +eval_dataset.save_to_disk('./dataset/eval2') + + +``` +The processed datasets will be inside the folder dataset/, called train2 and eval2. +You could also put the two previous scripts into a single one and run it in one go (that is what we do). + +Now you are ready to fine-tune the model. +To do that, you can take the trainer file that we provide in this repository (5.run_clm-post.py), or use the trainer from Hugging Face. +The command below shows an example at an specific learning rate, +but you could try with other hyperparameters to obtain the best training and evaluation losses. + +```bash +python 5.run_clm-post.py --tokenizer_name AI4PD/ZymCTRL + --do_train --do_eval --output_dir output --eval_strategy steps --eval_steps 10 + --logging_steps 5 --save_steps 500 --num_train_epochs 28 --per_device_train_batch_size 1 + --per_device_eval_batch_size 4 --cache_dir '.' --save_total_limit 2 --learning_rate 0.8e-04 + --dataloader_drop_last True --model_name_or_path AI4PD/ZymCTRL +``` +In any case, the original HuggingFace script run_clm.py can be found here: +https://github.com/huggingface/transformers/blob/master/examples/pytorch/language-modeling/run_clm.py + + +### **Training specs** +The model was trained on 48 NVIDIA A100 GPUs for eight epochs, +using a block size of 1024 and a total batch size of 768. +The optimizer used was Adam (beta1 = 0.9, beta2 = 0.999) +with a learning rate of 0.8e-04. + +### **Contact** + +We are the AI for Protein Design group at the Centre for Genomic Regulation (https://www.aiproteindesign.com/). +For any questions post an issue in this repository so that other people can benefit from the feedback, and I'll get back to you shortly. +We are always open for collaborations, send an email to noelia [dot] ferruz [at] crg [dot] eu. \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..5acb95e --- /dev/null +++ b/config.json @@ -0,0 +1,35 @@ +{ + "activation_function": "gelu_new", + "architectures": [ + "GPT2LMHeadModel" + ], + "attn_pdrop": 0.1, + "bos_token_id": 1, + "embd_pdrop": 0.1, + "eos_token_id": 1, + "initializer_range": 0.02, + "layer_norm_epsilon": 1e-05, + "model_type": "gpt2", + "n_ctx": 1024, + "n_embd": 1280, + "n_head": 20, + "n_inner": null, + "n_layer": 36, + "n_positions": 1024, + "resid_pdrop": 0.1, + "scale_attn_weights": true, + "summary_activation": null, + "summary_first_dropout": 0.1, + "summary_proj_to_labels": true, + "summary_type": "cls_index", + "summary_use_proj": true, + "task_specific_params": { + "text-generation": { + "do_sample": true, + "max_length": 6092 + } + }, + "transformers_version": "4.21.1", + "use_cache": true, + "vocab_size": 458 +} diff --git a/github1.png b/github1.png new file mode 100644 index 0000000000000000000000000000000000000000..b0d22c4d5e5c8d18454894f0e0a8965589e105ff GIT binary patch literal 53727 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

< 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 literal 0 HcmV?d00001 diff --git a/pytorch_model.bin b/pytorch_model.bin new file mode 100644 index 0000000..6a8ff3f --- /dev/null +++ b/pytorch_model.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7497973d9b5950dee3d2a97e150fd959098981622f560aea74f1a647fad7e94a +size 2879060617 diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..c246cf9 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,4352 @@ +{ + "version": "1.0", + "truncation": null, + "padding": null, + "added_tokens": [ + { + "id": 0, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 1, + "content": "<|endoftext|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 2, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 3, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 4, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 5, + "content": "[UNK]", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 6, + "content": "0", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 7, + "content": "1", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 8, + "content": "2", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 9, + "content": "3", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 10, + "content": "4", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 11, + "content": "5", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 12, + "content": "6", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 13, + "content": "7", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 14, + "content": "8", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 15, + "content": "9", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 16, + "content": "10", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 17, + "content": "11", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 18, + "content": "12", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 19, + "content": "13", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 20, + "content": "14", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 21, + "content": "15", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 22, + "content": "16", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 23, + "content": "17", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 24, + "content": "18", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 25, + "content": "19", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 26, + "content": "20", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 27, + "content": "21", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 28, + "content": "22", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 29, + "content": "23", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 30, + "content": "24", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 31, + "content": "25", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 32, + "content": "26", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 33, + "content": "27", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 34, + "content": "28", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 35, + "content": "29", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 36, + "content": "30", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 37, + "content": "31", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 38, + "content": "32", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 39, + "content": "33", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 40, + "content": "34", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 41, + "content": "35", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 42, + "content": "36", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 43, + "content": "37", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 44, + "content": "38", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 45, + "content": "39", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 46, + "content": "40", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 47, + "content": "41", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 48, + "content": "42", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 49, + "content": "43", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 50, + "content": "44", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 51, + "content": "45", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 52, + "content": "46", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 53, + "content": "47", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 54, + "content": "48", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 55, + "content": "49", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 56, + "content": "50", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 57, + "content": "51", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 58, + "content": "52", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 59, + "content": "53", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 60, + "content": "54", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 61, + "content": "55", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 62, + "content": "56", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 63, + "content": "57", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 64, + "content": "58", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 65, + "content": "59", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 66, + "content": "60", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 67, + "content": "61", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 68, + "content": "62", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 69, + "content": "63", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 70, + "content": "64", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 71, + "content": "65", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 72, + "content": "66", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 73, + "content": "67", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 74, + "content": "68", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 75, + "content": "69", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 76, + "content": "70", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 77, + "content": "71", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 78, + "content": "72", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 79, + "content": "73", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 80, + "content": "74", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 81, + "content": "75", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 82, + "content": "76", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 83, + "content": "77", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 84, + "content": "78", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 85, + "content": "79", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 86, + "content": "80", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 87, + "content": "81", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 88, + "content": "82", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 89, + "content": "83", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 90, + "content": "84", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 91, + "content": "85", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 92, + "content": "86", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 93, + "content": "87", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 94, + "content": "88", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 95, + "content": "89", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 96, + "content": "90", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 97, + "content": "91", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 98, + "content": "92", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 99, + "content": "93", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 100, + "content": "94", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 101, + "content": "95", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 102, + "content": "96", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 103, + "content": "97", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 104, + "content": "98", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 105, + "content": "99", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 106, + "content": "100", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 107, + "content": "101", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 108, + "content": "102", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 109, + "content": "103", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 110, + "content": "104", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 111, + "content": "105", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 112, + "content": "106", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 113, + "content": "107", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 114, + "content": "108", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 115, + "content": "109", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 116, + "content": "110", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 117, + "content": "111", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 118, + "content": "112", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 119, + "content": "113", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 120, + "content": "114", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 121, + "content": "115", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 122, + "content": "116", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 123, + "content": "117", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 124, + "content": "118", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 125, + "content": "119", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 126, + "content": "120", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 127, + "content": "121", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128, + "content": "122", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 129, + "content": "123", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 130, + "content": "124", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 131, + "content": "125", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 132, + "content": "126", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 133, + "content": "127", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 134, + "content": "128", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 135, + "content": "129", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 136, + "content": "130", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 137, + "content": "131", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 138, + "content": "132", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 139, + "content": "133", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 140, + "content": "134", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 141, + "content": "135", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 142, + "content": "136", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 143, + "content": "137", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 144, + "content": "138", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 145, + "content": "139", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 146, + "content": "140", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 147, + "content": "141", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 148, + "content": "142", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 149, + "content": "143", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 150, + "content": "144", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 151, + "content": "145", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 152, + "content": "146", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 153, + "content": "147", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 154, + "content": "148", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 155, + "content": "149", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 156, + "content": "150", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 157, + "content": "151", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 158, + "content": "152", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 159, + "content": "153", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 160, + "content": "154", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 161, + "content": "155", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 162, + "content": "156", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 163, + "content": "157", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 164, + "content": "158", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 165, + "content": "159", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 166, + "content": "160", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 167, + "content": "161", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 168, + "content": "162", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 169, + "content": "163", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 170, + "content": "164", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 171, + "content": "165", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 172, + "content": "166", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 173, + "content": "167", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 174, + "content": "168", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 175, + "content": "169", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 176, + "content": "170", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 177, + "content": "171", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 178, + "content": "172", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 179, + "content": "173", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 180, + "content": "174", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 181, + "content": "175", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 182, + "content": "176", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 183, + "content": "177", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 184, + "content": "178", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 185, + "content": "179", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 186, + "content": "180", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 187, + "content": "181", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 188, + "content": "182", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 189, + "content": "183", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 190, + "content": "184", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 191, + "content": "185", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 192, + "content": "186", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 193, + "content": "187", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 194, + "content": "188", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 195, + "content": "189", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 196, + "content": "190", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 197, + "content": "191", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 198, + "content": "192", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 199, + "content": "193", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 200, + "content": "194", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 201, + "content": "195", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 202, + "content": "196", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 203, + "content": "197", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 204, + "content": "198", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 205, + "content": "199", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 206, + "content": "200", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 207, + "content": "201", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 208, + "content": "202", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 209, + "content": "203", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 210, + "content": "204", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 211, + "content": "205", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 212, + "content": "206", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 213, + "content": "207", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 214, + "content": "208", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 215, + "content": "209", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 216, + "content": "210", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 217, + "content": "211", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 218, + "content": "212", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 219, + "content": "213", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 220, + "content": "214", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 221, + "content": "215", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 222, + "content": "216", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 223, + "content": "217", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 224, + "content": "218", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 225, + "content": "219", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 226, + "content": "220", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 227, + "content": "221", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 228, + "content": "222", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 229, + "content": "223", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 230, + "content": "224", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 231, + "content": "225", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 232, + "content": "226", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 233, + "content": "227", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 234, + "content": "228", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 235, + "content": "229", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 236, + "content": "230", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 237, + "content": "231", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 238, + "content": "232", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 239, + "content": "233", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 240, + "content": "234", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 241, + "content": "235", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 242, + "content": "236", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 243, + "content": "237", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 244, + "content": "238", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 245, + "content": "239", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 246, + "content": "240", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 247, + "content": "241", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 248, + "content": "242", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 249, + "content": "243", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 250, + "content": "244", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 251, + "content": "245", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 252, + "content": "246", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 253, + "content": "247", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 254, + "content": "248", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 255, + "content": "249", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 256, + "content": "250", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 257, + "content": "251", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 258, + "content": "252", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 259, + "content": "253", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 260, + "content": "254", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 261, + "content": "255", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 262, + "content": "256", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 263, + "content": "257", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 264, + "content": "258", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 265, + "content": "259", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 266, + "content": "260", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 267, + "content": "261", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 268, + "content": "262", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 269, + "content": "263", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 270, + "content": "264", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 271, + "content": "265", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 272, + "content": "266", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 273, + "content": "267", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 274, + "content": "268", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 275, + "content": "269", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 276, + "content": "270", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 277, + "content": "271", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 278, + "content": "272", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 279, + "content": "273", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 280, + "content": "274", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 281, + "content": "275", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 282, + "content": "276", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 283, + "content": "277", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 284, + "content": "278", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 285, + "content": "279", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 286, + "content": "280", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 287, + "content": "281", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 288, + "content": "282", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 289, + "content": "283", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 290, + "content": "284", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 291, + "content": "285", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 292, + "content": "286", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 293, + "content": "287", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 294, + "content": "288", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 295, + "content": "289", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 296, + "content": "290", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 297, + "content": "291", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 298, + "content": "292", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 299, + "content": "293", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 300, + "content": "294", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 301, + "content": "295", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 302, + "content": "296", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 303, + "content": "297", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 304, + "content": "298", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 305, + "content": "299", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 306, + "content": "300", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 307, + "content": "301", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 308, + "content": "302", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 309, + "content": "303", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 310, + "content": "304", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 311, + "content": "305", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 312, + "content": "306", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 313, + "content": "307", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 314, + "content": "308", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 315, + "content": "309", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 316, + "content": "310", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 317, + "content": "311", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 318, + "content": "312", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 319, + "content": "313", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 320, + "content": "314", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 321, + "content": "315", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 322, + "content": "316", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 323, + "content": "317", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 324, + "content": "318", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 325, + "content": "319", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 326, + "content": "320", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 327, + "content": "321", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 328, + "content": "322", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 329, + "content": "323", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 330, + "content": "324", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 331, + "content": "325", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 332, + "content": "326", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 333, + "content": "327", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 334, + "content": "328", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 335, + "content": "329", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 336, + "content": "330", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 337, + "content": "331", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 338, + "content": "332", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 339, + "content": "333", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 340, + "content": "334", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 341, + "content": "335", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 342, + "content": "336", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 343, + "content": "337", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 344, + "content": "338", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 345, + "content": "339", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 346, + "content": "340", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 347, + "content": "341", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 348, + "content": "342", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 349, + "content": "343", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 350, + "content": "344", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 351, + "content": "345", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 352, + "content": "346", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 353, + "content": "347", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 354, + "content": "348", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 355, + "content": "349", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 356, + "content": "350", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 357, + "content": "351", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 358, + "content": "352", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 359, + "content": "353", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 360, + "content": "354", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 361, + "content": "355", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 362, + "content": "356", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 363, + "content": "357", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 364, + "content": "358", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 365, + "content": "359", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 366, + "content": "360", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 367, + "content": "361", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 368, + "content": "362", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 369, + "content": "363", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 370, + "content": "364", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 371, + "content": "365", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 372, + "content": "366", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 373, + "content": "367", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 374, + "content": "368", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 375, + "content": "369", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 376, + "content": "370", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 377, + "content": "371", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 378, + "content": "372", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 379, + "content": "373", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 380, + "content": "374", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 381, + "content": "375", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 382, + "content": "376", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 383, + "content": "377", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 384, + "content": "378", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 385, + "content": "379", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 386, + "content": "380", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 387, + "content": "381", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 388, + "content": "382", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 389, + "content": "383", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 390, + "content": "384", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 391, + "content": "385", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 392, + "content": "386", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 393, + "content": "387", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 394, + "content": "388", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 395, + "content": "389", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 396, + "content": "390", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 397, + "content": "391", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 398, + "content": "392", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 399, + "content": "393", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 400, + "content": "394", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 401, + "content": "395", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 402, + "content": "396", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 403, + "content": "397", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 404, + "content": "398", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 405, + "content": "399", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 406, + "content": "400", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 407, + "content": "401", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 408, + "content": "402", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 409, + "content": "403", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 410, + "content": "404", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 411, + "content": "405", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 412, + "content": "406", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 413, + "content": "407", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 414, + "content": "408", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 415, + "content": "409", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 416, + "content": "410", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 417, + "content": "411", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 418, + "content": "412", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 419, + "content": "413", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 420, + "content": "414", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 421, + "content": "415", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 422, + "content": "416", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 423, + "content": "417", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 424, + "content": "418", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 425, + "content": "419", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 426, + "content": "420", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 427, + "content": "421", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 428, + "content": "422", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 429, + "content": "423", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + ], + "normalizer": null, + "pre_tokenizer": { + "type": "Split", + "pattern": { + "String": "" + }, + "behavior": "Isolated", + "invert": false + }, + "post_processor": null, + "decoder": null, + "model": { + "type": "WordLevel", + "vocab": { + "": 0, + "<|endoftext|>": 1, + "": 2, + "": 3, + "": 4, + "[UNK]": 5, + "0": 6, + "1": 7, + "2": 8, + "3": 9, + "4": 10, + "5": 11, + "6": 12, + "7": 13, + "8": 14, + "9": 15, + "10": 16, + "11": 17, + "12": 18, + "13": 19, + "14": 20, + "15": 21, + "16": 22, + "17": 23, + "18": 24, + "19": 25, + "20": 26, + "21": 27, + "22": 28, + "23": 29, + "24": 30, + "25": 31, + "26": 32, + "27": 33, + "28": 34, + "29": 35, + "30": 36, + "31": 37, + "32": 38, + "33": 39, + "34": 40, + "35": 41, + "36": 42, + "37": 43, + "38": 44, + "39": 45, + "40": 46, + "41": 47, + "42": 48, + "43": 49, + "44": 50, + "45": 51, + "46": 52, + "47": 53, + "48": 54, + "49": 55, + "50": 56, + "51": 57, + "52": 58, + "53": 59, + "54": 60, + "55": 61, + "56": 62, + "57": 63, + "58": 64, + "59": 65, + "60": 66, + "61": 67, + "62": 68, + "63": 69, + "64": 70, + "65": 71, + "66": 72, + "67": 73, + "68": 74, + "69": 75, + "70": 76, + "71": 77, + "72": 78, + "73": 79, + "74": 80, + "75": 81, + "76": 82, + "77": 83, + "78": 84, + "79": 85, + "80": 86, + "81": 87, + "82": 88, + "83": 89, + "84": 90, + "85": 91, + "86": 92, + "87": 93, + "88": 94, + "89": 95, + "90": 96, + "91": 97, + "92": 98, + "93": 99, + "94": 100, + "95": 101, + "96": 102, + "97": 103, + "98": 104, + "99": 105, + "100": 106, + "101": 107, + "102": 108, + "103": 109, + "104": 110, + "105": 111, + "106": 112, + "107": 113, + "108": 114, + "109": 115, + "110": 116, + "111": 117, + "112": 118, + "113": 119, + "114": 120, + "115": 121, + "116": 122, + "117": 123, + "118": 124, + "119": 125, + "120": 126, + "121": 127, + "122": 128, + "123": 129, + "124": 130, + "125": 131, + "126": 132, + "127": 133, + "128": 134, + "129": 135, + "130": 136, + "131": 137, + "132": 138, + "133": 139, + "134": 140, + "135": 141, + "136": 142, + "137": 143, + "138": 144, + "139": 145, + "140": 146, + "141": 147, + "142": 148, + "143": 149, + "144": 150, + "145": 151, + "146": 152, + "147": 153, + "148": 154, + "149": 155, + "150": 156, + "151": 157, + "152": 158, + "153": 159, + "154": 160, + "155": 161, + "156": 162, + "157": 163, + "158": 164, + "159": 165, + "160": 166, + "161": 167, + "162": 168, + "163": 169, + "164": 170, + "165": 171, + "166": 172, + "167": 173, + "168": 174, + "169": 175, + "170": 176, + "171": 177, + "172": 178, + "173": 179, + "174": 180, + "175": 181, + "176": 182, + "177": 183, + "178": 184, + "179": 185, + "180": 186, + "181": 187, + "182": 188, + "183": 189, + "184": 190, + "185": 191, + "186": 192, + "187": 193, + "188": 194, + "189": 195, + "190": 196, + "191": 197, + "192": 198, + "193": 199, + "194": 200, + "195": 201, + "196": 202, + "197": 203, + "198": 204, + "199": 205, + "200": 206, + "201": 207, + "202": 208, + "203": 209, + "204": 210, + "205": 211, + "206": 212, + "207": 213, + "208": 214, + "209": 215, + "210": 216, + "211": 217, + "212": 218, + "213": 219, + "214": 220, + "215": 221, + "216": 222, + "217": 223, + "218": 224, + "219": 225, + "220": 226, + "221": 227, + "222": 228, + "223": 229, + "224": 230, + "225": 231, + "226": 232, + "227": 233, + "228": 234, + "229": 235, + "230": 236, + "231": 237, + "232": 238, + "233": 239, + "234": 240, + "235": 241, + "236": 242, + "237": 243, + "238": 244, + "239": 245, + "240": 246, + "241": 247, + "242": 248, + "243": 249, + "244": 250, + "245": 251, + "246": 252, + "247": 253, + "248": 254, + "249": 255, + "250": 256, + "251": 257, + "252": 258, + "253": 259, + "254": 260, + "255": 261, + "256": 262, + "257": 263, + "258": 264, + "259": 265, + "260": 266, + "261": 267, + "262": 268, + "263": 269, + "264": 270, + "265": 271, + "266": 272, + "267": 273, + "268": 274, + "269": 275, + "270": 276, + "271": 277, + "272": 278, + "273": 279, + "274": 280, + "275": 281, + "276": 282, + "277": 283, + "278": 284, + "279": 285, + "280": 286, + "281": 287, + "282": 288, + "283": 289, + "284": 290, + "285": 291, + "286": 292, + "287": 293, + "288": 294, + "289": 295, + "290": 296, + "291": 297, + "292": 298, + "293": 299, + "294": 300, + "295": 301, + "296": 302, + "297": 303, + "298": 304, + "299": 305, + "300": 306, + "301": 307, + "302": 308, + "303": 309, + "304": 310, + "305": 311, + "306": 312, + "307": 313, + "308": 314, + "309": 315, + "310": 316, + "311": 317, + "312": 318, + "313": 319, + "314": 320, + "315": 321, + "316": 322, + "317": 323, + "318": 324, + "319": 325, + "320": 326, + "321": 327, + "322": 328, + "323": 329, + "324": 330, + "325": 331, + "326": 332, + "327": 333, + "328": 334, + "329": 335, + "330": 336, + "331": 337, + "332": 338, + "333": 339, + "334": 340, + "335": 341, + "336": 342, + "337": 343, + "338": 344, + "339": 345, + "340": 346, + "341": 347, + "342": 348, + "343": 349, + "344": 350, + "345": 351, + "346": 352, + "347": 353, + "348": 354, + "349": 355, + "350": 356, + "351": 357, + "352": 358, + "353": 359, + "354": 360, + "355": 361, + "356": 362, + "357": 363, + "358": 364, + "359": 365, + "360": 366, + "361": 367, + "362": 368, + "363": 369, + "364": 370, + "365": 371, + "366": 372, + "367": 373, + "368": 374, + "369": 375, + "370": 376, + "371": 377, + "372": 378, + "373": 379, + "374": 380, + "375": 381, + "376": 382, + "377": 383, + "378": 384, + "379": 385, + "380": 386, + "381": 387, + "382": 388, + "383": 389, + "384": 390, + "385": 391, + "386": 392, + "387": 393, + "388": 394, + "389": 395, + "390": 396, + "391": 397, + "392": 398, + "393": 399, + "394": 400, + "395": 401, + "396": 402, + "397": 403, + "398": 404, + "399": 405, + "400": 406, + "401": 407, + "402": 408, + "403": 409, + "404": 410, + "405": 411, + "406": 412, + "407": 413, + "408": 414, + "409": 415, + "410": 416, + "411": 417, + "412": 418, + "413": 419, + "414": 420, + "415": 421, + "416": 422, + "417": 423, + "418": 424, + "419": 425, + "420": 426, + "421": 427, + "422": 428, + "423": 429, + "-": 430, + ".": 431, + "A": 432, + "B": 433, + "C": 434, + "D": 435, + "E": 436, + "F": 437, + "G": 438, + "H": 439, + "I": 440, + "K": 441, + "L": 442, + "M": 443, + "N": 444, + "O": 445, + "P": 446, + "Q": 447, + "R": 448, + "S": 449, + "T": 450, + "U": 451, + "V": 452, + "W": 453, + "X": 454, + "Y": 455, + "Z": 456, + "n": 457 + }, + "unk_token": "[UNK]" + } +} \ No newline at end of file diff --git a/vocab.json b/vocab.json new file mode 100644 index 0000000..d81768e --- /dev/null +++ b/vocab.json @@ -0,0 +1 @@ +{"":0,"<|endoftext|>":1,"":2,"":3,"":4,"[UNK]":5,"0":6,"1":7,"2":8,"3":9,"4":10,"5":11,"6":12,"7":13,"8":14,"9":15,"10":16,"11":17,"12":18,"13":19,"14":20,"15":21,"16":22,"17":23,"18":24,"19":25,"20":26,"21":27,"22":28,"23":29,"24":30,"25":31,"26":32,"27":33,"28":34,"29":35,"30":36,"31":37,"32":38,"33":39,"34":40,"35":41,"36":42,"37":43,"38":44,"39":45,"40":46,"41":47,"42":48,"43":49,"44":50,"45":51,"46":52,"47":53,"48":54,"49":55,"50":56,"51":57,"52":58,"53":59,"54":60,"55":61,"56":62,"57":63,"58":64,"59":65,"60":66,"61":67,"62":68,"63":69,"64":70,"65":71,"66":72,"67":73,"68":74,"69":75,"70":76,"71":77,"72":78,"73":79,"74":80,"75":81,"76":82,"77":83,"78":84,"79":85,"80":86,"81":87,"82":88,"83":89,"84":90,"85":91,"86":92,"87":93,"88":94,"89":95,"90":96,"91":97,"92":98,"93":99,"94":100,"95":101,"96":102,"97":103,"98":104,"99":105,"100":106,"101":107,"102":108,"103":109,"104":110,"105":111,"106":112,"107":113,"108":114,"109":115,"110":116,"111":117,"112":118,"113":119,"114":120,"115":121,"116":122,"117":123,"118":124,"119":125,"120":126,"121":127,"122":128,"123":129,"124":130,"125":131,"126":132,"127":133,"128":134,"129":135,"130":136,"131":137,"132":138,"133":139,"134":140,"135":141,"136":142,"137":143,"138":144,"139":145,"140":146,"141":147,"142":148,"143":149,"144":150,"145":151,"146":152,"147":153,"148":154,"149":155,"150":156,"151":157,"152":158,"153":159,"154":160,"155":161,"156":162,"157":163,"158":164,"159":165,"160":166,"161":167,"162":168,"163":169,"164":170,"165":171,"166":172,"167":173,"168":174,"169":175,"170":176,"171":177,"172":178,"173":179,"174":180,"175":181,"176":182,"177":183,"178":184,"179":185,"180":186,"181":187,"182":188,"183":189,"184":190,"185":191,"186":192,"187":193,"188":194,"189":195,"190":196,"191":197,"192":198,"193":199,"194":200,"195":201,"196":202,"197":203,"198":204,"199":205,"200":206,"201":207,"202":208,"203":209,"204":210,"205":211,"206":212,"207":213,"208":214,"209":215,"210":216,"211":217,"212":218,"213":219,"214":220,"215":221,"216":222,"217":223,"218":224,"219":225,"220":226,"221":227,"222":228,"223":229,"224":230,"225":231,"226":232,"227":233,"228":234,"229":235,"230":236,"231":237,"232":238,"233":239,"234":240,"235":241,"236":242,"237":243,"238":244,"239":245,"240":246,"241":247,"242":248,"243":249,"244":250,"245":251,"246":252,"247":253,"248":254,"249":255,"250":256,"251":257,"252":258,"253":259,"254":260,"255":261,"256":262,"257":263,"258":264,"259":265,"260":266,"261":267,"262":268,"263":269,"264":270,"265":271,"266":272,"267":273,"268":274,"269":275,"270":276,"271":277,"272":278,"273":279,"274":280,"275":281,"276":282,"277":283,"278":284,"279":285,"280":286,"281":287,"282":288,"283":289,"284":290,"285":291,"286":292,"287":293,"288":294,"289":295,"290":296,"291":297,"292":298,"293":299,"294":300,"295":301,"296":302,"297":303,"298":304,"299":305,"300":306,"301":307,"302":308,"303":309,"304":310,"305":311,"306":312,"307":313,"308":314,"309":315,"310":316,"311":317,"312":318,"313":319,"314":320,"315":321,"316":322,"317":323,"318":324,"319":325,"320":326,"321":327,"322":328,"323":329,"324":330,"325":331,"326":332,"327":333,"328":334,"329":335,"330":336,"331":337,"332":338,"333":339,"334":340,"335":341,"336":342,"337":343,"338":344,"339":345,"340":346,"341":347,"342":348,"343":349,"344":350,"345":351,"346":352,"347":353,"348":354,"349":355,"350":356,"351":357,"352":358,"353":359,"354":360,"355":361,"356":362,"357":363,"358":364,"359":365,"360":366,"361":367,"362":368,"363":369,"364":370,"365":371,"366":372,"367":373,"368":374,"369":375,"370":376,"371":377,"372":378,"373":379,"374":380,"375":381,"376":382,"377":383,"378":384,"379":385,"380":386,"381":387,"382":388,"383":389,"384":390,"385":391,"386":392,"387":393,"388":394,"389":395,"390":396,"391":397,"392":398,"393":399,"394":400,"395":401,"396":402,"397":403,"398":404,"399":405,"400":406,"401":407,"402":408,"403":409,"404":410,"405":411,"406":412,"407":413,"408":414,"409":415,"410":416,"411":417,"412":418,"413":419,"414":420,"415":421,"416":422,"417":423,"418":424,"419":425,"420":426,"421":427,"422":428,"423":429,"-":430,".":431,"A":432,"B":433,"C":434,"D":435,"E":436,"F":437,"G":438,"H":439,"I":440,"K":441,"L":442,"M":443,"N":444,"O":445,"P":446,"Q":447,"R":448,"S":449,"T":450,"U":451,"V":452,"W":453,"X":454,"Y":455,"Z":456,"n":457} \ No newline at end of file