pub trait ModelConfigTrait {
// Required methods
fn vocab_size(&self) -> usize;
fn hidden_size(&self) -> usize;
fn intermediate_size(&self) -> usize;
fn num_hidden_layers(&self) -> usize;
fn num_attention_heads(&self) -> usize;
fn num_key_value_heads(&self) -> Option<usize>;
fn max_position_embeddings(&self) -> usize;
fn rms_norm_eps(&self) -> f64;
fn rope_theta(&self) -> f64;
}Expand description
Base model configuration trait
Required Methods§
Sourcefn vocab_size(&self) -> usize
fn vocab_size(&self) -> usize
Get vocabulary size
Get hidden dimension
Sourcefn intermediate_size(&self) -> usize
fn intermediate_size(&self) -> usize
Get intermediate dimension (FFN)
Get number of hidden layers
Sourcefn num_attention_heads(&self) -> usize
fn num_attention_heads(&self) -> usize
Get number of attention heads
Sourcefn num_key_value_heads(&self) -> Option<usize>
fn num_key_value_heads(&self) -> Option<usize>
Get number of KV heads (for GQA)
Sourcefn max_position_embeddings(&self) -> usize
fn max_position_embeddings(&self) -> usize
Get maximum position embeddings
Sourcefn rms_norm_eps(&self) -> f64
fn rms_norm_eps(&self) -> f64
Get RMS norm epsilon
Sourcefn rope_theta(&self) -> f64
fn rope_theta(&self) -> f64
Get RoPE theta base