You need to enable JavaScript to run this app.
文档中心
云服务器

云服务器

复制全文
下载 pdf
AIGC实践
搭建DeepSeek-R1-Distill模型进行文本生成推理
复制全文
下载 pdf
搭建DeepSeek-R1-Distill模型进行文本生成推理
本文主要介绍如何在云服务器实例中部署不同参数量级的DeepSeek-R1-Distill模型并使用CPU进行推理,以及通过Intel xFasterTransformer实现推理过程加速的方案。​
背景信息​
DeepSeek-R1-Distill模型​
DeepSeek-R1-Distill是一个基于DeepSeek-R1生成的800K个样本,对原开源模型进行微调得到的新模型,旨在以更小参数规模保留DeepSeek-R1发现的强大推理模型。您可以根据本文指引,按需部署不同参数量级的模型。​
​
模型名称​
参数量级​
DeepSeek-R1-Distill-Qwen-1.5B​
1.5B​
DeepSeek-R1-Distill-Qwen-7B​
7B​
DeepSeek-R1-Distill-Llama-8B​
8B​
DeepSeek-R1-Distill-Qwen-32B​
32B​
​
xFasterTransformer​
Intel xFasterTransformer 是Intel®开发的一个加速库,旨在为大语言模型(LLM)在CPU X86平台上的部署提供了一种深度优化的解决方案。支持多CPU节点之间的分布式部署方案,使得超大模型在CPU上的部署成为可能。此外,xFasterTransformer提供了C++和Python两种API接口,涵盖了从上层到底层的接口调用,易于用户使用并将xFasterTransformer集成到自有业务框架中。更多信息,可查看xFasterTransformer。​
oneCCL​
oneCCL(One Collective Communication Library)是Intel®推出的一种集体通信库,旨在为分布式深度学习训练提供高性能的通信支持。它提供了一组优化的通信算法和数据结构,可用于在分布式环境中实现高效的通信操作。​
oneDNN​
oneDNN(oneAPI Deep Neural Network Library)是Intel®开发的一个深度学习加速库,旨在优化和加速深度学习模型的推理和训练。它提供了一系列高效的算法和优化,用于在英特尔处理器(CPU)、图形处理器(GPU)和其他硬件加速器上执行深度学习任务。​
使用场景​
  • 低成本体验​
  • 若您希望体验自行部署、运行DeepSeek模型,对AI性能要求较低,云服务器实例的CPU性能足以满足您的需求,且相较于选用GPU实例成本更低。​
  • 开发和调试​
  • 若您在进行DeepSeek模型的开发、调试,使用CPU实例可以避免GPU驱动、CUDA版本等兼容性问题,降低开发和管理成本。​
  • 轻量级模型需求​
  • 若您任务规模较小(低频调用、小批量数据处理),云服务器实例的多核CPU足以满足性能要求。​
操作步骤​
步骤一:准备环境​
根据期望部署的模型参数规模,购买符合要求的创建CPU实例。了解更多。​
​
配置项​
推荐配置​
基础配置​
​
计算规格​
ecs.c3il.2xlarge​
说明​
若您期望部署不同参数规模的DeepSeek-R1-Distill模型,可参考如下推荐选用实例:​
  • DeepSeek-R1-Distill-Qwen-1.5B:推荐选用ecs.c3il.2xlarge、ecs.c3i.2xlarge规格​
  • DeepSeek-R1-Distill-Qwen-7B:推荐选用ecs.c3il.8xlarge、ecs.c3i.8xlarge规格​
  • DeepSeek-R1-Distill-Llama-8B:推荐选用ecs.c3il.8xlarge、ecs.c3i.8xlarge规格。​
  • DeepSeek-R1-Distill-Qwen-32B:推荐选用ecs.c3il.16xlarge、ecs.c3i.16xlarge规格。​
镜像​
Ubuntu 22.04 64 bit​
存储​
  • 规格:极速型SSD FlexPL云盘或吞吐型SSD TL0云盘​
  • 容量:不低于 100 GiB​
说明​
本文使用的DeepSeek-R1-Distill-Qwen-1.5B模型参数量为1.5B,您可以根据实际部署的模型参数量级调整云盘容量。推荐配置如下:​
  • DeepSeek-R1-Distill-Qwen-1.5B:不低于 100 GiB​
  • DeepSeek-R1-Distill-Qwen-7B:不低于 100 GiB​
  • DeepSeek-R1-Distill-Llama-8B:不低于 100 GiB​
  • DeepSeek-R1-Distill-Qwen-32B:不低于 200 GiB。​
网络配置​
​
弹性公网IP​
勾选“分配弹性公网IP”。​
​
步骤二:部署模型​
​
方案​
支持模型​
说明​
通过Docker部署(推荐)​
  • DeepSeek-R1-Distill-Qwen-1.5B​
  • DeepSeek-R1-Distill-Qwen-7B​
  • DeepSeek-R1-Distill-Qwen-32B​
  • 适用于快速部署非Llama模型场景​
  • 无需跨境下载依赖工具,部署过程简单​
手动部署​
  • DeepSeek-R1-Distill-Qwen-1.5B​
  • DeepSeek-R1-Distill-Qwen-7B​
  • DeepSeek-R1-Distill-Llama-8B​
  • DeepSeek-R1-Distill-Qwen-32B​
  • 适用于部署Qwen与Llama模型的场景​
  • 需要跨境下载依赖工具,部署过程相对复杂​
