§
    ‚Štj—  ã                   óŒ   — 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 )é    )Ústricté   )ÚPreTrainedConfig)ÚRopeParameters)Úauto_docstringzLGAI-EXAONE/EXAONE-4.0-32B)Ú
checkpointc            
       óÞ  ‡ — e Zd ZU dZdZdgZddddddddddœ	Zdgd	gfd
dgd
gfd
gd
gf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	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	ee	         z  d"z  e
d%<   d"Ze	d"z  e
d&<   d'Zee
d(<   d"Zeez  d"z  e
d)<   d*Z ee	z  e
d+<   dZ!e	d"z  e
d,<   d-Z"ee	z  d"z  e
d.<   d"Z#ee         d"z  e
d/<   ˆ fd0„Z$ˆ xZ%S )1ÚExaone4Configa~  
    sliding_window_pattern (`str`, *optional*):
        The pattern to use for sliding window attention. Can be one of:
            - `None`: No sliding window attention is used
            - `int`: Every `sliding_window` layers, use global attention, else use local attention.
            - `str`: A sequence of "L" (local attention) and "G" (global attention) characters that defines the
              attention pattern. The pattern starts from layer 0 and repeats every `sliding_window` layers. The
              final layer always uses global attention regardless of the pattern.
        For instance, sliding_window_pattern="LLLG" same as sliding_window=4, which means:
            - Layer 0, 1, 2: local attention,
            - Layer 3: global attention,
            ...(repeated)

    Example:

    ```python
    >>> from transformers import Exaone4Model, Exaone4Config

    >>> # Initializing a EXAONE configuration
    >>> configuration = Exaone4Config()

    >>> # Initializing a model from configuration
    >>> model = Exaone4Model(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úexaone4Úpast_key_valuesÚcolwiseÚreplicated_with_grad_allreduceÚrowwise)	zlayers.*.self_attn.q_projzlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.q_normzlayers.*.self_attn.k_normzlayers.*.self_attn.o_projzlayers.*.mlp.gate_projzlayers.*.mlp.up_projzlayers.*.mlp.down_projÚ	input_idsÚinputs_embedsÚhidden_statesÚattention_mask)Úembed_tokensÚlayersÚnormi � Ú
vocab_sizei   Úhidden_sizei @  Úintermediate_sizeé    Únum_hidden_layersÚnum_attention_headsÚnum_key_value_headsÚsiluÚ
hidden_acti   Úmax_position_embeddingsg{®Gáz”?Úinitializer_rangegñhãˆµøä>Úrms_norm_epsTÚ	use_cacher   NÚbos_token_idé   Úeos_token_idÚpad_token_idFÚtie_word_embeddingsÚrope_parametersg        Úattention_dropoutÚsliding_windowé   Úsliding_window_patternÚlayer_typesc                 ó°   •‡ — ‰ j         €d‰ _        ‰ j        €%ˆ fd„t          ‰ j        ¦  «        D ¦   «         ‰ _         t          ¦   «         j        di |¤Ž d S )Nr   c                 óP   •— g | ]"}|d z   ‰j         z  dk    r|‰j        k     rdnd‘Œ#S )é   r   Úsliding_attentionÚfull_attention)r-   r   )Ú.0ÚiÚselfs     €úo/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/exaone4/configuration_exaone4.pyú
<listcomp>z/Exaone4Config.__post_init__.<locals>.<listcomp>h   sW   ø€ ð  ð  ð  ð ð ˜‘U˜tÔ:Ñ;¸qÒ@Ð@ÀQÈÔI_ÒE_ÐE_ð $Ð#à%ð ð  ð  ó    © )r+   r-   r.   Úranger   ÚsuperÚ__post_init__)r6   ÚkwargsÚ	__class__s   ` €r7   r=   zExaone4Config.__post_init__d   s{   øø€ ØÔÐ&Ø*+ˆDÔ'ØÔÐ#ð ð  ð  ð  õ ˜tÔ5Ñ6Ô6ð	 ñ  ô  ˆDÔð 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'r9   )&Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planr   ÚintÚ__annotations__r   r   r   r   r   r   Ústrr    r!   Úfloatr"   r#   Úboolr$   r&   Úlistr'   r(   r)   r   Údictr*   r+   r-   r.   r=   Ú__classcell__)r?   s   @r7   r
   r
      s=  ø€ € € € € € ðð ð8 €JØ#4Ð"5Ðð &/Ø%.Ø%.Ø%EØ%EØ%.Ø"+Ø )Ø"+ð
ð 
Ðð &˜¨Ð(9Ð:Ø#Ð%5Ð6¸Ð8IÐJØ!Ð" _Ð$5Ð6ðð Ðð €J�ÐÐÑØ€K�ÐÐÑØ"Ð�sÐ"Ð"Ñ"ØÐ�sÐÐÑØ!Ð˜Ð!Ð!Ñ!Ø!Ð˜Ð!Ð!Ñ!Ø€J�ÐÐÑØ#'Ð˜SÐ'Ð'Ñ'Ø#Ð�uÐ#Ð#Ñ#Ø€L�%ÐÐÑØ€IˆtÐÐÑØ €L�#˜‘*Ð Ð Ñ Ø+,€L�#˜˜Sœ	‘/ DÑ(Ð,Ð,Ñ,Ø#€L�#˜‘*Ð#Ð#Ñ#Ø %Ð˜Ð%Ð%Ñ%Ø48€O�^ dÑ*¨TÑ1Ð8Ð8Ñ8Ø%(Ð�u˜s‘{Ð(Ð(Ñ(Ø!%€N�C˜$‘JÐ%Ð%Ñ%Ø/0Ð˜C #™I¨Ñ,Ð0Ð0Ñ0Ø$(€K��c”˜TÑ!Ð(Ð(Ñ(ð(ð (ð (ð (ð (ð (ð (ð (ð (r9   r
   N)
Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úmodeling_rope_utilsr   Úutilsr   r
   Ú__all__r:   r9   r7   ú<module>rU      s¶   ðð* /Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø #Ð #Ð #Ð #Ð #Ð #ð €Ð7Ð8Ñ8Ô8ØðQ(ð Q(ð Q(ð Q(ð Q(Ð$ñ Q(ô Q(ñ „ñ 9Ô8ðQ(ðh Ð
€€€r9   