利用 ONNX Runtime 增强 DeepSeek R1 的端侧推理性能。
作者:
Parinita Rahi, Sunghoon Choi, Kunal Vaishnavi, Maanav Dalal2025年2月19日
您是否正在寻找一种方法,利用用户本地计算机的算力在配备 NPU、GPU 和 CPU 的个人电脑上进行 AI 推理?别再找了!
随着最新版本的发布,您现在可以在 CPU 和 GPU 上运行这些模型。您可以从 Hugging Face 下载并运行经过 ONNX 优化的模型版本。此外,您还可以在 NPU 上运行这些模型:Windows 开发者博客。
轻松下载并运行您的模型!
DeepSeek ONNX 模型使您能够在任何 GPU 或 CPU 上运行 DeepSeek,其推理速度比原生 PyTorch 快 1.3 到 6.3 倍。要轻松上手该模型,您可以使用我们的 ONNX Runtime Generate() API。
CPU 快速入门
在虚拟环境中安装 onnxruntime-genai 及其 CPU 依赖项
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 聊天推理。如果您从 Hugging Face 拉取了模型,请相应调整模型目录 (-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 | 4X |
| deepseek-ai_DeepSeek-R1-Distill-Qwen-1.5B | Int4 | CUDA | RTX 4090 | 313.32 | 6.3X |
| deepseek-ai_DeepSeek-R1-Distill-Qwen-7B | fp16 | CUDA | RTX 4090 | 57.316 | 1.3X |
| deepseek-ai_DeepSeek-R1-Distill-Qwen-7B | Int4 | CUDA | RTX 4090 | 161.00 | 3.7X |
| deepseek-ai_DeepSeek-R1-Distill-Qwen-7B | Int4 | CPU | 13代 Intel i9 | 3.184 | 20X |
| deepseek-ai_DeepSeek-R1-Distill-Qwen-1.5B | Int4 | CPU | 13代 Intel i9 | 11.749 | 1.4X |
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 优化和部署模型的整个流程。该笔记本旨在帮助您快速高效地使用 DeepSeek 和 Olive,使您的 AI 开发过程更加顺畅、有效。
结论
使用 ONNX Runtime 优化 DeepSeek R1 蒸馏模型可以显著提高性能。这些经过优化的模型即将通过 Azure AI Foundry 发布,并可通过命令行或 VS Code AI Toolkit 轻松获取。
通过利用我们的 AI 框架解决方案(结合 Azure Foundry、AI Toolkit、Olive 和 ONNX Runtime),您可以获得端到端的模型开发体验。请持续关注关于提升 AI 模型性能的更多更新和最佳实践。