+
    TV-j  ã                   ó~  € ^ RI t ^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
 ^RIHt ^RIHtHt  ^ RI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#   ] d    ]! R4       ] P&                  ! ^4        L‰i ; i)é    N)Ú	dataclass)ÚAnyÚOptional)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskz2To run olmo install ai2-olmo: pip install ai2-olmoc                   óB   a € ] tR t^t o RtRt^tRtR tV 3R lt	Rt
V tR# )Ú	ModelArgsi'  Fc                óŒ   € V P                   e   V P                   V n         R # V P                  V P                  ,          V n         R # ©N)Úmlp_hidden_sizeÚ	mlp_ratioÚd_model©Úselfs   &Úc/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/olmo.pyÚ__post_init__ÚModelArgs.__post_init__"   s=   € ð ×#Ñ#Ò/ð × Ñ ð 	Öð —‘ $§,¡,Õ.ð 	Öó    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
&   S[;R&   # )é   Ú
model_typer   Ún_layersr   Ún_headsÚ
vocab_sizeÚembedding_sizeÚ
rope_thetaÚrope_traditionalr   Úweight_tying)ÚstrÚintÚfloatÚbool)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚModelArgs.__annotate__   s�   ø‡ ‚ á�Oñ ñ �Lñ ñ �Mñ	 ñ
 Ññ ñ �Lñ ñ �Oñ ñ Ññ ñ Ññ ñ Ñ"ñ ñ Ññ ñ Ñò r   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r%   s   @r   r
   r
      s(   ø‡ € ð €JØ"ÐØ€IØ€Lò
÷ ƒ 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V3R lR lltRtVtV ;t	# )	ÚTransformerBlockc                ó    <€ V ^8„  d   QhRS[ /# ©r   Úargs©r
   )r$   r%   s   "€r   r&   ÚTransformerBlock.__annotate__+   s   ø€ ÷ ñ ™Yñ r   c                ó²  <€ \         SV `  4        VP                  V n        VP                  p\        P
                  ! W!P                  R R7      V n        \        P
                  ! VP                  ^,          VR R7      V n        \        P                  ! VR R7      V n
        \        P                  ! VR R7      V n        W P                  ,          pVR,          V n        \        P
                  ! V^V,          R R7      V n        \        P
                  ! W"R R7      V n        \        P                  ! VVP                   VP"                  R7      V n        Wn        R# )F©Úbias©Úaffine)ÚtraditionalÚbaseNg      à¿)ÚsuperÚ__init__r   r   ÚnnÚLinearr   Úff_projÚff_outÚ	LayerNormÚatt_normÚff_normÚscaleÚatt_projÚattn_outÚRoPEr   r   Úroper3   )r   r3   ÚdimÚhead_dimÚ	__class__s   &&  €r   r>   ÚTransformerBlock.__init__+   sè   ø€ Ü‰ÑÔØ—|‘|ˆŒØ�l‰lˆä—y’y ×&:Ñ&:ÀÔGˆŒÜ—i’i × 4Ñ 4¸Õ 9¸3ÀUÔKˆŒäŸš S°Ô7ˆŒÜ—|’| C°Ô6ˆŒàŸ,™,Õ&ˆØ˜t•^ˆŒ
äŸ	š	 # q¨3¥w°UÔ;ˆŒÜŸ	š	 #°Ô7ˆŒä—G’GØØ×-Ñ-Ø—‘ô
ˆŒ	ð Ž	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&   r5   D   sH   ø€ ÷ %ñ %á�8‰8ð%ñ ‘r—x‘xÕ ð%ñ ™�}ð	%ñ
 
