+
    ÒÜ³j˜  ã                   ó¬   € ^ RI t ^ RIHtHt ^RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht  ^ RIHtHt ^ RIHt  ! R	 R
]4      t ! R R4      tR#    RtRt L%; i)é    N)ÚListÚTuple)ÚBaseAWQForCausalLM)Úfuse_qkv)ÚLlamaLikeBlock)ÚLlamaLikeModel)ÚExaoneBlockÚExaoneForCausalLM)ÚFasterTransformerRMSNormc                   ó´   a € ] tR t^t o Rt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# )ÚExaoneAWQForCausalLMr	   Úmax_position_embeddingsc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úmodel©ÚOldExaoneForCausalLM)ÚformatÚ__classdict__s   "€ÚR/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/models/exaone.pyÚ__annotate__Ú!ExaoneAWQForCausalLM.__annotate__   s   ø€ ÷ !ñ !Ñ/ñ !ó    c                ó<   € \        V 4      pVP                  4        R # ©N)Ú
LlamaFuserÚfuse_transformer)r   Úfusers   & r   Úfuse_layersÚ ExaoneAWQForCausalLM.fuse_layers   s   € ä˜5Ó!ˆØ×ÑÖ r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r      s   ø€ ÷ #ñ #Ñ 4ñ #r   c                ó.   € V P                   P                  # r   )ÚtransformerÚh)r   s   &r   Úget_model_layersÚ%ExaoneAWQForCausalLM.get_model_layers   s   € à× Ñ ×"Ñ"Ð"r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   Úmodule©ÚOldExaoneBlock)r   r   s   "€r   r   r       s   ø€ ÷ 'ñ '¡Nñ 'r   c                ó   € \        R R7      # )F)Úis_scalable)Údict)r*   s   &r   Úget_act_for_scalingÚ(ExaoneAWQForCausalLM.get_act_for_scaling   s   € ä Ô&Ð&r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   r   Údevice)r   Ústr)r   r   s   "€r   r   r   $   s    ø€ ÷ Gñ GÑ.ð G¹ñ Gr   c                óÖ   € V P                   P                  P                  V4      V P                   n        V P                   P                  P                  V4      V P                   n        R # r   )r$   ÚwteÚtoÚrotary)r   r3   s   &&r   Ú
move_embedÚExaoneAWQForCausalLM.move_embed#   sL   € à %× 1Ñ 1× 5Ñ 5× 8Ñ 8¸Ó @ˆ×ÑÔØ#(×#4Ñ#4×#;Ñ#;×#>Ñ#>¸vÓ#Fˆ×ÑÖ r   c                ó    <€ V ^8„  d   QhRS[ /# r)   r+   )r   r   s   "€r   r   r   )   s   ø€ ÷ 0ñ 0¡~ñ 0r   c           
     óD  € . pVP                  \        V P                  V P                  P                  P
                  V P                  P                  P                  V P                  P                  P                  .VR ,          V P                  P                  VR7      4       V P                  P                  P                  P                  P                  V P                  P                  P                  P                  P                  8X  db   VP                  \        V P                  P                  P                  V P                  P                  P                  .VR,          R7      4       VP                  \        V P                  V P                  P                  V P                  P                  .VR,          V P                  R7      4       VP                  \        V P                  P                  V P                  P                  .VR,          R7      4       V# )zattn.attention.q_proj)Úprev_opÚlayersÚinpÚmodule2inspectÚkwargszattn.attention.out_proj)r=   r>   r?   z
