Initial GPTQ model commit
Browse files
README.md
ADDED
@@ -0,0 +1,266 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
inference: false
|
3 |
+
license: other
|
4 |
+
---
|
5 |
+
|
6 |
+
<!-- header start -->
|
7 |
+
<div style="width: 100%;">
|
8 |
+
<img src="https://i.imgur.com/EBdldam.jpg" alt="TheBlokeAI" style="width: 100%; min-width: 400px; display: block; margin: auto;">
|
9 |
+
</div>
|
10 |
+
<div style="display: flex; justify-content: space-between; width: 100%;">
|
11 |
+
<div style="display: flex; flex-direction: column; align-items: flex-start;">
|
12 |
+
<p><a href="https://discord.gg/Jq4vkcDakD">Chat & support: my new Discord server</a></p>
|
13 |
+
</div>
|
14 |
+
<div style="display: flex; flex-direction: column; align-items: flex-end;">
|
15 |
+
<p><a href="https://www.patreon.com/TheBlokeAI">Want to contribute? TheBloke's Patreon page</a></p>
|
16 |
+
</div>
|
17 |
+
</div>
|
18 |
+
<!-- header end -->
|
19 |
+
|
20 |
+
# Georgia Tech Research Institute's Galactica 30B Evol Instruct 70K GPTQ
|
21 |
+
|
22 |
+
These files are GPTQ 4bit model files for [Georgia Tech Research Institute's Galactica 30B Evol Instruct 70K](https://huggingface.co/GeorgiaTechResearchInstitute/galactica-30b-evol-instruct-70k).
|
23 |
+
|
24 |
+
It is the result of quantising to 4bit using [GPTQ-for-LLaMa](https://github.com/qwopqwop200/GPTQ-for-LLaMa).
|
25 |
+
|
26 |
+
## Repositories available
|
27 |
+
|
28 |
+
* [4-bit GPTQ models for GPU inference](https://huggingface.co/TheBloke/galactica-30B-evol-instruct-70K-GPTQ)
|
29 |
+
* [2, 3, 4, 5, 6 and 8-bit GGML models for CPU+GPU inference](https://huggingface.co/none)
|
30 |
+
* [Unquantised fp16 model in pytorch format, for GPU inference and for further conversions](https://huggingface.co/GeorgiaTechResearchInstitute/galactica-30b-evol-instruct-70k)
|
31 |
+
|
32 |
+
## How to easily download and use this model in text-generation-webui
|
33 |
+
|
34 |
+
Please make sure you're using the latest version of text-generation-webui
|
35 |
+
|
36 |
+
1. Click the **Model tab**.
|
37 |
+
2. Under **Download custom model or LoRA**, enter `TheBloke/galactica-30B-evol-instruct-70K-GPTQ`.
|
38 |
+
3. Click **Download**.
|
39 |
+
4. The model will start downloading. Once it's finished it will say "Done"
|
40 |
+
5. In the top left, click the refresh icon next to **Model**.
|
41 |
+
6. In the **Model** dropdown, choose the model you just downloaded: `galactica-30B-evol-instruct-70K-GPTQ`
|
42 |
+
7. The model will automatically load, and is now ready for use!
|
43 |
+
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.
|
44 |
+
* Note that you do not need to and should not set manual GPTQ parameters any more. These are set automatically from the file `quantize_config.json`.
|
45 |
+
9. Once you're ready, click the **Text Generation tab** and enter a prompt to get started!
|
46 |
+
|
47 |
+
## How to use this GPTQ model from Python code
|
48 |
+
|
49 |
+
First make sure you have [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ) installed:
|
50 |
+
|
51 |
+
`pip install auto-gptq`
|
52 |
+
|
53 |
+
Then try the following example code:
|
54 |
+
|
55 |
+
```python
|
56 |
+
from transformers import AutoTokenizer, pipeline, logging
|
57 |
+
from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
|
58 |
+
import argparse
|
59 |
+
|
60 |
+
model_name_or_path = "TheBloke/galactica-30B-evol-instruct-70K-GPTQ"
|
61 |
+
model_basename = "gptq_model-4bit--1g"
|
62 |
+
|
63 |
+
use_triton = False
|
64 |
+
|
65 |
+
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
|
66 |
+
|
67 |
+
model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
|
68 |
+
model_basename=model_basename,
|
69 |
+
use_safetensors=True,
|
70 |
+
trust_remote_code=False,
|
71 |
+
device="cuda:0",
|
72 |
+
use_triton=use_triton,
|
73 |
+
quantize_config=None)
|
74 |
+
|
75 |
+
# Note: check the prompt template is correct for this model.
|
76 |
+
prompt = "Tell me about AI"
|
77 |
+
prompt_template=f'''### Human: {prompt}
|
78 |
+
### Assistant:'''
|
79 |
+
|
80 |
+
print("\n\n*** Generate:")
|
81 |
+
|
82 |
+
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
|
83 |
+
output = model.generate(inputs=input_ids, temperature=0.7, max_new_tokens=512)
|
84 |
+
print(tokenizer.decode(output[0]))
|
85 |
+
|
86 |
+
# Inference can also be done using transformers' pipeline
|
87 |
+
|
88 |
+
# Prevent printing spurious transformers error when using pipeline with AutoGPTQ
|
89 |
+
logging.set_verbosity(logging.CRITICAL)
|
90 |
+
|
91 |
+
print("*** Pipeline:")
|
92 |
+
pipe = pipeline(
|
93 |
+
"text-generation",
|
94 |
+
model=model,
|
95 |
+
tokenizer=tokenizer,
|
96 |
+
max_new_tokens=512,
|
97 |
+
temperature=0.7,
|
98 |
+
top_p=0.95,
|
99 |
+
repetition_penalty=1.15
|
100 |
+
)
|
101 |
+
|
102 |
+
print(pipe(prompt_template)[0]['generated_text'])
|
103 |
+
```
|
104 |
+
|
105 |
+
## Provided files
|
106 |
+
|
107 |
+
**gptq_model-4bit--1g.safetensors**
|
108 |
+
|
109 |
+
This will work with AutoGPTQ and CUDA versions of GPTQ-for-LLaMa. There are reports of issues with Triton mode of recent GPTQ-for-LLaMa. If you have issues, please use AutoGPTQ instead.
|
110 |
+
|
111 |
+
It was created without group_size to lower VRAM requirements, and with --act-order (desc_act) to boost inference accuracy as much as possible.
|
112 |
+
|
113 |
+
* `gptq_model-4bit--1g.safetensors`
|
114 |
+
* Works with AutoGPTQ in CUDA or Triton modes.
|
115 |
+
* Works with GPTQ-for-LLaMa in CUDA mode. May have issues with GPTQ-for-LLaMa Triton mode.
|
116 |
+
* Works with text-generation-webui, including one-click-installers.
|
117 |
+
* Parameters: Groupsize = -1. Act Order / desc_act = True.
|
118 |
+
|
119 |
+
<!-- footer start -->
|
120 |
+
## Discord
|
121 |
+
|
122 |
+
For further support, and discussions on these models and AI in general, join us at:
|
123 |
+
|
124 |
+
[TheBloke AI's Discord server](https://discord.gg/Jq4vkcDakD)
|
125 |
+
|
126 |
+
## Thanks, and how to contribute.
|
127 |
+
|
128 |
+
Thanks to the [chirper.ai](https://chirper.ai) team!
|
129 |
+
|
130 |
+
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.
|
131 |
+
|
132 |
+
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.
|
133 |
+
|
134 |
+
Donaters will get priority support on any and all AI/LLM/model questions and requests, access to a private Discord room, plus other benefits.
|
135 |
+
|
136 |
+
* Patreon: https://patreon.com/TheBlokeAI
|
137 |
+
* Ko-Fi: https://ko-fi.com/TheBlokeAI
|
138 |
+
|
139 |
+
**Special thanks to**: Luke from CarbonQuill, Aemon Algiz, Dmitriy Samsonov.
|
140 |
+
|
141 |
+
**Patreon special mentions**: vamX, K, Jonathan Leane, Lone Striker, Sean Connelly, Chris McCloskey, WelcomeToTheClub, Nikolai Manek, John Detwiler, Kalila, David Flickinger, Fen Risland, subjectnull, Johann-Peter Hartmann, Talal Aujan, John Villwock, senxiiz, Khalefa Al-Ahmad, Kevin Schuppel, Alps Aficionado, Derek Yates, Mano Prime, Nathan LeClaire, biorpg, trip7s trip, Asp the Wyvern, chris gileta, Iucharbius , Artur Olbinski, Ai Maven, Joseph William Delisle, Luke Pendergrass, Illia Dulskyi, Eugene Pentland, Ajan Kanaga, Willem Michiel, Space Cruiser, Pyrater, Preetika Verma, Junyu Yang, Oscar Rangel, Spiking Neurons AB, Pierre Kircher, webtim, Cory Kujawski, terasurfer , Trenton Dambrowitz, Gabriel Puliatti, Imad Khwaja, Luke.
|
142 |
+
|
143 |
+
Thank you to all my generous patrons and donaters!
|
144 |
+
|
145 |
+
<!-- footer end -->
|
146 |
+
|
147 |
+
# Original model card: Georgia Tech Research Institute's Galactica 30B Evol Instruct 70K
|
148 |
+
|
149 |
+
|
150 |
+
# GALACTICA 30B Evol-Instruct
|
151 |
+
|
152 |
+
GALACTICA 30B fine-tuned on the Evol-Instruct 70k dataset.
|
153 |
+
|
154 |
+
The model card from the original Galactica repo can be found [here](https://github.com/paperswithcode/galai/blob/main/docs/model_card.md), and the original paper [here](https://galactica.org/paper.pdf).
|
155 |
+
|
156 |
+
The HF dataset for Evol-Instruct-70k can be found [here](https://huggingface.co/datasets/WizardLM/WizardLM_evol_instruct_70k), and the original GitHub repo for WizardLM is [here](https://github.com/nlpxucan/WizardLM).
|
157 |
+
|
158 |
+
## Model Details
|
159 |
+
|
160 |
+
The GALACTICA models are trained on a large-scale scientific corpus and are designed to perform scientific tasks.
|
161 |
+
Evol-instruct-70k is a dataset of evolved instruction-response pairs generated via the Evol-Instruct framework using gpt-3.5-turbo.
|
162 |
+
|
163 |
+
## Model Use
|
164 |
+
|
165 |
+
The GALACTICA model card specifies that the primary indended users of the GALACTICA models are researchers studying language models applied to the scientific domain, and it cautions against production use of GALACTICA without safeguards due to the potential for the model to produce inaccurate information.
|
166 |
+
The original GALACTICA models are available under a non-commercial CC BY-NC 4.0 license, and models based on the Evol-Instruct-70k dataset are additionally subject to the [OpenAI Terms of Service](https://openai.com/policies/terms-of-use).
|
167 |
+
|
168 |
+
<details>
|
169 |
+
<summary> Example Outputs </summary>
|
170 |
+
|
171 |
+
*__Full Prompt:__*
|
172 |
+
```
|
173 |
+
### Instruction:
|
174 |
+
Write out and explain Maxwell's equations using markdown and latex syntax. Highlight the key implication of each equation.
|
175 |
+
|
176 |
+
### Response:
|
177 |
+
```
|
178 |
+
|
179 |
+
*__Response:__*
|
180 |
+
|
181 |
+
Maxwell's equations are a set of four equations that describe the behavior of electric and magnetic fields. Here are the equations in both markdown and latex syntax:
|
182 |
+
|
183 |
+
- **Gauss's Law for Electric Fields:**
|
184 |
+
$$\nabla \cdot \mathbf{E} = \frac{\rho}{\epsilon_0}$$
|
185 |
+
This equation states that the divergence of the electric field E is proportional to the charge density ρ divided by the vacuum permittivity ε0. This means that if there is a non-zero charge density, there must be a non-zero electric field surrounding it.
|
186 |
+
|
187 |
+
- **Gauss's Law for Magnetic Fields:**
|
188 |
+
$$\nabla \cdot \mathbf{B} = 0$$
|
189 |
+
This equation states that the divergence of the magnetic field B is always zero. This means that magnetic monopoles do not exist, and magnetic fields are always created by the motion of electric charges.
|
190 |
+
|
191 |
+
- **Maxwell-Faraday Equation:**
|
192 |
+
$$\nabla \times \mathbf{E} = -\frac{\partial \mathbf{B}}{\partial t}$$
|
193 |
+
This equation states that the curl of the electric field is equal to the negative of the time derivative of the magnetic field. This means that changing magnetic fields can create electric fields, and vice versa.
|
194 |
+
|
195 |
+
- **Ampere's Law with Maxwell's Addition:**
|
196 |
+
$$\nabla \times \mathbf{B} = \mu_0 \left( \mathbf{J} + \epsilon_0 \frac{\partial \mathbf{E}}{\partial t} \right)$$
|
197 |
+
This equation states that the curl of the magnetic field is equal to the product of the vacuum permeability μ0 and the sum of the electric current density J and the time derivative of the electric field. This means that changing electric fields can create magnetic fields, and that electric currents can also create magnetic fields.
|
198 |
+
|
199 |
+
**Implications**
|
200 |
+
- Gauss's Laws imply that electric charges must be conserved, since the net charge in a closed system must always be zero.
|
201 |
+
- The Maxwell-Faraday Equation implies that electromagnetic waves can travel through space, since changing magnetic fields can create electric fields, which can create changing magnetic fields, and so on. This is the basis for radio waves, microwaves, and other forms of electromagnetic radiation.
|
202 |
+
- Ampere's Law with Maxwell's Addition implies that electric currents can create magnetic fields, which can create electric currents, and so on. This is the basis for electrical generators and transformers.
|
203 |
+
|
204 |
+
Overall, Maxwell's equations are a fundamental framework for understanding the behavior of electric and magnetic fields, and have important applications in fields such as electromagnetism, radio technology, and electrical engineering.
|
205 |
+
|
206 |
+
</details>
|
207 |
+
|
208 |
+
## Training Data
|
209 |
+
|
210 |
+
This model was trained by fine-tuning pre-trained GALACTICA 30B on the Evol-Instruct-70k dataset. GALACTICA models were trained on 106 billion tokens of open-access scientific text and data, including papers, textbooks, scientific websites, encyclopedias, and more.
|
211 |
+
Fine-tuning the base GALACTICA models on the 70k instruction-response pairs in the Evol-Instruct-70k dataset allows users to query the resulting model in an instruct-response fashion.
|
212 |
+
|
213 |
+
## How to Use
|
214 |
+
|
215 |
+
The GALACTICA Evol-Instruct-70K weights are made available for use with the `transformers` library.
|
216 |
+
|
217 |
+
<details>
|
218 |
+
<summary> Click to expand </summary>
|
219 |
+
|
220 |
+
```python
|
221 |
+
# pip install accelerate
|
222 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM
|
223 |
+
|
224 |
+
tokenizer = AutoTokenizer.from_pretrained("GeorgiaTechResearchInstitute/galactica-30b-evol-instruct-70k")
|
225 |
+
model = AutoModelForCausalLM.from_pretrained("GeorgiaTechResearchInstitute/galactica-30b-evol-instruct-70k", device_map="auto", torch_dtype=torch.bfloat16)
|
226 |
+
|
227 |
+
# the evol-instruct models were fine-tuned with the same hidden prompts as the Alpaca project
|
228 |
+
no_input_prompt_template = ("### Instruction:\n{instruction}\n\n### Response:")
|
229 |
+
prompt = "Write out Maxwell's equations and explain the meaning of each one."
|
230 |
+
formatted_prompt = no_input_prompt_template.format_map({'instruction': prompt})
|
231 |
+
|
232 |
+
tokenized_prompt = tokenizer(formatted_prompt, return_tensors="pt").input_ids.to(model.device)
|
233 |
+
out_tokens = model.generate(tokenized_prompt)
|
234 |
+
|
235 |
+
print(tokenizer.batch_decode(out_tokens, skip_special_tokens=False, clean_up_tokenization_spaces=False))
|
236 |
+
```
|
237 |
+
</details>
|
238 |
+
|
239 |
+
## Training Resources
|
240 |
+
|
241 |
+
GALACTICA 30B Evol-Instruct was fine-tuned in 196 hours using 16 A100 80GB GPUs, 16-bit mixed-precision, an effective batch-size of 128, and with a maximum context window of 1024 tokens. This model was trained using DeepSpeed ZeRO-3 optimizations.
|
242 |
+
|
243 |
+
## Performance and Limitations
|
244 |
+
|
245 |
+
Qualitative evaluation suggests that the evol-instruct-70k fine-tuned Galactica models are signficantly more controllable and attentive to user prompts than the Alpaca fine-tuned GALPACA models.
|
246 |
+
|
247 |
+
## Works Cited
|
248 |
+
|
249 |
+
```bibtex
|
250 |
+
@inproceedings{GALACTICA,
|
251 |
+
title={GALACTICA: A Large Language Model for Science},
|
252 |
+
author={Ross Taylor and Marcin Kardas and Guillem Cucurull and Thomas Scialom and Anthony Hartshorn and Elvis Saravia and Andrew Poulton and Viktor Kerkez and Robert Stojnic},
|
253 |
+
year={2022}
|
254 |
+
}
|
255 |
+
```
|
256 |
+
|
257 |
+
```bibtex
|
258 |
+
@misc{xu2023wizardlm,
|
259 |
+
title={WizardLM: Empowering Large Language Models to Follow Complex Instructions},
|
260 |
+
author={Can Xu and Qingfeng Sun and Kai Zheng and Xiubo Geng and Pu Zhao and Jiazhan Feng and Chongyang Tao and Daxin Jiang},
|
261 |
+
year={2023},
|
262 |
+
eprint={2304.12244},
|
263 |
+
archivePrefix={arXiv},
|
264 |
+
primaryClass={cs.CL}
|
265 |
+
}
|
266 |
+
```
|