注意:
- 本项目中使用的软件包含在研版本,仅供个人体验使用,请勿用于商用。如有问题,请及时在评论区与我们联系。
- 本项目中提供的DeepSeek-V3-0324模型权重已反量化为BF16。
环境准备:四台Atlas 800I A2 (64G),并配置好组网,四台设备的卡与卡之间能够互相ping通。
四台设备分别拉取镜像
docker pull hub.oepkgs.net/oedeploy/openeuler/aarch64/mindspore:20250326四台设备分别停止进程,避免其他进程影响
pkill -9 python
pkill -9 mindie
pkill -9 ray四台设备分别启动容器,四台设备的hostname需要不同。/data/DeepSeek-V3-0324用于存放权重及yaml配置文件。
docker run -it --name=DeepSeek_V3_0324 --ipc=host --network=host --privileged=true --hostname=worker3 \
--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/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/sbin/:/usr/local/sbin/ \
-v /etc/hccn.conf:/etc/hccn.conf \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /etc/vnpu.cfg:/etc/vnpu.cfg \
-v /data/DeepSeek-V3-0324:/data/DeepSeek-V3-0324 \
--pids-limit 409600 \
--shm-size="250g" \
hub.oepkgs.net/oedeploy/openeuler/aarch64/mindspore:20250326 \
/bin/bash魔乐社区权重及yaml配置文件下载
pip install openmind_hub
export HUB_WHITE_LIST_PATHS=/data/DeepSeek-V3-0324
python
from openmind_hub import snapshot_download
snapshot_download(
repo_id="MindSpore-Lab/DeepSeek-V3-0324",
local_dir="/data/DeepSeek-V3-0324",
local_dir_use_symlinks=False
)
yaml配置文件修改
# 修改为模型权重路径
load_checkpoint: '/data/DeepSeek-V3-0324'
# 修改为模型tokenizer.json文件所在路径
vocab_file: '/data/DeepSeek-V3-0324/tokenizer.json'
# 修改为模型tokenizer.json文件所在路径
tokenizer_file: '/data/DeepSeek-V3-0324/tokenizer.json'容器中添加环境变量
export MINDFORMERS_MODEL_CONFIG=/data/DeepSeek-V3-0324/predict_deepseek3_671b.yaml
export ASCEND_CUSTOM_PATH=$ASCEND_HOME_PATH/../
export vLLM_MODEL_BACKEND=MindFormers
export vLLM_MODEL_MEMORY_USE_GB=50
export ASCEND_TOTAL_MEMORY_GB=64
export MS_ENABLE_LCCL=off
export HCCL_OP_EXPANSION_MODE=AIV
export HCCL_SOCKET_IFNAME=enp189s0f0
export GLOO_SOCKET_IFNAME=enp189s0f0
export TP_SOCKET_IFNAME=enp189s0f0
export HCCL_CONNECT_TIMEOUT=3600
export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7主机及辅机设置
选择一台设备作为主节点,执行如下命令
ray stop
ray start --head --port=6380其他三台设备作为辅节点,依次执行如下命令
ray stop
ray start --address=主节点IP:6380在主节点容器中启动服务
python3 -m vllm_mindspore.entrypoints vllm.entrypoints.openai.api_server --model "模型权重路径" --trust_remote_code --tensor_parallel_size=32 --enable-prefix-caching --enable-chunked-prefill --max-num-seqs=256 --block-size=32 --max_model_len=70000 --max-num-batched-tokens=2048 --distributed-executor-backend=ray发起推理服务请求,若在主节点发起请求,新开一个终端,IP地址是0.0.0.0或者localhost
curl http://localhost:8000/v1/completions -H "Content-Type: application/json" -d '{"model": "模型权重路径", "prompt": "请介绍下北京的top景点", "temperature": 0, "max_tokens": 256, "top_p": 1.0, "top_k": 1, "repetition_penalty":1.0}'