欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 【AIGC魔童】DeepSeek v3推理部署:DeepSeek-Infer/ModelScope/ollama

【AIGC魔童】DeepSeek v3推理部署:DeepSeek-Infer/ModelScope/ollama

2025/2/8 6:49:51 来源:https://blog.csdn.net/qq_36722887/article/details/145504830  浏览:    关键词:【AIGC魔童】DeepSeek v3推理部署:DeepSeek-Infer/ModelScope/ollama

【AIGC魔童】DeepSeek v3推理部署:DeepSeek-Infer/ModelScope/ollama

    • (1)快速使用
    • (2)推理部署
      • 2.1 使用DeepSeek-Infer部署DeepSeek
      • 2.2 使用ModelScope部署DeepSeek
      • 2.3 使用ollama部署DeepSeek

(1)快速使用

DeepSeek 官网访问:https://chat.deepseek.com

DeepSeek API访问:https://platform.deepseek.com

(2)推理部署

DeepSeek-V3 可以使用以下硬件和开源社区软件在本地部署:

2.1 使用DeepSeek-Infer部署DeepSeek

2.1.1 系统要求

注意:仅限 Python 3.10 的 Linux。不支持 Mac 和 Windows。

依赖包列表:

torch==2.4.1
triton==3.0.0
transformers==4.46.3
safetensors==0.4.5

2.1.2 模型权重和演示代码准备

首先,克隆DeepSeek-V3 GitHub 仓库:

git clone https://github.com/deepseek-ai/DeepSeek-V3.git

切换到inference文件夹并安装requirements.txt中列出的依赖项。最简单的方法是使用类似condauv的包管理器创建新的虚拟环境并安装依赖项。

cd DeepSeek-V3/inference
pip install -r requirements.txt

从 Hugging Face 下载模型权重,并将其放入文件夹中。/path/to/DeepSeek-V3

2.1.3 模型权重转换

将 Hugging Face 模型权重转换为特定格式:

python convert.py --hf-ckpt-path /path/to/DeepSeek-V3 --save-path /path/to/DeepSeek-V3-Demo --n-experts 256 --model-parallel 16

2.1.4 运行 DeepSeek-V3 聊天

torchrun --nnodes 2 --nproc-per-node 8 --node-rank $RANK --master-addr $ADDR generate.py --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json --interactive --temperature 0.7 --max-new-tokens 200

或对给定文件进行批量推理:

torchrun --nnodes 2 --nproc-per-node 8 --node-rank $RANK --master-addr $ADDR generate.py --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json --input-file $FILE

2.2 使用ModelScope部署DeepSeek

2.2.1 安装ModelScope依赖包

pip install modelscope

2.2.2 下载模型

mkdir ./deepseek
modelscope download --model deepseek-ai/DeepSeek-R1 --local_dir ./deepseek

2.2.3 模型权重转化

cd DeepSeek-V3/inference
python convert.py --hf-ckpt-path /path/to/DeepSeek-R1 --save-path /path/to/DeepSeek-R1-Demo --n-experts 256 --model-parallel 16
  • python convert.py :运行 convert.py 脚本,这个脚本的作用是将Hugging Face格式的模型权重转换为另一个特定的格式。

  • --hf-ckpt-path /path/to/DeepSeek-R1 :指定Hugging Face格式的模型检查点路径(即模型文件所在的位置)。在这个例子中是 /path/to/DeepSeek-R1 。

  • --save-path /path/to/DeepSeek-R1-Demo :指定转换后的模型权重保存的路径,即你想将模型保存到哪里。

  • --n-experts 256 :指定模型中的专家数量,这可能是与模型的分布式训练或者混合专家模型(Mixture of Experts, MoE)相关的参数,设置为256表示该模型将使用256个专家。

  • --model-parallel 16 :这个参数指定模型并行的程度,通常是指将模型分布在16个GPU上进行训练或推理。

2.2.4 模型推理

torchrun --nnodes 2 --nproc-per-node 8 --node-rank $RANK --master-addr $ADDR generate.py --ckpt-path /path/to/DeepSeek-R1-Demo --config configs/config_671B.json --interactive --temperature 0.7 --max-new-tokens 200

各个参数的含义如下:

torchrun :用于分布式训练或推理的命令。它会启动多个进程,支持跨多个节点(即多台机器)运行。
--nnodes 2 :指定集群中的节点数目。在这个例子中,使用2个节点(即2台机器)。
--nproc-per-node 8 :每个节点上运行的进程数。在每个节点上启动8个进程,通常是为了充分利用每个节点上的多个GPU。
--node-rank $RANK :当前节点在集群中的排名,用于区分不同节点。 $RANK 是一个环境变量,代表当前节点的编号。
--master-addr $ADDR :指定主节点的地址。主节点通常负责协调所有其他节点的工作。 $ADDR是一个环境变量,表示主节点的IP地址或主机名。generate.py :这是运行文本生成任务的脚本,它会使用模型进行推理生成文本。
--ckpt-path /path/to/DeepSeek-R1-Demo :指定转换后的DeepSeek-R1模型检查点路径。这个路径是你之前在转换步骤中保存的模型文件。
--config configs/config_671B.json :指定模型的配置文件。配置文件包含模型的架构、超参数等信息。在这个例子中,配置文件是 configs/config_671B.json 。
--interactive :启用交互模式,通常表示用户可以在命令行中输入内容,并实时获得模型的响应。
--temperature 0.7 :生成的温度值,影响模型的输出随机性。温度越高,生成的文本越随机;温度越低,生成的文本越确定。0.7通常意味着适度的随机性。
--max-new-tokens 200 :限制生成的最大新token数量,表示每次生成时最多生成200个新的词元。

2.3 使用ollama部署DeepSeek

目前DeepSeek R1已支持使用Ollama进行调用,并且非常便捷的是,Ollama中集成了DeepSeek

R1半精度版本,且集成了其他各蒸馏模型的Q4_K_M量化版本,支持ollama run命令一键下载与调用。

其中各模型在Q4_K_M量化情况下运行所需显存情况如下:

在这里插入图片描述

实际调用时,只需要在命令行输入ollama run + 模型版本即可,例如:

ollama run deepseek-r1:1.5b

即可运行1.5B蒸馏模型。而

ollama run deepseek-r1:671b

则可下载并运行半精度的DeepSeek R1模型。目前Ollama暂不支持全精度DeepSeek R1模型运行。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com