Skip to content

llmcompressor.observers.min_max

Classes:

  • MemorylessMinMaxObserver

    Compute quantization parameters by taking the min/max of the observed value.

  • MinMaxObserver

    Compute quantization parameters by taking the moving average of min/max values.

  • StaticMinMaxObserver

    Compute quantization parameters by taking the min/max of all observed values.

MemorylessMinMaxObserver

MemorylessMinMaxObserver(
    base_name: str,
    args: QuantizationArgs,
    **observer_kwargs,
)

Bases: Observer

Compute quantization parameters by taking the min/max of the observed value.

Source code in src/llmcompressor/observers/base.py
def __init__(
    self,
    base_name: str,
    args: QuantizationArgs,
    **observer_kwargs,
):
    super().__init__()
    self.base_name = base_name
    self.args = args

    self.args.observer_kwargs = self.args.observer_kwargs or {}
    self.args.observer_kwargs.update(observer_kwargs)

    self._fused_observers: set["Observer"] = set()

MinMaxObserver

MinMaxObserver(*args, **kwargs)

Bases: Observer

Compute quantization parameters by taking the moving average of min/max values.

Source code in src/llmcompressor/observers/min_max.py
def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.avg_constant = self.args.observer_kwargs.get("averaging_constant", 0.01)

StaticMinMaxObserver

StaticMinMaxObserver(
    base_name: str,
    args: QuantizationArgs,
    **observer_kwargs,
)

Bases: MemorylessMinMaxObserver

Compute quantization parameters by taking the min/max of all observed values.

Source code in src/llmcompressor/observers/base.py
def __init__(
    self,
    base_name: str,
    args: QuantizationArgs,
    **observer_kwargs,
):
    super().__init__()
    self.base_name = base_name
    self.args = args

    self.args.observer_kwargs = self.args.observer_kwargs or {}
    self.args.observer_kwargs.update(observer_kwargs)

    self._fused_observers: set["Observer"] = set()