來(lái)源:OpenVINO 中文社區(qū)
為什么選擇 Ollama + OpenVINO 組合?
雙引擎驅(qū)動(dòng)的技術(shù)優(yōu)勢(shì)
Ollama 和 OpenVINO 的結(jié)合為大型語(yǔ)言模型(LLM)的管理和推理提供了強(qiáng)大的雙引擎驅(qū)動(dòng)。Ollama 提供了極簡(jiǎn)的模型管理工具鏈,而 OpenVINO 則通過(guò) Intel 硬件(CPU/GPU/NPU)為模型推理提供了高效的加速能力。這種組合不僅簡(jiǎn)化了模型的部署和調(diào)用流程,還顯著提升了推理性能,特別適合需要高性能和易用性的場(chǎng)景。
項(xiàng)目地址:openvino_contrib
(https://github.com/openvinotoolkit/openvino_contrib/tree/master/modules/ollama_openvino)
Ollama 的核心價(jià)值
1.極簡(jiǎn)的 LLM 管理工具鏈:Ollama 提供了簡(jiǎn)單易用的命令行工具,用戶可以輕松地下載、管理和運(yùn)行各種 LLM 模型。
2.支持模型一鍵部署:通過(guò)簡(jiǎn)單的命令,用戶可以快速部署和調(diào)用模型,無(wú)需復(fù)雜的配置。
3.提供統(tǒng)一的 API 接口:Ollama 提供了統(tǒng)一的 API 接口,方便開發(fā)者集成到各種應(yīng)用中。
4.活躍的開源社區(qū)生態(tài):Ollama 擁有活躍的開源社區(qū),用戶可以獲取豐富的資源和支持。
Ollama 局限性
Ollama 目前僅支持 llama.cpp 作為后端,這帶來(lái)了一些不便:
1.硬件兼容性受限:llama.cpp 主要針對(duì) CPU 以及NVIDIA GPU優(yōu)化,無(wú)法充分利用 INTEL GPU 或 NPU 等硬件加速能力,導(dǎo)致在需要高性能計(jì)算的場(chǎng)景下表現(xiàn)不足。
2.性能瓶頸:對(duì)于大規(guī)模模型或高并發(fā)場(chǎng)景,llama.cpp 的性能可能無(wú)法滿足需求,尤其是在處理復(fù)雜任務(wù)時(shí),推理速度較慢。
OpenVINO 的突破性能力
1.為 Intel 硬件提供深度優(yōu)化(CPU/iGPU/Arc dGPU/NPU):OpenVINO 針對(duì) Intel 硬件進(jìn)行了深度優(yōu)化,能夠充分發(fā)揮 CPU、集成 GPU、獨(dú)立 GPU 和 NPU 的性能潛力。
2.支持跨平臺(tái)異構(gòu)計(jì)算:OpenVINO 支持跨平臺(tái)異構(gòu)計(jì)算,能夠在不同硬件平臺(tái)上實(shí)現(xiàn)高效的模型推理。
3.提供模型量化壓縮工具鏈:OpenVINO 提供了豐富的模型量化壓縮工具鏈,能夠顯著減少模型大小,提升推理速度。
4.實(shí)現(xiàn)推理性能顯著提升:通過(guò) OpenVINO 的優(yōu)化,模型推理性能可以得到顯著提升,特別是在大規(guī)模模型和高并發(fā)的場(chǎng)景。
5.可擴(kuò)展性與靈活性支持: OpenVINO GenAI 為 Ollama-OV 提供了強(qiáng)大的可擴(kuò)展性和靈活性,支持speculative decoding,Prompt-lookup decoding, pipeline parallel, continuous batching 等 pipeline 優(yōu)化技術(shù),為未來(lái)更多 pipeline serving 優(yōu)化奠定了堅(jiān)實(shí)基礎(chǔ)。
集成帶來(lái)的開發(fā)者紅利
1.極簡(jiǎn)開發(fā)體驗(yàn):保留 Ollama 的 CLI 交互特性,開發(fā)者可以繼續(xù)使用熟悉的命令行工具進(jìn)行模型管理和調(diào)用。
2.性能飛躍:通過(guò) OpenVINO 獲得硬件級(jí)加速,模型推理性能得到顯著提升,特別是在大規(guī)模模型和高并發(fā)場(chǎng)景下。
3.多硬件適配,生態(tài)擴(kuò)展:OpenVINO 的支持使得 Ollama 能夠適配多種硬件平臺(tái),擴(kuò)展了其應(yīng)用生態(tài),為開發(fā)者提供了更多的選擇和靈活性。
三步開啟加速體驗(yàn)
1. 下載預(yù)先編譯好了 Linux、Windows 系統(tǒng)的可執(zhí)行文件,文件下載地址:
下載鏈接參考:
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 的環(huán)境
以 windows 系統(tǒng)為例,首先將下載的 OpenVINO GenAI 壓縮包解壓到目錄 openvino_genai_windows_2025.2.0.0.dev20250320_x86_64 下。
然后執(zhí)行以下命令:
cd openvino_genai_windows_2025.2.0.0.dev20250320_x86_64 setupvars.bat
3. 設(shè)置 cgocheck
Windows:
set GODEBUG=cgocheck=0
Linux:
export GODEGUG=cgocheck=0
到此,可執(zhí)行文件已經(jīng)下載完成、OpenVINO GenAI、OpenVINO、CGO環(huán)境也已經(jīng)配置完成。
自定義模型實(shí)戰(zhàn)
因?yàn)?Ollama model library 不支持上傳非 GGUF 格式的 IR,所以我們?cè)诒镜鼗?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. 創(chuàng)建 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. 創(chuàng)建 ollama 支持的模型
ollama create DeepSeek-R1-Distill-Qwen-7B-int4-ov:v1 -f Modelfile
這樣我們就創(chuàng)建了 DeepSeek-R1-Distill-Qwen-7B-int4-ov:v1 可以供 Ollama OpenVINO 后端使用的模型。
5. 使用該模型
ollama run DeepSeek-R1-Distill-Qwen-7B-int4-ov:v1 "請(qǐng)幫我推薦北京著名的景點(diǎn)"
至此,您已經(jīng)掌握了如何在 Ollama 中使用 OpenVINO 后端。
-
英特爾
+關(guān)注
關(guān)注
61文章
10301瀏覽量
180453 -
接口
+關(guān)注
關(guān)注
33文章
9520瀏覽量
157036 -
gpu
+關(guān)注
關(guān)注
28文章
5194瀏覽量
135453 -
AI
+關(guān)注
關(guān)注
91文章
39793瀏覽量
301409 -
OpenVINO
+關(guān)注
關(guān)注
0文章
118瀏覽量
768
原文標(biāo)題:當(dāng) Ollama 遇上 OpenVINO? :解鎖多硬件 AI 推理新范式
文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
無(wú)法在OpenVINO工具套件中使用ENetwork.層怎么解決?
如何在UltraScale+設(shè)計(jì)中使用UltraRAM模塊
如何在Arduino中使用伺服電機(jī)
如何在Arduino中使用Modbus
如何在Ollama中使用OpenVINO后端
評(píng)論