Shortcuts

llama3

torchtune.models.llama3.llama3(vocab_size: int, num_layers: int, num_heads: int, num_kv_heads: int, embed_dim: int, max_seq_len: int, attn_dropout: float = 0.0, rope_base: int = 500000, intermediate_dim: Optional[int] = None, norm_eps: float = 1e-05) TransformerDecoder[source]

Build the decoder associated with the Llama3 model. This includes: - Token embeddings - num_layers number of TransformerSelfAttentionLayer blocks - RMS Norm layer applied to the output of the transformer - Final projection into token space

Parameters:
  • vocab_size (int) – number of tokens in vocabulary.

  • num_layers (int) – number of layers in the transformer decoder.

  • num_heads (int) – number of query heads. For MHA this is also the number of heads for key and value

  • num_kv_heads (int) – number of key and value heads. User should ensure num_heads % num_kv_heads == 0. For standard MHA set num_kv_heads == num_heads, for GQA num_kv_heads < num_heads, and for MQA set num_kv_heads == 1.

  • embed_dim (int) – embedding dimension for self-attention

  • max_seq_len (int) – maximum sequence length the model will be run with, as used by KVCache()

  • attn_dropout (float) – dropout value passed onto scaled_dot_product_attention. Default: 0.0

  • rope_base (int) – base for the rotary positional embeddings. Default: 500_000

  • intermediate_dim (Optional[int]) – intermediate dimension for MLP. If not specified, this is computed using scale_hidden_dim_for_mlp()

  • norm_eps (float) – epsilon in RMS norms.

Returns:

Instantiation of Llama3 model.

Return type:

TransformerDecoder

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources