§
    ‚ŠtjE  ã                   óê   — 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
 e	d¬¦  «        e G d„ de¦  «        ¦   «         ¦   «         Zdd
gZdS )é    )ÚAny)Ústricté   )ÚPreTrainedConfig)ÚRopeParameters)Úauto_docstringzgoogle/t5_gemma_module-7b)Ú
checkpointc                   ó,  ‡ — e Zd ZU dZdZdgZ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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
d.<   d/Z"e	ez  d%z  e
d0<   dZ#e	e
d1<   d2Z$e	d%z  e
d3<   d%Z%ee         d%z  e
d4<   d5Z&ed%z  e
d6<   d7Z'ed%z  e
d8<   d-Z(ee
d9<   ˆ fd:„Z)d;„ Z*ˆ xZ+S )<ÚT5GemmaModuleConfigaA  
    query_pre_attn_scalar (`float`, *optional*, defaults to 256):
        scaling factor used on the attention scores
    final_logit_softcapping (`float`, *optional*, defaults to 30.0):
        scaling factor when applying tanh softcapping on the logits.
    attn_logit_softcapping (`float`, *optional*, defaults to 50.0):
        scaling factor when applying tanh softcapping on the attention scores.

    ```python
    >>> from transformers import T5GemmaModuleModel, T5GemmaModuleConfig
    >>> # Initializing a T5GemmaModule t5_gemma_module-7b style configuration
    >>> configuration = T5GemmaModuleConfig()
    >>> # Initializing a model from the t5_gemma_module-7b style configuration
    >>> model = T5GemmaModuleModel(configuration)
    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Út5_gemma_moduleÚ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.gate_projzlayers.*.mlp.up_projzlayers.*.mlp.down_projÚ	input_idsÚinputs_embedsÚhidden_statesÚattention_mask)Úembed_tokensÚlayersÚnormé è Ú
vocab_sizei 	  Úhidden_sizei $  Úintermediate_sizeé   Únum_hidden_layersé   Únum_attention_headsé   Únum_key_value_headsé   Úhead_dimÚgelu_pytorch_tanhÚhidden_activationi    Úmax_position_embeddingsg{®Gáz”?Úinitializer_rangeg�íµ ÷Æ°>Úrms_norm_epsTÚ	use_cacher   NÚpad_token_idé   Úeos_token_idé   Úbos_token_idÚtie_word_embeddingsÚrope_parametersFÚattention_biasç        Úattention_dropoutÚquery_pre_attn_scalari   Úsliding_windowÚlayer_typesg      >@Úfinal_logit_softcappingg      I@Úattn_logit_softcappingÚ
is_decoderc                 óŽ   •— | j         €#d„ t          | j        ¦  «        D ¦   «         | _          t          ¦   «         j        di |¤Ž d S )Nc                 ó@   — g | ]}t          |d z   dz  ¦  «        rdnd‘ŒS )r*   r,   Úsliding_attentionÚfull_attention)Úbool)Ú.0Úis     úo/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/t5gemma/configuration_t5gemma.pyú
<listcomp>z5T5GemmaModuleConfig.__post_init__.<locals>.<listcomp>a   sA   € ð  ð  ð  ØST¥t¨Q°©U°a©KÑ'8Ô'8ÐNÐ#Ð#Ð>Nð ð  ð  ó    © )r5   Úranger   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €r@   rF   z!T5GemmaModuleConfig.__post_init___   s^   ø€ ØÔÐ#ð ð  ÝX]Ð^bÔ^tÑXuÔXuð ñ  ô  ˆDÔð 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'rB   c                 ól   — | j         | j        z  dk    r t          d| j         › d| j        › d�¦  «        ‚dS )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)rG   s    r@   Úvalidate_architecturez)T5GemmaModuleConfig.validate_architectureg   s[   € àÔ˜dÔ6Ñ6¸!Ò;Ð;Ýð7 DÔ$4ð 7ð 7ØÔ2ð7ð 7ð 7ñô ð ð <Ð;rB   ),Ú__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"   r$   Ústrr%   r&   Úfloatr'   r(   r=   r)   r+   Úlistr-   r.   r/   r   Údictr0   r2   r3   r4   r5   r6   r7   r8   rF   rL   Ú__classcell__©rI   s   @r@   r   r      s›  ø€ € € € € € ðð ð$ #€JØ#4Ð"5Ðà%.Ø%.Ø%.Ø%.Ø"+Ø )Ø"+ðð Ðð &˜¨Ð(9Ð:Ø#Ð%5Ð6¸Ð8IÐJØ!Ð" _Ð$5Ð6ðð Ðð €J�ÐÐÑØ€K�ÐÐÑØ!Ð�sÐ!Ð!Ñ!ØÐ�sÐÐÑØ Ð˜Ð Ð Ñ Ø Ð˜Ð Ð Ñ Ø€HˆcÐÐÑØ0Ð�sÐ0Ð0Ñ0Ø#'Ð˜SÐ'Ð'Ñ'Ø#Ð�uÐ#Ð#Ñ#Ø€L�%ÐÐÑØ€IˆtÐÐÑØ €L�#˜‘*Ð Ð Ñ Ø+,€L�#˜˜Sœ	‘/ DÑ(Ð,Ð,Ñ,Ø €L�#˜‘*Ð Ð Ñ Ø $Ð˜Ð$Ð$Ñ$Ø48€O�^ dÑ*¨TÑ1Ð8Ð8Ñ8Ø €N�DÐ Ð Ñ Ø,/Ð�s˜U‘{ TÑ)Ð/Ð/Ñ/Ø!$Ð˜3Ð$Ð$Ñ$Ø!%€N�C˜$‘JÐ%Ð%Ñ%Ø$(€K��c”˜TÑ!Ð(Ð(Ñ(Ø,0Ð˜U T™\Ð0Ð0Ñ0Ø+/Ð˜E D™LÐ/Ð/Ñ/à€J�ÐÐÑð(ð (ð (ð (ð (ðð ð ð ð ð ð rB   r   c                   óò   ‡ — e Zd ZU dZdZdgZeedœZdZee	e
e
f         z  dz  ed<   dZee	e
e
f         z  dz  ed<   dZeed	<   d
Zeez  ed<   d
Zeez  ed<   d
Zeez  ed<   dZeed<   dZeed<   ˆ fd„Zˆ xZS )ÚT5GemmaConfigaÈ  
    encoder (`Union[T5GemmaModuleConfig, dict]`, optional, *optional*):
        Configuration for the encoder.
    decoder (`Union[T5GemmaModuleConfig, dict]`, optional, *optional*):
        Configuration for the decoder.

    Example:

    ```python
    >>> from transformers import T5GemmaConfig, T5GemmaModel
    >>> t5gemma_config = T5GemmaConfig.from_pretrained("google/t5gemma-2b-2b-prefixlm-it")
    >>> model = T5GemmaModel(t5gemma_config)
    ```Út5gemmar   )ÚencoderÚdecoderNr`   ra   TÚis_encoder_decoderr1   Údropout_rateÚclassifier_dropout_rater2   r.   r   r   c                 óî  •— t          | j        t          ¦  «        rt          di | j        ¤Ž| _        n| j        €t          ¦   «         | _        t          | j        t          ¦  «        rt          di | j        ¤Ž| _        n| j        €t          ¦   «         | _        d| j        _        | j        | j        _        | j        | j        _        d| j        _        d| j        _        | j        | j        _        | j        | j        _        | j        j	        | j        _
        |                     d| j        j        ¦  «        | _        dD ]}||vrt          | j        |¦  «        ||<   Œ t          ¦   «         j        di |¤Ž d S )NFTr&   )r-   r)   r+   rC   )Ú
