class_docstr: This is the configuration class to store the configuration of a [`LlamaModel`]. It is used to instantiate an LLaMA
  model according to the specified arguments, defining the model architecture. Instantiating a configuration with the
  defaults will yield a similar configuration to that of the LLaMA-7B.
  
  Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
  documentation from [`PretrainedConfig`] for more information.
  
  
  Args:
      vocab_size (`int`, *optional*, defaults to 32000):
          Vocabulary size of the LLaMA model. Defines the number of different tokens that can be represented by the
          `inputs_ids` passed when calling [`LlamaModel`]
      hidden_size (`int`, *optional*, defaults to 4096):
          Dimension of the hidden representations.
      intermediate_size (`int`, *optional*, defaults to 11008):
          Dimension of the MLP representations.
      num_hidden_layers (`int`, *optional*, defaults to 32):
          Number of hidden layers in the Transformer encoder.
      num_attention_heads (`int`, *optional*, defaults to 32):
          Number of attention heads for each attention layer in the Transformer encoder.
      num_key_value_heads (`int`, *optional*):
          This is the number of key_value heads that should be used to implement Grouped Query Attention. If
          `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
          `num_key_value_heads=1 the model will use Multi Query Attention (MQA) otherwise GQA is used. When
          converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
          by meanpooling all the original heads within that group. For more details checkout [this
          paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to
          `num_attention_heads`.
      pretraining_tp (`int`, *optional*, defaults to `1`):
          Experimental feature. Tensor parallelism rank used during pretraining. Please refer to [this
          document](https://huggingface.co/docs/transformers/parallelism) to understand more about it. This value is
          necessary to ensure exact reproducibility of the pretraining results. Please refer to [this
          issue](https://github.com/pytorch/pytorch/issues/76232).
      hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
          The non-linear activation function (function or string) in the decoder.
      max_position_embeddings (`int`, *optional*, defaults to 2048):
          The maximum sequence length that this model might ever be used with. Typically set this to something large
          just in case (e.g., 512 or 1024 or 2048).
      initializer_range (`float`, *optional*, defaults to 0.02):
          The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
      rms_norm_eps (`float`, *optional*, defaults to 1e-12):
          The epsilon used by the rms normalization layers.
      use_cache (`bool`, *optional*, defaults to `True`):
          Whether or not the model should return the last key/values attentions (not used by all models). Only
          relevant if `config.is_decoder=True`.
      tie_word_embeddings(`bool`, *optional*, defaults to `False`):
          Whether to tie weight embeddings
      rope_scaling (`Dict`, *optional*):
          Dictionary containing the scaling configuration for the RoPE embeddings. Currently supports two scaling
          strategies: linear and dynamic. Their scaling factor must be an float greater than 1. The expected format
          is `{"type": strategy name, "factor": scaling factor}`. When using this flag, don't update
          `max_position_embeddings` to the expected new maximum. See the following thread for more information on how
          these scaling strategies behave:
          https://www.reddit.com/r/LocalLLaMA/comments/14mrgpr/dynamically_scaled_rope_further_increases/. This is an
          experimental feature, subject to breaking API changes in future versions.
  
      Example:
  
  ```python
  >>> from transformers import LlamaModel, LlamaConfig
  
  >>> # Initializing a LLaMA llama-7b style configuration
  >>> configuration = LlamaConfig()
  
  >>> # Initializing a model from the llama-7b style configuration
  >>> model = LlamaModel(configuration)
  
  >>> # Accessing the model configuration
  >>> configuration = model.config
  ```
class_docstr_tok: ["This","is","the","configuration","class","to","store","the","configuration","of","a","[","`","LlamaModel","`","]",".","It","is","used","to","instantiate","an","LLaMA","model","according","to","the","specified","arguments",",","defining","the","model","architecture",".","Instantiating","a","configuration","with","the","defaults","will","yield","a","similar","configuration","to","that","of","the","LLaMA-7B",".","Configuration","objects","inherit","from","[","`","PretrainedConfig","`","]","and","can","be","used","to","control","the","model","outputs",".","Read","the","documentation","from","[","`","PretrainedConfig","`","]","for","more","information",".","Args",":","vocab_size","(","`","int","`",",","*","optional","*",",","defaults","to","32000",")",":","Vocabulary","size","of","the","LLaMA","model",".","Defines","the","number","of","different","tokens","that","can","be","represented","by","the","`","inputs_ids","`","passed","when","calling","[","`","LlamaModel","`","]","hidden_size","(","`","int","`",",","*","optional","*",",","defaults","to","4096",")",":","Dimension","of","the","hidden","representations",".","intermediate_size","(","`","int","`",",","*","optional","*",",","defaults","to","11008",")",":","Dimension","of","the","MLP","representations",".","num_hidden_layers","(","`","int","`",",","*","optional","*",",","defaults","to","32",")",":","Number","of","hidden","layers","in","the","Transformer","encoder",".","num_attention_heads","(","`","int","`",",","*","optional","*",",","defaults","to","32",")",":","Number","of","attention","heads","for","each","attention","layer","in","the","Transformer","encoder",".","num_key_value_heads","(","`","int","`",",","*","optional","*",")",":","This","is","the","number","of","key_value","heads","that","should","be","used","to","implement","Grouped","Query","Attention",".","If","`","num_key_value_heads=num_attention_heads","`",",","the","model","will","use","Multi","Head","Attention","(","MHA",")",",","if","`","num_key_value_heads=1","the","model","will","use","Multi","Query","Attention","(","MQA",")","otherwise","GQA","is","used",".","When","converting","a","multi-head","checkpoint","to","a","GQA","checkpoint",",","each","group","key","and","value","head","should","be","constructed","by","meanpooling","all","the","original","heads","within","that","group",".","For","more","details","checkout","[","this","paper","]","(","https",":","\/\/arxiv.org\/pdf\/2305.13245.pdf",")",".","If","it","is","not","specified",",","will","default","to","`","num_attention_heads","`",".","pretraining_tp","(","`","int","`",",","*","optional","*",",","defaults","to","`","1","`",")",":","Experimental","feature",".","Tensor","parallelism","rank","used","during","pretraining",".","Please","refer","to","[","this","document","]","(","https",":","\/\/huggingface.co\/docs\/transformers\/parallelism",")","to","understand","more","about","it",".","This","value","is","necessary","to","ensure","exact","reproducibility","of","the","pretraining","results",".","Please","refer","to","[","this","issue","]","(","https",":","\/\/github.com\/pytorch\/pytorch\/issues\/76232",")",".","hidden_act","(","`","str","`","or","`","function","`",",","*","optional","*",",","defaults","to","`","``","silu","''","`",")",":","The","non-linear","activation","function","(","function","or","string",")","in","the","decoder",".","max_position_embeddings","(","`","int","`",",","*","optional","*",",","defaults","to","2048",")",":","The","maximum","sequence","length","that","this","model","might","ever","be","used","with",".","Typically","set","this","to","something","large","just","in","case","(","e.g.",",","512","or","1024","or","2048",")",".","initializer_range","(","`","float","`",",","*","optional","*",",","defaults","to","0.02",")",":","The","standard","deviation","of","the","truncated_normal_initializer","for","initializing","all","weight","matrices",".","rms_norm_eps","(","`","float","`",",","*","optional","*",",","defaults","to","1e-12",")",":","The","epsilon","used","by","the","rms","normalization","layers",".","use_cache","(","`","bool","`",",","*","optional","*",",","defaults","to","`","True","`",")",":","Whether","or","not","the","model","should","return","the","last","key\/values","attentions","(","not","used","by","all","models",")",".","Only","relevant","if","`","config.is_decoder=True","`",".","tie_word_embeddings","(","`","bool","`",",","*","optional","*",",","defaults","to","`","False","`",")",":","Whether","to","tie","weight","embeddings","rope_scaling","(","`","Dict","`",",","*","optional","*",")",":","Dictionary","containing","the","scaling","configuration","for","the","RoPE","embeddings",".","Currently","supports","two","scaling","strategies",":","linear","and","dynamic",".","Their","scaling","factor","must","be","an","float","greater","than","1",".","The","expected","format","is","`","{","``","type","''",":","strategy","name",",","``","factor","''",":","scaling","factor","}","`",".","When","using","this","flag",",","do","n't","update","`","max_position_embeddings","`","to","the","expected","new","maximum",".","See","the","following","thread","for","more","information","on","how","these","scaling","strategies","behave",":","https",":","\/\/www.reddit.com\/r\/LocalLLaMA\/comments\/14mrgpr\/dynamically_scaled_rope_further_increases\/",".","This","is","an","experimental","feature",",","subject","to","breaking","API","changes","in","future","versions",".","Example",":","``","`","python",">",">",">","from","transformers","import","LlamaModel",",","LlamaConfig",">",">",">","#","Initializing","a","LLaMA","llama-7b","style","configuration",">",">",">","configuration","=","LlamaConfig","(",")",">",">",">","#","Initializing","a","model","from","the","llama-7b","style","configuration",">",">",">","model","=","LlamaModel","(","configuration",")",">",">",">","#","Accessing","the","model","configuration",">",">",">","configuration","=","model.config","``","`"]
docstr: Validate the `rope_scaling` configuration.
docstr_tok: ["Validate","the","`","rope_scaling","`","configuration","."]
code: def _rope_scaling_validation(self):
      """
      Validate the `rope_scaling` configuration.
      """
      if self.rope_scaling is None:
          return
  
      if (
          not isinstance(self.rope_scaling, dict)
          or len(self.rope_scaling) != 2
      ):
          raise ValueError(
              "`rope_scaling` must be a dictionary with with two fields, `name` and `factor`, "
              f"got {self.rope_scaling}"
          )
      rope_scaling_type = self.rope_scaling.get("type", None)
      rope_scaling_factor = self.rope_scaling.get("factor", None)
      if rope_scaling_type is None or rope_scaling_type not in [
          "linear",
          "dynamic",
      ]:
          raise ValueError(
              f"`rope_scaling`'s name field must be one of ['linear', 'dynamic'], got {rope_scaling_type}"
          )
      if (
          rope_scaling_factor is None
          or not isinstance(rope_scaling_factor, float)
          or rope_scaling_factor <= 1.0
      ):
          raise ValueError(
              f"`rope_scaling`'s factor field must be an float > 1, got {rope_scaling_factor}"
          )
  
imports: from transformers.configuration_utils import PretrainedConfig
  from transformers.utils import logging
label_desc: Use image node_id 2 for calling the LlamaConfig obj's underlying member method code with example usage: obj._rope_scaling_validation() without return types