openvino-ci commited on
Commit
3dbf15a
1 Parent(s): 73525f9

Upload folder using huggingface_hub

Browse files
README.md ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ license_link: https://choosealicense.com/licenses/apache-2.0/
4
+ ---
5
+ # open_llama_3b_v2-int4-ov
6
+ * Model creator: [Openlm-research](https://huggingface.co/openlm-research)
7
+ * Original model: [open_llama_3b_v2](https://huggingface.co/openlm-research/open_llama_3b_v2)
8
+
9
+ ## Description
10
+ This is [open_llama_3b_v2](https://huggingface.co/openlm-research/open_llama_3b_v2) model converted to the [OpenVINO™ IR](https://docs.openvino.ai/2024/documentation/openvino-ir-format.html) (Intermediate Representation) format with weights compressed to INT4 by [NNCF](https://github.com/openvinotoolkit/nncf).
11
+
12
+ ## Quantization Parameters
13
+
14
+ Weight compression was performed using `nncf.compress_weights` with the following parameters:
15
+
16
+ * mode: **int4_sym**
17
+ * ratio: **1.0**
18
+ * group_size: **64**
19
+ * all_layers: **True**
20
+
21
+ For more information on quantization, check the [OpenVINO model optimization guide](https://docs.openvino.ai/2024/openvino-workflow/model-optimization-guide/weight-compression.html).
22
+
23
+
24
+ ## Compatibility
25
+
26
+ The provided OpenVINO™ IR model is compatible with:
27
+
28
+ * OpenVINO version 2024.1.0 and higher
29
+ * Optimum Intel 1.16.0 and higher
30
+
31
+ ## Running Model Inference
32
+
33
+ 1. Install packages required for using [Optimum Intel](https://huggingface.co/docs/optimum/intel/index) integration with the OpenVINO backend:
34
+
35
+ ```
36
+ pip install optimum[openvino]
37
+ ```
38
+
39
+ 2. Run model inference:
40
+
41
+ ```
42
+ from transformers import AutoTokenizer
43
+ from optimum.intel.openvino import OVModelForCausalLM
44
+
45
+ model_id = "OpenVINO/open_llama_3b_v2-int4-ov"
46
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
47
+ model = OVModelForCausalLM.from_pretrained(model_id)
48
+
49
+ inputs = tokenizer("What is OpenVINO?", return_tensors="pt")
50
+
51
+ outputs = model.generate(**inputs, max_length=200)
52
+ text = tokenizer.batch_decode(outputs)[0]
53
+ print(text)
54
+ ```
55
+
56
+ For more examples and possible optimizations, refer to the [OpenVINO Large Language Model Inference Guide](https://docs.openvino.ai/2024/learn-openvino/llm_inference_guide.html).
57
+
58
+ ## Limitations
59
+
60
+ Check the original model card for [original model card](https://huggingface.co/openlm-research/open_llama_3b_v2) for limitations.
61
+
62
+ ## Legal information
63
+
64
+ The original model is distributed under [apache-2.0](https://choosealicense.com/licenses/apache-2.0/) license. More details can be found in [original model card](https://huggingface.co/openlm-research/open_llama_3b_v2).
65
+
66
+ ## Disclaimer
67
+
68
+ Intel is committed to respecting human rights and avoiding causing or contributing to adverse impacts on human rights. See [Intel’s Global Human Rights Principles](https://www.intel.com/content/dam/www/central-libraries/us/en/documents/policy-human-rights.pdf). Intel’s products and software are intended only to be used in applications that do not cause or contribute to adverse impacts on human rights.
config.json ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "openlm-research/open_llama_3b_v2",
3
+ "architectures": [
4
+ "LlamaForCausalLM"
5
+ ],
6
+ "attention_bias": false,
7
+ "attention_dropout": 0.0,
8
+ "bos_token_id": 1,
9
+ "eos_token_id": 2,
10
+ "hidden_act": "silu",
11
+ "hidden_size": 3200,
12
+ "initializer_range": 0.02,
13
+ "intermediate_size": 8640,
14
+ "max_position_embeddings": 2048,
15
+ "mlp_bias": false,
16
+ "model_type": "llama",
17
+ "num_attention_heads": 32,
18
+ "num_hidden_layers": 26,
19
+ "num_key_value_heads": 32,
20
+ "pad_token_id": 0,
21
+ "pretraining_tp": 1,
22
+ "rms_norm_eps": 1e-06,
23
+ "rope_scaling": null,
24
+ "rope_theta": 10000.0,
25
+ "tie_word_embeddings": false,
26
+ "transformers_version": "4.42.4",
27
+ "use_cache": true,
28
+ "vocab_size": 32000
29
+ }
generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 1,
4
+ "eos_token_id": 2,
5
+ "pad_token_id": 0,
6
+ "transformers_version": "4.42.4"
7
+ }
openvino_detokenizer.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9200b58939b5f15eda267b46cd367416c6ffec891653b50930b2cb0944c0f112
3
+ size 511574
openvino_detokenizer.xml ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="detokenizer" version="11">
3
+ <layers>
4
+ <layer id="0" name="Parameter_143668" type="Parameter" version="opset1">
5
+ <data shape="?,?" element_type="i64" />
6
+ <output>
7
+ <port id="0" precision="I64" names="Parameter_143668">
8
+ <dim>-1</dim>
9
+ <dim>-1</dim>
10
+ </port>
11
+ </output>
12
+ </layer>
13
+ <layer id="1" name="Constant_143648" type="Const" version="opset1">
14
+ <data element_type="u8" shape="511574" offset="0" size="511574" />
15
+ <output>
16
+ <port id="0" precision="U8">
17
+ <dim>511574</dim>
18
+ </port>
19
+ </output>
20
+ </layer>
21
+ <layer id="2" name="Convert_143678" type="Convert" version="opset1">
22
+ <data destination_type="i32" />
23
+ <input>
24
+ <port id="0" precision="I64">
25
+ <dim>-1</dim>
26
+ <dim>-1</dim>
27
+ </port>
28
+ </input>
29
+ <output>
30
+ <port id="1" precision="I32">
31
+ <dim>-1</dim>
32
+ <dim>-1</dim>
33
+ </port>
34
+ </output>
35
+ </layer>
36
+ <layer id="3" name="SentencepieceDetokenizer_143669" type="SentencepieceDetokenizer" version="extension">
37
+ <input>
38
+ <port id="0" precision="U8">
39
+ <dim>511574</dim>
40
+ </port>
41
+ <port id="1" precision="I32">
42
+ <dim>-1</dim>
43
+ <dim>-1</dim>
44
+ </port>
45
+ </input>
46
+ <output>
47
+ <port id="2" precision="I32">
48
+ <dim>-1</dim>
49
+ </port>
50
+ <port id="3" precision="I32">
51
+ <dim>-1</dim>
52
+ </port>
53
+ <port id="4" precision="U8">
54
+ <dim>-1</dim>
55
+ </port>
56
+ </output>
57
+ </layer>
58
+ <layer id="4" name="StringTensorPack_143670" type="StringTensorPack" version="extension">
59
+ <data mode="begins_ends" />
60
+ <input>
61
+ <port id="0" precision="I32">
62
+ <dim>-1</dim>
63
+ </port>
64
+ <port id="1" precision="I32">
65
+ <dim>-1</dim>
66
+ </port>
67
+ <port id="2" precision="U8">
68
+ <dim>-1</dim>
69
+ </port>
70
+ </input>
71
+ <output>
72
+ <port id="3" precision="STRING" names="string_output">
73
+ <dim>-1</dim>
74
+ </port>
75
+ </output>
76
+ </layer>
77
+ <layer id="5" name="Result_143671" type="Result" version="opset1">
78
+ <input>
79
+ <port id="0" precision="STRING">
80
+ <dim>-1</dim>
81
+ </port>
82
+ </input>
83
+ </layer>
84
+ </layers>
85
+ <edges>
86
+ <edge from-layer="0" from-port="0" to-layer="2" to-port="0" />
87
+ <edge from-layer="1" from-port="0" to-layer="3" to-port="0" />
88
+ <edge from-layer="2" from-port="1" to-layer="3" to-port="1" />
89
+ <edge from-layer="3" from-port="2" to-layer="4" to-port="0" />
90
+ <edge from-layer="3" from-port="3" to-layer="4" to-port="1" />
91
+ <edge from-layer="3" from-port="4" to-layer="4" to-port="2" />
92
+ <edge from-layer="4" from-port="3" to-layer="5" to-port="0" />
93
+ </edges>
94
+ <rt_info>
95
+ <eos_token_id value="2" />
96
+ </rt_info>
97
+ </net>
openvino_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:392979a68e8467eade2841358a65ad574d4718c62b13fe944cb3e58b5854a662
3
+ size 1820902984
openvino_model.xml ADDED
The diff for this file is too large to render. See raw diff
 
openvino_tokenizer.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b7b77cf2b305f5fcd17706d2242cec5e69576e6888853fee55fef0c734926605
3
+ size 511582
openvino_tokenizer.xml ADDED
@@ -0,0 +1,231 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="tokenizer" version="11">
3
+ <layers>
4
+ <layer id="0" name="string_input" type="Parameter" version="opset1">
5
+ <data shape="?" element_type="string" />
6
+ <output>
7
+ <port id="0" precision="STRING" names="string_input">
8
+ <dim>-1</dim>
9
+ </port>
10
+ </output>
11
+ </layer>
12
+ <layer id="1" name="Constant_143654" type="Const" version="opset1">
13
+ <data element_type="i32" shape="" offset="0" size="4" />
14
+ <output>
15
+ <port id="0" precision="I32" />
16
+ </output>
17
+ </layer>
18
+ <layer id="2" name="Constant_143647" type="Const" version="opset1">
19
+ <data element_type="u8" shape="511574" offset="4" size="511574" />
20
+ <output>
21
+ <port id="0" precision="U8">
22
+ <dim>511574</dim>
23
+ </port>
24
+ </output>
25
+ </layer>
26
+ <layer id="3" name="SentencepieceTokenizer_143650" type="SentencepieceTokenizer" version="extension">
27
+ <data nbest_size="0" alpha="0" add_bos="true" add_eos="false" reverse="false" />
28
+ <input>
29
+ <port id="0" precision="U8">
30
+ <dim>511574</dim>
31
+ </port>
32
+ <port id="1" precision="STRING">
33
+ <dim>-1</dim>
34
+ </port>
35
+ </input>
36
+ <output>
37
+ <port id="2" precision="I64">
38
+ <dim>-1</dim>
39
+ <dim>2</dim>
40
+ </port>
41
+ <port id="3" precision="I32">
42
+ <dim>-1</dim>
43
+ </port>
44
+ <port id="4" precision="I64">
45
+ <dim>2</dim>
46
+ </port>
47
+ </output>
48
+ </layer>
49
+ <layer id="4" name="Broadcast_143655" type="Broadcast" version="opset3">
50
+ <data mode="numpy" />
51
+ <input>
52
+ <port id="0" precision="I32" />
53
+ <port id="1" precision="I64">
54
+ <dim>2</dim>
55
+ </port>
56
+ </input>
57
+ <output>
58
+ <port id="2" precision="I32">
59
+ <dim>-1</dim>
60
+ <dim>-1</dim>
61
+ </port>
62
+ </output>
63
+ </layer>
64
+ <layer id="5" name="Constant_143656" type="Const" version="opset1">
65
+ <data element_type="i32" shape="" offset="511578" size="4" />
66
+ <output>
67
+ <port id="0" precision="I32" />
68
+ </output>
69
+ </layer>
70
+ <layer id="6" name="ShapeOf_143657" type="ShapeOf" version="opset3">
71
+ <data output_type="i64" />
72
+ <input>
73
+ <port id="0" precision="I32">
74
+ <dim>-1</dim>
75
+ </port>
76
+ </input>
77
+ <output>
78
+ <port id="1" precision="I64">
79
+ <dim>1</dim>
80
+ </port>
81
+ </output>
82
+ </layer>
83
+ <layer id="7" name="Broadcast_143658" type="Broadcast" version="opset3">
84
+ <data mode="numpy" />
85
+ <input>
86
+ <port id="0" precision="I32" />
87
+ <port id="1" precision="I64">
88
+ <dim>1</dim>
89
+ </port>
90
+ </input>
91
+ <output>
92
+ <port id="2" precision="I32">
93
+ <dim>-1</dim>
94
+ </port>
95
+ </output>
96
+ </layer>
97
+ <layer id="8" name="ScatterNDUpdate_143662" type="ScatterNDUpdate" version="opset4">
98
+ <input>
99
+ <port id="0" precision="I32">
100
+ <dim>-1</dim>
101
+ <dim>-1</dim>
102
+ </port>
103
+ <port id="1" precision="I64">
104
+ <dim>-1</dim>
105
+ <dim>2</dim>
106
+ </port>
107
+ <port id="2" precision="I32">
108
+ <dim>-1</dim>
109
+ </port>
110
+ </input>
111
+ <output>
112
+ <port id="3" precision="I32">
113
+ <dim>-1</dim>
114
+ <dim>-1</dim>
115
+ </port>
116
+ </output>
117
+ </layer>
118
+ <layer id="9" name="ScatterNDUpdate_143662" type="Convert" version="opset1">
119
+ <data destination_type="i64" />
120
+ <input>
121
+ <port id="0" precision="I32">
122
+ <dim>-1</dim>
123
+ <dim>-1</dim>
124
+ </port>
125
+ </input>
126
+ <output>
127
+ <port id="1" precision="I64" names="attention_mask">
128
+ <dim>-1</dim>
129
+ <dim>-1</dim>
130
+ </port>
131
+ </output>
132
+ </layer>
133
+ <layer id="11" name="Constant_143651" type="Const" version="opset1">
134
+ <data element_type="i32" shape="" offset="0" size="4" />
135
+ <output>
136
+ <port id="0" precision="I32" />
137
+ </output>
138
+ </layer>
139
+ <layer id="12" name="Broadcast_143652" type="Broadcast" version="opset3">
140
+ <data mode="numpy" />
141
+ <input>
142
+ <port id="0" precision="I32" />
143
+ <port id="1" precision="I64">
144
+ <dim>2</dim>
145
+ </port>
146
+ </input>
147
+ <output>
148
+ <port id="2" precision="I32">
149
+ <dim>-1</dim>
150
+ <dim>-1</dim>
151
+ </port>
152
+ </output>
153
+ </layer>
154
+ <layer id="13" name="ScatterNDUpdate_143653" type="ScatterNDUpdate" version="opset4">
155
+ <input>
156
+ <port id="0" precision="I32">
157
+ <dim>-1</dim>
158
+ <dim>-1</dim>
159
+ </port>
160
+ <port id="1" precision="I64">
161
+ <dim>-1</dim>
162
+ <dim>2</dim>
163
+ </port>
164
+ <port id="2" precision="I32">
165
+ <dim>-1</dim>
166
+ </port>
167
+ </input>
168
+ <output>
169
+ <port id="3" precision="I32">
170
+ <dim>-1</dim>
171
+ <dim>-1</dim>
172
+ </port>
173
+ </output>
174
+ </layer>
175
+ <layer id="14" name="ScatterNDUpdate_143653" type="Convert" version="opset1">
176
+ <data destination_type="i64" />
177
+ <input>
178
+ <port id="0" precision="I32">
179
+ <dim>-1</dim>
180
+ <dim>-1</dim>
181
+ </port>
182
+ </input>
183
+ <output>
184
+ <port id="1" precision="I64" names="input_ids">
185
+ <dim>-1</dim>
186
+ <dim>-1</dim>
187
+ </port>
188
+ </output>
189
+ </layer>
190
+ <layer id="15" name="Result_143663" type="Result" version="opset1">
191
+ <input>
192
+ <port id="0" precision="I64">
193
+ <dim>-1</dim>
194
+ <dim>-1</dim>
195
+ </port>
196
+ </input>
197
+ </layer>
198
+ <layer id="10" name="Result_143664" type="Result" version="opset1">
199
+ <input>
200
+ <port id="0" precision="I64">
201
+ <dim>-1</dim>
202
+ <dim>-1</dim>
203
+ </port>
204
+ </input>
205
+ </layer>
206
+ </layers>
207
+ <edges>
208
+ <edge from-layer="0" from-port="0" to-layer="3" to-port="1" />
209
+ <edge from-layer="1" from-port="0" to-layer="4" to-port="0" />
210
+ <edge from-layer="2" from-port="0" to-layer="3" to-port="0" />
211
+ <edge from-layer="3" from-port="4" to-layer="4" to-port="1" />
212
+ <edge from-layer="3" from-port="3" to-layer="6" to-port="0" />
213
+ <edge from-layer="3" from-port="2" to-layer="8" to-port="1" />
214
+ <edge from-layer="3" from-port="3" to-layer="13" to-port="2" />
215
+ <edge from-layer="3" from-port="2" to-layer="13" to-port="1" />
216
+ <edge from-layer="3" from-port="4" to-layer="12" to-port="1" />
217
+ <edge from-layer="4" from-port="2" to-layer="8" to-port="0" />
218
+ <edge from-layer="5" from-port="0" to-layer="7" to-port="0" />
219
+ <edge from-layer="6" from-port="1" to-layer="7" to-port="1" />
220
+ <edge from-layer="7" from-port="2" to-layer="8" to-port="2" />
221
+ <edge from-layer="8" from-port="3" to-layer="9" to-port="0" />
222
+ <edge from-layer="9" from-port="1" to-layer="10" to-port="0" />
223
+ <edge from-layer="11" from-port="0" to-layer="12" to-port="0" />
224
+ <edge from-layer="12" from-port="2" to-layer="13" to-port="0" />
225
+ <edge from-layer="13" from-port="3" to-layer="14" to-port="0" />
226
+ <edge from-layer="14" from-port="1" to-layer="15" to-port="0" />
227
+ </edges>
228
+ <rt_info>
229
+ <eos_token_id value="2" />
230
+ </rt_info>
231
+ </net>
special_tokens_map.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": true,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "</s>",
11
+ "lstrip": false,
12
+ "normalized": true,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "unk_token": {
17
+ "content": "<unk>",
18
+ "lstrip": false,
19
+ "normalized": true,
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:91b289e85fa20fd375d8b33dc12f77616f18abc6359804471d1fafcb425fecb8
3
+ size 511574
tokenizer_config.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": true,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": true,
5
+ "added_tokens_decoder": {
6
+ "0": {
7
+ "content": "<unk>",
8
+ "lstrip": false,
9
+ "normalized": true,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "1": {
15
+ "content": "<s>",
16
+ "lstrip": false,
17
+ "normalized": true,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "2": {
23
+ "content": "</s>",
24
+ "lstrip": false,
25
+ "normalized": true,
26
+ "rstrip": false,
27
+ "single_word": false,
28
+ "special": true
29
+ }
30
+ },
31
+ "bos_token": "<s>",
32
+ "clean_up_tokenization_spaces": false,
33
+ "eos_token": "</s>",
34
+ "legacy": true,
35
+ "model_max_length": 2048,
36
+ "pad_token": null,
37
+ "sp_model_kwargs": {},
38
+ "spaces_between_special_tokens": false,
39
+ "tokenizer_class": "LlamaTokenizer",
40
+ "unk_token": "<unk>",
41
+ "use_default_system_prompt": false
42
+ }