+
    œ°³j@2  ã                   óâ  € ^ RI Ht ^ RI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 ^RIHt ^RIHt ^R	IHtHt ^R
IHt ^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%H&t&H't'H(t(H)t)H*t*H+t+ ]! RR7      ] ! R R]!4      4       4       t, ! R R])4      t- ! R R]#4      t. ! R R]$4      t/ ! R R]4      t0 ! R R](4      t1 ! R R]'4      t2 ! R  R!]%4      t3 ! R" R#]&4      t4. R$Ot5R# )%é    )ÚCallableN)Ústrict)Úinitialization)ÚCacheÚDynamicCache)Úcreate_causal_maskÚ!create_sliding_window_causal_mask)ÚBaseModelOutputWithPast)ÚROPE_INIT_FUNCTIONS)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)Úauto_docstring)ÚTransformersKwargsÚmaybe_autocast)ÚGemma3RotaryEmbedding)ÚOlmo2Config)	ÚOlmo2AttentionÚOlmo2DecoderLayerÚOlmo2ForCausalLMÚOlmo2ForSequenceClassificationÚ
Olmo2ModelÚOlmo2PreTrainedModelÚOlmo2RMSNormÚapply_rotary_pos_embÚeager_attention_forwardzallenai/Olmo-3-7B-Instruct)Ú
checkpointc                   ó¨   a a€ ] tR t^-t oRtRt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
RtV 3R ltR tV3R ltRtVtV ;t# )ÚOlmo3ConfigaU  
Example:

```python
>>> from transformers import Olmo3Model, Olmo3Config

>>> # Initializing a Olmo3 7B style configuration
>>> configuration = Olmo3Config()

>>> # Initializing a model from the Olmo3 7B style configuration
>>> model = Olmo3Model(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```
Úolmo3g    €„AÚpast_key_valuesz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Únormi   Nc                ó  <€ V P                   f   V P                  V n         V P                  fA   \        V P                  4       Uu. uF  q"^,           ^,          ^ 8w  d   RMRNK  	  upV n        \
        SV `  ! R/ VB  R # u upi )NÚsliding_attentionÚfull_attention© )Únum_key_value_headsÚnum_attention_headsÚlayer_typesÚrangeÚnum_hidden_layersÚsuperÚ__post_init__)ÚselfÚkwargsÚiÚ	__class__s   &, €Úh/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/olmo3/modular_olmo3.pyr7   ÚOlmo3Config.__post_init__V   s~   ø€ Ø×#Ñ#Ò+Ø'+×'?Ñ'?ˆDÔ$à×ÑÒ#äW\Ð]a×]sÑ]sÔWtó ÙWtÐRS¨A­°¥{°aÔ'7Ñ#Ð=MÒMÑWtñ ˆDÔô 	‰ÒÑ' Ô'ùò	 s   Á!Bc                ó˜  € VP                  R R4      pRRR/RRR//pV P                  e   V P                  MTV n        Ve#   V P                  R,          P                  V4       V P                  P                  R4      f   RR/V P                  R&   V P                  R,          P	                  RVP                  RV P
                  4      4       V P                  P                  R4      f   RR/V P                  R&   V P                  R,          P	                  RVP                  RV P
                  4      4       V P                  4        V# )Úrope_scalingNr.   Ú	rope_typeÚdefaultr/   Ú
