前置条件
- 两台服务器节点
- 天数加速卡驱动
- 天数软件栈Docker镜像
- DeepSeek模型转换工具ds-fp82int8-tool
部署DeepSeek
1. 解压deepseek-infer.tar后,按照容器安装方式在两台服务器节点安装天数软件栈。
2. 在两台服务器执行以下命令,以deepseek-infer:v1模型为例:
cpupower frequency-set -g performance
更新驱动:
rmmod iluvatar
bash corex-driver-linux64-4.1.2.w2503_x86_64_10.2.run
创建容器:
docker load -i deepseek-infer.tar
docker run -dit -v /home/:/home -v /data/:/data/ -v /usr/src/:/usr/src -v /lib/modules/:/lib/modules --pid=host --ipc=host --privileged --cap-add=ALL --network=host --name=deepseek deepseek-infer:v1
docker exec -it deepseek bash
3. 使用ds-fp82int8-tool工具将模型权重从官方fp8转成int8。
4. 启动主节点。选择一台服务器(节点1)启动一个ray主节点(需要一直开着):
ray stop
ray start --block --head --port=6379 --num-gpus=16
5. 使用ray将节点2加入主节点(需要一直开着):
export GLOO_SOCKET_IFNAME=bond0;export NCCL_SOCKET_IFNAME=bond0;export VLLM_FORCE_NCCL_COMM=1;export MASTER_ADDR="10.160.1.72" # 此处修改MASTER_ADDR为节点1的ip
ray stop
ray start --block --address=$MASTER_ADDR:6379 --num-gpus=16
6. 打开另一个终端,使用如下命令启动主节点
export NCCL_SOCKET_IFNAME=bond0 # 使用连接两个节点的网口,可以使用ifconfig查看
export VLLM_FORCE_NCCL_COMM=1;export GLOO_SOCKET_IFNAME=bond0
vllm serve /data/deepseek/ds-fp82int8-test/ --pipeline-parallel-size 4 --tensor-parallel-size 8 --trust-remote-code --max-model-len 10240
主节点的server启动成功后,会有类似如下的log,默认端口是8000
INFO: Started server process [122293]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
测试DeepSeek推理
用户可在主节点的终端输入如下命令进行测试:
curl 127.0.0.1:8000/v1/completions -H "Content-Type: application/json" -d '{"model":"/data/deepseek/ds- fp82int8-test/",
"prompt":"简单介绍一下deepseek?",
"temperature":0.0,
"max_tokens":128}'
得到类似的结果即为部署成功:
{"id":"cmpl-0217c729524844fb8021520fd1f3c55e","object":"text_completion","created":1738820422,"model":"/home/data/nlp/deepseekV3/deepseekfp8-int8","choices":[{"index":0,"text":"DeepSeek是一家专注于人工智能技术研发的公司,致力于通过深度学习、大数据分析和自然语言处理等技术,为企业和个人提供智能化的解决方案和服务。DeepSeek的核心技术包括但不限于:\n\n1. **深度学习**:利用神经网络模型进行复杂数据的分析和预测,广泛应用于图像识别、语音识别、自然语言处理等领域。\n2. **大数据分析**:通过高效的数据处理和分析技术,帮助企业从海量数据中提取有价值的信息,支持决策和优化业务流程。\n3. **自然语言处理**:开发能够理解和生成人类语言的AI系统,应用于聊天机器人、智能客服、文本分析等场景。\n\nDeepSeek","logprobs":null,"finish_reason":"length","stop_reason":null,"prompt_logprobs":null}],"usage":{"prompt_tokens":6,"total_tokens":134,"completion_tokens":128,"prompt_tokens_details":null}}