已合并
【master】【docs】:快速入门aidd大模型检查低错修改 #791
zzm30创建于 7月28日
【master】【docs】:快速入门aidd大模型检查低错修改 #791
已合并
zzm30创建于 7月28日
1 个文件变更+18-18
@@ -2,16 +2,16 @@
2 2 
3## 1. 概述3## 1. 概述
4 4 
5-msModelSlim 是面向昇腾生态的模型压缩工具,覆盖稠密 LLM、MoE 及多模态模型的量化与压缩。本文以 Qwen3.6-27B 为例,带你体验如何通过一键量化将模型权重压缩为 W8A8 格式,并基于 vllm-ascend 完成推理部署验证。5+msModelSlim 是面向昇腾生态的模型压缩工具,覆盖稠密 LLM、MoE 及多模态模型的量化与压缩。本文以 Qwen3.6-27B 为例,带你体验如何通过一键量化将模型权重压缩为 W8A8 格式,并基于vLLM-Ascend完成推理部署验证。
6 6 
7**体验地图(核心操作约 10 分钟,不含镜像与模型下载等网络传输时间)**7**体验地图(核心操作约 10 分钟,不含镜像与模型下载等网络传输时间)**
8 8 
9| 步骤 | 环节 | 核心工具 | 操作耗时 | 原理学习 |9| 步骤 | 环节 | 核心工具 | 操作耗时 | 原理学习 |
10|:--:|:-------|:---------------|:----------------:|:-----:|10|:--:|:-------|:---------------|:----------------:|:-----:|
11-| 1 | 容器环境准备 | vllm-ascend 容器 | 约 1 分钟(不含镜像下载时间) | 5 分钟 |11+| 1 | 容器环境准备 | vLLM-Ascend 容器 | 约 1 分钟(不含镜像下载时间) | 5 分钟 |
12| 2 | 模型文件准备 | modelscope | 约 1 分钟(不含模型下载时间) | 2 分钟 |12| 2 | 模型文件准备 | modelscope | 约 1 分钟(不含模型下载时间) | 2 分钟 |
13-| 3 | 模型量化 | msmodelslim | 约 3 分钟 | 5 分钟 |13+| 3 | 模型量化 | msModelSlim | 约 3 分钟 | 5 分钟 |
14-| 4 | 量化结果验证 | vllm-ascend | 约 5 分钟 | 10 分钟 |14+| 4 | 量化结果验证 | vLLM-Ascend | 约 5 分钟 | 10 分钟 |
15 15 
16## 2. 操作步骤16## 2. 操作步骤
17 17 
@@ -19,7 +19,7 @@ msModelSlim 是面向昇腾生态的模型压缩工具,覆盖稠密 LLM、MoE
19 19 
20🛑 **本节为强制前置步骤!跳过本节可能导致后续多项操作失败。**20🛑 **本节为强制前置步骤!跳过本节可能导致后续多项操作失败。**
21 21 
22-本教程**仅支持**在标准化 vllm-ascend 容器中执行,不支持直接在裸机、虚拟机或其他非标准容器环境中运行。22+本教程**仅支持**在标准化 vLLM-Ascend 容器中执行,不支持直接在裸机、虚拟机或其他非标准容器环境中运行。
23 23 
24#### 2.1.1 前置条件24#### 2.1.1 前置条件
25 25 
@@ -31,7 +31,7 @@ msModelSlim 是面向昇腾生态的模型压缩工具,覆盖稠密 LLM、MoE
31| **容器运行** | 已安装并运行 Docker(建议版本 ≥ 18.0) | 执行 `docker ps`,无报错即表示服务正常启动 |31| **容器运行** | 已安装并运行 Docker(建议版本 ≥ 18.0) | 执行 `docker ps`,无报错即表示服务正常启动 |
32| **脚本执行** | 宿主机已安装 Python 3(任意版本) | 在宿主机执行 `python3 -V`,有版本信息输出即表示已安装 |32| **脚本执行** | 宿主机已安装 Python 3(任意版本) | 在宿主机执行 `python3 -V`,有版本信息输出即表示已安装 |
33| **网络通信** | 已安装 curl(任意版本) | 执行 `curl -V`,有版本信息输出即表示已安装 |33| **网络通信** | 已安装 curl(任意版本) | 执行 `curl -V`,有版本信息输出即表示已安装 |
34-| **磁盘空间** | 至少 100 G 空闲磁盘空间(用于模型权重下载) | 执行 `df -h`,查看磁盘空间使用情况 |34+| **磁盘空间** | 至少 100GB 空闲磁盘空间(用于模型权重下载) | 执行 `df -h`,查看磁盘空间使用情况 |
35 35 
36> 👉 确认前置条件满足后,若环境具备公网访问能力,则本章所有命令可直接 **Copy/Paste** 执行,无需手动输入或拼接。36> 👉 确认前置条件满足后,若环境具备公网访问能力,则本章所有命令可直接 **Copy/Paste** 执行,无需手动输入或拼接。
37 37 
@@ -63,8 +63,8 @@ source /dev/stdin <<< "$(
63>63>
64> **命令原理**64> **命令原理**
65>65>
66-> 通过 `lspci` 获取 NPU 的 PCI ID,自动匹配 vllm-ascend 官方镜像,并将镜像地址赋给环境变量 `MY_STUDY_VAR_VLLM_IMAGE`,供后续使用。 66+> 通过 `lspci` 获取 NPU 的 PCI ID,自动匹配 vLLM-Ascend 官方镜像,并将镜像地址赋给环境变量 `MY_STUDY_VAR_VLLM_IMAGE`,供后续使用。
67-> 所有镜像均来自 Quay.io 发布的 vllm-ascend 官方仓库,镜像详情参阅 [vllm-ascend 官方镜像仓库](https://quay.io/repository/ascend/vllm-ascend?tab=tags)。67+> 所有镜像均来自 Quay.io 发布的 vLLM-Ascend 官方仓库,镜像详情参阅 [vLLM-Ascend 官方镜像仓库](https://quay.io/repository/ascend/vllm-ascend?tab=tags)。
68 68 
69若输出 `[PASS]`,表示识别成功,继续下一步;若输出 `[FAIL]`,可能原因如下:69若输出 `[PASS]`,表示识别成功,继续下一步;若输出 `[FAIL]`,可能原因如下:
70 70 
@@ -145,7 +145,7 @@ python3 -c 'import torch, torch_npu; assert torch.npu.is_available(), "NPU is un
145>145>
146> **高效操作小技巧**146> **高效操作小技巧**
147>147>
148-> 模型文件较大(约 50 GB),即使千兆带宽满速下载也需 10 分钟左右。建议执行下载命令后先阅读后续章节,学习量化原理与部署流程,待下载完成后即可更高效地执行后续操作。148+> 模型文件较大(约 50GB),即使千兆带宽满速下载也需10分钟左右。建议执行下载命令后先阅读后续章节,学习量化原理与部署流程,待下载完成后即可更高效地执行后续操作。
149 149 
150执行如下命令,从 ModelScope 下载 Qwen3.6-27B 原始权重:150执行如下命令,从 ModelScope 下载 Qwen3.6-27B 原始权重:
151 151 
@@ -200,13 +200,13 @@ msmodelslim.app.naive_quantization - INFO - ===========SUCCESS===========
200 200 
201若量化中止或报错,未出现上述成功标志,请按以下步骤排查:201若量化中止或报错,未出现上述成功标志,请按以下步骤排查:
202 202 
203-1. 确认 NPU 卡状态正常:执行 `npu-smi info`,检查目标卡的 Health 状态是否为 `OK`、AICore 占用率是否异常,若异常需先释放资源或更换卡。203+1. 确认 NPU 卡状态正常:执行 `npu-smi info`,检查目标卡的 Health 状态是否为 `OK`、AI Core 占用率是否异常,若异常需先释放资源或更换卡。
2042. 检查环境变量设置:执行 `echo ${ASCEND_RT_VISIBLE_DEVICES}`,确认该变量指向的卡 ID 真实存在且未被占用,不可包含空格或无效 ID。2042. 检查环境变量设置:执行 `echo ${ASCEND_RT_VISIBLE_DEVICES}`,确认该变量指向的卡 ID 真实存在且未被占用,不可包含空格或无效 ID。
2053. 排查显存不足(OOM):查看终端错误日志中是否包含类似 `Out of memory` 的关键字。若出现,说明当前卡显存不足,可切换至空闲 NPU 卡重试。2053. 排查显存不足(OOM):查看终端错误日志中是否包含类似 `Out of memory` 的关键字。若出现,说明当前卡显存不足,可切换至空闲 NPU 卡重试。
206 206 
207#### 2.2.4 容器内:查看量化输出结果207#### 2.2.4 容器内:查看量化输出结果
208 208 
209-**1.查看量化结果文件**209+**1. 查看量化结果文件**
210 210 
211```bash211```bash
212ls -al ~/qwen36_27b_w8a8212ls -al ~/qwen36_27b_w8a8
@@ -228,7 +228,7 @@ ls -al ~/qwen36_27b_w8a8
228└── generation_config.json # 【原始】生成配置文件(定义温度、Top-P、最大生成长度等采样策略)228└── generation_config.json # 【原始】生成配置文件(定义温度、Top-P、最大生成长度等采样策略)
229```229```
230 230 
231-**2.验证量化压缩效果**231+**2. 验证量化压缩效果**
232 232 
233执行如下命令,对比量化前后的目录大小:233执行如下命令,对比量化前后的目录大小:
234 234 
@@ -237,11 +237,11 @@ du -sh ~/qwen36_27b_base
237du -sh ~/qwen36_27b_w8a8237du -sh ~/qwen36_27b_w8a8
238```238```
239 239 
240-预期结果:原始权重约 50+ GB,量化后约 30+ GB,体积缩减约 40%,表明量化大幅压缩了模型体积。240+预期结果:原始权重约50+GB,量化后约30+GB,体积缩减约40%,表明量化大幅压缩了模型体积。
241 241 
242### 2.3 量化模型功能验证242### 2.3 量化模型功能验证
243 243 
244-本节使用 vllm-ascend 部署量化模型并完成一次推理验证。244+本节使用 vLLM-Ascend 部署量化模型并完成一次推理验证。
245 245 
246#### 2.3.1 容器内:恢复 vLLM 运行环境246#### 2.3.1 容器内:恢复 vLLM 运行环境
247 247 
@@ -273,7 +273,7 @@ fi
273 273 
274#### 2.3.3 容器内:启动服务274#### 2.3.3 容器内:启动服务
275 275 
276-启动 vllm-ascend 在线推理服务(命令会持续占用当前终端):276+启动 vLLM-Ascend 在线推理服务(命令会持续占用当前终端):
277 277 
278```bash278```bash
279vllm serve ~/qwen36_27b_w8a8 \279vllm serve ~/qwen36_27b_w8a8 \
@@ -301,10 +301,10 @@ vllm serve ~/qwen36_27b_w8a8 \
301 301 
302| 序号 | 阶段 | 耗时 | 说明 |302| 序号 | 阶段 | 耗时 | 说明 |
303|:--:|:--|:-------|:--|303|:--:|:--|:-------|:--|
304-| 1 | 配置解析与插件激活 | 约 10 秒 | 加载 vllm-ascend 平台插件,解析模型架构与调度参数 |304+| 1 | 配置解析与插件激活 | 约 10 秒 | 加载 vLLM-Ascend 平台插件,解析模型架构与调度参数 |
305| 2 | Worker 启动与 HCCL 握手 | 约 50 秒 | 拉起多卡 Worker 进程,建立通信链路,分配 TP Rank |305| 2 | Worker 启动与 HCCL 握手 | 约 50 秒 | 拉起多卡 Worker 进程,建立通信链路,分配 TP Rank |
306| 3 | CPU-NPU 亲和绑定 | 约 10 秒 | 按 NUMA 拓扑将 Worker 绑定至 NPU 近端 CPU 核心及中断 |306| 3 | CPU-NPU 亲和绑定 | 约 10 秒 | 按 NUMA 拓扑将 Worker 绑定至 NPU 近端 CPU 核心及中断 |
307-| 4 | 加载模型权重 | 约 30 秒 | 将 9 个 safetensors 分片(每卡约 16.7 GB)加载至全局内存 |307+| 4 | 加载模型权重 | 约 30 秒 | 将 9 个 safetensors 分片(每卡约 16.7GB)加载至全局内存 |
308| 5 | 图编译与算子融合 | 约 80 秒 | Dynamo 字节码转换(20s)+ CANN 算子编译(48s)+ 融合预热 |308| 5 | 图编译与算子融合 | 约 80 秒 | Dynamo 字节码转换(20s)+ CANN 算子编译(48s)+ 融合预热 |
309| 6 | NPU Graph 捕获 | 约 30 秒 | 预编译 22 种 Batch 大小(1~152)的静态执行路径 |309| 6 | NPU Graph 捕获 | 约 30 秒 | 预编译 22 种 Batch 大小(1~152)的静态执行路径 |
310 310 
@@ -375,7 +375,7 @@ curl -s http://localhost:5678/v1/completions \
375~/ctr_in.py -d375~/ctr_in.py -d
376```376```
377 377 
378-🎉 至此,快速入门体验已全部完成。掌握 msModelSlim 一键量化与 vllm-ascend 推理部署的完整流程,如需了解更多功能,请阅读 《[使用指南](../user_guide/README.md)》 等进阶文档。378+🎉 至此,快速入门体验已全部完成。已完成 msModelSlim 一键量化与 vLLM-Ascend 推理部署的完整流程,如需了解更多功能,请阅读 《[使用指南](../user_guide/README.md)》 等进阶文档。
379 379 
380<br>380<br>
381 381