code: def forward(
      self, hidden_states, attention_mask=None, *args, **kwargs
  ):
      # attention mask from transformers is a tensor.
      # sizes are[batch_size, 1, 1, to_seq_length]
      # masked value is -10000.0, unmasked value is 0.0
      if attention_mask is not None:
          ls_attention_mask = attention_mask.squeeze()
      else:
          ls_attention_mask = torch.zeros(hidden_states.size()[:2])
      output = super().forward(hidden_states, ls_attention_mask)
      return (output, None, None, None)
  
file_path: lightseq/lightseq/training/ops/pytorch/gpt_layer.py
imports: import torch
  from lightseq.training.ops.pytorch import TransformerBuilder
  from lightseq.training.ops.pytorch.transformer_encoder_layer import LSTransformerEncoderLayer
  from lightseq.training.ops.pytorch.quantization import weight_quant_config, act_quant_config
label_desc: Use image node_id 2 for calling the LSHFGptEncoderLayer obj's underlying member method code with example usage: obj.forward(hidden_states, attention_mask) and returns: output,  None,  None,  None