+
    œ°³j+  ã                   ó°   € R t ^ RIHt ^ RIHt ^RIHt ^RIHt ]! RR7      ] ! R R]4      4       4       t	]! RR7      ] ! R	 R
]4      4       4       t
R
.tR# )zMpt configuration)ÚLiteral)Ústrict)ÚPreTrainedConfig)Úauto_docstringzmosaicml/mpt-7b)Ú
checkpointc                   ó\   a € ] tR t^t o RtRtRt^ tRtRt	Rt
RtRtRtRt^tV 3R ltR	tV tR# )
ÚMptAttentionConfigaÜ  
attn_type (`str`, *optional*, defaults to `"multihead_attention"`):
    type of attention to use. Options: `"multihead_attention"`, `"multiquery_attention"`.
attn_pdrop (`float`, *optional*, defaults to `0.0`):
    The dropout probability for the attention layers.
attn_impl (`str`, *optional*, defaults to `"torch"`):
    The attention implementation to use. One of `"torch"`, `"flash"`, or `"triton"`.
clip_qkv (`float`, *optional*):
    If not `None`, clip the queries, keys, and values in the attention layer to this value.
softmax_scale (`float`, *optional*):
    If not `None`, scale the softmax in the attention layer by this value. If `None`, will default to
    `1/sqrt(hidden_size)`.
prefix_lm (`bool`, *optional*, defaults to `False`):
    Whether the model should operate as a Prefix LM. This requires passing an extra `prefix_mask` argument
    which indicates which tokens belong to the prefix. Tokens in the prefix can attend to one another
    bi-directionally. Tokens outside the prefix use causal attention.
qk_ln (`bool`, *optional*, defaults to `False`):
    Whether to apply layer normalization to the queries and keys in the attention layer.
attn_uses_sequence_id (`bool`, *optional*, defaults to `False`):
    Whether to restrict attention to tokens that have the same token_type_ids. When the model is in `train`
    mode, this requires passing an extra *token_type_ids* argument which indicates which sub-sequence each
    token belongs to. Defaults to `False` meaning any provided *token_type_ids* will be ignored.
alibi (`bool`, *optional*, defaults to `True`):
    Whether or not to use the alibi bias instead of positional embedding.
alibi_bias_max (`int`, *optional*, defaults to 8):
    The maximum value of the alibi bias.
Úattn_configÚmultihead_attentionÚtorchNFTc                ó¼   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[;R&   S[;R&   S[R,          ;R&   S[R,          ;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   # )é   Ú	attn_typeÚ
attn_pdropÚ	attn_implNÚclip_qkvÚsoftmax_scaleÚ	prefix_lmÚqk_lnÚattn_uses_sequence_idÚalibiÚalibi_bias_max)r
   Úmultiquery_attention)r   ÚintÚstrÚfloatÚbool)ÚformatÚ__classdict__s   "€Új/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/mpt/configuration_mpt.pyÚ__annotate__ÚMptAttentionConfig.__annotate__   s©   ø‡ ‚ ñB ÐDÕEÑ]ñC ñD ÑñE ñF ÑñG ñH �d�lÑ!ñI ñJ ˜4•<Ñ&ñK ñL ÑñM ñN ÑñO ñP  Ñ'ñQ ñR ÑñS ñT ÑòU ó    © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úbase_config_keyr   r   r   r   r   r   r   r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      sL   ø‡ € ñð8 $€OàH]€IØ€JØ€IØ!€HØ"&€MØ€IØ€EØ"'ÐØ€EØ€N÷U ƒ r"   r   c                   ó¶   a a€ ] tR t^Et oRtRtR]/tRRRRRR	/tR
t	^t
^t^tR
tRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtV 3R ltV3R lt Rt!Vt"V ;t## )Ú	MptConfigaÚ  
expansion_ratio (`int`, *optional*, defaults to 4):
    The ratio of the up/down scale in the MLP.
max_seq_len (`int`, *optional*, defaults to 2048):
    The maximum sequence length of the model.
layer_norm_epsilon (`float`, *optional*, defaults to 1e-05):
    The epsilon to use in the layer normalization layers.
learned_pos_emb (`bool`, *optional*, defaults to `True`):
    Whether to use learned positional embeddings.
attn_config (`dict`, *optional*):
    A dictionary used to configure the model's attention module.
