+
    QV-jV
  ã                   óÄ   € ^ RI Ht ^ RIHt ^ RIHt ^RIHt ]'       d   ^RIH	t	 ^RI
Ht ^RIHt ^RIHtHtHt ^R	I
Ht ]P&                  ! ]4      t ! R
 R]4      tR# )é    )Úmetadata)ÚTYPE_CHECKING)Úversion)ÚHfQuantizer)ÚPreTrainedModel)Ú
AqlmConfig)Úreplace_with_aqlm_linear)Úis_accelerate_availableÚis_aqlm_availableÚlogging©ÚQuantizationConfigMixinc                   óŒ   a a€ ] tR t^"t oRtRtV3R lV 3R lltR tV3R lR lt]	V3R lR	 l4       t
R
 tV3R ltRtVtV ;t# )ÚAqlmHfQuantizerzK
Quantizer of the AQLM method. Enables the loading of prequantized models.
Tc                ó    <€ V ^8„  d   QhRS[ /# )é   Úquantization_configr   )ÚformatÚ__classdict__s   "€Úw/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/transformers/quantizers/quantizer_aqlm.pyÚ__annotate__ÚAqlmHfQuantizer.__annotate__*   s   ø€ ÷ 8ñ 8Ñ,Cñ 8ó    c                ó*   <€ \         SV `  ! V3/ VB  R # )N)ÚsuperÚ__init__)Úselfr   ÚkwargsÚ	__class__s   &&,€r   r   ÚAqlmHfQuantizer.__init__*   s   ø€ Ü‰ÒÐ,Ñ7°Ô7r   c                ór   € \        4       '       g   \        R 4      h\        4       '       g   \        R4      hR# )zGUsing `aqlm` quantization requires Accelerate: `pip install accelerate`zDUsing `aqlm` quantization requires AQLM: `pip install aqlm[gpu,cpu]`N)r
   ÚImportErrorr   )r   Úargsr   s   &*,r   Úvalidate_environmentÚ$AqlmHfQuantizer.validate_environment-   s1   € Ü&×(Ò(ÜÐgÓhÐhä ×"Ò"ÜÐdÓeÐeñ #r   c                ó   <€ V ^8„  d   QhRR/# )r   Úmodelr   © )r   r   s   "€r   r   r   4   s   ø€ ÷ 	
ñ 	
à ñ	
r   c                ó^   € \        VV P                  P                  V P                  R 7       R# ))Úmodules_to_not_convertr   N)r	   r   Úlinear_weights_not_to_quantize)r   r'   r   s   &&,r   Ú$_process_model_before_weight_loadingÚ4AqlmHfQuantizer._process_model_before_weight_loading4   s'   € ô
 	!ØØ#'×#;Ñ#;×#ZÑ#ZØ $× 8Ñ 8÷	
r   c                ó    <€ V ^8„  d   QhRS[ /# )r   Úreturn)Úbool)r   r   s   "€r   r   r   @   s   ø€ ÷ ñ ™dñ r   c                óö   € \         P                  ! \        P                   ! R 4      4      \         P                  ! R4      8¬  pV'       d   R# \        P	                  R\        P                   ! R 4       R24       R# )Úaqlmz1.0.2Tz$Currently installed `aqlm` version (zw) doesn't support training. If you wish to train a quantized model, please update `aqlm` with `pip install aqlm>=1.0.2`F)r   Úparser   ÚloggerÚwarning)r   Úaqlm_supports_trainings   & r   Úis_trainableÚAqlmHfQuantizer.is_trainable?   sb   € ä!(§¢¬x×/?Ò/?ÀÓ/GÓ!HÌGÏMÊMÐZaÓLbÑ!bÐß!Ùä�N‰NØ6´x×7GÒ7GÈÓ7OÐ6Pð  QHð  Iôñ r   c                ó   € R # )Tr(   )r   s   &r   Úis_serializableÚAqlmHfQuantizer.is_serializableJ   s   € Ùr   c                ó$   <€ V ^8„  d   Qh/ R;R&   # )r   r   r   r(   )r   r   s   "€r   r   r   "   s   ø‡ ‚ ð &Ñ%ò r   r(   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úrequires_calibrationr   r$   r,   Úpropertyr7   r:   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   r   s   @@r   r   r   "   sM   ù‡ € ñð  Ð÷8ó 8òf÷	
ð 	
ð ÷ó ðò÷Q … r   r   N)Ú	importlibr   Útypingr   Ú	packagingr   Úbaser   Úmodeling_utilsr   Úutils.quantization_configr   Úintegrationsr	   Úutilsr
   r   r   r   Ú
get_loggerr=   r4   r   r(   r   r   Ú<module>rQ      sH   ðõ Ý  å å ÷ Ý0Ý6å 3ß GÑ GÝ ?ð 
×	Ò	˜HÓ	%€ô)�kö )r   