+
    œ°³j"  ã                   óx   € ^ RI Ht ^RIHtHt ^RIHt ^RIHt ]! RR7      ] ! R R]4      4       4       t	R.t
R	# )
é    )Ústrict)ÚPreTrainedConfigÚremap_legacy_layer_types)ÚRopeParameters)Úauto_docstringzZyphra/Zamba2-2.7B)Ú
checkpointc                   óì   a a€ ] tR t^t oRtRtRRRR/tR.tRtR	t	R
t
^6tRt^@t^t^t^tRtRtRt^tRtRtRtRtRtRtRt^ tRtRt^tRt ^€t!Rt"Rt#Rt$Rt%Rt&^t'^ t(^t)^t*Rt+Rt,V 3R lt-V3R lt.Rt/Vt0V ;t1# )ÚZamba2ConfigaP	  
mamba_ngroups (`int`, *optional*, defaults to 1):
    Number of groups for the evolution matrices of mamba 2.
n_mamba_heads (`int`, *optional*, defaults to 8):
    Number of heads for the evolution matrices of mamba 2.
use_mamba_kernels (`bool`, *optional*, defaults to `True`):
    Flag indicating whether or not to use the fast mamba kernels.
use_conv_bias (`bool`, *optional*, defaults to `True`):
    Whether or not to use bias in the convolution layer of the mixer block.
chunk_size (`int`, *optional*, defaults to 256):
    Size of the chunks that will comprise the sequence.
use_mem_eff_path (`bool`, *optional*, defaults to `False`):
    Whether or not to use the fused conv1d and scan in mamba2 layers.
add_bias_linear (`bool`, *optional*, defaults to `False`):
    Flag indicating whether or not to use bias in various layers
num_mem_blocks (`int`, *optional*, defaults to 1):
    Number of unshared transformer blocks.
use_shared_attention_adapter (`bool`, *optional*, defaults to `False`):
    If True, unshared adapters (formally the same as LoRA but used in the base model) will be added to the q, k, v projectors in the shared attention layers.
adapter_rank (`int`, *optional*, defaults to 128):
    Rank of the adapter in the shared MLP and shared attention layers.
use_mem_rope (`bool`, *optional*, defaults to `False`):
    If True, includes RoPE in the shared attention layers.
num_logits_to_keep (`int` or `None`, *optional*, defaults to 1):
    Number of prompt logits to calculate during generation. If `None`, all logits will be calculated. If an
    integer value, only last `num_logits_to_keep` logits will be calculated. Default is 1 because only the
    logits of the last prompt token are needed for generation. For long sequences, the logits for the entire
    sequence may use a lot of memory so, setting `num_logits_to_keep=1` will reduce memory footprint
    significantly.
use_long_context (`bool`, *optional*, defaults to `False`):
    Activates the context-extended version of Zamba by modifying RoPE.

