+
    œ°³jX"  ã                   óÐ  € ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^RI	H
t
 ^RIHt ^RIHt ^RIHtHt ^R	IHtHtHt ^R
IHt ^RIHtHtHtHtHtHtHt ]P@                  ! ]!4      t"]! RR7      ] ! R R]4      4       4       t# ! R R]4      t$ ! R R]4      t%R t& ! R R]4      t' ! R R]4      t( ! R R]4      t) ! R R]4      t* ! R R]4      t+ ! R R ]4      t,. R!Ot-R# )"é    )ÚCallableN)Ústrict)ÚTransformersKwargs)ÚCache)ÚALL_ATTENTION_FUNCTIONS)ÚUnpack)Úauto_docstringÚlogging)ÚLlamaPreTrainedModelÚLlamaRMSNormÚeager_attention_forward)Ú
OlmoConfig)ÚOlmoAttentionÚOlmoDecoderLayerÚOlmoForCausalLMÚOlmoForSequenceClassificationÚ	OlmoModelÚOlmoRotaryEmbeddingÚapply_rotary_pos_embzallenai/OLMo-2-1124-7B)Ú
checkpointc                   ó�   a € ] tR t^0t o RtRtRRRRRRRRR	R
RR
RR/tRR.R.3RRR.R.3RR.R.3/tRt]	! 4       t
V 3R ltRtV tR# )ÚOlmo2ConfigaU  
Example:

```python
>>> from transformers import Olmo2Model, Olmo2Config

>>> # Initializing a Olmo2 7B style configuration
>>> configuration = Olmo2Config()

>>> # Initializing a model from the Olmo2 7B style configuration
>>> model = Olmo2Model(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```
Úolmo2zlayers.*.self_attn.q_projÚcolwise_gather_outputzlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.o_projÚrowwise_split_inputzlayers.*.mlp.gate_projÚcolwisezlayers.*.mlp.up_projzlayers.*.mlp.down_projÚrowwiseÚembed_tokensÚ	input_idsÚinputs_embedsÚlayersÚhidden_statesÚattention_maskÚnormgñhãˆµøä>c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )é   Úrms_norm_eps)Úfloat)ÚformatÚ__classdict__s   "€Úh/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/olmo2/modular_olmo2.pyÚ__annotate__ÚOlmo2Config.__annotate__0   s   ø‡ ‚ ñH ÑòI ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚbase_model_tp_planÚbase_model_pp_planr'   ÚAttributeErrorÚclip_qkvÚ__annotate_func__Ú__static_attributes__Ú__classdictcell__©r*   s   @r+   r   r   0   s“   ø‡ € ñð" €Jà#Ð%<Ø#Ð%<Ø#Ð%<Ø#Ð%:Ø  )Ø 	Ø  )ðÐð 	˜+˜¨Ð(9Ð:Ø�OÐ%5Ð6¸Ð8IÐJØ�/Ð" _Ð$5Ð6ðÐð €LÙÓ€H÷K ƒ r.   r   c                   ó&   a € ] tR t^Zt o R tRtV tR# )ÚOlmo2RMSNormc                ó:  € VP                   pVP                  \        P                  4      pVP	                  ^4      P                  RRR7      pV\        P                  ! W0P                  ,           4      ,          pV P                  V,          P                  V4      # )r&   T)Úkeepdiméÿÿÿÿ)	ÚdtypeÚtoÚtorchÚfloat32ÚpowÚmeanÚrsqrtÚvariance_epsilonÚweight)Úselfr"   Úinput_dtypeÚvariances   &&  r+   ÚforwardÚOlmo2RMSNorm.forward[   sw   € Ø#×)Ñ)ˆØ%×(Ñ(¬¯©Ó7ˆØ ×$Ñ$ QÓ'×,Ñ,¨R¸Ð,Ó>ˆØ%¬¯ª°H×?TÑ?TÕ4TÓ(UÕUˆØ—‘˜mÕ+×/Ñ/°Ó<Ð<r.   r/   N)r0   r1   r2   r3   rO   r;   r<   r=   s   @r+   r?   r?   Z   s   ø‡ € ÷=ð =r.   r?   c                   ó   € ] tR t^ctRtR# )ÚOlmo2RotaryEmbeddingr/   N©r0   r1   r2   r3   r;   r/   r.   r+   rR   rR   c   ó   † Ûr.   rR   c                óÌ   € V RRV P                   R,          ^,          13,          pV RV P                   R,          ^,          R13,          p\        P                  ! V) V3RR7      # )z*Rotates half the hidden dims of the input..N)ÚdimrB   )ÚshaperE   Úcat)ÚxÚx1Úx2s   &  r+   Úrotate_halfr\   g   sZ   € à	
ˆ3Ð"�!—'‘'˜"•+ Õ"Ð"Ð"Õ	#€BØ	
ˆ3�—‘˜•˜qÕ Ñ"Ð"Õ	#€BÜ�9Š9�r�c˜2�Y BÔ'Ð'r.   c                   óX   a a€ ] tR t^qt oRV3R lV 3R llltRV3R lR lltRtVtV ;t# )ÚOlmo2Attentionc                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )r&   ÚconfigÚ	layer_idxN©r   Úint)r)   r*   s   "€r+   r,   ÚOlmo2Attention.__annotate__r   s#   ø€ ÷ dñ d™{ð d±s¸Tµzñ dr.   c                ó   <€ \         SV `  WR 7       \        VP                  V P                  ,          VP
                  4      V n        \        VP                  V P                  ,          VP
                  4      V n        R# )©ra   N)	ÚsuperÚ__init__r?   Únum_attention_headsÚhead_dimr'   Úq_normÚnum_key_value_headsÚk_norm©rL   r`   ra   Ú	__class__s   &&&€r+   rh   ÚOlmo2Attention.__init__r   sY   ø€ Ü‰Ñ˜ÐÔ5Ü" 6×#=Ñ#=ÀÇÁÕ#MÈv×ObÑObÓcˆŒÜ" 6×#=Ñ#=ÀÇÁÕ#MÈv×ObÑObÓcˆŽr.   c                ó  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          RS[ P                  R,          RS[R,          RS[S[,          RS[S[ P                  S[ P                  R,          3,          /# )r&   r"   Úposition_embeddingsr#   NÚpast_key_valuesÚkwargsÚreturn)rE   ÚTensorÚtupler   r   r   )r)   r*   s   "€r+   r,   rd   w   s‡   ø€ ÷ *)ñ *)á—|‘|ð*)ñ #¡5§<¡<±·±Ð#=Õ>ð*)ñ Ÿ™ tÕ+ð	*)ñ
  �ð*)ñ Ñ+Õ,ð*)ñ 
