ó
    qyüiƒ  ã                   ód   • S r SSKJr  SSKJr  SSKJr  \" SS9\ " S S	\5      5       5       rS	/rg
)zBloom configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringzbigscience/bloom)Ú
checkpointc                   óL  ^ • \ rS rSr% SrSrS/rSSS.rSr\	\
S	'   S
r\	\
S'   Sr\	\
S'   Sr\	\
S'   Sr\\
S'   Sr\\
S'   Sr\\
S'   Sr\	S-  \
S'   Sr\	\\	   -  S-  \
S'   Sr\	S-  \
S'   Sr\\
S'   Sr\\	-  \
S'   Sr\\	-  \
S'   Sr\	\
S'   Sr\\
S'   Sr\\
S '   U 4S! jrS"rU =r$ )#ÚBloomConfigé   aˆ  
apply_residual_connection_post_layernorm (`bool`, *optional*, defaults to `False`):
    If enabled, use the layer norm of the hidden states as the residual in the transformer blocks
slow_but_exact (`bool`, *optional*, defaults to `False`):
    Experimental feature. Whether to use slow but exact implementation of the attention mechanism. While
    merging the TP rank tensors, due to slicing operations the results may be slightly different between the
    model trained on Megatron and our model. Please refer to [this
    issue](https://github.com/pytorch/pytorch/issues/76232). A solution to obtain more accurate results is to
    enable this feature. Enabling this will hurt the computational time of the inference. Will be probably
    resolved in the future once the main model has been fine-tuned with TP_rank=1.

Example:

```python
>>> from transformers import BloomConfig, BloomModel

>>> # Initializing a Bloom configuration
>>> configuration = BloomConfig()

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

>>> # Accessing the model configuration
>>> configuration = model.config
```ÚbloomÚpast_key_valuesÚn_layerÚn_head)Únum_hidden_layersÚnum_attention_headsi Ô Ú
vocab_sizeé@   Úhidden_sizeé   é   gñhãˆµøä>Úlayer_norm_epsilong{®Gáz”?Úinitializer_rangeTÚ	use_cacheé   NÚbos_token_idÚeos_token_idÚpad_token_idFÚ(apply_residual_connection_post_layernormg        Úhidden_dropoutÚattention_dropoutÚpretraining_tpÚslow_but_exactÚtie_word_embeddingsc                 óv   >• UR                  SS 5      nUc  U R                  OUU l        [        TU ]  " S0 UD6  g )NÚn_embed© )Úpopr   ÚsuperÚ__post_init__)ÚselfÚkwargsr$   Ú	__class__s      €Új/home/mande/repo/quber/.venv/lib/python3.13/site-packages/transformers/models/bloom/configuration_bloom.pyr(   ÚBloomConfig.__post_init__K   s7   ø€ à—*‘*˜Y¨Ó-ˆØ/6©˜4×+Ò+ÀGˆÔÜ‰ÒÑ' Ó'ó    )r   ) Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚattribute_mapr   ÚintÚ__annotations__r   r   r   r   Úfloatr   r   Úboolr   r   Úlistr   r   r   r   r    r!   r"   r(   Ú__static_attributes__Ú__classcell__)r+   s   @r,   r	   r	      sò   ø‡ ñð4 €JØ#4Ð"5Ðà&Ø'ñ€Mð
 €J�ÓØ€K�ÓØ€GˆSÓØ€FˆCƒOØ $Ð˜Ó$Ø#Ð�uÓ#Ø€IˆtÓØ €L�#˜‘*Ó Ø+,€L�#˜˜S™	‘/ DÑ(Ó,Ø#€L�#˜‘*Ó#Ø5:Ð,¨dÓ:Ø"%€N�E˜C‘KÓ%Ø%(Ð�u˜s‘{Ó(Ø€N�CÓØ €N�DÓ Ø $Ð˜Ó$÷(ó (r.   r	   N)	r3   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r	   Ú__all__r%   r.   r,   Ú<module>rB      sG   ðñ å .å 3Ý #ñ Ð-Ñ.Øô7(Ð"ó 7(ó ó /ð7(ðt ˆ/�r.   