开发者
下载

deploy

特性简介

  • 特性入口:$HOME/.local/lib/python3.x/site-packages/amct_pytorch/cli/llm/deploy.py
  • 特性介绍:该入口用来导出部署的权重,流程如下:
    1. 加载基础safetensors文件:系统将从源文件中加载原始的safetensors权重索引,以作为后续操作的基础。
    2. 构建量化模块:基于指定的PTQ参数,系统会构建用于量化处理的block模块。
    3. 导出部署张量:系统将生成并导出量化的权重张量,以及相关的scale参数等用于部署的张量数据。
    4. 管理未替换权重:在量化过程中未被处理的原始权重将被重新分片,并存储在rest_*.safetensors文件中以供恢复或进一步使用。
    5. 更新配置文件:完成操作后,系统将更新核心配置文件model.safetensors.index.json和config.json,以确保文件的完整性以及一致性。
  • 特性输出:部署模型目录,包括layer_*.safetensorsrest_*.safetensors、更新后的model.safetensors.index.jsonconfig.json。
  • 约束:
    • 模块粒度:当前仅支持以block为粒度的处理(--granularity=block) 。
    • 自定义hook限制:若使用了自定义的quantize() hook(用于权重量化算法),则当前版本不支持通过export_deploy()功能进行部署。

实例化操作:导出部署权重

deploy当前支持block粒度导出,该过程会复制模型的非权重辅助文件,逐层导出量化权重,重写model.safetensors.index.json,并在config.json中写入quantization_config。命令为:

1
python3 -m amct_pytorch.deploy --model /path/to/model --model_name qwen3 --granularity block --quant_target mlp --quant_dtype mxfp --bit_config amct_pytorch/configs/example_w4a8.yaml --moe_mlp_param_dir ./outputs/qwen3_ptq_params/mlp --output_dir ./outputs/qwen3_deploy

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