Ë
    ÜÓ^jà  ã                   óv   — d Z ddlmZ ddlmZ ddlmZ ddlmZ  ed¬«      e G d	„ d
e«      «       «       Z	d
gZ
y)zOLMoE model configurationé    )Ústricté   )ÚPreTrainedConfig)ÚRopeParameters)Úauto_docstringzallenai/OLMoE-1B-7B-0924)Ú
checkpointc                   óä  ‡ — e Zd ZU dZdZdgZddiZdddddd	d
dœZdddd
dœZdZ	e
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
ed<   dZe
dz  ed<   dZeed<   dZe
ed<   dZeed<   dZeed <   d!Zeed"<   d#Ze
dz  ed$<   dZe
dz  ed%<   d&Ze
ee
   z  dz  ed'<   d(Zeed)<   dZee z  dz  ed*<   d(Z!eed+<   d,Z"ee
z  ed-<   dZ#edz  ed.<   d/Z$e
ed0<   d1Z%e
ed<   d(Z&eed2<   d3Z'eed4<   d(Z(eed5<   ˆ fd6„Z)ˆ xZ*S )7ÚOlmoeConfiga6  
    clip_qkv (`float`, *optional*):
        If not `None`, elements of query, key and value attention states are clipped so that their
        absolute value does not exceed this value.

    ```python
    >>> from transformers import OlmoeModel, OlmoeConfig

    >>> # Initializing a OLMoE 7B A1B style configuration
    >>> configuration = OlmoeConfig()

    >>> # Initializing a model from the OLMoE 7B A1B style configuration
    >>> model = OlmoeModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```
    ÚolmoeÚpast_key_valuesÚnum_local_expertsÚnum_expertsÚcolwise_gather_outputÚrowwise_split_inputÚpacked_colwiseÚrowwiseÚmoe_tp_experts)zlayers.*.self_attn.q_projzlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.o_projú!layers.*.mlp.experts.gate_up_projúlayers.*.mlp.experts.down_projúlayers.*.mlp.expertsÚ	ep_routerÚgrouped_gemm)zlayers.*.mlp.gater   r   r   i€Ä  Ú
vocab_sizei   Úhidden_sizeÚintermediate_sizeé   Únum_hidden_layersÚnum_attention_headsNÚnum_key_value_headsÚsiluÚ
hidden_acti   Úmax_position_embeddingsg{®Gáz”?Úinitializer_rangegñhãˆµøä>Úrms_norm_epsTÚ	use_cacheé   Úpad_token_idÚbos_token_idigÄ  Úeos_token_idFÚtie_word_embeddingsÚrope_parametersÚattention_biasg        Úattention_dropoutÚclip_qkvé   Únum_experts_per_toké@   Úoutput_router_logitsg{®Gáz„?Úrouter_aux_loss_coefÚnorm_topk_probc                 ó^   •— | j                   €| j                  | _         t        ‰| �  di |¤Ž y )N© )r   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €úx/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/olmoe/configuration_olmoe.pyr8   zOlmoeConfig.__post_init__Y   s-   ø€ Ø×#Ñ#Ð+Ø'+×'?Ñ'?ˆDÔ$Ü‰ÑÑ' Ó'ó    )+Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚattribute_mapÚbase_model_tp_planÚbase_model_ep_planr   ÚintÚ__annotations__r   r   r   r   r   r!   Ústrr"   r#   Úfloatr$   r%   Úboolr'   r(   r)   Úlistr*   r+   r   Údictr,   r-   r.   r0   r   r2   r3   r4   r8   Ú__classcell__)r;   s   @r<   r
   r
      s‰  ø… ñð& €JØ#4Ð"5ÐØ(¨-Ð8€Mð &=Ø%<Ø%<Ø%:Ø-=Ø*3Ø 0ñÐð )Ø-;Ø*8Ø 0ñ	Ðð €J�ÓØ€K�ÓØ!Ð�sÓ!ØÐ�sÓØ!Ð˜Ó!Ø&*Ð˜˜t™Ó*Ø€J�ÓØ#'Ð˜SÓ'Ø#Ð�uÓ#Ø€L�%ÓØ€IˆtÓØ €L�#˜‘*Ó Ø#€L�#˜‘*Ó#Ø+0€L�#˜˜S™	‘/ DÑ(Ó0Ø %Ð˜Ó%Ø48€O�^ dÑ*¨TÑ1Ó8Ø €N�DÓ Ø%(Ð�u˜s‘{Ó(Ø!€Hˆe�d‰lÓ!Ø Ð˜Ó Ø€K�ÓØ!&Ð˜$Ó&Ø"&Ð˜%Ó&Ø €N�DÓ ÷(ð (r=   r
   N)rA   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úmodeling_rope_utilsr   Úutilsr   r
   Ú__all__r6   r=   r<   ú<module>rT      sM   ðñ  å .å 3Ý 1Ý #ñ Ð5Ô6ØôE(Ð"ó E(ó ó 7ðE(ðP ˆ/�r=   