前沿:
1、 DCU基础环境搭建
2、 docker安装教程
拉取镜想
镜像网址:光源
拉取DCU镜像
本次以vllm0.6.2-ubuntu22.04-dtk25.04-rc7-das1.5-py3.10-20250419-fixpy镜像为例,其中0.6.2为vllm版本,dtk25.04为DCU软件栈版本,py310为Python版本3.10
本镜像适用卡K100_AI
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.6.2-ubuntu22.04-dtk25.04-rc7-das1.5-py3.10-20250419-fixpy
拉取完毕之后,通过docker images命令查看镜像id
其中IMAGE ID代表此镜像的ID
创建容器
本次以deepseek-r1-14B模型为例,创建一个名称为deepseek的容器,首先新建一个dcoker.sh的脚本,通过命令vim docker.sh建立,写入以下内容并保存退出
docker run -it --name deepseek --network=host --privileged \
--device=/dev/kfd --device=/dev/dri \
--ipc=host --shm-size=16G --group-add video \
--cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
-v /opt/hyhal:/opt/hyhal \
-v /home:/home \
42295ada4800 /bin/bash
简单介绍一下参数意义
–name表示容器名字,可以自己修改,不可与已有容器重名
-v 表示映射目录,其中-v /opt/hyhal:/opt/hyhal是必加项,包含了一些DCU的内容;-v /home:/home指的是将本机/home目录下的所有文件映射到容器的/home目录。代表在容器中操作/home目录中的文件和在本机操作是同步的。
42295ada4800指的是镜像的ID。
其余参数无需修改
通过bash docker.sh来创建容器
后续进入容器请使用docker exec -it deepseek /bin/bash命令
进入后检查基础的环境,通过命令hy-smi
到此基础容器搭建完毕,可以通过pip list查看容器中都安装了哪些库,默认安装了torch等一些基础库。其中torch为DCU定制版,除版本号后缀不同以外,不影响基础使用。
如不慎卸载torch后,需要在https://developer.hpccube.com/tool该网址的DAS区下载适配好的torch到本地,然后通过pip install torch*安装,或者删除该容器重新建容器也是可以的。
vllm启动deepseek
模型下载
打开网址modelscope
创建模型目录
mkdir /home/models
cd /home/models
git下载模型(注意lfs是否安装成功,不然比较大的模型文件不会下载下来)
git lfs install
git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B.git
模型启动命令
HIP_VISIBLE_DEVICES=0,1,2,3,5,6,7 python -m vllm.entrypoints.openai.api_server --served-model-name qwen --model /home/models/DeepSeek-R1-Distill-Qwen-14B --dtype float16 --trust-remote-code --tensor-parallel-size 8
具体参数参考vllm官网0.6.2版本
模型启动成功后,显示8000端口
测试端口是否可以使用
curl -X POST -H "Content-Type:application/json" http://0.0.0.0:8000/v1/chat/completions -d '{"model": "qwen","messages": [{"role": "user","content": "帮我写一篇一千字的作文,题目我的父亲 "}],"stream":false}'
等待后有文字返回是就是正常的