class_docstr: Split the vocabulary into `world_size` chunks amd return the
  first and last index of the vocabulary belonging to the `rank`
  partition: Note that indices in [first, last)
code: def vocab_range_from_per_partition_vocab_size(
      per_partition_vocab_size: int, rank: int, world_size: int
  ) -> Tuple[int, int]:
      index_f = rank * per_partition_vocab_size
      index_l = index_f + per_partition_vocab_size
      return index_f, index_l
  
imports: from typing import Tuple
  import torch
label_desc: Use image node_id 1 for calling the VocabUtility obj's underlying member method code with example usage: obj.vocab_range_from_per_partition_vocab_size(per_partition_vocab_size, rank, world_size) and returns: index_f,  index_l