code: def build_model(cls, args, task):
      base_ulm_architecture(args)
  
      if getattr(args, "max_target_positions", None) is None:
          args.max_target_positions = getattr(
              args, "tokens_per_sample", DEFAULT_MAX_TARGET_POSITIONS
          )
  
      embed_tokens = Embedding(
          len(task.source_dictionary),
          args.decoder_input_dim,
          padding_idx=task.source_dictionary.pad(),
      )
      embed_duration = None
      if task.cfg.discrete_duration:
          embed_duration = Embedding(
              len(task.source_duration_dictionary),
              args.decoder_input_dim,
              padding_idx=0,  # duration uses 0 for padding
          )
      embed_f0 = None
      if task.cfg.discrete_f0:
          embed_f0 = Embedding(
              len(task.source_f0_dictionary),
              args.decoder_input_dim,
              padding_idx=task.source_f0_dictionary.pad(),
          )
  
      decoder = MultiStreamTransformerDecoder(
          args,
          task.target_dictionary,
          embed_tokens,
          [embed_duration, embed_f0],
          no_encoder_attn=True,
          channel_sizes=task.channel_sizes,
      )
  
      return cls(args, task, decoder)
  
imports: from dataclasses import dataclass, field
  from fairseq.models.fairseq_decoder import FairseqDecoder
  import numpy
  from typing import Optional, Dict, Any, List
  import torch
  from torch import nn
  from fairseq.data.data_utils import compute_mask_indices
  from fairseq.dataclass import ChoiceEnum
  from fairseq.models import FairseqLanguageModel, register_model, register_model_architecture
  from fairseq.tasks.speech_ulm_task import SpeechUnitLanguageModelingTask
  from fairseq.models.transformer import Embedding, TransformerDecoder, Linear
  from fairseq.models.transformer_lm import TransformerLanguageModelConfig
  from torch import Tensor
label_desc: Use image node_id 2 for calling the TransformerUnitLanguageModel obj's underlying member method code with example usage: obj.build_model(cls, args, task) and returns: cls