109 lines
2.9 KiB
Markdown
109 lines
2.9 KiB
Markdown
# AlpacaEval2.0
|
||
|
||
## 概述
|
||
|
||
AlpacaEval 2.0 是一个用于评估指令遵循语言模型的框架,它使用大语言模型(LLM)作为裁判,将待测模型的输出与一个强基线模型进行比较,并提供反映人类偏好的胜率(win-rate)指标。
|
||
|
||
## 任务描述
|
||
|
||
- **任务类型**:指令遵循评估(成对比较)
|
||
- **输入**:用户指令/问题
|
||
- **输出**:模型响应,与 GPT-4 Turbo 基线进行比较
|
||
- **指标**:相对于基线模型的胜率
|
||
|
||
## 主要特性
|
||
|
||
- 支持自动标注,可扩展性强
|
||
- 与 GPT-4 Turbo 基线输出进行对比
|
||
- 与人类偏好高度相关
|
||
- 评估成本低
|
||
- 测试通用的指令遵循能力
|
||
|
||
## 评估说明
|
||
|
||
- 默认配置使用 **0-shot** 评估
|
||
- 使用 LLM 裁判(默认:gpt-4-1106-preview)
|
||
- 基线模型:gpt-4-turbo 的输出
|
||
- 报告胜率(win rate)指标
|
||
- 注意:目前不支持长度控制的胜率计算
|
||
|
||
## 属性
|
||
|
||
| 属性 | 值 |
|
||
|----------|-------|
|
||
| **基准测试名称** | `alpaca_eval` |
|
||
| **数据集ID** | [AI-ModelScope/alpaca_eval](https://modelscope.cn/datasets/AI-ModelScope/alpaca_eval/summary) |
|
||
| **论文** | N/A |
|
||
| **标签** | `Arena`, `InstructionFollowing` |
|
||
| **指标** | `winrate` |
|
||
| **默认示例数** | 0-shot |
|
||
| **评估划分** | `eval` |
|
||
|
||
## 数据统计
|
||
|
||
| 指标 | 值 |
|
||
|--------|-------|
|
||
| 总样本数 | 805 |
|
||
| 提示词长度(平均) | 164.92 字符 |
|
||
| 提示词长度(最小/最大) | 12 / 1917 字符 |
|
||
|
||
## 样例示例
|
||
|
||
**子集**: `alpaca_eval_gpt4_baseline`
|
||
|
||
```json
|
||
{
|
||
"input": [
|
||
{
|
||
"id": "95236545",
|
||
"content": "What are the names of some famous actors that started their careers on Broadway?"
|
||
}
|
||
],
|
||
"target": "Several famous actors started their careers on Broadway before making it big in film and television. Here are a few notable examples:\n\n1. Sarah Jessica Parker - Before she was Carrie Bradshaw on \"Sex and the City,\" Sarah Jessica Parker was a ... [TRUNCATED] ... f the many performers who have transitioned from the Broadway stage to broader fame in the entertainment industry. Broadway often serves as a proving ground for talent, and many actors continue to return to the stage throughout their careers.",
|
||
"id": 0,
|
||
"group_id": 0,
|
||
"metadata": {
|
||
"generator": "gpt4_1106_preview",
|
||
"dataset": "helpful_base"
|
||
}
|
||
}
|
||
```
|
||
|
||
*注:部分内容为显示目的已截断。*
|
||
|
||
## 提示模板
|
||
|
||
**提示模板:**
|
||
```text
|
||
{question}
|
||
```
|
||
|
||
## 使用方法
|
||
|
||
### 使用命令行(CLI)
|
||
|
||
```bash
|
||
evalscope eval \
|
||
--model YOUR_MODEL \
|
||
--api-url OPENAI_API_COMPAT_URL \
|
||
--api-key EMPTY_TOKEN \
|
||
--datasets alpaca_eval \
|
||
--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=['alpaca_eval'],
|
||
limit=10, # 正式评估时请删除此行
|
||
)
|
||
|
||
run_task(task_cfg=task_cfg)
|
||
``` |