

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


UpperCamelCase__					: Union[str, Any]								=      logging.get_logger(__name__)

UpperCamelCase__					: int								=      {
    "facebook/opt-125m": "https://huggingface.co/facebook/opt-125m/blob/main/config.json",
    "facebook/opt-350m": "https://huggingface.co/facebook/opt-350m/blob/main/config.json",
    "facebook/opt-1.3b": "https://huggingface.co/facebook/opt-1.3b/blob/main/config.json",
    "facebook/opt-2.7b": "https://huggingface.co/facebook/opt-2.7b/blob/main/config.json",
    "facebook/opt-6.7b": "https://huggingface.co/facebook/opt-6.7b/blob/main/config.json",
    "facebook/opt-13b": "https://huggingface.co/facebook/opt-13b/blob/main/config.json",
}



class  __snake_case					(      lowerCAmelCase__    ):
  __lowerCAmelCase       :		List[str]  	=					'opt'
  __lowerCAmelCase       :		Union[str, Any]  	=					['past_key_values']

  def __init__(   self  ,						_A=50272  ,						_A=768  ,						_A=12  ,						_A=3072  ,						_A=2048  ,						_A=True  ,						_A=False  ,						_A=None  ,						_A=0.1  ,						_A=0.0  ,						_A=12  ,						_A="relu"  ,						_A=0.0  ,						_A=0.0_2  ,						_A=True  ,						_A=1  ,						_A=2  ,						_A=2  ,						_A=True  ,						_A=True  ,						**_A  ,						):
      super().__init__(
          pad_token_id=_A  ,						bos_token_id=_A  ,						eos_token_id=_A  ,						**_A  ,						)
      SCREAMING_SNAKE_CASE_													=  vocab_size
      SCREAMING_SNAKE_CASE_													=  max_position_embeddings
      SCREAMING_SNAKE_CASE_													=  num_attention_heads
      SCREAMING_SNAKE_CASE_													=  word_embed_proj_dim if word_embed_proj_dim is not None else hidden_size
      SCREAMING_SNAKE_CASE_													=  ffn_dim
      SCREAMING_SNAKE_CASE_													=  hidden_size
      SCREAMING_SNAKE_CASE_													=  num_hidden_layers
      SCREAMING_SNAKE_CASE_													=  dropout
      SCREAMING_SNAKE_CASE_													=  attention_dropout
      SCREAMING_SNAKE_CASE_													=  activation_function
      SCREAMING_SNAKE_CASE_													=  init_std
      SCREAMING_SNAKE_CASE_													=  layerdrop
      SCREAMING_SNAKE_CASE_													=  use_cache
      SCREAMING_SNAKE_CASE_													=  do_layer_norm_before
      # We keep these variables at `True` for backward compatibility.
      SCREAMING_SNAKE_CASE_													=  enable_bias
      SCREAMING_SNAKE_CASE_													=  layer_norm_elementwise_affine

      # Note that the only purpose of `_remove_final_layer_norm` is to keep backward compatibility
      # with checkpoints that have been fine-tuned before transformers v4.20.1
      # see https://github.com/facebookresearch/metaseq/pull/164
      SCREAMING_SNAKE_CASE_													=  _remove_final_layer_norm





def    _UpperCAmelCase    (					_SCREAMING_SNAKE_CASE   :						int	,				_SCREAMING_SNAKE_CASE   :						int	,				_SCREAMING_SNAKE_CASE   :						int    ):





    """simple docstring"""


    if power < 0:
        return -1
    base %= mod
    SCREAMING_SNAKE_CASE_													=  1

    while power > 0:
        if power & 1:
            SCREAMING_SNAKE_CASE_													=  (result * base) % mod
        SCREAMING_SNAKE_CASE_													=  power >> 1
        SCREAMING_SNAKE_CASE_													=  (base * base) % mod

    return result


def    _UpperCAmelCase    (					):





    """simple docstring"""


    print(modular_exponential(3	,				200	,				13    )    )


if __name__ == "__main__":
       import doctest

       doctest.testmod()

       main()


