dataset_path: lmms-lab/MMMU
task: "mmmu_val_pass64"
test_split: validation
output_type: generate_until
doc_to_visual: !function utils.mmmu_doc_to_visual
doc_to_text: !function utils.mmmu_doc_to_text
doc_to_target: "answer"

generation_kwargs:
  until:
    - "Q:"
    - "\n\n"
  do_sample: true
  temperature: 0.2
repeats: 64

filter_list:
  - name: "maj@64"
    filter:
      - function: "take_first_k"
        k: 64
      - function: "majority_vote"
      - function: "take_first"
  - name: "maj@8"
    filter:
      - function: "take_first_k"
        k: 8
      - function: "majority_vote"
      - function: "take_first"
  - name: "pass@64"
    filter:
      - function: "take_first_k"
        k: 64
  - name: "pass@8"
    filter:
      - function: "take_first_k"
        k: 8

# The return value of process_results will be used by metrics
process_results: !function utils.mmmu_process_results
metric_list:
  - metric: mmmu_acc
    aggregation: !function utils.mmmu_aggregate_results
    higher_is_better: true

lmms_eval_specific_kwargs:
  default:
    prompt_type: "format"
    multiple_choice_prompt: "Answer with the option's letter from the given choices directly."
    open_ended_prompt: "Answer the question using a single word or phrase."

include: _default_template_yaml