code: def _model(c: Configs):
      """
      #### Create the model with Zero3 memory optimizer
      """
      from labml_nn.scaling.zero3 import Zero3Layer, Zero3Sequential
  
      # To make sure the fine tuner sets the trainable parameters
      _ = c.fine_tuner
  
      # Wrap the layers with `Zero3Layer`
      modules = []
      for m in monit.iterate("Zero3", c.layers):
          modules.append(
              Zero3Layer(
                  m.to(c.device),
                  c.rank,
                  c.world_size,
                  c.device,
                  c.dtype,
              )
          )
  
      # Create a sequential model
      model = Zero3Sequential(modules)
  
      #
      return model
  
file_path: annotated_deep_learning_paper_implementations/labml_nn/scaling/zero3/finetune_neox.py
imports: import datetime
  import torch
  import torch.distributed
  from labml import experiment, monit, tracker
  from labml.configs import option
  from labml.logger import inspect
  from labml_nn.neox.samples.finetune import PipelineParallelTrainerConf
label_desc: Use image node_id 2 for calling a global function with example usage: _model(c) and returns: model