> ## Documentation Index
> Fetch the complete documentation index at: https://runinfra.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Lossless first

> RunInfra does not quantize your model by default. Quantization trades output quality for speed and memory, so it runs only when something specific earns it, and the plan states the decision either way.

Quantization makes a model smaller and usually faster by giving up some of its precision. That is a trade, not a free win, so RunInfra treats it as one. A run starts from the assumption that you want the model you asked for, at full precision, served as fast as full precision can be served.

<div className="block dark:hidden">
  <svg viewBox="0 0 720 410" width="100%" role="img" aria-label="Quantization is off by default and runs only when you asked for it, the model does not fit the resolved GPU, the target is local hardware, or the output is an on-device format; a stored workspace preference outranks all four, and an unevaluated fact keeps the lossless default." fill="none" xmlns="http://www.w3.org/2000/svg"><text x="24" y="16" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">Quantization permit</text><text x="696" y="16" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="10.5" letterSpacing="0" textAnchor="end">off unless one of these is true</text><rect x="24.5" y="32.5" width="671" height="43" fill="#ffffff" stroke="#e8e8e3" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="50" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">Stored preference</text><text x="174" y="50" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Outranks everything below</text><text x="38" y="66" fill="#6e6d64" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">An explicit allow or deny you set on the workspace wins in both directions, because it is proven intent.</text><rect x="24.5" y="98.5" width="671" height="41" fill="#ffffff" stroke="#e8e8e3" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="116" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">01</text><text x="68" y="116" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">You asked for it</text><text x="68" y="131" fill="#6e6d64" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Quantization requested in the run, or a quantized variant selected to experiment with.</text><rect x="24.5" y="148.5" width="671" height="41" fill="#ffffff" stroke="#e8e8e3" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="166" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">02</text><text x="68" y="166" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">It does not fit the resolved GPU</text><text x="68" y="181" fill="#6e6d64" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Weights plus KV growth and activation headroom exceed the card the plan resolved.</text><rect x="24.5" y="198.5" width="671" height="41" fill="#ffffff" stroke="#e8e8e3" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="216" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">03</text><text x="68" y="216" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">The target is local hardware</text><text x="68" y="231" fill="#6e6d64" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Base precision usually cannot be served on a local device.</text><rect x="24.5" y="248.5" width="671" height="41" fill="#ffffff" stroke="#e8e8e3" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="266" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">04</text><text x="68" y="266" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">The output is an on-device format</text><text x="68" y="281" fill="#6e6d64" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The declared deployment target is sized for consumer devices.</text><line x1="24" y1="298" x2="696" y2="298" stroke="#e8e8e3" strokeWidth="1" strokeDasharray="3 3" /><rect x="21.5" y="295.5" width="5" height="5" fill="#bbb9b1" shapeRendering="crispEdges" /><rect x="693.5" y="295.5" width="5" height="5" fill="#bbb9b1" shapeRendering="crispEdges" /><rect x="24" y="307" width="98" height="3" fill="#76b900" shapeRendering="crispEdges" /><rect x="24" y="310" width="108" height="24" fill="#76b900" shapeRendering="crispEdges" /><rect x="34" y="334" width="98" height="3" fill="#76b900" shapeRendering="crispEdges" /><text x="78" y="326" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12" fontWeight="500" textAnchor="middle" letterSpacing="-0.12">Lossless</text><text x="152" y="321" fill="#52524c" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The default. Engine and runtime selection, batching, prefix caching, lossless FP16 KV</text><text x="152" y="337" fill="#52524c" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">tuning, GPU placement, and speculative decoding all still run.</text><rect x="24" y="356" width="5" height="5" fill="#b07f24" shapeRendering="crispEdges" /><text x="38" y="364" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Quantization in the plan</text><text x="214" y="364" fill="#52524c" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The lane carries a Quantization basis line naming the condition that permitted it.</text><text x="24" y="390" fill="#6e6d64" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">A fact the check could not evaluate is never converted into a reason to reduce quality.</text></svg>
</div>

