本文帮你快速了解什么是DeepSeek-R1蒸馏模型,怎么用亚马逊云的Inferentia2芯片部署它,如何用vLLM框架跑推理,以及用Prometheus和Grafana监控模型性能。配上简单易懂的代码示例,助你快速上手。
1. 什么是DeepSeek-R1蒸馏模型?
- DeepSeek-R1是2025年春节发布的一个大语言模型,经过"蒸馏"技术优化,体积更小,推理更快。
- 这个模型在亚马逊云科技(AWS)上可以通过多种方式部署,比如Amazon Bedrock Marketplace、SageMaker JumpStart,或者直接用AWS自研的Inferentia2芯片和Trainium芯片跑。
- Inferentia2是AWS专门为机器学习推理设计的高效芯片,能大幅提升模型推理速度,降低成本。
2. 如何在AWS Inferentia2上部署DeepSeek-R1蒸馏模型?
2.1 准备部署环境
- 使用Amazon EC2的
inf2.8xlarge
实例(推荐用于8B参数模型),操作系统选用Deep Learning AMI Neuron(Ubuntu 22.04),该镜像预装了TensorFlow、PyTorch等框架和Neuron SDK,支持Inferentia芯片。
2.2 安装vLLM推理框架
- vLLM是伯克利大学开源的高性能大语言模型推理框架,支持连续批处理和低延迟推理。
- NxD Inference是AWS提供的PyTorch推理库,专门支持Inferentia和Trainium芯片,能简化部署并提升性能。
- vLLM和NxD Inference集成后,只需在加载模型时加上
device="neuron"
参数即可使用Inferentia芯片。
2.3 安装步骤示例
bash
# 激活Neuron虚拟环境
source /opt/aws_neuronx_venv_pytorch_2_5_nxd_inference/bin/activate
# 安装git-lfs,方便下载大模型文件
sudo apt-get install git-lfs
git lfs install
# 安装Python依赖
pip install ipykernel jupyter notebook wget awscli
pip install --upgrade neuronx-cc==2.* torch-neuronx==2.1.* torchvision transformers-neuronx
# 克隆并安装vLLM
git clone https://github.com/vllm-project/vllm.git
cd vllm
pip install -U -r requirements-neuron.txt
pip install .
# 登录Hugging Face,下载模型
huggingface-cli login
huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Llama-8B
2.4 启动推理服务示例
bash
export MODEL_PATH=/home/ubuntu/.cache/huggingface/hub/models--deepseek-ai--DeepSeek-R1-Distill-Llama-8B/snapshots/ebf7e8d03db3d86a442d22d30d499abb7ec27bea/
python3 -m vllm.entrypoints.openai.api_server \
--model $MODEL_PATH \
--served-model-name DeepSeek-R1-Distill-Llama-8B \
--tensor-parallel-size 2 \
--max-model-len 2048 \
--max-num-seqs 4 \
--block-size 8 \
--use-v2-block-manager \
--device neuron \
--port 8000
-
参数说明:
--model
:模型路径--tensor-parallel-size 2
:使用2个设备并行--max-model-len 2048
:最大处理2048个token--max-num-seqs 4
:最大并发4个序列--device neuron
:用Inferentia芯片推理--port 8000
:服务监听端口
2.5 测试推理接口
bash
curl localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{"model": "DeepSeek-R1-Distill-Llama-8B", "prompt": "什么是DeepSeek R1?", "temperature":0, "max_tokens": 128}' | jq '.choices[0].text'
3. 如何监控模型推理性能?
3.1 关键性能指标介绍
指标名称 | 含义 | 重要性 |
---|---|---|
首Token延迟(TTFT) | 从请求发出到第一个token生成的时间 | 影响用户首次响应等待时间 |
Token间延迟(TPOT) | 每个生成token之间的平均时间 | 影响生成文本的流畅度 |
端到端延迟 | 从请求发出到完整响应生成完成的时间 | 反映整体响应速度 |
吞吐量(TPS/QPS) | 每秒生成的token数量或处理的请求数量 | 影响系统处理能力和成本效率 |
3.2 使用vLLM暴露的Prometheus指标
vLLM会在/metrics
接口输出丰富的性能数据,示例部分指标:
vllm:time_to_first_token_seconds
:首token延迟分布vllm:time_per_output_token_seconds
:每个token生成时间vllm:e2e_request_latency_seconds
:端到端请求延迟vllm:num_requests_waiting
:等待处理的请求数vllm:gpu_cache_usage_perc
:GPU缓存使用率
3.3 搭建Prometheus + Grafana监控面板
- 使用vLLM自带的Prometheus配置和Grafana仪表盘模板,快速可视化上述指标。
- 通过Docker启动Prometheus和Grafana:
bash
bash
cd vllm/examples/online_serving/prometheus_grafana
docker compose up
- 在Grafana中导入仪表盘JSON文件,配置Prometheus数据源,开始实时监控模型性能。
3.4 监控示例分析
- 首Token延迟P50约5秒,P99约10秒,说明大部分请求响应较快,少数请求较慢。
- Token间延迟稳定在150-200ms,保证生成文本流畅。
- 端到端延迟随负载增加可能上升至数十秒,提示需要扩容或优化。
- GPU缓存使用率高时,可能触发CPU缓存,影响性能。
4. 总结与实践建议
- DeepSeek-R1蒸馏模型结合AWS Inferentia2芯片和vLLM框架,能实现高效的推理部署。
- 通过Prometheus和Grafana监控关键指标,能及时发现性能瓶颈,保证用户体验。
- 关注首Token延迟和Token间延迟,合理调整并发数和模型参数,提升系统吞吐量。
- 使用真实对话数据集(如ShareGPT)进行压力测试,确保模型在实际场景下表现稳定。
附:完整的简单启动示例脚本
bash
# 环境准备
source /opt/aws_neuronx_venv_pytorch_2_5_nxd_inference/bin/activate
sudo apt-get install git-lfs
git lfs install
# 安装依赖
pip install ipykernel jupyter notebook wget awscli
pip install --upgrade neuronx-cc==2.* torch-neuronx==2.1.* torchvision transformers-neuronx
# 克隆vLLM
git clone https://github.com/vllm-project/vllm.git
cd vllm
pip install -U -r requirements-neuron.txt
pip install .
# 下载模型
huggingface-cli login
huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Llama-8B
# 启动推理服务
export MODEL_PATH=/home/ubuntu/.cache/huggingface/hub/models--deepseek-ai--DeepSeek-R1-Distill-Llama-8B/snapshots/ebf7e8d03db3d86a442d22d30d499abb7ec27bea/
python3 -m vllm.entrypoints.openai.api_server \
--model $MODEL_PATH \
--served-model-name DeepSeek-R1-Distill-Llama-8B \
--tensor-parallel-size 2 \
--max-model-len 2048 \
--max-num-seqs 4 \
--block-size 8 \
--use-v2-block-manager \
--device neuron \
--port 8000
通过以上步骤,你可以轻松部署并监控DeepSeek-R1蒸馏模型,享受AWS Inferentia2带来的高效推理体验。