+
    ÒÜ³jM  ã                   óh   € ^RI Ht ^ RIHtHtHt  ! R R]4      t^ RIH	t	 ^ RI
Ht  ! R R4      tR	# )
é   )ÚBaseAWQForCausalLM)ÚFalconDecoderLayerÚFalconForCausalLMÚFalconAttentionc                   ó°   a € ] tR t^	t o Rt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR	 l4       t	]V 3R
 lR l4       t
RtV tR# )ÚFalconAWQForCausalLMr   c                ó    <€ V ^8„  d   QhRS[ /# ©é   Úmodel©r   )ÚformatÚ__classdict__s   "€ÚR/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/models/falcon.pyÚ__annotate__Ú!FalconAWQForCausalLM.__annotate__   s   ø€ ÷ %ñ %Ñ,ñ %ó    c                óv   € \        V 4      pV P                  P                  ^G8X  d   VP                  4        R# R# )éG   N)ÚFalconFuserÚconfigÚnum_attention_headsÚfuse_transformer)r   Úfusers   & r   Úfuse_layersÚ FalconAWQForCausalLM.fuse_layers   s1   € ä˜EÓ"ˆð �<‰<×+Ñ+¨rÔ1Ø×"Ñ"Ö$ñ 2r   c                ó    <€ V ^8„  d   QhRS[ /# r
   r   )r   r   s   "€r   r   r      s   ø€ ÷ #ñ #Ñ 1ñ #r   c                ó.   € V P                   P                  # ©N)ÚtransformerÚh©r   s   &r   Úget_model_layersÚ%FalconAWQForCausalLM.get_model_layers   s   € à× Ñ ×"Ñ"Ð"r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   Úmodule©ÚOldFalconDecoderLayer)r   r   s   "€r   r   r      s   ø€ ÷ 
ñ 
Ñ$9ñ 
r   c                ó„   € \        R RV P                  P                  V P                  P                  P                  R7      # )Tzmlp.act)Úis_scalableÚ
scale_nameÚscale_layerÚscale_shape)ÚdictÚmlpÚactÚdense_h_to_4hÚout_features)r'   s   &r   Úget_act_for_scalingÚ(FalconAWQForCausalLM.get_act_for_scaling   s3   € äØØ ØŸ
™
Ÿ™ØŸ
™
×0Ñ0×=Ñ=ô	
ð 	
r   c                ó    <€ V ^8„  d   QhRS[ /# r
   r   )r   r   s   "€r   r   r   "   s   ø€ ÷ Oñ OÑ+ñ Or   c                óÖ   € V P                   P                  P                  V4      V P                   n        V P                   P                  P                  V4      V P                   n        R # r   )r    Úword_embeddingsÚtoÚ
rotary_emb)r   Údevices   &&r   Ú
move_embedÚFalconAWQForCausalLM.move_embed!   sM   € à,1×,=Ñ,=×,MÑ,M×,PÑ,PÐQWÓ,Xˆ×ÑÔ)Ø',×'8Ñ'8×'CÑ'C×'FÑ'FÀvÓ'Nˆ×ÑÖ$r   c                ó    <€ V ^8„  d   QhRS[ /# r&   r(   )r   r   s   "€r   r   r   '   s   ø€ ÷ -ñ -Ù%ñ-r   c           
     ó  € . pV P                   P                  ^G8X  d]   VP                  \        V P                  V P
                  P                  V P                  P                  .VR,          V VR7      4       V# VP                  \        V P                  V P                  P                  .VR,          V VR7      4       VP                  \        V P                  V P
                  P                  .VR,          V VR7      4       V# )r   zself_attention.query_key_value)Úprev_opÚlayersÚinpÚmodule2inspectÚkwargszmlp.dense_h_to_4h)r   r   Úappendr/   Úinput_layernormr0   r2   Úself_attentionÚquery_key_valueÚln_attnÚln_mlp)r'   Ú
