o
    „o™i,  ã                   @   s.   d dl mZ d dlmZ G dd„ deeƒZdS )é    )ÚBitsandbytesPrecision)Ú	Precisionc                   @   s   e Zd ZdZdS )r   aò  Plugin for quantizing weights with `bitsandbytes <https://github.com/TimDettmers/bitsandbytes>`__.

    .. warning::  This is an :ref:`experimental <versioning:Experimental API>` feature.

    .. note::
        The optimizer is not automatically replaced with ``bitsandbytes.optim.Adam8bit`` or equivalent 8-bit optimizers.

    Args:
        mode: The quantization mode to use.
        dtype: The compute dtype to use.
        ignore_modules: The submodules whose Linear layers should not be replaced, for example. ``{"lm_head"}``.
            This might be desirable for numerical stability. The string will be checked in as a prefix, so a value like
            "transformer.blocks" will ignore all linear layers in all of the transformer blocks.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r   r   úd/home/ubuntu/.local/lib/python3.10/site-packages/lightning/pytorch/plugins/precision/bitsandbytes.pyr      s    r   N)Ú/lightning.fabric.plugins.precision.bitsandbytesr   ÚFabricBNBPrecisionÚ-lightning.pytorch.plugins.precision.precisionr   r   r   r   r	   Ú<module>   s   