�‰ñ%r   c                óô  € VP                   w  rEp\        P                  ! V P                  V4      ^RR7      w  rxp	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WpP                  ,          VP                  ^ ^^^4      ,          p
Ve	   W¢,          p
\        P                  ! V
P                  \        P                  4      RR7      P                  V
P                  4      p
W©,          P                  ^ ^^^4      P	                  WER4      pV P                  V4      # )é   ©Úaxis)Úoffsetéÿÿÿÿ)ÚshaperV   ÚsplitrG   Úreshaper   Ú	transposerJ   r\   Úupdate_and_fetchrF   ÚsoftmaxÚastypeÚfloat32ÚdtyperH   )r   rQ   rR   rS   ÚBÚLÚDÚqueriesÚkeysÚvaluesÚscoresÚoutputs   &&&&        r   ÚattendÚTransformerBlock.attendD   s’  € ð —'‘'‰ˆˆaä "§¢¨¯©°qÓ)9¸1À2Ô FÑˆ�vð —/‘/ !¨¯©°bÓ9×CÑCÀAÀqÈ!ÈQÓOˆØ�|‰|˜A $§,¡,°Ó3×=Ñ=¸aÀÀAÀqÓIˆØ—‘  d§l¡l°BÓ7×AÑAÀ!ÀQÈÈ1ÓMˆàÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—i‘i Ó(ˆGØ—9‘9˜T“?ˆDàŸJ™JÕ&¨$¯.©.¸¸A¸qÀ!Ó*DÕDˆØÒØ�NˆFÜ—’˜FŸM™M¬"¯*©*Ó5¸BÔ?×FÑFÀvÇ|Á|ÓTˆØ•/×,Ñ,¨Q°°1°aÓ8×@Ñ@ÀÀrÓJˆØ�}‰}˜VÓ$Ð$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&   r5   b   sH   ø€ ÷ ñ á�8‰8ðñ ‘r—x‘xÕ ðñ ™�}ð	ñ
 
�‰ñr   c                ó
  € V P                  V P                  V4      W#4      pW,           p\        P                  ! V P	                  V P                  V4      4      ^RR7      w  rgWPP                  \        Wv4      4      ,           pV# )r   rZ   r]   )ro   rD   rV   r_   rA   rE   rB   r   )	r   rQ   rR   rS   ÚrÚhÚx1Úx2Úouts	   &&&&     r   Ú__call__ÚTransformerBlock.__call__b   sc   € ð �K‰K˜Ÿ™ aÓ(¨$Ó6ˆØ�Eˆä—’˜$Ÿ,™, t§|¡|°A£Ó7¸ÀÔD‰ˆà—+‘+œf R›nÓ-Õ-ˆØˆ
