vllm.model_executor.layers.activation
Custom activation functions.
 module-attribute  ¶
 _ACTIVATION_AND_MUL_REGISTRY = LazyDict(
    {
        "gelu": lambda: GeluAndMul(),
        "silu": lambda: SiluAndMul(),
        "geglu": lambda: GeluAndMul(),
    }
)
 module-attribute  ¶
 _ACTIVATION_REGISTRY = LazyDict(
    {
        "gelu": lambda: GELU(),
        "gelu_fast": lambda: FastGELU(),
        "gelu_new": lambda: NewGELU(),
        "gelu_pytorch_tanh": lambda: GELU(
            approximate="tanh"
        ),
        "relu": lambda: ReLU(),
        "relu2": lambda: ReLUSquaredActivation(),
        "silu": lambda: SiLU(),
        "quick_gelu": lambda: QuickGELU(),
    }
)
 
  Bases: CustomOp
Source code in vllm/model_executor/layers/activation.py
  
  Bases: CustomOp
An activation function for FATReLU.
The function computes x -> FATReLU(x[:d]) * x[d:] where d = x.shape[-1] // 2. This is used in openbmb/MiniCPM-S-1B-sft.
Shapes
x: (num_tokens, 2 * d) or (batch_size, seq_len, 2 * d) return: (num_tokens, d) or (batch_size, seq_len, d)
Source code in vllm/model_executor/layers/activation.py
  
  Bases: CustomOp
An activation function for GeGLU.
The function computes x -> GELU(x[:d]) * x[d:] where d = x.shape[-1] // 2.
Shapes
x: (batch_size, seq_len, 2 * d) or (num_tokens, 2 * d) return: (batch_size, seq_len, d) or (num_tokens, d)
Source code in vllm/model_executor/layers/activation.py
  
 __init__(approximate: str = 'none')
Source code in vllm/model_executor/layers/activation.py
  
    
  PyTorch-native implementation equivalent to forward().
 
    
  Bases: CustomOp
An activation function for GeluAndMulSparse. This activation function is used in Gemma3n. It computes: up_proj = self.up_proj(x) gate_proj = self.gate_proj(x) gate_proj = self._gaussian_topk(gate_proj) # sparsity activations = self.act_fn(gate_proj) # gelu down_proj = self.down_proj(activations * up_proj) Shapes: x: (num_tokens, 2 * d) or (batch_size, seq_len, 2 * d) return: (num_tokens, d) or (batch_size, seq_len, d)
Source code in vllm/model_executor/layers/activation.py
  
  Source code in vllm/model_executor/layers/activation.py
  
  Get % sparse percentile of the Gaussian distribution.
Source code in vllm/model_executor/layers/activation.py
  
    
  PyTorch-native implementation equivalent to forward().
Source code in vllm/model_executor/layers/activation.py
   
  Bases: CustomOp
An activation function for SwiGLU.
The function computes x -> x[:d] * silu(x[d:]) where d = x.shape[-1] // 2.
Shapes
x: (num_tokens, 2 * d) or (batch_size, seq_len, 2 * d) return: (num_tokens, d) or (batch_size, seq_len, d)
Source code in vllm/model_executor/layers/activation.py
  
  Bases: CustomOp
Source code in vllm/model_executor/layers/activation.py
  
  Bases: CustomOp
Source code in vllm/model_executor/layers/activation.py
  
  Bases: CustomOp
Applies the relu^2 activation introduced in https://arxiv.org/abs/2109.08668v2
Source code in vllm/model_executor/layers/activation.py
  
  Bases: Module
An activation function with post-scale parameters.
This is used for some quantization methods like AWQ.
Source code in vllm/model_executor/layers/activation.py
  instance-attribute  ¶
 scales = Parameter(
    empty(
        intermediate_size_per_partition, dtype=params_dtype
    )
)
 
 __init__(
    act_module: Module,
    intermediate_size: int,
    input_is_parallel: bool = True,
    params_dtype: Optional[dtype] = None,
)
Source code in vllm/model_executor/layers/activation.py
  
    
 weight_loader(param: Parameter, loaded_weight: Tensor)
Source code in vllm/model_executor/layers/activation.py
  
  Bases: CustomOp
An activation function for SwiGLU.
The function computes x -> silu(x[:d]) * x[d:] where d = x.shape[-1] // 2.
Shapes
x: (num_tokens, 2 * d) or (batch_size, seq_len, 2 * d) return: (num_tokens, d) or (batch_size, seq_len, d)
Source code in vllm/model_executor/layers/activation.py
  
  Get an activation-and-mul (i.e. SiluAndMul) function by name.
Source code in vllm/model_executor/layers/activation.py
  
  Get an activation function by name.