+
    ÒÜ³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  ! R R	]4      t ! R
 R4      tR# )é    N)ÚListÚTuple)ÚBaseAWQForCausalLM)Úfuse_qkv)ÚLlamaLikeBlock)ÚLlamaLikeModel)ÚFasterTransformerRMSNormc                   ó„   a € ] tR t^
t o RtRt]R 4       t]R 4       t]R 4       t	]V 3R lR l4       t
]R 4       tR	tV tR
# )ÚYiAWQForCausalLMÚYiDecoderLayerÚmax_position_embeddingsc                ó<   € \        V 4      pVP                  4        R # ©N)ÚYiFuserÚfuse_transformer)ÚmodelÚfusers   & ÚN/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/models/yi.pyÚfuse_layersÚYiAWQForCausalLM.fuse_layers   s   € ä˜“ˆØ×ÑÖ ó    c                ó.   € V P                   P                  # r   )r   Úlayers)r   s   &r   Úget_model_layersÚ!YiAWQForCausalLM.get_model_layers   s   € à�{‰{×!Ñ!Ð!r   c                ó   € \        R R7      # )F)Úis_scalable)Údict)Úmodules   &r   Úget_act_for_scalingÚ$YiAWQForCausalLM.get_act_for_scaling   s   € ä Ô&Ð&r   c                ó    <€ V ^8„  d   QhRS[ /# )é   Údevice)Ústr)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚYiAWQForCausalLM.__annotate__   s   ø€ ÷ Cñ C¡#ñ Cr   c                óÖ   € V P                   P                  P                  V4      V P                   n        V P                   P                  P                  V4      V P                   n        R # r   )r   Úembed_tokensÚtoÚ
rotary_emb)r   r$   s   &&r   Ú
move_embedÚYiAWQForCausalLM.move_embed   sD   € à#(§;¡;×#;Ñ#;×#>Ñ#>¸vÓ#Fˆ�‰Ô Ø!&§¡×!7Ñ!7×!:Ñ!:¸6Ó!Bˆ�‰Ör   c           
     ó¤  € . pVP                  \        V P                  V P                  P                  V P                  P
                  V P                  P                  .VR ,          V P                  VR7      4       V P                  P                  P                  P                  V P                  P                  P                  P                  8X  dN   VP                  \        V P                  P                  V 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self_attn.q_proj)Úprev_opr   ÚinpÚmodule2inspectÚkwargszself_attn.o_proj)r1   r   r2   zmlp.gate_proj)r1   r   r2   r3   zmlp.down_proj)Úappendr   Úln1Ú	self_attnÚq_projÚk_projÚv_projÚweightÚshapeÚo_projÚln2ÚmlpÚ	gate_projÚup_projÚ	down_proj)r   Ú
input_featÚmodule_kwargsr   s   &&& r   Úget_layers_for_scalingÚ'YiAWQForCausalLM.get_layers_for_scaling    so  € àˆð 	�‰ÜØŸ
™
à×$Ñ$×+Ñ+Ø×$Ñ$×+Ñ+Ø×$Ñ$×+Ñ+ðð
 Ð1Õ2Ø%×/Ñ/Ø$ô
ô	
ð  ×Ñ×"Ñ"×)Ñ)×/Ñ/°6×3CÑ3C×3JÑ3J×3QÑ3Q×3WÑ3WÔWØ�M‰MÜØ"×,Ñ,×3Ñ3Ø"×,Ñ,×3Ñ3Ð4Ø"Ð#5Õ6ôôð 	�‰ÜØŸ
™
ØŸ
™
×,Ñ,¨f¯j©j×.@Ñ.@ÐAØ˜Õ/Ø%Ÿz™zô	ô	
ð 	�‰ÜØŸ
™
×*Ñ*ØŸ
™
×,Ñ,Ð-Ø˜Õ/ôô	
ð ˆr   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
layer_typeÚmax_seq_len_keyÚstaticmethodr   r   r    r.   rE   Ú__static_attributes__Ú__classdictcell__©r'   s   @r   r   r   
   ss   ø‡ € Ø!€JØ/€Oàñ!ó ð!ð ñ"ó ð"ð ñ'ó ð'ð ÷Có ðCð ñ0ó ö0r   r   c                   ó,   a € ] tR t^Tt o R tR tRtV tR# )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 )r   N)r   Únamed_modulesÚlowerÚ	__class__rH   Ú	yi_blocks)Úselfr   Únamer   s   &&  r   Ú__init__ÚYiFuser.__init__U   sf   € ØŒ
