使用 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 开发者博客。
轻松下载并运行您的模型!
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 设备的一些关键基准测试数据。
模型 | 精度 | 执行提供者 | 设备 | 令牌生成吞吐量 | 相对于 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 | 13th Gen Intel i9 | 3.184 | 20X |
deepseek-ai_DeepSeek-R1-Distill-Qwen-1.5B | Int4 | CPU | 13th Gen Intel i9 | 11.749 | 1.4X |
CUDA BUILD SPECS: onnxruntime-genai-cuda==0.6.0, transformers==4.46.2, onnxruntime-gpu==1.20.1
CPU BUILD SPECS: onnxruntime-genai==0.6.0, transformers==4.46.2, onnxruntime==1.20.01
使用 Olive 轻松微调您的模型。
此笔记本提供了使用 Olive 框架微调 DeepSeek 模型的逐步指南。它涵盖了设置环境、准备数据以及利用 Azure AI Foundry 优化和部署模型的过程。此笔记本旨在帮助您快速高效地开始使用 DeepSeek 和 Olive,使您的 AI 开发过程更顺畅、更高效。
总结
使用 ONNX Runtime 优化 DeepSeek R1 蒸馏模型可以显著提升性能。这些优化后的模型将很快通过 Azure AI Foundry 提供,并且可以通过命令行或 VS Code AI Toolkit 轻松访问。
通过结合使用 Azure Foundry、AI Toolkit、Olive 和 ONNX Runtime 的 AI 框架解决方案,您将获得端到端的模型开发体验。请继续关注更多关于提升 AI 模型性能的更新和最佳实践。