Ë
    )täiÜ  ã                   óZ   — d Z ddlmZ ddlmZ ddlmZmZ  ej                  e	«      Z
d„ Zy)z’
Liger Kernel integration for applying optimized Triton kernels to transformer models.

See https://github.com/linkedin/Liger-Kernel for details.
é   )ÚPreTrainedModel)Úunwrap_peft_model)Úis_liger_kernel_availableÚloggingc                 ó¼   — t        «       st        d«      ‚ddlm} |xs i }t	        | «      }t        |t        «      r |dd|i|¤Ž yt        j                  d«       y)al  
    Apply Liger Kernel optimizations to a model instance.

    Liger Kernel provides optimized Triton kernels for common transformer operations.
    This function patches the model in-place with those kernels.

    Args:
        model: The model to patch. Must be a `PreTrainedModel` or a PEFT wrapper around one.
        kernel_config: Kernel configuration.
    z‡You have set `use_liger_kernel` to `True` but liger-kernel >= 0.3.0 is not available. Please install it with `pip install liger-kernel`é    )Ú_apply_liger_kernel_to_instanceÚmodelzRThe model is not an instance of PreTrainedModel. No liger kernels will be applied.N© )	r   ÚImportErrorÚliger_kernel.transformersr	   r   Ú
isinstancer   ÚloggerÚwarning)r
   Úkernel_configr	   Ú
base_models       ún/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/transformers/integrations/liger.pyÚapply_liger_kernelr      s^   € ô %Ô&Üð@ó
ð 	
õ
 Jà!Ò' R€MÜ" 5Ó)€Jä�*œoÔ.Ù'ÑJ¨jÐJ¸MÓJä�‰ÐkÕló    N)Ú__doc__Úmodeling_utilsr   Útrainer_utilsr   Úutilsr   r   Ú
get_loggerÚ__name__r   r   r   r   r   Ú<module>r      s/   ðñõ -Ý -ß 6ð 
ˆ×	Ñ	˜HÓ	%€ómr   