class_docstr: 继承 ``_DDPWrappingModel``，区别在于进行 forward 之前先将 float 数据转换为 float16
code: def forward(self, batch, **kwargs):
      if self.fp16:
          batch = self._move_float_tensors_to_half(batch)
  
      return super().forward(batch, **kwargs)
  
imports: import os
  from typing import Any, Dict, Optional, Union
  from enum import IntEnum
  import contextlib
  import random
  import numpy
  import inspect
  from fastNLP.envs.imports import _NEED_IMPORT_TORCH
  from fastNLP.envs.utils import get_global_seed
  from fastNLP.envs import get_global_rank, FASTNLP_BACKEND_LAUNCH, FASTNLP_GLOBAL_SEED
  from fastNLP.core.samplers import re_instantiate_sampler, ReproducibleBatchSampler, ReproducibleSampler
  from fastNLP.core.utils import auto_param_call, apply_to_collection
  from fastNLP.core.log import logger
label_desc: Use image node_id 2 for calling the _DeepSpeedWrappingModel obj's underlying member method code with example usage: obj.forward(batch) and returns: super