class_docstr: Relative Position Embedding implementation from the T5 paper : https://arxiv.org/abs/1910.10683
docstr: Adapted from HuggingFace T5 Model
  https://github.com/huggingface/transformers/blob/b5e2b183af5e40e33a4dc7659e697d137259d56e/
  src/transformers/models/t5/modeling_t5.py#L401
code: def _compute_relative_position_bucket(self, query_length, key_length):
      """
      Adapted from HuggingFace T5 Model
      https://github.com/huggingface/transformers/blob/b5e2b183af5e40e33a4dc7659e697d137259d56e/
      src/transformers/models/t5/modeling_t5.py#L401
      """
  
      """Compute binned relative position bias"""
      device = self.relative_position_embedding.weight.device
      context_position = torch.arange(
          query_length, dtype=torch.long, device=device
      )[:, None]
      memory_position = torch.arange(
          key_length, dtype=torch.long, device=device
      )[None, :]
  
      relative_position = (
          memory_position - context_position
      )  # shape (query_length, key_length)
      relative_position_bucket_tensor = self._relative_position_bucket(
          relative_position,  # shape (query_length, key_length)
          bidirectional=self.bidirectional,
          num_buckets=self.relative_position_num_buckets,
          max_distance=self.relative_position_max_distance,
      )
  
      return relative_position_bucket_tensor
  
file_path: NeMo/nemo/collections/nlp/modules/common/megatron/position_embedding/t5_relative_position_embedding.py
imports: import math
  import torch
label_desc: Use image node_id 3 for calling the T5RelativePositionEmbedding obj's underlying member method code with example usage: obj._compute_relative_position_bucket(query_length, key_length) and returns: relative_position_bucket_tensor