0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Ollama中使用OpenVINO后端

英特尔物联网 来源:OpenVINO 中文社区 2025-04-14 10:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

来源:OpenVINO 中文社区

为什么选择 Ollama + OpenVINO 组合?

双引擎驱动的技术优势

Ollama 和 OpenVINO 的结合为大型语言模型(LLM)的管理和推理提供了强大的双引擎驱动。Ollama 提供了极简的模型管理工具链,而 OpenVINO 则通过 Intel 硬件(CPU/GPU/NPU)为模型推理提供了高效的加速能力。这种组合不仅简化了模型的部署和调用流程,还显著提升了推理性能,特别适合需要高性能和易用性的场景。

项目地址:openvino_contrib

(https://github.com/openvinotoolkit/openvino_contrib/tree/master/modules/ollama_openvino)

Ollama 的核心价值

1.极简的 LLM 管理工具链:Ollama 提供了简单易用的命令行工具,用户可以轻松地下载、管理和运行各种 LLM 模型。

2.支持模型一键部署:通过简单的命令,用户可以快速部署和调用模型,无需复杂的配置。

3.提供统一的 API 接口Ollama 提供了统一的 API 接口,方便开发者集成到各种应用中。

4.活跃的开源社区生态:Ollama 拥有活跃的开源社区,用户可以获取丰富的资源和支持。

Ollama 局限性

Ollama 目前仅支持 llama.cpp 作为后端,这带来了一些不便:

1.硬件兼容性受限:llama.cpp 主要针对 CPU 以及NVIDIA GPU优化,无法充分利用 INTEL GPU 或 NPU 等硬件加速能力,导致在需要高性能计算的场景下表现不足。

2.性能瓶颈:对于大规模模型或高并发场景,llama.cpp 的性能可能无法满足需求,尤其是在处理复杂任务时,推理速度较慢。

OpenVINO 的突破性能力

1.为 Intel 硬件提供深度优化(CPU/iGPU/Arc dGPU/NPU):OpenVINO 针对 Intel 硬件进行了深度优化,能够充分发挥 CPU、集成 GPU、独立 GPU 和 NPU 的性能潜力。

2.支持跨平台异构计算:OpenVINO 支持跨平台异构计算,能够在不同硬件平台上实现高效的模型推理。

3.提供模型量化压缩工具链:OpenVINO 提供了丰富的模型量化压缩工具链,能够显著减少模型大小,提升推理速度。

4.实现推理性能显著提升:通过 OpenVINO 的优化,模型推理性能可以得到显著提升,特别是在大规模模型和高并发的场景。

5.可扩展性与灵活性支持: OpenVINO GenAI 为 Ollama-OV 提供了强大的可扩展性和灵活性,支持speculative decoding,Prompt-lookup decoding, pipeline parallel, continuous batching 等 pipeline 优化技术,为未来更多 pipeline serving 优化奠定了坚实基础。

集成带来的开发者红利

1.极简开发体验:保留 Ollama 的 CLI 交互特性,开发者可以继续使用熟悉的命令行工具进行模型管理和调用。

2.性能飞跃:通过 OpenVINO 获得硬件级加速,模型推理性能得到显著提升,特别是在大规模模型和高并发场景下。

3.多硬件适配,生态扩展:OpenVINO 的支持使得 Ollama 能够适配多种硬件平台,扩展了其应用生态,为开发者提供了更多的选择和灵活性。

三步开启加速体验

1. 下载预先编译好了 Linux、Windows 系统的可执行文件,文件下载地址:

下载链接参考:

https://github.com/openvinotoolkit/openvino_contrib/tree/master/modules/ollama_openvino#%E7%99%BE%E5%BA%A6%E4%BA%91%E7%9B%98

源码编译参考:

https://github.com/openvinotoolkit/openvino_contrib/tree/master/modules/ollama_openvino#building-from-source

2. 配置 OpenVINO GenAI 的环境

以 windows 系统为例,首先将下载的 OpenVINO GenAI 压缩包解压到目录 openvino_genai_windows_2025.2.0.0.dev20250320_x86_64 下。

然后执行以下命令:

cd openvino_genai_windows_2025.2.0.0.dev20250320_x86_64
setupvars.bat

3. 设置 cgocheck

Windows:

set GODEBUG=cgocheck=0

Linux:

export GODEGUG=cgocheck=0

到此,可执行文件已经下载完成、OpenVINO GenAI、OpenVINO、CGO环境也已经配置完成。

自定义模型实战

因为 Ollama model library 不支持上传非 GGUF 格式的 IR,所以我们在本地基于 OpenVINO IR 制作 Ollama 支持的 OCI image;我们以 DeepSeek-R1-Distill-Qwen-7B 为例:

1. 下载 OpenVINO IR 模型,从 ModelScope 下载:

pip install modelscope
   modelscope download --model zhaohb/DeepSeek-R1-Distill-Qwen-7B-int4-ov --local_dir ./DeepSeek-R1-Distill-Qwen-7B-int4-ov

2. 把下载的 OpenVINO IR 的目录打包成 *tar.gz 的格式

tar -zcvf DeepSeek-R1-Distill-Qwen-7B-int4-ov.tar.gz DeepSeek-R1-Distill-Qwen-7B-int4-ov

3. 创建 Modelfile 文件

FROM DeepSeek-R1-Distill-Qwen-7B-int4-ov.tar.gz
ModelType "OpenVINO"
InferDevice "GPU"
PARAMETER repeat_penalty 1.0
PARAMETER top_p 1.0
PARAMETER temperature 1.0

4. 创建 ollama 支持的模型

ollama create
DeepSeek-R1-Distill-Qwen-7B-int4-ov:v1 -f Modelfile

这样我们就创建了 DeepSeek-R1-Distill-Qwen-7B-int4-ov:v1 可以供 Ollama OpenVINO 后端使用的模型。

5. 使用该模型

ollama run DeepSeek-R1-Distill-Qwen-7B-int4-ov:v1 "请帮我推荐北京著名的景点"

至此,您已经掌握了如何在 Ollama 中使用 OpenVINO 后端。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    61

    文章

    10275

    浏览量

    179323
  • 接口
    +关注

    关注

    33

    文章

    9446

    浏览量

    156150
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5099

    浏览量

    134471
  • AI
    AI
    +关注

    关注

    89

    文章

    38121

    浏览量

    296709
  • OpenVINO
    +关注

    关注

    0

    文章

    117

    浏览量

    717

原文标题:当 Ollama 遇上 OpenVINO™ :解锁多硬件 AI 推理新范式

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    何在bash中使用条件语句

    今天我们介绍一下如何在 bash 中使用条件语句。
    的头像 发表于 12-09 17:27 2771次阅读
    如<b class='flag-5'>何在</b>bash<b class='flag-5'>中使</b>用条件语句

    何在Linux中使用htop命令

    本文介绍如何在 Linux 中使用 htop 命令。
    的头像 发表于 12-04 14:45 4045次阅读
    如<b class='flag-5'>何在</b>Linux<b class='flag-5'>中使</b>用htop命令

    何在OpenVINO工具包中使用带推理引擎的blob?

    无法确定如何在OpenVINO™工具包中使用带推理引擎的 blob。
    发表于 08-15 07:17

    无法在OpenVINO工具套件中使用ENetwork.层怎么解决?

    OpenVINO™ 工具套件 2021.4 中使用 IENetwork.层 。 收到错误:openvino.inference_engine.ie_api。IENetwork 对象没有属性“层”
    发表于 08-15 06:41

    何在VxWorks系统中使用TrueType字库

    何在VxWorks系统中使用TrueType字库
    发表于 03-29 12:25 19次下载

    何在UltraScale+设计中使用UltraRAM模块

    了解如何在UltraScale +设计中包含新的UltraRAM模块。 该视频演示了如何在UltraScale + FPGA和MPSoC中使用UltraRAM,包括新的Xilinx参数化宏(XPM)工具。
    的头像 发表于 11-22 05:50 8746次阅读

    何在java代码中使用HTTP代理IP

    何在java代码中使用HTTP代理IP。
    的头像 发表于 08-04 15:38 2799次阅读

    何在python代码中使用HTTP代理IP

    何在python代码中使用HTTP代理IP。
    的头像 发表于 08-04 15:46 1761次阅读

    何在PHP代码中使用HTTP代理IP

    何在PHP代码中使用HTTP代理IP。
    的头像 发表于 08-04 16:08 2950次阅读

    何在Arduino中使用伺服电机

    电子发烧友网站提供《如何在Arduino中使用伺服电机.zip》资料免费下载
    发表于 10-24 09:46 3次下载
    如<b class='flag-5'>何在</b>Arduino<b class='flag-5'>中使</b>用伺服电机

    何在Arduino中使用LDR

    电子发烧友网站提供《如何在Arduino中使用LDR.zip》资料免费下载
    发表于 10-31 09:50 0次下载
    如<b class='flag-5'>何在</b>Arduino<b class='flag-5'>中使</b>用LDR

    何在Arduino中使用Modbus

    电子发烧友网站提供《如何在Arduino中使用Modbus.zip》资料免费下载
    发表于 11-22 11:21 14次下载
    如<b class='flag-5'>何在</b>Arduino<b class='flag-5'>中使</b>用Modbus

    何在Arduino中使用微型伺服

    电子发烧友网站提供《如何在Arduino中使用微型伺服.zip》资料免费下载
    发表于 11-28 09:50 1次下载
    如<b class='flag-5'>何在</b>Arduino<b class='flag-5'>中使</b>用微型伺服

    何在测试中使用ChatGPT

    Dimitar Panayotov 在 2023 年 QA Challenge Accepted 大会 上分享了他如何在测试中使用 ChatGPT。
    的头像 发表于 02-20 13:57 1330次阅读

    何在多显卡环境下配置OLLAMA实现GPU负载均衡

    本文将带你深入了解如何在多显卡环境下配置OLLAMA,实现GPU负载均衡,并分享生产环境中的最佳实践。无论你是刚接触GPU集群还是寻求性能优化的老手,这篇文章都能给你带来实用价值。
    的头像 发表于 07-24 14:12 2727次阅读