class_docstr: QKV parameter container for Megatron-style QKV projection. Megatron stores the parameter
  as [n_heads, 3, head_size, in_features] whereas our inference system is built around
  [3, n_heads, head_size, in_features]. This container handles the conversion.
  
  Note: this container expects the model implementation to implement properties for
  `head_size` and `n_heads`.
  
  src_qkv_w shape: [3 * out_features, in_features]
  qkv_w shape: [3 * out_features, in_features]
code: def finalize(self) -> torch.Tensor:
      head_size = self.inference_model.head_size
      n_heads = self.inference_model.n_heads
  
      transposed_param = megatron_qkv_reshape(
          self.params, head_size, n_heads
      )
      return self.inference_model.transform_qkv_param(transposed_param)
  
file_path: deepspeed/deepspeed/inference/v2/model_implementations/common_parameters/qkv_parameters.py
imports: import torch
  from ...model_implementations.parameter_base import ParameterBase
label_desc: Use image node_id 1 for calling the MegatronQKVParameter obj's underlying member method code with example usage: obj.finalize() and returns: self