mlp.c_fc_0)r=   r>   r?   r@   z
mlp.c_proj)Úappendr/   Úln_1ÚattnÚ	attentionÚq_projÚk_projÚv_projÚweightÚshapeÚout_projÚln_2ÚmlpÚc_fc_0Úc_fc_1Úc_proj)r*   Ú
input_featÚmodule_kwargsr>   s   &&& r   Úget_layers_for_scalingÚ+ExaoneAWQForCausalLM.get_layers_for_scaling(   s�  € àˆð 	�‰ÜØŸ™à—K‘K×)Ñ)×0Ñ0Ø—K‘K×)Ñ)×0Ñ0Ø—K‘K×)Ñ)×0Ñ0ðð
 Ð6Õ7Ø%Ÿ{™{×4Ñ4Ø$ô
ô	
ð  �;‰;× Ñ ×'Ñ'×.Ñ.×4Ñ4¸¿¹×8MÑ8M×8VÑ8V×8]Ñ8]×8cÑ8cÔcØ�M‰MÜØ"ŸK™K×1Ñ1×8Ñ8Ø"ŸK™K×1Ñ1×:Ñ:Ð;Ø"Ð#<Õ=ôôð 	�‰ÜØŸ™ØŸ
™
×)Ñ)¨6¯:©:×+<Ñ+<Ð=Ø˜|Õ,Ø%Ÿz™zô	ô	
ð 	�‰ÜØŸ
™
×)Ñ)ØŸ
™
×)Ñ)Ð*Ø˜|Õ,ôô	
ð ˆr   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
layer_typeÚmax_seq_len_keyÚstaticmethodr    r&   r0   r9   rS   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      ss   ø‡ € Ø€JØ/€Oà÷!ó ð!ð ÷#ó ð#ð ÷'ó ð'ð ÷Gó ðGð ÷0ó ö0r   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   ÚLlamaFuser.__annotate__]   s   ø€ ÷ 
ñ 
Ñ2ñ 
r   c                óø   € Wn         V P                   P                  4        UUu. uFA  w  r#R P                  4       VP                  P                  P                  4       9   g   K>  W#3NKC  	  uppV n        R# u uppi )ÚLlamaDecoderLayerN)r   Únamed_modulesÚlowerÚ	__class__rV   Úllama_blocks)Úselfr   Únamer*   s   &&  r   Ú__init__ÚLlamaFuser.__init__]   sg   € ØŒ
ð !%§
¡
× 8Ñ 8Ô :ô?
á :‘�Ø"×(Ñ(Ó*¨f×.>Ñ.>×.GÑ.G×.MÑ.MÓ.OÑOô ˆT‹NÙ :ò?
ˆÖùó ?
s   ¤;A6Á$A6c                óÎ  € . p\         P                   ! V P                  P                  P                  R R7       EFñ  p\	        \        VP                  4       P                  4       4      4      P                  p\        VVP                  P                  P                  VP                  P                  P                  VP                  P                  P                  4      p\        VP                   P"                  VP                   P$                  4      p\        VP&                  P"                  VP&                  P$                  4      pVP)                  \+        V P                  P,                  P.                  V P                  P,                  P0                  V P                  P,                  P2                  VVP                  P                  P4                  VP6                  VVVV P                  P,                  P8                  V P                  P,                  P:                  R7      4       EKô  	  \=        V P                  P,                  P>                  VV P                  P                  P@                  V P                  P                  PB                  4      V P                  n        \E        V P                  P                  RV P                  P                  PF                  4       R# )zFusing layers...)Údesc)Úhidden_sizeÚn_headsÚ
n_kv_headsÚ	qkv_layerÚo_projrM   Únorm_1Únorm_2ÚdevÚmax_seq_lenÚ
rope_thetaÚblocksN)$Útqdmr   r$   r%   ÚnextÚiterÚ
state_dictÚvaluesr3   r   rD   rE   rF   rG   rH   r   rC   rI   ÚepsrL   rB   r   Úconfigro   Únum_attention_headsÚnum_key_value_headsrK   rM   rw   rx   r   Ú
vocab_sizer6   Úln_fÚsetattrry   )ri   ry   r*   r3   Úqkvrt   ru   s   &      r   r   ÚLlamaFuser.fuse_transformerf   sù  € Øˆô —i’i §
¡
× 6Ñ 6× 8Ñ 8Ð?Q×RÐRˆFÜœ$˜v×0Ñ0Ó2×9Ñ9Ó;Ó<Ó=×DÑDˆFÜØØ—‘×%Ñ%×,Ñ,Ø—‘×%Ñ%×,Ñ,Ø—‘×%Ñ%×,Ñ,ó	ˆCô .Ø—‘×"Ñ" F§K¡K§O¡OóˆFô .Ø—‘×"Ñ"Ø—‘—‘óˆFð �M‰MÜØ $§
¡
× 1Ñ 1× =Ñ =Ø ŸJ™J×-Ñ-×AÑAØ#Ÿz™z×0Ñ0×DÑDØ!Ø!Ÿ;™;×0Ñ0×9Ñ9ØŸ
™
Ø!Ø!ØØ $§
¡
× 1Ñ 1× =Ñ =Ø#Ÿz™z×0Ñ0×;Ñ;ô÷ñ Sô> "0Ø�J‰J×Ñ×(Ñ(ØØ�J‰J×"Ñ"×&Ñ&Ø�J‰J×"Ñ"×'Ñ'ó	"
ˆ�
‰
Ôô 	�—
‘
×&Ñ&¨°$·*±*×2HÑ2H×2OÑ2OÖPr   )rh   r   N)rV   rW   rX   rY   rk   r   r]   r^   r_   s   @r   r   r   \   s   ø‡ € ÷
ð 
÷)Qð )Qr   r   )rz   Útypingr   r   Úbaser   Úawq.utils.fused_utilsr   Úawq.modules.fused.blockr   Úawq.modules.fused.modelr   Ú*transformers.models.exaone.modeling_exaoner	   r,   r
   r   Úawq.modules.fused.normr   r   r   rU   r   r   Ú<module>r�      sU   ðÛ ß Ý $Ý *Ý 2Ý 2ð ÷õ <ôGÐ-ô G÷T3Qó 3Qøða Ø€NØÒús   ¦A ÁA