当前位置:网站首页 > 云计算与后端部署 > 正文

onnx模型部署openvino 封装dll(openvino安装)



作者 | 武卓 博士 英特尔 OpenVINO™ 布道师

随着大语言模型的广泛应用,模型的计算需求大幅提升,带来推理时延高、资源消耗大等挑战。vLLM 作为高效的大模型推理框架,通过 OpenVINO™ 的优化,vLLM 用户不仅能够更高效地部署大模型,还能提升吞吐量和处理能力,从而在成本、性能和易用性上获得最佳平衡。这种优化对于需要快速响应和节省资源的云端或边缘推理应用尤为重要。目前,OpenVINO™ 最新版本 OpenVINO™ 2024.4 中已经支持与 vLLM 框架的集成,只需要一步安装,一步配置,就能够以零代码修改的方式,将 OpenVINO™ 作为推理后端,在运行 vLLM 对大语言模型的推理时获得推理加速。

vLLM 是由加州大学伯克利分校开发的开源框架,专门用于高效实现大语言模型(LLMs)的推理和部署。它具有以下优势:

  • 高性能:相比 HuggingFace Transformers 库,vLLM 能提升多达24倍的吞吐量。
  • 易于使用:无需对模型架构进行任何修改即可实现高性能推理。
  • 低成本:vLLM 的出现使得大模型的部署更加经济实惠。

下面我们以在阿里云的免费云服务器 ECS 上运行通义千问 Qwen2.5 模型为例,详细介绍如何通过简单的两步,轻松实现 OpenVINO™ 对 vLLM 大语言模型推理服务的加速。

在阿里云上申请免费的云服务器 ECS 资源,并选择 Ubuntu22.04 作为操作系统。

接着进行远程连接后,登录到终端操作界面。

请按照以下步骤配置开发环境:

1)     更新系统并安装 Python 3 及虚拟环境:

 

2)     建立并激活 Python 虚拟环境:

 

3)     克隆 vLLM 代码仓库并安装依赖项:

 

4)     安装 vLLM 的 OpenVINO™ 后端:

 

至此,环境搭建完毕。

接下来,去魔搭社区下载最新的通义千问2.5系列大语言模型,这里以 Qwen2.5-0.5B-Instruct 模型的下载为例。

模型下载地址为:

https://www.modelscope.cn/models/Qwen/Qwen2.5-0.5B-Instruct

魔搭社区为开发者提供了多种模型下载的方式,这里我们以“命令行下载“方式为例。

首先用以下命令安装 modelscope:

 

接着运行以下命令完成模型下载:

 

下载后的模型,默认存放在以下路径中:

 

本次运行的推理脚本,我们以 vllm 仓库中 examples 文件夹中的 offline_inference.py 推理脚本为例。由于 vLLM 默认的脚本是从 Hugging Face 平台上直接下载模型,而由于网络连接限制无法从该平台直接下载模型,因此我们采用上面的方式将模型从魔搭社区中下载下来,接下来使用以下命令,修改脚本中第14行,将原脚本中的模型名称“"facebook/opt-125m" “替换为下载后存放Qwen2.5模型的文件夹路径”

/root/.cache/modelscope/hub/Qwen/Qwen2___5-0___5B-Instruct“即可,效果如下图所示。

一步配置:配置并运行推理脚本

接下来,在运行推理脚本,完成 LLMs 推理之前,我们再针对 OpenVINO™ 作为推理后端,进行一些优化的配置。使用如下命令进行配置:

 

这里,

  • VLLM_OPENVINO_KVCACHE_SPACE:用于指定键值缓存(KV      Cache)的大小(例如,VLLM_OPENVINO_KVCACHE_SPACE=100 表示为 KV 缓存分配 100 GB 空间)。较大的设置可以让  vLLM  支持更多并发请求。由于本文运行在阿里云的免费 ECS 上空间有限,因此本次示例中我们将该值设置为1。实际使用中,该参数应根据用户的硬件配置和内存管理方式进行设置。
  • VLLM_OPENVINO_CPU_KV_CACHE_PRECISION=u8:用于控制 KV 缓存的精度。默认情况下,会根据平台选择使用 FP16 或 BF16 精度。     
  • VLLM_OPENVINO_ENABLE_QUANTIZED_WEIGHTS:用于启用模型加载阶段的 U8 权重压缩。默认情况下,权重压缩是关闭的。通过设置 VLLM_OPENVINO_ENABLE_QUANTIZED_WEIGHTS=ON 来开启权重压缩。

为了优化 TPOT(Token Processing Over Time)和 TTFT(Time To First Token)性能,可以使用 vLLM 的分块预填充功能(--enable-chunked-prefill)。根据实验结果,推荐的批处理大小为 256(--max-num-batched-tokens=256)。

最后,让我们来看看 vLLM 使用 OpenVINO™ 后端运行大语言模型推理的效果,运行命令如下:

 

除了运行以上配置,可以利用 OpenVINO™ 在 CPU 上轻松实现 vLLM 对大语言模型推理加速外,也可以利用如下配置在英特尔集成显卡和独立显卡等 GPU 设备上获取 vLLM 对大语言模型推理加速

 

更多详细的信息,可以查询:

https://docs.vllm.ai/en/latest/getting_started/openvino-installation.html

通过在 vLLM 中集成 OpenVINO™ 优化,用户能够显著提升大语言模型的推理效率,减少延迟并提高资源利用率。简单的配置步骤即可实现推理加速,使得在阿里云等平台上大规模并发请求的处理变得更加高效和经济。OpenVINO™ 的优化让用户在保持高性能的同时降低部署成本,为AI模型的实时应用和扩展提供了强有力的支持。

  • OpenVINO™ 文档

    https://docs.openvino.ai/2024/index.html

  • OpenVINO™ AI解决案例和演示

    https://github.com/openvinotoolkit/openvino_build_deploy

  • 反馈意见及上报问题

    https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenvinotoolkit%2Fopenvino%2Fissues%2Fnew%2Fchoose

性能因使用情况、配置和其他因素而异。如需了解详情,请访问网址:

https://edc.intel.com/content/www/us/en/products/performance/benchmarks/overview/

性能结果基于截至配置中显示的日期的测试,可能无法反映所有公开可用的更新。有关配置详细信息,请参阅备份。没有任何产品或组件可以绝对安全。您的成本和结果可能会有所不同。英特尔技术可能需要支持的硬件、软件或服务激活。

到此这篇onnx模型部署openvino 封装dll(openvino安装)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • orecal默认端口(orcale默认用户)2025-03-15 14:36:06
  • 操作系统课后题答案(操作系统课后题答案汤小丹)2025-03-15 14:36:06
  • 电视软件后缀.apk怎么删(电视软件后缀.apk怎么删除)2025-03-15 14:36:06
  • 模型部署工程师(模型工程师是什么意思)2025-03-15 14:36:06
  • 操作系统的课后答案(操作系统课后答案江苏大学)2025-03-15 14:36:06
  • 操作系统教程第一版(操作系统教程课后答案)2025-03-15 14:36:06
  • orecal(orecal默认端口)2025-03-15 14:36:06
  • u盘制作成系统盘后怎么还原文件(u盘制作成系统盘后还可以恢复吗?)2025-03-15 14:36:06
  • pem文件和key文件(pem后缀文件)2025-03-15 14:36:06
  • redis修改密码和端口(redis设置用户密码)2025-03-15 14:36:06
  • 全屏图片