File size: 2,293 Bytes
f6cb413
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
---
license: apache-2.0
---

# codegen2-3_7B_P-int8-ov

 * Model creator: [Salesforce](https://huggingface.co/Salesforce)
 * Original model: [codegen2-3_7B_P](https://huggingface.co/Salesforce/codegen2-3_7B_P)

## Description

This is [codegen2-3_7B_P](https://huggingface.co/Salesforce/codegen2-3_7B_P) model converted to the [OpenVINO™ IR](https://docs.openvino.ai/2024/documentation/openvino-ir-format.html) (Intermediate Representation) format with weights compressed to int8 by [NNCF](https://github.com/openvinotoolkit/nncf).

## Quantization Parameters

Weight compression was performed using `nncf.compress_weights` with the following parameters:

* mode: **INT8_ASYM**
* sensitivity_metric: **weight_quantization_error**

For more information on quantization, check the [OpenVINO model optimization guide](https://docs.openvino.ai/2024/openvino-workflow/model-optimization-guide/weight-compression.html).

## Compatibility

The provided OpenVINO™ IR model is compatible with:

* OpenVINO version 2024.1.0 and higher
* Optimum Intel 1.16.0 and higher

## Running Model Inference

1. Install packages required for using [Optimum Intel](https://huggingface.co/docs/optimum/intel/index) integration with the OpenVINO backend:

    ```
    pip install optimum[openvino]
    ```

2. Run model inference:

    ```
    from transformers import AutoTokenizer
    from optimum.intel.openvino import OVModelForCausalLM
    
    model_id = "OpenVINO/codegen2-3_7B_P-int8-ov"
    tokenizer = AutoTokenizer.from_pretrained(model_id)
    model = OVModelForCausalLM.from_pretrained(model_id)
    
    inputs = tokenizer("What is OpenVINO?", return_tensors="pt")
    
    outputs = model.generate(**inputs, max_length=200)
    text = tokenizer.batch_decode(outputs)[0]
    print(text)
    ```

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).

## Limitations

Check the original model card for [limitations](https://huggingface.co/Salesforce/codegen2-3_7B_P#intended-use-and-limitations).

## Legal information

The original model is distributed under mit license. More details can be found in [original model card](https://huggingface.co/Salesforce/codegen2-3_7B_P).