code: def attention_lm_moe_small():
      """Cheap model for single-gpu training.
  
      on lm1b_32k:
         ~312M params
         1.6 steps/sec on  [GeForce GTX TITAN X]
         After 50K steps on 8 GPUs (synchronous):
            eval_log_ppl_per_token = 3.31
  
      Returns:
        an hparams object.
      """
      hparams = attention_lm_moe_base()
      hparams.num_hidden_layers = 4
      hparams.hidden_size = 512
      hparams.filter_size = 2048
      hparams.moe_num_experts = 128
      hparams.moe_layers = "2"
      return hparams
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import functools
  from six.moves import range
  from tensor2tensor.layers import common_attention
  from tensor2tensor.layers import common_hparams
  from tensor2tensor.layers import common_layers
  from tensor2tensor.utils import expert_utils
  from tensor2tensor.utils import registry
  from tensor2tensor.utils import t2t_model
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
label_desc: Use image node_id 17 for calling a global function with example usage: attention_lm_moe_small() and returns: hparams