Text Generation
Transformers
Safetensors
English
llama
sft
text-generation-inference
4-bit precision
gptq
TheBloke commited on
Commit
92aaf08
1 Parent(s): fe6e676

Initial GPTQ model commit

Browse files
Files changed (1) hide show
  1. README.md +554 -0
README.md ADDED
@@ -0,0 +1,554 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ datasets:
3
+ - rombodawg/LosslessMegaCodeTrainingV2_1m_Evol_Uncensored
4
+ - OpenAssistant/oasst1
5
+ - ehartford/dolphin
6
+ - argilla/databricks-dolly-15k-curated-multilingual
7
+ inference: false
8
+ language:
9
+ - en
10
+ library_name: transformers
11
+ license: llama2
12
+ model_creator: OpenAssistant
13
+ model_link: https://huggingface.co/OpenAssistant/llama2-70b-oasst-sft-v10
14
+ model_name: Llama2 70B SFT v10
15
+ model_type: llama
16
+ pipeline_tag: text-generation
17
+ quantized_by: TheBloke
18
+ tags:
19
+ - sft
20
+ ---
21
+
22
+ <!-- header start -->
23
+ <!-- 200823 -->
24
+ <div style="width: auto; margin-left: auto; margin-right: auto">
25
+ <img src="https://i.imgur.com/EBdldam.jpg" alt="TheBlokeAI" style="width: 100%; min-width: 400px; display: block; margin: auto;">
26
+ </div>
27
+ <div style="display: flex; justify-content: space-between; width: 100%;">
28
+ <div style="display: flex; flex-direction: column; align-items: flex-start;">
29
+ <p style="margin-top: 0.5em; margin-bottom: 0em;"><a href="https://discord.gg/theblokeai">Chat & support: TheBloke's Discord server</a></p>
30
+ </div>
31
+ <div style="display: flex; flex-direction: column; align-items: flex-end;">
32
+ <p style="margin-top: 0.5em; margin-bottom: 0em;"><a href="https://www.patreon.com/TheBlokeAI">Want to contribute? TheBloke's Patreon page</a></p>
33
+ </div>
34
+ </div>
35
+ <div style="text-align:center; margin-top: 0em; margin-bottom: 0em"><p style="margin-top: 0.25em; margin-bottom: 0em;">TheBloke's LLM work is generously supported by a grant from <a href="https://a16z.com">andreessen horowitz (a16z)</a></p></div>
36
+ <hr style="margin-top: 1.0em; margin-bottom: 1.0em;">
37
+ <!-- header end -->
38
+
39
+ # Llama2 70B SFT v10 - GPTQ
40
+ - Model creator: [OpenAssistant](https://huggingface.co/OpenAssistant)
41
+ - Original model: [Llama2 70B SFT v10](https://huggingface.co/OpenAssistant/llama2-70b-oasst-sft-v10)
42
+
43
+ ## Description
44
+
45
+ This repo contains GPTQ model files for [OpenAssistant's Llama2 70B SFT v10](https://huggingface.co/OpenAssistant/llama2-70b-oasst-sft-v10).
46
+
47
+ Multiple GPTQ parameter permutations are provided; see Provided Files below for details of the options provided, their parameters, and the software used to create them.
48
+
49
+ ## Repositories available
50
+
51
+ * [GPTQ models for GPU inference, with multiple quantisation parameter options.](https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ)
52
+ * [2, 3, 4, 5, 6 and 8-bit GGUF models for CPU+GPU inference](https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GGUF)
53
+ * [2, 3, 4, 5, 6 and 8-bit GGML models for CPU+GPU inference (deprecated)](https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GGML)
54
+ * [OpenAssistant's original unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/OpenAssistant/llama2-70b-oasst-sft-v10)
55
+
56
+ ## Prompt template: ChatML
57
+
58
+ ```
59
+ <|im_start|>system
60
+ {system_message}<|im_end|>
61
+ <|im_start|>user
62
+ {prompt}<|im_end|>
63
+ <|im_start|>assistant
64
+ ```
65
+
66
+ ## Provided files and GPTQ parameters
67
+
68
+ Multiple quantisation parameters are provided, to allow you to choose the best one for your hardware and requirements.
69
+
70
+ Each separate quant is in a different branch. See below for instructions on fetching from different branches.
71
+
72
+ All GPTQ files are made with AutoGPTQ.
73
+
74
+ <details>
75
+ <summary>Explanation of GPTQ parameters</summary>
76
+
77
+ - Bits: The bit size of the quantised model.
78
+ - GS: GPTQ group size. Higher numbers use less VRAM, but have lower quantisation accuracy. "None" is the lowest possible value.
79
+ - Act Order: True or False. Also known as `desc_act`. True results in better quantisation accuracy. Some GPTQ clients have issues with models that use Act Order plus Group Size.
80
+ - Damp %: A GPTQ parameter that affects how samples are processed for quantisation. 0.01 is default, but 0.1 results in slightly better accuracy.
81
+ - GPTQ dataset: The dataset used for quantisation. Using a dataset more appropriate to the model's training can improve quantisation accuracy. Note that the GPTQ dataset is not the same as the dataset used to train the model - please refer to the original model repo for details of the training dataset(s).
82
+ - Sequence Length: The length of the dataset sequences used for quantisation. Ideally this is the same as the model sequence length. For some very long sequence models (16+K), a lower sequence length may have to be used. Note that a lower sequence length does not limit the sequence length of the quantised model. It only impacts the quantisation accuracy on longer inference sequences.
83
+ - ExLlama Compatibility: Whether this file can be loaded with ExLlama, which currently only supports Llama models in 4-bit.
84
+
85
+ </details>
86
+
87
+ | Branch | Bits | GS | Act Order | Damp % | GPTQ Dataset | Seq Len | Size | ExLlama | Desc |
88
+ | ------ | ---- | -- | --------- | ------ | ------------ | ------- | ---- | ------- | ---- |
89
+ | [main](https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ/tree/main) | 4 | None | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 35.33 GB | Yes | Most compatible option. Good inference speed in AutoGPTQ and GPTQ-for-LLaMa. Lower inference quality than other options. |
90
+ | [gptq-4bit-32g-actorder_True](https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ/tree/gptq-4bit-32g-actorder_True) | 4 | 32 | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 40.66 GB | Yes | 4-bit, with Act Order and group size 32g. Gives highest possible inference quality, with maximum VRAM usage. Poor AutoGPTQ CUDA speed. |
91
+ | [gptq-4bit-64g-actorder_True](https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ/tree/gptq-4bit-64g-actorder_True) | 4 | 64 | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 37.99 GB | Yes | 4-bit, with Act Order and group size 64g. Uses less VRAM than 32g, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed. |
92
+ | [gptq-4bit-128g-actorder_True](https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ/tree/gptq-4bit-128g-actorder_True) | 4 | 128 | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 36.65 GB | Yes | 4-bit, with Act Order and group size 128g. Uses even less VRAM than 64g, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed. |
93
+ | [gptq-3bit--1g-actorder_True](https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ/tree/gptq-3bit--1g-actorder_True) | 3 | None | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 26.78 GB | No | 3-bit, with Act Order and no group size. Lowest possible VRAM requirements. May be lower quality than 3-bit 128g. |
94
+ | [gptq-3bit-128g-actorder_True](https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ/tree/gptq-3bit-128g-actorder_True) | 3 | 128 | Yes | 0.1 | [wikitext](https://huggingface.co/datasets/wikitext/viewer/wikitext-2-v1/test) | 4096 | 28.03 GB | No | 3-bit, with group size 128g and act-order. Higher quality than 128g-False but poor AutoGPTQ CUDA speed. |
95
+
96
+ ## How to download from branches
97
+
98
+ - In text-generation-webui, you can add `:branch` to the end of the download name, eg `TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ:gptq-4bit-32g-actorder_True`
99
+ - With Git, you can clone a branch with:
100
+ ```
101
+ git clone --single-branch --branch gptq-4bit-32g-actorder_True https://huggingface.co/TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ
102
+ ```
103
+ - In Python Transformers code, the branch is the `revision` parameter; see below.
104
+
105
+ ## How to easily download and use this model in [text-generation-webui](https://github.com/oobabooga/text-generation-webui).
106
+
107
+ Please make sure you're using the latest version of [text-generation-webui](https://github.com/oobabooga/text-generation-webui).
108
+
109
+ It is strongly recommended to use the text-generation-webui one-click-installers unless you know how to make a manual install.
110
+
111
+ 1. Click the **Model tab**.
112
+ 2. Under **Download custom model or LoRA**, enter `TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ`.
113
+ - To download from a specific branch, enter for example `TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ:gptq-4bit-32g-actorder_True`
114
+ - see Provided Files above for the list of branches for each option.
115
+ 3. Click **Download**.
116
+ 4. The model will start downloading. Once it's finished it will say "Done"
117
+ 5. In the top left, click the refresh icon next to **Model**.
118
+ 6. In the **Model** dropdown, choose the model you just downloaded: `Llama2-70B-OASST-SFT-v10-GPTQ`
119
+ 7. The model will automatically load, and is now ready for use!
120
+ 8. If you want any custom settings, set them and then click **Save settings for this model** followed by **Reload the Model** in the top right.
121
+ * Note that you do not need to set GPTQ parameters any more. These are set automatically from the file `quantize_config.json`.
122
+ 9. Once you're ready, click the **Text Generation tab** and enter a prompt to get started!
123
+
124
+ ## How to use this GPTQ model from Python code
125
+
126
+ First make sure you have [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ) 0.3.1 or later installed:
127
+
128
+ ```
129
+ pip3 install auto-gptq
130
+ ```
131
+
132
+ If you have problems installing AutoGPTQ, please build from source instead:
133
+ ```
134
+ pip3 uninstall -y auto-gptq
135
+ git clone https://github.com/PanQiWei/AutoGPTQ
136
+ cd AutoGPTQ
137
+ pip3 install .
138
+ ```
139
+
140
+ Then try the following example code:
141
+
142
+ ```python
143
+ from transformers import AutoTokenizer, pipeline, logging
144
+ from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
145
+
146
+ model_name_or_path = "TheBloke/Llama2-70B-OASST-SFT-v10-GPTQ"
147
+
148
+ use_triton = False
149
+
150
+ tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
151
+
152
+ model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
153
+ use_safetensors=True,
154
+ trust_remote_code=False,
155
+ device="cuda:0",
156
+ use_triton=use_triton,
157
+ quantize_config=None)
158
+
159
+ """
160
+ # To download from a specific branch, use the revision parameter, as in this example:
161
+ # Note that `revision` requires AutoGPTQ 0.3.1 or later!
162
+
163
+ model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
164
+ revision="gptq-4bit-32g-actorder_True",
165
+ use_safetensors=True,
166
+ trust_remote_code=False,
167
+ device="cuda:0",
168
+ quantize_config=None)
169
+ """
170
+
171
+ prompt = "Tell me about AI"
172
+ prompt_template=f'''<|im_start|>system
173
+ {system_message}<|im_end|>
174
+ <|im_start|>user
175
+ {prompt}<|im_end|>
176
+ <|im_start|>assistant
177
+ '''
178
+
179
+ print("\n\n*** Generate:")
180
+
181
+ input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
182
+ output = model.generate(inputs=input_ids, temperature=0.7, max_new_tokens=512)
183
+ print(tokenizer.decode(output[0]))
184
+
185
+ # Inference can also be done using transformers' pipeline
186
+
187
+ # Prevent printing spurious transformers error when using pipeline with AutoGPTQ
188
+ logging.set_verbosity(logging.CRITICAL)
189
+
190
+ print("*** Pipeline:")
191
+ pipe = pipeline(
192
+ "text-generation",
193
+ model=model,
194
+ tokenizer=tokenizer,
195
+ max_new_tokens=512,
196
+ temperature=0.7,
197
+ top_p=0.95,
198
+ repetition_penalty=1.15
199
+ )
200
+
201
+ print(pipe(prompt_template)[0]['generated_text'])
202
+ ```
203
+
204
+ ## Compatibility
205
+
206
+ The files provided will work with AutoGPTQ (CUDA and Triton modes), GPTQ-for-LLaMa (only CUDA has been tested), and Occ4m's GPTQ-for-LLaMa fork.
207
+
208
+ ExLlama works with Llama models in 4-bit. Please see the Provided Files table above for per-file compatibility.
209
+
210
+ <!-- footer start -->
211
+ <!-- 200823 -->
212
+ ## Discord
213
+
214
+ For further support, and discussions on these models and AI in general, join us at:
215
+
216
+ [TheBloke AI's Discord server](https://discord.gg/theblokeai)
217
+
218
+ ## Thanks, and how to contribute.
219
+
220
+ Thanks to the [chirper.ai](https://chirper.ai) team!
221
+
222
+ I've had a lot of people ask if they can contribute. I enjoy providing models and helping people, and would love to be able to spend even more time doing it, as well as expanding into new projects like fine tuning/training.
223
+
224
+ If you're able and willing to contribute it will be most gratefully received and will help me to keep providing more models, and to start work on new AI projects.
225
+
226
+ Donaters will get priority support on any and all AI/LLM/model questions and requests, access to a private Discord room, plus other benefits.
227
+
228
+ * Patreon: https://patreon.com/TheBlokeAI
229
+ * Ko-Fi: https://ko-fi.com/TheBlokeAI
230
+
231
+ **Special thanks to**: Aemon Algiz.
232
+
233
+ **Patreon special mentions**: Kacper Wikieł, knownsqashed, Leonard Tan, Asp the Wyvern, Daniel P. Andersen, Luke Pendergrass, Stanislav Ovsiannikov, RoA, Dave, Ai Maven, Kalila, Will Dee, Imad Khwaja, Nitin Borwankar, Joseph William Delisle, Tony Hughes, Cory Kujawski, Rishabh Srivastava, Russ Johnson, Stephen Murray, Lone Striker, Johann-Peter Hartmann, Elle, J, Deep Realms, SuperWojo, Raven Klaugh, Sebastain Graf, ReadyPlayerEmma, Alps Aficionado, Mano Prime, Derek Yates, Gabriel Puliatti, Mesiah Bishop, Magnesian, Sean Connelly, biorpg, Iucharbius, Olakabola, Fen Risland, Space Cruiser, theTransient, Illia Dulskyi, Thomas Belote, Spencer Kim, Pieter, John Detwiler, Fred von Graf, Michael Davis, Swaroop Kallakuri, subjectnull, Clay Pascal, Subspace Studios, Chris Smitley, Enrico Ros, usrbinkat, Steven Wood, alfie_i, David Ziegler, Willem Michiel, Matthew Berman, Andrey, Pyrater, Jeffrey Morgan, vamX, LangChain4j, Luke @flexchar, Trenton Dambrowitz, Pierre Kircher, Alex, Sam, James Bentley, Edmond Seymore, Eugene Pentland, Pedro Madruga, Rainer Wilmers, Dan Guido, Nathan LeClaire, Spiking Neurons AB, Talal Aujan, zynix, Artur Olbinski, Michael Levine, 阿明, K, John Villwock, Nikolai Manek, Femi Adebogun, senxiiz, Deo Leter, NimbleBox.ai, Viktor Bowallius, Geoffrey Montalvo, Mandus, Ajan Kanaga, ya boyyy, Jonathan Leane, webtim, Brandon Frisco, danny, Alexandros Triantafyllidis, Gabriel Tamborski, Randy H, terasurfer, Vadim, Junyu Yang, Vitor Caleffi, Chadd, transmissions 11
234
+
235
+
236
+ Thank you to all my generous patrons and donaters!
237
+
238
+ And thank you again to a16z for their generous grant.
239
+
240
+ <!-- footer end -->
241
+
242
+ # Original model card: OpenAssistant's Llama2 70B SFT v10
243
+
244
+ # Open-Assistant Llama2 70B SFT v10
245
+
246
+ This model is an Open-Assistant fine-tuning of Meta's [Llama2 70B](https://huggingface.co/meta-llama/Llama-2-70b) LLM.
247
+ It was fine-tuned in two stages, first on a mix of synthetic instrunctions and coding tasks and then in a "polishing" stage
248
+ on the best human demonstrations collected at [open-assistant.io](https://open-assistant.io/) up to July 23, 2023 (see [Configuration Details](#configuration-details) below).
249
+
250
+ ## Model Details
251
+
252
+ - **Finetuned from:** [meta-llama/Llama-2-70b](https://huggingface.co/meta-llama/Llama-2-70b) via [epfLLM/Megatron-LLM](https://github.com/epfLLM/Megatron-LLM)
253
+ - **Model type:** Causal decoder-only transformer language model
254
+ - **Language:** English (and limited capabilities in German, Spanish, French, Italian, Portuguese, Polish, Dutch, Romanian, Czech, Swedish)
255
+ - **Weights & Biases training logs:** [Stage 1](https://wandb.ai/open-assistant/public-sft/runs/run45_oasst_pre10_llama2_70b) (1 epoch pretrain-mix, 12k steps), [Stage 2](https://wandb.ai/open-assistant/public-sft/runs/run46_oasst_sft10_llama2_70b) (3 epochs oasst top-1, 519 steps)
256
+ - **Demo:** [Continuations for 250 random prompts (TGI, 4bit nf4 quantization)](https://open-assistant.github.io/oasst-model-eval/?f=https%3A%2F%2Fraw.githubusercontent.com%2FOpen-Assistant%2Foasst-model-eval%2Fmain%2Fsampling_reports%2Foasst-sft%2F2023-08-22_OpenAssistant_llama2-70b-oasst-sft-v10_sampling_noprefix2_nf4.json%0A)
257
+ - **Evaluation** [FastEval-OpenAssistant Overview](https://tju01.github.io/FastEval-OpenAssistant/) (using [FastEval](https://github.com/FastEval/FastEval) & [vLLM](https://github.com/vllm-project/vllm))
258
+ - **License:** [LLAMA 2 COMMUNITY LICENSE AGREEMENT](https://huggingface.co/meta-llama/Llama-2-70b/raw/main/LICENSE.txt)
259
+ - **Contact:** [Open-Assistant Discord](https://ykilcher.com/open-assistant-discord)
260
+
261
+
262
+ ## Prompting / Prompt Template
263
+
264
+ Due to public demand (see [survey](https://twitter.com/erhartford/status/1682403597525430272)) we changed the prompt-template for this model from custom prompter/assistant tokens to OpenAI's [chatml](https://github.com/openai/openai-python/blob/main/chatml.md) standard prompt format.
265
+ We hope that this leads to greater compatibility with chat inference/frontend applications.
266
+
267
+ Prompt dialogue template:
268
+
269
+ ```
270
+ """
271
+ <|im_start|>system
272
+ {system_message}<|im_end|>
273
+ <|im_start|>user
274
+ {prompt}<|im_end|>
275
+ <|im_start|>assistant
276
+ """
277
+ ```
278
+
279
+ The model input can contain multiple conversation turns between user and assistant, e.g.
280
+ ```
281
+ <|im_start|>user
282
+ {prompt 1}<|im_end|>
283
+ <|im_start|>assistant
284
+ {reply 1}<|im_end|>
285
+ <|im_start|>user
286
+ {prompt 2}<|im_end|>
287
+ <|im_start|>assistant
288
+ (...)
289
+ ```
290
+
291
+ The model was partly trained with orca system messages.
292
+ For inference we recommend to use the official [Llama2 system message](https://github.com/facebookresearch/llama/blob/ea9f33d6d3ea8ed7d560d270986407fd6c2e52b7/example_chat_completion.py#L57-L61):
293
+ ```
294
+ <|im_start|>system
295
+ You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.
296
+
297
+ If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
298
+ <|im_end|>
299
+ ```
300
+
301
+ ### Credits & Special Thanks
302
+
303
+ - Thanks to [Meta AI](https://ai.meta.com/) for training and releasing the Llama2 model.
304
+ - Distributed training support was provided by EPFL's [Machine Learning and Optimization Laboratory](https://www.epfl.ch/labs/mlo/), and [Natural Language Processing Lab](https://nlp.epfl.ch/).
305
+ - The open-source [epfLLM/Megatron-LLM](https://github.com/epfLLM/Megatron-LLM) trainer was used for fine-tuning.
306
+ - [rombodawg](https://huggingface.co/rombodawg) curated the [LosslessMegaCodeTrainingV2_1m_Evol_Uncensored](https://huggingface.co/datasets/rombodawg/LosslessMegaCodeTrainingV2_1m_Evol_Uncensored) dataset.
307
+ - [ehartford](https://huggingface.co/ehartford) generated and published the [ehartford/dolphin](https://huggingface.co/datasets/ehartford/dolphin) and the [ehartford/oa_leet10k](https://huggingface.co/datasets/ehartford/oa_leet10k) datasets.
308
+ - [Argilla](https://huggingface.co/argilla) curated and published the [argilla/databricks-dolly-15k-curated-multilingual](https://huggingface.co/datasets/argilla/databricks-dolly-15k-curated-multilingual) dataset.
309
+ - [shahules786](https://github.com/shahules786) de-duped and filtered the Dolphin dataset with a cluster-center approach and generated the orca-best (ocra-chat) dataset.
310
+ - [andreaskoepf](https://github.com/andreaskoepf/) prepared & orchestrated the training.
311
+
312
+ We want to especially thank everyone who contributed in the crowed-sourced Open-Assistant dataset creation on https://open-assistant.io/ - without you this project would not have been possible.
313
+
314
+ ## Ethical Considerations and Limitations
315
+
316
+ Testing conducted to date has been in English, and has not covered, nor could it cover all scenarios.
317
+ For these reasons, as with all LLMs, the potential outputs of llama2-70b-oasst-sft-v10 cannot be predicted
318
+ in advance, and the model may in some instances produce inaccurate, biased or other objectionable responses
319
+ to user prompts. Therefore, before deploying any applications of llama2-70b-oasst-sft-v10, developers should
320
+ perform safety testing and tuning tailored to their specific applications of the model.
321
+
322
+ Please see Meta's [Responsible Use Guide](https://ai.meta.com/llama/responsible-use-guide/).
323
+
324
+ ## Note regarding inference with TGI
325
+
326
+ During evaluation we noticed that this 70B model produced extremely poor outputs when loaded it was loaded in 16 bit precision sharded in [TGI](https://github.com/huggingface/text-generation-inference).
327
+ In contrast the model could be evaluated without problem using [vLLM](https://github.com/vllm-project/vllm).
328
+ The model also worked decently well when loaded with TGI on a single GPPU nf4 quantized via [TimDettmers/bitsandbytes](https://github.com/TimDettmers/bitsandbytes).
329
+ Will will get it touch with the TGI authors to find out why sharded 16-bit inference doesn't work as expected.
330
+
331
+ ## Configuration Details
332
+
333
+ The "pretokenizer" utility used to tokenize the datamix is part of the Open-Assistant github repository and can be found here: [model/pretokenizer](https://github.com/LAION-AI/Open-Assistant/tree/main/model/pretokenizer).
334
+
335
+
336
+ ### Stage 1 Pretokenizer Configuration
337
+
338
+ Entries of the dataset with assistant replies shorter than 25 tokens were excluded from training.
339
+
340
+ ```
341
+ oasst_pre10_min25:
342
+ datasets:
343
+ - megacode2:
344
+ fraction: 0.5
345
+ val_split: 0.01
346
+ max_val_set: 1000
347
+ - orca-chat:
348
+ val_split: 0.01
349
+ max_val_set: 1000
350
+ - dolly15k_multilingual:
351
+ val_split: 0.05
352
+ max_val_set: 300
353
+ - oa_leet10k:
354
+ val_split: 0.05
355
+ max_val_set: 250
356
+ output_dir: "output/oasst_pre10_min25"
357
+ filename_prefix: "oasst_pre10"
358
+ min_assistant_tokens: 25
359
+ ```
360
+
361
+ Stage 1 dataset statistics:
362
+ ```
363
+ # Stats for output/oasst_pre10_min25_llama2
364
+
365
+ ## Stats for 'Subset of InstructionDataset (megacode2)' (466364 samples (50.0%))
366
+ -----------------
367
+ Accepted: 398223/466364 (85.4%)
368
+ Accepted tokens: 167676873
369
+ Skipped: 68141 (14.6%)
370
+ Min tokens per sample: 36
371
+ Max tokens per sample: 11810
372
+ Avg tokens per sample: 421.063
373
+ -----------------
374
+
375
+ ## Stats for 'Subset of OrcaChat (orca-chat)' (325616 samples (100.0%))
376
+ -----------------
377
+ Accepted: 325616/325616 (100.0%)
378
+ Accepted tokens: 178307574
379
+ Skipped: 0 (0.0%)
380
+ Min tokens per sample: 105
381
+ Max tokens per sample: 10408
382
+ Avg tokens per sample: 547.601
383
+ -----------------
384
+
385
+ ## Stats for 'Subset of Dolly15kMultilingual' (57020 samples (100.0%))
386
+ -----------------
387
+ Accepted: 47494/57020 (83.3%)
388
+ Accepted tokens: 13883177
389
+ Skipped: 9526 (16.7%)
390
+ Min tokens per sample: 34
391
+ Max tokens per sample: 9172
392
+ Avg tokens per sample: 292.314
393
+ -----------------
394
+
395
+ ## Stats for 'Subset of InstructionDataset (oa_leet10k)' (22236 samples (100.0%))
396
+ -----------------
397
+ Accepted: 22236/22236 (100.0%)
398
+ Accepted tokens: 15905296
399
+ Skipped: 0 (0.0%)
400
+ Min tokens per sample: 168
401
+ Max tokens per sample: 10588
402
+ Avg tokens per sample: 715.295
403
+ -----------------
404
+
405
+ ## Stats for 'total' (871236 samples (100.0%))
406
+ -----------------
407
+ Accepted: 793569/871236 (91.1%)
408
+ Accepted tokens: 375772920
409
+ Skipped: 77667 (8.9%)
410
+ Min tokens per sample: 34
411
+ Max tokens per sample: 11810
412
+ Avg tokens per sample: 473.523
413
+ -----------------
414
+ ```
415
+
416
+
417
+ ### Stage 2 Pretokenizer Configuration
418
+
419
+ ```
420
+ oasst_top1:
421
+ datasets:
422
+ - oasst_export:
423
+ lang: "bg,ca,cs,da,de,en,es,fr,hr,hu,it,nl,pl,pt,ro,ru,sl,sr,sv,uk"
424
+ input_file_path: 2023-07-23_oasst_ready.tar.gz
425
+ top_k: 1
426
+ val_split: 0.05
427
+ output_dir: "output/oasst_top1_2023-07-23"
428
+ filename_prefix: "oasst_top1"
429
+ ```
430
+
431
+ Stage 2 dataset statistics:
432
+
433
+ ```
434
+ # Stats for output/oasst_top1_2023-07-23_llama2
435
+
436
+ ## Stats for 'ListDataset' (11441 samples (100.0%))
437
+ -----------------
438
+ Accepted: 11441/11441 (100.0%)
439
+ Accepted tokens: 5315368
440
+ Skipped: 0 (0.0%)
441
+ Min tokens per sample: 20
442
+ Max tokens per sample: 5407
443
+ Avg tokens per sample: 464.58945896337735
444
+ -----------------
445
+
446
+ ## Stats for 'total' (11441 samples (100.0%))
447
+ -----------------
448
+ Accepted: 11441/11441 (100.0%)
449
+ Accepted tokens: 5315368
450
+ Skipped: 0 (0.0%)
451
+ Min tokens per sample: 20
452
+ Max tokens per sample: 5407
453
+ Avg tokens per sample: 464.58945896337735
454
+ -----------------
455
+ ```
456
+
457
+
458
+ ### Megatron Fine-Tuning Arguments for Stage 1 (Instruction Tuning):
459
+ ```
460
+ --tensor_model_parallel_size 8
461
+ --pipeline_model_parallel_size 4
462
+ --load ./checkpoints/llama2-70b-tp8-pp4
463
+ --save ./checkpoints/llama2-70b-tp8-pp4-oasst_pre10
464
+ --tensorboard_dir ./checkpoints/llama2-70b-tp8-pp4-oasst_pre10/logging
465
+ --data_path ./data/oasst_pre10_min25_llama2/oasst_sft10-train
466
+ --model_name llama2
467
+ --tokenizer_type SentencePieceTokenizer
468
+ --bf16
469
+ --global_batch_size 64
470
+ --micro_batch_size 2
471
+ --vocab_file=./llama2/Llama-2-7b/tokenizer.model
472
+ --use_rms_norm
473
+ --glu_activation swiglu
474
+ --no_tie_embed_logits
475
+ --vocab_extra_ids_list "\"<|im_start|>,<|im_end|>\""
476
+ --layernorm_epsilon 1e-5
477
+ --use_flash_attn
478
+ --no_bias_gelu_fusion
479
+ --seq_length 4096
480
+ --max_position_embeddings 4096
481
+ --log_interval 1
482
+ --save_interval 500
483
+ --eval_interval 50
484
+ --eval_iters 10
485
+ --hidden_dropout 0.0
486
+ --position_embedding_type rotary
487
+ --no_bias_dropout_fusion
488
+ --use_checkpoint_args
489
+ --train_iters 12000
490
+ --attention_dropout 0.0
491
+ --adam_beta1 0.9
492
+ --adam_beta2 0.95
493
+ --adam_eps 1e-12
494
+ --lr_decay_style cosine
495
+ --lr_warmup_iters 100
496
+ --lr 1e-5
497
+ --min_lr 1e-6
498
+ --weight_decay 0.000001
499
+ --sequence_parallel
500
+ --recompute_granularity selective
501
+ --log_timers_to_tensorboard
502
+ --rope_scaling_factor 1.0
503
+ --wandb_logger
504
+ ```
505
+
506
+ ### Megatron Fine-Tuning Arguments for Stage 2 (OASST Polishing, LIMA Dropout):
507
+ ```
508
+ --tensor_model_parallel_size 8
509
+ --pipeline_model_parallel_size 4
510
+ --load ./checkpoints/llama2-70b-tp8-pp4-oasst_pre10
511
+ --save ./checkpoints/llama2-70b-tp8-pp4-oasst_sft10
512
+ --tensorboard_dir ./checkpoints/llama2-70b-tp8-pp4-oasst_sft10/logging
513
+ --data_path ./data/oasst_top1_2023-07-23_llama2/oasst_top1-train
514
+ --model_name llama2
515
+ --tokenizer_type SentencePieceTokenizer
516
+ --bf16
517
+ --global_batch_size 64
518
+ --micro_batch_size 2
519
+ --vocab_file=./llama2/Llama-2-7b/tokenizer.model
520
+ --use_rms_norm
521
+ --glu_activation swiglu
522
+ --no_tie_embed_logits
523
+ --vocab_extra_ids_list "\"<|im_start|>,<|im_end|>\""
524
+ --layernorm_epsilon 1e-5
525
+ --use_flash_attn
526
+ --no_bias_gelu_fusion
527
+ --seq_length 4096
528
+ --max_position_embeddings 4096
529
+ --log_interval 1
530
+ --save_interval 346
531
+ --eval_interval 50
532
+ --eval_iters 10
533
+ --hidden_dropout 0.25
534
+ --lima_dropout
535
+ --position_embedding_type rotary
536
+ --no_bias_dropout_fusion
537
+ --use_checkpoint_args
538
+ --train_iters 519
539
+ --attention_dropout 0.0
540
+ --adam_beta1 0.9
541
+ --adam_beta2 0.95
542
+ --adam_eps 1e-12
543
+ --lr_decay_style cosine
544
+ --lr_warmup_iters 100
545
+ --lr 1e-5
546
+ --min_lr 1e-6
547
+ --weight_decay 0.000001
548
+ --sequence_parallel
549
+ --recompute_granularity selective
550
+ --log_timers_to_tensorboard
551
+ --rope_scaling_factor 1.0
552
+ --finetune
553
+ --wandb_logger
554
+ ```