rope_theta)ÚpopÚrope_parametersÚupdateÚgetÚ
setdefaultÚdefault_thetaÚstandardize_rope_params)r8   r9   r?   Údefault_rope_paramss   &,  r<   Úconvert_rope_params_to_dictÚ'Olmo3Config.convert_rope_params_to_dicta   s>  € Ø—z‘z .°$Ó7ˆð
   +¨yÐ!9Ø˜{¨IÐ6ð
Ðð 8<×7KÑ7KÒ7W˜t×3Ò3Ð]pˆÔØÒ#Ø× Ñ Ð!1Õ2×9Ñ9¸,ÔGð ×Ñ×#Ñ#Ð$4Ó5Ò=Ø6AÀ9Ð5MˆD× Ñ Ð!1Ñ2Ø×ÑÐ-Õ.×9Ñ9¸,ÈÏ
É
ÐS_Ðae×asÑasÓHtÔuØ×Ñ×#Ñ#Ð$7Ó8Ò@Ø9DÀiÐ8PˆD× Ñ Ð!4Ñ5Ø×ÑÐ0Õ1×<Ñ<Ø˜&Ÿ*™* \°4×3EÑ3EÓFô	
ð
 	×$Ñ$Ô&Øˆó    c                ó^   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[S[,          R,          ;R&   # )é   NÚsliding_windowr3   )ÚintÚlistÚstr)ÚformatÚ__classdict__s   "€r<   Ú__annotate__ÚOlmo3Config.__annotate__-   s0   ø‡ ‚ ñL ˜$•JÑ%ñM ñN ‘c•˜TÕ!Ñ(òO rM   )r3   r1   rD   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typerH   Úkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planrP   r3   r7   rK   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r;   rU   s   @@r<   r   r   -   s¨   ù‡ € ñð" €JØ€MØ#4Ð"5Ðà#Ð%<Ø#Ð%<Ø#Ð%<Ø#Ð%:Ø  )Ø 	Ø  )ðÐð 	˜+˜¨Ð(9Ð:Ø�OÐ%5Ð6¸Ð8IÐJØ�/Ð" _Ð$5Ð6ðÐð "&€NØ$(€Kõ	(ò÷i … rM   r   c                   ó   € ] tR t^}tRtR# )ÚOlmo3RMSNormr0   N©rX   rY   rZ   r[   rb   r0   rM   r<   rg   rg   }   ó   † ÛrM   rg   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# )ÚOlmo3Attentionc                ó&   <€ V ^8„  d   QhRS[ RS[/# )rO   ÚconfigÚ	layer_idx)r   rQ   )rT   rU   s   "€r<   rV   ÚOlmo3Attention.__annotate__„   s   ø€ ÷ lñ l™{ð l±sñ lrM   c                ó®   <€ \         SV `  WR 7       VP                  V,          V n        V P                  R8X  d   VP                  V n        R# RV n        R# ))rn   r.   N)r6   Ú__init__r3   Úattention_typerP   ©r8   rm   rn   r;   s   &&&€r<   rq   ÚOlmo3Attention.__init__„   sJ   ø€ Ü‰Ñ˜ÐÔ5Ø$×0Ñ0°Õ;ˆÔØ7;×7JÑ7JÐNaÔ7a˜f×3Ñ3ˆÖÐgkˆÖrM   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,          /# )rO   r*   Úposition_embeddingsr+   Nr!   r9   Úreturn)ÚtorchÚTensorÚtupler   r   r   )rT   rU   s   "€r<   rV   ro   ‰   s‡   ø€ ÷ +)ñ +)á—|‘|ð+)ñ #¡5§<¡<±·±Ð#=Õ>ð+)ñ Ÿ™ tÕ+ð	+)ñ
  �ð+)ñ Ñ+Õ,ð+)ñ 
‰u�|‰|™UŸ\™\¨DÕ0Ð0Õ	1ñ+)rM   c           	     óp  € 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&                  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        ÚscalingrP   éÿÿÿÿ)ÚshapeÚhead_dimÚq_normÚq_projÚk_normÚk_projÚv_projÚviewÚ	transposer   rE   rn   r   Úget_interfacerm   Ú_attn_implementationr   ÚtrainingÚattention_dropoutr}   rP   ÚreshapeÚ
contiguousÚo_proj)r8   r*   rv   r+   r!   r9   Úinput_shapeÚhidden_shapeÚquery_statesÚ
key_statesÚvalue_statesÚcosÚsinÚattention_interfaceÚattn_outputÚattn_weightss   &&&&&,          r<   ÚforwardÚOlmo3Attention.forward‰   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 +Ó.ˆØÐ(Ð(rM   )rr   rP   ©N©	rX   rY   rZ   r[   rq   r™   rb   rc   rd   re   s   @@r<   rk   rk   ƒ   s    ù‡ € ÷ló l÷
+)÷ +)ò +)rM   rk   c                   ó   € ] tR t^·tRtR# )ÚOlmo3DecoderLayerr0   Nrh   r0   rM   r<   rž   rž   ·   ri   rM   rž   c                   ód   a a€ ] tR t^»t oRV3R lV 3R llltRV3R lV 3R llltR tRtVtV ;t	# )	ÚOlmo3RotaryEmbeddingc                ó    <€ V ^8„  d   QhRS[ /# ©rO   rm   ©r   )rT   rU   s   "€r<   rV   Ú!Olmo3RotaryEmbedding.__annotate__¼   s   ø€ ÷ !ñ !™{ñ !rM   c                ó&   <€ \         SV `  V4       R # r›   )r6   rq   )r8   rm   Údevicer;   s   &&&€r<   rq   ÚOlmo3RotaryEmbedding.__init__¼   s   ø€ Ü‰Ñ˜Ö rM   c                ód   <€ V ^8„  d   QhRS[ RS[R,          RS[S[P                  S[3,          /# )rO   rm   Ú
layer_typeNrw   )r   rS   rz   rx   ry   Úfloat)rT   rU   s   "€r<   rV   r¤   ¿   s<   ø€ ÷ Kñ KÙðKÙ69¸DµjðKá	‰u�|‰|™UÐ"Õ	#ñKrM   c                ó"   <€ \         SV `  W4      # r›   )r6   Úcompute_default_rope_parameters)rm   r¦   r©   r9   r;   s   &&&,€r<   r¬   Ú4Olmo3RotaryEmbedding.compute_default_rope_parameters¿   s   ø€ ô ‰wÑ6°vÓJÐJrM   c                óö  € \        W R 24      p\        W R24      pVR	,          P                  VP                  ^ ,          R
^4      P                  \        P
                  VP                  R7      pVR,          P                  4       p\        VP                  P                  \        4      '       d2   VP                  P                  R8w  d   VP                  P                  MRp\        VRR7      ;_uu_ 4        Wg,          P                  ^^4      p	\        P                  ! W™3R
R7      p
V
P                  4       V,          pV
P                  4       V,          pRRR4       W¼3#   + '       g   i     XX3# ; i)Ú	_inv_freqÚ_attention_scalingN)Údtyper¦   ÚmpsÚcpuF)Údevice_typeÚenabled)Údim)NºNNNNr~   )r·   Nr·   )ÚgetattrÚexpandr   Útorx   rª   r¦   Ú
isinstanceÚtyperS   r   r‡   Úcatr”   r•   )r8   ÚxÚposition_idsr©   Úinv_freqÚattention_scalingÚinv_freq_expandedÚposition_ids_expandedr´   ÚfreqsÚembr”   r•   s   &&&&         r<   r™   ÚOlmo3RotaryEmbedding.forwardÄ   s1  € ä˜4 <¨yÐ!9Ó:ˆÜ# D¨LÐ8JÐ*KÓLÐð �]Õ#×*Ñ*¨<×+=Ñ+=¸aÕ+@À"ÀaÓH×KÑKÔRW×R]ÑR]Ðfg×fnÑfnÐKÓoð 	ð !-¨ZÕ 8× >Ñ >Ó @Ðä'1°!·(±(·-±-Ä×'EÒ'EÈ!Ï(É(Ï-É-Ð[`ÔJ`�a—h‘h—m’mÐfkˆÜ¨¸U×CÖCØ&Õ>×IÑIÈ!ÈQÓOˆEÜ—)’)˜U˜N°Ô3ˆCØ—'‘'“)Ð/Õ/ˆCØ—'‘'“)Ð/Õ/ˆC÷	 Dð ˆxˆ÷ DÖCð �Cˆxˆús   Ã:A E%Å%E8	r0   r›   )NN)
rX   rY   rZ   r[   rq   r¬   r™   rb   rc   rd   re   s   @@r<   r    r    »   s%   ù‡ € ÷!õ !÷Kõ K÷
ò rM   r    c                   ó&   a € ] tR t^Øt o R tRtV tR# )ÚOlmo3PreTrainedModelc                óÄ  € \         P                  ! V4       \        V\        4      '       d´   VP                   F¡  pVP
                  pVP                  V,          R 8w  d   \        VP                  V,          ,          pV! VP                  VR7      w  rE\        P                  ! \        W R24      V4       \        P                  ! \        W R24      V4       K£  	  R# R# )rA   )r©   r¯   Ú_original_inv_freqN)r   Ú_init_weightsr»   r    r3   r¬   r@   r   rm   ÚinitÚcopy_r¸   )r8   Úmoduler©   Úrope_init_fnÚcurr_inv_freqÚ_s   &&    r<   rË   Ú"Olmo3PreTrainedModel._init_weightsÙ   s®   € Ü×%Ò% fÔ-Ü�fÔ2×3Ò3Ø$×0Ô0�
Ø%×EÑE�Ø×#Ñ# JÕ/°9Ô<Ü#6°v×7GÑ7GÈ
Õ7SÕ#T�LÙ#/°·±È*Ô#UÑ �Ü—
’
œ7 6¨\¸Ð+CÓDÀmÔTÜ—
’
œ7 6¨\Ð9KÐ+LÓMÈ}Ö]ó 1ñ 4rM   r0   N)rX   rY   rZ   r[   rË   rb   rc   )rU   s   @r<   rÈ   rÈ   Ø   s   ø‡ € ÷	^ð 	^rM   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# )Ú
Olmo3Modelc                ó    <€ V ^8„  d   QhRS[ /# r¢   r£   )rT   rU   s   "€r<   rV   ÚOlmo3Model.__annotate__é   s   ø€ ÷ >ñ >™{ñ >rM   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        \        VR7      V n        R# u upi ))Úeps©rm   N)r6   rq   rg   Úhidden_sizeÚrms_norm_epsr,   ÚnnÚ
ModuleListr4   r5   rž   r)   r    Ú
rotary_embrs   s   && €r<   rq   ÚOlmo3Model.__init__é   ss   ø€ Ü‰Ñ˜Ô Ü  ×!3Ñ!3¸×9LÑ9LÔMˆŒ	Ü—m’mÜCHÈ×IaÑIaÔCbÓcÑCb°iÔ˜vÖ1ÑCbÑcó
ˆŒô /°fÔ=ˆŽùò ds   ÁBc                óþ   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[R,          RS[S[,          R	S[/# )
rO   r'   Nr+   r¿   r!   r(   Ú	use_cacher9   rw   )	rx   Ú
LongTensorry   r   ÚFloatTensorÚboolr   r   r
   )rT   rU   s   "€r<   rV   rÖ   ñ   s“   ø€ ÷ ;
ñ ;
á×#Ñ# dÕ*ð;
ñ Ÿ™ tÕ+ð;
ñ ×&Ñ&¨Õ-ð	;
ñ
  �ð;
ñ ×(Ñ(¨4Õ/ð;
ñ ˜$•;ð;
ñ Ñ+Õ,ð;
ñ 
!ñ;
rM   c                óÊ  € VR J VR J,          '       d   \        R4      hVf   V P                  V4      pV'       d   Vf   \        V P                  R7      pVfb   Ve   VP	                  4       M^ p\
        P                  ! VP                  ^,          VP                  R7      V,           pVP                  ^ 4      p\        T;p	\        4      '       g/   RV P                  RVRVRVRV/p
R	\        R/ V
B R
\        R/ V
B /p	Tp/ p\        V P                  P                  4       F  pV P!                  W³V4      WÍ&   K  	  \#        V P$                  R V P                  P&                   4       FX  w  rïV! V3RW�P                  P                  V,          ,          RVRVRWÀP                  P                  V,          ,          /VB pKZ  	  V P)                  V4      p\+        VVR7      # )Nz:You must specify exactly one of input_ids or inputs_embedsrÙ   )r¦   rm   r(   r+   r!   r¿   r/   r.   rv   )Úlast_hidden_stater!   r0   )Ú
ValueErrorr&   r   rm   Úget_seq_lengthrx   Úaranger   r¦   Ú	unsqueezer»   Údictr   r	   Úsetr3   rÞ   Ú	enumerater)   r5   r,   r
   )r8   r'   r+   r¿   r!   r(   rá   r9   Úpast_seen_tokensÚcausal_mask_mappingÚmask_kwargsr*   rv   r©   r:   Údecoder_layers   &&&&&&&,        r<   r™   ÚOlmo3Model.forwardñ   sñ  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàÒ Ø*.×*;Ñ*;¸IÓ*FˆMç˜Ò0Ü*°$·+±+Ô>ˆOàÒØCRÒC^˜×=Ñ=Ô?ÐdeÐÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\Ð_oÕoˆLØ'×1Ñ1°!Ó4ˆLô °Ð?Ð-Ä×FÒFð ˜$Ÿ+™+Ø Ø  .Ø! ?Ø ðˆKð !Ô"4Ñ"C°{Ñ"CØ#Ô%FÑ%UÈÑ%Uð#Ðð
 &ˆØ ÐÜ˜dŸk™k×5Ñ5Ö6ˆJØ.2¯o©o¸mÐ[eÓ.fÐÓ+ñ 7ô !*¨$¯+©+Ð6U¸¿¹×8UÑ8UÐ*VÖ WÑˆAÙ)Øñà2·;±;×3JÑ3JÈ1Õ3MÕNðð *ðð !0ð	ð
 %8¿¹×8OÑ8OÐPQÕ8RÕ$Sðð ñŠMñ !Xð Ÿ	™	 -Ó0ˆÜ&Ø+Ø+ô
ð 	
rM   )r)   r,   rÞ   )NNNNNNrœ   re   s   @@r<   rÔ   rÔ   è   s   ù‡ € ÷>ó >÷;
÷ ;
ò ;
rM   rÔ   c                   ó   € ] tR tRtRtR# )ÚOlmo3ForCausalLMi/  r0   Nrh   r0   rM   r<   rô   rô   /  ri   rM   rô   c                   ó   € ] tR tRtRtR# )ÚOlmo3ForSequenceClassificationi3  r0   Nrh   r0   rM   r<   rö   rö   3  ri   rM   rö   )r   rô   rö   rÔ   rÈ   )6Úcollections.abcr   rx   Útorch.nnrÜ   Úhuggingface_hub.dataclassesr   Ú r   rÌ   Úcache_utilsr   r   Úmasking_utilsr   r	   Úmodeling_outputsr
   Úmodeling_rope_utilsr   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   Úutils.genericr   r   Úgemma3.modeling_gemma3r   Úolmo2.configuration_olmo2r   Úolmo2.modeling_olmo2r   r   r   r   r   r   r   r   r   r   rg   rk   rž   r    rÈ   rÔ   rô   rö   Ú__all__r0   rM   r<   Ú<module>r     sâ   ðõ %ã Ý Ý .å &ß .ß RÝ 7Ý 6ß FÝ &Ý #ß ?Ý :Ý 3÷
÷ 
õ 
ñ Ð7Ô8ØôK�+ó Kó ó 9ðKô\	�<ô 	ô1)�^ô 1)ôh	Ð)ô 	ôÐ0ô ô:
^Ð/ô 
^ô D
�ô D
ôN	Ð'ô 	ô	Ð%Cô 	ò‚rM   