DeepSeek-V3是深度求索于2024年12月16日发布的人工智能大型语言模型。其基于混合专家(MoE)架构,总参数量达 6710 亿。它通过创新的多头潜在注意力(MLA)和 FP8 混合精度训练,显著提升了推理效率和训练经济性。在数学推理、代码生成和知识理解等任务中,DeepSeek-V3 超越了主流开源模型,并与 GPT-4 等闭源模型性能相当。而且,DeepSeek-V3是全球前十中性价比最高的模型。其开源模型检查点推动了 AI 社区的发展,为通用人工智能(AGI)研究提供了重要参考。DeepSeek-V3使用MIT协议开源,意味着任何人都可以自由使用该模型,包括商业用途。
下载链接:
DeepSeek-V3推理至少需要4台Atlas 800I A2(64G)服务器(基于BF16权重)。昇思MindSpore提供了DeepSeek-V3推理专用的Docker容器镜像,供开发者快速体验。
执行以下 Shell 命令,拉取昇思 MindSpore DeepSeek-V3 推理容器镜像:
docker pull swr.cn-central-221.ovaijisuan.com/mindformers/deepseek_v3_mindspore2.5.0-infer:20250217执行以下命令创建并启动容器:
docker run -it --privileged --name=deepseek-v3 --net=host \
--shm-size 500g \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/davinci3 \
--device=/dev/davinci4 \
--device=/dev/davinci5 \
--device=/dev/davinci6 \
--device=/dev/davinci7 \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
--device /dev/devmm_svm \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/firmware:/usr/local/Ascend/firmware \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/sbin:/usr/local/sbin \
-v /etc/hccn.conf:/etc/hccn.conf \
swr.cn-central-221.ovaijisuan.com/mindformers/deepseek_v3_mindspore2.5.0-infer:20250217 \
bash注意事项:
后续所有操作均在容器内操作。
执行以下命令为自定义下载路径./model_path添加白名单:
export HUB_WHITE_LIST_PATHS=./model_path执行以下 Python 脚本从魔乐社区下载昇思 MindSpore 版本的 DeepSeek-V3 文件至指定路径./model_path。下载的文件包含模型代码、权重、分词模型和示例代码,占用约 1.4TB 的磁盘空间:
from openmind_hub import snapshot_download
snapshot_download(
repo_id="MindSpore-Lab/DeepSeek-V3",
local_dir="./model_path",
local_dir_use_symlinks=False
)注意事项:
./model_path可修改为自定义路径,确保该路径有足够的磁盘空间(约 1.4TB)。- 下载时间可能因网络环境而异,建议在稳定的网络环境下操作。
配置./model_path/examples/predict_deepseek3_671B.yaml的load_checkpoint参数为权重文件夹绝对路径,配置tokenizer_file参数和vocab_file参数为tokenizer.json文件绝对路径。
rank_table_file.jsonrank_table_file.json按照下面进行配置,其中各配置项需要替换为实际的值。
{
"server_count": "...",
"server_list": [
{
"device": [
{
"device_id": "...",
"device_ip": "...",
"rank_id": "..."
},
...
],
"server_id": "...",
"container_ip": "..."
},
...
],
"status": "completed",
"version": "1.0"
}配置说明:
| 配置项 | 配置说明 |
|---|---|
| server_count | 总节点数 |
| server_list | 节点列表,列表中第一个server为主节点 |
| device | NPU设备列表 |
| device_id | NPU设备ID,取值范围[0,8) |
| device_ip | NPU设备IP,可通过hccn_tool命令获取 |
| rank_id | NPU设备全局ID,取值范围[0,总卡数) |
| server_id | 节点IP |
| container_ip | 容器IP,服务化部署时需要,若无特殊配置,则与server_ip相同 |
| status | 配置状态,不用修改 |
| version | 配置版本,不用修改 |
其中NPU设备IP通过如下命令获取,需要在容器外执行:
for i in {0..7}; do hccn_tool -i $i -ip -g; done执行以下命令配置服务化需要的环境变量:
export MS_SCHED_HOST=192.168.1.1
export MS_SCHED_PORT=8080
export MS_ENABLE_LCCL=off
export HCCL_OP_EXPANSION_MODE=AIV
export MIES_CONTAINER_IP=192.168.1.1
export RANKTABLEFILE=./rank_table_file.json
export PYTHONPATH=/home/work/mindformers/:$PYTHONPATH
export REGISTER_PATH=path/to/DeepSeek-V3/examples注意:
- 将
MS_SCHED_HOST配置为实际的主节点IP。- 将
MIES_CONTAINER_IP配置为本节点IP。- 将
RANKTABLEFILE配置为rank_table_file.json的实际路径。- 将
REGISTER_PATH需要修改成DeepSeek-V3/examples的实际路径。
执行以下命令打开服务化配置文件config.json:
cd /usr/local/Ascend/mindie/latest/mindie-service/
vim conf/config.json修改以下参数:
| 参数名 | 修改说明 |
|---|---|
| ipAddress | 修改为主节点IP |
| managementIpAddress | 修改为主节点IP |
| httpsEnabled | 配置为false |
| multiNodesInferEnabled | 配置为true,开启多机推理 |
| interCommTLSEnabled | 若不需要安全认证,修改为false |
| interNodeTLSEnabled | 若不需要安全认证,修改为false |
| modelName | 自定义模型名,不影响服务化拉起 |
| modelWeightPath | 修改为模型文件夹绝对路径“path/to/model_path/DeepSeek-V3/examples” |
在所有机器上同时执行如下命令:
cd /usr/local/Ascend/mindie/latest/mindie-service/
./bin/mindieservice_daemon执行命令后,首先会打印本次启动所用的所有参数,然后直到出现以下输出,则认为服务成功启动。
Daemon start success!执行以下命令发送流式推理请求进行测试:
curl -w "\ntime_total=%{time_total}\n" -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"inputs": "请介绍一个北京的景点", "parameters": {"do_sample": false, "max_new_tokens": 128}, "stream": false}' http://192.168.0.133:9091/generate_stream &在DeepSeek-V3/examples目录下提供了一个推理脚本run_deepseekv3_predict.py和一个分布式任务拉起脚本msrun_launcher.sh。
分别在4台机器上执行如下命令进行分布式推理,设置master_ip为IP地址,即Node 0服务器的IP。
在Node 0服务器上执行如下命令:
export HCCL_OP_EXPANSION_MODE=AIV
export MS_ENABLE_LCCL=off
export PYTHONPATH=/home/work/mindformers/:$PYTHONPATH
master_ip=192.168.1.1
cd model_path/DeepSeek-V3/examples
bash msrun_launcher.sh "run_deepseekv3_predict.py" 32 8 $master_ip 8888 0 output/msrun_log False 300在Node 1服务器上执行如下命令:
export HCCL_OP_EXPANSION_MODE=AIV
export MS_ENABLE_LCCL=off
export PYTHONPATH=/home/work/mindformers/:$PYTHONPATH
master_ip=192.168.1.1
cd model_path/DeepSeek-V3/examples
bash msrun_launcher.sh "run_deepseekv3_predict.py" 32 8 $master_ip 8888 1 output/msrun_log False 300在Node 2服务器上执行如下命令:
export HCCL_OP_EXPANSION_MODE=AIV
export MS_ENABLE_LCCL=off
export PYTHONPATH=/home/work/mindformers/:$PYTHONPATH
master_ip=192.168.1.1
cd model_path/DeepSeek-V3/examples
bash msrun_launcher.sh "run_deepseekv3_predict.py" 32 8 $master_ip 8888 2 output/msrun_log False 300在Node 3服务器上执行如下命令:
export HCCL_OP_EXPANSION_MODE=AIV
export MS_ENABLE_LCCL=off
export PYTHONPATH=/home/work/mindformers/:$PYTHONPATH
master_ip=192.168.1.1
cd model_path/DeepSeek-V3/examples
bash msrun_launcher.sh "run_deepseekv3_predict.py" 32 8 $master_ip 8888 3 output/msrun_log False 300本文档提供的模型代码、权重文件和部署镜像,当前仅限于基于昇思MindSpore AI框架体验DeepSeekV3的部署效果,不支持生产环境部署。相关使用问题请反馈至Issue。