跳到内容

llmcompressor.observers.min_max

MemorylessMinMaxObserver

MemorylessMinMaxObserver(
    base_name: str,
    args: QuantizationArgs,
    module: Optional[Module] = None,
    **observer_kwargs,
)

基类:Observer

通过取观察值的最小值/最大值来计算量化参数

参数

  • base_name

    (str) –

    用于命名观察器属性的字符串

  • args

    (QuantizationArgs) –

    用于校准和量化观测值的量化参数

  • module

    (Optional[Module], 默认值: None ) –

    可选模块,附带量化参数。此参数是利用现有 qparams(例如 global_scale 或 g_idx)所必需的

  • **observer_kwargs

    观察器初始化关键字参数

源代码位于 llmcompressor/observers/base.py
def __init__(
    self,
    base_name: str,
    args: QuantizationArgs,
    module: Optional[torch.nn.Module] = None,
    **observer_kwargs,
):
    super().__init__()
    self.module = ref(module) if module is not None else None
    self.base_name = base_name
    self.args = args

    # populate observer kwargs
    self.args.observer_kwargs = self.args.observer_kwargs or {}
    self.args.observer_kwargs.update(observer_kwargs)

MinMaxObserver

MinMaxObserver(
    base_name: str,
    args: QuantizationArgs,
    module: Optional[Module] = None,
    **observer_kwargs,
)

基类: MovingAverageObserverBase

通过取所有最小值/最大值的移动平均值来计算量化参数

参数

  • base_name

    (str) –

    用于命名观察器属性的字符串

  • args

    (QuantizationArgs) –

    用于校准和量化观测值的量化参数

  • module

    (Optional[Module], 默认值: None ) –

    可选模块,附带量化参数。此参数是利用现有 qparams(例如 global_scale 或 g_idx)所必需的

  • **observer_kwargs

    观察器初始化关键字参数

源代码位于 llmcompressor/observers/moving_base.py
def __init__(
    self,
    base_name: str,
    args: QuantizationArgs,
    module: Optional[torch.nn.Module] = None,
    **observer_kwargs,
):
    super().__init__(base_name, args, module, **observer_kwargs)
    self.avg_constant = self.args.observer_kwargs.get("averaging_constant", 0.01)

    self.past_min_vals = None
    self.past_max_vals = None
    self.past_global_min_vals = None
    self.past_global_max_vals = None

StaticMinMaxObserver

StaticMinMaxObserver(*args, **kwargs)

基类:Observer

通过取所有观察值的最小值/最大值来计算量化参数

参数

  • base_name

    用于命名观察器属性的字符串

  • args

    用于校准和量化观测值的量化参数

  • module

    可选模块,附带量化参数。此参数是利用现有 qparams(例如 global_scale 或 g_idx)所必需的

  • **observer_kwargs

    观察器初始化关键字参数

源代码位于 llmcompressor/observers/min_max.py
def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.past_min_vals = None
    self.past_max_vals = None
    self.past_global_min_vals = None
    self.past_global_max_vals = None