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

简介: 基于MindIE实现DeepSeek-R1-Distill-Qwen-1.5B的纯模型推理和服务化推理。

1 实验目标

1.1 实验目标

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

2 前置准备

2.1 准备推理环境

2.1.1 下载镜像

1)进入登录昇腾镜像仓库:https://www.hiascend.com/developer/ascendhub
查询mindie
图片1.png

2)申请权限后,下载对应的镜像版本
图片2.png
图片3.png

2.1.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

2.2 模型权重下载

设置个人开发目录,如:

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

2.3 数据集(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

3 纯模型测试

3.1 性能测试

3.1.1 初始化环境变量

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

3.1.2 执行性能测试

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.3 查看性能结果

图片4.png

3.2 精度测试

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

3.2.2 准备测试数据集

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

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

3.3 执行精度测试

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

# bash run.sh pa_[数据类型] [数据集名称] $BS [模型名] [模型权重路径] [使用卡数]
# 示例
bash run.sh pa_bf16 full_GSM8K 100 qwen $权重路径 1

3.4 查看精度结果

图片5.png

4 服务化测试

4.1 服务化部署

4.1.1 服务化配置文件修改

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

vim conf/config.json

修改内容如下:
图片6.png

图片7.png

4.1.2 初始化环境变量

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

4.1.3 拉起服务化

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

./bin/mindieservice_daemon
回显下面内容表示服务化启动成功:
Daemon start success!

4.1.4 测试服务化是否正常

另开一个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.2 服务化性能测试

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

4.2.1 初始化环境变量

另开一个session:

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

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

4.2.2 性能测试

根据实际情况修改下面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

4.2.3 查看性能结果

图片8.png

4.3 服务化精度测试

4.3.1 初始化环境变量

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

4.3.2 精度测试

根据实际情况修改下面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

4.3.3 查看精度结果

图片9.png

相关文章
|
3月前
|
负载均衡 测试技术 调度
大模型分布式推理:张量并行与流水线并行技术
本文深入探讨大语言模型分布式推理的核心技术——张量并行与流水线并行。通过分析单GPU内存限制下的模型部署挑战,详细解析张量并行的矩阵分片策略、流水线并行的阶段划分机制,以及二者的混合并行架构。文章包含完整的分布式推理框架实现、通信优化策略和性能调优指南,为千亿参数大模型的分布式部署提供全面解决方案。
683 4
|
3月前
|
机器学习/深度学习 缓存 监控
大模型推理优化技术:KV缓存机制详解
本文深入探讨了大语言模型推理过程中的关键技术——KV缓存(Key-Value Cache)机制。通过对Transformer自注意力机制的分析,阐述了KV缓存的工作原理、实现方式及其对推理性能的显著优化效果。文章包含具体的代码实现和性能对比数据,为开发者理解和应用这一关键技术提供实践指导。
1205 8
|
5月前
|
并行计算 PyTorch 调度
大模型推理显存优化系列(4):eLLM-大模型推理中的弹性显存管理和优化
本文简要介绍eLLM相关技术挑战、总体设计和初步性能评估
|
5月前
|
负载均衡 并行计算 异构计算
大模型训练推理优化(5): FlexLink —— NVLink 带宽无损提升27%
本期我们将介绍蚂蚁集团ASystem团队在大模型通信优化上的新工作FlexLink,旨在通过动态聚合多路通信(NVLink,PCIe,RDMA),在H800等典型硬件上将典型通信算子如(AllReduce, All Gather)吞吐提升最高达27%,尤其适合大模型长序列推理(Prefill阶段),及训练等通信密集的带宽bound场景。方案对精度无影响。
|
6月前
|
消息中间件 人工智能 资源调度
云上AI推理平台全掌握 (5):大模型异步推理服务
针对大模型推理服务中“高计算量、长时延”场景下同步推理的弊端,阿里云人工智能平台 PAI 推出了一套基于独立的队列服务异步推理框架,解决了异步推理的负载均衡、实例异常时任务重分配等问题,确保请求不丢失、实例不过载。
|
3月前
|
机器学习/深度学习 缓存 自然语言处理
【万字长文】大模型训练推理和性能优化算法总结和实践
我们是阿里云公共云 AI 汽车行业大模型技术团队,致力于通过专业的全栈 AI 技术推动 AI 的落地应用。
1865 38
【万字长文】大模型训练推理和性能优化算法总结和实践
|
6月前
|
存储 机器学习/深度学习 缓存
阿里云AirCache技术实现多模态大模型高效推理加速,入选国际顶会ICCV2025
阿里云研发的AirCache技术被计算机视觉顶会ICCV2025收录,该技术通过激活跨模态关联、优化KV缓存压缩策略,显著提升视觉语言模型(VLMs)的推理效率与存储性能。实验表明,在保留仅10%视觉缓存的情况下,模型性能下降小于1%,解码延迟最高降低66%,吞吐量提升达192%。AirCache无需修改模型结构,兼容主流VLMs,已在教育、医疗、政务等多个行业落地应用,助力多模态大模型高效赋能产业智能化升级。
480 1
|
6月前
|
人工智能 缓存 资源调度
云上AI推理平台全掌握 (4):大模型分发加速
为应对大模型服务突发流量场景,阿里云人工智能平台 PAI 推理服务 PAI-EAS 提供本地目录内存缓存(Memory Cache)的大模型分发加速功能,有效解决大量请求接入情况下的推理延迟。PAI-EAS 大模型分发加速功能,零代码即可轻松完成配置。
|
3月前
|
机器学习/深度学习 存储 并行计算
大模型推理加速技术:FlashAttention原理与实现
本文深入解析大语言模型推理加速的核心技术——FlashAttention。通过分析传统注意力机制的计算瓶颈,详细阐述FlashAttention的IO感知算法设计、前向反向传播实现,以及其在GPU内存层次结构中的优化策略。文章包含完整的CUDA实现示例、性能基准测试和实际部署指南,为开发者提供高效注意力计算的全套解决方案。
441 10

热门文章

最新文章