​
​
通过Docker部署
手动部署
​
  1. 执行如下命令,安装Docker。​
  • ​
    sudo apt update​
    sudo apt install -y docker.io​
    ​
  1. 执行如下命令,启动Docker和模型服务。​
  • ​
    docker run -d --network host --privileged --shm-size 15g -v /data00/models:/data00/models -e MODEL_PATH=/data00/models -e PORT=8000 -e MODEL_NAME=DeepSeek-R1-Distill-Qwen-7B -e DTYPE=bf16 -e KV_CACHE_DTYPE=fp16 ai-containers-cn-beijing.cr.volces.com/deeplearning/xft-vllm:1.8.2.iaas bash /llama2/entrypoint.sh​
    ​
  • 参数说明:​
  • MODEL_PATH:模型存储路径,默认为/data/models。​
  • MODEL_NAME:待部署的模型名称,默认值为DeepSeek-R1-Distill-Qwen-7B。取值支持:DeepSeek-R1-Distill-Qwen-1.5B、DeepSeek-R1-Distill-Qwen-7B、DeepSeek-R1-Distill-Qwen-32B。​
  • PORT:服务监听的端口号,默认值8000。​
  • DTYPE:模型量化类型,默认值为bf16。取值支持:auto、half、float16、bfloat16、float、float32、fp16、bf16、int8、w8a8、int4、nf4、bf16_fp16、bf16_int8、bf16_w8a8、bf16_int4、bf16_nf4、w8a8_int8、w8a8_int4、w8a8_nf4。​
  • KV_CACHE_DTYPE:KV_CACHE量化类型,默认值为fp16。取值支持:auto、fp8、fp8_e5m2、fp8_e4m3、fp16、int8。​
  1. 执行如下命令,通过Docker日志确认容器及模型是否成功启动。​
  1. 查看容器ID。​
  • ​
    docker ps​
    ​
  1. 查看对应容器的运行日志。​
  • ​
    docker logs --since 30m <CONTAINER_ID>​
    ​
说明​
请将<CONTAINER_ID>替换为实际容器ID。​
  1. 执行如下命令,查看端口启动情况。​
  • ​
    netstat -lntp | grep 8000​
    ​
  • 回显示例:​
  • 回显如下所示时,表示8000端口已成功处于监听状态。​
  • ​​​
​
步骤三:调用模型​
注意​
若您选用“手动部署”方案,调用模型时请勿关闭运行推理服务的终端,请在浏览器中新建页面再次登录目标实例。后续,您可以在新建的终端中调用模型。​
  1. 执行如下命令安装jq,美化模型输出。​
  • ​
    sudo apt install -y jq​
    ​
  1. 执行如下命令调用模型,确保部署的模型可以正常进行推理。​
  • ​
    curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{​
    "model": "xft",​
    "messages":[{"role":"user","content":"你好呀!请问你是谁?"}],​
    "max_tokens": 256,​
    "temperature": 0.6​
    }' | jq​
    ​
  • 参数说明:​
  • 本文仅说明验证使用到的参数信息,更多参数详情可查看DeepSeek API文档。​
  • ​
    参数名​
    说明​
    取值样例​
    model​
    使用的模型名称。​
    xft​
    messages​
    对话的消息列表。​
    • role:该消息的发起角色。​
    • content:消息的内容。​
    -​
    max_tokens​
    指定一次请求中模型生成Completion的最大Token数。取值:​
    • 介于1 到 8192 间的整数,如未指定 max_tokens参数。​
    • 默认值为 4096。​
    100​
    temperature​
    采样温度,值越高(例如1)会使输出更随机,而值越低(例如0.2)会使其更加集中和确定。取值:介于 0 和 2 之间。​
    0.7​
    ​
  • 回显示例:​
  • ​​​
附录​
​
资源​
​
地域​
下载方式​
推理引擎​
​
华北2(北京)​
​
​
docker pull ai-containers-cn-beijing.cr.volces.com/deeplearning/xft-vllm:1.8.2.iaas​
​
模型文件​
说明​
请使用tosutil下载模型文件。​
DeepSeek-R1-Distill-Qwen-1.5B​
华北2(北京)​
https://iaas-public-model-cn-beijing.tos-cn-beijing.ivolces.com/models/DeepSeek-R1-Distill-Qwen-1.5B/​
​
​
华东2(上海)​
https://iaas-public-model-cn-shanghai.tos-cn-shanghai.ivolces.com/models/DeepSeek-R1-Distill-Qwen-1.5B/​
​
DeepSeek-R1-Distill-Qwen-7B​
华北2(北京)​
https://iaas-public-model-cn-beijing.tos-cn-beijing.ivolces.com/models/DeepSeek-R1-Distill-Qwen-7B/​
​
​
华东2(上海)​
https://iaas-public-model-cn-shanghai.tos-cn-shanghai.ivolces.com/models/DeepSeek-R1-Distill-Qwen-7B/​
​
DeepSeek-R1-Distill-Qwen-32B​
华北2(北京)​
https://iaas-public-model-cn-beijing.tos-cn-beijing.ivolces.com/models/DeepSeek-R1-Distill-Qwen-32B/​
​
​
华东2(上海)​
https://iaas-public-model-cn-shanghai.tos-cn-shanghai.ivolces.com/models/DeepSeek-R1-Distill-Qwen-32B/​
​
​
最近更新时间:2025.02.28 16:24:49
这个页面对您有帮助吗?
有用
有用
无用
无用