r   )
r3   rD   rG   rH   rE   rB   rA   r   rJ   rF   )NN)
r(   r)   r*   r+   r>   ro   rx   r-   r.   Ú__classcell__©rM   r%   s   @@r   r0   r0   *   s(   ù‡ € ÷ó ÷2%ò %÷<÷ ò r   r0   c                   óT   a a€ ] tR t^qt 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# )ÚTransformerc                ó    <€ V ^8„  d   QhRS[ /# r2   r4   )r$   r%   s   "€r   r&   ÚTransformer.__annotate__r   s   ø€ ÷ 	=ñ 	=™Yñ 	=r   c                ó  <€ \         SV `  4        VP                  V n        VP                  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        V P                  '       g3   \        P                  ! VP                  VP                  RR7      V n        \        P                  ! VP                  RR7      V n        R# u upi ))r3   Fr7   r9   N)r=   r>   r   r   r?   Ú	Embeddingr   r   ÚwteÚranger0   Úblocksr@   rB   rC   Únorm)r   r3   Ú_rM   s   && €r   r>   ÚTransformer.__init__r   s°   ø€ Ü‰ÑÔØŸ™ˆŒØ ×-Ñ-ˆÔä—<’< × 3Ñ 3°T·\±\ÓBˆŒÜ<AÀ$Ç-Á-Ô<PÓQÑ<P°qÔ'¨T×2Ñ<PÑQˆŒØ× × Ð ÜŸ)š) D§L¡L°$×2EÑ2EÈEÔRˆDŒKÜ—L’L §¡°eÔ<ˆŽ	ùò Rs   Á9Dc                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   Úinputs©rV   rW   )r$   r%   s   "€r   r&   r   }   s   ø€ ÷ ñ á—‘ñr   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      pV P                  '       d   V P                   P                  V4      V3# V P                  V4      # r   )	r‚   Úlenr„   r   Úzipr…   r   Ú	as_linearrB   )r   rŠ   rS   rt   rR   ÚblockÚcs   &&&    r   rx   ÚTransformer.__call__}   s    € ð
 �H‰H�VÓˆàŠ=Ø�FœS §¡Ó-Õ-ˆEä$ Q¨a­Ó1ˆä˜DŸK™K¨Ö/‰HˆEÙ�a˜qÓ!ŠAñ 0ð �I‰I�a‹Lˆà××ÐØ—8‘8×%Ñ% aÓ(¨%Ð/Ð/à�{‰{˜1‹~Ðr   )r„   rB   r   r…   r   r‚   r   ©	r(   r)   r*   r+   r>   rx   r-   r.   rz   r{   s   @@r   r}   r}   q   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# )Ú	OlmoModelc                ó    <€ V ^8„  d   QhRS[ /# r2   r4   )r$   r%   s   "€r   r&   ÚOlmoModel.__annotate__•   s   ø€ ÷ -ñ -™Yñ -r   c                óD   <€ \         SV `  4        \        V4      V n        R # r   )r=   r>   r}   Útransformer©r   r3   rM   s   &&€r   r>   ÚOlmoModel.__init__•   s   ø€ Ü‰ÑÔÜ& tÓ,ˆÖr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r‰   r‹   )r$   r%   s   "€r   r&   r—   ™   s   ø€ ÷ /ñ /á—‘ñ/r   c                ó$   € V P                  W4      # r   ©r™   ©r   rŠ   rS   s   &&&r   rx   ÚOlmoModel.__call__™   s   € ð
 ×Ñ Ó.Ð.r   rž   r   r“   r{   s   @@r   r•   r•   ”   s   ù‡ € ÷-ó -÷/÷ /ò /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[ /# r2   r4   )r$   r%   s   "€r   r&   ÚModel.__annotate__¢   s   ø€ ÷ ñ ™Yñ r   c                ór   <€ \         SV `  4        VP                  V n        \        V4      V n        Wn        R # r   )r=   r>   r   r•   Úmodelr3   rš   s   &&€r   r>   ÚModel.__init__¢   s)   ø€ Ü‰ÑÔØŸ/™/ˆŒÜ˜t“_ˆŒ
ØŽ	r   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r‰   r‹   )r$   r%   s   "€r   r&   r¤   ¨   s   ø€ ÷ )ñ )á—‘ñ)r   c                ó$   € V P                  W4      # r   )r¦   rŸ   s   &&&r   rx   ÚModel.__call__¨   s   € ð
 �z‰z˜&Ó(Ð(r   c                óB   € V P                   P                  P                  # r   )r¦   r™   r„   r   s   &r   ÚlayersÚModel.layers¯   s   € à�z‰z×%Ñ%×,Ñ,Ð,r   )r3   r¦   r   r   )r(   r)   r*   r+   r>   rx   Úpropertyr¬   r-   r.   rz   r{   s   @@r   r¢   r¢   ¡   s2   ù‡ € ÷ó ÷)ò )ð ñ-ó ÷-ð -r   r¢   )ÚsysÚdataclassesr   Útypingr   r   Úmlx.coreÚcorerV   Úmlx.nnr?   Úactivationsr   r<   r   r   Úhf_olmoÚImportErrorÚprintÚexitr
   ÚModuler0   r}   r•   r¢   © r   r   Ú<module>r¼      s©   ðó Ý !ß  å Ý å ß 6ðÛð ô
�ó 
ó ð
ô*D�r—y‘yô DôN �"—)‘)ô  ôF
/�—	‘	ô 
/ô-ˆB�I‰Iö -øðe ô Ù	Ð
>Ô?Ø‡H‚HˆQ†Kðús   ®B Â!B<Â;B<