extract_ptq_data
特性简介
- 特性入口:$HOME/.local/lib/python3.x/site-packages/amct_pytorch/cli/llm/extract_ptq_data.py
- 特性介绍:该入口用来提取PTQ校准数据,流程如下:
- 加载校准数据:加载Pileval校准样本。
- 执行推理:执行Embedding编码及逐Block的前向传播。
- 采集中间数据:在指定的Hook位置捕获PTQ所需的输入(Input)、关键字参数(Kwargs)等中间数据,供后续PTQ流程使用。
- 特性输出:--data_dir下的block/unit 输入、kwargs等PTQ数据。
- 约束:
- --quant_target参数必须且仅能指定一个目标。
- --granularity必须和ptq中的参数取值保持一致。
实例化操作:提取PTQ数据
在基于Block的PTQ数据提取流程中,系统根据--quant_target配置自动定位目标层并注册Hook,以捕获激活值或权重数据。不同量化目标对应的数据采集位置如下:
- Attention模块(attn-linear, attn-cache):在Attention Norm之后采集数据。
- FFN/MoE模块(mlp, moe):在FFN Norm之后采集数据。
命令如下:
1 | python3 -m amct_pytorch.extract_ptq_data --model /path/to/model --model_name qwen3 --device npu:0 --quant_target mlp --seq_len 4096 --data_dir ./outputs/qwen3_ptq_data |
参数详细说明请参见参数说明。
父主题: 工具入口及对应实例化操作