+
    œ°³jZ  ã                   óz   € R t ^ RIHt ^RIHt ^RIHt ^RIHt ]]! RRR7       ! R R	]4      4       4       t	R	.t
R
# )zAFMoE model configuration)Ústrict)ÚPreTrainedConfig)ÚRopeParameters)Úauto_docstringzÏ
    AFMoE is an Adaptive Feedforward MoE (Mixture of Experts) model with token-choice routing, shared experts, and a
    hybrid attention mechanism combining sliding window and full attention patterns.
    zarcee-ai/Trinity-Mini)Úcustom_introÚ
checkpointc                   ó  a a€ ] tR t^t oRtRtR.tRR.R.3RRR	.R.3R
R.R.3/tRRRRRRRR/tRt	Rt
RtRt^ t^t^tRt^€tRtRtRtRtRtRtRt^@t^t^tRtRt^tRtRt Rt!Rt"Rt#Rt$Rt%Rt&V 3R  lt'V3R! lt(R"t)Vt*V ;t+# )#ÚAfmoeConfigaá  
global_attn_every_n_layers (`int`, *optional*, defaults to 4):
    The frequency of full attention layers. Every Nth layer will use full attention, while others use sliding
    window attention.
mup_enabled (`bool`, *optional*, defaults to `False`):
    Whether to enable muP (Maximal Update Parametrization) input scaling. When enabled, input embeddings
    are scaled by `sqrt(hidden_size)`.

Example:
```python
>>> from transformers import AfmoeModel, AfmoeConfig

>>> # Initializing an AFMoE configuration
>>> configuration = AfmoeConfig()

>>> # Initializing a model from the afmoe-small-sft-v1 style configuration
>>> model = AfmoeModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```
ÚafmoeÚpast_key_valuesÚembed_tokensÚ	input_idsÚinputs_embedsÚlayersÚhidden_statesÚattention_maskÚnormzlayers.*.mlp.routerÚ	ep_routerz!layers.*.mlp.experts.gate_up_projÚgrouped_gemmzlayers.*.mlp.experts.down_projzlayers.*.mlp.expertsÚmoe_tp_expertsi  i   i   i€  NÚsilui @  g{®Gáz”?gñhãˆµøä>TFg      ð?i   g        c                ó6  <€ V P                   fV   \        V P                  4       Uu. uF0  p\        V^,           V P                  ,          4      '       d   RMRNK2  	  upV n         V P
                  f   V P                  V n        \        SV `   ! R/ VB  R # u upi )NÚsliding_attentionÚfull_attention© )	Úlayer_typesÚrangeÚnum_hidden_layersÚboolÚglobal_attn_every_n_layersÚnum_key_value_headsÚnum_attention_headsÚsuperÚ__post_init__)ÚselfÚkwargsÚiÚ	__class__s   &, €Ún/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/afmoe/configuration_afmoe.pyr#   ÚAfmoeConfig.__post_init__f   s�   ø€ Ø×ÑÒ#ô ˜t×5Ñ5Ô6ó á6�Aô (,¨Q°­U°d×6UÑ6UÕ,U×'VÒ'VÑ#Ð\lÒlÙ6ñ ˆDÔð
 ×#Ñ#Ò+Ø'+×'?Ñ'?ˆDÔ$ä‰ÒÑ' Ô'ùò s   §6Bc                ó²  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ R,          ;R&   S[ ;R&   S[ R,          ;R	&   S[ R,          ;R
&   S[;R&   S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[R,          ;R&   S[;R&   S[ R,          ;R&   S[ R,          ;R&   S[S[,          R,          ;R&   S[S[ ,          R,          ;R&   S[R,          ;R&   S[ S[S[ ,          ,          R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[;R&   # ) é   Ú
vocab_sizeÚhidden_sizeÚintermediate_sizeÚmoe_intermediate_sizer   NÚnum_dense_layersr!   r    Úhead_dimÚ
hidden_actÚmax_position_embeddingsÚinitializer_rangeÚrms_norm_epsÚ	use_cacheÚtie_word_embeddingsÚrope_parametersÚnum_expertsÚnum_experts_per_tokÚnum_shared_expertsÚroute_scaleÚoutput_router_logitsr   Úsliding_windowr   Úattention_dropoutÚmup_enabledÚeos_token_idÚpad_token_idÚbos_token_idÚattention_bias)ÚintÚstrÚfloatr   r   ÚdictÚlist)ÚformatÚ__classdict__s   "€r(   Ú__annotate__ÚAfmoeConfig.__annotate__   s   ø‡ ‚ ñ` Ñña ñb Ññc ñd Ñ!ñe ñf Ñ%ñg ñh Ññi ñj ˜D•jÑ$ñk ñl Ñ!ñm ñn ˜t�Ñ*ño ñp �D�jÑñq ñr Ññs ñt !Ñ(ñu ñv Ñ#ñw ñx Ññy ñz Ññ{ ñ| Ñ%ñ} ñ~ $¡dÕ*¨TÕ1Ñ8ñ ñ@ �t•Ñ ñA ñB ˜t�Ñ'ñC ñD ˜d�
Ñ&ñE ñF ˜•Ñ#ñG ñH Ñ&ñI ñJ !$ d¥
Ñ.ñK ñL ˜$•JÑ%ñM ñN ‘c•˜TÕ!Ñ(ñO ñP ™s•{ TÕ)Ñ/ñQ ñR ˜•Ñ$ñS ñT ™™S�	•/ DÕ(Ñ/ñU ñV ˜•*Ñ#ñW ñX ˜•*Ñ#ñY ñZ Ñ ò[ ó    )r   r    ),Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_pp_planÚbase_model_ep_planr,   r-   r.   r/   r   r0   r!   r    r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r   r>   r   r?   r@   rA   rB   rC   rD   r#   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r'   rK   s   @@r(   r	   r	      s(  ù‡ € ñð. €JØ#4Ð"5Ðð 	˜+˜¨Ð(9Ð:Ø�OÐ%5Ð6¸Ð8IÐJØ�/Ð" _Ð$5Ð6ðÐð 	˜{Ø+¨^Ø(¨.ØÐ 0ð	Ðð €JØ€KØ!ÐØ!%ÐØÐØ#$ÐØ!ÐØ&*ÐØ€HØ€JØ#(ÐØ#ÐØ€LØ€IØ %ÐØ48€OØ €KØ&'ÐØ%&ÐØ #€KØ!&ÐØ-.ÐØ!%€NØ$(€KØ,/ÐØ$€KØ+/€LØ#€LØ#€LØ €Nõ
(÷_ … rN   r	   N)rS   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úmodeling_rope_utilsr   Úutilsr   r	   Ú__all__r   rN   r(   Ú<module>ra      sV   ðñ  å .å 3Ý 1Ý #ð Ùðð 'ôôQ(Ð"ó Q(óó ðQ(ðh ˆ/‚rN   