code: def _load_gqa(config, prefix: str, weights):
      assert config.hidden_size % config.num_attention_heads == 0
      assert (
          config.num_attention_heads % weights.process_group.size() == 0
      )
  
      weight = weights.get_multi_weights_col(
          prefixes=[
              f"{prefix}.q_proj",
              f"{prefix}.k_proj",
              f"{prefix}.v_proj",
          ],
          quantize=config.quantize,
          dim=0,
      )
  
      if config.quantize not in ["gptq", "awq"]:
          weight = weight.to(dtype=weights.dtype).to(
              device=weights.device
          )
  
          head_size = config.hidden_size // config.num_attention_heads
          num_heads = (
              config.num_attention_heads // weights.process_group.size()
          )
          num_key_value_heads = (
              config.num_key_value_heads // weights.process_group.size()
          )
          assert list(weight.shape) == [
              (num_heads + 2 * num_key_value_heads) * head_size,
              config.hidden_size,
          ], f"{list(weight.shape)} != {[(num_heads + 2 * config.num_key_value_heads) * head_size, config.hidden_size]}"
  
      return TensorParallelColumnLinear(
          get_linear(weight, bias=None, quantize=config.quantize)
      )
  
imports: import torch
  import torch.distributed
  from torch import nn
  from transformers.activations import ACT2FN
  from transformers.configuration_utils import PretrainedConfig
  from typing import Optional, List, Tuple
  from text_generation_server.utils import paged_attention, flash_attn
  from text_generation_server.utils.layers import TensorParallelRowLinear, TensorParallelColumnLinear, TensorParallelEmbedding, PositionRotaryEmbedding, TensorParallelHead, get_linear, FastRMSNorm
label_desc: Use image node_id 2 for calling a global function with example usage: _load_gqa(config, prefix, weights) and returns: TensorParallelColumnLinear