+
    TV-j¿  ã                   ó@  € ^ RI Ht ^ RIHt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# )é    )Ú	dataclass)ÚAnyÚOptionalN)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attentionc                   ó6   a € ] tR t^t o RtR tV 3R ltRtV tR# )Ú	ModelArgsNc                óH   € V P                   f   V P                  V n         R # R # ©N)Únum_key_value_headsÚn_head©Úselfs   &Úc/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/gpt2.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	&   # )
é   Ú
model_typeÚn_ctxÚn_embdr   Ún_layerÚn_positionsÚlayer_norm_epsilonÚ
vocab_sizer   )ÚstrÚintÚfloat)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚModelArgs.__annotate__   sr   ø‡ ‚ á�Oñ ñ �Jñ ñ �Kñ	 ñ
 �Kñ ñ �Lñ ñ Ññ ñ Ññ ñ �Oñ ñ Ñ#ò r   )r   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r"   s   @r   r
   r
      s   ø‡ € ð  $Ðò3÷ ƒ 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   ø€ ÷ Eñ E™Yñ Er   c                ó  <€ \         SV `  4        VP                  VP                  ,          ^ 8X  g   Q R4       hVP                  V n        VP                  V n        V P                  V P                  ,          V n        V P                  R,          V n        \        P                  ! V P                  ^V P                  ,          RR7      V n        \        P                  ! V P                  V P                  RR7      V n	        R# )r   z"n_embd must be divisible by n_headT)ÚbiasNg      à¿)
ÚsuperÚ__init__r   r   Úhead_dimÚscaleÚnnÚLinearÚc_attnÚc_proj©r   r0   Ú	__class__s   &&€r   r6   ÚAttention.__init__   s¥   ø€ Ü‰ÑÔà�{‰{˜TŸ[™[Õ(¨AÔ-ÐSÐ/SÓSÐ-à—k‘kˆŒØ—k‘kˆŒØŸ™ t§{¡{Õ2ˆŒà—]‘] DÕ(ˆŒ
ä—i’i §¡¨Q°·±­_À4ÔHˆŒÜ—i’i §¡¨T¯[©[¸tÔ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#   r2   ,   sH   ø€ ÷ #ñ #á�8‰8ð#ñ ‘r—x‘xÕ ð#ñ ™�}ð	#ñ
 
�‰ñ#r   c           	     ó^  € VP                   w  rEpV P                  V4      p\        P                  ! V^RR7      w  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e   VP                  Wš4      w  rš\        W‰W£V P                  VR7      pVP                  ^ ^^^4      P	                  WER4      pV P                  V4      # )é   )Úaxis)rD   r8   rC   éÿÿÿÿ)Úshaper;   rG   ÚsplitÚreshaper   Ú	transposeÚupdate_and_fetchr   r8   r<   )r   rB   rC   rD   ÚBÚLÚDÚqkvÚqueriesÚkeysÚvaluesÚoutputs   &&&&        r   Ú__call__ÚAttention.__call__,   s  € ð —'‘'‰ˆˆaà�k‰k˜!‹nˆÜ "§¢¨¨a°bÔ 9Ñˆ�vð —/‘/ !¨¯©°RÓ8×BÑBÀ1ÀaÈÈAÓNˆØ�|‰|˜A $§+¡+¨rÓ2×<Ñ<¸QÀÀ1ÀaÓHˆØ—‘  d§k¡k°2Ó6×@Ñ@ÀÀAÀqÈ!ÓLˆàÒØ ×1Ñ1°$Ó?‰LˆDä-Ø˜6°d·j±jÀtô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆØ�{‰{˜6Ó"Ð"r   )r;   r<   r7   r   r   r8   ©NN©	r%   r&   r'   r(   r6   rZ   r*   r+   Ú__classcell__©r>   r"   s   @@r   r-   r-      s    ù‡ € ÷Eó E÷#÷ #ò #r   r-   c                   óP   a a€ ] tR t^Gt oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚMLPc                ó    <€ V ^8„  d   QhRS[ /# r/   r1   )r!   r"   s   "€r   r#   ÚMLP.__annotate__H   s   ø€ ÷ >ñ >™Yñ >r   c                ó"  <€ \         SV `  4        VP                  V n        \        P                  ! V P                  ^V P                  ,          4      V n        \        P                  ! ^V P                  ,          V P                  4      V n        R# )é   N)r5   r6   r   r9   r:   Úc_fcr<   r=   s   &&€r   r6   ÚMLP.__init__H   sU   ø€ Ü‰ÑÔà—k‘kˆŒÜ—I’I˜dŸk™k¨1¨t¯{©{­?Ó;ˆŒ	Ü—i’i  D§K¡K¥°·±Ó=ˆŽr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   rE   ©rG   rH   )r!   r"   s   "€r   r#   rc   O   s   ø€ ÷ 9ñ 9™RŸX™Xñ 9r   c                ój   € V P                  \        P                  ! V P                  V4      4      4      # r   )r<   r9   Úgelu_approxrf   )r   rB   s   &&r   rZ   ÚMLP.__call__O   s"   € Ø�{‰{œ2Ÿ>š>¨$¯)©)°A«,Ó7Ó8Ð8r   )rf   r<   r   r]   r_   s   @@r   ra   ra   G   s   ù‡ € ÷>ó >÷9÷ 9ð 9r   ra   c                   óT   a a€ ] tR t^St 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[ /# r/   r1   )r!   r"   s   "€r   r#   ÚTransformerBlock.__annotate__T   s   ø€ ÷ Kñ K™Yñ Kr   c                óŽ  <€ \         SV `  4        VP                  V n        VP                  V n        VP                  V n        \        V4      V n        \        V4      V n        \        P                  ! V P                  V P                  R 7      V n        \        P                  ! V P                  V P                  R 7      V n        R# )©ÚepsN)r5   r6   r   r   r   r-   Úattnra   Úmlpr9   Ú	LayerNormÚln_1Úln_2r=   s   &&€r   r6   ÚTransformerBlock.__init__T   s†   ø€ Ü‰ÑÔà—k‘kˆŒØ—k‘kˆŒØ"&×"9Ñ"9ˆÔÜ˜d“OˆŒ	Ü�t“9ˆŒÜ—L’LØ�K‰KØ×'Ñ'ô
ˆŒ	ô —L’L §¡°$×2IÑ2IÔJˆŽ	r   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# rA   rF   )r!   r"   s   "€r   r#   rp   b   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# r   )rt   rw   ru   rx   )r   rB   rC   rD   ÚrÚhÚouts   &&&&   r   rZ   ÚTransformerBlock.__call__b   sE   € ð �I‰I�d—i‘i “l DÓ0ˆØ�EˆØ�H‰H�T—Y‘Y˜q“\Ó"ˆØ�eˆØˆ
r   )rt   r   rw   rx   ru   r   r   r\   r]   r_   s   @@r   rn   rn   S   s    ù‡ € ÷Kó K÷
÷ 
ò 
r   rn   c                   óT   a a€ ] tR t^ot 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# )Ú	GPT2Modelc                ó    <€ V ^8„  d   QhRS[ /# r/   r1   )r!   r"   s   "€r   r#   ÚGPT2Model.__annotate__p   s   ø€ ÷ Kñ K™Yñ Kr   c                óˆ  <€ \         SV `  4        VP                  V n        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        V P                  ^ 8”  g   Q h\        P                  ! V P                  V P                  4      V n	        \        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   )r0   rr   N)r5   r6   r   r   r   r   r   r9   Ú	EmbeddingÚwteÚwpeÚrangern   r}   rv   Úln_f)r   r0   Ú_r>   s   && €r   r6   ÚGPT2Model.__init__p   sÜ   ø€ Ü‰ÑÔØ—k‘kˆŒØ×+Ñ+ˆÔØŸ/™/ˆŒØ—|‘|ˆŒØ"&×"9Ñ"9ˆÔØ�‰ Ô"Ð"Ð"Ü—<’< §¡°·±Ó=ˆŒÜ—<’< × 0Ñ 0°$·+±+Ó>ˆŒÜ7<¸T¿\¹\Ô7JÓKÑ7J°!Ô"¨×-Ñ7JÑKˆŒÜ—L’L §¡°$×2IÑ2IÔJˆŽ	ùò Ls   Ã/D?c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   Úinputsri   )r!   r"   s   "€r   r#   rƒ   }   s   ø€ ÷ (ñ (á—‘ñ(r   c                óü  € VP                   w  r4V P                  V4      pVf   R .\        V P                  4      ,          p^ pV^ ,          e   V^ ,          P                  p\
        P                  ! V4      p\
        P                  ! V4      VR,          ,           pWPP                  V4      ,          p\        WR^ ,          4      p\        V P                  V4       F  w  ršV	! WXV