input_featÚmodule_kwargsrA   s   &&& r   Úget_layers_for_scalingÚ+FalconAWQForCausalLM.get_layers_for_scaling&   sõ   € ð ˆð �=‰=×,Ñ,°Ô2à�M‰MÜØ"×2Ñ2àŸ
™
×0Ñ0Ø×-Ñ-×=Ñ=ðð #Ð#CÕDØ#)Ø(ô	ôðJ ˆð+ �M‰MÜØ"ŸN™NØ"×1Ñ1×AÑAÐBØ"Ð#CÕDØ#)Ø(ôôð �M‰MÜØ"ŸM™MØ"ŸJ™J×4Ñ4Ð5Ø"Ð#6Õ7Ø#)Ø(ôôð ˆr   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
layer_typeÚstaticmethodr   r#   r4   r<   rM   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r   	   sn   ø‡ € Ø%€Jà÷%ó ð%ð ÷#ó ð#ð ÷
ó ð
ð ÷Oó ðOð ÷-ó ö-r   r   )ÚFalconModel)r   c                   ó8   a € ] tR t^[t o V 3R lR ltR tRtV tR# )r   c                ó    <€ V ^8„  d   QhRS[ /# r
   r   )r   r   s   "€r   r   ÚFalconFuser.__annotate__\   s   ø€ ÷ ñ Ñ/ñ r   c                ó   € Wn         R # r   r"   )Úselfr   s   &&r   Ú__init__ÚFalconFuser.__init__\   s   € ØŽ
r   c                ó  € . pV P                   P                  P                   EF#  pVP                  P                  ^G8X  d   VP
                  pRpRpRpMRpVP                  pVP                  pRpVP                  \        VP                  P                  VP                  P                  VP                  P                  VP                  P                  VP                  \        \!        VP#                  4       P%                  4       4      4      P&                  V P                   P                  P(                  VVVVR7      4       EK&  	  \+        V P                   P                  P,                  VV P                   P                  P.                  V P                   P                  P0                  4      V P                   n        \3        V P                   P                  RV P                   P                  P4                  4       R# )r   NFT)Úhidden_sizeÚn_headsÚ	qkv_layerÚo_projr0   ÚdevÚmax_seq_lenrF   rI   rJ   Únew_decoder_archÚblocks)r   r    r!   r   r   rF   rI   rJ   rE   r   rb   rG   rH   Údenser0   ÚnextÚiterÚ
state_dictÚvaluesr;   rg   rY   Ú
vocab_sizer8   Úln_fÚsetattrri   )r^   ri   r'   rF   rI   rJ   rh   s   &      r   r   ÚFalconFuser.fuse_transformer_   s{  € Øˆð —j‘j×,Ñ,×.Õ.ˆFØ�}‰}×0Ñ0°BÔ6Ø"(×"8Ñ"8�Ø�Ø�Ø#(Ñ à"&�Ø Ÿ.™.�ØŸ™�Ø#'Ð à�M‰MÜ"Ø &§¡× 9Ñ 9Ø"ŸM™M×=Ñ=Ø$×3Ñ3×CÑCØ!×0Ñ0×6Ñ6ØŸ
™
ÜœT &×"3Ñ"3Ó"5×"<Ñ"<Ó">Ó?Ó@×GÑGØ $§
¡
× 1Ñ 1× =Ñ =Ø$3Ø#Ø!Ø%5ô÷ñ /ô8 "-Ø�J‰J×Ñ×(Ñ(ØØ�J‰J×"Ñ"×2Ñ2Ø�J‰J×"Ñ"×'Ñ'ó	"
ˆ�
‰
Ôô 	�—
‘
×&Ñ&¨°$·*±*×2HÑ2H×2OÑ2OÖPr   r"   N)rP   rQ   rR   rS   r_   r   rV   rW   rX   s   @r   r   r   [   s   ø‡ € ÷ð ÷'Qð 'Qr   r   N)Úbaser   Ú*transformers.models.falcon.modeling_falconr   r)   r   r   r   Úawq.modules.fused.modelrY   Úawq.modules.fused.blockr   rO   r   r   Ú<module>rw      s6   ðÝ $÷ñ ôKÐ-ô Kõ\ 0Ý 6÷+Qó +Qr   