§
    ‚Štjà  ã                   ó�   — 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
dS )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          ¦   «         j        di |¤Ž d S )N© )r   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €úk/var/www/html/CA-Chatbot/venv/lib/python3.11/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
      sU  ø€ € € € € € ðð ð& €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Ð0Ñ0Ø %Ð˜Ð%Ð%Ñ%Ø48€O�^ dÑ*¨TÑ1Ð8Ð8Ñ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      s»   ðð  Ð à .Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø #Ð #Ð #Ð #Ð #Ð #ð €Ð5Ð6Ñ6Ô6ØðE(ð E(ð E(ð E(ð E(Ð"ñ E(ô E(ñ „ñ 7Ô6ðE(ðP ˆ/€€€r=   