开发者
下载

extract_ptq_data

特性简介

  • 特性入口:$HOME/.local/lib/python3.x/site-packages/amct_pytorch/cli/llm/extract_ptq_data.py
  • 特性介绍:该入口用来提取PTQ校准数据,流程如下:
    1. 加载校准数据:加载Pileval校准样本。
    2. 执行推理:执行Embedding编码及逐Block的前向传播。
    3. 采集中间数据:在指定的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

参数详细说明请参见参数说明