ð !%§
¡
× 8Ñ 8Ô :ô4
á :‘�Ø×%Ñ%Ó'¨6×+;Ñ+;×+DÑ+D×+JÑ+JÓ+LÑLô ˆT‹NÙ :ò4
ˆŽùó 4
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                  VP                  P                  V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(                  P,                  V P                  P(                  P.                  VVP                  P0                  VP2                  VVVV P                  P(                  P4                  V P                  P(                  P6                  R7      4       EKÌ  	  \9        V P                  P(                  P:                  VV P                  P                  P<                  V P                  P                  P>                  4      V P                  n        \A        V P                  P                  RV P                  P                  PB                  4       R# )zFusing layers...)Údesc)Úhidden_sizeÚn_headsÚ
n_kv_headsÚ	qkv_layerr=   r?   Únorm_1Únorm_2ÚdevÚmax_seq_lenÚ
rope_thetaÚblocksN)"Útqdmr   r   ÚnextÚiterÚ
state_dictÚvaluesr$   r   r7   r8   r9   r:   r	   r6   r;   Úvariance_epsilonr>   r5   r   Úconfigr^   Únum_attention_headsÚnum_key_value_headsr=   r?   re   rf   r   Ú
vocab_sizer+   ÚnormÚsetattrrg   )rX   rg   r   r$   Úqkvrb   rc   s   &      r   r   ÚYiFuser.fuse_transformer^   sê  € Øˆä—i’i §
¡
× 0Ñ 0× 7Ñ 7Ð>P×QÐQˆFÜœ$˜v×0Ñ0Ó2×9Ñ9Ó;Ó<Ó=×DÑDˆFÜØØ× Ñ ×'Ñ'Ø× Ñ ×'Ñ'Ø× Ñ ×'Ñ'ó	ˆCô .Ø—
‘
×!Ñ! 6§:¡:×#>Ñ#>óˆFô .Ø—
‘
×!Ñ! 6§:¡:×#>Ñ#>óˆFð �M‰MÜØ $§
¡
× 1Ñ 1× =Ñ =Ø ŸJ™J×-Ñ-×AÑAØ#Ÿz™z×0Ñ0×DÑDØ!Ø!×+Ñ+×2Ñ2ØŸ
™
Ø!Ø!ØØ $§
¡
× 1Ñ 1× =Ñ =Ø#Ÿz™z×0Ñ0×;Ñ;ô÷ñ Rô< *Ø�J‰J×Ñ×(Ñ(ØØ�J‰J×Ñ×)Ñ)Ø�J‰J×Ñ×!Ñ!ó	
ˆ�
‰
Ôô 	�—
‘
× Ñ  (¨D¯J©J×,<Ñ,<×,CÑ,CÖDr   )r   rW   N)rH   rI   rJ   rK   rZ   r   rO   rP   rQ   s   @r   r   r   T   s   ø‡ € ò
÷'Eð 'Er   r   )rh   Útypingr   r   Úbaser   Úawq.utils.fused_utilsr   Úawq.modules.fused.blockr   Úawq.modules.fused.modelr   Úawq.modules.fused.normr	   r   r   rG   r   r   Ú<module>r|      s6   ðÛ ß Ý $Ý *Ý 2Ý 2Ý ;ôGÐ)ô G÷T1Eó 1Er   