+
    TV-j|  ã                   ó<  € ^ 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 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# )é    )Ú	dataclassN)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attentionc                   óZ   a € ] tR t^t o Rt^t^t^€tRtRt	Rt
RtRtRtR tV 3R	 ltR
tV tR# )Ú	ModelArgsi   i    g�íµ ÷Æ°>i +  Ti€Q Nc                óH   € V P                   f   V P                  V n         R # R # ©N)Únum_key_value_headsÚnum_attention_heads©Úselfs   &Úc/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/qwen.pyÚ__post_init__ÚModelArgs.__post_init__   s!   € Ø×#Ñ#Ò+Ø'+×'?Ñ'?ˆDÖ$ñ ,ó    c                ó’   <€ 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
&   # )é   Ú
model_typeÚhidden_sizer   Únum_hidden_layersÚkv_channelsÚmax_position_embeddingsÚlayer_norm_epsilonÚintermediate_sizeÚno_biasÚ
vocab_size)ÚstrÚintÚfloatÚbool)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚModelArgs.__annotate__   s„   ø‡ ‚ á�Oñ ñ Ññ ñ Ñ!ñ	 ñ
 Ññ ñ Ññ ñ !Ñ'ñ ñ Ñ$ñ ñ Ñ"ñ ñ Ññ ñ Ñò r   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   r   r   r   r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r$   s   @r   r	   r	      sL   ø‡ € ð €KØ!ÐØÐØ€KØ#'ÐØ $ÐØ"ÐØ€GØ€JØÐò@÷ ƒ r   r	   c                   óH   a a€ ] tR t^t oV3R lV 3R lltRR 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        W P                  ,          p\        P
                  ! VR R7      V n        VP                  V P                  ,          p\        P                  ! W$^,          RR7      V n	        \        P                  ! W$VP                  '       * R7      V n        VR,          V n        R# )F)ÚtraditionalT©ÚbiasNg      à¿)ÚsuperÚ__init__r   r   ÚnnÚRoPEÚ
rotary_embr   ÚLinearÚc_attnr   Úc_projÚscale)r   r2   r   Úhidden_size_per_attention_headÚ	proj_sizeÚ	__class__s   &&   €r   r:   ÚAttention.__init__    sš   ø€ Ü‰ÑÔà×&Ñ&ˆØ#'×#;Ñ#;ˆÔ à)4×8PÑ8PÕ)PÐ&äŸ'š'Ð"@ÈeÔTˆŒà×$Ñ$ t×'?Ñ'?Õ?ˆ	ä—i’i ¸­]ÀÔFˆŒÜ—i’i ÀÇÁÔ=MÔNˆŒà3°TÕ9ˆŽ
r   c           	     ó  € V P                  V4      p\        P                  ! V^RR7      w  rVpVP                  w  r‰p
VP	                  W‰V P
                  R4      P                  ^ ^^^4      pVP	                  W‰V P
                  R4      P                  ^ ^^^4      pVP	                  W‰V P
                  R4      P                  ^ ^^^4      pVeM   V P                  W³P                  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\        W¼WÓV P                  VR7      pVP                  ^ ^^^4      P	                  W‰R4      pV P                  V4      # )é   )Úaxis)Úoffset)ÚcacherA   Úmaskéÿÿÿÿ)r?   ÚmxÚsplitÚshapeÚreshaper   Ú	transposer=   rI   Úupdate_and_fetchr   rA   r@   )r   ÚxrK   rJ   ÚqkvÚqÚkÚvÚBÚLÚ_ÚqueriesÚkeysÚvaluesÚoutputs   &&&&           r   Ú__call__ÚAttention.__call__1   sZ  € Ø�k‰k˜!‹nˆä—(’(˜3 ¨Ô+‰ˆˆaà—'‘'‰ˆˆaà—)‘)˜A $×":Ñ":¸BÓ?×IÑIÈ!ÈQÐPQÐSTÓUˆØ�y‰y˜˜t×7Ñ7¸Ó<×FÑFÀqÈ!ÈQÐPQÓRˆØ—‘˜1 ×!9Ñ!9¸2Ó>×HÑHÈÈAÈqÐRSÓTˆàÒØ—o‘o g·l±l�oÓCˆGØ—?‘? 4·±�?Ó=ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—o‘o gÓ.ˆGØ—?‘? 4Ó(ˆDä-Ø˜6°d·j±jÀtô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆà�{‰{˜6Ó"Ð"r   )r?   r@   r   r=   rA   ©NN©	r'   r(   r)   r*   r:   r_   r,   r-   Ú__classcell__©rD   r$   s   @@r   r/   r/      s   ù‡ € ÷:ó :÷"#ô #r   r/   c                   óD   a a€ ] tR t^Lt oV3R lV 3R lltR tRtVtV ;t# )ÚMLPc                ó    <€ V ^8„  d   QhRS[ /# r1   r3   )r#   r$   s   "€r   r%   ÚMLP.__annotate__M   s   ø€ ÷ 
