§
    ‚Štj„  ã                   ó”   — 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dS )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                 óX  •— | 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          ¦   «         j        di |¤Ž d S )Nr6   Úlinear_attention© )r   r   r:   r   r7   r2   rA   Útupler   r   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚmamba_intermediateÚ	__class__s      €ú�/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/granitemoehybrid/configuration_granitemoehybrid.pyrG   z$GraniteMoeHybridConfig.__post_init__c   s¼   ø€ ØÔ#Ð+Ø'+Ô'?ˆDÔ$à!Ô.°Ô1AÑAÐØÔ Ò&Ð&Ø 2°dÔ6HÑ HˆDÔà>BÔ>RÐ>^�u TÔ%9Ñ:Ô:Ð:ÐdhˆÔØÔÐ#Ø 2Ð3°dÔ6LÑLˆDÔÐå7¸Ô8HÑIÔIˆDÔà�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    c                 ó¢   — | j         | j        z  }|| j        z  dk    rt          d¦  «        ‚| j        | j        z  |k    rt          d¦  «        ‚dS )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ÑAÐØ Ô 2Ñ2°aÒ7Ð7ÝÐSÑTÔTÐTàÔ˜tÔ1Ñ1Ð5GÒGÐGÝÐoÑpÔpÐpð HÐGrM   )<Ú__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Ð8Ñ8Ø €N�DÐ Ð Ñ Ø,/Ð�u˜s‘{ TÑ)Ð/Ð/Ñ/Ø/2Ð˜# ™+¨Ñ,Ð2Ð2Ñ2Ø),€N�C˜%‘K $Ñ&Ð,Ð,Ñ,Ø.1Ð˜˜u™ tÑ+Ð1Ð1Ñ1Ø/2Ð˜# ™+¨Ñ,Ð2Ð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ÈUÐSXÉ\Ì\ÐGZ€O�T˜% ˜,Ô'¨%°°u°Ô*=Ñ=ÀÑDÐZÐZÑZð(ð (ð (ð (ð (ð qð qð qð qð qð qð qrM   r   N)rT   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   r   Úmodeling_rope_utilsr   Úutilsr   r   Ú__all__rD   rM   rL   ú<module>re      sË   ðð +Ð *à .Ð .Ð .Ð .Ð .Ð .à MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø #Ð #Ð #Ð #Ð #Ð #ð €Ð>Ð?Ñ?Ô?Øðaqð aqð aqð aqð aqÐ-ñ aqô aqñ „ñ @Ô?ðaqðH $Ð
$€€€rM   