code: def SwiGLU(x):
      """Gated linear unit activation function.
      Args:
          x : input array
          axis: the axis along which the split should be computed (default: -1)
      """
      size = x.shape[-1]
      assert size % 2 == 0, "axis size must be divisible by 2"
      x1, x2 = torch.split(x, size // 2, -1)
      return x1 * (x2 * torch.sigmoid(x2))
  
imports: import math
  from typing import List, Optional, Tuple, Union
  import torch
  import torch.nn.functional
  import torch.utils.checkpoint
  from torch import nn
  from transformers.modeling_outputs import BaseModelOutputWithPast, CausalLMOutputWithPast
  from transformers.modeling_utils import PreTrainedModel
  from transformers.models.llama.modeling_llama import LlamaConfig, LlamaRMSNorm
  from transformers.utils import add_start_docstrings, add_start_docstrings_to_model_forward, logging, replace_return_docstrings
  from colossalai.kernel.cuda_native.mha.flash_attn_2 import HAS_FLASH_ATTN
  from colossalai.kernel.triton.llama_act_combine_kernel import HAS_TRITON
  from colossalai.moe.layers import SparseMLP
  from colossalai.moe.manager import MOE_MANAGER
  from colossalai.moe.utils import get_activation, set_moe_args
label_desc: Use image node_id 7 for calling a global function with example usage: SwiGLU(x) and returns: unknown