ñ 
™Yñ 
r   c                óÔ  <€ \         SV `  4        \        P                  ! VP                  VP
                  ^,          VP                  '       * R7      V n        \        P                  ! VP                  VP
                  ^,          VP                  '       * R7      V n        \        P                  ! VP
                  ^,          VP                  VP                  '       * R7      V n	        R# )r   r7   N)
r9   r:   r;   r>   r   r   r   Úw1Úw2r@   ©r   r2   rD   s   &&€r   r:   ÚMLP.__init__M   sŸ   ø€ Ü‰ÑÔä—)’)Ø×Ñ˜d×4Ñ4¸Õ9ÀDÇLÁLÔ@Pô
ˆŒô —)’)Ø×Ñ˜d×4Ñ4¸Õ9ÀDÇLÁLÔ@Pô
ˆŒô —i’iØ×"Ñ" aÕ'¨×)9Ñ)9ÀDÇLÁLÔ@Pô
ˆŽr   c                óz   € V P                  V4      pV P                  V4      pV P                  \        W24      4      # r   )rj   rk   r@   r   )r   rS   Úa1Úa2s   &&  r   r_   ÚMLP.__call__Z   s/   € Ø�W‰W�Q‹ZˆØ�W‰W�Q‹ZˆØ�{‰{œ6 "›>Ó*Ð*r   )r@   rj   rk   rb   rd   s   @@r   rf   rf   L   s   ù‡ € ÷
ó 
÷+ò +r   rf   c                   óH   a a€ ] tR t^`t oV3R lV 3R lltRR ltRtVtV ;t# )ÚTransformerBlockc                ó    <€ V ^8„  d   QhRS[ /# r1   r3   )r#   r$   s   "€r   r%   ÚTransformerBlock.__annotate__a   s   ø€ ÷ ñ ™Yñ r   c                ó(  <€ \         SV `  4        \        P                  ! VP                  VP
                  R 7      V n        \        V4      V n        \        P                  ! VP                  VP
                  R 7      V n	        \        V4      V n        R# ©)ÚepsN)r9   r:   r;   ÚRMSNormr   r   Úln_1r/   ÚattnÚln_2rf   Úmlprl   s   &&€r   r:   ÚTransformerBlock.__init__a   s`   ø€ Ü‰ÑÔä—J’J˜t×/Ñ/°T×5LÑ5LÔMˆŒ	Ü˜d“OˆŒ	Ü—J’J˜t×/Ñ/°T×5LÑ5LÔMˆŒ	Ü�t“9ˆŽr   c                ó¶   € TpV P                  V4      pV P                  WVR 7      pW,           pV P                  V4      pV P                  V4      pW,           pV# ))rK   rJ   )rz   r{   r|   r}   )r   rS   rK   rJ   Úresiduals   &&&& r   r_   ÚTransformerBlock.__call__i   sT   € ØˆØ�I‰I�a‹LˆØ�I‰I�a¨%ˆIÓ0ˆØ•<ˆØ�I‰I�hÓˆØ�H‰H�Q‹KˆØ�Lˆàˆr   )r{   rz   r|   r}   ra   rb   rd   s   @@r   rs   rs   `   s   ù‡ € ÷ó ÷	ô 	r   rs   c                   óH   a a€ ] tR t^ut oV3R lV 3R lltRR ltRtVtV ;t# )Ú	QwenModelc                ó    <€ V ^8„  d   QhRS[ /# r1   r3   )r#   r$   s   "€r   r%   ÚQwenModel.__annotate__v   s   ø€ ÷ Nñ N™Yñ Nr   c                óV  <€ \         SV `  4        \        P                  ! VP                  VP
                  4      V n        \        VP                  4       Uu. uF  p\        V4      NK  	  upV n
        \        P                  ! VP
                  VP                  R 7      V n        R# u upi rw   )r9   r:   r;   Ú	Embeddingr   r   ÚwteÚranger   rs   Úhry   r   Úln_f)r   r2   rZ   rD   s   && €r   r:   ÚQwenModel.__init__v   sw   ø€ Ü‰ÑÔÜ—<’< §¡°×1AÑ1AÓBˆŒÜ27¸×8NÑ8NÔ2OÓPÑ2O¨QÔ" 4Ö(Ñ2OÑPˆŒÜ—J’J˜t×/Ñ/°T×5LÑ5LÔMˆŽ	ùò Qs   ÁB&c                óü   € V P                  V4      pVf   R .\        V P                  4      ,          p\        W2^ ,          4      p\	        V P                  V4       F  w  rVV! W4V4      pK  	  V P                  V4      # r   )rˆ   ÚlenrŠ   r   Úzipr‹   )r   ÚinputsrJ   rS   rK   ÚlayerÚcs   &&&    r   r_   ÚQwenModel.__call__|   sj   € Ø�H‰H�VÓˆàŠ=Ø�FœS §¡›[Õ(ˆEÜ$ Q¨a­Ó1ˆä˜DŸF™F EÖ*‰HˆEÙ�a˜qÓ!ŠAñ +ð �y‰y˜‹|Ðr   )rŠ   r‹   rˆ   r   rb   rd   s   @@r   rƒ   rƒ   u   s   ù‡ € ÷Nó N÷