R7      pK  	  V P                  V4      # )N)rD   ).N)rM   r†   Úlenr}   ÚoffsetrG   rH   Úaranger‡   r   Úzipr‰   )r   rŽ   rD   rŠ   rS   Úhidden_statesr‘   Úposition_idsrC   ÚlayerÚcs   &&&        r   rZ   ÚGPT2Model.__call__}   sÊ   € ð
 �|‰|‰ˆàŸ™ Ó(ˆàŠ=Ø�FœS §¡›[Õ(ˆEàˆØ��8ÒØ˜1•X—_‘_ˆFä—’˜&Ó!ˆÜ—y’y “| f¨YÕ&7Õ7ˆàŸ™ ,Ó/Õ/ˆä$ ]¸!µHÓ=ˆä˜DŸF™F EÖ*‰HˆEÙ! -¸QÔ?ŠMñ +ð �y‰y˜Ó'Ð'r   )	r}   r   r‰   r   r   r   r   r‡   r†   r   r]   r_   s   @@r   r�   r�   o   s    ù‡ € ÷Kó K÷(÷ (ò (r   r�   c                   ój   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 4       tRt	Vt
V ;t# )	ÚModelc                ó    <€ V ^8„  d   QhRS[ /# r/   r1   )r!   r"   s   "€r   r#   ÚModel.__annotate__›   s   ø€ ÷ %ñ %™Yñ %r   c                ór   <€ \         SV `  4        Wn        VP                  V n        \	        V4      V n        R # r   )r5   r6   r0   r   r�   Úmodelr=   s   &&€r   r6   ÚModel.__init__›   s)   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ˜t“_ˆŽ
r   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r�   ri   )r!   r"   s   "€r   r#   rœ   ¡   s   ø€ ÷ ñ á—‘ñr   c                ór   € V P                  W4      pV P                   P                  P                  V4      pV# r   )rž   r†   Ú	as_linear)r   rŽ   rD   r~   s   &&& r   rZ   ÚModel.__call__¡   s/   € ð
 �j‰j˜Ó'ˆØ�j‰j�n‰n×&Ñ& sÓ+ˆØˆ
r   c                ój  € / p\        V P                  P                  4       FÓ  pR V R2V9   d   VR V R2 R V R2V9   d%   VR V R2,          P                  ^^ 4      VR V R2&   R V R2V9   d%   VR V R2,          P                  ^^ 4      VR V R2&   R V R2V9   d%   VR V R2,          P                  ^^ 4      VR V R2&   R V R2V9   g   K¯  VR V R2,          P                  ^^ 4      VR V R2&   KÕ  	  V F4  pVP	                  R4      '       g   W,          VRV 2&   K*  W,          W$&   K6  	  V# )zh.z
.attn.biasz.attn.c_attn.weightz.attn.c_proj.weightz.mlp.c_fc.weightz.mlp.c_proj.weightzmodel.)rˆ   r0   r   rP   Ú
startswith)r   ÚweightsÚnew_weightsÚiÚweights   &&   r   ÚsanitizeÚModel.sanitizeª   s¢  € ØˆÜ�t—y‘y×(Ñ(Ö)ˆAØ�A�3�jÐ! WÔ,Ø˜b   :Ð.Ð/Ø�A�3Ð)Ð*¨gÔ5Ø7>Ø˜˜Ð.Ð/õ8ç‘)˜A˜q“/ð ˜"˜Q˜CÐ2Ð3Ñ4ð �A�3Ð)Ð*¨gÔ5Ø7>Ø˜˜Ð.Ð/õ8ç‘)˜A˜q“/ð ˜"˜Q˜CÐ2Ð3Ñ4ð �A�3Ð&Ð'¨7Ô2Ø4;Ø˜˜Ð+Ð,õ5ç‘)˜A˜q“/ð ˜"˜Q˜CÐ/Ð0Ñ1ð �A�3Ð(Ð)¨WÖ4Ø6=Ø˜˜Ð-Ð.õ7ç‘)˜A˜q“/ð ˜"˜Q˜CÐ1Ð2Ó3ñ! *ó& ˆFØ×$Ñ$ X×.Ò.Ø18µ�˜f V HÐ-Ó.à&-¥o�Ó#ñ	 ð
 Ðr   c                ó.   € V P                   P                  # r   )rž   r}   r   s   &r   ÚlayersÚModel.layersÆ   s   € à�z‰z�|‰|Ðr   )r0   rž   r   r   )r%   r&   r'   r(   r6   rZ   rª   Úpropertyr­   r*   r+   r^   r_   s   @@r   rš   rš   š   s7   ù‡ € ÷%ó %÷ò òð8 ñó ÷ð r   rš   )Údataclassesr   Útypingr   r   Úmlx.coreÚcorerG   Úmlx.nnr9   Úbaser   r   r   r
   ÚModuler-   ra   rn   r�   rš   © r   r   Ú<module>r¸      s†   ðõ "ß  å Ý ç TÑ Tð ô3�ó 3ó ð3ô '#�—	‘	ô '#ôT	9ˆ"�)‰)ô 	9ô�r—y‘yô ô8((�—	‘	ô ((ôV.ˆB�I‰Iö .r   