Skip to content

Latest commit

 

History

History
99 lines (61 loc) · 4.37 KB

023.UsingIntelOpenVINOQuantifyingPhi35.md

File metadata and controls

99 lines (61 loc) · 4.37 KB

使用 Intel OpenVINO 量化 Phi-3.5

Intel 是最傳統的 CPU 製造商之一,擁有眾多用戶。隨著機器學習和深度學習的興起,Intel 也加入了 AI 加速的競爭。對於模型推理,Intel 不僅使用 GPU 和 CPU,還使用 NPU。

我們希望將 Phi-3.x 系列部署在終端側,成為 AI PC 和 Copilot PC 的重要組成部分。模型在終端側的加載依賴於不同硬體製造商的合作。本章主要關注使用 Intel OpenVINO 作為量化模型的應用場景。

什麼是 OpenVINO

OpenVINO 是一個開源工具包,用於優化和部署從雲到邊緣的深度學習模型。它在各種使用案例中加速深度學習推理,如生成式 AI、視頻、音頻和語言,支持來自 PyTorch、TensorFlow、ONNX 等流行框架的模型。可以轉換和優化模型,並在多種 Intel® 硬體和環境中部署,無論是在本地還是雲端,甚至在瀏覽器中。

現在,通過 OpenVINO,你可以在 Intel 硬體上快速量化 GenAI 模型並加速模型推理。

目前 OpenVINO 支持 Phi-3.5-Vision 和 Phi-3.5 Instruct 的量化轉換。

環境設置

請確保安裝了以下環境依賴項,這是 requirement.txt

--extra-index-url https://download.pytorch.org/whl/cpu
optimum-intel>=1.18.2
nncf>=2.11.0
openvino>=2024.3.0
transformers>=4.40
openvino-genai>=2024.3.0.0

使用 OpenVINO 量化 Phi-3.5-Instruct

在終端中,請運行以下腳本

export llm_model_id = "microsoft/Phi-3.5-mini-instruct"

export llm_model_path = "your save quantizing Phi-3.5-instruct location"

optimum-cli export openvino --model {llm_model_id} --task text-generation-with-past --weight-format int4 --group-size 128 --ratio 0.6  --sym  --trust-remote-code {llm_model_path}

使用 OpenVINO 量化 Phi-3.5-Vision

請在 Python 或 Jupyter lab 中運行此腳本

import requests
from pathlib import Path
from ov_phi3_vision import convert_phi3_model
import nncf

if not Path("ov_phi3_vision.py").exists():
    r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/notebooks/phi-3-vision/ov_phi3_vision.py")
    open("ov_phi3_vision.py", "w").write(r.text)


if not Path("gradio_helper.py").exists():
    r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/notebooks/phi-3-vision/gradio_helper.py")
    open("gradio_helper.py", "w").write(r.text)

if not Path("notebook_utils.py").exists():
    r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py")
    open("notebook_utils.py", "w").write(r.text)



model_id = "microsoft/Phi-3.5-vision-instruct"
out_dir = Path("../model/phi-3.5-vision-128k-instruct-ov")
compression_configuration = {
    "mode": nncf.CompressWeightsMode.INT4_SYM,
    "group_size": 64,
    "ratio": 0.6,
}
if not out_dir.exists():
    convert_phi3_model(model_id, out_dir, compression_configuration)

🤖 使用 Intel OpenVINO 的 Phi-3.5 範例

實驗室 介紹 前往
🚀 Lab-Introduce Phi-3.5 Instruct 學習如何在你的 AI PC 中使用 Phi-3.5 Instruct 前往
🚀 Lab-Introduce Phi-3.5 Vision (圖像) 學習如何在你的 AI PC 中使用 Phi-3.5 Vision 分析圖像 前往
🚀 Lab-Introduce Phi-3.5 Vision (視頻) 學習如何在你的 AI PC 中使用 Phi-3.5 Vision 分析視頻 前往

資源

  1. 了解更多關於 Intel OpenVINO 的信息 https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html

  2. Intel OpenVINO GitHub Repo https://github.com/openvinotoolkit/openvino.genai

免責聲明: 本文件是使用機器翻譯服務翻譯的。儘管我們努力確保準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原語言的文件為權威來源。對於關鍵信息,建議尋求專業人工翻譯。我們對使用此翻譯所產生的任何誤解或誤讀不承擔責任。