Ë
    ÛÓ^j„  ã                   óz   — d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	  e	d¬«      e G d	„ d
e«      «       «       Z
d
gZy)z$GraniteMoeHybrid model configurationé    )Ústricté   )ÚPreTrainedConfigÚremap_legacy_layer_types)ÚRopeParameters)Úauto_docstringz!ibm-granite/granite-speech-3.2-8b)Ú
checkpointc                   óˆ  ‡ — e Zd ZU dZdZddiZdg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  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dz  e	d,<   dZ&edz  e	d-<   d Z'edz  e	d.<   d/Z(edz  e	d0<   d1Z)ee	d2<   dZ*edz  e	d3<   dZ+ee   dz  e	d<   d4Z,edz  e	d5<   dZ-edz  e	d6<   d7Z.edz  e	d8<   d9Z/eez  dz  e	d:<   d;Z0edz  e	d<<   dZ1edz  e	d=<   d7Z2edz  e	d><   dZ3edz  e	d?<   d Z4edz  e	d@<   d/Z5edz  e	dA<   dBZ6edz  e	dC<   d$ edD«      fZ7eeef   e8eef   z  dz  e	dE<   ˆ fdF„Z9dG„ Z:ˆ xZ;S )HÚGraniteMoeHybridConfiga§  
    embedding_multiplier (`float`, *optional*, defaults to 1.0):
        embedding multiplier.
    logits_scaling (`float`, *optional*, defaults to 1.0):
        divisor for output logits.
    residual_multiplier (`float`, *optional*, defaults to 1.0):
        residual multiplier.
    attention_multiplier (`float`, *optional*, defaults to 1.0):
        attention multiplier.
    shared_intermediate_size (`int`, *optional*, defaults to 1024):
        intermediate size for shared experts.
    position_embedding_type (`str`, *optional*):
        Positional embedding type to be used; defaults to None. Allowed options: `[None, "rope"]`

    Example:

    ```python
    >>> from transformers import GraniteMoeHybridModel, GraniteMoeHybridConfig

    >>> # Initializing a GraniteMoeHybrid config
    >>> configuration = GraniteMoeHybridConfig()

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```ÚgranitemoehybridÚlayers_block_typeÚlayer_typesÚpast_key_valuesi }  Ú
vocab_sizei   Úhidden_sizei +  Úintermediate_sizeé    Únum_hidden_layersÚnum_attention_headsNÚnum_key_value_headsÚsiluÚ
hidden_acti   Úmax_position_embeddingsg{®Gáz”?Úinitializer_rangeg�íµ ÷Æ°>Úrms_norm_epsTÚ	use_cacheÚpad_token_idé   Úbos_token_idé   Úeos_token_idFÚtie_word_embeddingsÚrope_parametersÚattention_biasg        Úattention_dropoutg      ð?Úembedding_multiplierÚlogits_scalingÚresidual_multiplierÚattention_multiplieré   Únum_local_expertsÚnum_experts_per_tokÚoutput_router_logitsgü©ñÒMbP?Úrouter_aux_loss_coefi   Úshared_intermediate_sizeÚposition_embedding_typeé€   Úmamba_n_headsÚmamba_n_groupsé   Úmamba_d_stateÚautoÚmamba_d_headé   Úmamba_d_convÚmamba_expandÚmamba_chunk_sizeÚmamba_conv_biasÚmamba_proj_biasÚtime_step_mingš™™™™™¹?Útime_step_maxÚinfÚtime_step_limitc                 óž  •— | j                   €| j                  | _         | j                  | j                  z  }| j                  dk(  r|| j
                  z  | _        | j                  �t        | j                  «      nd | _        | j                  €dg| j                  z  | _        nt        | j                  «      | _        t        ‰| �0  di |¤Ž y )Nr6   Úlinear_attention© )r   r   r:   r   r7   r2   rA   Útupler   r   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚmamba_intermediateÚ	__class__s      €úŽ/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/granitemoehybrid/configuration_granitemoehybrid.pyrG   z$GraniteMoeHybridConfig.__post_init__c   s»   ø€ Ø×#Ñ#Ð+Ø'+×'?Ñ'?ˆDÔ$à!×.Ñ.°×1AÑ1AÑAÐØ×Ñ Ò&Ø 2°d×6HÑ6HÑ HˆDÔà>B×>RÑ>RÐ>^œu T×%9Ñ%9Ô:ÐdhˆÔØ×ÑÐ#Ø 2Ð3°d×6LÑ6LÑLˆDÕä7¸×8HÑ8HÓIˆDÔä‰ÑÑ' Ó'ó    c                 ó¾   — | j                   | j                  z  }|| j                  z  dk7  rt        d«      ‚| j                  | j                  z  |k7  rt        d«      ‚y)zOPart of `@strict`-powered validation. Validates the architecture of the config.r   z4mamba_n_heads must divide mamba_expand * hidden_sizezPThe dimensions for the Mamba head state do not match the model intermediate_sizeN)r:   r   r2   Ú
