2026-07-08 08:57:50 +00:00

144 lines
4.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CoinFlip
## 概述
CoinFlip 是一个符号推理基准测试用于评估大语言模型LLMs在一系列操作中跟踪二元状态变化的能力。每个问题都涉及确定在多次翻转操作后硬币的最终状态正面/反面)。
## 任务描述
- **任务类型**:符号推理 / 状态追踪
- **输入**:不同人员执行的硬币翻转操作描述
- **输出**硬币的最终状态YES 表示正面朝上NO 表示反面朝上)
- **重点**:二元状态追踪与逻辑推理
## 主要特点
- 测试通过操作序列进行状态追踪的能力
- 二元推理(翻转/不翻转)决策
- 要求仔细关注操作者行为的影响
- 评估系统性逻辑推理能力
- 答案清晰明确、无歧义
## 评估说明
- 默认配置使用 **0-shot** 评估
- 答案应遵循 "ANSWER: YES/NO" 格式
- 采用五项指标准确率accuracy、精确率precision、召回率recall、F1 分数F1 score和 YES 比例yes_ratio
- F1 分数为主要聚合指标
- 支持带推理示例的 few-shot 评估
## 属性
| 属性 | 值 |
|----------|-------|
| **基准测试名称** | `coin_flip` |
| **数据集 ID** | [extraordinarylab/coin-flip](https://modelscope.cn/datasets/extraordinarylab/coin-flip/summary) |
| **论文** | N/A |
| **标签** | `Reasoning`, `Yes/No` |
| **指标** | `accuracy`, `precision`, `recall`, `f1_score`, `yes_ratio` |
| **默认示例数量** | 0-shot |
| **评估分割** | `test` |
| **训练分割** | `validation` |
| **聚合方式** | `f1` |
## 数据统计
| 指标 | 值 |
|--------|-------|
| 总样本数 | 3,333 |
| 提示词长度(平均) | 500.15 字符 |
| 提示词长度(最小/最大) | 453 / 551 字符 |
## 样例示例
**子集**: `default`
```json
{
"input": [
{
"id": "05503706",
"content": [
{
"text": "\nSolve the following coin flip problem step by step. The last line of your response should be of the form \"ANSWER: [ANSWER]\" (without quotes) where [ANSWER] is the answer to the problem.\n\nQ: A coin is heads up. rushawn flips the coin. yerania ... [TRUNCATED] ... the coin. jostin does not flip the coin. Is the coin still heads up?\n\nRemember to put your answer on its own line at the end in the form \"ANSWER: [ANSWER]\" (without quotes) where [ANSWER] is the answer YES or NO to the problem.\n\nReasoning:\n"
}
]
}
],
"target": "NO",
"id": 0,
"group_id": 0,
"metadata": {
"answer": "NO"
}
}
```
*注:部分内容为显示目的已截断。*
## 提示模板
**提示模板:**
```text
Solve the following coin flip problem step by step. The last line of your response should be of the form "ANSWER: [ANSWER]" (without quotes) where [ANSWER] is the answer to the problem.
{question}
Remember to put your answer on its own line at the end in the form "ANSWER: [ANSWER]" (without quotes) where [ANSWER] is the answer YES or NO to the problem.
Reasoning:
```
<details>
<summary>Few-shot 模板</summary>
```text
Here are some examples of how to solve similar problems:
{fewshot}
Solve the following coin flip problem step by step. The last line of your response should be of the form "ANSWER: [ANSWER]" (without quotes) where [ANSWER] is the answer to the problem.
{question}
Remember to put your answer on its own line at the end in the form "ANSWER: [ANSWER]" (without quotes) where [ANSWER] is the answer YES or NO to the problem.
Reasoning:
```
</details>
## 使用方法
### 使用 CLI
```bash
evalscope eval \
--model YOUR_MODEL \
--api-url OPENAI_API_COMPAT_URL \
--api-key EMPTY_TOKEN \
--datasets coin_flip \
--limit 10 # 正式评估时请删除此行
```
### 使用 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=['coin_flip'],
limit=10, # 正式评估时请删除此行
)
run_task(task_cfg=task_cfg)
```