在端侧部署 Transformer 模型需要仔细考虑性能和兼容性。Python 虽然功能强大,但对于部署来说有时并不算理想,特别是在由 C++ 主导的环境中。这篇博客将指导您如何使用 Optimum-Intel 和 OpenVINO™ GenAI 来优化和部署 Hugging Face Transformers 模型,确保在最小依赖性的情况下进行高效的 AI 推理。
为什么使用 OpenVINO 来进行端侧部署
OpenVINO™ 最初是作为 C++ AI 推理解决方案开发的,使其非常适合在端侧设备部署中,其中最小化依赖性至关重要。随着引入 GenAI API,将大型语言模型 (LLMs) 集成到 C++ 或 Python 应用程序中变得更加简单,其特性旨在简化部署并提升性能。
第一步: 创建环境
预先准备
开始之前,请确保您的环境已正确配置了 Python 和 C++。安装必要的 Python 包:
pip install --upgrade --upgrade-strategy eager optimum[openvino]
以下是本文中使用的具体包:
transformers==4.44
openvino==24.3
openvino-tokenizers==24.3
optimum-intel==1.20
lm-eval==0.4.3
有关 GenAI C++ 库的安装,请按照 此处 的说明进行操作。
第二步: 将模型导出为 OpenVINO IR
Hugging Face 和 Intel 的合作促成了 Optimum-Intel 项目。该项目旨在优化 Transformers 模型在 Intel 硬件上的推理性能。Optimum-Intel 支持 OpenVINO 作为推理后端,其 API 为各种基于 OpenVINO 推理 API 构建的模型架构提供了封装。这些封装都以 OV
前缀开头,例如 OVModelForCausalLM
。除此之外,它与