Skip to main content

onnx-quantization

Use AIMET ONNX for QuantizationSimModel calibration, provider selection, encodings, QDQ export, graph passes, and ONNX PTQ utilities.

Ir para a instalação

Informações da origem

Repositório
VectorSpaceLab/AREX-Skill
Última atividade na origem
26 de agosto de 2026 às 16:31
Idioma detectado do SKILL.md
inglês
Estrelas
12
Forks
2

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
onnx-quantization
description
Use AIMET ONNX for QuantizationSimModel calibration, provider selection, encodings, QDQ export, graph passes, and ONNX PTQ utilities.
metadata
{"disco-role":"operating"}
disable-model-invocation
true
license
BSD 3-Clause
# AIMET ONNX quantization Use this sub-skill for `aimet_onnx`, ONNX `QuantizationSimModel`, ONNX Runtime providers, input dictionaries, encodings import/export, QDQ conversion, tensor precision controls, graph passes, AdaRound, SeqMSE, and ONNX-side analysis utilities. ## Read/run first - Read [API overview](../../references/api-overview.md) for verified `aimet_onnx` signatures and utility entry points. - Read [workflows](../../references/workflows.md) for the distilled ONNX QuantSim/PTQ loop. - Read [backend compatibility](../../references/backend-compatibility.md) for CPU provider versus CUDAExecutionProvider evidence. - Read [troubleshooting](../../references/troubleshooting.md) for input-shape, provider, graph-pass, encoding-load, and QDQ/export issues. - Run [quick_smoke.py](../../scripts/quick_smoke.py) with `--framework onnx` to prove the installed package can quantize a tiny ONNX model. ## Core workflow 1. **Validate the ONNX graph.** Start from a valid `onnx.ModelProto`; simplify or clean the graph before QuantSim if the export is noisy. 2. **Choose precision.** Use `param_type` and `activation_type` (`int8`, `int16`, `float16`, or `QSpec`/granularity objects) based on target accuracy/performance constraints. 3. **Choose providers deliberately.** Default CPU provider is sufficient for most graph work; CUDA provider requires `onnxruntime-gpu` and a visible CUDA runtime. 4. **Create QuantSim.** Pass the model, quant scheme, config file, dummy input if needed, custom op libraries if needed, and provider list. 5. **Calibrate with dictionaries.** Calibration batches should be `{input_name: np_array}` mappings with valid shapes and dtypes. 6. **Apply PTQ utilities when needed.** Run SeqMSE, AdaRound, blockwise/LPBQ, or tensor-precision overrides before final calibration/export when the task calls for them. 7. **Export.** Use `sim.export(...)` for AIMET model + encodings, or `sim.to_onnx_qdq(...)` / `from_onnx_qdq(...)` when the downstream workflow needs QDQ graphs. ## Decision points - **Plain encodings vs QDQ:** Choose the artifact form required by the target toolchain; QDQ nodes are not the same as a separate encodings JSON. - **Strict encoding loads:** Use strict behavior for deployment readiness; only use non-strict loading when explicitly inspecting graph differences. - **Dynamic shapes:** Build calibration inputs that satisfy the symbolic shape constraints observed by ONNX Runtime. - **Custom ops:** Provide `user_onnx_libs` only when the model actually contains custom ops and the library is available. ## Boundaries - Route PyTorch model-preparation, QAT, and Torch export questions to [torch-quantization](../torch-quantization/SKILL.md). - Route accuracy-debugging, visualization, compression, and target handoff to [optimization-analysis-deployment](../optimization-analysis-deployment/SKILL.md). - LLM topology/configurator and GenAILab automation are deferred unless a future skill extension adds that scope. ## Expected answer shape When answering an ONNX AIMET request, include: - ONNX graph validation/simplification assumptions; - `QuantizationSimModel` constructor arguments and provider list; - calibration input dictionary shape; - whether PTQ utilities are applied before final calibration; - export form and expected artifacts; - provider/backend verification required before claiming CUDA behavior.
Ver no GitHub