快速部署DeepSeek-V3、DeepSeek- R1模型
更新时间:2025-02-28
DeepSeek-V3 是一款由深度求索公司开发的一款拥有6710亿参数的专家混合(MoE)大语言模型,支持文本、图像、音频等多种数据类型的处理。DeepSeek-R1是基于DeepSeek-V3-Base训练的高性能推理模型。百舸平台提供了基于vLLM、SGLang加速部署的能力,帮助您快速部署DeepSeek-V3和DeepSeek-R1系列模型。百舸目前支持在通用资源池和轻量计算实例两种资源形态上部署DeepSeek,轻量实例更灵活可以快速体验模型效果,资源池更稳定适合部署在线推理服务。您可以根据需求选择部署方式。
支持部署以下模型,模型大小请参考附录:
- DeepSeek-V3
- DeepSeek-R1
- DeepSeek-R1-Distill-Qwen-1.5B
- DeepSeek-R1-Distill-Qwen-7B
- DeepSeek-R1-Distill-Llama-8B
- DeepSeek-R1-Distill-Qwen-14B
- DeepSeek-R1-Distill-Qwen-32B
- DeepSeek-R1-Distill-Llama-70B
轻量实例部署
开通轻量计算实例
可根据下表的推荐配置开通算力计算实例并添加到百舸异构计算平台。
注意:购买H20、L20机型需开通白名单,请联系百度售前工程师
部署vLLM
- 登录百舸异构计算平台
- 在左侧导航中选择 工具市场
- 进入工具市场页面,部署工具 vLLM
准备模型文件
- vLLM部署成功后,点击 登录 查看登录信息SSH登录
ssh your_username@your_server_ip
- 下载模型
modelscope download --model="deepseek-ai/DeepSeek-V3" --local_dir PATH_TO_MODEL
启动vLLM服务
python -m vllm.entrypoints.openai.api_server \
--model PATH_TO_MODEL \
--served-model-name DeepSeek-V3 \
--port $API_PORT
--tensor-parallel-size 1
--max-num-seqs 64
--max_model_len=4096
设置WebUI 开启对话
- 下载并安装 ChatBoxAI客户端 https://chatboxai.app/zh
- 点击 设置 添加自定义提供方
- 在设置中输入模型名称和API域名,API调用地址可在百舸控制台已部署的vLLM实例的登录信息中获取,输入时需要在调用地址后拼接/v1/
- 输入问题,开启对话
资源池部署
前置条件
- 创建通用资源池,可参考附录创建相应机型的资源池。 注意:购买H20、L20机器需要先联系百度售前工程师开通白名单。
- 开通PFS与资源池关联。
准备模型文件
- 从开源社区下载模型文件
- 登录百舸异构计算平台
- 在左侧导航中选择 数据下载
- 进入数据集/模型管理页面,点击 创建数据集/模型
- 创建内容选择模型,复制开源模型名称即可一键从HuggingFace下载模型权重文件存储到BOS对象存储中
- 将模型文件转储到PFS
在数据集/模型管理 列表中找到已下载成功的模型文件,点击 数据转储 将模型文件转储到需要部署的资源池关联的PFS中。
部署模型
- 登录百舸异构计算平台
- 在左侧导航中选择 在线服务部署
- 进入自定义部署页面点击 部署服务
- 填写部署模型服务的相关参数:
a.服务镜像选择 CCR企业版镜像>百舸预置镜像 平台提供vLLM和SGLang加速镜像,部署全尺寸R1和V3建议使用sglang v0.4.3,部署蒸馏模型建议使用vllm-openai v0.7.1
b.启动命令:输入附录中对应模型的vLLM和SGLang启动命令
c.挂载存储模型权重文件的PFS路径
5.部署服务,等待服务状态为“运行中”即可调用。
调用模型服务
- 在服务详情中查看访问地址和服务端口
- 请求示例
curl语句:
curl http://192.168.0.46:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-R1-Distill-Llama-70B",
"prompt": "鸡兔同笼,头共20个,足共62只,求鸡与兔各有多少只?"
}'
python语句:
from openai import OpenAI
openai_api_key = "EMPTY"
openai_api_base = "http://192.168.0.46:8000/v1"
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
models = client.models.list()
model = models.data[0].id
# Round 1
messages = [{"role": "user", "content": "鸡兔同笼,头共20个,足共62只,求鸡与兔各有多少只?"}]
response = client.chat.completions.create(model=model, messages=messages)
reasoning_content = response.choices[0].message.reasoning_content
content = response.choices[0].message.content
print("reasoning_content:", reasoning_content)
print("content:", content)
- 响应结果
reasoning_content:
首先,设鸡的数量为x,兔的数量为y。根据题意,鸡和兔的总头数为20,只数为62。
建立方程组:
x + y = 20
2x + 4y = 62
通过代数方法消元,求解方程组,得出x和y的值。
content:
**解答:**
设鸡的数量为 \( x \) 只,兔的数量为 \( y \) 只。
根据题意,可以建立以下方程组:
\[
\begin{cases}
x + y = 20 & \text{(头的总数)} \\
2x + 4y = 62 & \text{(足的总数)}
\end{cases}
\]
**步骤1:简化方程**
将第二个方程两边同时除以2,得到:
\[
x + 2y = 31
\]
**步骤2:消元**
用简化后的方程减去第一个方程:
\[
(x + 2y) - (x + y) = 31 - 20
\]
化简得到:
\[
y = 11
\]
**步骤3:回代求解 \( x \)**
将 \( y = 11 \) 代入第一个方程:
\[
x + 11 = 20
\]
解得:
\[
x = 9
\]
**最终答案:**
\[
\boxed{鸡有9只,兔子有11只}
\]
附录
推荐配置
模型名称 | 模型大小 | 推荐配置 | 云上可用实例 | 目录价参考 |
---|---|---|---|---|
DeepSeek-V3 | FP8:700 GB | H20 *8 | ebc.lgn7t.c208m2048.8h20.4d | 包年包月:¥140,000.00元/月 |
DeepSeek-R1 | FP8:700 GB | H20 *8 | ebc.lgn7t.c208m2048.8h20.4d | 包年包月:¥140,000.00元/月 |
DeepSeek-R1-Distill-Qwen-1.5B | BF16:3.55 GB | A10 *1 L20 *1 |
bcc.gn5.c28m112.1a10 bcc.gn5i.c28m112.1l20 |
A10_bcc.gn5.c28m112.1a10 包年包月:¥5,270.00元/月 按量计费:¥10.98元/小时 L20_bcc.gn5i.c28m112.1l20 包年包月:¥8,000.00元/月 |
DeepSeek-R1-Distill-Qwen-7B | BF16:15.23 GB | A10 *1 L20 *1 |
bcc.gn5.c28m112.1a10 bcc.gn5i.c28m112.1l20 |
A10_bcc.gn5.c28m112.1a10 包年包月:¥5,270.00元/月 按量计费:¥10.98元/小时 L20_bcc.gn5i.c28m112.1l20 包年包月:¥8,000.00元/月 |
DeepSeek-R1-Distill-Llama-8B | BF16:16.06 GB | A10 *1 L20 *1 |
bcc.gn5.c28m112.1a10 bcc.gn5i.c28m112.1l20 |
A10_bcc.gn5.c28m112.1a10 包年包月:¥5,270.00元/月 按量计费:¥10.98元/小时 L20_bcc.gn5i.c28m112.1l20 包年包月:¥8,000.00元/月 |
DeepSeek-R1-Distill-Qwen-14B | BF16:29.54 GB | A10 *2 L20 *1 |
bcc.gn5.c56m244.2a10 bcc.gn5i.c28m112.1l20 |
A10_bcc.gn5.c56m244.2a10 包年包月:¥10,540.00元/月 按量计费:¥21.96元/小时 L20_bcc.gn5i.c28m112.1l20 包年包月:¥8,000.00元/月 |
DeepSeek-R1-Distill-Qwen-32B | BF16:65.53 GB | A10 *4 L20 *2 |
bcc.gn5.c112m476.4a10 bcc.gn5i.c56m224.2l20 |
A10_bcc.gn5.c28m112.4a10 包年包月:¥21,206.00元/月 按量计费:¥44.18 元/小时 L20_bcc.gn5i.c28m112.2l20 包年包月:¥16,000.00元/月 |
DeepSeek-R1-Distill-Llama-70B | BF16:150 GB | L20 *4 | bcc.gn5i.c112m476.4l20 | 包年包月:¥32,000.00元/月 |
vLLM启动命令
模型名称 | 启动命令 |
---|---|
DeepSeek-V3 | python3 -m vllm.entrypoints.openai.api_server --port {port} --model PATH_TO_MODEL --served-model-name DeepSeek-V3 --trust-remote-code --tensor-parallel-size 8 --max-num-seqs 64 --max_model_len 2048 --enable-reasoning --reasoning-parser deepseek_r1 --gpu_memory_utilization 0.98 --enforce_eager |
DeepSeek-R1 | python3 -m vllm.entrypoints.openai.api_server --port {port} --model PATH_TO_MODEL --served-model-name DeepSeek-R1 --trust-remote-code --tensor-parallel-size 8 --max-num-seqs 64 --max_model_len 2048 --enable-reasoning --reasoning-parser deepseek_r1 --gpu_memory_utilization 0.98 --enforce_eager |
DeepSeek-R1-Distill-Qwen-1.5B | python3 -m vllm.entrypoints.openai.api_server --port {port} --model PATH_TO_MODEL --served-model-name DeepSeek-R1-Distill-Qwen-1.5B --tensor-parallel-size 1 --max-num-seqs 64 --max_model_len=2048 --enable-reasoning --reasoning-parser deepseek_r1 |
DeepSeek-R1-Distill-Qwen-7B | python3 -m vllm.entrypoints.openai.api_server --port {port} --model PATH_TO_MODEL --served-model-name DeepSeek-R1-Distill-Qwen-7B --tensor-parallel-size 1 --max-num-seqs 64 --max_model_len=2048 --enable-reasoning --reasoning-parser deepseek_r1 |
DeepSeek-R1-Distill-Llama-8B | python3 -m vllm.entrypoints.openai.api_server --port {port} --model PATH_TO_MODEL --served-model-name DeepSeek-R1-Distill-Llama-8B --tensor-parallel-size 1 --max-num-seqs 64 --max_model_len=2048 --enable-reasoning --reasoning-parser deepseek_r1 |
DeepSeek-R1-Distill-Qwen-14B | plain python3 -m vllm.entrypoints.openai.api_server --port {port} --model PATH_TO_MODEL --served-model-name DeepSeek-R1-Distill-Qwen-14B --tensor-parallel-size 1 --max-num-seqs 64 --max_model_len=2048 --enable-reasoning --reasoning-parser deepseek_r1 |
DeepSeek-R1-Distill-Qwen-32B | python3 -m vllm.entrypoints.openai.api_server --port {port} --model PATH_TO_MODEL --served-model-name DeepSeek-R1-Distill-Qwen-32B --tensor-parallel-size 1 --max-num-seqs 64 --max_model_len=2048 --enable-reasoning --reasoning-parser deepseek_r1 |
DeepSeek-R1-Distill-Llama-70B | python3 -m vllm.entrypoints.openai.api_server --port {port} --model PATH_TO_MODEL --served-model-name DeepSeek-R1-Distill-Llama-70B --tensor-parallel-size 2 --quantization fp8 --kv-cache-dtype fp8_e4m3 --max-num-seqs 64 --max_model_len=2048 --enable-reasoning --reasoning-parser deepseek_r1 |
SGLang启动命令
模型名称 | 启动命令 |
---|---|
DeepSeek-V3、R1 | python3 -m sglang.launch_server --model PATH_TO_MODEL --tp 8 --trust-remote-code --host 0.0.0.0 --port {port} --mem-fraction-static 0.90 |