
    i                     ~    d dl m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)    )strict   )PreTrainedConfig)RopeParameters)auto_docstring)intervalzinceptionai/Jais-2-8B-Chat)
checkpointc                       e Zd ZU dZdZdgZ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	dz  e
d<   dZee
d<   dZe	e
d<     ed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  dz  e
d-<   d"Z"ee
d.<   dZ#e	dz  e
d/<   d0Z$ee
d1<    fd2Z%d3 Z& xZ'S )4Jais2Configat  
    ```python
    >>> from transformers import Jais2Model, Jais2Config

    >>> # Initializing a Jais2 jais2-7b style configuration
    >>> configuration = Jais2Config()

    >>> # Initializing a model from the jais2-7b style configuration
    >>> model = Jais2Model(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```jais2past_key_valuescolwiserowwise)zlayers.*.self_attn.q_projzlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.o_projzlayers.*.mlp.up_projzlayers.*.mlp.down_proj	input_idsinputs_embedshidden_statesattention_mask)embed_tokenslayersnormi K 
vocab_sizei   hidden_sizei h  intermediate_size    num_hidden_layers   num_attention_headsNnum_key_value_headsrelu2
hidden_acti    max_position_embeddingsg        g      ?)minmaxg{Gz?)defaultinitializer_rangeT	use_cachepad_token_idr   bos_token_idiJ eos_token_idFtie_word_embeddingsrope_parametersattention_biasattention_dropoutmlp_biashead_dimgh㈵>layer_norm_epsc                     | j                   | j                  | j                  z  | _         | j                  | j                  | _        t	        |   di | y )N )r/   r   r   r   super__post_init__)selfkwargs	__class__s     ~/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/jais2/configuration_jais2.pyr4   zJais2Config.__post_init__T   sO    ==  ,,0H0HHDM##+'+'?'?D$''    c                     | j                   | j                  z  dk7  r&t        d| j                    d| j                   d      y)zOPart of `@strict`-powered validation. Validates the architecture of the config.r   zThe hidden size (z6) is not a multiple of the number of attention heads (z).N)r   r   
ValueError)r5   s    r8   validate_architecturez!Jais2Config.validate_architecture\   sS    d666!;#D$4$4#5 622327  <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   r%   floatr&   boolr'   r(   r)   listr*   r+   r   dictr,   r-   r.   r/   r0   r4   r<   __classcell__)r7   s   @r8   r   r      s    J#4"5%.%.%.%. )"+ &(9:#%568IJ!"_$56 JK"s"s!!&*t*J#'S'9xCS9$GuGIt#L#*# L#* +1L#S	/D(1 %%48O^d*T18ND,/sU{T)/HdHcDj NE (r9   r   N)huggingface_hub.dataclassesr   configuration_utilsr   modeling_rope_utilsr   utilsr   utils.type_validatorsr   r   __all__r2   r9   r8   <module>rS      sM   , / 3 1 # - 78B" B  9BJ /r9   