code: def loss_func(
      loss_mask,
      sentence_order,
      seq_lengths,
      output_tensor,
      non_loss_data,
  ):
      """Loss function. Sequence lengths returned here for progress print-outs."""
      assert non_loss_data
      return seq_lengths, output_tensor
  
imports: from functools import partial
  import numpy
  import os
  import time
  import torch
  from torch.utils.data import BatchSampler, DataLoader, SequentialSampler, Subset
  from torch.utils.data._utils.collate import default_collate
  from tqdm import tqdm
  from megatron import get_args, get_tokenizer, print_rank_0
  from megatron import core
  from megatron.arguments import core_transformer_config_from_args
  from megatron.core.enums import ModelType
  from megatron.core.pipeline_parallel import get_forward_backward_func
  from megatron.model import BertModel
  from megatron.training import setup_model_and_optimizer
  from .dataset import BertEmbeddingDataset
  from .external_libs import h5py
  from .huggingface import HuggingfaceEmbedder
  from .utils import get_missing_blocks_by_rank
label_desc: Use image node_id 3 for calling a global function with example usage: loss_func(loss_mask, sentence_order, seq_lengths, output_tensor, non_loss_data) and returns: seq_lengths,  output_tensor