+
    TV-j  ã                   ól  € ^ RI Ht ^ RIHtHt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Ht ^RIHt ] ! R R	]4      4       t ! R
 R]P.                  4      t ! R R]P.                  4      t ! R R]P.                  4      t ! R R]P.                  4      t ! R R]P.                  4      tR# )é    )Ú	dataclass)ÚAnyÚDictÚOptionalÚUnionN)Úshard_linear)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attention)Úinitialize_ropec                   ó@   a € ] tR t^t o RtRtRtRtRtV 3R lt	Rt
V tR# )Ú	ModelArgsi €  i@B FNTc                óò   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[S[S[ S[S[S[ 3,          3,          ,          ;R&   S[;R&   # )é   Ú
model_typeÚhidden_sizeÚnum_hidden_layersÚintermediate_sizeÚnum_attention_headsÚrms_norm_epsÚ
vocab_sizeÚnum_key_value_headsÚmax_position_embeddingsÚ
rope_thetaÚrope_traditionalÚrope_scalingÚtie_word_embeddings)ÚstrÚintÚfloatÚboolr   r   r   )ÚformatÚ__classdict__s   "€Úd/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/qwen2.pyÚ__annotate__ÚModelArgs.__annotate__   sÂ   ø‡ ‚ á�Oñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ �Oñ ñ Ññ ñ !Ñ(ñ ñ Ññ ñ Ñ"ñ ñ ™4¡¡U©5±#¨:Õ%6Ð 6Õ7Õ8Ñ?ñ ñ Ñ$ò ó    © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r$   s   @r%   r   r      s*   ø‡ € ð $)ÐØ€JØ"ÐØ;?€LØ $Ð÷ ƒ r(   r   c                   óT   a a€ ] tR t^ t oV3R lV 3R lltRV3R lR lltRtVtV ;t# )Ú	Attentionc                ó    <€ V ^8„  d   QhRS[ /# ©r   Úargs©r   )r#   r$   s   "€r%   r&   ÚAttention.__annotate__!   s   ø€ ÷ 
ñ 
™Yñ 
r(   c                ó„  <€ \         SV `  4        VP                  pVP                  ;V n        pVP
                  f   Q hVP
                  ;V n        pVP                  V,          pVR,          V n        \        P                  ! W#V,          RR7      V n
        \        P                  ! W$V,          RR7      V n        \        P                  ! W$V,          RR7      V n        \        P                  ! W5,          VRR7      V n        \        VVP                  VP                   VP"                  VP$                  R7      V n        R # )NT©ÚbiasF)ÚbaseÚtraditionalÚscaling_configr   g      à¿)ÚsuperÚ__init__r   r   Ún_headsr   Ú
n_kv_headsÚscaleÚnnÚLinearÚq_projÚk_projÚv_projÚo_projr   r   r   r   r   Úrope)Úselfr5   Údimr@   rA   Úhead_dimÚ	__class__s   &&    €r%   r?   ÚAttention.__init__!   s÷   ø€ Ü‰ÑÔà×ÑˆØ!%×!9Ñ!9Ð9ˆŒ�wØ×'Ñ'Ò3Ð3Ð3Ø'+×'?Ñ'?Ð?ˆŒ˜*à×#Ñ# wÕ.ˆØ˜t•^ˆŒ
ä—i’i ¨xÕ%7¸dÔCˆŒÜ—i’i °(Õ%:ÀÔFˆŒÜ—i’i °(Õ%:ÀÔFˆŒÜ—i’i Õ 2°C¸eÔDˆŒä#ØØ—‘Ø×-Ñ-Ø×,Ñ,Ø$(×$@Ñ$@ô
ˆŽ	r(   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# ©r   ÚxÚmaskÚcacheÚreturn©ÚmxÚarrayr   r   )r#   r$   s   "€r%   r&   r7   9   sH   ø€ ÷ #ñ #á�8‰8ð#ñ ‘r—x‘xÕ ð#ñ ™�}ð	#ñ
 
�‰ñ#r(   c           	     ó  € VP                   w  rEpV P                  V4      V P                  V4      V P                  V4      r˜pVP	                  WEV P
                  R4      P                  ^ ^^^4      pVP	                  WEV P                  R4      P                  ^ ^^^4      pV	P	                  WEV P                  R4      P                  ^ ^^^4      p	VeM   V P                  WsP                  R7      pV P                  WƒP                  R7      pVP                  W‰4      w  r‰M"V P                  V4      pV P                  V4      p\        WxW“V P                  VR7      p
V
P                  ^ ^^^4      P	                  WER4      p
V P                  V
4      # )é   )Úoffset)rS   rB   rR   éÿÿÿÿ)ÚshaperE   rF   rG   Úreshaper@   Ú	transposerA   rI   rZ   Úupdate_and_fetchr   rB   rH   )rJ   rQ   rR   rS   ÚBÚLÚDÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r%   Ú__call__ÚAttention.__call__9   sS  € ð —'‘'‰ˆˆaà $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆð —/‘/ !¨¯©°bÓ9×CÑCÀAÀqÈ!ÈQÓOˆØ�|‰|˜A $§/¡/°2Ó6×@Ñ@ÀÀAÀqÈ!ÓLˆØ—‘  d§o¡o°rÓ:×DÑDÀQÈÈ1ÈaÓPˆàÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—i‘i Ó(ˆGØ—9‘9˜T“?ˆDä-Ø˜6°d·j±jÀtô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆØ�{‰{˜6Ó"Ð"r(   )rF   r@   rA   rH   rE   rI   rB   rG   ©NN©	r*   r+   r,   r-   r?   rg   r/   r0   Ú__classcell__©rM   r$   s   @@r%   r2   r2       s   ù‡ € ÷
ó 
÷0#÷ #ò #r(   r2   c                   óD   a a€ ] tR t^Wt oV 3R ltV3R lR ltRtVtV ;t# )ÚMLPc                óÒ   <€ \         SV `  4        \        P                  ! WR R7      V n        \        P                  ! W!R R7      V n        \        P                  ! WR R7      V n        R# ©Fr9   N)r>   r?   rC   rD   Ú	gate_projÚ	down_projÚup_proj)rJ   rK   Ú
hidden_dimrM   s   &&&€r%   r?   ÚMLP.__init__X   sD   ø€ Ü‰ÑÔÜŸš 3¸Ô?ˆŒÜŸš :¸Ô?ˆŒÜ—y’y °uÔ=ˆŽr(   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   rT   )rV   rW   )r#   r$   s   "€r%   r&   ÚMLP.__annotate__^   s   ø€ ÷ Jñ J™RŸX™Xñ Jr(   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # ©N)rr   r	   rq   rs   )rJ   rQ   s   &&r%   rg   ÚMLP.__call__^   s)   € Ø�~‰~œf T§^¡^°AÓ%6¸¿¹ÀQ»ÓHÓIÐIr(   )rr   rq   rs   rj   rl   s   @@r%   rn   rn   W   s   ù‡ € õ>÷J÷ Jð Jr(   rn   c                   óT   a a€ ] tR t^bt oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚTransformerBlockc                ó    <€ V ^8„  d   QhRS[ /# r4   r6   )r#   r$   s   "€r%   r&   ÚTransformerBlock.__annotate__c   s   ø€ ÷ 
ñ 
™Yñ 
r(   c                ó¢  <€ \         SV `  4        VP                  V n        VP                  V n        \	        V4      V n        \        VP                  VP                  4      V n        \        P                  ! VP                  VP                  R 7      V n        \        P                  ! VP                  VP                  R 7      V n        Wn        R# )©ÚepsN)r>   r?   r   r   r2   Ú	self_attnrn   r   ÚmlprC   ÚRMSNormr   Úinput_layernormÚpost_attention_layernormr5   ©rJ   r5   rM   s   &&€r%   r?   ÚTransformerBlock.__init__c   s—   ø€ Ü‰ÑÔØ#'×#;Ñ#;ˆÔ Ø×+Ñ+ˆÔÜ" 4›ˆŒÜ�t×'Ñ'¨×)?Ñ)?Ó@ˆŒÜ!Ÿzšz¨$×*:Ñ*:À×@QÑ@QÔRˆÔÜ(*¯
ª
Ø×Ñ $×"3Ñ"3ô)
ˆÔ%ð Ž	r(   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# rP   rU   )r#   r$   s   "€r%   r&   r~   o   sH   ø€ ÷ 
ñ 
á�8‰8ð
ñ ‘r—x‘xÕ ð
ñ ™�}ð	
ñ
 
�‰ñ
r(   c                ó¨   € V P                  V P                  V4      W#4      pW,           pV P                  V P                  V4      4      pWT,           pV# ry   )r‚   r…   rƒ   r†   )rJ   rQ   rR   rS   ÚrÚhÚouts   &&&&   r%   rg   ÚTransformerBlock.__call__o   sK   € ð �N‰N˜4×/Ñ/°Ó2°DÓ@ˆØ�EˆØ�H‰H�T×2Ñ2°1Ó5Ó6ˆØ�eˆØˆ
r(   )r5   r   r…   rƒ   r   r†   r‚   ri   rj   rl   s   @@r%   r|   r|   b   s   ù‡ € ÷
ó 
÷
÷ 
ò 
r(   r|   c                   óT   a a€ ] tR t^|t oV3R lV 3R lltRV3R lR lltRtVtV ;t# )Ú
Qwen2Modelc                ó    <€ V ^8„  d   QhRS[ /# r4   r6   )r#   r$   s   "€r%   r&   ÚQwen2Model.__annotate__}   s   ø€ ÷ 
Hñ 
H™Yñ 
Hr(   c                óÎ  <€ \         SV `  4        Wn        VP                  V n        VP                  V n        V P                  ^ 8”  g   Q h\
        P                  ! VP                  VP                  4      V n        \        VP                  4       Uu. uF  p\        VR7      NK  	  upV n        \
        P                  ! VP                  VP                  R7      V n        R# u upi )r   )r5   r€   N)r>   r?   r5   r   r   rC   Ú	Embeddingr   Úembed_tokensÚranger|   Úlayersr„   r   Únorm)rJ   r5   Ú_rM   s   && €r%   r?   ÚQwen2Model.__init__}   s­   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒØ!%×!7Ñ!7ˆÔØ�‰ Ô"Ð"Ð"ÜŸLšL¨¯©¸$×:JÑ:JÓKˆÔä16°t×7MÑ7MÔ1Nó
Ù1N¨AÔ $×'Ñ1Nñ
ˆŒô —J’J˜t×/Ñ/°T×5FÑ5FÔGˆŽ	ùò
s   ÂC"c                ó^   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          /# ©r   ÚinputsÚinput_embeddings©rV   rW   r   )r#   r$   s   "€r%   r&   r’   ‰   s,   ø€ ÷ ñ á—‘ðñ #¡2§8¡8Õ,ñ	r(   c                ó
  € Ve   TpMV P                  V4      pVf   R .\        V P                  4      ,          p\        WB^ ,          4      p\	        V P                  V4       F  w  rgV! WEV4      pK  	  V P                  V4      # ry   )r•   Úlenr—   r   Úzipr˜   )rJ   r�   rS   rž   rŒ   rR   ÚlayerÚcs   &&&&    r%   rg   ÚQwen2Model.__call__‰   sz   € ð Ò'Ø ‰Aà×!Ñ! &Ó)ˆAàŠ=Ø�FœS §¡Ó-Õ-ˆEÜ$ Q¨a­Ó1ˆä˜DŸK™K¨Ö/‰HˆEÙ�a˜qÓ!ŠAñ 0ð �y‰y˜‹|Ðr(   )r5   r•   r—   r˜   r   r   ri   rj   rl   s   @@r%   r�   r�   |   s    ù‡ € ÷
Hó 
H÷÷ ò r(   r�   c                   ó€   a a€ ] tR t^žt oV3R lV 3R lltR
V3R lR lltR tRV3R lR llt]R 4       t	R	t
VtV ;t# )ÚModelc                ó    <€ V ^8„  d   QhRS[ /# r4   r6   )r#   r$   s   "€r%   r&   ÚModel.__annotate__Ÿ   s   ø€ ÷ Tñ T™Yñ Tr(   c                óþ   <€ \         SV `  4        Wn        VP                  V n        \	        V4      V n        VP                  '       g5   \        P                  ! VP                  VP                  R R7      V n        R# R# rp   )r>   r?   r5   r   r�   Úmodelr   rC   rD   r   r   Úlm_headr‡   s   &&€r%   r?   ÚModel.__init__Ÿ   sY   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ Ó%ˆŒ
Ø×'×'Ð'ÜŸ9š9 T×%5Ñ%5°t·±ÈUÔSˆDŽLñ (r(   c                ó^   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          /# rœ   rŸ   )r#   r$   s   "€r%   r&   r©   §   s,   ø€ ÷ ñ á—‘ðñ #¡2§8¡8Õ,ñ	r(   c                óÒ   € V P                  WV4      pV P                  P                  '       d(   V P                   P                  P	                  V4      pV# V P                  V4      pV# ry   )r«   r5   r   r•   Ú	as_linearr¬   )rJ   r�   rS   rž   r�   s   &&&& r%   rg   ÚModel.__call__§   s[   € ð �j‰j˜Ð(8Ó9ˆØ�9‰9×(×(Ð(Ø—*‘*×)Ñ)×3Ñ3°CÓ8ˆCð ˆ
ð —,‘,˜sÓ#ˆCØˆ
r(   c                óÄ   € V P                   P                  '       d   VP                  R R4       VP                  4        UUu/ uF  w  r#RV9  g   K  W#bK  	  upp# u uppi )zlm_head.weightNzself_attn.rotary_emb.inv_freq)r5   r   ÚpopÚitems)rJ   ÚweightsÚkÚvs   &&  r%   ÚsanitizeÚModel.sanitize´   sY   € Ø�9‰9×(×(Ð(Ø�K‰KÐ(¨$Ô/ð %Ÿ]™]œ_ô
Ù,‘T�QÐ0OÐWXÑ0XŒDˆAŠD™_ò
ð 	
ùó 
s   ÁAÁAc                óX   <€ V ^8„  d   QhRS[ S[P                  P                  ,          /# )r   Úgroup)r   rV   ÚdistributedÚGroup)r#   r$   s   "€r%   r&   r©   ¼   s#   ø€ ÷ ñ ™8¡B§N¡N×$8Ñ$8Õ9ñ r(   c                óî  € T;'       g    \         P                  P                  4       pVP                  4       pV P                  P
                   EF¡  p\        VP                  P                  R VR7      VP                  n        \        VP                  P                  R VR7      VP                  n	        \        VP                  P                  R VR7      VP                  n
        \        VP                  P                  RVR7      VP                  n        VP                  ;P                  V,          un        VP                  ;P                  V,          un        \        VP                  P                  R VR7      VP                  n        \        VP                  P                   RVR7      VP                  n        \        VP                  P"                  R VR7      VP                  n        EK¤  	  R# )zall-to-sharded)r»   zsharded-to-allN)rV   r¼   ÚinitÚsizer«   r—   r   r‚   rE   rF   rG   rH   r@   rA   rƒ   rq   rr   rs   )rJ   r»   ÚNr£   s   &&  r%   ÚshardÚModel.shard¼   sh  € Ø×.Ð.œŸ™×,Ñ,Ó.ˆØ�J‰J‹LˆØ—Z‘Z×&Õ&ˆEä%1Ø—‘×&Ñ&Ð(8Àô&ˆE�O‰OÔ"ô &2Ø—‘×&Ñ&Ð(8Àô&ˆE�O‰OÔ"ô &2Ø—‘×&Ñ&Ð(8Àô&ˆE�O‰OÔ"ô &2Ø—‘×&Ñ&Ð(8Àô&ˆE�O‰OÔ"ð �O‰O×#Ò#¨Õ)Õ#Ø�O‰O×&Ò&¨1Õ,Õ&ô #/Ø—	‘	×#Ñ#Ð%5¸Uô#ˆE�I‰IÔô #/Ø—	‘	×#Ñ#Ð%5¸Uô#ˆE�I‰IÔô !-Ø—	‘	×!Ñ!Ð#3¸5ô!ˆE�I‰I×ó1 'r(   c                ó.   € V P                   P                  # ry   )r«   r—   )rJ   s   &r%   r—   ÚModel.layersÛ   s   € à�z‰z× Ñ Ð r(   )r5   r¬   r«   r   ri   ry   )r*   r+   r,   r-   r?   rg   r¸   rÂ   Úpropertyr—   r/   r0   rk   rl   s   @@r%   r§   r§   ž   sC   ù‡ € ÷Tó T÷ò ò
÷ò ð> ñ!ó ÷!ð !r(   r§   )Údataclassesr   Útypingr   r   r   r   Úmlx.coreÚcorerV   Úmlx.nnrC   Úmlx.nn.layers.distributedr   Úactivationsr	   r;   r
   r   r   Ú
rope_utilsr   r   ÚModuler2   rn   r|   r�   r§   r)   r(   r%   Ú<module>rÐ      s”   ðõ "ß -Ó -å Ý Ý 2å ß TÑ TÝ 'ð ô%�ó %ó ð%ô 4#�—	‘	ô 4#ônJˆ"�)‰)ô Jô�r—y‘yô ô4�—‘ô ôD?!ˆB�I‰Iö ?!r(   