isinstancer`   rZ   r   ra   r8   rc   r2   r(   r   Úcross_attention_hidden_sizeÚpopr&   ÚgetattrrE   rF   )rG   rH   Úspecial_token_keyrI   s      €r@   rF   zT5GemmaConfig.__post_init__Ž   s]  ø€ Ý�d”l¥DÑ)Ô)ð 	1Ý.Ð>Ð>°´Ð>Ð>ˆDŒLˆLØŒ\Ð!Ý.Ñ0Ô0ˆDŒLå�d”l¥DÑ)Ô)ð 	1Ý.Ð>Ð>°´Ð>Ð>ˆDŒLˆLØŒ\Ð!Ý.Ñ0Ô0ˆDŒLà"'ˆŒÔØ$(Ô$5ˆŒÔ!Ø)-Ô)?ˆŒÔ&à"&ˆŒÔØ!%ˆŒÔØ$(Ô$5ˆŒÔ!Ø)-Ô)?ˆŒÔ&Ø37´<Ô3KˆŒÔ0à!'§¢Ð,?ÀÄÔA_Ñ!`Ô!`ˆÔà!Qð 	Uð 	UÐØ ¨Ð.Ð.Ý,3°D´LÐBSÑ,TÔ,T�Ð(Ñ)øà�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'rB   )rM   rN   rO   rP   rQ   rR   r   Úsub_configsr`   rZ   r   rV   ra   rb   r=   rc   rU   rX   rd   r2   r.   r   rF   r[   r\   s   @r@   r^   r^   p   s  ø€ € € € € € ðð ð €JØ#4Ð"5ÐØ1Ð>QÐRÐR€Kà;?€GÐ  4¨¨S¨¤>Ñ1°DÑ8Ð?Ð?Ñ?Ø;?€GÐ  4¨¨S¨¤>Ñ1°DÑ8Ð?Ð?Ñ?Ø#Ð˜Ð#Ð#Ñ#Ø #€L�#˜‘+Ð#Ð#Ñ#Ø+.Ð˜S 5™[Ð.Ð.Ñ.Ø%(Ð�u˜s‘{Ð(Ð(Ñ(Ø $Ð˜Ð$Ð$Ñ$Ø€J�ÐÐÑð(ð (ð (ð (ð (ð (ð (ð (ð (rB   r^   N)Útypingr   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úmodeling_rope_utilsr   Úutilsr   r   r^   Ú__all__rC   rB   r@   ú<module>rr      s  ðð* Ð Ð Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø #Ð #Ð #Ð #Ð #Ð #ð €Ð6Ð7Ñ7Ô7ØðMð Mð Mð Mð MÐ*ñ Mô Mñ „ñ 8Ô7ðMð` €Ð6Ð7Ñ7Ô7Øð7(ð 7(ð 7(ð 7(ð 7(Ð$ñ 7(ô 7(ñ „ñ 8Ô7ð7(ðt Ð1Ð
2€€€rB   