Example:
```python
>>> from transformers import Zamba2Model, Zamba2Config
>>> # Initializing a Zamba2-2.7B style configuration
>>> configuration = Zamba2Config()
>>> # Initializing a model from the Zamba2-2.7B style configuration
>>> model = Zamba2Model(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
```Úzamba2Úlayer_typesÚlayers_block_typeÚhead_dimÚattention_head_dimÚpast_key_valuesi }  i   i 
  Ngü©ñÒMbP?gš™™™™™¹?g-Cëâ6?Té   FÚgelug        g{®Gáz”?gñhãˆµøä>c                óâ  <€ V P                   ;'       g    ^V P                  ,          V n         ^V P                  ,          V n        ^V P                  ,          V P                  ,          V n        \        V P                  V P                  ,          4      V P                  ,          V n        V P                  '       d   RV n
        V P                  f   V P                  V n        V P                  V P                  ,          V n        V P                  V n        V P                  fe   R.R.^,          R.,           ^,          ,           R.^,          ,           R.,           R.^,          ,           R.,           R.^,          ,           V n        M\        V P                  4      V n        \!        V P                  4       UUu. uF  w  r#VR8X  g   K  VNK  	  uppV n        \$        SV `L  ! R/ VB  R# u uppi )é   i @  NÚlinear_attentionÚhybrid© )Úintermediate_sizeÚhidden_sizeÚattention_hidden_sizeÚnum_attention_headsr   ÚintÚmamba_expandÚn_mamba_headsÚmamba_headdimÚuse_long_contextÚmax_position_embeddingsÚnum_key_value_headsÚkv_channelsÚnum_query_groupsr   r   Ú	enumerateÚhybrid_layer_idsÚsuperÚ__post_init__)ÚselfÚkwargsÚindexÚtypeÚ	__class__s   &,  €Úp/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/zamba2/configuration_zamba2.pyr(   ÚZamba2Config.__post_init__p   s³  ø€ Ø!%×!7Ñ!7×!OÐ!O¸1¸t×?OÑ?OÕ;OˆÔØ%&¨×)9Ñ)9Õ%9ˆÔ"Ø"# d×&6Ñ&6Õ"6¸$×:RÑ:RÕ"RˆÔÜ  ×!2Ñ!2°T×5EÑ5EÕ!EÓFÈ$×J\ÑJ\Õ\ˆÔØ× × Ð Ø+0ˆDÔ(à×#Ñ#Ò+Ø'+×'?Ñ'?ˆDÔ$à×+Ñ+¨t×/GÑ/GÕGˆÔØ $× 8Ñ 8ˆÔð ×!Ñ!Ò)à#Ð$Ø&Ð'¨!Õ+¨x¨jÕ8¸AÕ=õ>à%Ð&¨Õ*õ+ð �*õð &Ð&¨Õ*õ	+ð
 �*õð &Ð&¨Õ*õ+ð Õ"ô &>¸d×>TÑ>TÓ%UˆDÔ"Ü:CÀD×DZÑDZÔ:[Ô pÑ:[©;¨5Ð_cÐgoÑ_o§ Ñ:[Ò pˆÔÜ‰ÒÑ' Ô'ùó !qs   Æ:G+Ç
G+c                óˆ  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[S[,          R,          ;R&   S[ ;R&   S[ ;R&   S[ ;R	&   S[ ;R
&   S[;R&   S[;R&   S[;R&   S[ ;R&   S[;R&   S[;R&   S[ ;R&   S[;R&   S[;R&   S[ R,          ;R&   S[;R&   S[ ;R&   S[ R,          ;R&   S[S[ ,          ;R&   S[ ;R&   S[;R&   S[ ;R&   S[;R&   S[S[,          R,          ;R&   S[;R&   S[;R&   S[;R &   S[ ;R!&   S[ R,          ;R"&   S[ R,          ;R#&   S[ S[S[ ,          ,          R,          ;R$&   S[;R%&   S[;R&&   # )'é   Ú
vocab_sizer!   r   Únum_hidden_layersNr   Úmamba_d_stateÚmamba_d_convr   Úmamba_ngroupsÚtime_step_minÚtime_step_maxÚtime_step_floorr   Úuse_mamba_kernelsÚuse_conv_biasÚ
chunk_sizeÚuse_mem_eff_pathÚadd_bias_linearr   Ú
hidden_actr   r"   Úattention_dropoutÚnum_mem_blocksÚuse_shared_attention_adapterÚadapter_rankÚuse_mem_ropeÚrope_parametersÚinitializer_rangeÚrms_norm_epsÚ	use_cacheÚnum_logits_to_keepÚpad_token_idÚbos_token_idÚeos_token_idr    Útie_word_embeddings)r   ÚlistÚstrÚfloatÚboolr   Údict)ÚformatÚ__classdict__s   "€r.   Ú__annotate__ÚZamba2Config.__annotate__   sd  ø‡ ‚ ñd Ññe ñf !Ñ'ñg ñh Ññi ñj Ññk ñl ™C•y 4Õ'Ñ.ñm ñn Ñño ñp Ññq ñr Ññs ñt Ññu ñv Ñ ñw ñx Ññy ñz Ñ!ñ{ ñ| Ññ} ñ~ Ñ"ñ ñ@ ÑñA ñB ÑñC ñD Ñ"ñE ñF Ñ!ñG ñH ˜T•zÑ(ñI ñJ ÑñK ñL Ñ!ñM ñN ˜t�Ñ*ñO ñP ™s•{Ñ(ñQ ñR ÑñS ñT #'Ñ.ñU ñV ÑñW ñX ÑñY ñZ $¡dÕ*¨TÕ1Ñ8ñ[ ñ\ Ñ#ñ] ñ^ Ññ_ ñ` Ñña ñb Ññc ñd ˜•*Ñ ñe ñf ˜•*Ñ ñg ñh ™™S�	•/ DÕ(Ñ,ñi ñj Ñ"ñk ñl Ñ$òm ó    )
r   r   r&   r   r#   r   r   r!   r"   r$   )2Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚattribute_mapÚkeys_to_ignore_at_inferencer2   r!   r   r3   r   r4   r5   r   r6   r7   r8   r9   r   r:   r;   r<   r=   r>   r   r?   r   r"   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   r    rM   r(   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r-   rT   s   @@r.   r
   r
      sÿ   ù‡ € ñ)ðV €JØ"Ð$7¸ÐEYÐZ€MØ#4Ð"5Ðà€JØ#'ÐØ€KØÐØ*.ÐØ€MØ€LØ€LØ€MØ €MØ€MØ!€OØ€MØ"ÐØ€MØ€JØ"ÐØ!€OØ$(ÐØ€JØ!ÐØ&*ÐØ%(ÐØ€NØ).Ð Ø€LØ€LØ48€OØ#ÐØ€LØ€IØÐØ €LØ €LØ+,€LØ"ÐØ $Ðõ(÷q … rW   r
   N)Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   r   Úmodeling_rope_utilsr   Úutilsr   r
   Ú__all__r   rW   r.   Ú<module>ri      sK   ðõ" /ç MÝ 1Ý #ñ Ð/Ô0Øôs(Ð#ó s(ó ó 1ðs(ðl Ð
‚rW   