code: def create_random_values(model, key_list, group, use_cuda=True):
      param_values = {}
      for n, lp in model.named_parameters():
          param_shape = (
              lp.ds_shape if hasattr(lp, "ds_id") else lp.shape
          )
          param_values[n] = {}
          for key in key_list:
              rand_value = torch.rand(
                  param_shape, dtype=torch.float32, device=model.device
              )
              dist.broadcast(rand_value, src=0, group=group)
              param_values[n][key] = rand_value
      return param_values
  
imports: import pytest
  import deepspeed.comm
  import torch
  from unit.common import DistributedTest
  from unit.simple_model import random_dataloader, SimpleModel
  from unit.util import bf16_required_version_check
  import deepspeed
  from deepspeed.utils import safe_get_full_fp32_param, safe_get_full_grad, safe_get_full_optimizer_state
  from deepspeed.utils import safe_set_full_fp32_param, safe_set_full_optimizer_state
  from deepspeed.utils import safe_get_local_fp32_param, safe_get_local_grad, safe_get_local_optimizer_state
  from deepspeed.utils import safe_set_local_fp32_param, safe_set_local_optimizer_state
  from deepspeed.runtime.zero.offload_config import OffloadDeviceEnum
  from deepspeed.ops.aio import AsyncIOBuilder
label_desc: Use image node_id 4 for calling a global function with example usage: create_random_values(model, key_list, group, use_cuda) and returns: param_values