ô 
r   rƒ   c                   ód   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 4       tRtVt	V ;t
# )ÚModelc                ó    <€ V ^8„  d   QhRS[ /# )r   Úconfigr3   )r#   r$   s   "€r   r%   ÚModel.__annotate__Š   s   ø€ ÷ ñ ™yñ r   c                óô   <€ \         SV `  4        VP                  V n        \        V4      V n        \
        P                  ! VP                  VP                  VP                  '       * R 7      V n
        Wn        R# )r7   N)r9   r:   r   rƒ   Útransformerr;   r>   r   r   r   Úlm_headr2   )r   r—   rD   s   &&€r   r:   ÚModel.__init__Š   sY   ø€ Ü‰ÑÔØ ×+Ñ+ˆŒÜ$ VÓ,ˆÔÜ—y’yØ×Ñ × 1Ñ 1¸F¿N¹NÔ8Jô
ˆŒð Ž	r   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r   rS   Úreturn)rM   Úarray)r#   r$   s   "€r   r%   r˜   “   s'   ø€ ÷ ñ á�8‰8ðñ 
�‰ñ	r   c                óF   € V P                  W4      pV P                  V4      # r   )rš   r›   )r   rS   rJ   Úys   &&& r   r_   ÚModel.__call__“   s"   € ð
 ×Ñ˜QÓ&ˆØ�|‰|˜A‹Ðr   c                ó.   € V P                   P                  # r   )rš   rŠ   r   s   &r   ÚlayersÚModel.layers›   s   € à×Ñ×!Ñ!Ð!r   )r2   r›   r   rš   r   )r'   r(   r)   r*   r:   r_   Úpropertyr¤   r,   r-   rc   rd   s   @@r   r•   r•   ‰   s2   ù‡ € ÷ó ÷ò ð ñ"ó ÷"ð "r   r•   )Údataclassesr   Úmlx.coreÚcorerM   Úmlx.nnr;   Úactivationsr   Úbaser   r   r   r	   ÚModuler/   rf   rs   rƒ   r•   © r   r   Ú<module>r¯      sˆ   ðõ "å Ý å ß TÑ Tð ô@�ó @ó ð@ô$*#�—	‘	ô *#ôZ+ˆ"�)‰)ô +ô(�r—y‘yô ô*�—	‘	ô ô("ˆB�I‰Iö "r   