准备权重 (前提是4.3.0SDK已安装)
apt-get install git-lfs 或者yum install git-lfs
mkdir -p /home/model/
git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1.git
准备测试脚本和工具
mkdir -p /home/scripts
cd /home/scripts
SFTP下载地址和密码,请联系天数售后工程师获取
get
/client_tmp/support/w4a8/* /home/scripts
get /client_tmp/support/mr-bi150-4.3.0-x86-ubuntu20.04-py3.10-poc-llm-infer-v1.2.3.tar /home
解压测试脚本
cd /home/scripts
unzip mmlu.zip
unzip performance.zip
导入镜像
导入新的driver和docker镜像
docker load -i /home/
mr-bi150-4.3.0-x86-ubuntu20.04-py3.10-poc-llm-infer-v1.2.3.tar
创建容器
docker run -dit -v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /dev:/dev -v /home:/home --network=host --name=deepseek-w4a8 --ipc=host --privileged --cap-add=ALL --pid=host harbor.iluvatar.com.cn:10443/saas/mr-bi150-4.3.0-x86-ubuntu20.04-py3.10-poc-llm-infer:v1.2.3 /bin/bash
将权重转换为int4格式
docker exec -it deepseek-w4a8 bash
cd /home/scripts
python3 w4a8_fp82int8.py --input-fp8-hf-path /home/model/DeepSeek-R1/ --output-int8-hf-path /home/model/DeepSeek-R1-w4a8/ --group-size -1 --format TN --version 2 --split-count 1
python3 w4a8_fp82int8.py --input-fp8-hf-path /home/model/DeepSeek-R1/ --output-int8-hf-path /home/model/DeepSeek-R1-w4a8/ --group-size -1 --format TN --version 2 --split-count 2
运行(验证精度)
# 在终端中执行server
进入容器
docker exec -it deepseek-w4a8 bash
export VLLM_W8A8_MOE_USE_W4A8=1
export VLLM_ENFORCE_CUDA_GRAPH=1
export VLLM_PP_LAYER_PARTITION="31,30"
export VLLM_MLA_DISABLE=0
python3 -m vllm.entrypoints.openai.api_server --model /home/model/DeepSeek-R1-w4a8/ --tensor-parallel-size 8 --pipeline-parallel-size 2 --trust-remote-code --max-model-len 8192 --host 127.0.0.1 --port 12345 --gpu_memory_utilization 0.95 --enable-prefix-caching --disable-log-requests
# 在另一个终端中执行
进入容器
docker exec -it deepseek-w4a8 bash
cd /home/scripts/mmlu
tar -xvf data.tar
python3 bench_other.py --backend vllm --parallel 1 --port 12345
运行(验证性能)
# 在终端中执行
进入容器
docker exec -it deepseek-w4a8 bash
cd /home/scripts
cd /home/scripts/performance
export VLLM_W8A8_MOE_USE_W4A8=1
export VLLM_ENFORCE_CUDA_GRAPH=1
export VLLM_PP_LAYER_PARTITION="31,30"
export VLLM_MLA_DISABLE=0
bash test_performance_server.sh --model /home/model/DeepSeek-R1-w4a8/ --tensor-parallel-size 8 --pipeline-parallel-size 2 --trust-remote-code --max-model-len 8192 --host 127.0.0.1 --port 12345 --gpu_memory_utilization 0.95 ,--model /home/model/DeepSeek-R1-w4a8/ --host 127.0.0.1 --port 12345 --num-prompts 1 --input-tokens 2048 --output-tokens 256