For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).
Python module
max.pipelines.architectures.llama3_modulev3
Llama 3 transformer architecture for text generation.
Llama3Configβ
class max.pipelines.architectures.llama3_modulev3.Llama3Config(*, hidden_size, num_attention_heads, num_key_value_heads, num_hidden_layers, rope_theta, rope_scaling_params, max_seq_len, intermediate_size, interleaved_rope_weights, vocab_size, dtype, kv_params, return_logits=ReturnLogits.LAST_TOKEN, norm_method='rms_norm', attention_bias=False, rms_norm_eps=None, tie_word_embeddings=False, stacked_mlp=False, stacked_qkv=False, attention_multiplier, embedding_multiplier, residual_multiplier, devices, clip_qkv=None, norm_elementwise_affine=True, longrope_scaling_params=None, logits_scaling=1.0, return_hidden_states=ReturnHiddenStates.NONE)
Bases: ArchConfigWithStoredKVParams, ArchConfigWithKVCache
Model configuration for Llama3 graph construction/execution.
-
Parameters:
-
- hidden_size (int)
- num_attention_heads (int)
- num_key_value_heads (int)
- num_hidden_layers (int)
- rope_theta (float)
- rope_scaling_params (Llama3RopeScalingParams | None)
- max_seq_len (int)
- intermediate_size (int)
- interleaved_rope_weights (bool)
- vocab_size (int)
- dtype (DType)
- kv_params (KVCacheParams)
- return_logits (ReturnLogits)
- norm_method (Literal['rms_norm', 'layer_norm'])
- attention_bias (bool)
- rms_norm_eps (float | None)
- tie_word_embeddings (bool)
- stacked_mlp (bool)
- stacked_qkv (bool)
- attention_multiplier (float)
- embedding_multiplier (float)
- residual_multiplier (float)
- devices (list[DeviceRef])
- clip_qkv (float | None)
- norm_elementwise_affine (bool)
- longrope_scaling_params (LongRoPEScalingParams | None)
- logits_scaling (float)
- return_hidden_states (ReturnHiddenStates)
attention_biasβ
attention_bias: bool = False
attention_multiplierβ
attention_multiplier: float
calculate_attention_multiplier()β
static calculate_attention_multiplier(huggingface_config)
-
Parameters:
-
huggingface_config (AutoConfig)
-
Return type:
clip_qkvβ
construct_kv_params()β
classmethod construct_kv_params(huggingface_config, pipeline_config, devices, kv_cache_config, cache_dtype)
Grouped-attention KV with EAGLE draft-token count when speculative is on.
-
Parameters:
-
- huggingface_config (AutoConfig)
- pipeline_config (PipelineConfig)
- devices (list[DeviceRef])
- kv_cache_config (KVCacheConfig)
- cache_dtype (DType)
-
Return type:
devicesβ
dtypeβ
dtype: DType
embedding_multiplierβ
embedding_multiplier: float
finalize()β
finalize(huggingface_config, state_dict, return_logits, return_hidden_states=ReturnHiddenStates.NONE, norm_method='rms_norm', attention_bias=False)
Define parameters that canβt be determined just from the pipeline config.
-
Parameters:
-
- huggingface_config (AutoConfig)
- state_dict (dict[str, WeightData])
- return_logits (ReturnLogits)
- return_hidden_states (ReturnHiddenStates)
- norm_method (Literal['rms_norm', 'layer_norm'])
- attention_bias (bool)
-
Return type:
-
None
get_head_dim_from_config()β
static get_head_dim_from_config(config)
-
Parameters:
-
config (Llama3Config)
-
Return type:
get_num_layers()β
static get_num_layers(huggingface_config)
Layer count for the decoder stack (override when HF uses a different field).
-
Parameters:
-
huggingface_config (AutoConfig)
-
Return type:
hidden_sizeβ
hidden_size: int
initialize()β
classmethod initialize(pipeline_config, model_config=None)
Initialize the config from a PipelineConfig.
-
Parameters:
-
- pipeline_config (PipelineConfig) β The pipeline configuration.
- model_config (MAXModelConfig | None) β The model configuration to read from. When
None(the default),pipeline_config.modelis used. Pass an explicit config (e.g.pipeline_config.draft_model) to initialize the arch config for a different model.
-
Return type:
interleaved_rope_weightsβ
interleaved_rope_weights: bool
intermediate_sizeβ
intermediate_size: int
kv_paramsβ
kv_params: KVCacheParams
logits_scalingβ
logits_scaling: float = 1.0
longrope_scaling_paramsβ
longrope_scaling_params: LongRoPEScalingParams | None = None
max_seq_lenβ
max_seq_len: int
norm_elementwise_affineβ
norm_elementwise_affine: bool = True
norm_methodβ
norm_method: Literal['rms_norm', 'layer_norm'] = 'rms_norm'
num_attention_headsβ
num_attention_heads: int
num_hidden_layersβ
num_hidden_layers: int
num_key_value_headsβ
num_key_value_heads: int
residual_multiplierβ
residual_multiplier: float
return_hidden_statesβ
return_hidden_states: ReturnHiddenStates = 'none'
return_logitsβ
return_logits: ReturnLogits = 'last_token'
rms_norm_epsβ
rope_scaling_paramsβ
rope_scaling_params: Llama3RopeScalingParams | None
rope_thetaβ
rope_theta: float
stacked_mlpβ
stacked_mlp: bool = False
stacked_qkvβ
stacked_qkv: bool = False
tie_word_embeddingsβ
tie_word_embeddings: bool = False
vocab_sizeβ
vocab_size: int
Llama3Inputsβ
class max.pipelines.architectures.llama3_modulev3.Llama3Inputs(tokens, input_row_offsets, return_n_logits, *, kv_cache_inputs=None, lora_ids=None, lora_ranks=None, hidden_states=None)
Bases: ModelInputs
A class representing inputs for the Llama3 model.
-
Parameters:
buffersβ
Returns positional Buffer inputs for model ABI calls.
input_row_offsetsβ
input_row_offsets: Buffer
return_n_logitsβ
return_n_logits: Buffer
tokensβ
tokens: Buffer
Llama3Modelβ
class max.pipelines.architectures.llama3_modulev3.Llama3Model(pipeline_config, session, devices, kv_cache_config, weights, adapter=None, return_logits=ReturnLogits.LAST_TOKEN, return_hidden_states=ReturnHiddenStates.NONE)
Bases: LogProbabilitiesMixin, PipelineModelWithKVCache[TextContext]
Llama3 pipeline model using the ModuleV3 API.
-
Parameters:
-
- pipeline_config (PipelineConfig)
- session (InferenceSession)
- devices (list[Device])
- kv_cache_config (KVCacheConfig)
- weights (Weights)
- adapter (WeightsAdapter | None)
- return_logits (ReturnLogits)
- return_hidden_states (ReturnHiddenStates)
attention_biasβ
attention_bias: bool = False
config_classβ
config_class
alias of Llama3Config
execute()β
execute(model_inputs)
Executes the graph with the given inputs.
-
Parameters:
-
model_inputs (ModelInputs) β The model inputs to execute, containing tensors and any other required data for model execution.
-
Returns:
-
ModelOutputs containing the pipelineβs output tensors.
-
Return type:
This is an abstract method that must be implemented by concrete PipelineModels to define their specific execution logic.
load_model()β
load_model()
model_config_clsβ
model_config_cls
alias of Llama3Config
norm_methodβ
norm_method: Literal['rms_norm'] | Literal['layer_norm'] = 'rms_norm'
prepare_initial_token_inputs()β
prepare_initial_token_inputs(replica_batches, kv_cache_inputs=None, return_n_logits=1)
Prepares the initial inputs to be passed to execute().
The inputs and functionality can vary per model. For example, model
inputs could include encoded tensors, unique IDs per tensor when using
a KV cache manager, and kv_cache_inputs (or None if the model does
not use KV cache). This method typically batches encoded tensors,
claims a KV cache slot if needed, and returns the inputs and caches.
-
Parameters:
-
- replica_batches (Sequence[Sequence[TextContext]])
- kv_cache_inputs (KVCacheInputs[Buffer, Buffer] | None)
- return_n_logits (int)
-
Return type:
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!