code: def get_next_global_batch(self):
      if self.data_efficiency_config[DATA_SAMPLING][
          CURRICULUM_LEARNING
      ][CURRICULUM_LEARNING_ENABLED]:
          self.curriculum_step += 1
          new_cluster = False
          previous_difficulties = {}
          for metric in self.curriculum_schedulers:
              next_difficulty = self.curriculum_schedulers[
                  metric
              ].update_difficulty(self.curriculum_step)
              if (
                  metric not in self.current_difficulties
                  or next_difficulty
                  != self.current_difficulties[metric]
              ):
                  new_cluster = True
              if metric in self.current_difficulties:
                  previous_difficulties[
                      metric
                  ] = self.current_difficulties[metric]
              else:
                  if (
                      self.difficulty_type[metric]
                      == CURRICULUM_LEARNING_VALUE_BASED
                  ):
                      previous_difficulties[metric] = float("-inf")
                  elif (
                      self.difficulty_type[metric]
                      == CURRICULUM_LEARNING_PERCENTILE_BASED
                  ):
                      previous_difficulties[metric] = 0
              self.current_difficulties[metric] = next_difficulty
          if new_cluster:
              self.get_new_cluster(previous_difficulties)
          if self.global_rank == 0:
              samples_per_cluster = self.sample_from_clusters()
              batch = []
              for cidx in range(len(samples_per_cluster)):
                  batch += self.get_sample_from_cluster(
                      cidx, samples_per_cluster[cidx]
                  )
              self.np_rng.shuffle(batch)
              batch = torch.tensor(
                  batch,
                  device=get_accelerator().current_device_name(),
                  dtype=torch.long,
              ).view(-1)
          else:
              batch = torch.empty(
                  self.global_batch_size,
                  device=get_accelerator().current_device_name(),
                  dtype=torch.long,
              )
          dist.broadcast(batch, 0, group=self.data_parallel_group)
          self.batch = batch.tolist()
  
imports: import torch
  import os
  import numpy
  import deepspeed.comm
  from deepspeed.utils import logger
  from deepspeed.accelerator import get_accelerator
  from ..constants import *
  from ..curriculum_scheduler import CurriculumScheduler
  from .indexed_dataset import MMapIndexedDataset
  from .utils import create_mmap_dataset_builder, close_mmap_dataset_builder, find_fit_int_dtype
label_desc: Use image node_id 11 for calling the DeepSpeedDataSampler obj's underlying member method code with example usage: obj.get_next_global_batch() without return types