开发者
下载

ptq

特性简介

  • 特性入口:$HOME/.local/lib/python3.x/site-packages/amct_pytorch/cli/llm/ptq.py
  • 特性介绍:该入口用来进行PTQ优化训练,流程如下:
    1. 数据加载:加载由extract_ptq_data生成的校准数据集。
    2. 逐层优化:对指定--quant_target(量化目标)单元执行逐层量化优化。
    3. 损失最小化:以原始未量化模型的输出作为真值GT(GroundTruth),通过最小化量化模块输出与真值之间的均方误差(MSE)来优化量化参数。
    4. 参数导出:优化完成后,自动导出各单元的PTQ参数。
  • 特性输出:PTQ参数目录下的layer_*.pt文件。
  • 约束:
    • quant_target参数必须且仅能指定一个量化目标单元。
    • 当前仅支持granularity=block,model粒度的PTQ逻辑目前为预留接口。
    • --granularity必须和extract_ptq_data中的参数保持一致。

实例化操作:训练PTQ参数

PTQ当前要求一次只处理一个quant_target量化目标,并支持block粒度的量化训练。训练完成后,PTQ量化参数会保存到对应的参数目录。命令为:

1
python3 -m amct_pytorch.ptq --model /path/to/model --model_name qwen3 --device npu:0 --granularity block --quant_target mlp --quant_dtype int --bit_config amct_pytorch/configs/example_w4a8.yaml --algos lwc lac --data_dir ./outputs/qwen3_ptq_data --start_block_idx 0 --end_block_idx 32 --epochs 15 --base_lr 1e-5 --optimizer adamw --output_dir ./outputs/qwen3_ptq

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