ValueErrorr7   )rH   rJ   s     rL   Úvalidate_architecturez,GraniteMoeHybridConfig.validate_architectures   sf   € ð "×.Ñ.°×1AÑ1AÑAÐØ × 2Ñ 2Ñ2°aÒ7ÜÐSÓTÐTà×Ñ˜t×1Ñ1Ñ1Ð5GÒGÜÐoÓpÐpð HrM   )<Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚattribute_mapÚkeys_to_ignore_at_inferencer   ÚintÚ__annotations__r   r   r   r   r   r   Ústrr   r   Úfloatr   r   Úboolr   r   r!   Úlistr"   r#   r   Údictr$   r%   r&   r'   r(   r)   r+   r,   r-   r.   r/   r0   r   r2   r3   r5   r7   r9   r:   r;   r<   r=   r>   r?   rA   rE   rG   rP   Ú__classcell__)rK   s   @rL   r   r      s�  ø… ñð4 $€JØ(¨-Ð8€MØ#4Ð"5Ðà€J�ÓØ€K�ÓØ"Ð�sÓ"ØÐ�sÓØ!Ð˜Ó!Ø&*Ð˜˜t™Ó*Ø€J�ÓØ#'Ð˜SÓ'Ø#Ð�uÓ#Ø€L�%ÓØ€IˆtÓØ#€L�#˜‘*Ó#Ø €L�#˜‘*Ó Ø+,€L�#˜˜S™	‘/ DÑ(Ó,Ø %Ð˜Ó%Ø48€O�^ dÑ*¨TÑ1Ó8Ø €N�DÓ Ø,/Ð�u˜s‘{ TÑ)Ó/Ø/2Ð˜# ™+¨Ñ,Ó2Ø),€N�C˜%‘K $Ñ&Ó,Ø.1Ð˜˜u™ tÑ+Ó1Ø/2Ð˜# ™+¨Ñ,Ó2Ø$%Ð�s˜T‘zÓ%Ø&'Ð˜˜t™Ó'Ø(-Ð˜$ ™+Ó-Ø).Ð˜% $™,Ó.Ø$(Ð˜cÓ(Ø*.Ð˜S 4™ZÓ.Ø$(€K��c‘˜TÑ!Ó(Ø #€M�3˜‘:Ó#Ø!"€N�C˜$‘JÓ"Ø #€M�3˜‘:Ó#Ø%+€L�#˜‘)˜dÑ"Ó+Ø €L�#˜‘*Ó Ø €L�#˜‘*Ó Ø#&Ð�c˜D‘jÓ&Ø#'€O�T˜D‘[Ó'Ø#(€O�T˜D‘[Ó(Ø"'€M�5˜4‘<Ó'Ø"%€M�5˜4‘<Ó%ØHKÉUÐSXË\ÐGZ€O�T˜% ˜,Ñ'¨%°°u°Ñ*=Ñ=ÀÑDÓZô(ö qrM   r   N)rT   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   r   Úmodeling_rope_utilsr   Úutilsr   r   Ú__all__rD   rM   rL   ú<module>re      sR   ðñ +å .ç MÝ 1Ý #ñ Ð>Ô?ØôaqÐ-ó aqó ó @ðaqðH $Ð
$�rM   