‰u�|‰|™UŸ\™\¨DÕ0Ð0Õ	1ñ*)r.   c                óX  € VP                   R R p. VORNV P                  N5pV P                  V P                  V4      4      pV P	                  V P                  V4      4      p	V P                  V4      p
VP                  V4      P                  ^^4      pV	P                  V4      P                  ^^4      p	V
P                  V4      P                  ^^4      p
Vw  r¼\        W‰W¼4      w  r‰Ve   VP                  WšV P                  4      w  rš\        P                  ! V P                  P                  \         4      pT! V VV	V
V3RV P"                  '       g   RMV P$                  RV P&                  /VB w  rïVP(                  ! . VORN5!  P+                  4       pV P-                  V4      pWï3# )NÚdropoutg        ÚscalingrB   )rW   rj   rk   Úq_projrm   Úk_projÚv_projÚviewÚ	transposer   Úupdatera   r   Úget_interfacer`   Ú_attn_implementationr   ÚtrainingÚattention_dropoutrz   ÚreshapeÚ
contiguousÚo_proj)rL   r"   rr   r#   rs   rt   Úinput_shapeÚhidden_shapeÚquery_statesÚ
key_statesÚvalue_statesÚcosÚsinÚattention_interfaceÚattn_outputÚattn_weightss   &&&&&,          r+   rO   ÚOlmo2Attention.forwardw   s£  € ð $×)Ñ)¨#¨2Ð.ˆØ8˜Ð8 bÐ8¨$¯-©-Ñ8ˆà—{‘{ 4§;¡;¨}Ó#=Ó>ˆØ—[‘[ §¡¨]Ó!;Ó<ˆ
Ø—{‘{ =Ó1ˆà#×(Ñ(¨Ó6×@Ñ@ÀÀAÓFˆØ—_‘_ \Ó2×<Ñ<¸QÀÓBˆ
Ø#×(Ñ(¨Ó6×@Ñ@ÀÀAÓFˆà&‰ˆÜ#7¸ÐRUÓ#[Ñ ˆàÒ&Ø'6×'=Ñ'=¸jÐX\×XfÑXfÓ'gÑ$ˆJä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ	%
ð  $Ÿ}Ÿ}˜}‘C°$×2HÑ2Hð	%
ð —L‘Lð	%
ð ñ	%
Ñ!ˆð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—k‘k +Ó.ˆØÐ(Ð(r.   )rm   rk   )N©	r0   r1   r2   r3   rh   rO   r;   r<   Ú__classcell__©ro   r*   s   @@r+   r^   r^   q   s    ù‡ € ÷dõ d÷
*)÷ *)ò *)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# )ÚOlmo2DecoderLayerc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r&   r`   ra   rb   )r)   r*   s   "€r+   r,   ÚOlmo2DecoderLayer.__annotate__¨   s   ø€ ÷ !ñ !™{ð !±sñ !r.   c                óæ   <€ \         SV `  WR 7       \        VP                  VP                  R7      V n        \        VP                  VP                  R7      V n        \        WR7      V n        V =	R# )rf   ©Úeps)r`   ra   N)
rg   rh   r?   Úhidden_sizer'   Úpost_attention_layernormÚpost_feedforward_layernormr^   Ú	self_attnÚinput_layernormrn   s   &&&€r+   rh   ÚOlmo2DecoderLayer.__init__¨   s[   ø€ Ü‰Ñ˜ÐÔ5Ü(4°V×5GÑ5GÈV×M`ÑM`Ô(aˆÔ%Ü*6°v×7IÑ7IÈv×ObÑObÔ*cˆÔ'Ü'¨vÔKˆŒØÒ r.   c                ó.  <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[ P                  S[ P                  3,          R,          RS[S[,          R	S[ P                  /# )
r&   r"   r#   NÚposition_idsrs   Ú	use_cacherr   rt   ru   )rE   rv   Ú
LongTensorr   Úboolrw   r   r   )r)   r*   s   "€r+   r,   r™   ¯   sœ   ø€ ÷ ñ á—|‘|ðñ Ÿ™ tÕ+ðñ ×&Ñ&¨Õ-ð	ñ
  �ðñ ˜$•;ðñ #¡5§<¡<±·±Ð#=Õ>ÀÕEðñ Ñ+Õ,ðñ 
