Ë
    ÛÓ^jš-  ã                   ó€  — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	  e	j                  e«      Z ed¬«      e G d	„ d
e«      «       «       Z ed¬«      e G d„ de«      «       «       Z ed¬«      e G d„ de«      «       «       Z ed¬«      e G d„ de«      «       «       Z ed¬«      e G d„ de«      «       «       Zg d¢Zy)zBlt model configurationé    )Ústricté   )ÚPreTrainedConfig)ÚRopeParameters)Úauto_docstringÚloggingzitazap/blt-1b-hf)Ú
checkpointc                   ó4  ‡ — e Zd ZU dZdZdZdZeed<   dZ	e
dz  ed<   d	Zedz  ed
<   dZedz  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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<   dZeed<   ˆ fd „Zˆ xZS )!ÚBltLocalEncoderConfigáb  
    cross_attn_all_layers (`bool`, *optional*, defaults to `True`):
        Whether all attention layers have cross attention.
    cross_attn_k (`int`, *optional*, defaults to 2):
        Number of cross-attention heads used in the model.
    hidden_size_global (`int`, *int*, defaults to 2048):
        Hidden size of the global transformer layer.
    Úblt_local_encoderç    €„Aé  Ú
vocab_sizeFNÚcross_attn_all_layersé   Úcross_attn_ké   Úhidden_size_globalé   Úhidden_sizeé   Únum_attention_headsÚnum_key_value_headsé   Únum_hidden_layersçñhãˆµøä>Úrms_norm_epsç        Údropouté `  Úmax_position_embeddingsÚrope_parametersÚsiluÚ
hidden_actÚintermediate_sizeç{®Gáz”?Úinitializer_rangec                 óÌ   •— | j                   xs | j                  | _         | j                  xs t        d| j                  z  dz  «      | _        d| _        t        ‰| �  di |¤Ž y ©Né   r   F© )r   r   r&   Úintr   Útie_word_embeddingsÚsuperÚ__post_init__©ÚselfÚkwargsÚ	__class__s     €út/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/blt/configuration_blt.pyr0   z#BltLocalEncoderConfig.__post_init__9   s]   ø€ Ø#'×#;Ñ#;Ò#W¸t×?WÑ?WˆÔ Ø!%×!7Ñ!7Ò!X¼3¸qÀ4×CSÑCSÑ?SÐVWÑ?WÓ;XˆÔØ#(ˆÔ Ü‰ÑÑ' Ó'ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚdefault_thetar   r-   Ú__annotations__r   Úboolr   r   r   r   r   r   r   Úfloatr    r"   r#   r   Údictr%   Ústrr&   r(   r0   Ú__classcell__©r4   s   @r5   r   r      sã   ø… ñð %€JØ€Mà€J�ÓØ).Ð˜4 $™;Ó.Ø €L�#˜‘*Ó Ø%)Ð˜˜d™
Ó)Ø€K�ÓØ!Ð˜Ó!Ø&*Ð˜˜t™Ó*ØÐ�sÓØ€L�%ÓØ"%€GˆU�S‰[˜4ÑÓ%Ø#(Ð˜SÓ(Ø48€O�^ dÑ*¨TÑ1Ó8Ø€J�ÓØ$(Ð�s˜T‘zÓ(Ø#Ð�uÓ#÷(ð (r6   r   c                   ó„  ‡ — e Zd ZU dZdZdZdZeed<   dZ	e
dz  ed<   d	Zedz  ed
<   dZedz  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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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%<   ˆ fd&„Z!ˆ xZ"S )'ÚBltLocalDecoderConfigr   Úblt_local_decoderr   r   r   TNr   r   r   r   r   r   r   r   r   r   é	   r   r   r   r   r    r!   r"   r#   r$   r%   i   r&   r'   r(   Úpad_token_idÚbos_token_idÚeos_token_idFr.   c                 ó  •— | j                   xs | j                  | _         | j                  | j                  z  | _        | j                  xs t        d| j                  z  dz  «      | _        d| _        t        ‰| �   di |¤Ž y r*   ©	r   r   r   Úhead_dimr&   r-   r.   r/   r0   r1   s     €r5   r0   z#BltLocalDecoderConfig.__post_init__c   su   ø€ Ø#'×#;Ñ#;Ò#W¸t×?WÑ?WˆÔ Ø×(Ñ(¨D×,DÑ,DÑDˆŒØ!%×!7Ñ!7Ò!X¼3¸qÀ4×CSÑCSÑ?SÐVWÑ?WÓ;XˆÔØ#(ˆÔ Ü‰ÑÑ' Ó'r6   )#r7   r8   r9   r:   r;   r<   r   r-   r=   r   r>   r   r   r   r   r   r   r   r?   r    r"   r#   r   r@   r%   rA   r&   r(   rH   rI   rJ   Úlistr.   r0   rB   rC   s   @r5   rE   rE   @   s  ø… ñð %€JØ€Mà€J�ÓØ)-Ð˜4 $™;Ó-Ø €L�#˜‘*Ó Ø%)Ð˜˜d™
Ó)Ø€K�ÓØ!Ð˜Ó!Ø&*Ð˜˜t™Ó*ØÐ�sÓØ€L�%ÓØ"%€GˆU�S‰[˜4ÑÓ%Ø#(Ð˜SÓ(Ø48€O�^ dÑ*¨TÑ1Ó8Ø€J�ÓØ!Ð�sÓ!Ø#Ð�uÓ#Ø#€L�#˜‘*Ó#Ø#€L�#˜‘*Ó#Ø+/€L�#˜˜S™	‘/ DÑ(Ó/Ø %Ð˜Ó%÷(ð (r6   rE   c                   óî   ‡ — e Zd ZU dZdZ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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d<   dZeed<   dZeed<   ˆ fd„Zˆ xZS )ÚBltGlobalTransformerConfigÚblt_global_transformerr   r   r   r   r   Nr   é   r   r   r   r   r    é   r"   r#   r$   r%   i   r&   r'   r(   Fr.   c                 ó  •— | j                   xs | j                  | _         | j                  | j                  z  | _        | j                  xs t        d| j                  z  dz  «      | _        d| _        t        ‰| �   di |¤Ž y r*   rL   r1   s     €r5   r0   z(BltGlobalTransformerConfig.__post_init__~   su   ø€ Ø#'×#;Ñ#;Ò#W¸t×?WÑ?WˆÔ Ø×(Ñ(¨D×,DÑ,DÑDˆŒØ!%×!7Ñ!7Ò!X¼3¸qÀ4×CSÑCSÑ?SÐVWÑ?WÓ;XˆÔØ#(ˆÔ ä‰ÑÑ' Ó'r6   )r7   r8   r9   r;   r<   r   r-   r=   r   r   r   r   r?   r    r"   r#   r   r@   r%   rA   r&   r(   r.   r>   r0   rB   rC   s   @r5   rP   rP   k   s¯   ø… ð *€JØ€Mà€K�ÓØ!Ð˜Ó!Ø&*Ð˜˜t™Ó*ØÐ�sÓØ€L�%ÓØ"%€GˆU�S‰[˜4ÑÓ%Ø#'Ð˜SÓ'Ø48€O�^ dÑ*¨TÑ1Ó8Ø€J�ÓØ!Ð�sÓ!Ø#Ð�uÓ#Ø %Ð˜Ó%÷(ð (r6   rP   c                   óê   ‡ — e Zd ZU 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d
z  ed<   dZe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ed<   ˆ fd„Zˆ xZS )ÚBltPatcherConfigÚblt_patcherr   r   i   r   é   r   é   r   Nr   i    r"   r   r   r   r    r   r&   r#   r'   r(   Fr.   c                 ó  •— | j                   xs | j                  | _         | j                  | j                  z  | _        | j                  xs t        d| j                  z  dz  «      | _        d| _        d| _        t        ‰| �$  di |¤Ž y )Nr+   r   Fr$   r,   )
r   r   r   rM   r&   r-   r.   r%   r/   r0   r1   s     €r5   r0   zBltPatcherConfig.__post_init__™   s|   ø€ Ø#'×#;Ñ#;Ò#W¸t×?WÑ?WˆÔ Ø×(Ñ(¨D×,DÑ,DÑDˆŒØ!%×!7Ñ!7Ò!X¼3¸qÀ4×CSÑCSÑ?SÐVWÑ?WÓ;XˆÔØ#(ˆÔ Ø ˆŒä‰ÑÑ' Ó'r6   )r7   r8   r9   r;   r   r-   r=   r   r   r   r   r"   r   r?   r    r&   r#   r   r@   r(   r.   r>   r0   rB   rC   s   @r5   rV   rV   ‡   sª   ø… ð €Jà€J�ÓØ€K�ÓØÐ�sÓØ!Ð˜Ó!Ø&*Ð˜˜t™Ó*Ø#'Ð˜SÓ'Ø€L�%ÓØ"%€GˆU�S‰[˜4ÑÓ%Ø!Ð�sÓ!Ø48€O�^ dÑ*¨TÑ1Ó8Ø#Ð�uÓ#Ø %Ð˜Ó%÷(ð (r6   rV   c                   ó  ‡ — e Zd ZU dZdZdgZdZeee	e
dœZ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dz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZee   dz  ed<   dZedz  ed<   dZedz  ed<   dZee z  dz  ed<   dZ!ee z  dz  ed<   dZ"ee z  dz  ed<   dZ#ee z  dz  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(<   ˆ fd)„Z,ˆ xZ-S )*Ú	BltConfiga  
    patch_in_forward (`bool`, *optional*, defaults to `True`):
        Whether to perform patching during the forward pass.
    patch_size (`int`, *optional*, defaults to 4):
        Size of the patches used in the patching mechanism.
    patching_mode (`str`, *optional*, defaults to `"entropy"`):
        The mode used for patching, such as entropy-based patching.
    patching_threshold (`float`, *optional*, defaults to 1.34):
        Threshold value used for determining when to apply patches.
    patching_batch_size (`int`, *optional*, defaults to 1):
        Batch size used during the patching process.
    max_patch_length (`int`, *optional*):
        Maximum length of patches that can be generated.
    cross_attn_k (`int`, *optional*, defaults to 2):
        Number of cross-attention heads used in the model.
    encoder_hash_byte_group_size (`list`, *optional*):
        List of byte group sizes used in the encoder hash function.
    encoder_hash_byte_group_vocab (`int`, *optional*, defaults to 500002):
        Vocabulary size for the encoder hash byte groups.
    encoder_hash_byte_group_nb_functions (`int`, *optional*, defaults to 1):
        Number of hash functions used in the encoder byte grouping.
    patcher_config (`BltPatcherConfig`, *optional*):
        Configuration for the patcher component of the model.
    global_config (`BltGlobalTransformerConfig`, *optional*):
        Configuration for the global transformer component of the model.

    Example:
    ```python
    >>> from transformers import BltModel, BltConfig

    >>> # Initializing a Blt configuration
    >>> configuration = BltConfig()

    >>> # Initializing a model from the configuration
    >>> model = BltModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```ÚbltÚpast_key_valuesr   )Úpatcher_configÚencoder_configÚdecoder_configÚglobal_configr   r   rS   r"   TNÚpatch_in_forwardé   Ú
patch_sizeÚentropyÚpatching_modeg   €ø]õ?Úpatching_thresholdr   Úpatching_batch_sizeÚmax_patch_lengthr   r   Úencoder_hash_byte_group_sizei"¡ Úencoder_hash_byte_group_vocabÚ$encoder_hash_byte_group_nb_functionsr_   r`   ra   rb   Fr.   Ú	use_cacherH   rI   rJ   r'   r(   r#   c                 ó¨  •— | j                   xs g d¢| _         | j                  €1t        | j                  ¬«      | _        t        j                  d«       nZt        | j                  t        «      r@| j                  j                  d| j                  «       t        di | j                  ¤Ž| _        | j                  €1t        | j                  ¬«      | _	        t        j                  d«       nZt        | j                  t        «      r@| j                  j                  d| j                  «       t        di | j                  ¤Ž| _	        | j                  €1t        | j                  ¬«      | _        t        j                  d«       nZt        | j                  t        «      r@| j                  j                  d| j                  «       t        di | j                  ¤Ž| _        | j                  €1t        | j                  ¬«      | _        t        j                  d«       nZt        | j                  t        «      r@| j                  j                  d| j                  «       t        di | j                  ¤Ž| _        | j                  j                  | j                   z  }|| j                  j                  k7  r|nd | j                  _        t%        ‰| �L  di |¤Ž y )	N)r   rd   é   é   é   r+   )r(   z8patcher_config is None, using default Blt patcher configr(   z8encoder_config is None, using default Blt encoder configz8decoder_config is None, using default Blt decoder configz6global_config is None, using default Blt global configr,   )rk   r_   rV   r(   ÚloggerÚinfoÚ
isinstancer@   Ú
setdefaultr`   r   ra   rE   rb   rP   r   r   Úencoder_cross_output_sizer/   r0   )r2   r3   rw   r4   s      €r5   r0   zBltConfig.__post_init__ð   s.  ø€ Ø,0×,MÑ,MÒ,cÒQcˆÔ)ð ×ÑÐ&Ü"2ÀT×E[ÑE[Ô"\ˆDÔÜ�K‰KÐRÕSÜ˜×+Ñ+¬TÔ2Ø×Ñ×*Ñ*Ð+>À×@VÑ@VÔWÜ"2Ñ"I°T×5HÑ5HÑ"IˆDÔà×ÑÐ&Ü"7È$×J`ÑJ`Ô"aˆDÔÜ�K‰KÐRÕSÜ˜×+Ñ+¬TÔ2Ø×Ñ×*Ñ*Ð+>À×@VÑ@VÔWÜ"7Ñ"N¸$×:MÑ:MÑ"NˆDÔà×ÑÐ&Ü"7È$×J`ÑJ`Ô"aˆDÔÜ�K‰KÐRÕSÜ˜×+Ñ+¬TÔ2Ø×Ñ×*Ñ*Ð+>À×@VÑ@VÔWÜ"7Ñ"N¸$×:MÑ:MÑ"NˆDÔà×ÑÐ%Ü!;Èd×NdÑNdÔ!eˆDÔÜ�K‰KÐPÕQÜ˜×*Ñ*¬DÔ1Ø×Ñ×)Ñ)Ð*=¸t×?UÑ?UÔVÜ!;Ñ!Q¸d×>PÑ>PÑ!QˆDÔð %)×$7Ñ$7×$CÑ$CÀd×FWÑFWÑ$WÐ!à)BÀd×FXÑFX×FdÑFdÒ)dÑ%Ðjnð 	×ÑÔ4ô 	‰ÑÑ' Ó'r6   ).r7   r8   r9   r:   r;   Úkeys_to_ignore_at_inferencer<   rV   r   rE   rP   Úsub_configsr   r-   r=   r"   rc   r>   re   rg   rA   rh   r?   ri   rj   r   rk   rN   rl   rm   r_   r@   r   r`   ra   rb   r.   rn   rH   rI   rJ   r(   r#   r   r0   rB   rC   s   @r5   r\   r\   £   s¥  ø… ñ&ðP €JØ#4Ð"5ÐØ€Mà*Ø/Ø/Ø3ñ	€Kð €J�ÓØ#'Ð˜SÓ'Ø$(Ð�d˜T‘kÓ(Ø€J��d‘
ÓØ )€M�3˜‘:Ó)Ø'8Ð˜ ™Ó8Ø&'Ð˜˜t™Ó'Ø#'Ð�c˜D‘jÓ'Ø €L�#˜‘*Ó Ø59Ð  $ s¡)¨dÑ"2Ó9Ø06Ð! 3¨¡:Ó6Ø78Ð(¨#°©*Ó8Ø59€N�DÐ+Ñ+¨dÑ2Ó9Ø59€N�DÐ+Ñ+¨dÑ2Ó9Ø59€N�DÐ+Ñ+¨dÑ2Ó9Ø48€M�4Ð*Ñ*¨TÑ1Ó8Ø %Ð˜Ó%Ø€IˆtÓØ#€L�#˜‘*Ó#Ø#€L�#˜‘*Ó#Ø+/€L�#˜˜S™	‘/ DÑ(Ó/Ø#Ð�uÓ#Ø48€O�^ dÑ*¨TÑ1Ó8÷&(ð &(r6   r\   )r\   rV   r   rE   rP   N)r:   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úmodeling_rope_utilsr   Úutilsr   r   Ú
get_loggerr7   rs   r   rE   rP   rV   r\   Ú__all__r,   r6   r5   ú<module>r€      s	  ðñ å .å 3Ý 1ß ,ð 
ˆ×	Ñ	˜HÓ	%€ñ Ð-Ô.Øô!(Ð,ó !(ó ó /ð!(ñH Ð-Ô.Øô&(Ð,ó &(ó ó /ð&(ñR Ð-Ô.Øô(Ð!1ó (ó ó /ð(ñ4 Ð-Ô.Øô(Ð'ó (ó ó /ð(ñ4 Ð-Ô.Øôq(Ð ó q(ó ó /ðq(òh�r6   