作者:
张晶英特尔创新大使
李翊玮英特尔开发者技术推广工程师
DeepSeek-R1在春节期间引发了全球科技界的热度,DeepSeek-R1 是由 DeepSeek 开发的开源推理模型,用于解决需要逻辑推理、数学问题解决和实时决策的任务。使用 DeepSeek-R1,您可以遵循其逻辑,使其更易于理解,并在必要时对其输出提出质疑。此功能使推理模型在需要解释结果的领域(如研究或复杂决策)中具有优势。AI 中的蒸馏从较大的模型创建更小、更高效的模型,在减少计算需求的同时保留了大部分推理能力。DeepSeek 应用了这项技术,使用 Qwen 和 Llama 架构从 R1 创建了一套提炼的模型。这使我们能够在普通笔记本电脑上本地试用 DeepSeek-R1 功能。在本教程中,我们将研究如何使用 OpenVINO 运行 DeepSeek-R1 蒸馏模型。
在创新大使的文章《赶紧在本地运行与OpenAI-o1能力近似的DeepSeek-R1模型》也收到了读者的热烈反馈。很多读者问:DeepSeek-R1除了部署在RTX-4060上,能否部署到英特尔Ultra Core 的CPU、GPU或NPU上?
本文将基于OpenVINO GenAI库,介绍使用三行Python代码,将DeepSeek-R1模型到英特尔酷睿Ultra CPU、GPU或NPU的完整过程。
赶紧在本地运行与OpenAI-o1能力近似的DeepSeek-R1模型
https://mp.weixin.qq.com/s/Nu6ovClNOAfhXa-exnlWdg
OpenVINO GenAI库
https://mp.weixin.qq.com/s/1nwi3qJDqAkIXnrGQnP3Rg
1硬件介绍
本文是用KHARAS深圳市世野科技(https://www.khadas.com/product-page/mind-maker-kit-lnl)提供基于英特尔酷睿Ultra的AI PC,只有435g, 以下为其参数:
主要特点
oIntel Core Ultra Processor Series 2
oAI Performance: up to 115 TOPS
oNPU: 4.0 AI Engine, up to 47 TOPS
oGPU: Intel Arc 140V, up to 64 TOPS
o32GB LPDDR5X Memory, 1TB PCIe SSD
oCopilot PC: Windows AI assistant
oBattery Life Optimization
oWiFi Bluetooth: AX211D2
应用场景
AI PC 开发
o 以 AI 为中心的硬件和软件的进步使 AI 在 PC 上成为可能。将项目从早期 AI 开发无缝过渡到基于云的训练和边缘部署。
多个处理器中的 AI 加速
o 英特尔 酷睿 Ultra 7 258V 处理器通过混合架构将 CPU、GPU 和 NPU 相结合,并通过高带宽内存和缓存进行增强,从而加速 AI。
Intel AI PC 开发支持
o 通过针对 Intel CPU 和 GPU 优化的 OpenVINO 工具包和 ONNX 运行时获得 Intel 官方支持。
2什么是OpenVINOGenAI库?
回到标题, 我们将用OpenVINO GenAI库基于OpenVINO 工具套件和运行时,提供C /Python API,支持生成式AI模型在英特尔硬件平台上快速部署。
OpenVINO GenAI库
https://mp.weixin.qq.com/s/1nwi3qJDqAkIXnrGQnP3Rg
OpenVINO 工具套件
https://mp.weixin.qq.com/s/fORowUzzcPSVIO6AieoUKA
Github仓:https://github.com/openvinotoolkit/openvino.genai
3搭建OpenVINOGenAI开发环境
只需两条安装命令,即可完成OpenVINO GenAI开发环境的搭建:
# 安装OpenVINO GenAI pip install openvino-genai # 安装optimum-intel,用于转换并量化生成式AI模型 pip install pip install optimum-intel[openvino]
4下载并量化DeepSeek-R1模型
请先使用下面的命令,从ModelScope下载DeepSeek-R1-Distill-Qwen-1.5B模型到本地:
# 安装ModelScope pip install modelscope # 下载DeepSeek-R1-Distill-Qwen-1.5B模型 modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
5使用 Optimum-CLI 工具转换模型
本文使用optimum-intel命令,将DeepSeek-R1-Distill-Qwen-1.5B PyTorch格式模型转换为OpenVINO IR格式模型,并完成FP16、INT8或INT4量化。
Optimum Intel 是 Transformers 和 Diffusers 库与 OpenVINO 之间的接口,用于加速 Intel 架构上的端到端管道。它提供易于使用的 cli 界面,用于将模型导出为 OpenVINO 中间表示 (IR)格式。
以下命令演示了使用optimum-cli 导出模型的基本命令
optimum-cli export openvino --model--task
其中--model 参数是 HuggingFace Hub 中的模型 ID 或带有 model 的本地目录(使用 .save_pretrained 方法保存),--task 是导出的模型应该解决的支持任务之一。对于 LLM,建议使用 text-generation-with-past。如果模型初始化需要使用远程代码,则应额外传递--trust-remote-code 标志。
optimum-cli export openvino --model d:DeepSeek-R1-Distill-Qwen-1___5B --task text-generation-with-past --weight-format int4 --group-size 128 --ratio 0.8 --sym d:dsr1_int4 optimum-cli export openvino --model d:DeepSeek-R1-Distill-Qwen-1___5B --task text-generation-with-past --weight-format int8 d:dsr1_int8 optimum-cli export openvino --model d:DeepSeek-R1-Distill-Qwen-1___5B --task text-generation-with-past --weight-format fp16 d:dsr1_fp16
设置 --weight-format 分别为 fp16、int8 或 int4。这种类型的优化可以减少内存占用和推理延迟。默认情况下,int8/int4 的量化方案是非对称的,要使其对称化,您可以添加 --sym。
对于 INT4 量化,您还可以指定以下参数:
--group-size 参数将定义用于量化的组大小,-1 将导致每列量化。
--ratio 参数控制 4 位和 8 位量化之间的比率。如果设置为 0.9,则意味着 90% 的层将被量化为 int4,而 10% 的层将被量化为 int8。
较小的 group_size 和 ratio 值通常会以牺牲模型大小和推理延迟为代价来提高准确性。您可以使用 --awq 标志启用在模型导出期间以 INT4 精度额外应用 AWQ,并使用 --datasetparameter 提供数据集名称(例如 --dataset wikitext2)
注意:
1. 应用 AWQ 需要大量的内存和时间。
2. 模型中可能没有匹配的模式来应用 AWQ,在这种情况下,将跳过它。
6编写DeepSeek-R1的推理程序
获得DeepSeek-R1的OpenVINO IR模型后,即可使用OpenVINO GenAI库编写推理程序,仅需三行Python代码,如下所示:
import openvino_genai #Will run model on CPU, GPU or NPU are possible options pipe = openvino_genai.LLMPipeline("D:dsr1_int4", "GPU") print(pipe.generate("Prove the Pythagorean theorem.", max_new_tokens=4096))
运行视频如下所示:
7总结
使用OpenVINO GenAI库可以方便快捷的将生成式AI模型本地化部署到英特尔 酷睿Ultra CPU、GPU或NPU上。
关注
61文章
10076浏览量
172887关注
68文章
10949浏览量
213906免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com