�‰ñr.   c                óÔ   € TpV P                   ! RR VRVRVRVRVRV/VB w  rV P                  V4      pW�,           pTpV P                  V4      pV P                  V4      pW�,           pV# )r"   r#   r¤   rs   r¥   rr   r/   )r    rž   ÚmlprŸ   )
rL   r"   r#   r¤   rs   r¥   rr   rt   ÚresidualÚ_s
   &&&&&&&,  r+   rO   ÚOlmo2DecoderLayer.forward¯   s©   € ð !ˆØŸ>š>ñ 
Ø'ð
à)ð
ð &ð
ð ,ð	
ð
  ð
ð !4ð
ð ñ
Ñˆð ×5Ñ5°mÓDˆØ Õ0ˆð !ˆØŸ™ Ó/ˆØ×7Ñ7¸ÓFˆØ Õ0ˆØÐr.   )rž   rŸ   r    )NNNFNr“   r•   s   @@r+   r—   r—   §   s   ù‡ € ÷!ó !÷÷ ò r.   r—   c                   ó   € ] tR t^ÎtRtR# )ÚOlmo2PreTrainedModelr/   NrS   r/   r.   r+   r®   r®   Î   rT   r.   r®   c                   ó>   a a€ ] tR t^Ôt oV3R lV 3R lltRtVtV ;t# )Ú
Olmo2Modelc                ó    <€ V ^8„  d   QhRS[ /# )r&   r`   )r   )r)   r*   s   "€r+   r,   ÚOlmo2Model.__annotate__Õ   s   ø€ ÷ 
ñ 
™{ñ 
r.   c           	     ó
  <€ \         SV `  V4       \        VP                  VP                  R 7      V n        \        P                  ! \        VP                  4       Uu. uF  p\        W4      NK  	  up4      V n        R# u upi )r›   N)rg   rh   r?   r�   r'   r$   ÚnnÚ
ModuleListÚrangeÚnum_hidden_layersr—   r!   rn   s   && €r+   rh   ÚOlmo2Model.__init__Õ   sb   ø€ Ü‰Ñ˜Ô Ü  ×!3Ñ!3¸×9LÑ9LÔMˆŒ	Ü—m’mÜCHÈ×IaÑIaÔCbÓcÑCb°iÔ˜vÖ1ÑCbÑcó
ˆŽùÚcs   ÁB )r!   r$   )r0   r1   r2   r3   rh   r;   r<   r”   r•   s   @@r+   r°   r°   Ô   s   ù‡ € ÷
÷ 
ó 
r.   r°   c                   ó   € ] tR t^ÞtRtR# )ÚOlmo2ForCausalLMr/   NrS   r/   r.   r+   rº   rº   Þ   rT   r.   rº   c                   ó   € ] tR t^âtRtR# )ÚOlmo2ForSequenceClassificationr/   NrS   r/   r.   r+   r¼   r¼   â   rT   r.   r¼   )r   rº   r¼   r°   r®   ).Úcollections.abcr   rE   Útorch.nnr´   Úhuggingface_hub.dataclassesr   Útransformers.utils.genericr   Úcache_utilsr   Úmodeling_utilsr   Úprocessing_utilsr   Úutilsr	   r
   Úllama.modeling_llamar   r   r   Úolmo.configuration_olmor   Úolmo.modeling_olmor   r   r   r   r   r   r   Ú
get_loggerr0   Úloggerr   r?   rR   r\   r^   r—   r®   r°   rº   r¼   Ú__all__r/   r.   r+   Ú<module>rË      sè   ðõ( %ã Ý Ý .å 9å  Ý 5Ý &ß ,ß ^Ñ ^Ý 0÷÷ ñ ð 
×	Ò	˜HÓ	%€ñ Ð3Ô4Øô# �*ó # ó ó 5ð# ôP=�<ô =ô	Ð.ô 	ò(ô0)�]ô 0)ôl$Ð(ô $ôN	Ð/ô 	ô
�ô 
ô	�ô 	ô	Ð%Bô 	ò‚r.   