| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[feat]: add amct llm Co-authored-by: w00852777<wanghui432@huawei.com> Co-authored-by: fujun19<fujun19@hisilicon.com> Co-authored-by: SwaggyAlex<zhangyi601@huawei.com> Co-authored-by: li_ting<liting73@hisilicon.com> # message auto-generated for no-merge-commit merge: !102 merge master into master [feat]: add amct llm Created-by: fujun19 Commit-by: SwaggyAlex;fujun19;wuranxx;li_ting;l00968832;lianghengyi;sophia1213;Hengyi Liang;w00852777 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 新增LLM量化工具模块,用于面向大语言模型的后训练量化、精度评估和部署产物导出,主要包括: 1. 新增并整理 LLM 量化工作流能力 - 新增 amct_pytorch/workflows 与 amct_pytorch/cli/llm,覆盖 PTQ、PTQ 数据提取、部署导出、评估等流程。 - 新增通用配置解析、数据处理、模型适配、量化应用、优化器等公共模块。 - 补充 Qwen、LongCat、DeepSeek、GLM 等 LLM 模型适配与量化模块。 2. 调整 AMCT PyTorch 包结构 - 引入 algorithms、common、quantization、workflows 等更清晰的模块划分。 - 将 classic 图量化相关实现收敛到 amct_pytorch/classic/graph_based,保持历史能力可用。 - 修正安装包数据路径,确保 classic graph-based 相关 proto、so、配置等资源能正确打包。 3. 完善构建与测试能力 - build.sh -u 默认开启覆盖率采集。 - 新增 pyproject.toml,统一 pytest 与 coverage 配置。 - 调整 CMake UT 入口,使用 pytest 执行 tests/unit_test 与 tests/amct_pytorch。 - 大幅补充算法、配置、LLM 模型适配、量化模块、workflow 等单元测试。 4. 更新依赖、文档和样例 - 补充 LLM 相关运行依赖,如 datasets、accelerate、compressed_tensors、torchao、einops 等。 - 更新 README、算法说明、LLM 文档、快速安装和 PTQ 配置说明。 - 新增/整理一站式平台样例,包括 Qwen3.6-MoE、DeepSeek-V4 Flash,以及 PTQ、部署、评估、数据提取脚本。 - 将算法样例统一整理到 examples/algorithms 目录,提升样例可发现性和可维护性。 ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> 已进行以下验证: 1. UT 与覆盖率验证 bash build.sh -u 结果: 1911 passed, 2 skipped, 1 xfailed, 371 warnings Coverage XML written to build/coverage.xml ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 更新根目录 README.md,补充 AMCT PyTorch 当前包结构、核心能力、一站式平台快速体验入口,并修正 amct_ops 文档链接。 - 更新 docs/AMCT_Pytorch_LLM.md,补充 LLM 量化流程说明,包括 PTQ 数据提取、PTQ 执行、部署导出和评估流程。 - 更新 docs/algorithm_brief.md,同步当前支持的量化算法说明。 - 更新 docs/context/ptq_config_param.md,修正配置示例引用路径,避免文档中的样例路径不可用。 - 更新 docs/quick_install.md 与 docs/README.md,同步依赖安装、构建验证和特性说明。 - 更新 examples/README.md,重新整理样例入口,明确算法样例与模型端到端样例的使用路径。 - 新增/完善 Qwen3.6-MoE 与 DeepSeek-V4 Flash 一站式平台样例文档,降低用户在 Atlas A3 环境中完成 NPU 推理体验的上手成本。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!102 | 3 个月前 | |
feat: 增加 QuantAlgorithmBase 算法基类; 优化 is_observe 通路控制开关 Co-authored-by: zchenbm<chenzhuo63@hisilicon.com> # message auto-generated for no-merge-commit merge: !245 merge master into master feat: 增加 QuantAlgorithmBase 算法基类; 优化 is_observe 通路控制开关 Created-by: zchenbm97 Commit-by: zchenbm Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 新增量化算法基类: QuantAlgorithmBase,默认包含is_observe开关和ptq_params加载和导出的公共接口,新增calib_forwad()接口,默认返回原始Tensor;2. 实际注册的量化算法需要重写forward()并实现量化通路,需要进行校准的量化算法需要重写calib_forward()并保证返回原始Tensor; 3. 当前已支持的Dtype同步新增is_observe 开关,True时返回原始Tensor,不注入量化误差; 4. 优化PTQ校准通路和注入量化误差通路控制,统一由amct_pytorch/common/models/llm/common/quant_apply.py 中 set_model_to_observe() 接口控制,去除了冗余set_*_quantizer() 控制接口; ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> 已安装本项目所需依赖环境下: 1. python -m pytest tests/unit_test/algorithms 2. python -m pytest tests/unit_test/common/models/llm/common 3. python -m pytest tests/unit_test/quantization 4. python -m pytest tests/unit_test/workflows ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!245 | 1 个月前 | |
feat: 增加 QuantAlgorithmBase 算法基类; 优化 is_observe 通路控制开关 Co-authored-by: zchenbm<chenzhuo63@hisilicon.com> # message auto-generated for no-merge-commit merge: !245 merge master into master feat: 增加 QuantAlgorithmBase 算法基类; 优化 is_observe 通路控制开关 Created-by: zchenbm97 Commit-by: zchenbm Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 新增量化算法基类: QuantAlgorithmBase,默认包含is_observe开关和ptq_params加载和导出的公共接口,新增calib_forwad()接口,默认返回原始Tensor;2. 实际注册的量化算法需要重写forward()并实现量化通路,需要进行校准的量化算法需要重写calib_forward()并保证返回原始Tensor; 3. 当前已支持的Dtype同步新增is_observe 开关,True时返回原始Tensor,不注入量化误差; 4. 优化PTQ校准通路和注入量化误差通路控制,统一由amct_pytorch/common/models/llm/common/quant_apply.py 中 set_model_to_observe() 接口控制,去除了冗余set_*_quantizer() 控制接口; ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> 已安装本项目所需依赖环境下: 1. python -m pytest tests/unit_test/algorithms 2. python -m pytest tests/unit_test/common/models/llm/common 3. python -m pytest tests/unit_test/quantization 4. python -m pytest tests/unit_test/workflows ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!245 | 1 个月前 | |
style: 执行 pre-commit 格式化(#161) Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !228 merge chore/precommit-format-161 into master style: 执行 pre-commit 格式化(#161) Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 按照 issue #161 提到的 pre-commit 本地格式化方法,对仓内 tracked C/C++ 和 Python 文件执行格式化。本 PR 仅包含 clang-format / ruff-format 自动格式化结果,不包含 ruff 历史例外配置。 ## 如何测试 - pre-commit run clang-format --all-files:Passed - pre-commit run ruff-format --all-files:Passed - 未运行完整 pre-commit run --all-files;ruff-check 的历史例外按要求未纳入本次提交。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [x] 其他,请描述:pre-commit 格式化 See merge request: cann/amct!228 | 1 个月前 | |
fix: 修复 ruff-check F841/E741/F811 违规 (#146) Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !195 merge fix/ruff-check-f841-e741-f811 into master fix: 修复 ruff-check F841/E741/F811 违规 (#146) Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 修复 pre-commit ruff-check 报告的 F841/E741/F811 共 262 处违规,使 pre-commit run --all-files 的 ruff-check 钩子通过。 关联 Issue: #146 **修复内容:** - **F841**(未使用的局部变量赋值):删除无效赋值,保留有副作用的调用 - **E741**(歧义变量名):将 l、I 等单字母变量重命名为语义清晰的名称(seq_len、log 等) - **F811**(重复定义):删除重复导入、重复函数/类定义,保留语义更完整的版本 ## 如何测试 执行 pre-commit run ruff-check --all-files,预期输出:ruff-check...........................................................Passed ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!195 | 2 个月前 | |
style: 执行 pre-commit 格式化(#161) Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !228 merge chore/precommit-format-161 into master style: 执行 pre-commit 格式化(#161) Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 按照 issue #161 提到的 pre-commit 本地格式化方法,对仓内 tracked C/C++ 和 Python 文件执行格式化。本 PR 仅包含 clang-format / ruff-format 自动格式化结果,不包含 ruff 历史例外配置。 ## 如何测试 - pre-commit run clang-format --all-files:Passed - pre-commit run ruff-format --all-files:Passed - 未运行完整 pre-commit run --all-files;ruff-check 的历史例外按要求未纳入本次提交。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [x] 其他,请描述:pre-commit 格式化 See merge request: cann/amct!228 | 1 个月前 | |
feat: 增加 QuantAlgorithmBase 算法基类; 优化 is_observe 通路控制开关 Co-authored-by: zchenbm<chenzhuo63@hisilicon.com> # message auto-generated for no-merge-commit merge: !245 merge master into master feat: 增加 QuantAlgorithmBase 算法基类; 优化 is_observe 通路控制开关 Created-by: zchenbm97 Commit-by: zchenbm Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 新增量化算法基类: QuantAlgorithmBase,默认包含is_observe开关和ptq_params加载和导出的公共接口,新增calib_forwad()接口,默认返回原始Tensor;2. 实际注册的量化算法需要重写forward()并实现量化通路,需要进行校准的量化算法需要重写calib_forward()并保证返回原始Tensor; 3. 当前已支持的Dtype同步新增is_observe 开关,True时返回原始Tensor,不注入量化误差; 4. 优化PTQ校准通路和注入量化误差通路控制,统一由amct_pytorch/common/models/llm/common/quant_apply.py 中 set_model_to_observe() 接口控制,去除了冗余set_*_quantizer() 控制接口; ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> 已安装本项目所需依赖环境下: 1. python -m pytest tests/unit_test/algorithms 2. python -m pytest tests/unit_test/common/models/llm/common 3. python -m pytest tests/unit_test/quantization 4. python -m pytest tests/unit_test/workflows ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!245 | 1 个月前 | |
feat: 新增 HiGPTQ 校准算法支持 Co-authored-by: zhangj1an<lanzhao944@gmail.com> Co-authored-by: zhangj1an<jianmusings@gmail.com> # message auto-generated for no-merge-commit merge: !252 merge higptq_cli into master feat: 新增 HiGPTQ 校准算法支持 Created-by: nancycyzl Commit-by: zl;Zhang Jian;ZL_PC;zhangj1an Merged-by: cann-robot Description: ## Description 本提议新增 HiGPTQ,把经典 GPTQ 的 Hessian 累积 + Cholesky 闭式求解思路引入 LLM PTQ 框架,并针对 HiFloat4(HiF4) 这个块浮点格式做适配。 AMCT PTQ 框架( amct_pytorch.ptq / LlmPtqWorkflow) 现有的算法(LAC、LWC、AutoRound、OmniQuant、FlatQuant)都是"可微分/可迭代"一类,以 weight/activation/structure 为 target 插件式串进 QuantLinear 正向传播,靠 BlockwiseSolver 反向传播+优化器多轮迭代求解。GPTQ / HiGPTQ 这种单次前向、闭式求解的路径,没有可学习参数,求解方式和上述算法不同。但只需要把求解过程中的中间结果罗盘,就可以复用框架现有的 BlockwiseSolver 和插件机制。 本提议延续框架现有的结构(CLI → LlmPtqWorkflow → Blockwise Solver → 具体算法),新增一个模块: - GPTQuant(amct_pytorch/algorithms/quant/gptq.py):继承 QuantAlgorithmBase,实现基于 INT 和 HiF4 的 GPTQ 算法。 ## How to Test 1. Unit test python -m pytest tests/unit_test/algorithms/test_higptq.py -v 结果: (amct) [ma-user amct]$python -m pytest tests/unit_test/algorithms/test_higptq.py -v ==================================================================================================== test session starts ===================================================================================================== platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /home/ma-user/.conda/envs/amct/bin/python cachedir: .pytest_cache rootdir: /home/ma-user/work/z84448474/amct configfile: pyproject.toml plugins: xdist-3.6.1, typeguard-4.5.2, anyio-4.14.1, env-1.7.0 collected 8 items tests/unit_test/algorithms/test_higptq.py::test_higptq_is_registered_as_a_calibrate_solver_algo PASSED [ 12%] tests/unit_test/algorithms/test_higptq.py::test_cal_scale_offset_static_has_no_external_quant_factors PASSED [ 25%] tests/unit_test/algorithms/test_higptq.py::test_cal_quant_weight_group_delegates_to_hifloat4_fake_quant PASSED [ 37%] tests/unit_test/algorithms/test_higptq.py::test_single_group_optimization_matches_direct_hifloat4_quant PASSED [ 50%] tests/unit_test/algorithms/test_higptq.py::test_dead_hessian_column_is_zeroed_before_quantization PASSED [ 62%] tests/unit_test/algorithms/test_higptq.py::test_optimization_handles_column_counts_not_aligned_to_group_or_block_size PASSED [ 75%] tests/unit_test/algorithms/test_higptq.py::test_fake_quant_forward_quantizes_once_and_reuses_cache PASSED [ 87%] tests/unit_test/algorithms/test_higptq.py::test_forward_updates_weight_after_batch_num_then_switches_to_fake_quant PASSED [100%] ===================================================================================================== 8 passed in 1.47s ====================================================================================================== 2. 端到端测试 a) 保存激活值 通过 amct_pytorch.extract_ptq_data 保存激活值,需对不同类型层分别运行,比如 --quant_target mlp 或者 --quant_target attn_linear python -m amct_pytorch.extract_ptq_data \ --model /home/ma-user/work/z84448474/models/Qwen3.5-9B \ --model_name qwen3_5 \ --seq_len 4096 \ --granularity block \ --device npu:0 \ --data_dir ptq_data/qwen3_5/mlp \ --quant_target mlp b) 运行 HiGPTQ 算法 需对不同类型层分别运行,比如 --quant_target mlp 或者 --quant_target attn_linear,以及配置对应的 --data_dir python -m amct_pytorch.ptq \ --model /home/ma-user/work/z84448474/models/Qwen3.5-9B \ --model_name qwen3_5 \ --seq_len 4096 \ --granularity block \ --device npu:0 \ --data_dir /data/z84448474/z84448474/ptq_data/qwen3_5/mlp \ --quant_dtype hifp \ --algos gptq \ --bit_config amct_pytorch/configs/hifloat4.yaml \ --quant_target mlp \ --moe_mlp_param_dir ptq_result/ptq_params/qwen3_5/mlp \ --output_dir ptq_result/ c) 进行 PPL 测评 配置 --attn_linear_param_dir 和 --moe_mlp_param_dir 等路径(第二步的结果) python -m amct_pytorch.eval \ --model /home/ma-user/work/z84448474/models/Qwen3.5-9B \ --model_name qwen3_5 \ --seq_len 4096 \ --granularity block \ --device npu:0 \ --eval_mode quant \ --quant_target mlp attn-linear \ --quant_dtype hifp \ --bit_config amct_pytorch/configs/hifloat4.yaml \ --attn_linear_param_dir ptq_result/ptq_params/qwen3_5/attn-linear \ --moe_mlp_param_dir ptq_result/ptq_params/qwen3_5/mlp 测试结果(PPL对比): HiF4 直转 (w4a16):9.948 HiGPTQ 校准后:8.401 ## Type Label <!-- [x] indicates selected --> - [ ] Bug fix - [x] New feature - [ ] Performance optimization - [ ] Documentation update - [ ] Code refactoring - [ ] Other, please describe: See merge request: cann/amct!252 | 25 天前 | |
feat: 增加 QuantAlgorithmBase 算法基类; 优化 is_observe 通路控制开关 Co-authored-by: zchenbm<chenzhuo63@hisilicon.com> # message auto-generated for no-merge-commit merge: !245 merge master into master feat: 增加 QuantAlgorithmBase 算法基类; 优化 is_observe 通路控制开关 Created-by: zchenbm97 Commit-by: zchenbm Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 新增量化算法基类: QuantAlgorithmBase,默认包含is_observe开关和ptq_params加载和导出的公共接口,新增calib_forwad()接口,默认返回原始Tensor;2. 实际注册的量化算法需要重写forward()并实现量化通路,需要进行校准的量化算法需要重写calib_forward()并保证返回原始Tensor; 3. 当前已支持的Dtype同步新增is_observe 开关,True时返回原始Tensor,不注入量化误差; 4. 优化PTQ校准通路和注入量化误差通路控制,统一由amct_pytorch/common/models/llm/common/quant_apply.py 中 set_model_to_observe() 接口控制,去除了冗余set_*_quantizer() 控制接口; ## 如何测试 <!--描述测试此改动的步骤和前提条件。--> 已安装本项目所需依赖环境下: 1. python -m pytest tests/unit_test/algorithms 2. python -m pytest tests/unit_test/common/models/llm/common 3. python -m pytest tests/unit_test/quantization 4. python -m pytest tests/unit_test/workflows ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 代码重构 - [ ] 其他,请描述: See merge request: cann/amct!245 | 1 个月前 | |
feat: 新增 HiGPTQ 校准算法支持 Co-authored-by: zhangj1an<lanzhao944@gmail.com> Co-authored-by: zhangj1an<jianmusings@gmail.com> # message auto-generated for no-merge-commit merge: !252 merge higptq_cli into master feat: 新增 HiGPTQ 校准算法支持 Created-by: nancycyzl Commit-by: zl;Zhang Jian;ZL_PC;zhangj1an Merged-by: cann-robot Description: ## Description 本提议新增 HiGPTQ,把经典 GPTQ 的 Hessian 累积 + Cholesky 闭式求解思路引入 LLM PTQ 框架,并针对 HiFloat4(HiF4) 这个块浮点格式做适配。 AMCT PTQ 框架( amct_pytorch.ptq / LlmPtqWorkflow) 现有的算法(LAC、LWC、AutoRound、OmniQuant、FlatQuant)都是"可微分/可迭代"一类,以 weight/activation/structure 为 target 插件式串进 QuantLinear 正向传播,靠 BlockwiseSolver 反向传播+优化器多轮迭代求解。GPTQ / HiGPTQ 这种单次前向、闭式求解的路径,没有可学习参数,求解方式和上述算法不同。但只需要把求解过程中的中间结果罗盘,就可以复用框架现有的 BlockwiseSolver 和插件机制。 本提议延续框架现有的结构(CLI → LlmPtqWorkflow → Blockwise Solver → 具体算法),新增一个模块: - GPTQuant(amct_pytorch/algorithms/quant/gptq.py):继承 QuantAlgorithmBase,实现基于 INT 和 HiF4 的 GPTQ 算法。 ## How to Test 1. Unit test python -m pytest tests/unit_test/algorithms/test_higptq.py -v 结果: (amct) [ma-user amct]$python -m pytest tests/unit_test/algorithms/test_higptq.py -v ==================================================================================================== test session starts ===================================================================================================== platform linux -- Python 3.11.15, pytest-9.1.1, pluggy-1.6.0 -- /home/ma-user/.conda/envs/amct/bin/python cachedir: .pytest_cache rootdir: /home/ma-user/work/z84448474/amct configfile: pyproject.toml plugins: xdist-3.6.1, typeguard-4.5.2, anyio-4.14.1, env-1.7.0 collected 8 items tests/unit_test/algorithms/test_higptq.py::test_higptq_is_registered_as_a_calibrate_solver_algo PASSED [ 12%] tests/unit_test/algorithms/test_higptq.py::test_cal_scale_offset_static_has_no_external_quant_factors PASSED [ 25%] tests/unit_test/algorithms/test_higptq.py::test_cal_quant_weight_group_delegates_to_hifloat4_fake_quant PASSED [ 37%] tests/unit_test/algorithms/test_higptq.py::test_single_group_optimization_matches_direct_hifloat4_quant PASSED [ 50%] tests/unit_test/algorithms/test_higptq.py::test_dead_hessian_column_is_zeroed_before_quantization PASSED [ 62%] tests/unit_test/algorithms/test_higptq.py::test_optimization_handles_column_counts_not_aligned_to_group_or_block_size PASSED [ 75%] tests/unit_test/algorithms/test_higptq.py::test_fake_quant_forward_quantizes_once_and_reuses_cache PASSED [ 87%] tests/unit_test/algorithms/test_higptq.py::test_forward_updates_weight_after_batch_num_then_switches_to_fake_quant PASSED [100%] ===================================================================================================== 8 passed in 1.47s ====================================================================================================== 2. 端到端测试 a) 保存激活值 通过 amct_pytorch.extract_ptq_data 保存激活值,需对不同类型层分别运行,比如 --quant_target mlp 或者 --quant_target attn_linear python -m amct_pytorch.extract_ptq_data \ --model /home/ma-user/work/z84448474/models/Qwen3.5-9B \ --model_name qwen3_5 \ --seq_len 4096 \ --granularity block \ --device npu:0 \ --data_dir ptq_data/qwen3_5/mlp \ --quant_target mlp b) 运行 HiGPTQ 算法 需对不同类型层分别运行,比如 --quant_target mlp 或者 --quant_target attn_linear,以及配置对应的 --data_dir python -m amct_pytorch.ptq \ --model /home/ma-user/work/z84448474/models/Qwen3.5-9B \ --model_name qwen3_5 \ --seq_len 4096 \ --granularity block \ --device npu:0 \ --data_dir /data/z84448474/z84448474/ptq_data/qwen3_5/mlp \ --quant_dtype hifp \ --algos gptq \ --bit_config amct_pytorch/configs/hifloat4.yaml \ --quant_target mlp \ --moe_mlp_param_dir ptq_result/ptq_params/qwen3_5/mlp \ --output_dir ptq_result/ c) 进行 PPL 测评 配置 --attn_linear_param_dir 和 --moe_mlp_param_dir 等路径(第二步的结果) python -m amct_pytorch.eval \ --model /home/ma-user/work/z84448474/models/Qwen3.5-9B \ --model_name qwen3_5 \ --seq_len 4096 \ --granularity block \ --device npu:0 \ --eval_mode quant \ --quant_target mlp attn-linear \ --quant_dtype hifp \ --bit_config amct_pytorch/configs/hifloat4.yaml \ --attn_linear_param_dir ptq_result/ptq_params/qwen3_5/attn-linear \ --moe_mlp_param_dir ptq_result/ptq_params/qwen3_5/mlp 测试结果(PPL对比): HiF4 直转 (w4a16):9.948 HiGPTQ 校准后:8.401 ## Type Label <!-- [x] indicates selected --> - [ ] Bug fix - [x] New feature - [ ] Performance optimization - [ ] Documentation update - [ ] Code refactoring - [ ] Other, please describe: See merge request: cann/amct!252 | 25 天前 | |
style: 执行 pre-commit 格式化(#161) Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !228 merge chore/precommit-format-161 into master style: 执行 pre-commit 格式化(#161) Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 按照 issue #161 提到的 pre-commit 本地格式化方法,对仓内 tracked C/C++ 和 Python 文件执行格式化。本 PR 仅包含 clang-format / ruff-format 自动格式化结果,不包含 ruff 历史例外配置。 ## 如何测试 - pre-commit run clang-format --all-files:Passed - pre-commit run ruff-format --all-files:Passed - 未运行完整 pre-commit run --all-files;ruff-check 的历史例外按要求未纳入本次提交。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 代码重构 - [x] 其他,请描述:pre-commit 格式化 See merge request: cann/amct!228 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 25 天前 | ||
| 1 个月前 | ||
| 25 天前 | ||
| 1 个月前 |