使用 ONNX Runtime 增强 DeepSeek R1 在设备端推理的性能。
作者
Parinita Rahi, Sunghoon Choi, Kunal Vaishnavi, Maanav Dalal2025年2月19日
您是否是一位开发者,希望利用用户本地计算能力在配备 NPU、GPU 和 CPU 的 PC 上进行 AI 推理?那么就不要再犹豫了!
在新版本中,您现在可以在 CPU 和 GPU 上运行这些模型。您现在可以从 Hugging Face 下载并运行这些模型的 ONNX 优化变体。此外,您还可以在 NPU 上运行这些模型:Windows Developer Blog。
轻松下载并运行您的模型!
DeepSeek ONNX 模型使您能够在任何 GPU 或 CPU 上运行 DeepSeek,性能速度比原生 PyTorch 快 1.3 到 6.3 倍。为了轻松开始使用该模型,您可以使用我们的 ONNX Runtime Generate()
API。
CPU 快速入门
在虚拟环境中为 CPU 安装 onnxruntime-genai 及其依赖项
python -m venv .venv && source .venv/bin/activate
pip install requests numpy --pre onnxruntime-genai
使用 huggingface cli 直接下载模型
huggingface-cli download onnxruntime/DeepSeek-R1-Distill-ONNX --include "deepseek-r1-distill-qwen-1.5B/*" --local-dir ./
CPU 聊天推理。如果您从 huggingface 拉取了模型,请相应地调整模型目录 (-m)
wget https://raw.githubusercontent.com/microsoft/onnxruntime-genai/refs/heads/main/examples/python/model-chat.py
python model-chat.py -m deepseek-r1-distill-qwen-1.5B/cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4 -e cpu
有关 GPU (CUDA, DML) 的说明,请参阅此处。
ONNX 模型性能提升
ONNX 使您能够在 CPU、GPU、NPU 等设备上运行模型。借助 ONNX,您可以在所有硅芯片(Qualcomm、AMD、Intel、Nvidia)的任何机器上运行模型。有关 Windows GPU 和 CPU 设备的一些关键基准,请参见下表。
模型 | 精度 | 执行提供程序 | 设备 | Token 生成吞吐量 | 相对 PyTorch 的加速 |
---|---|---|---|---|---|
deepseek-ai_DeepSeek-R1-Distill-Qwen-1.5B | fp16 | CUDA | RTX 4090 | 197.195 | 4倍 |
deepseek-ai_DeepSeek-R1-Distill-Qwen-1.5B | Int4 | CUDA | RTX 4090 | 313.32 | 6.3倍 |
deepseek-ai_DeepSeek-R1-Distill-Qwen-7B | fp16 | CUDA | RTX 4090 | 57.316 | 1.3倍 |
deepseek-ai_DeepSeek-R1-Distill-Qwen-7B | Int4 | CUDA | RTX 4090 | 161.00 | 3.7倍 |
deepseek-ai_DeepSeek-R1-Distill-Qwen-7B | Int4 | CPU | 第13代 Intel i9 | 3.184 | 20倍 |
deepseek-ai_DeepSeek-R1-Distill-Qwen-1.5B | Int4 | CPU | 第13代 Intel i9 | 11.749 | 1.4倍 |
CUDA 构建规范:onnxruntime-genai-cuda==0.6.0, transformers==4.46.2, onnxruntime-gpu==1.20.1
CPU 构建规范:onnxruntime-genai==0.6.0, transformers==4.46.2, onnxruntime==1.20.01
使用 Olive 轻松微调您的模型。
此notebook 提供了使用 Olive 框架微调 DeepSeek 模型的逐步指南。它涵盖了设置环境、准备数据以及利用 Azure AI Foundry 优化和部署模型的过程。该 notebook 旨在帮助您快速有效地开始使用 DeepSeek 和 Olive,使您的 AI 开发过程更加顺畅和高效。
结论
使用 ONNX Runtime 优化 DeepSeek R1 蒸馏模型可以显著提升性能。这些优化后的模型即将通过 Azure AI Foundry 发布,并且可以通过命令行或 VS Code AI Toolkit 轻松访问。
通过利用我们的 AI 框架解决方案,结合 Azure Foundry、AI Toolkit、Olive 和 ONNX Runtime,您可以获得端到端的模型开发体验解决方案。请继续关注更多关于增强 AI 模型性能的更新和最佳实践。