Views
No views yet

<|prompter|>{prompt}<|endoftext|><|assistant|>| Branch | Bits | Group Size | Act Order (desc_act) | File Size | ExLlama Compatible? | Made With | Description |
|---|---|---|---|---|---|---|---|
| main | 4 | None | True | 16.94 GB | True | GPTQ-for-LLaMa | Most compatible option. Good inference speed in AutoGPTQ and GPTQ-for-LLaMa. Lower inference quality than other options. |
| gptq-4bit-32g-actorder_True | 4 | 32 | True | 19.44 GB | True | AutoGPTQ | 4-bit, with Act Order and group size. 32g gives highest possible inference quality, with maximum VRAM usage. Poor AutoGPTQ CUDA speed. |
| gptq-4bit-64g-actorder_True | 4 | 64 | True | 18.18 GB | True | AutoGPTQ | 4-bit, with Act Order and group size. 64g uses less VRAM, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed. |
| gptq-4bit-128g-actorder_True | 4 | 128 | True | 17.55 GB | True | AutoGPTQ | 4-bit, with Act Order and group size. 128g uses even less VRAM, but with slightly lower accuracy. Poor AutoGPTQ CUDA speed. |
| gptq-8bit--1g-actorder_True | 8 | None | True | 32.99 GB | False | AutoGPTQ | 8-bit, with Act Order. No group size, to lower VRAM requirements and to improve AutoGPTQ speed. |
| gptq-8bit-128g-actorder_False | 8 | 128 | False | 33.73 GB | False | AutoGPTQ | 8-bit, with group size 128g for higher inference quality and without Act Order to improve AutoGPTQ speed. |
| gptq-3bit--1g-actorder_True | 3 | None | True | 12.92 GB | False | AutoGPTQ | 3-bit, with Act Order and no group size. Lowest possible VRAM requirements. May be lower quality than 3-bit 128g. |
| gptq-3bit-128g-actorder_False | 3 | 128 | False | 13.51 GB | False | AutoGPTQ | 3-bit, with group size 128g but no act-order. Slightly higher VRAM requirements than 3-bit None. |
:branch to the end of the download name, eg TheBloke/OpenAssistant-SFT-7-Llama-30B-GPTQ:gptq-4bit-32g-actorder_Truegit clone --branch gptq-4bit-32g-actorder_True https://huggingface.co/TheBloke/OpenAssistant-SFT-7-Llama-30B-GPTQ`revision parameter; see below.TheBloke/OpenAssistant-SFT-7-Llama-30B-GPTQ.TheBloke/OpenAssistant-SFT-7-Llama-30B-GPTQ:gptq-4bit-32g-actorder_TrueOpenAssistant-SFT-7-Llama-30B-GPTQquantize_config.json.GITHUB_ACTIONS=true pip install auto-gptq1from transformers import AutoTokenizer, pipeline, logging
2from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
3
4model_name_or_path = "TheBloke/OpenAssistant-SFT-7-Llama-30B-GPTQ"
5model_basename = "OpenAssistant-SFT-7-Llama-30B-GPTQ-4bit--1g.act.order"
6
7use_triton = False
8
9tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
10
11model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
12 model_basename=model_basename
13 use_safetensors=True,
14 trust_remote_code=False,
15 device="cuda:0",
16 use_triton=use_triton,
17 quantize_config=None)
18
19"""
20To download from a specific branch, use the revision parameter, as in this example:
21
22model = AutoGPTQForCausalLM.from_quantized(model_name_or_path,
23 revision="gptq-4bit-32g-actorder_True",
24 model_basename=model_basename,
25 use_safetensors=True,
26 trust_remote_code=False,
27 device="cuda:0",
28 quantize_config=None)
29"""
30
31prompt = "Tell me about AI"
32prompt_template=f'''<|prompter|>{prompt}<|endoftext|><|assistant|>
33'''
34
35print("\n\n*** Generate:")
36
37input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
38output = model.generate(inputs=input_ids, temperature=0.7, max_new_tokens=512)
39print(tokenizer.decode(output[0]))
40
41# Inference can also be done using transformers' pipeline
42
43# Prevent printing spurious transformers error when using pipeline with AutoGPTQ
44logging.set_verbosity(logging.CRITICAL)
45
46print("*** Pipeline:")
47pipe = pipeline(
48 "text-generation",
49 model=model,
50 tokenizer=tokenizer,
51 max_new_tokens=512,
52 temperature=0.7,
53 top_p=0.95,
54 repetition_penalty=1.15
55)
56
57print(pipe(prompt_template)[0]['generated_text'])xor_codec.py script which enables this processoasst-sft-7-llama-30b model. The same process can be applied to other models in future, but the checksums will be different..llama subdirectory here. If you cannot obtain the original LLaMA, see the note in italic below for a possible alternative.f856e9d99c30855d6ead4d00cc3a5573 consolidated.00.pth
d9dbfbea61309dc1e087f5081e98331a consolidated.01.pth
2b2bed47912ceb828c0a37aac4b99073 consolidated.02.pth
ea0405cdb5bc638fee12de614f729ebc consolidated.03.pth
4babdbd05b8923226a9e9622492054b6 params.jsonpython3.10 -m venv xor_venv
source xor_venv/bin/activategit clone https://github.com/huggingface/transformers.git
cd transformers
git checkout d04ec99bec8a0b432fc03ed60cea9a1a20ebaf3c
pip install .pip install torch==1.13.1 accelerate==0.18.0 sentencepiece==0.1.98 protobuf==3.20.1pip freeze output:accelerate==0.18.0
certifi==2022.12.7
charset-normalizer==3.1.0
filelock==3.12.0
huggingface-hub==0.13.4
idna==3.4
numpy==1.24.2
nvidia-cublas-cu11==11.10.3.66
nvidia-cuda-nvrtc-cu11==11.7.99
nvidia-cuda-runtime-cu11==11.7.99
nvidia-cudnn-cu11==8.5.0.96
packaging==23.1
protobuf==3.20.1
psutil==5.9.5
PyYAML==6.0
regex==2023.3.23
requests==2.28.2
sentencepiece==0.1.98
tokenizers==0.13.3
torch==1.13.1
tqdm==4.65.0
transformers @ file:///mnt/data/koepf/transformers
typing_extensions==4.5.0
urllib3==1.26.15transformers repo root, run HF LLaMA conversion script:python src/transformers/models/llama/convert_llama_weights_to_hf.py --input_dir <input_path_llama_base> --output_dir <output_path_llama30b_hf> --model_size 30Bfind . -type f -exec md5sum "{}" + in the conversion target directory (output_dir). This should produce exactly the following checksums if your files are correct:462a2d07f65776f27c0facfa2affb9f9 ./pytorch_model-00007-of-00007.bin
e1dc8c48a65279fb1fbccff14562e6a3 ./pytorch_model-00003-of-00007.bin
9cffb1aeba11b16da84b56abb773d099 ./pytorch_model-00001-of-00007.bin
aee09e21813368c49baaece120125ae3 ./generation_config.json
92754d6c6f291819ffc3dfcaf470f541 ./pytorch_model-00005-of-00007.bin
3eddc6fc02c0172d38727e5826181adb ./pytorch_model-00004-of-00007.bin
eeec4125e9c7560836b4873b6f8e3025 ./tokenizer.model
99762d59efa6b96599e863893cf2da02 ./pytorch_model-00006-of-00007.bin
598538f18fed1877b41f77de034c0c8a ./config.json
fdb311c39b8659a5d5c1991339bafc09 ./tokenizer.json
fecfda4fba7bfd911e187a85db5fa2ef ./pytorch_model.bin.index.json
edd1a5897748864768b1fab645b31491 ./tokenizer_config.json
6b2e0a735969660e720c27061ef3f3d3 ./special_tokens_map.json
5cfcb78b908ffa02e681cce69dbe4303 ./pytorch_model-00002-of-00007.binpython xor_codec.py oasst-sft-7-llama-30b/ oasst-sft-7-llama-30b-xor/ llama30b_hf/Exception when processing 'added_tokens.json'find . -type f -exec md5sum "{}" + in the output directory (here oasst-sft-6-llama-30b). You should get a file with exactly these checksums:8ae4537c64a1ef202d1d82eb0d356703 ./pytorch_model-00007-of-00007.bin
d84f99d23369e159e50cb0597b6c9673 ./pytorch_model-00003-of-00007.bin
f7de50a725d678eb65cc3dced727842f ./pytorch_model-00001-of-00007.bin
27b0dc092f99aa2efaf467b2d8026c3f ./added_tokens.json
aee09e21813368c49baaece120125ae3 ./generation_config.json
31a2b04b139f4af043ad04478f1497f5 ./pytorch_model-00005-of-00007.bin
a16a2dfacbde77a1659a7c9df7966d0a ./pytorch_model-00004-of-00007.bin
eeec4125e9c7560836b4873b6f8e3025 ./tokenizer.model
baa778a8679d47b085446faf97b72758 ./pytorch_model-00006-of-00007.bin
b2d64f2198ab7b53e3b8d12fbcadeb3c ./config.json
deb33dd4ffc3d2baddcce275a00b7c1b ./tokenizer.json
76d47e4f51a8df1d703c6f594981fcab ./pytorch_model.bin.index.json
ed59bfee4e87b9193fea5897d610ab24 ./tokenizer_config.json
704373f0c0d62be75e5f7d41d39a7e57 ./special_tokens_map.json
e836168cdbbb74db51d04f25ed6408ce ./pytorch_model-00002-of-00007.binllama-30b-sft-7:
dtype: fp16
log_dir: "llama_log_30b"
learning_rate: 1e-5
model_name: /home/ubuntu/Open-Assistant/model/model_training/.saved/llama-30b-super-pretrain/checkpoint-3500
#model_name: OpenAssistant/llama-30b-super-pretrain
output_dir: llama_model_30b
deepspeed_config: configs/zero3_config_sft.json
weight_decay: 0.0
residual_dropout: 0.0
max_length: 2048
use_flash_attention: true
warmup_steps: 20
gradient_checkpointing: true
gradient_accumulation_steps: 12
per_device_train_batch_size: 2
per_device_eval_batch_size: 3
eval_steps: 101
save_steps: 485
num_train_epochs: 4
save_total_limit: 3
use_custom_sampler: true
sort_by_length: false
#save_strategy: steps
save_strategy: epoch
datasets:
- oasst_export:
lang: "bg,ca,cs,da,de,en,es,fr,hr,hu,it,nl,pl,pt,ro,ru,sl,sr,sv,uk"
input_file_path: 2023-04-12_oasst_release_ready_synth.jsonl.gz
val_split: 0.05
- vicuna:
val_split: 0.05
max_val_set: 800
fraction: 1.0
- dolly15k:
val_split: 0.05
max_val_set: 300
- grade_school_math_instructions:
val_split: 0.05
- code_alpaca:
val_split: 0.05
max_val_set: 250