--- language: - en library_name: pytorch tags: - language-model - gpt2 - transformer - wikitext-103 model-index: - name: gpt2_wt103-40m_12-layer results: - task: type: language-modeling dataset: type: wikitext name: Wikitext-103 metrics: - type: perplexity value: 40.6 --- # Model description paper: [Characterizing Verbatim Short-Term Memory in Neural Language Models](https://arxiv.org/abs/2210.13569) This is a gpt2-small-like decoder-only transformer model trained on a the [wikitext-103 dataset](https://paperswithcode.com/dataset/wikitext-103). # Usage You can download and load the model as follows: ```python from transformers import GPT2LMHeadModel model = GPT2LMHeadModel.from_pretrained("Kristijan/gpt2_wt103_12-layer") ``` Alternatively, if you've downloaded the checkpoint files in this repository, you could also do: ```python from transformers import GPT2LMHeadModel model = GPT2LMHeadModel.from_pretrained(path_to_folder_with_checkpoint_files) ``` ## BPE Tokenizer You should first pretokenize your text using the [MosesTokenizer](https://pypi.org/project/mosestokenizer/): ```python from mosestokenizer import MosesTokenizer with MosesTokenizer('en') as pretokenize: pretokenized_text = " ".join(pretokenize(text_string)) ``` Then, to BPE tokenize your text for this model, you should use the [tokenizer trained on Wikitext-103](https://huggingface.co/Kristijan/wikitext-103_tokenizer_v2): ```python from transformers import GPT2TokenizerFast tokenizer = GPT2TokenizerFast.from_pretrained("Kristijan/wikitext-103-tokenizer_v2") tokenized_text = tokenizer.tokenize(pretokenized_text) ``` # Intended uses This checkpoint is intended for research purposes, for example those interested in studying the behavior of transformer language models trained on smaller datasets.