|
--- |
|
license: apache-2.0 |
|
language: |
|
- en |
|
base_model: |
|
- Qwen/Qwen2.5-3B-Instruct |
|
pipeline_tag: text-generation |
|
library_name: transformers |
|
--- |
|
|
|
# Qwen-2.5-3B-Instruct-ov-INT4 |
|
* Model creator: [Qwen](https://huggingface.co/Qwen) |
|
* Original model: [Qwen2.5-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-3B-Instruct) |
|
|
|
## Description |
|
This is [Qwen2.5-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-3B-Instruct) 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). |
|
|
|
## Quantization Parameters |
|
|
|
Weight compression was performed using `nncf.compress_weights` with the following parameters: |
|
|
|
* mode: **int4_sym** |
|
* ratio: **0.6** |
|
* group_size: **64** |
|
|
|
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.4.0 and higher |
|
* Optimum Intel 1.19.0 and higher |
|
|
|
## Prompt Template |
|
|
|
``` |
|
<|im_start|>system |
|
You are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|> |
|
<|im_start|>user |
|
{input}<|im_end|> |
|
``` |
|
|
|
## Running Model Inference with [Optimum Intel](https://huggingface.co/docs/optimum/intel/index) |
|
|
|
|
|
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 = "srang992/Qwen-2.5-3B-Instruct-ov-INT4" |
|
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). |
|
|
|
## Running Model Inference with [OpenVINO GenAI](https://github.com/openvinotoolkit/openvino.genai) |
|
|
|
1. Install packages required for using OpenVINO GenAI. |
|
``` |
|
pip install openvino-genai huggingface_hub |
|
``` |
|
|
|
2. Download model from HuggingFace Hub |
|
|
|
``` |
|
import huggingface_hub as hf_hub |
|
|
|
model_id = "srang992/Qwen-2.5-3B-Instruct-ov-INT4" |
|
model_path = "Qwen-2.5-3B-Instruct-ov-INT4" |
|
|
|
hf_hub.snapshot_download(model_id, local_dir=model_path) |
|
|
|
``` |
|
|
|
3. Run model inference: |
|
|
|
``` |
|
import openvino_genai as ov_genai |
|
|
|
device = "CPU" |
|
pipe = ov_genai.LLMPipeline(model_path, device) |
|
print(pipe.generate("What is OpenVINO?", max_length=200)) |