fbaldassarri commited on
Commit
1976a67
·
verified ·
1 Parent(s): 7f15577

Initial Upload

Browse files
README.md CHANGED
@@ -1,3 +1,84 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ - fr
5
+ tags:
6
+ - pytorch
7
+ - causal-lm
8
+ - mistral
9
+ - autoround
10
+ - auto-round
11
+ - intel-autoround
12
+ - gptq
13
+ - woq
14
+ - intel
15
+ - pytorch
16
+ - mistralai
17
+ license: apache-2.0
18
+ model_name: Mistral 7B v0.3 Instruct
19
+ base_model:
20
+ - mistralai/Mistral-7B-v0.3-Instruct
21
+ inference: false
22
+ model_creator: mistralai
23
+ pipeline_tag: text-generation
24
+ prompt_template: '{prompt}
25
+ '
26
+ quantized_by: fbaldassarri
27
+ ---
28
+
29
+ ## Model Information
30
+
31
+ Quantized version of [mistralai/Mistral-7B-v0.3-Instruct](https://huggingface.co/mistralai/Mistral-7B-v0.3-Instruct) using torch.float32 for quantization tuning.
32
+ - 4 bits (INT4)
33
+ - group size = 128
34
+ - Symmetrical Quantization
35
+ - Method WoQ (AutoRound format)
36
+
37
+ Fast and low memory, 2-3X speedup (slight accuracy drop at W4G128)
38
+
39
+ Quantization framework: [Intel AutoRound](https://github.com/intel/auto-round) v0.4.3
40
+
41
+ Note: this INT4 version of Mistral-7B-v0.3-Instruct has been quantized to run inference through CPU.
42
+
43
+ ## Replication Recipe
44
+
45
+ ### Step 1 Install Requirements
46
+
47
+ I suggest to install requirements into a dedicated python-virtualenv or a conda enviroment.
48
+
49
+ ```
50
+ wget https://github.com/intel/auto-round/archive/refs/tags/v0.4.3.tar.gz
51
+ tar -xvzf v0.4.3.tar.gz
52
+ cd auto-round-0.4.3
53
+ pip install -r requirements-cpu.txt --upgrade
54
+ ```
55
+
56
+ ### Step 2 Build Intel AutoRound wheel from sources
57
+
58
+ ```
59
+ pip install -vvv --no-build-isolation -e .[cpu]
60
+ ```
61
+
62
+ ### Step 3 Script for Quantization
63
+
64
+ ```
65
+ from transformers import AutoModelForCausalLM, AutoTokenizer
66
+ model_name = "mistralai/Mistral-7B-v0.3-Instruct"
67
+ model = AutoModelForCausalLM.from_pretrained(model_name)
68
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
69
+ from auto_round import AutoRound
70
+ bits, group_size, sym, device, amp = 4, 128, True, 'cpu', False
71
+ autoround = AutoRound(model, tokenizer, nsamples=128, iters=200, seqlen=512, batch_size=4, bits=bits, group_size=group_size, sym=sym, device=device, amp=amp)
72
+ autoround.quantize()
73
+ output_dir = "./AutoRound/mistralai_Mistral-7B-v0.3-Instruct-autoround-int4-gs128-sym"
74
+ autoround.save_quantized(output_dir, format='auto_round', inplace=True)
75
+ ```
76
+
77
+ ## License
78
+
79
+ [Apache 2.0 License](https://choosealicense.com/licenses/apache-2.0/)
80
+
81
+ ## Disclaimer
82
+
83
+ This quantized model comes with no warranty. It has been developed only for research purposes.
84
+
config.json ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "mistralai/Mistral-7B-Instruct-v0.3",
3
+ "architectures": [
4
+ "MistralForCausalLM"
5
+ ],
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 1,
8
+ "eos_token_id": 2,
9
+ "head_dim": 128,
10
+ "hidden_act": "silu",
11
+ "hidden_size": 4096,
12
+ "initializer_range": 0.02,
13
+ "intermediate_size": 14336,
14
+ "max_position_embeddings": 32768,
15
+ "model_type": "mistral",
16
+ "num_attention_heads": 32,
17
+ "num_hidden_layers": 32,
18
+ "num_key_value_heads": 8,
19
+ "quantization_config": {
20
+ "amp": false,
21
+ "autoround_version": "0.4.3",
22
+ "backend": "auto_round:gptq:exllamav2",
23
+ "batch_size": 4,
24
+ "bits": 4,
25
+ "data_type": "int",
26
+ "dataset": "NeelNanda/pile-10k",
27
+ "enable_minmax_tuning": true,
28
+ "enable_norm_bias_tuning": false,
29
+ "enable_quanted_input": true,
30
+ "gradient_accumulate_steps": 1,
31
+ "group_size": 128,
32
+ "iters": 200,
33
+ "low_gpu_mem_usage": false,
34
+ "lr": 0.005,
35
+ "minmax_lr": 0.005,
36
+ "nsamples": 128,
37
+ "quant_method": "intel/auto-round",
38
+ "scale_dtype": "torch.float16",
39
+ "seqlen": 512,
40
+ "sym": true,
41
+ "to_quant_block_names": null
42
+ },
43
+ "rms_norm_eps": 1e-05,
44
+ "rope_theta": 1000000.0,
45
+ "sliding_window": null,
46
+ "tie_word_embeddings": false,
47
+ "torch_dtype": "float32",
48
+ "transformers_version": "4.47.1",
49
+ "use_cache": true,
50
+ "vocab_size": 32768
51
+ }
generation_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 1,
4
+ "eos_token_id": 2,
5
+ "transformers_version": "4.47.1"
6
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:77ab7ef744686fd65d19008a525d274a5f29fd31e5d23c6f466e24f4f582aa14
3
+ size 4705872016
quantization_config.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bits": 4,
3
+ "group_size": 128,
4
+ "sym": true,
5
+ "data_type": "int",
6
+ "enable_quanted_input": true,
7
+ "enable_minmax_tuning": true,
8
+ "seqlen": 512,
9
+ "batch_size": 4,
10
+ "scale_dtype": "torch.float16",
11
+ "lr": 0.005,
12
+ "minmax_lr": 0.005,
13
+ "gradient_accumulate_steps": 1,
14
+ "iters": 200,
15
+ "amp": false,
16
+ "nsamples": 128,
17
+ "low_gpu_mem_usage": false,
18
+ "to_quant_block_names": null,
19
+ "enable_norm_bias_tuning": false,
20
+ "dataset": "NeelNanda/pile-10k",
21
+ "autoround_version": "0.4.3",
22
+ "quant_method": "intel/auto-round",
23
+ "backend": "auto_round:gptq:exllamav2"
24
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "</s>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "unk_token": {
17
+ "content": "<unk>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ }
23
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:37f00374dea48658ee8f5d0f21895b9bc55cb0103939607c8185bfd1c6ca1f89
3
+ size 587404
tokenizer_config.json ADDED
The diff for this file is too large to render. See raw diff