醋醋百科网

Good Luck To You!

DeepSeek-R1-Distill-Qwen-1.5B基于MindIE推理实践

实验目标

实验目标

  • 掌握纯模型的精度和性能测试
  • 掌握服务化的部署
  • 掌握服务化的精度和性能测试

前置准备

准备推理环境

下载镜像

1)进入登录昇腾镜像仓库:
https://www.hiascend.com/developer/ascendhub

查询mindie

2)申请权限后,下载对应的镜像版本

拉起容器

docker run -itd --privileged --name=$container_name --net=host --shm-size=500g \

--device=/dev/davinci0 \

--device=/dev/davinci1 \

--device=/dev/davinci2 \

--device=/dev/davinci3 \

--device=/dev/davinci4 \

--device=/dev/davinci5 \

--device=/dev/davinci6 \

--device=/dev/davinci7 \

--device=/dev/davinci_manager \

--device=/dev/devmm_svm \

--device=/dev/hisi_hdc \

-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \

-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \

-v /usr/local/sbin/:/usr/local/sbin/ \

-v /var/log/npu/slog/:/var/log/npu/slog \

-v /var/log/npu/profiling/:/var/log/npu/profiling \

-v /var/log/npu/dump/:/var/log/npu/dump \

-v /var/log/npu/:/usr/slog \

-v /etc/hccn.conf:/etc/hccn.conf \

-v $model_path:/model \

$image_id /bin/bash

进入容器:

docker exec -it $container_name bash

模型权重下载

设置个人开发目录,如:

mkdir /home/zhangsan

cd /home/zhangsan

下载
DeepSeek-R1-Distill-Qwen-1.5B权重:
https://modelers.cn/models/State_Cloud/DeepSeek-R1-Distill-Qwen-1.5B/tree/main

# 首先保证已安装git-lfs(https://git-lfs.com),如没安装可自行安装:apt update && apt install git-lfs

git lfs install

git clone https://modelers.cn/State_Cloud/DeepSeek-R1-Distill-Qwen-1.5B.git

数据集(GSM8K)准备

mkdir -p /home/zhangsan/data/gsm8k

cd /home/zhangsan/data/gsm8k

wget -O GSM8K.jsonl https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/gsm8k/test.jsonl --no-check-certificate

纯模型测试

性能测试

初始化环境变量

source /usr/local/Ascend/mindie/set_env.sh

source /usr/local/Ascend/ascend-toolkit/set_env.sh

source /usr/local/Ascend/nnal/atb/set_env.sh

source /usr/local/Ascend/llm_model/set_env.sh

export MINDIE_LLM_LOG_TO_STDOUT=1

export PATH=/usr/local/python3.11.10/bin:$PATH

执行性能测试

cd /usr/local/Ascend/llm_model/tests/modeltests

# bash run.sh pa_[数据类型] performance $ALL_IN_OUT_SETS $BS [模型名] [模型权重路径] [使用卡数]

# 示例

bash run.sh pa_bf16 performance [[256,256]] 1 qwen $权重路径 1

查看性能结果

精度测试

初始化环境变量(同3.1.1,如果设置过,则可跳过这步)

准备测试数据集

cd /usr/local/Ascend/llm_model/tests/modeltests

cp -r /home/zhangsan/data/ ./

执行精度测试

cd /usr/local/Ascend/llm_model/tests/modeltests

# bash run.sh pa_[数据类型] [数据集名称] $BS [模型名] [模型权重路径] [使用卡数]

# 示例

bash run.sh pa_bf16 full_GSM8K 100 qwen $权重路径 1

查看精度结果

服务化测试

服务化部署

服务化配置文件修改

cd /usr/local/Ascend/mindie/latest/mindie-service

vim conf/config.json

修改内容如下:

初始化环境变量

source /usr/local/Ascend/mindie/set_env.sh

source /usr/local/Ascend/ascend-toolkit/set_env.sh

source /usr/local/Ascend/nnal/atb/set_env.sh

source /usr/local/Ascend/llm_model/set_env.sh

export MINDIE_LLM_LOG_TO_STDOUT=1

export MINDIE_LOG_TO_STDOUT=1

export PATH=/usr/local/python3.11.10/bin:$PATH

拉起服务化

cd /usr/local/Ascend/mindie/latest/mindie-service

./bin/mindieservice_daemon

回显下面内容表示服务化启动成功:

Daemon start success!

测试服务化是否正常

另开一个session, 发送请求测试:

curl -X POST -d '{

"model":"qwen",

"messages": [{

"role": "system",

"content": "what is deep learning?"

}],

"max_tokens": 100,

"stream": false

}' http://10.3.14.15:1025/v1/chat/completions

服务化性能测试

保证上面的4.1.3操作已完成!!

初始化环境变量

另开一个session:

export PATH=/usr/local/python3.11.10/bin:$PATH

export MINDIE_LOG_TO_STDOUT="benchmark:1; client:1"

性能测试

根据实际情况修改下面datasetpath, modelname, modelpath参数

benchmark --DatasetPath "$datasetPath" --DatasetType "gsm8k" --ModelName qwen --ModelPath "$weightPath” --TestType client --Http http://127.0.0.1:1025 --ManagementHttp http://127.0.0.2:1026 --Concurrency 100 --TaskKind stream --Tokenizer True --MaxOutputLen 512

查看性能结果

服务化精度测试

初始化环境变量

export PATH=/usr/local/python3.11.10/bin:$PATH

export MINDIE_LOG_TO_STDOUT="benchmark:1; client:1"

export LCCL_DETERMINISTIC=1

export HCCL_DETERMINISTIC=true

export ATB_MATMUL_SHUFFLE_K_ENABLE=0

精度测试

根据实际情况修改下面datasetpath, modelname, modelpath参数

benchmark --DatasetPath "$datasetPath" --DatasetType "gsm8k" --ModelName qwen --ModelPath "$weightPath” --TestType client --Http http://127.0.0.1:1025 --ManagementHttp http://127.0.0.2:1026 --Concurrency 1 --TaskKind stream --Tokenizer True --MaxOutputLen 512 –TestAccuracy True

查看精度结果

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言