海光DCU

1

海光dcu推理

配置:c86-4G

vllm版本:0.6.6

首先,下载容器镜像

wget http://112.11.119.99:18000/others/pytorch2.4.1-ubuntu22.04-dtk25.04-rc4-vllm0.6.6-py3.10.tar.gz

docker load -i pytorch2.4.1-ubuntu22.04-dtk25.04-rc4-vllm0.6.6-py3.10.tar.gz

第二步,运行容器

docker run -dit --network=host --name=deepseek_test --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=256G --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 -v /opt/hyhal:/opt/hyhal:ro -v pwd:/your_workspace image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.4.1-ubuntu22.04-dtk25.04-rc4-vllm0.6.6-py3.10

docker run -dit --network=host --name=qwen2.5_7b --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=256G --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 -v /opt/hyhal:/opt/hyhal:ro -v pwd:/Qwen image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.4.1-ubuntu22.04-dtk25.04-rc4-vllm0.6.6-py3.10

3.2.2 模型下载

去魔搭或者huggingface下载

https://huggingface.co/

https://www.modelscope.cn/

modelscope download --model Qwen/Qwen2.5-VL-7B-Instruct --local_dir ./Qwen/Qwen2.5-VL-7B-Instruct

启动模型服务:

vllm serve /workspace/Qwen2.5-7B-Instruct --trust-remote-code --distributed-executor-backend ray --dtype float16 --max-model-len 4096 --tensor-parallel-size 32 --host localhost --port 8001

参数

说明

/Qwen/Qwen2.5-7B-Instruct

模型路径或 HuggingFace 仓库名。如果是路径,表示本地模型;否则默认从 Hugging Face 下载。

--trust-remote-code

允许执行模型的自定义 Python 代码(例如自定义 model.forward()),必须小心使用,确保模型代码可信。

--distributed-executor-backend ray

启动时使用 Ray 后端做分布式并行计算,适用于多 GPU / 多节点环境。

--dtype float16

设置模型精度为 float16,可以显著降低显存占用,提高推理速度。

--max-model-len 4096

设置最大支持的输入/输出 token 长度为 4096(也就是 prompt + reply 总长)。

--tensor-parallel-size 28

使用 28 路 tensor 并行(通常表示你有 28 个 GPU,每个负责一部分张量)。

--swap-space 1

设置最多使用 1GiB 的 CPU 内存做缓存(用于 paging),设太大会报错。

--host 0.0.0.0

启动服务监听所有网卡(允许外部访问)。

--port 8001

指定服务监听的端口为 8001(默认是 8000)。

vl模型

ROCR_VISIBLE_DEVICES=0,2 vllm serve ...

vllm serve Qwen/Qwen2.5-VL-32B-Instruct --trust-remote-code --dtype float16 --max-model-len 81920 --max-num-batched-tokens 81920 --limit-mm-per-prompt image=1,video=1 --tensor-parallel-size 4 --host 0.0.0.0 --port 8001

--max-num-batched-tokens 98304

vllm serve /Qwen/Qwen/Qwen2.5-7B-Instruct --trust-remote-code --dtype float16 --max-model-len 32768 --max-num-seqs 8192 --tensor-parallel-size 4 --host 0.0.0.0 --port 8001

选项

含义

用法

--enforce-eager

强制使用 eager mode(禁用 CUDA Graph)

启动时加上

--gpu-memory-utilization 0.7

控制显存使用比例,避免 OOM

默认约为 0.9,可手动降低

--max-num-seqs

控制每批推理的最大并发序列数

减少也能缓解显存压力

docker run -d \

--name frpc \

--restart unless-stopped \

-v /root/frpc/frpc.toml:/etc/frp/frpc.toml \

snowdreamtech/frpc:latest \

-c /etc/frp/frpc.toml

docker run -d \

--name vllm \

-p 8001:8001 \

-v /your/local/path/vllm_server.sh:/app/vllm_server.sh \

your-image-name \

/app/vllm_server.sh start