code: def attn_qkv():
      return [
          Layer(
              weight="attn.c_attn.weight",
              bias="attn.c_attn.bias",
              n_fused=3,
              reversed=True,
          ),
          Layer(
              weight="crossattention.c_attn.weight",
              bias="crossattention.c_attn.bias",
              n_fused=2,
              reversed=True,
              ignore_checker=True,
          ),
          Layer(
              weight="crossattention.q_attn.weight",
              bias="crossattention.q_attn.bias",
              reversed=True,
              ignore_checker=True,
          ),
      ]
  
file_path: parallelformers/parallelformers/policies/gpt2.py
imports: from transformers.models.gpt2.modeling_gpt2 import GPT2Block
  from parallelformers.policies.base import Policy
  from parallelformers.policies.base.policy import Layer
  from parallelformers.utils import AllReduceConv1D
label_desc: Use image node_id 2 for calling the GPT2Policy obj's underlying member method code with example usage: obj.attn_qkv() and returns: list