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 decoder.
      num_attention_heads (`int`, *optional*, defaults to 32):
          Number of attention heads for each attention layer in the Transformer decoder.
      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`.
      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. Llama 1 supports up to 2048 tokens,
          Llama 2 up to 4096, CodeLlama up to 16384.
      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-06):
          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`.
      pad_token_id (`int`, *optional*):
          Padding token id.
      bos_token_id (`int`, *optional*, defaults to 1):
          Beginning of stream token id.
      eos_token_id (`int`, *optional*, defaults to 2):
          End of stream token id.
      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).
      tie_word_embeddings (`bool`, *optional*, defaults to `False`):
          Whether to tie weight embeddings
      rope_theta (`float`, *optional*, defaults to 10000.0):
          The base period of the RoPE 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 a 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.
      attention_bias (`bool`, defaults to `False`, *optional*, defaults to `False`):
          Whether to use a bias in the query, key, value and output projection layers during self-attention.
      attention_dropout (`float`, *optional*, defaults to 0.0):
          The dropout ratio for the attention probabilities.
  
  ```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","decoder",".","num_attention_heads","(","`","int","`",",","*","optional","*",",","defaults","to","32",")",":","Number","of","attention","heads","for","each","attention","layer","in","the","Transformer","decoder",".","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","`",".","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",".","Llama","1","supports","up","to","2048","tokens",",","Llama","2","up","to","4096",",","CodeLlama","up","to","16384.","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-06",")",":","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","`",".","pad_token_id","(","`","int","`",",","*","optional","*",")",":","Padding","token","id",".","bos_token_id","(","`","int","`",",","*","optional","*",",","defaults","to","1",")",":","Beginning","of","stream","token","id",".","eos_token_id","(","`","int","`",",","*","optional","*",",","defaults","to","2",")",":","End","of","stream","token","id",".","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",")",".","tie_word_embeddings","(","`","bool","`",",","*","optional","*",",","defaults","to","`","False","`",")",":","Whether","to","tie","weight","embeddings","rope_theta","(","`","float","`",",","*","optional","*",",","defaults","to","10000.0",")",":","The","base","period","of","the","RoPE","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","a","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",".","attention_bias","(","`","bool","`",",","defaults","to","`","False","`",",","*","optional","*",",","defaults","to","`","False","`",")",":","Whether","to","use","a","bias","in","the","query",",","key",",","value","and","output","projection","layers","during","self-attention",".","attention_dropout","(","`","float","`",",","*","optional","*",",","defaults","to","0.0",")",":","The","dropout","ratio","for","the","attention","probabilities",".","``","`","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","``","`"]
code: def __init__(
      self,
      vocab_size=32000,
      hidden_size=4096,
      intermediate_size=11008,
      num_hidden_layers=32,
      num_attention_heads=32,
      num_key_value_heads=None,
      hidden_act="silu",
      max_position_embeddings=2048,
      initializer_range=0.02,
      rms_norm_eps=1e-6,
      use_cache=True,
      pad_token_id=None,
      bos_token_id=1,
      eos_token_id=2,
      pretraining_tp=1,
      tie_word_embeddings=False,
      rope_theta=10000.0,
      rope_scaling=None,
      attention_bias=False,
      attention_dropout=0.0,
      **kwargs,
  ):
      self.vocab_size = vocab_size
      self.max_position_embeddings = max_position_embeddings
      self.hidden_size = hidden_size
      self.intermediate_size = intermediate_size
      self.num_hidden_layers = num_hidden_layers
      self.num_attention_heads = num_attention_heads
  
      # for backward compatibility
      if num_key_value_heads is None:
          num_key_value_heads = num_attention_heads
  
      self.num_key_value_heads = num_key_value_heads
      self.hidden_act = hidden_act
      self.initializer_range = initializer_range
      self.rms_norm_eps = rms_norm_eps
      self.pretraining_tp = pretraining_tp
      self.use_cache = use_cache
      self.rope_theta = rope_theta
      self.rope_scaling = rope_scaling
      self._rope_scaling_validation()
      self.attention_bias = attention_bias
      self.attention_dropout = attention_dropout
  
      super().__init__(
          pad_token_id=pad_token_id,
          bos_token_id=bos_token_id,
          eos_token_id=eos_token_id,
          tie_word_embeddings=tie_word_embeddings,
          **kwargs,
      )
  
imports: import math
  from typing import Optional, Tuple
  import pdb
  import torch
  from torch import nn
  import torch.utils.checkpoint
  import torch.nn.functional
  from transformers.models.llama.modeling_llama import LlamaAttention, rotate_half, apply_rotary_pos_emb, LlamaRotaryEmbedding, apply_rotary_pos_emb, LlamaForCausalLM
  import types
  from transformers.configuration_utils import PretrainedConfig
label_desc: Use image node_id 1 to create a new LlamaConfig object from inherited base classes: PretrainedConfig with example: obj = LlamaConfig(vocab_size, hidden_size, intermediate_size, num_hidden_layers, num_attention_heads, num_key_value_heads, hidden_act, max_position_embeddings, initializer_range, rms_norm_eps, use_cache, pad_token_id, bos_token_id, eos_token_id, pretraining_tp, tie_word_embeddings, rope_theta, rope_scaling, attention_bias, attention_dropout)