帮你快速理解、总结文档立即下载

概述

最近更新时间:2026-10-19 21:18:03
我的收藏
评测:对任意 Tinker 模型或检查点运行标准化基准测试,该框架负责并发控制、评分、轨迹存储和结果聚合。

快速开始

from tinker_cookbook.eval.benchmarks import run_benchmark, run_benchmarks, BenchmarkConfig

# Single benchmark
result = await run_benchmark("gsm8k", sampling_client, renderer)
print(f"GSM8K: {result.score:.1%}")

# Multiple benchmarks (parallel by default)
results = await run_benchmarks(
["gsm8k", "mmlu_pro", "ifeval"],
sampling_client, renderer,
)
for name, r in results.items():
print(f"{name}: {r.score:.1%}")

架构

基准测试复用了 RL 的 Env 协议——同一个环境既可以驱动评测,也可以驱动训练。
BenchmarkBuilder
├── make_envs(renderer, config) → list[Env] one Env per example
├── aggregate(rewards, metrics) → BenchmarkResult
└── name, multi_turn, requires_sandbox, ...

Runner (run_benchmark / run_benchmarks)
├── Creates envs from BenchmarkBuilder
├── Runs rollouts concurrently (semaphore)
├── Grades responses via Env.step()
├── Saves trajectories as JSONL
└── Aggregates into BenchmarkResult

BenchmarkResult
├── score raw accuracy
├── score_completed accuracy excluding truncated/errored examples
├── num_examples, num_correct, num_errors, num_truncated
├── pass_at_k {1: 0.45, 5: 0.72} (when num_samples > 1)
└── time_seconds

可用的基准测试

程序化评分(单轮)

基准测试
样本数
说明
gsm8k
1,319
math500
500
aime
30
aime_2025
30
AIME 2025
aime_2026
30
AIME 2026
hmmt_feb_2025
30
hmmt_nov_2025
30
mmlu_pro
12,032
mmlu_redux
~3,000
经过筛选的 MMLU 子集(30 个学科,已过滤错误样本)
gpqa
198
研究生级别科学问答(Diamond 子集)
supergpqa
26,529
ceval
~1,300
中文考试评测(52 个学科,验证集)
ifeval
541
ifbench
300

代码执行

基准测试
类型
说明
mbpp
单轮
Python 代码生成(已清洗,427)
livecodebench
单轮
swe_bench
多轮
GitHub issue 修复(500,agent)
terminal_bench
多轮
终端交互(agent)
tau2_bench
多轮

LLM 作为裁判

基准测试
说明
arena_hard
ArenaHard(500,需要 judge_sampling_client)

其他

基准测试
说明
longbench
bfcl

在训练过程中使用基准测试

BenchmarkEvaluator 把任意基准测试包装成训练循环中的评测器。它会在每个评测步运行一小批样本,并将指标记录到 TensorBoard / W&B:
from tinker_cookbook.eval.benchmark_evaluator import BenchmarkEvaluator

config = train.Config(
# ... training config ...
evaluator_builders=[
lambda: BenchmarkEvaluator("gsm8k", renderer, max_examples=100),
lambda: BenchmarkEvaluator("ifeval", renderer, max_examples=50),
],
eval_every=50,
)
记录的指标:eval/gsm8k/score、eval/gsm8k/num_correct 等。

下一步

基准测试指南:配置、存储、pass@k、新增基准测试
定制基准测试:系统提示词、答案解析、裁判模型、共享 Env 设计
评测教程:评测器模式的交互式讲解