让那个最没用的NPU也忙起来:通过openvino跑大模型

缘起

看过很多电脑评测视频,都会有一句:这个cpu自带一个没什么用的npu……

就是这个:

在这里插入图片描述

我实在不信intel搞了这么多年真的一无是处,于是就想着,能不能通过openvino跑大模型?

挑选大模型

npu的算力其实并不大,想试试只能找他自己优化过的:https://huggingface.co/OpenVINO

就这个吧:

在这里插入图片描述

安装openvino

# 创建一个虚拟环境
conda create -n vino python=3.13

# 激活虚拟环境
conda activate vino

# 安装openvino
pip install --upgrade pip
pip install openvino openvino-genai

参考官方文档:openvino 安装

特别注意:只能通过pip安装,不能通过conda,因为conda环境中不包括npu的插件,如官方文档的下图:

在这里插入图片描述

下载大模型

抱脸下载太慢了,好在在魔搭找到了镜像:

在这里插入图片描述

不知道二者差异的,推荐刚写的:

Hugging Face vs ModelScope:两大开源模型平台深度对比与高效下载指南

小试牛刀

直接用模型介绍页面的代码试试:

import openvino_genai

model_path = "D:\\model\\openvino"

device = "NPU"
pipe = openvino_genai.LLMPipeline(model_path, device)
config = openvino_genai.GenerationConfig()
config.max_new_tokens = 25600

history = openvino_genai.ChatHistory()
history.append({"role": "system", "content": "You are a helpful assistant."})

def streamer(subword):
    print(subword, end='', flush=True)
    return False 

while True:
    try:
        prompt = input('\nquestion:\n')
    except EOFError:
        break
    history.append({"role": "user", "content": prompt})
    result = pipe.generate(history, config, streamer)
    history.append({"role": "assistant", "content": result.texts[0]})
    print(f"\nanswer:\n{result.texts[0]}")

看看效果:

在这里插入图片描述

速度还可以,第一个token有点慢,后面速度跟上阅读不难。

启动服务,接入Cherry-Studio

直接问ima,他给我推了一个star为0的项目:

https://github.com/prskid1000/intel-npu-llm

不过还是能用的:

在这里插入图片描述

试试效果:

在这里插入图片描述

看看是不是npu在跑:

在这里插入图片描述

小结

NPU的算力还是很低的,但是对比GPU来,他的功耗也是很低的,笔记本上能省很多电,再等等小模型的发展,还是足够用的,至少是给本地龙虾聊聊天足够的。

欢迎关注:

让那个最没用的NPU也忙起来:通过openvino跑大模型

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