Keep K3 suite selection and report-schema scoring in bash, merge K3/vision dataset_args into dpv4 yamls, and pin EvalScope at 735d920ee911 with local patches. Co-authored-by: Cursor <cursoragent@cursor.com>
154 lines
4.8 KiB
Markdown
154 lines
4.8 KiB
Markdown
# AGIEval
|
||
|
||
|
||
## Overview
|
||
|
||
AGIEval is a human-centric benchmark designed to evaluate foundation models in the context of human cognition and problem-solving. It uses official, standard, and authoritative admission and qualification exams intended for general human test-takers, such as college entrance exams (GaoKao), law school admission tests (LSAT), math competitions, and lawyer qualification exams.
|
||
|
||
## Task Description
|
||
|
||
- **Task Type**: Mixed (Multiple-Choice QA + Open-ended Math)
|
||
- **Input**: Questions from standardized exams with optional passages and answer choices
|
||
- **Output**: Answer letter(s) for MCQ, or numerical/mathematical answer for open-ended
|
||
- **Languages**: English and Chinese
|
||
|
||
## Key Features
|
||
|
||
- 21 subsets covering diverse exam types across two languages
|
||
- English MCQ: LSAT (AR/LR/RC), SAT (Math/English), AQuA-RAT, LogiQA, GaoKao-English
|
||
- Chinese MCQ: GaoKao (Chinese/Geography/History/Biology/Chemistry/Physics/MathQA), LogiQA-zh, JEC-QA
|
||
- Open-ended math: MATH (English), GaoKao-MathCloze (Chinese)
|
||
- Multi-select subsets: JEC-QA-KD, JEC-QA-CA, GaoKao-Physics
|
||
- Includes passage-based reading comprehension questions
|
||
|
||
## Evaluation Notes
|
||
|
||
- MCQ subsets use evalscope's standard MultiChoice template and extraction
|
||
- Multi-select subsets use Chinese multi-answer template
|
||
- Math/cloze subsets use mathematical equivalence checking
|
||
- CoT (Chain-of-Thought) prompting enabled by default
|
||
|
||
|
||
## Properties
|
||
|
||
| Property | Value |
|
||
|----------|-------|
|
||
| **Benchmark Name** | `agieval` |
|
||
| **Dataset ID** | [opencompass/agieval](https://modelscope.cn/datasets/opencompass/agieval/summary) |
|
||
| **Paper** | N/A |
|
||
| **Tags** | `Knowledge`, `MCQ`, `Math`, `Reasoning` |
|
||
| **Metrics** | `accuracy` |
|
||
| **Default Shots** | 0-shot |
|
||
| **Evaluation Split** | `test` |
|
||
| **Train Split** | `dev` |
|
||
|
||
|
||
## Data Statistics
|
||
|
||
| Metric | Value |
|
||
|--------|-------|
|
||
| Total Samples | 8,269 |
|
||
| Prompt Length (Mean) | 673.58 chars |
|
||
| Prompt Length (Min/Max) | 40 / 5316 chars |
|
||
|
||
**Per-Subset Statistics:**
|
||
|
||
| Subset | Samples | Prompt Mean | Prompt Min | Prompt Max |
|
||
|--------|---------|-------------|------------|------------|
|
||
| `aqua-rat` | 254 | 290.09 | 103 | 587 |
|
||
| `logiqa-en` | 651 | 911.89 | 248 | 1769 |
|
||
| `lsat-ar` | 230 | 946.36 | 635 | 1853 |
|
||
| `lsat-lr` | 510 | 1156.66 | 563 | 2348 |
|
||
| `lsat-rc` | 269 | 3652.86 | 2959 | 4825 |
|
||
| `sat-math` | 220 | 392.45 | 120 | 1201 |
|
||
| `sat-en` | 206 | 4618.28 | 3569 | 5316 |
|
||
| `sat-en-without-passage` | 206 | 435.91 | 169 | 937 |
|
||
| `gaokao-english` | 306 | 2025.44 | 517 | 4216 |
|
||
| `logiqa-zh` | 651 | 267.62 | 98 | 526 |
|
||
| `gaokao-chinese` | 246 | 988.09 | 152 | 2186 |
|
||
| `gaokao-geography` | 199 | 204.82 | 64 | 881 |
|
||
| `gaokao-history` | 235 | 141.48 | 67 | 314 |
|
||
| `gaokao-biology` | 210 | 203.98 | 75 | 685 |
|
||
| `gaokao-chemistry` | 207 | 348.37 | 58 | 1454 |
|
||
| `gaokao-physics` | 200 | 251.9 | 58 | 581 |
|
||
| `gaokao-mathqa` | 351 | 201.59 | 93 | 615 |
|
||
| `jec-qa-kd` | 1,000 | 170.43 | 54 | 454 |
|
||
| `jec-qa-ca` | 1,000 | 240.71 | 79 | 883 |
|
||
| `math` | 1,000 | 211.95 | 40 | 2186 |
|
||
| `gaokao-mathcloze` | 118 | 123.42 | 48 | 501 |
|
||
|
||
## Sample Example
|
||
|
||
**Subset**: `aqua-rat`
|
||
|
||
```json
|
||
{
|
||
"input": [
|
||
{
|
||
"id": "e28353e5",
|
||
"content": "Q: A car is being driven, in a straight line and at a uniform speed, towards the base of a vertical tower. The top of the tower is observed from the car and, in the process, it takes 10 minutes for the angle of elevation to change from 45° to 60°. After how much more time will this car reach the base of the tower? Answer Choices: (A)5(√3 + 1) (B)6(√3 + √2) (C)7(√3 – 1) (D)8(√3 – 2) (E)None of these\nA: Among A through E, the answer is"
|
||
}
|
||
],
|
||
"choices": [
|
||
"(A)5(√3 + 1)",
|
||
"(B)6(√3 + √2)",
|
||
"(C)7(√3 – 1)",
|
||
"(D)8(√3 – 2)",
|
||
"(E)None of these"
|
||
],
|
||
"target": "A",
|
||
"id": 0,
|
||
"group_id": 0,
|
||
"metadata": {
|
||
"subset": "aqua-rat",
|
||
"has_passage": false
|
||
}
|
||
}
|
||
```
|
||
|
||
## Prompt Template
|
||
|
||
**Prompt Template:**
|
||
```text
|
||
Answer the following multiple choice question. The last line of your response should be of the following format: 'ANSWER: [LETTER]' (without quotes) where [LETTER] is one of {letters}. Think step by step before answering.
|
||
|
||
{question}
|
||
|
||
{choices}
|
||
```
|
||
|
||
## Usage
|
||
|
||
### Using CLI
|
||
|
||
```bash
|
||
evalscope eval \
|
||
--model YOUR_MODEL \
|
||
--api-url OPENAI_API_COMPAT_URL \
|
||
--api-key EMPTY_TOKEN \
|
||
--datasets agieval \
|
||
--limit 10 # Remove this line for formal evaluation
|
||
```
|
||
|
||
### Using Python
|
||
|
||
```python
|
||
from evalscope import run_task
|
||
from evalscope.config import TaskConfig
|
||
|
||
task_cfg = TaskConfig(
|
||
model='YOUR_MODEL',
|
||
api_url='OPENAI_API_COMPAT_URL',
|
||
api_key='EMPTY_TOKEN',
|
||
datasets=['agieval'],
|
||
dataset_args={
|
||
'agieval': {
|
||
# subset_list: ['aqua-rat', 'logiqa-en', 'lsat-ar'] # optional, evaluate specific subsets
|
||
}
|
||
},
|
||
limit=10, # Remove this line for formal evaluation
|
||
)
|
||
|
||
run_task(task_cfg=task_cfg)
|
||
```
|