Перейти к основному содержимому

benchmark_run_config

BenchmarkRunConfig Objects

@dataclass
class BenchmarkRunConfig()

Dataclass для хранения всех параметров запуска бенчмарка для одной модели в рамках одной структуры с полями.

Attributes:

  • dataset str - Название датасета, на котором будем оценивать работу модели.
  • framework str - Название фреймворка для инференса VLM-моделей (например, "Hugging Face", "vLLM", "SgLang").
  • model_name str - Название VLM-модели, которую будем оценивать на бенчмарке (например, "Qwen2-VL-2B").
  • model_family str - Название семейства VLM-модели, которую будем оценивать на бенчмарке (например, "Qwen2-VL").
  • task_name str - Название типа задачи, на которой оцениваем VLM-модель (например, "VQA", "RPO").
  • prompt_collection str - Название csv-файла, содержащего коллекцию промптов для модели, которые и будут использованы при бенчмарке модели.
  • docker_image str - Название Docker image, в котором будем проводить бенчмарк модели. Если None, то будет использован Docker image из vlmhyperbench/vlm_base.csv, для запуска указанной модели в указанном фреймворке инференса.
  • python_package str - Название python-пакета с классом нужной VLM-модели.
  • module str - Название модуля в python-пакете с классом нужной VLM-модели.
  • class_name str - Название класса нужной VLM-модели в указанном python-пакете.
  • system_prompt str | None - Название текстового файла, содержащего system prompt, который будет передан VLM-модели при ее инициализации. Optional. Defaults to None.
  • metrics list[str] | None - Список метрик, которые будем оценивать по ответам модели (например, ['WER', 'CER', 'BLEU']). Optional. Defaults to None. Если None, то метрики оцениваться не будут и этап 2 будет пропущен.
  • only_evaluate_metrics bool - Если True, то пропускаем этап 1 оценки VLM-модели на датасете и сразу переходим к этапу оценки метрик. Optional. Defaults to False.
  • metrics_aggregators list[str] | None - Список типов агрегаторов, используя которые рассчитываем метрики (например, ["by_id", "by_doc_type", "overall"]). Optional. Defaults to None. Если None, то метрики оцениваться не будут и этап 2 будет пропущен.
  • filter_doc_class str | None - Разметка датасета annotation.csv, будет отфильтрована, так чтобы в датасете в столбце "doc_class" остались только значения равные заданному. Optional. Defaults to None.
  • filter_question_type str | None - Разметка датасета annotation.csv, будет отфильтрована, так чтобы в датасете в столбце "question_type" остались только значения равные заданному. Optional. Defaults to None.

to_json

def to_json(file_path: str) -> None

Сериализует объект в JSON и сохраняет его в файл.

Arguments:

  • file_path str - Путь к файлу, в который будет сохранён JSON.

from_json

@classmethod
def from_json(cls, file_path: str) -> "BenchmarkRunConfig"

Десериализует объект из JSON-файла.

Arguments:

  • file_path str - Путь к JSON-файлу, из которого будет загружен объект.

Returns:

  • BenchmarkRunConfig - Экземпляр класса BenchmarkRunConfig, созданный из JSON-файла.