系统环境
- 系统: Kylin OS
- 芯片: 128H, Hygon C86 7390 2S * 64
- 显存: 128G, Hygon K100 DCU 64G * 2
- 内存: 500G
基础驱动
PS: 详情参考 DTK环境安装与部署
- DTK: 最新DTK列表
- 解压:
tar -xzvf DTK*.tar.gz - 载入环境:
cd DTK* && source env.sh - 测试:
hipcc --version
- 解压:
- 驱动: 最新驱动列表
- 执行:
./rock* - 测试:
hy-smi
- 执行:
部署资源
模型文件
可以从任意平台下载 vllm 所需要的离线模型文件,以下举例 HF、魔搭下载。
强烈建议像示例一样小模型测试,启动快看报错也快。
- HuggingFace
PS: 也可以选择Git命令下载:
git clone https://hf-mirror.com/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
# 基于PY环境安装HF脚手架
pip install huggingface-hub
# 镜像加速
$HF_ENDPOINT = "https://hf-mirror.com"
# 下载完整模型
huggingface-cli download --repo-type model \
deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B \
--local-dir ./DeepSeek-R1-Distill-Qwen-1.5B \
--local-dir-use-symlinks False
- ModelScope(国内)
PS: 也可以选择Git命令下载:
git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B.git
pip install modelscope
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B --local_dir ./DeepSeek-R1-Distill-Qwen-1.5B
环境镜像
与其它卡有所不同,因缺少 CDNA/GCN 架构的优化内核、未针对 Hygon 芯片做算子优化等原因,国产加速卡需要使用定制的镜像。
镜像按照自己的DCU驱动版本选择: 光源定制镜像 。
离线内网环境请先准备好镜像包导入。
部署服务
参数详情:
HIP_VISIBLE_DEVICES: 使用的显卡槽HSA_OVERRIDE_GFX_VERSION: 匹配K100架构--tensor-parallel-size: 使用显卡数量--gpu-memory-utilization: 显卡使用率
编排文件: 请自行修改以下内容
- environment里显卡数、显卡槽
- command里model路径
- volumes里映射的模型路径实际路径
version: "3.9"
services:
vllm:
image: image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.4.1-ubuntu22.04-dtk25.04.1-py3.10
container_name: vllm-test
environment:
- HIP_VISIBLE_DEVICES=0,1
- HSA_OVERRIDE_GFX_VERSION=10.3.0
command: >
python3 -m vllm.entrypoints.openai.api_server
--model /workspace/models/DeepSeek-R1-Distill-Qwen-1.5B
--tensor-parallel-size 2
--gpu-memory-utilization 0.9
--served-model-name ds-r1-1.5b
--dtype float16
--trust-remote-code
--enforce-eager
--host 0.0.0.0
--port 8000
network_mode: host
ipc: host
devices:
- "/dev/kfd:/dev/kfd"
- "/dev/dri:/dev/dri"
volumes:
- /opt/hyhal:/opt/hyhal:ro
- /workspace/service/vllm/models:/workspace/models:ro
cap_add:
- SYS_PTRACE
security_opt:
- seccomp=unconfined
group_add:
- video
- render
restart: unless-stopped
测试命令
一些打印测试的命令,成功部署可以忽略。
- 测试服务是否正常运行
curl -X POST "http://127.0.0.1:8000/v1/completions" \
-H "Content-Type: application/json" \
-d '{
"model": "ds-r1-1.5b",
"prompt": "Compute the Fourier transform of the constant function f(t) = 1. What should the correct answer be?",
"max_tokens": 50,
"temperature": 0.7
}'
# ====理论输出====
# answer is 2πδ(ω)
- 查看容器对显卡的识别
python3 - <<'PY'
import torch
print("PyTorch 版本:", torch.__version__)
print("是否可见 HIP/GPU:", torch.cuda.is_available())
print("GPU 数量:", torch.cuda.device_count())
for i in range(torch.cuda.device_count()):
print(f"设备 {i} 名称:", torch.cuda.get_device_name(i))
PY
# ====理论输出====
# PyTorch 版本: 2.5.1
# 是否可见 HIP/GPU: True
# GPU 数量: 2
# 设备 0 名称: K100
# 设备 1 名称: K100
浙公网安备 33010602011771号