<div className="hidden dark:block">
  <svg viewBox="0 0 720 410" width="100%" role="img" aria-label="Quantization is off by default and runs only when you asked for it, the model does not fit the resolved GPU, the target is local hardware, or the output is an on-device format; a stored workspace preference outranks all four, and an unevaluated fact keeps the lossless default." fill="none" xmlns="http://www.w3.org/2000/svg"><text x="24" y="16" fill="#8f8e83" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">Quantization permit</text><text x="696" y="16" fill="#9a998e" fontFamily="Consolas, Menlo, monospace" fontSize="10.5" letterSpacing="0" textAnchor="end">off unless one of these is true</text><rect x="24.5" y="32.5" width="671" height="43" fill="#161614" stroke="#383833" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="50" fill="#8f8e83" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">Stored preference</text><text x="174" y="50" fill="#f0efe2" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Outranks everything below</text><text x="38" y="66" fill="#9a998e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">An explicit allow or deny you set on the workspace wins in both directions, because it is proven intent.</text><rect x="24.5" y="98.5" width="671" height="41" fill="#161614" stroke="#383833" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="116" fill="#8f8e83" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">01</text><text x="68" y="116" fill="#f0efe2" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">You asked for it</text><text x="68" y="131" fill="#9a998e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Quantization requested in the run, or a quantized variant selected to experiment with.</text><rect x="24.5" y="148.5" width="671" height="41" fill="#161614" stroke="#383833" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="166" fill="#8f8e83" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">02</text><text x="68" y="166" fill="#f0efe2" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">It does not fit the resolved GPU</text><text x="68" y="181" fill="#9a998e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Weights plus KV growth and activation headroom exceed the card the plan resolved.</text><rect x="24.5" y="198.5" width="671" height="41" fill="#161614" stroke="#383833" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="216" fill="#8f8e83" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">03</text><text x="68" y="216" fill="#f0efe2" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">The target is local hardware</text><text x="68" y="231" fill="#9a998e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Base precision usually cannot be served on a local device.</text><rect x="24.5" y="248.5" width="671" height="41" fill="#161614" stroke="#383833" strokeWidth="1" shapeRendering="crispEdges" /><text x="38" y="266" fill="#8f8e83" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">04</text><text x="68" y="266" fill="#f0efe2" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">The output is an on-device format</text><text x="68" y="281" fill="#9a998e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The declared deployment target is sized for consumer devices.</text><line x1="24" y1="298" x2="696" y2="298" stroke="#383833" strokeWidth="1" strokeDasharray="3 3" /><rect x="21.5" y="295.5" width="5" height="5" fill="#6e6d64" shapeRendering="crispEdges" /><rect x="693.5" y="295.5" width="5" height="5" fill="#6e6d64" shapeRendering="crispEdges" /><rect x="24" y="307" width="98" height="3" fill="#76b900" shapeRendering="crispEdges" /><rect x="24" y="310" width="108" height="24" fill="#76b900" shapeRendering="crispEdges" /><rect x="34" y="334" width="98" height="3" fill="#76b900" shapeRendering="crispEdges" /><text x="78" y="326" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12" fontWeight="500" textAnchor="middle" letterSpacing="-0.12">Lossless</text><text x="152" y="321" fill="#c8c7ba" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The default. Engine and runtime selection, batching, prefix caching, lossless FP16 KV</text><text x="152" y="337" fill="#c8c7ba" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">tuning, GPU placement, and speculative decoding all still run.</text><rect x="24" y="356" width="5" height="5" fill="#d9a64a" shapeRendering="crispEdges" /><text x="38" y="364" fill="#f0efe2" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Quantization in the plan</text><text x="214" y="364" fill="#c8c7ba" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The lane carries a Quantization basis line naming the condition that permitted it.</text><text x="24" y="390" fill="#9a998e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">A fact the check could not evaluate is never converted into a reason to reduce quality.</text></svg>
</div>

## Ask for it when you want it

Say so directly:

```text theme={"dark"}
Search for a 4-bit variant of this model
```

```text theme={"dark"}
Quantize this to FP8 and show me the quality delta
```

Or give the run a hardware target it has to fit, and let the arithmetic earn it:

```text theme={"dark"}
This has to run on a 24GB card
```

Asking does not skip the accuracy check. A quantized candidate is measured first and promoted only if its quality gate passes.

## What runs instead

Excluding quantization does not exclude optimization. Everything that changes how the model is served, rather than what the model is, still runs:

* Serving engine and runtime selection
* Batching, prefill scheduling, prefix caching, and memory headroom tuning
* Lossless FP16 KV cache tuning
* GPU selection and placement
* Speculative decoding, which is output-identical when its equivalence check passes

These are the levers that cost you nothing in output quality, and they are searched first.

## The plan says which way it went

You never have to infer what happened. Exactly one of two lines appears in the plan you read before accepting it.

When quantization **is** in the plan, the lane carries a **Quantization basis** line naming the condition that permitted it:

```text theme={"dark"}
Quantization was applied because it was explicitly requested for this run.
It is not applied by default: it trades model quality for speed and memory.
```

For a hardware fit it names the numbers that failed instead: the estimated base-precision weight footprint, the VRAM actually needed once serving headroom is included, and the GPU that cannot serve it.

When quantization is **not** in the plan, the caveats say so and tell you how to change it:

```text theme={"dark"}
Quantization not attempted: it trades model quality for speed and was not
requested. Ask for quantization, or set a hardware target it must fit, to
enable it.
```

A silently applied lossy technique is as dishonest as a silently missing one, which is why both halves of the decision are written down.

## The same rule covers the rest

**Lossy KV cache compression** changes attention arithmetic, so compressed KV dtypes are output-affecting and default to off under this same policy. When they are excluded the run says so, and it says that lossless FP16 KV tuning still runs. The KV lane is never skipped, only its lossy half.

**Non-LLM runs** apply the rule per technique family. Every technique declares whether it is lossless by construction or requires measured quality, and a family counts as output-changing when any of its members does. Output-changing families are excluded from the default plan, and the plan's adjustments section names every family it excluded, so a new technique cannot quietly join the default plan.

When a family is permitted, its lane states why it is running, and each candidate still has to pass its own measured quality gate in that modality's own vocabulary. Where no score was recorded, the run says not measured rather than assuming a pass.

## Related

<Columns cols={3}>
  <Card title="Optimization runs" icon="zap" href="/docs/features/optimization">
    How candidates are searched and ranked.
  </Card>

  <Card title="Run outcomes" icon="clipboard-check" href="/docs/features/run-outcomes">
    The quality verdict every run carries.
  </Card>

  <Card title="Benchmark reports" icon="gauge" href="/docs/features/benchmark-reports">
    Named public benchmarks against a settled winner.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.