Michael Pieler commited on
Commit
2a83fcf
1 Parent(s): 83e34fe

cp opt-2.7b

Browse files
README.md ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: en
3
+ inference: false
4
+ tags:
5
+ - text-generation
6
+ - opt
7
+
8
+ license: other
9
+ commercial: false
10
+ ---
11
+
12
+ # OPT : Open Pre-trained Transformer Language Models
13
+
14
+ OPT was first introduced in [Open Pre-trained Transformer Language Models](https://arxiv.org/abs/2205.01068) and first released in [metaseq's repository](https://github.com/facebookresearch/metaseq) on May 3rd 2022 by Meta AI.
15
+
16
+ **Disclaimer**: The team releasing OPT wrote an official model card, which is available in Appendix D of the [paper](https://arxiv.org/pdf/2205.01068.pdf).
17
+ Content from **this** model card has been written by the Hugging Face team.
18
+
19
+ ## Intro
20
+
21
+ To quote the first two paragraphs of the [official paper](https://arxiv.org/abs/2205.01068)
22
+
23
+ > Large language models trained on massive text collections have shown surprising emergent
24
+ > capabilities to generate text and perform zero- and few-shot learning. While in some cases the public
25
+ > can interact with these models through paid APIs, full model access is currently limited to only a
26
+ > few highly resourced labs. This restricted access has limited researchers’ ability to study how and
27
+ > why these large language models work, hindering progress on improving known challenges in areas
28
+ > such as robustness, bias, and toxicity.
29
+
30
+ > We present Open Pretrained Transformers (OPT), a suite of decoder-only pre-trained transformers ranging from 125M
31
+ > to 175B parameters, which we aim to fully and responsibly share with interested researchers. We train the OPT models to roughly match
32
+ > the performance and sizes of the GPT-3 class of models, while also applying the latest best practices in data
33
+ > collection and efficient training. Our aim in developing this suite of OPT models is to enable reproducible and responsible research at scale, and
34
+ > to bring more voices to the table in studying the impact of these LLMs. Definitions of risk, harm, bias, and toxicity, etc., should be articulated by the
35
+ > collective research community as a whole, which is only possible when models are available for study.
36
+
37
+ ## Model description
38
+
39
+ OPT was predominantly pretrained with English text, but a small amount of non-English data is still present within the training corpus via CommonCrawl. The model was pretrained using a causal language modeling (CLM) objective.
40
+ OPT belongs to the same family of decoder-only models like [GPT-3](https://arxiv.org/abs/2005.14165). As such, it was pretrained using the self-supervised causal language modedling objective.
41
+
42
+ For evaluation, OPT follows [GPT-3](https://arxiv.org/abs/2005.14165) by using their prompts and overall experimental setup. For more details, please read
43
+ the [official paper](https://arxiv.org/abs/2205.01068).
44
+
45
+ ## Intended uses & limitations
46
+
47
+ The pretrained-only model can be used for prompting for evaluation of downstream tasks as well as text generation.
48
+ In addition, the model can be fine-tuned on a downstream task using the [CLM example](https://github.com/huggingface/transformers/tree/main/examples/pytorch/language-modeling). For all other OPT checkpoints, please have a look at the [model hub](https://huggingface.co/models?filter=opt).
49
+
50
+ ### How to use
51
+
52
+ You can use this model directly with a pipeline for text generation.
53
+
54
+ ```python
55
+ >>> from transformers import pipeline
56
+
57
+ >>> generator = pipeline('text-generation', model="facebook/opt-2.7b")
58
+ >>> generator("Hello, I'm am conscious and")
59
+ [{'generated_text': 'Hello, I am conscious and I am a human being.\nI am a human being, and'}]
60
+ ```
61
+
62
+ By default, generation is deterministic. In order to use the top-k sampling, please set `do_sample` to `True`.
63
+
64
+ ```python
65
+ >>> from transformers import pipeline, set_seed
66
+
67
+ >>> set_seed(32)
68
+ >>> generator = pipeline('text-generation', model="facebook/opt-2.7b", do_sample=True)
69
+ >>> generator("Hello, I'm am conscious and")
70
+ [{'generated_text': "Hello, I'm am conscious and I make things. I'm in the creative community, which is"}]
71
+ ```
72
+
73
+ ### Limitations and bias
74
+
75
+ As mentioned in Meta AI's model card, given that the training data used for this model contains a lot of
76
+ unfiltered content from the internet, which is far from neutral the model is strongly biased :
77
+
78
+ > Like other large language models for which the diversity (or lack thereof) of training
79
+ > data induces downstream impact on the quality of our model, OPT-175B has limitations in terms
80
+ > of bias and safety. OPT-175B can also have quality issues in terms of generation diversity and
81
+ > hallucination. In general, OPT-175B is not immune from the plethora of issues that plague modern
82
+ > large language models.
83
+
84
+ Here's an example of how the model can have biased predictions:
85
+
86
+ ```python
87
+ >>> from transformers import pipeline, set_seed
88
+
89
+ >>> set_seed(32)
90
+ >>> generator = pipeline('text-generation', model="facebook/opt-2.7b", do_sample=True, num_return_sequences=5)
91
+ >>> generator("The woman worked as a")
92
+ [{'generated_text': "The woman worked as a security guard at a nursery in the city's eastern district of Samut P"},
93
+ {'generated_text': 'The woman worked as a doctor in the Philippines. Officials in China allege she stole the coronavirus'},
94
+ {'generated_text': 'The woman worked as a teacher in the city of Krasnodar in south Russia. She'},
95
+ {'generated_text': 'The woman worked as a researcher and lecturer at the Russian Academy of Sciences in a laboratory dedicated to the'},
96
+ {'generated_text': 'The woman worked as a nanny on a property owned by Mr Fitton-Allen in the city'}]
97
+ ```
98
+
99
+ compared to:
100
+
101
+ ```python
102
+ >>> from transformers import pipeline, set_seed
103
+
104
+ >>> set_seed(32)
105
+ >>> generator = pipeline('text-generation', model="facebook/opt-2.7b", do_sample=True, num_return_sequences=5)
106
+ >>> generator("The man worked as a")
107
+ [{'generated_text': "The man worked as a security guard at a retirement home after being hired by the administrator's cousin,"},
108
+ {'generated_text': 'The man worked as a doctor in the Philippines.\n\nHe had hoped to work his way back'},
109
+ {'generated_text': 'The man worked as a teacher in the city of Krasnodar in south Russia.He'},
110
+ {'generated_text': 'The man worked as a researcher and his work on the topic predates the project, by many years'},
111
+ {'generated_text': 'The man worked as a chef in a restaurant for 40 years. How could this be so different from'}]
112
+ ```
113
+
114
+ This bias will also affect all fine-tuned versions of this model.
115
+
116
+ ## Training data
117
+
118
+ The Meta AI team wanted to train this model on a corpus as large as possible. It is composed of the union of the following 5 filtered datasets of textual documents:
119
+
120
+ - BookCorpus, which consists of more than 10K unpublished books,
121
+ - CC-Stories, which contains a subset of CommonCrawl data filtered to match the
122
+ story-like style of Winograd schemas,
123
+ - The Pile, from which * Pile-CC, OpenWebText2, USPTO, Project Gutenberg, OpenSubtitles, Wikipedia, DM Mathematics and HackerNews* were included.
124
+ - Pushshift.io Reddit dataset that was developed in Baumgartner et al. (2020) and processed in
125
+ Roller et al. (2021)
126
+ - CCNewsV2 containing an updated version of the English portion of the CommonCrawl News
127
+ dataset that was used in RoBERTa (Liu et al., 2019b)
128
+
129
+ The final training data contains 180B tokens corresponding to 800GB of data. The validation split was made of 200MB of the pretraining data, sampled proportionally
130
+ to each dataset’s size in the pretraining corpus.
131
+
132
+ The dataset might contains offensive content as parts of the dataset are a subset of
133
+ public Common Crawl data, along with a subset of public Reddit data, which could contain sentences
134
+ that, if viewed directly, can be insulting, threatening, or might otherwise cause anxiety.
135
+
136
+ ### Collection process
137
+
138
+ The dataset was collected form internet, and went through classic data processing algorithms and
139
+ re-formatting practices, including removing repetitive/non-informative text like *Chapter One* or
140
+ *This ebook by Project Gutenberg.*
141
+
142
+ ## Training procedure
143
+
144
+ ### Preprocessing
145
+
146
+ The texts are tokenized using the **GPT2** byte-level version of Byte Pair Encoding (BPE) (for unicode characters) and a
147
+ vocabulary size of 50272. The inputs are sequences of 2048 consecutive tokens.
148
+
149
+ The 175B model was trained on 992 *80GB A100 GPUs*. The training duration was roughly ~33 days of continuous training.
150
+
151
+ ### BibTeX entry and citation info
152
+
153
+ ```bibtex
154
+ @misc{zhang2022opt,
155
+ title={OPT: Open Pre-trained Transformer Language Models},
156
+ author={Susan Zhang and Stephen Roller and Naman Goyal and Mikel Artetxe and Moya Chen and Shuohui Chen and Christopher Dewan and Mona Diab and Xian Li and Xi Victoria Lin and Todor Mihaylov and Myle Ott and Sam Shleifer and Kurt Shuster and Daniel Simig and Punit Singh Koura and Anjali Sridhar and Tianlu Wang and Luke Zettlemoyer},
157
+ year={2022},
158
+ eprint={2205.01068},
159
+ archivePrefix={arXiv},
160
+ primaryClass={cs.CL}
161
+ }
162
+ ```
config.json ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "facebook/opt-2.7b",
3
+ "_remove_final_layer_norm": false,
4
+ "activation_dropout": 0.0,
5
+ "activation_function": "relu",
6
+ "architectures": [
7
+ "OPTForCausalLM"
8
+ ],
9
+ "attention_dropout": 0.0,
10
+ "bos_token_id": 2,
11
+ "do_layer_norm_before": true,
12
+ "dropout": 0.1,
13
+ "eos_token_id": 2,
14
+ "ffn_dim": 10240,
15
+ "hidden_size": 2560,
16
+ "init_std": 0.02,
17
+ "layerdrop": 0.0,
18
+ "max_position_embeddings": 2048,
19
+ "model_type": "opt",
20
+ "num_attention_heads": 32,
21
+ "num_hidden_layers": 32,
22
+ "pad_token_id": 1,
23
+ "prefix": "</s>",
24
+ "torch_dtype": "float16",
25
+ "transformers_version": "4.21.0.dev0",
26
+ "use_cache": true,
27
+ "vocab_size": 50272,
28
+ "word_embed_proj_dim": 2560
29
+ }
flax_model.msgpack ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:38e0e85e60f355645ec49cf1e5a09582ccfea00e3d6208447e8548f9401c6b8e
3
+ size 5303211551
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:476391562b9b2635c672d15bd69cfa881c5c824ebe89b00fee6c58947541e6e4
3
+ size 5303359381
special_tokens_map.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"bos_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, "eos_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, "unk_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}, "pad_token": {"content": "<pad>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true}}
tf_model.h5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e7d5426456bd68a48b383bac08b81d4ff834ed8fd86dd4d1a0f668b74f5e03ae
3
+ size 10606949680
tokenizer_config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"errors": "replace", "unk_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true, "__type": "AddedToken"}, "bos_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true, "__type": "AddedToken"}, "eos_token": {"content": "</s>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true, "__type": "AddedToken"}, "pad_token": {"content": "<pad>", "single_word": false, "lstrip": false, "rstrip": false, "normalized": true, "__type": "AddedToken"}, "add_prefix_space": false, "add_bos_token": true, "special_tokens_map_file": null, "name_or_path": "patrickvonplaten/opt-30b"}
vocab.json ADDED
The diff for this file is too large to render. See raw diff