code: def get_parser():
      parser = argparse.ArgumentParser()
      parser.add_argument(
          "--num-batches",
          type=int,
          default=10,
          help="",
      )
      parser.add_argument(
          "--batch-size",
          type=int,
          default=1,
          help="",
      )
      parser.add_argument(
          "--task",
          type=str,
          default=None,
          help="Task",
      )
      parser.add_argument(
          "--model",
          type=str,
          help="Model to benchmark",
      )
      parser.add_argument(
          "--prompt-length",
          type=int,
          default=256,
          help="",
      )
      parser.add_argument(
          "--new-tokens",
          type=int,
          default=256,
          help="",
      )
      parser.add_argument(
          "--prefill",
          action="store_true",
          help="For decoder models, benchmark only the prefill step with `prompt_length`.",
      )
      parser.add_argument(
          "--gptq",
          action="store_true",
          help="Indicate that the model to benchmark is a GPTQ model.",
      )
      parser.add_argument(
          "--bitsandbytes",
          action="store_true",
          help="Indicate that the model uses bitsandbytes through transformers load_in_4bit=True.",
      )
      parser.add_argument(
          "--sweep",
          action="store_true",
          help="Use the parameter ranges for (batch_size, prompt_length, new_tokens) defined in the .py file instead of the CLI ones.",
      )
      parser.add_argument(
          "--use-exllama",
          action="store_true",
          help="Use Exllama kernel, to rather use the AutoGPTQ CUDA (act-order case) or CUDA-old (no act-order case) kernels.",
      )
      parser.add_argument(
          "--exllama-version",
          type=int,
          default=2,
          help="Use Exllamav2 kernel. Set 1 in order to use exllama kernel",
      )
      parser.add_argument(
          "--generate",
          action="store_true",
          help="Calculate the generate speed (prompt processing + token generation)",
      )
      parser.add_argument(
          "--ppl",
          action="store_true",
          help="Calculate the perplexity on wikitext2 dataset",
      )
      parser.add_argument(
          "--revision",
          default=None,
          help="Revision of the model to benchmark",
      )
  
      return parser
  
file_path: optimum/tests/benchmark/benchmark_gptq.py
imports: import argparse
  import gc
  import os
  import time
  import numpy
  import torch
  from auto_gptq.utils import Perplexity
  from memory_tracker import MemoryTracker
  from tqdm import tqdm
  from transformers import AutoModel, AutoModelForCausalLM, AutoModelForSeq2SeqLM, AutoTokenizer, BitsAndBytesConfig, GenerationConfig, GPTQConfig
  from optimum.exporters import TasksManager
label_desc: Use image node_id 1 for calling a global function with example usage: get_parser() and returns: parser