code: def _vocab_size_with_padding(
      orig_vocab_size, make_vocab_size_divisible_by=128
  ):
      """Pad vocab size so it is divisible by model parallel size and
      still having GPU friendly size."""
  
      after = orig_vocab_size
  
      if gpc.is_initialized(ParallelMode.TENSOR):
          multiple = make_vocab_size_divisible_by * gpc.get_world_size(
              ParallelMode.TENSOR
          )
      else:
          multiple = make_vocab_size_divisible_by
      while (after % multiple) != 0:
          after += 1
      if (
          not gpc.is_initialized(ParallelMode.GLOBAL)
          or gpc.get_global_rank() == 0
      ):
          print(
              " > padded vocab (size: {}) with {} dummy tokens "
              "(new size: {})".format(
                  orig_vocab_size, after - orig_vocab_size, after
              ),
              flush=True,
          )
      return after
  
imports: from abc import ABC, abstractmethod
  from colossalai.legacy.context import ParallelMode
  from colossalai.legacy.core import global_context
  from .bert_tokenization import FullTokenizer
label_desc: Use image node_id 2 for calling a global function with example usage: _vocab_size_with_padding(orig_vocab_size, make_vocab_size_divisible_by) and returns: after