nvidia/quant-recipe-search
>- Use when the user asks to find, search for, or optimize the best quantization recipe for a model, including direct requests like "find the best quantization choose compute-vs-memory success metrics, select ModelOpt recipe baselines, design AutoQuant/manual recipe deltas, interpret sensitivity, and decide next candidates. Do NOT use for a single known PTQ recipe run (use ptq), serving (use deployment), creating/running evals (use evaluation or launching-evals), monitoring jobs (use monitor), MLflow browsing (use accessing-mlflow), or comparing completed baseline-vs-candidate scores only (use compare-results).
npx skills add https://github.com/NVIDIA/Model-Optimizer --skill quant-recipe-search
Use this skill when quantization is an iterative recipe search, not a one-off
PTQ run. The skill owns strategy: define success, choose the search space,
sequence candidates, and decide the next iteration. It delegates checkpoint
generation, serving, evaluation, monitoring, and metric comparison to the
existing execution skills.
Treat a direct request such as "find the best quantization recipe and generate a
PTQ checkpoint for this model" as enough to start. Recover local state first,
then ask only for missing decisions that change the search.
ptq to produce and validate checkpoints.deployment to serve checkpoints and debug serving-specific flags.evaluation to create NEL configs and submit evals.launching-evals to run, resume, debug, and analyze NEL runs.monitor for active job tracking.accessing-mlflow for MLflow artifact lookup.compare-results for validated baseline-vs-candidate deltas and score-field comparability.Do not duplicate those workflows here. This skill should leave the user with a clear recipe portfolio, success metric, experiment sequence, and next decision.
The task is to find the best recipe for a user-defined target, not merely to
produce a quantized checkpoint. A generated PTQ checkpoint is only a candidate.
It becomes a recommended recipe only after evaluation and comparison against the
matching baseline.
Required inputs before planning candidates:
INT4/AWQ, or a custom mixed set.
If any of these are missing, ask for them. Do not silently default to FP8/W8A8
or call a checkpoint "best" before evaluation.
Default success rule: maximize the chosen performance objective while keeping
each benchmark within 1 percentage point of the matching BF16/FP16 baseline.
Near-threshold or noisy regressions require reruns before making a decision.
Keep the search space explicit. A candidate recipe is a tuple across these axes:
formats such as NVFP4+FP8.
AWQ, AutoQuant scoring, and calibration dataset or sample-count variants.
recipes, AutoQuant selection, or a hybrid of AutoQuant plus manual overrides.
lm_head, adapters, vision encoders, and model-specific modules.
ranges to keep in BF16. First 3-4 and last 1-2 layers are common starting
candidate ranges, not defaults.
use compatible quantization. Examples: vLLM Qwen linear_attn.in_proj_qkvz
and fused MoE expert projections such as gate/up (w1/w3).
settings.
Do not collapse the search to one dimension such as numeric format only. Read
references/recipe_iteration.md when choosing concrete axes or candidates.
experiment notes before proposing new work.
monitor, launching-evals, or compare-results to recover activejob state and completed metrics when needed.
accuracy-loss threshold, calibration budget, and cost metric.
estimates.
itself is the target.
modelopt_recipes: model-specific recipesfirst, then general PTQ presets or recipe fragments.
is available. Expect AutoQuant to find a better trade-off than a first
manual recipe, but validate that assumption with the same evals.
compared against controlled ablations and there is a fallback if AutoQuant
misses the best frontier or hits runtime constraints.
controlled first-layer, last-layer, or combined BF16 exclusion candidate.
Do not preserve boundary layers without testing the trade-off.
ptq.family, layer position, granularity, or calibration data.
manual recipes for controlled module-family ablations and overrides.
For manual recipes, add those blocks to the recipe exclusions. For
AutoQuant or hybrid candidates, pass positional exclusions into the
selected implementation when supported; otherwise apply a manual override
to its result and record the limitation.
runtime group.
evaluate the candidate against the same BF16 baseline and acceptance
criteria as every other recipe.
reject the recipe immediately. Delegate to deployment / debug for small
patches or flags, then rerun a pipe-clean check.
use AutoQuant sensitivity to choose overrides, or test first/last-layer
BF16 exclusions when evidence points to boundary sensitivity.
active-cost objective, or try a more aggressive format.
achieved bits, excluded modules, and runtime-fusion constraints; keep the
manual recipe in the portfolio instead of forcing the AutoQuant result.
support from checkpoint quality.
adjust constraints before launching a larger sweep.
compare-results shows no failed external sanity check,the candidate is comparable to the validated measured baseline, and the
user-defined goal is met. An externally unverified baseline is non-blocking.
Maintain a recipe portfolio table with recipe name, objective, active-cost
estimate, calibration notes, checkpoint path, eval/log references, accuracy,
verbosity, positional exclusions, and decision.
accounting, read references/recipe_iteration.md.
references/qwen36_case_study.md onlywhen Qwen3.5/Qwen3.6 details are relevant.
Take nvidia/quant-recipe-search from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.