init_device (`str`, *optional*, defaults to `"cpu"`):
    The device to use for parameter initialization. Defined for backward compatibility
logit_scale (`float`, *optional*):
    If not None, scale the logits by this value.
no_bias (`bool`, *optional*, defaults to `True`):
    Whether to use bias in all linear layers.
embedding_fraction (`float`, *optional*, defaults to 1.0):
    The fraction to scale the gradients of the embedding layer by.
norm_type (`str`, *optional*, defaults to `"low_precision_layernorm"`):
    Type of layer norm to use. All MPT models uses the same layer norm implementation. Defined for backward
    compatibility.

Example:

```python
>>> from transformers import MptConfig, MptModel

>>> # Initializing a Mpt configuration
>>> configuration = MptConfig()

>>> # Initializing a model (with random weights) from the configuration
>>> model = MptModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```
Úmptr	   Únum_attention_headsÚn_headsÚhidden_sizeÚd_modelÚnum_hidden_layersÚn_layersi   iÀÄ  g        gñhãˆµøä>TNÚcpug      ð?Úlow_precision_layernormFg{®Gáz”?c                óØ   <€ V P                   f   \        4       V n         M:\        V P                   \        4      '       d   \        R/ V P                   B V n         \        SV `  ! R/ VB  R # )Nr#   )r	   r   Ú
isinstanceÚdictÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s   &,€r   r<   ÚMptConfig.__post_init__Ž   sS   ø€ Ø×ÑÒ#Ü1Ó3ˆDÕÜ˜×(Ñ(¬$×/Ò/Ü1ÑE°D×4DÑ4DÑEˆDÔÜ‰ÒÑ' Ô'r"   c                óÈ  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[S[ ,          ;R&   S[;R&   S[S[ ,          ;R	&   S[;R
&   S[S[,          R,          ;R&   S[;R&   S[S[,          R,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[ R,          ;R&   S[ R,          ;R&   S[ S[S[ ,          ,          R,          ;R&   # )r   r3   r1   r5   Úexpansion_ratioÚmax_seq_lenÚ
vocab_sizeÚresid_pdropÚlayer_norm_epsilonÚ	emb_pdropÚlearned_pos_embNr	   Úinit_deviceÚlogit_scaleÚno_biasÚembedding_fractionÚ	norm_typeÚ	use_cacheÚinitializer_rangeÚtie_word_embeddingsÚpad_token_idÚbos_token_idÚeos_token_id)r   r   r   r:   r   r   Úlist)r   r   s   "€r   r    ÚMptConfig.__annotate__E   s€  ø‡ ‚ ñd Ññe ñf Ññg ñh Ññi ñj Ññk ñl Ññm ñn Ñño ñp ™•Ñ"ñq ñr Ñ$ñs ñt ‘s�{Ñ ñu ñv Ñ ñw ñx Ñ*Õ*¨TÕ1Ñ8ñy ñz Ññ{ ñ| ™•˜tÕ#Ñ*ñ} ñ~ Ññ ñ@ Ñ#ñA ñB Ñ.ñC ñD ÑñE ñF Ñ#ñG ñH Ñ$ñI ñJ ˜•*Ñ#ñK ñL ˜•*Ñ#ñM ñN ™™S�	•/ DÕ(Ñ/òO r"   )r	   )$r$   r%   r&   r'   r(   Ú
model_typer   Úsub_configsÚattribute_mapr3   r1   r5   rB   rC   rD   rE   rF   rG   rH   r	   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   r<   r*   r+   r,   Ú__classcell__)r?   r   s   @@r   r.   r.   E   s´   ù‡ € ñ%ðN €JØ Ð"4Ð5€Kà˜yØ�yØ˜Zð€Mð €GØ€GØ€HØ€OØ€KØ€JØ"€KØ $ÐØ €IØ €OØ48€KØ€KØ&*€KØ€GØ #ÐØ.€IØ€IØ#ÐØ $ÐØ#€LØ#€LØ+/€Lõ(÷S … r"   r.   N)r(   Útypingr   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   r.   Ú__all__r#   r"   r   Ú<module>r_      sx   ðñ å å .å 3Ý #ñ Ð,Ô-Øô(Ð)ó (ó ó .ð(ñV Ð,Ô-ØôL(Ð ó L(ó ó .ðL(ð^ ˆ-‚r"   