

"""simple docstring"""


from ...configuration_utils import PretrainedConfig
from ...utils import logging


UpperCAmelCase													=logging.get_logger(__name__)

UpperCAmelCase													={
    """tiiuae/falcon-40b""": """https://huggingface.co/tiiuae/falcon-40b/resolve/main/config.json""",
    """tiiuae/falcon-7b""": """https://huggingface.co/tiiuae/falcon-7b/resolve/main/config.json""",
}





class lowerCamelCase__   (				SCREAMING_SNAKE_CASE_    ):



    '''simple docstring'''




    _lowerCamelCase					=   '''falcon'''
    _lowerCamelCase					=   ['''past_key_values''']




    def __init__( self ,lowerCamelCase_=6_5_0_2_4 ,lowerCamelCase_=4_5_4_4 ,lowerCamelCase_=3_2 ,lowerCamelCase_=7_1 ,lowerCamelCase_=1E-5 ,lowerCamelCase_=0.02 ,lowerCamelCase_=True ,lowerCamelCase_=0.0 ,lowerCamelCase_=0.0 ,lowerCamelCase_=None ,lowerCamelCase_=False ,lowerCamelCase_=False ,lowerCamelCase_=True ,lowerCamelCase_=True ,lowerCamelCase_=False ,lowerCamelCase_=1_1 ,lowerCamelCase_=1_1 ,**lowerCamelCase_ ,)    ->      Dict:
          A				  =		vocab_size
          # Backward compatibility with n_embed kwarg
          A				  =		kwargs.pop("""n_embed""" ,snake_case__    )
          A				  =		hidden_size if n_embed is None else n_embed
          A				  =		num_hidden_layers
          A				  =		num_attention_heads
          A				  =		layer_norm_epsilon
          A				  =		initializer_range
          A				  =		use_cache
          A				  =		hidden_dropout
          A				  =		attention_dropout

          A				  =		bos_token_id
          A				  =		eos_token_id
          A				  =		num_attention_heads if num_kv_heads is None else num_kv_heads
          A				  =		alibi
          A				  =		new_decoder_architecture
          A				  =		multi_query  # Ignored when new_decoder_architecture is True
          A				  =		parallel_attn
          A				  =		bias

          super().__init__(bos_token_id=snake_case__ ,eos_token_id=snake_case__ ,**snake_case__    )




    @property
    def UpperCamelCase__		( self    )    ->      List[str]:
          return self.hidden_size // self.num_attention_heads




    @property
    def UpperCamelCase__		( self    )    ->      List[str]:
          return not self.alibi








'''simple docstring'''







from ..utils import DummyObject, requires_backends
class 						UpperCamelCase__       (			metaclass=SCREAMING_SNAKE_CASE_						):



     """simple docstring"""






     __magic_name__           =     ["torch", "torchsde"]







     def __init__(			self   ,						*snake_case__   ,						**snake_case__ ):

            '''simple docstring'''

            requires_backends(self   ,						['torch', 'torchsde'] )







     @classmethod
     def a						(			cls   ,						*snake_case__   ,						**snake_case__ ):

            '''simple docstring'''

            requires_backends(cls   ,						['torch', 'torchsde'] )







     @classmethod
     def a						(			cls   ,						*snake_case__   ,						**snake_case__ ):

            '''simple docstring'''

            requires_backends(cls   ,						['torch', 'torchsde'] )

