ptq
特性简介
- 特性入口:$HOME/.local/lib/python3.x/site-packages/amct_pytorch/cli/llm/ptq.py
- 特性介绍:该入口用来进行PTQ优化训练,流程如下:
- 数据加载:加载由extract_ptq_data生成的校准数据集。
- 逐层优化:对指定--quant_target(量化目标)单元执行逐层量化优化。
- 损失最小化:以原始未量化模型的输出作为真值GT(GroundTruth),通过最小化量化模块输出与真值之间的均方误差(MSE)来优化量化参数。
- 参数导出:优化完成后,自动导出各单元的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 |
参数详细说明请参见参数说明。
父主题: 工具入口及对应实例化操作