From cfd2367e88492b3ab771b320dd8888ae25182da4 Mon Sep 17 00:00:00 2001 From: wuyang <5700876+banisherwy@user.noreply.gitee.com> Date: Wed, 29 Jul 2026 09:33:59 +0800 Subject: [PATCH] feat: add evaluation and safety chapter --- PROGRESS.md | 21 +- README.md | 6 +- ROADMAP.md | 9 +- package.json | 3 +- research/EVALUATION_SAFETY_GROK_LEADS.md | 225 +++ research/EVALUATION_SAFETY_RESEARCH.md | 1388 +++++++++++++++++++ research/sources/README.md | 14 + scripts/check-agents-browser.mjs | 6 +- scripts/check-alignment-browser.mjs | 6 +- scripts/check-data-browser.mjs | 8 +- scripts/check-evaluation-browser.mjs | 293 ++++ scripts/check-inference-serving-browser.mjs | 6 +- scripts/check-moe-browser.mjs | 2 +- scripts/check-multimodal-browser.mjs | 6 +- scripts/check-numerics-browser.mjs | 8 +- scripts/check-reasoning-browser.mjs | 2 +- scripts/check-scaling-browser.mjs | 6 +- scripts/check-training-systems-browser.mjs | 2 +- scripts/check-transformer-browser.mjs | 6 +- src/components/EvaluationLab.astro | 642 +++++++++ src/components/SiteHeader.astro | 1 + src/data/chapters.ts | 10 +- src/data/papers.ts | 400 ++++++ src/pages/evaluation/index.astro | 974 +++++++++++++ src/pages/index.astro | 24 +- src/pages/progress/index.astro | 15 +- 26 files changed, 4031 insertions(+), 52 deletions(-) create mode 100644 research/EVALUATION_SAFETY_GROK_LEADS.md create mode 100644 research/EVALUATION_SAFETY_RESEARCH.md create mode 100644 scripts/check-evaluation-browser.mjs create mode 100644 src/components/EvaluationLab.astro create mode 100644 src/pages/evaluation/index.astro diff --git a/PROGRESS.md b/PROGRESS.md index 346d134..fa05175 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -23,6 +23,7 @@ | 大规模训练系统 | 完成首版 | 71% | 真实集群 traces、故障案例与精确 topology 配置 | | 推理服务与低成本部署 | 完成首版 | 78% | 真实 GPU kernel / workload traces、功耗与跨框架复现 | | 数值精度、优化器与稳定性 | 完成首版 | 75% | 真实 kernel 吞吐、长程训练 traces 与逐图论文精读 | +| 评测、安全与“到底强不强” | 完成首版 | 79% | 真实 cross-harness 复跑、Judge 元评测与动态污染案例 | | 引用与事实检查 | 进行中 | 57% | 自动化外链复查与来源等级扩展 | | 开源仓库 | 已完成首版 | 100% | 持续提交研究与网站迭代 | | k1412 部署 | 已完成首版 | 100% | 每轮发布保留不可变镜像与回滚点 | @@ -32,14 +33,14 @@ - [x] 建立长期任务目标与阶段计划。 - [x] 确认 K3 官方 47 页技术报告与官方模型仓库。 - [x] 提取技术报告目录与 151 条参考来源,建立本地只读研究缓存。 -- [x] 从报告反推出 16 个专题与三条贯穿案例。 +- [x] 从报告反推出 17 个专题与三条贯穿案例。 - [x] 提炼参考网站的编辑设计语言。 - [x] 确认 `git.k1412.top` 为 Gitea/Forgejo 兼容服务且本机 HTTPS 凭据可用于既有仓库。 - [x] 使用 Grok CLI 检索并形成约 95 篇一手论文的补充路线,主代理已回查关键来源。 -- [x] 完成 400 篇关键论文索引,覆盖 15 个标签专题与 Kimi/DeepSeek 聚光主线。 +- [x] 完成 450 篇关键论文索引,覆盖 15 个标签专题与 Kimi/DeepSeek 聚光主线。 - [x] 完成可检索、可按专题筛选的论文库页面。 -- [x] 完成 K3、语言模型前史、Transformer 基础、DeepSeek 谱系、Scaling Laws、数据工程、长上下文、MoE、指令微调与人类偏好、推理、Agent、原生多模态、训练系统、推理服务与数值优化十五篇首版长文。 -- [x] 完成 K3 三轴架构、语言模型前史四联实验、Transformer 四联实验、DeepSeek 谱系、长上下文、MoE 路由、推理三页签,以及训练系统、推理服务、Scaling、数据工程、数值、Alignment、Agent 与原生多模态专题各四页签等四十七个原创交互视图。 +- [x] 完成 K3、语言模型前史、Transformer 基础、DeepSeek 谱系、Scaling Laws、数据工程、长上下文、MoE、指令微调与人类偏好、推理、Agent、原生多模态、训练系统、推理服务、数值优化与评测安全十六篇首版长文。 +- [x] 完成 K3 三轴架构、语言模型前史四联实验、Transformer 四联实验、DeepSeek 谱系、长上下文、MoE 路由、推理三页签,以及训练系统、推理服务、Scaling、数据工程、数值、Alignment、Agent、原生多模态与评测安全专题各四页签等五十一个原创交互视图。 - [x] 完成长上下文首版:五张成本账、26 篇一手论文、10+ 机制图与 8 策略交互实验室。 - [x] 核验 FlashAttention、DeepSeek-V2/V3.2/V4、Kimi Linear/K3 等六份论文原文,并建立长上下文研究账本。 - [x] 核验 Switch、ST-MoE、DeepSeekMoE、Loss-Free、V3、LatentMoE 与 K3 原文,并建立 MoE 研究账本。 @@ -125,9 +126,16 @@ - [x] 推理服务真实 Chrome 断言通过:MHA OOM、chunked prefill 降低 stall、慢网络反噬 P/D、低验收率负加速、缓存故障重算、平均准入伤害短请求、键盘 tabs 与 390px 移动端均正确响应。 - [x] Astro 类型检查、生产构建、19 个页面、962 个站内引用和 16 个跨页锚点通过;推理服务页面桌面 / 移动端无文档级横向溢出。 - [x] 推理服务首版以源提交 `db2b7d3`、不可变镜像 `20260729T003946Z-db2b7d3` 发布;NAS、VPS/Tailscale、NPM、DNS、HTTPS、证书、门户、公开 Forgejo 与十二套生产 Chrome 回归全链路通过。 +- [x] 启动评测与安全专题:用二十二张账拆开构念、指标、Prompt、采样、Harness、环境、Judge、污染、动态题、成本、威胁模型与披露。 +- [x] 使用 Grok Headless 生成 12 个“协议陷阱”教学问题;全部保留在未核验 leads,正式事实回查一手论文与官方报告。 +- [x] 本地缓存并校验 50 份新增 PDF/TXT,建立 1389 行正式研究账本、80 节点阅读链和 DeepSeek/K3 协议谱系。 +- [x] 完成评测安全首版:33 个正文目录、二十二张测量账,以及指标校准—Judge 偏差—污染动态题—系统安全边界四联实验。 +- [x] 论文库新增 BLEU、GLUE、HumanEval、MT-Bench、LiveBench、HarmBench、InjecAgent、AILuminate 等 50 个节点,从 400 篇扩充至 450 篇。 +- [x] Astro 类型检查、生产构建、20 个页面、1053 个站内引用和 15 个跨页锚点通过;十三套专题 Chrome 回归、键盘 tabs 与 390px 移动端无异常。 ## 正在进行 +- [ ] 评测安全二轮:真实 cross-harness / pass@k 复跑、Judge 元评测、动态污染与过拒案例。 - [ ] 推理服务二轮:真实 GPU kernel / workload traces、功耗与成本、跨 vLLM / SGLang / TensorRT-LLM 复现。 - [ ] 原生多模态二轮:真实视觉 Token traces、跨分辨率 / connector 消融、OCR 与视觉 Agent 安全失败案例。 - [ ] Agent 二轮:真实环境 traces、cross-harness ablation、Agent RL 训练曲线与提示注入案例。 @@ -218,6 +226,11 @@ | 2026-07-29 | 论文库扩充到 400 篇 | 新增 45 个内存管理、调度、缓存、P/D 解耦、量化、推测解码、kernel 与真实 workload 节点 | | 2026-07-29 | 推理服务首版用四个独立实验闭环 | 显存、阶段干扰、推测验收和集群状态分开建模;作者报告、教学估算与 benchmark 永久分级 | | 2026-07-29 | 推理服务首版用不可变镜像 `20260729T003946Z-db2b7d3` 发布 | OCI digest `sha256:06374603…fe752`;复用 `12010→8080`、NPM host 31 / cert 41、门户 order 180 与公开 Forgejo | +| 2026-07-29 | 评测安全按二十二张测量账组织 | 构念、样本、指标、Prompt、采样、Harness、裁判、污染、成本与威胁模型不再压成一个榜单分 | +| 2026-07-29 | Grok 评测线索与正式证据永久分离 | 12 个协议陷阱只负责教学查漏;50 份新增一手全文与 DeepSeek/K3 官方报告承载正文事实 | +| 2026-07-29 | DeepSeek 与 K3 评测谱系按协议字段重建 | R1 的非零温多采样 pass@1、V4 effort / context / tool budget 与 K3 §6 task-specific harness 分层说明 | +| 2026-07-29 | 论文库扩充到 450 篇 | 新增 50 个指标、套件、动态基准、Judge、代码 Verifier、安全与 Agent 风险节点 | +| 2026-07-29 | 评测安全首版用四个独立实验闭环 | 指标/校准、Judge/Arena、污染/动态题、系统/安全边界分开建模,不合成伪“模型总分” | ## 未决问题 diff --git a/README.md b/README.md index 9360046..4d4fe80 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,9 @@ - 持续进度:[PROGRESS.md](./PROGRESS.md) - 证据与写作规范:[research/METHODOLOGY.md](./research/METHODOLOGY.md) -当前里程碑包含 16 专题学习地图、400 篇关键论文索引、Kimi K3 完整导读, -语言模型前史、Transformer 基础、DeepSeek 技术谱系、Scaling Laws、数据工程、长上下文、MoE、指令微调与人类偏好、推理、工具使用与长程 Agent、原生多模态、训练系统、推理服务与数值优化深度专题, -以及 47 个覆盖核心机制的原创交互视图。 +当前里程碑包含 17 专题学习地图、450 篇关键论文索引、Kimi K3 完整导读, +语言模型前史、Transformer 基础、DeepSeek 技术谱系、Scaling Laws、数据工程、长上下文、MoE、指令微调与人类偏好、推理、工具使用与长程 Agent、原生多模态、训练系统、推理服务、数值优化,以及评测与安全深度专题, +以及 51 个覆盖核心机制的原创交互视图。 其余专题按进度账本持续扩建。 ## 本地开发 diff --git a/ROADMAP.md b/ROADMAP.md index 7a37428..a85bb7e 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -15,7 +15,7 @@ - **L2 论文**:能读关键公式、消融实验和训练配置。 - **L3 工程**:理解并行、通信、显存、精度与服务系统。 -## 16 个专题 +## 17 个专题 ### 00. 导航:先看懂一张大模型地图 @@ -132,6 +132,13 @@ EAGLE-3 draft、cache-aware affinity 与 token-budget admission。配套显存 困惑度到 MMLU/GPQA/HLE,SWE-bench、OSWorld、BrowseComp;污染、harness、工具预算、LLM-as-a-judge、选择性报告与网络安全边界。 +首版已完成:以构念、单位、任务分布、指标、Prompt、解码、采样、Harness、环境、裁判、聚合、 +不确定性、污染、题质、动态性、Arena、成本、子群、事实性、威胁模型、安全边界与披露二十二张账, +串起 2002–2026 的 80 个一手节点。正文从 PPL / BLEU / ROUGE、MMLU 与 HELM,走到 pass@k / +pass^k、校准、动态基准、代码 Verifier、LLM Judge、Arena、Agent 最终状态与安全威胁模型; +重点逐项复原 DeepSeek LLM→Math→V2→V3→R1→V3.2→V4 与 Kimi K3 §6 的评测协议,并提供 +指标校准、Judge 偏差、污染动态题、系统成本与安全边界四个独立实验。 + ## 三条贯穿式案例 1. **Kimi K3 解剖**:把上述全部专题重新汇总到一张架构与训练系统图。 diff --git a/package.json b/package.json index 417d259..32081f8 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "check:alignment-browser": "node scripts/check-alignment-browser.mjs", "check:agents-browser": "node scripts/check-agents-browser.mjs", "check:multimodal-browser": "node scripts/check-multimodal-browser.mjs", - "check:inference-serving-browser": "node scripts/check-inference-serving-browser.mjs" + "check:inference-serving-browser": "node scripts/check-inference-serving-browser.mjs", + "check:evaluation-browser": "node scripts/check-evaluation-browser.mjs" }, "dependencies": { "@astrojs/sitemap": "3.7.3", diff --git a/research/EVALUATION_SAFETY_GROK_LEADS.md b/research/EVALUATION_SAFETY_GROK_LEADS.md new file mode 100644 index 0000000..79bd4dc --- /dev/null +++ b/research/EVALUATION_SAFETY_GROK_LEADS.md @@ -0,0 +1,225 @@ +# 评测与安全:Grok 候选线索账 + +> 状态:**未核验候选,不可作为正文证据。** +> +> 生成日期:2026-07-29 +> +> 调用约束:`--no-plan --verbatim --no-subagents --disable-web-search` +> +> 使用纪律:Grok 只负责扩大候选召回和提出教学问题;论文年份、标题、指标、数值、 +> 因果解释与 K3 / DeepSeek 细节必须回到 P0 论文、技术报告或 P1 作者官方实现核验。 + +--- + +## 0. 为什么保留这份文件 + +这份文件不是“第二套参考文献”,而是防止研究过程失忆的候选池。它同时保留: + +1. Grok 建议调查但尚未核验的节点; +2. 已经进入一手核验队列的候选; +3. 可能被拒绝、合并或降级为旁注的线索; +4. 一组适合做成视觉与交互实验的协议比较问题。 + +正式证据账见 `EVALUATION_SAFETY_RESEARCH.md`。 + +--- + +## 1. 二十条候选主线 + +| # | 候选主线 | Grok 提出的核心矛盾 | 核验状态 | +|---|---|---|---| +| 1 | 困惑度与 next-token loss | 语言分布拟合不等于任务能力 | 已进入一手核验 | +| 2 | 静态基准饱和 | 难度、区分度与题目质量会随模型进步失效 | 已进入一手核验 | +| 3 | 数据污染 | 文本不重合不等于语义、答案或格式没有泄漏 | 已进入一手核验 | +| 4 | 动态评测 | 更新题目能减轻污染,但会改变跨时间可比性 | 已进入一手核验 | +| 5 | 代码执行 | 单元测试是强于文字相似度的 verifier,但测试也可能不充分 | 已进入一手核验 | +| 6 | 数学验证 | exact match、数值检查、形式化证明不是同一强度 | 已进入一手核验 | +| 7 | 人类偏好 | 偏好受用户群、抽样、顺序与呈现影响 | 已进入一手核验 | +| 8 | LLM-as-a-Judge | 位置、长度、自我偏好与能力上限会进入分数 | 已进入一手核验 | +| 9 | Arena / Elo | 排名是比较图与统计模型的产物,不是绝对能力刻度 | 已进入一手核验 | +| 10 | 长上下文 | 声明窗口不等于有效理解长度 | 已进入一手核验 | +| 11 | 多模态 | 总分可能掩盖 OCR、感知、知识与推理瓶颈 | 已进入一手核验 | +| 12 | Agent / harness | 分数同时属于模型、脚手架、工具、环境和预算 | 已进入一手核验 | +| 13 | 校准与弃答 | 准确率不回答“何时应该相信或拒答” | 已进入一手核验 | +| 14 | 红队 | 红队发现什么取决于参与者、时间、访问权和目标 | 已进入一手核验 | +| 15 | Jailbreak | “没有拒绝”不等于输出真的有害、具体且可用 | 已进入一手核验 | +| 16 | Prompt injection | Agent 读取不可信数据后,权限与控制流成为评测对象 | 已进入一手核验 | +| 17 | 网络安全双重用途 | 解题能力、真实攻击能力与部署风险必须分层 | 已进入一手核验 | +| 18 | System / model card | 评测披露本身是可审计对象 | 已进入一手核验 | +| 19 | 成本归一化 | 同一分数可能用了不同 token、工具调用和重复采样预算 | 已进入一手核验 | +| 20 | 跨语言、文化与公平 | 翻译题不自动成为目标文化的有效测量 | 已进入一手核验 | + +--- + +## 2. 候选节点池 + +### 2.1 测量与综合基准 + +- BLEU、ROUGE; +- GLUE、SuperGLUE; +- MMLU、BIG-bench、BIG-Bench Hard、HELM; +- MMLU-Redux、MMLU-Pro、GPQA、Humanity’s Last Exam; +- PALOMA、LiveBench; +- Dynabench、Dynaboard; +- Global MMLU。 + +### 2.2 校准、事实性与不确定性 + +- On Calibration of Modern Neural Networks; +- Language Models (Mostly) Know What They Know; +- Semantic Uncertainty; +- TruthfulQA; +- SelfCheckGPT; +- FActScore; +- HaluEval; +- conformal abstention 候选。 + +### 2.3 开放生成、偏好与 Judge + +- MT-Bench / Chatbot Arena; +- Chatbot Arena 正式平台论文; +- AlpacaEval 与 length-controlled AlpacaEval; +- G-Eval; +- LLMBar; +- Arena-Hard / BenchBuilder; +- RewardBench; +- CoBBLEr、JudgeBench 等元评测候选。 + +### 2.4 代码、数学、上下文与 Agent + +- HumanEval、DS-1000、EvalPlus、LiveCodeBench; +- SWE-bench、SWE-bench Verified、SWE-bench Live / Pro; +- FrontierMath; +- LongBench、RULER; +- AgentBench、WebArena、OSWorld; +- τ-bench、BrowseComp、Terminal-Bench; +- AgentDojo、InjecAgent、Agent Security Bench、Cybench。 + +### 2.5 安全、拒答与红队 + +- RealToxicityPrompts、StereoSet、CrowS-Pairs、BBQ、ToxiGen; +- Red Teaming Language Models with Language Models; +- Red Teaming Language Models to Reduce Harms; +- GCG adversarial suffix; +- Jailbroken; +- XSTest、Do-Not-Answer; +- HarmBench、StrongREJECT、JailbreakBench、WildGuard; +- Instruction Hierarchy; +- AILuminate; +- Red-Teaming for Generative AI。 + +--- + +## 3. Grok 提出的十二张“协议护照” + +下列内容只作为教学设计候选。每一项都必须在正式材料中用一手来源重新填写。 + +| # | 审计问题 | 容易产生的误读 | 必须披露的证据 | 候选视觉隐喻 | +|---|---|---|---|---| +| G1 | 同名 benchmark 是否用了相同题面、shots、示例与答案抽取? | 分数更高就是模型更强 | 完整 prompt、shots、示例选择、CoT、parser | 同名考试,不同答题纸 | +| G2 | 是 greedy、单次采样、pass@k、best-of-k 还是多数票? | “90%”就是日常一次回答有 90% 正确率 | temperature、top-p、样本数、聚合、seed | 一次考试对十次取最好 | +| G3 | max tokens 与 reasoning effort 是否相同? | 架构更聪明,而不是测试时算得更多 | token cap、effort 档、停止规则、平均输出 | 草稿纸不限量的选手 | +| G4 | 是裸模型,还是带代码、搜索、计算器与 Agent loop? | 工具增强分数等于裸模型能力 | harness、工具清单、sandbox、重试、baseline 工具 | 开卷计算器对闭卷口试 | +| G5 | 谁判对:字符串、程序、单测、人还是 LLM Judge? | 不同裁判仍产生可移植的同一准确率 | judge 模型与 prompt、verifier、human audit | 不同终点传感器 | +| G6 | 评的是裸 checkpoint 还是带风控的产品 API? | 产品分数可同时代表模型能力与安全 | system prompt、过滤器、过拒率、wrapper ablation | 装有限速器的赛车 | +| G7 | 长上下文是否被截断、摘要、检索或重新打包? | 长上下文榜等于纯上下文理解 | window、截断方向、RAG、chunk、实际可见 token | 有人读全文,有人只看目录 | +| G8 | benchmark 版本、split、commit 和日期是否一致? | 名字相同就是同一套题 | hash、日期、decontamination、private holdout | 不同年份的马拉松赛道 | +| G9 | 分数用了多少成本、延迟、token 与工具调用? | 最高准确率自然是最佳生产选择 | 输入/输出 token、价格、P50/P95、硬件、重复采样成本 | 烧完整个车队油量的冠军 | +| G10 | 数字来自作者自报、第三方重跑还是营销图? | 出现在榜单上的数字同样可审计 | raw logs、config、seed、代码 commit、provenance | 实验室标签对自印标签 | +| G11 | base、chat、reasoner 是否被同一协议公平地激发? | 代际或架构独自解释全部差距 | 训练阶段、chat template、system role、CoT、默认解码 | 短跑、马拉松与徒步同榜 | +| G12 | 拒答在当前任务里算失败、成功还是剔除? | helpfulness 与 safety 可以压成单轴 | 拒答 rubric、过拒套件、政策版本、人工复核 | 门打不开是故障还是防盗 | + +Grok 给出的候选总句: + +```text +leaderboard entry + ≠ intrinsic model property + = model × prompt × sample budget × tools × judge × wrapper + × data vintage × cost +``` + +这句话仍需在正式正文中改写为“测量模型”,而不是引用 Grok。 + +--- + +## 4. 候选教学实验 + +### Lab A:协议护照 + +给两份公开技术报告,不看模型名,只填写: + +```text +dataset / split / prompt / shots / decode / samples +/ budget / harness / tools / judge / verifier / provenance +``` + +看字段是否足以支持横向比较。 + +### Lab B:Judge 偏差 + +保持答案语义不变,改变: + +- 顺序; +- 长度; +- 风格; +- 是否来自与 Judge 同族的模型; +- rubric; + +观察“偏好”怎样变化。 + +### Lab C:污染与动态基准 + +模拟五种污染: + +- 原文; +- 答案; +- 格式; +- 语义改写; +- 时间泄漏; + +再比较静态、私有、动态和可执行 verifier 四种补救。 + +### Lab D:系统分数 + +固定模型,改变: + +- harness; +- 工具; +-步数; +- 上下文; +- 重试; +- verifier; +- 成本; + +让学生看到 Agent 分数为何不能只归给模型。 + +--- + +## 5. 拒绝或降级规则 + +以下候选即使最终看起来“有趣”,也不直接进入正文结论: + +1. 找不到 P0 / P1 原始来源的榜单数字; +2. 只在聚合博客中出现的 benchmark 描述; +3. 没有 threat model 的 jailbreak 成功率; +4. 没有 Judge prompt / model 的自动偏好分; +5. 没有 harness、工具和环境版本的 Agent 分数; +6. 没有样本数与解码配置的 reasoning 分数; +7. 把“未发现危险行为”写成“模型安全”; +8. 把 n-gram 无重合写成“绝无污染”; +9. 把作者单一设置下的相关性外推为 Judge 普遍可靠; +10. 把安全 wrapper 的产品表现归因于裸模型。 + +--- + +## 6. 当前核验去向 + +- 测量与历史:BLEU、ROUGE、GLUE、MMLU、BIG-bench、HELM; +- 基准修复:MMLU-Redux、MMLU-Pro、HLE、EvalPlus、SWE-bench Verified; +- 污染与动态:PALOMA、FreshQA、LiveBench、LiveCodeBench、SWE-bench Live; +- Judge 与 Arena:MT-Bench、Chatbot Arena、LLMBar、length-controlled AlpacaEval; +- 校准:Guo et al.、P(IK) / P(True)、semantic uncertainty; +- 安全:XSTest、HarmBench、StrongREJECT、JailbreakBench、AILuminate; +- Agent 安全:InjecAgent、AgentDojo、Cybench、Agent Security Bench; +- 锚点报告:DeepSeek LLM / Math / V2 / V3 / R1 / V3.2 / V4 与 Kimi K3 §6。 + diff --git a/research/EVALUATION_SAFETY_RESEARCH.md b/research/EVALUATION_SAFETY_RESEARCH.md new file mode 100644 index 0000000..b5fe4cb --- /dev/null +++ b/research/EVALUATION_SAFETY_RESEARCH.md @@ -0,0 +1,1388 @@ +# 评测、安全与“到底强不强”:正式研究账本 + +> 状态:Chapter 15 首版证据核验完成,供正文、原创图与交互实验使用。 +> +> 核验日期:2026-07-29 +> +> 锚点:Kimi K3 §6、DeepSeek LLM §5、DeepSeekMath §5、DeepSeek-V2 §3.2 / §4.3、 +> DeepSeek-V3 §4.4 / §5.3、DeepSeek-R1 Appendix D、DeepSeek-V3.2 §4、 +> DeepSeek-V4 §4.3 / §5.3。 +> +> 证据纪律:Grok 只做候选召回与教学问题生成;正文事实来自 P0 论文 / 技术报告或 +> P1 作者官方实现。作者自报、第三方复跑、内部评测、教学推导与当前线上榜单必须分层标记。 + +--- + +## 0. 本章真正回答什么 + +“模型 A 在榜单上比模型 B 高 3 分”看起来是一句事实,实际压缩了至少十二个变量: + +```text +observed score = + measure( + task distribution, + dataset version / split, + model checkpoint / product wrapper, + prompt / shots / chat template, + decoding / samples / seed, + reasoning and tool budget, + harness / tools / context policy, + environment / verifier version, + judge / rubric / annotator population, + aggregation / uncertainty / cost + ) +``` + +所以本章不把“benchmark”理解为一张题单,而把它理解为一份**测量协议**。真正的问题有三个: + +1. **构念效度**:我们想测“知识”“推理”“安全”,题目与指标真的测到了它吗? +2. **内部效度**:分数是否被污染、错误标签、Prompt、Harness、Judge 或样本预算劫持? +3. **外部效度**:实验室设置里的高分,能否迁移到真实用户、文化、工具和环境? + +本章最终要训练的不是“背榜单”,而是拿到任意技术报告后,能独立重建它的评测协议、 +识别不可比字段,并写出有限、可复核的结论。 + +--- + +## 1. 二十二张独立问题账 + +| # | 账本 | 本章要回答的问题 | 最常见误写 | +|---|---|---|---| +| Q1 | 构念 | 到底想测知识、推理、行动、偏好还是风险? | 指标名就是能力本身 | +| Q2 | 测量单位 | token、题、回答、episode、任务还是完整系统? | 不同单位直接平均 | +| Q3 | 任务分布 | 样本代表哪些用户、领域、语言、难度和时间? | 测试集等于现实世界 | +| Q4 | 指标 | loss、accuracy、F1、win rate、resolved、Elo 各丢掉什么? | 所有高分都同向可比 | +| Q5 | Prompt | shots、示例、CoT、模板、答案抽取是否一致? | 同名 benchmark 自动同协议 | +| Q6 | 解码 | greedy、temperature、top-p、长度上限怎样进入分数? | 解码只是实现细节 | +| Q7 | 重复采样 | pass@1、pass@k、cons@k、best-of-N、pass^k 测什么? | k 只是脚注 | +| Q8 | Harness | system prompt、脚手架、工具和上下文管理贡献多少? | Agent 分数全属于模型 | +| Q9 | 环境与版本 | 数据、容器、网站、依赖和 verifier 是哪个快照? | 环境永远不变 | +| Q10 | 裁判 | exact match、单测、人类与 LLM Judge 谁在定义“好”? | Judge 是透明测量仪 | +| Q11 | 聚合 | macro、micro、加权均值、子组与缺失项怎样处理? | 一个总分没有价值判断 | +| Q12 | 不确定性 | 样本数、方差、置信区间与显著性是否足够? | 0.1 分差就是确定排名 | +| Q13 | 污染 | 原文、答案、格式、语义与时间泄漏怎样区分? | n-gram 无重合即无污染 | +| Q14 | 饱和与错误 | 分数高是能力强、题太易,还是标签有错? | benchmark 永远有效 | +| Q15 | 动态性 | 怎样保持新鲜,同时保留跨时间可比性? | 动态榜天然公平 | +| Q16 | 偏好与 Arena | 谁在投票、看见什么、被怎样匹配和排序? | Elo 是绝对智力刻度 | +| Q17 | 成本 | 分数用了多少 token、工具调用、延迟与金钱? | 准确率最高就是最优系统 | +| Q18 | 鲁棒与子群 | 换提示、语言、文化、长度或扰动后结论是否稳定? | 平均数代表每个群体 | +| Q19 | 事实性 | 一篇长回答中,哪些原子事实被可靠来源支持? | 流畅或自洽就是事实 | +| Q20 | 威胁模型 | 攻击者知道什么、能改什么、访问几次、目标是什么? | Jailbreak 成功率可跨论文比较 | +| Q21 | 安全边界 | 不当服从与过度拒答如何同时测? | 拒答越多越安全 | +| Q22 | 披露与审计 | 原始输出、配置、代码、版本与来源是否可复核? | 一张表足够支持强结论 | + +--- + +## 2. 七次历史转向:评测为什么越做越像系统工程 + +### 2.1 1948–2017:从概率拟合到任务代理指标 + +语言模型最早有一个自然的训练与评测对象:留出语料上的负对数似然。perplexity 把它指数化, +直觉上表示模型面对的平均分支数。但它有两条硬边界: + +- 不同 tokenizer 的 token 单位不同,PPL 不可直接横比; +- 更会拟合文本分布不等于更会遵循指令、使用工具或避免伤害。 + +机器翻译与摘要随后用 BLEU、ROUGE 等参考重叠指标换取便宜、可重复的自动评测。 +它们推动了大规模迭代,也把“和参考表面相似”误当成了“语义充分、事实正确、表达自然”的代理。 + +### 2.2 2018–2020:任务套件把“通用性”变成同表比较 + +GLUE、SuperGLUE、MMLU 把多个任务或学科汇成统一套件。贡献不是证明“智能是一个标量”, +而是让同一模型在更广分布上可比较。新的问题随之出现: + +- 任务权重隐含价值判断; +- 多项选择可被格式、选项位置和 tokenization 影响; +- 平均分掩盖学科、语言与难度切片; +- 公开静态题会被训练生态吸收。 + +### 2.3 2021–2022:整体性、动态性与风险进入主流 + +Dynabench 用 human-and-model-in-the-loop 寻找模型当前会错的样本;BIG-bench 扩大任务覆盖; +HELM 明确要求在场景上同时看准确率、校准、鲁棒、公平、偏差、毒性和效率。 + +这一阶段最重要的观念变化是: + +```text +evaluation ≠ one dataset + one metric +evaluation = scenario × adaptation × metric × reporting +``` + +### 2.4 2021–2024:代码与数学把“可验证结果”带回中心 + +HumanEval 用执行测试而非文字相似度判代码;DS-1000 增加真实数据科学问题与多条件检查; +EvalPlus 用自动生成与变异测试扩充测试覆盖;LiveCodeBench 用新竞赛题降低污染。 + +数学也从最终答案 exact match,走到程序化检查、专家题、形式化证明与工具环境。 +可执行 verifier 比 LLM Judge 更硬,但仍受: + +- 隐藏测试充分性; +- 题目规格是否明确; +- 运行环境; +- 超时与资源预算; +- 是否允许多次尝试; + +影响。verifier 不是“天然真理”,而是更明确、可审计的判分程序。 + +### 2.5 2023–2024:开放回答把人类偏好与 LLM Judge 推上台 + +MT-Bench、Chatbot Arena、G-Eval、AlpacaEval、Arena-Hard 解决了开放回答没有唯一参考答案的问题, +同时引入位置、长度、自我偏好、Judge 能力和 rubrics 等新变量。 + +Length-Controlled AlpacaEval 的关键教学意义不是某个相关系数,而是证明:即使“更长” +这样可见的混杂变量,也足以改变自动偏好分;Judge 必须被元评测。 + +### 2.6 2023–2026:Agent 评测把模型升级为系统 + +SWE-bench、WebArena、AgentBench、OSWorld、τ-bench、BrowseComp 与 Terminal-Bench 把评测单位 +从回答变成轨迹与最终状态。此时: + +```text +system outcome = + model × harness × tool contract × environment + × context policy × retry / budget × verifier +``` + +2024 年 SWE-bench Verified 通过专业开发者复核,移除规格不明与测试不公平任务; +到 2026 年,OpenAI 又明确指出它已受污染并建议改用 SWE-bench Pro。 +这是“基准有生命周期”的完整案例,不是某个榜单失败。 + +### 2.7 2020–2026:安全评测从静态毒性走向威胁模型与产品边界 + +RealToxicityPrompts、StereoSet、CrowS-Pairs、BBQ、ToxiGen 主要测内容、刻板印象和偏差; +红队、GCG、Jailbroken、HarmBench、StrongREJECT、JailbreakBench 开始测主动攻击与稳健拒答; +InjecAgent、AgentDojo、Cybench、Agent Security Bench 则把不可信数据、工具权限与真实行动放进环境。 + +AILuminate 的官方限制说明尤其重要:安全测试主要有**负向预测力**——发现失败可以证明存在漏洞, +没有发现失败却不能证明系统安全。 + +--- + +## 3. 指标不是分数皮肤:每个指标都定义了不同问题 + +### 3.1 Token 级:NLL、cross-entropy 与 perplexity + +对 token 序列 `x_1 … x_T`: + +```text +NLL = - Σ_t log p(x_t | x_ 从 `n` 个样本里均匀抽 `k` 个,至少一个通过测试的概率是多少? + +它不等于单次成功率,也不等于多数票。关键区分: + +| 指标 | 问题 | 典型产品含义 | +|---|---|---| +| greedy / one-shot | 默认一次能否成功 | 日常单次使用 | +| mean pass@1 | 在给定采样分布下一次成功概率 | 随机一次尝试 | +| pass@k | k 次里至少一次成功 | 有 verifier 的搜索 | +| cons@k / maj@k | k 次多数答案是否正确 | 自一致投票 | +| best-of-N | Judge / reward 选出的最好答案 | 有选择器的系统 | +| pass^k | 连续 k 次全部成功的概率 | 可靠性要求 | + +若独立单次成功率为 `p`: + +```text +at-least-one success in k = 1 - (1-p)^k +all k runs succeed = p^k +``` + +二者方向相反。Agent 一次能成功 80%,连续 5 次都成功的教学独立近似只有 `0.8^5 ≈ 32.8%`。 +真实运行未必独立,因此应报告经验重复分布,而不是只用公式。 + +### 3.5 开放回答:win rate 与 Elo + +成对偏好把问题改成: + +```text +P(answer A preferred over B | prompt, rater, presentation) +``` + +Arena 再用 Bradley–Terry 等统计模型把比较图映射成相对强度。于是排名取决于: + +- 用户问题分布; +- 模型配对策略; +- 投票者与专家的一致性; +- ties 与 style bias; +- 时间窗口与模型版本; +- bootstrap / confidence interval; +- 分类榜与总榜。 + +Elo 差不是“智力点数”,也不应和 accuracy 的百分点相减。 + +### 3.6 Agent:任务成功率与最终状态 + +对可交互任务,优先验证: + +1. 初始状态是否确定; +2. 动作权限是否相同; +3. 最终状态是否满足目标; +4. 禁止副作用是否发生; +5. 超时、重试、工具错误怎样计; +6. 环境与 verifier 是否可复现。 + +轨迹看起来合理不是成功;gold trajectory 也不应成为唯一正确路径。 + +### 3.7 安全:攻击成功率、拒答率与过拒率 + +至少同时记录: + +```text +unsafe compliance rate +robust refusal rate +benign answer rate +over-refusal rate +attack cost / queries +utility of harmful information +``` + +只看拒答率会奖励“什么都不做”的系统;只看 helpfulness 会奖励危险服从。 +StrongREJECT 进一步指出,有些 jailbreak 虽绕过拒绝,却让模型输出空洞、低能力内容; +因此“非拒绝”不等于有效有害输出。 + +--- + +## 4. 协议:Prompt、解码、预算和统计怎样进入成绩 + +### 4.1 Prompt 是评测输入的一部分 + +最小披露: + +```text +system prompt +chat template +user prompt template +number and identity of shots +CoT / direct-answer instruction +answer format +post-processing / parser +``` + +DeepSeek LLM 的表格中,base model 的部分任务使用 few-shot,而 chat model 在 MMLU、 +GSM8K、MATH、C-Eval、CMMLU 使用 0-shot。报告明确给出差异;读者不能把表内每个数字 +理解为完全相同的 prompting。 + +DeepSeek-R1 又说明,原始 few-shot CoT 可能伤害 reasoning model,因此将若干任务改成 zero-shot。 +这不是“作弊”或“更公平”的先验结论,而是协议适配;比较时必须披露。 + +### 4.2 解码不是无关紧要的尾部参数 + +必须记录: + +- temperature; +- top-p / top-k; +- max output tokens; +- stop strings; +- samples per item; +- seed / deterministic mode; +- reasoning effort; +- timeout; +- early termination; +- invalid-output policy。 + +DeepSeek-R1 发现 greedy 评测长输出推理模型会出现较高重复率和 checkpoint 间变异, +因此用 `temperature=0.6`、`top-p=0.95` 采样多次,再以样本正确率均值报告 pass@1; +AIME 与 GPQA 用 64 个样本,MATH / Codeforces 用 16,LiveCodeBench 用 8。 +这份“pass@1”不是一次 greedy 运行。 + +K3 则在其公开评测中把 reasoning effort 设为 max、temperature 设为 1.0; +无工具单步题使用 `top-p=.95`,Agent 任务使用 `top-p=1`。同名 benchmark 分数只有在这些协议字段 +相同或做敏感性分析时才可强比较。 + +### 4.3 报点估计之前先问样本量 + +若 `n` 道独立二元题中正确比例为 `p̂`,教学近似标准误: + +```text +SE ≈ sqrt(p̂(1-p̂) / n) +``` + +严格报告应使用合适的置信区间、bootstrap 或 paired test,并考虑: + +- 同一题的多次采样相关; +- Arena 比较图不独立同分布; +- Agent 环境随机性; +- 多指标 / 多子组选择带来的多重比较; +- benchmark 提交次数与选择性报告。 + +一张表只标粗体第一名,却不给样本数和区间,不能支持“确定更强”的强结论。 + +### 4.4 校准回答“置信度能不能当概率” + +对预测置信度 `q`,完美校准要求: + +```text +P(correct | confidence = q) = q +``` + +准确率高不自动校准;校准好也不自动高准确率。常见工具: + +- reliability diagram; +- expected calibration error; +- Brier score; +- selective risk / coverage curve; +- temperature scaling; +- semantic entropy; +- P(True) / P(IK)。 + +Kadavath et al. 在其任务和格式中发现较大模型能进行有希望的自评估,但 P(IK) 跨任务校准仍困难; +不能写成“模型普遍知道自己何时错误”。 + +Semantic uncertainty 把不同表述但同义的回答聚类后计算语义熵,解决 token 级多样性不等于 +语义不确定性的问题;它依赖语义等价判断,仍需任务验证。 + +--- + +## 5. 数据:污染、饱和、错误与动态更新 + +### 5.1 五种污染必须分开 + +| 污染层 | 训练时可能看见什么 | 仅靠 exact n-gram 能否充分发现 | +|---|---|---| +| 原文污染 | 测试题或上下文原文 | 部分可以 | +| 答案污染 | 题目—答案配对、解析、测试代码 | 部分可以 | +| 格式污染 | 相同模板、选项顺序、verbalizer | 通常不充分 | +| 语义污染 | 改写题、同一事实或算法 | 通常不能 | +| 时间污染 | 发布后进入继续训练、SFT、RL、合成数据 | 需要时间与数据谱系 | + +于是“没有高阶 n-gram 重合”只能是有限证据。DeepSeek-R1 明确承认 n-gram +decontamination 无法阻止测试集改写污染,这种披露应保留在正文。 + +### 5.2 污染检测也有混杂 + +训练语料中出现题目来源背景,不等于出现答案配对。GPT-3 报告对 SQuAD / DROP 等的分析就区分了 +源文本与问题答案对;同时 PIQA、Winograd 出现值得标记的潜在污染。 + +干净子集与污染子集也可能难度分布不同,因此: + +```text +score(clean subset) < score(dirty subset) +``` + +不能单独证明记忆导致提升。最好同时报告匹配定义、覆盖率、人工检查、效应量与不确定性。 + +### 5.3 题目质量与饱和是不同故障 + +- **标签错误 / 歧义**:正确系统也可能被判错; +- **饱和**:多数前沿模型已接近上限,无法区分; +- **范围过窄**:某一题型被优化,不代表目标构念; +- **难度失真**:只剩极端冷知识也可能偏离实际能力; +- **可博弈**:公开题与 parser 形成优化目标。 + +MMLU-Pro 通过增加推理题、从 4 选项扩到 10 选项并清理噪声提高区分度; +其作者在 24 种 prompt 上报告敏感度较 MMLU 更低。HLE 用专家原创、可自动判分的难题继续扩大前沿差距。 +这些都是“修复当前测量”的尝试,不是永久最终考试。 + +### 5.4 动态 benchmark 的收益与代价 + +动态方法包括: + +- human-and-model-in-the-loop 造难例; +- 从近期竞赛、论文、新闻或代码仓库抽题; +- 私有测试; +- 参数化生成任务; +- 定期刷新; +- 保留版本化 anchor set; +- 线上流量采样。 + +收益: + +- 降低公开测试题被训练吸收的风险; +- 追踪最新世界知识与新型失败; +- 延长区分度。 + +代价: + +- 不同月份题目难度不同; +- 旧模型重跑成本高; +- 私有题降低可解释性; +- 动态环境可能消失; +- 数据收集本身引入用户与地域偏差。 + +LiveBench 选择近期来源、客观自动判分并按月更新;FreshQA 定期更新快速变化知识与错误前提; +SWE-bench Live 从新 GitHub issue 生成可执行任务。正文必须同时讲版本化与 anchor 的需要。 + +--- + +## 6. 裁判:Verifier、人类与 LLM Judge 各自解决什么 + +### 6.1 不存在跨任务通用的“裁判强度全序” + +可执行 verifier 在代码、数学和最终状态任务中通常更明确: + +```text +exact parser + → unit / property tests + → independent implementation + → formal proof checker +``` + +但文学风格、开放建议、同理心和复杂偏好没有现成程序真值,需要人类或模型辅助。 +合理设计是按构念选裁判,并做元评测,而不是宣称某种裁判普遍最高级。 + +### 6.2 代码测试会漏错,也会错杀 + +EvalPlus 把 HumanEval 测试扩充约 80 倍,作者报告在 26 个模型上可捕获大量原测试未发现的错误, +并导致 pass@k 与模型排序变化。SWE-bench Verified 又通过人工检查发现: + +- 问题描述可能规格不足; +- FAIL_TO_PASS 测试可能拒绝合理解; +- 任务环境可能不可执行。 + +所以“运行通过”只意味着通过当前 verifier,不自动等于满足完整用户意图。 + +### 6.3 人类评测需要定义人群与任务 + +最小设计: + +- 谁是目标用户; +- 谁是标注者; +- 专业资格; +- 培训与校准; +- 单盲 / 双盲; +- 位置随机化; +- ties; +- rubric; +- 每项标注数; +- 一致性; +- 伦理与报酬; +- 分歧如何保留。 + +“人类偏好”不是单一客观真值;它是某组人在某种展示与 rubric 下的判断。 + +### 6.4 LLM-as-a-Judge 必须被当作模型 + +MT-Bench / Chatbot Arena 论文系统讨论: + +- position bias; +- verbosity bias; +- self-enhancement bias; +- 数学与推理局限。 + +G-Eval 在摘要与对话任务的作者设置中提高了与人类的相关,但也指出偏好 LLM 生成文本的可能。 +LLMBar 用 419 对“遵循指令 vs 具有迷惑风格”的回答测试 evaluator。 + +Judge 最小披露: + +```text +judge model and dated version +judge system/user prompt +pair order / randomization +rubric and output parser +temperature / repetitions +reference access +human meta-evaluation +position / length / self-bias tests +``` + +### 6.5 Arena 需要不确定性与切片 + +总体 Arena 可能受: + +- 英语与高频主题; +- 特定模型的用户群; +- 模型曝光量; +- 风格与长度; +- 新旧版本混合; +- 配对图稀疏; + +影响。应尽量看: + +- bootstrap interval; +- hard / style-controlled / category leaderboard; +- 票数与时间窗; +- exact model ID; +- 去重与异常投票策略。 + +K3 报告引用第三方 Arena 排名时给出日期与当时名次,这是正确方向;它仍是报告时点的外部平台结果, +不是固定模型常数。 + +--- + +## 7. 从文本到系统:代码、上下文、多模态与 Agent + +### 7.1 代码评测的四级谱系 + +| 层级 | 例子 | 主要回答 | 主要盲区 | +|---|---|---|---| +| 函数补全 | HumanEval / MBPP | 小函数能否过测试 | 题短、测试不足、污染 | +| 真实库调用 | DS-1000 | 能否使用常见数据科学库 | 环境与 API 版本 | +| 动态竞赛 | LiveCodeBench | 新题算法、执行、修复 | 竞赛题不等于工程 | +| 仓库 / 终端 | SWE-bench / Terminal-Bench | 长程查找、编辑、运行与验证 | Harness、环境、预算 | + +分数跨层级不能直接相减。K3 的 DeepSWE、ProgramBench、Terminal-Bench、 +FrontierSWE、SWE-Marathon 是不同构念与系统协议。 + +### 7.2 长上下文:声明窗口不等于有效窗口 + +Needle-in-a-Haystack 主要测检索。RULER 增加多 needle、多跳 tracing 与聚合; +LongBench 覆盖双语多任务。仍需记录: + +- 真实 token 数与 tokenizer; +- 重要信息位置; +- 是否截断; +- 上下文管理; +- 输出长度; +- 长度—难度曲线; +- 短上下文基线; +- 检索、推理和生成分别失败在哪里。 + +模型在 1M token 内找到一串 passkey,不证明它能综合 1M token 的矛盾证据。 + +### 7.3 多模态总分要拆成瓶颈链 + +```text +感知 / OCR + → grounding + → 跨模态融合 + → 知识 / 推理 + → 输出 / 操作 +``` + +OCRBench、MMBench、MMMU、Video-MME 的任务与输入形态不同。对多模态题,至少披露: + +- 原始图像尺寸与预处理; +- tile / crop; +- 图像数量与视频帧采样; +- OCR / tool; +- prompt; +- 是否允许重新观察; +- 文字与视觉子集; +- Judge; +- token / latency 成本。 + +### 7.4 Agent 的单位是“模型—脚手架—环境” + +Agent 最小协议: + +```text +model ID +system prompt +harness commit +tool schema and permissions +environment / image / date +context management +max steps / tokens / wall clock +retry / reset +parallel rollouts +verifier +cost +raw trajectory +``` + +Cybench 在顶级模型上比较 4 种 scaffold;OpenAI 对 SWE-bench Verified 的分析展示同一模型在不同 +scaffold 上可产生很大差距。K3 在 DeepSWE、Terminal-Bench 等任务中使用不同模型专用 harness, +因此报告“best score across harnesses”必须和固定 harness 榜区分。 + +### 7.5 Final-state verifier 比轨迹模仿更适合多解任务 + +好的 Agent verifier 检查: + +```text +required final state +forbidden side effects +permissions / authority +task invariants +external persistence +``` + +而不是要求和 gold trace 一步不差。OSWorld 用 task-specific execution scripts; +τ-bench 把 tool-agent-user interaction 与 policy constraints 放进任务; +AgentDojo 同时测正常任务与 prompt injection 下的安全性质。 + +--- + +## 8. 安全评测:先画威胁模型,再看分数 + +### 8.1 三类对象不能混为一谈 + +| 对象 | 例子 | 问题 | +|---|---|---| +| 裸模型能力 | checkpoint 能生成什么 | 是否拥有危险能力 | +| 行为对齐 | 面对请求会不会拒绝或安全响应 | 模型策略是否稳健 | +| 产品系统 | system prompt、过滤器、工具权限、审计与速率限制 | 部署风险是否被控制 | + +同一 checkpoint 加风控 wrapper 后安全榜可能显著变化。DeepSeek-R1 Appendix D 同时给出 +纯模型与风险控制系统结果,正好说明产品安全不能归给模型单层。 + +### 8.2 威胁模型最小字段 + +```text +attacker goal +attacker knowledge +attacker access +query / compute budget +allowed transformations +target model / wrapper +conversation length +tool permissions +success criterion +evaluator +attack artifacts disclosed? +``` + +没有这些字段的 attack success rate 不可跨论文直接比较。 + +### 8.3 从静态内容到主动攻击 + +谱系: + +1. **内容分布**:RealToxicityPrompts; +2. **刻板印象 / 偏差**:StereoSet、CrowS-Pairs、BBQ; +3. **对抗数据生成**:ToxiGen; +4. **人工 / 模型红队**:Perez et al.、Ganguli et al.; +5. **自动 jailbreak**:GCG、Jailbroken; +6. **标准化拒答与攻击**:HarmBench、JailbreakBench; +7. **有效有害内容**:StrongREJECT; +8. **不可信工具数据**:InjecAgent、AgentDojo; +9. **网络安全能力**:Cybench; +10. **行业标准化套件**:AILuminate。 + +这不是单向“越来越安全”,而是被测攻击面不断扩大。 + +### 8.4 红队发现取决于资源与参与者 + +Red-Teaming for Generative AI 将活动拆成: + +- 目的; +- 产物; +- 参与者; +- 访问权; +- 时间与计算资源; +- 决策去向。 + +短时 crowdworker、领域专家、内部员工与自动攻击器能发现的风险不同。 +“做过红队”若没有过程披露,容易退化为 security theater。 + +### 8.5 Jailbreak 不能只看是否拒答 + +评测至少分三步: + +```text +did the model refuse? +did it provide policy-violating content? +was the content specific / useful enough to realize harm? +``` + +StrongREJECT 的实证结论是既有自动评估可能显著高估 jailbreak 效果; +JailbreakBench 则固定 threat model、system prompt、chat template、100 个 behaviors、 +scoring 与 artifact repository,使攻击成本与成功率更可比。 + +### 8.6 过度拒答是安全失败的一部分 + +XSTest 同时有: + +- 250 个含敏感词但安全的 prompts; +- 200 个应拒绝的对照 prompts。 + +安全前沿应画成二维: + +```text +unsafe compliance ↓ +benign task completion ↑ +``` + +一个模型把所有安全问题都拒绝,不应被评为“最安全且最好用”。 + +### 8.7 Prompt injection 是权限与数据流问题 + +InjecAgent 的 1,054 个案例覆盖 17 个用户工具、62 个攻击者工具,目标包括直接伤害与数据外泄; +AgentDojo 用可扩展环境同时测正常任务、攻击与防御。 + +核心不只是“模型有没有被一句话骗过”,而是: + +```text +trusted instruction +untrusted observation / document / email +tool authority +side effect +secret +``` + +是否被明确分层。Instruction Hierarchy 把 system > user > tool/data 的权限优先级变成训练与评测对象。 + +### 8.8 网络安全能力与风险必须分层 + +Cybench 用 40 个专业 CTF 任务、可执行环境与中间子任务测 Agent;K3 报告内部 cybersecurity +又区分 discovery、PoC 与 end-to-end exploit tier。报告“发现漏洞”不能自动升级成 +“能可靠完成真实端到端攻击”,反之低 CTF 成绩也不证明没有现实风险。 + +--- + +## 9. DeepSeek 评测谱系:为什么特别值得亮点讲 + +DeepSeek 系列不是只有模型结构演进;它的评测协议也逐步从静态能力表,走到多预算推理、 +Agent harness、形式 verifier 与产品风控。以下只总结报告披露,不把作者结论外推。 + +### 9.1 DeepSeek LLM(2024):第一次把四类评测并排 + +报告同时包含: + +- public benchmark; +- Chinese / English open-ended evaluation; +- held-out evaluation; +- safety evaluation; +- 训练过程 benchmark curves; +- 评测格式附录。 + +值得教学的细节: + +- base 与 chat 的 shots 并不完全一致; +- open-ended 任务温度按任务类型变化; +- held-out code 与 instruction-following 用于补公开题; +- 报告承认多项选择数据可能进入训练,并对部分集做 dedup。 + +错误写法:把表中全部差距归因于模型结构,忽略 base / chat 协议差异与后训练。 + +### 9.2 DeepSeekMath(2024):Maj@K 上升不等于 Pass@K 上升 + +DeepSeekMath 报告 RL 后: + +- majority / self-consistency 变好; +- Pass@K 未同步改善。 + +作者谨慎解释为正确答案在分布中的排序与稳定性提高,而不是已经证明基础解题支持集扩大。 +这是区分“推理能力”“采样分布”“选择器收益”的经典案例。 + +### 9.3 DeepSeek-V2(2024):架构、开放生成与长上下文同表出现 + +报告覆盖: + +- MMLU / C-Eval / CMMLU; +- HumanEval / MBPP / LiveCodeBench; +- MT-Bench / AlpacaEval 2.0; +- NIAH; +- base / chat / DPO; +- 额外 math / code 分析。 + +NIAH 高分只支持检索式长上下文证据,不能单独证明复杂综合。 + +### 9.4 DeepSeek-V3(2024):更明确的框架与新一代题集 + +V3: + +- base 使用内部 HAI-LLM evaluation framework; +- 增加 MMLU-Redux、MMLU-Pro、MMMLU、GPQA、LiveCodeBench、SWE-bench Verified; +- open-ended 继续用 AlpacaEval / Arena-Hard; +- 长上下文仍包括 NIAH; +- tokenizer 的换行复合 token 可能影响 few-shot 边界,报告专门讨论并在训练中缓解。 + +这个 tokenizer 细节说明:评测 prompt 的最后一个换行也可能成为协议变量。 + +### 9.5 DeepSeek-R1(2025):采样、污染、Harness 与安全 wrapper 全部显性化 + +最重要的四点: + +1. 用非零温度多次采样计算 mean pass@1,不是 greedy; +2. 不同 benchmark 使用不同 `k`,AIME 另报 cons@64; +3. SWE-bench Verified 使用 Agentless,Aider 使用 diff format; +4. 安全结果区分纯模型与风险控制系统。 + +污染部分还明确承认 n-gram 无法拦截 paraphrase contamination。 + +R1 安全附录使用 SST、BBQ、Anthropic Red Team、XSTest、Do-Not-Answer、HarmBench; +部分来自 HELM,部分作者复现;HarmBench Judge 被替换为 GPT-4o,且被产品风险控制拒绝的请求统一按安全响应。 +这些字段会改变分数,必须逐项保留。 + +### 9.6 DeepSeek-V3.2(2025):Agent 与 token efficiency 成为一等字段 + +V3.2 评测覆盖知识、数学代码竞赛、Terminal-Bench、SWE、BrowseComp、MCP 等; +报告给出: + +- temperature 与 128K context; +- thinking / non-thinking; +- 工具设置; +- Agent 任务; +- performance / token consumption 图; +- 特定竞赛的提交与验证流程。 + +这一步把“同分用了多少 token”带进模型比较。 + +### 9.7 DeepSeek-V4(2026):多 effort、超长上下文与 500 步 Agent + +V4 披露: + +- Non-think / High / Max; +- reasoning / knowledge 分别使用 8K、128K、384K context; +- formal math 在 Lean v4.28.0-rc1 中最多 500 tool calls; +- code Agent 使用内部 bash + file-edit harness,最多 500 步、512K context; +- search Agent 使用 websearch + Python,同样 500 步 / 512K; +- 1M context 对竞争模型重跑以统一配置; +- Codeforces 每题生成 32 候选,再随机抽 10 形成提交序列并求期望 rating; +- strict verifier 决定 formal proof 正确性。 + +因此 V4 表格是“高预算系统设置下的作者评测”,不是裸模型在默认 API 下的无条件属性。 + +### 9.8 DeepSeek 主线的教学结论 + +```text +DeepSeek LLM + public / open / held-out / safety + ↓ +DeepSeekMath + pass@k vs maj@k + ↓ +V2 / V3 + newer suites + open judge + long context + ↓ +R1 + sampled pass@1 + harness + wrapper-aware safety + ↓ +V3.2 / V4 + effort / token / tools / environment / formal verifier +``` + +这条谱系比背模型分数更重要:越接近 Agent,协议字段越多,单一“模型榜”越不充分。 + +--- + +## 10. Kimi K3 §6:把一张大表重新展开成协议 + +### 10.1 公共评测分四层 + +K3 §6.1 把任务分为: + +- Reasoning & Knowledge; +- Coding; +- Agentic; +- Vision / multimodal。 + +其中可见节点包括 GPQA Diamond、CritPt、AA-LCR、HLE-Full、DeepSWE、ProgramBench、 +Terminal-Bench 2.1、FrontierSWE、SWE-Marathon、BrowseComp、DeepSearchQA、 +ResearchRubrics、Toolathlon-Verified、MCPMark-Verified、OSWorld-Verified、OSWorld 2.0、 +SaaS-Bench、τ³-Banking 等。 + +任务名字很多,但真正可比较性来自下面的协议。 + +### 10.2 公开设置 + +报告披露: + +- K3 reasoning effort 为 max; +- temperature = 1.0; +- GPQA / HLE / vision 等无工具单步评测 `top-p=.95`; +- Agent 任务 `top-p=1`; +- 一般按模型使用 Kimi Code / Claude Code / Codex 等模型专用 harness; +- DeepSWE 使用 v1.1; +- K3 在官方 mini-SWE-agent harness 另有 `67.3`,主表是另一协议; +- Terminal-Bench 2.1 对所有模型报告各 harness 的最好分; +- SWE-Marathon 使用截至报告时点的 H20-calibrated task branch; +- FrontierSWE dominance 用 2026-07-16 官方脚本重算; +- 部分任务用 Gemini 3.1 Pro Judge; +- AutomationBench 使用 600 题公开子集; +- BrowseComp 使用特定上下文管理策略。 + +这组披露直接支持本章总公式: + +```text +reported benchmark score + = model + effort + sampling + harness + environment + + context management + verifier / judge + date +``` + +### 10.3 作者报告值只能在协议边界内读 + +可作为案例、但不可外推的主表值包括: + +- GPQA Diamond:93.5; +- HLE-Full:无工具 43.5 / 有工具 56.0; +- DeepSWE:67.5; +- FrontierSWE:81.2; +- SWE-Marathon:42.0; +- BrowseComp:91.2; +- OSWorld-Verified:84.8; +- OSWorld 2.0:58.3。 + +安全写法: + +> K3 报告在其 §6 所述 max-effort、采样、Harness、工具与版本配置下报告这些结果。 + +错误写法: + +> K3 的裸模型能力就是这些固定百分比,且可与任意来源同名 benchmark 直接比较。 + +### 10.4 内部评测 + +K3 §6.2 明确说明内部 benchmark 会频繁刷新和扩展,以追踪不断变化的 failure modes; +覆盖 capability、coding、enterprise、conversation 等。 + +优点: + +- 能测未公开、未污染的新失败; +- 可贴近产品分布; +- 可快速迭代。 + +边界: + +- 外部无法复现; +- 题目选择与 Judge 不透明; +- 跨时间分数未必同量尺; +- 应报告版本、覆盖、抽样和人工审计。 + +### 10.5 网络安全 Tier + +K3 内部 cybersecurity 分层: + +- discovery; +- PoC / Tier 1; +- end-to-end exploit / Tier 2。 + +这避免把“指出潜在漏洞”与“稳定端到端利用”混写。 + +### 10.6 第三方评测 + +K3 §6.3 披露 WebDev Arena、Text Arena、Agent Arena 等第三方时点排名; +成本—分数图的 K3 成本来自自有运行,Claude / GPT 成本取自引用来源; +baseline 分数也可能来自各自来源、各自设置。 + +因此“成本更低且分数更高”的图要逐点审计: + +- 价格日期; +- input / output token; +- cached token; +- 平均长度; +- reasoning effort; +- tool cost; +- harness; +- 是否作者自跑; +- SLO。 + +### 10.7 K3 主线的教学结论 + +K3 §6 的价值不只是分数高,而是提供了一个真实的前沿评测“混合证据现场”: + +```text +作者自跑 ++ 官方 leaderboard ++ 第三方平台 ++ 内部动态集 ++ 不同 harness ++ LLM Judge ++ 成本引用 +``` + +学生的任务是给每个数字贴 provenance,而不是把整张表当成同一实验。 + +本地证据: + +- `research/sources/kimi-k3/k3_tech_report.txt:1687-1750` +- `research/sources/kimi-k3/k3_tech_report.txt:1751-1845` +- `research/sources/kimi-k3/k3_tech_report.txt:1850-1965` + +--- + +## 11. 四个原创交互实验的教学合同 + +### Lab A:指标与校准显微镜 + +用户可调: + +- tokenizer 粒度; +- 正确率; +- 置信度; +- selective threshold; +- 风险代价。 + +输出: + +- PPL / bits-per-byte 的不可比示例; +- reliability bins; +- ECE 教学近似; +- coverage / selective accuracy; +- “高准确但过度自信”与“较低准确但可弃答”的区别。 + +必须标注:所有数字为教学模拟,不对应真实模型。 + +### Lab B:Judge 与 Arena 偏差实验 + +用户可调: + +- A/B 顺序; +- 长度差; +- style; +- Judge 能力; +- self-family bias; +- 票数; +- ties。 + +输出: + +- pairwise preference; +- position flip; +- length-adjusted preference; +- bootstrap 区间教学近似; +- 稀疏比较图如何导致排名不稳。 + +### Lab C:污染与动态基准实验 + +用户可调: + +- 文本 / 答案 / 格式 / 语义 / 时间污染; +- n-gram threshold; +- 私有 holdout; +- 动态刷新比例; +- anchor set。 + +输出: + +- 可检测污染; +- 漏检污染; +- 静态可比性; +- 新鲜度; +- benchmark 半衰期; +- 结论标签。 + +### Lab D:系统分数与安全前沿 + +用户可调: + +- base model capability; +- harness boost; +- tool / retry budget; +- verifier strength; +- environment noise; +- jailbreak pressure; +- risk-control wrapper; +- benign refusal。 + +输出: + +- raw capability; +- system success; +- repeatability; +- cost; +- unsafe compliance; +- over-refusal; +- “能力榜 / 系统榜 / 安全榜不能合并”。 + +--- + +## 12. 一份可复制的评测审计卡 + +### 12.1 构念 + +- [ ] 要测的能力 / 风险用一句可证伪的话定义; +- [ ] 题目与真实使用之间的差异列出; +- [ ] 不测什么明确写出。 + +### 12.2 数据 + +- [ ] dataset 名称、版本、commit、split、日期; +- [ ] 语言、领域、难度、用户群; +- [ ] 标签质量与多解; +- [ ] 污染定义、匹配阈值与人工检查; +- [ ] 动态题与 anchor 题比例。 + +### 12.3 模型与产品 + +- [ ] exact model ID / checkpoint / date; +- [ ] base、chat、reasoner; +- [ ] 裸模型还是产品 wrapper; +- [ ] system prompt、过滤器与风险控制。 + +### 12.4 推理协议 + +- [ ] prompt / chat template / shots; +- [ ] temperature / top-p / seed; +- [ ] max tokens / context; +- [ ] samples / pass@k / consensus; +- [ ] reasoning effort; +- [ ] invalid output / timeout policy。 + +### 12.5 Agent 协议 + +- [ ] harness 与 commit; +- [ ] tools、权限与 schema; +- [ ] environment image / date; +- [ ] context management; +- [ ] steps / wall-clock / retries; +- [ ] verifier 与 side effects。 + +### 12.6 Judge 与统计 + +- [ ] exact match / test / human / LLM Judge; +- [ ] Judge prompt / model / parser; +- [ ] position / length sensitivity; +- [ ] sample size; +- [ ] confidence interval / paired test; +- [ ] macro / micro / missing values。 + +### 12.7 经济与来源 + +- [ ] input / output / cached tokens; +- [ ] tool calls / rollouts; +- [ ] latency / price / hardware; +- [ ] author-reported / official leaderboard / independent rerun; +- [ ] raw outputs / logs / config 是否开放。 + +--- + +## 13. 五十个新增一手节点 + +下表是论文库从 400 扩充到 450 的新增节点。每项只写最小可支持贡献。 + +| 年 | 节点 | 本章使用方式 | +|---|---|---| +| 2002 | BLEU | 自动参考重叠指标的历史起点与代理边界 | +| 2004 | ROUGE | 摘要 recall-oriented 参考重叠 | +| 2017 | On Calibration of Modern Neural Networks | reliability、ECE 与 temperature scaling 坐标 | +| 2018 | GLUE | 多任务统一套件 | +| 2019 | SuperGLUE | 基准饱和后的加难与诊断 | +| 2020 | RealToxicityPrompts | 语言模型生成毒性的分布式测量 | +| 2020 | StereoSet | 语言模型刻板印象与语言建模能力权衡 | +| 2020 | CrowS-Pairs | 美国语境九类社会偏差的成对测量 | +| 2021 | HumanEval | 执行测试与 pass@k | +| 2021 | TruthfulQA | 模仿人类错误信念的对抗式事实性 | +| 2021 | Dynabench | human-and-model-in-the-loop 动态造题 | +| 2021 | BBQ | 有信息 / 信息不足条件下的 QA 偏差 | +| 2022 | Language Models (Mostly) Know What They Know | P(True) / P(IK) 自评与校准 | +| 2022 | ToxiGen | 对抗式、隐性仇恨数据生成 | +| 2022 | Red Teaming Language Models with Language Models | 用模型自动产生红队测试 | +| 2022 | Red Teaming Language Models to Reduce Harms | 红队流程、规模与 38,961 攻击数据 | +| 2022 | BIG-Bench Hard | 从 BIG-bench 选出困难任务并研究 CoT | +| 2022 | DS-1000 | 真实数据科学代码与多条件执行检查 | +| 2023 | MT-Bench / Chatbot Arena | LLM Judge 与现场人类成对偏好 | +| 2023 | G-Eval | rubric + CoT + form filling 的生成评测 | +| 2023 | LLMBar | 419 对迷惑性 instruction-following 元评测 | +| 2023 | EvalPlus | 扩充测试揭示 false positive 与误排序 | +| 2023 | FActScore | 长文拆成原子事实后核验支持率 | +| 2023 | SelfCheckGPT | 黑盒多样本一致性检测事实性 | +| 2023 | HaluEval | 生成并人工标注的幻觉识别集 | +| 2023 | Universal Adversarial Suffix / GCG | 自动梯度式 jailbreak 与迁移 | +| 2023 | Jailbroken | 竞争目标与泛化失配的安全失败框架 | +| 2023 | XSTest | 不当服从与过度拒答双向测量 | +| 2023 | Do-Not-Answer | 危险指令 safeguard 数据集 | +| 2023 | FreshLLMs / FreshQA | 快速变化知识与错误前提的动态 QA | +| 2023 | Semantic Uncertainty | 按语义等价类计算生成不确定性 | +| 2024 | Chatbot Arena | 众包成对比较与统计排名平台 | +| 2024 | Length-Controlled AlpacaEval | 控制长度混杂的自动偏好评测 | +| 2024 | Arena-Hard / BenchBuilder | 从现场流量构建区分性开放题 | +| 2024 | LiveBench | 近期来源、客观判分、按月更新 | +| 2024 | LiveCodeBench | 持续收集新竞赛题与多种代码能力 | +| 2024 | RULER | 超越单 needle 的长上下文诊断 | +| 2024 | HarmBench | 标准化自动红队与稳健拒答 | +| 2024 | StrongREJECT | 有害信息效用而非非拒答本身 | +| 2024 | JailbreakBench | threat model、artifact、behavior、scoring 标准化 | +| 2024 | InjecAgent | 工具 Agent 的间接 prompt injection | +| 2024 | Cybench | 可执行 CTF 环境、子任务与 scaffold 敏感性 | +| 2024 | Instruction Hierarchy | privileged instruction 的训练与评测 | +| 2024 | Global MMLU | 翻译与文化偏差导致模型排名变化 | +| 2024 | FrontierMath | 专家原创难题与自动验证 | +| 2024 | WildGuard | prompt、response 与 refusal 三项安全 moderation | +| 2024 | MMLU-Pro | 更难、更多选项、较低 prompt 敏感性 | +| 2024 | MMLU-Redux | MMLU 错误审计与人工重标 | +| 2025 | AILuminate | 12 类风险、标准与行业化安全套件 | +| 2025 | SWE-bench Live | 新 GitHub issue 驱动的动态可执行软件工程评测 | + +--- + +## 14. 八十节点正式阅读链 + +页面阅读链由上述 50 个新增节点,加上 30 个项目已有节点组成: + +1. Perplexity; +2. MMLU; +3. BIG-bench; +4. HELM; +5. PALOMA; +6. benchmark contamination investigation; +7. LongBench; +8. GPQA; +9. Humanity’s Last Exam; +10. RewardBench; +11. AgentBench; +12. SWE-bench; +13. OSWorld; +14. τ-bench; +15. BrowseComp; +16. AgentDojo; +17. Agent Security Bench; +18. OCRBench; +19. MMBench; +20. MMMU; +21. Video-MME; +22. DeepSeek LLM; +23. DeepSeekMath; +24. DeepSeek-V2; +25. DeepSeek-V3; +26. DeepSeek-R1; +27. DeepSeek-V3.2; +28. DeepSeek-V4; +29. Kimi k1.5; +30. Kimi K3。 + +顺序按章节叙事重新编排,不按“重要性”排序。 + +--- + +## 15. 事实边界表 + +| 可以写 | 不能写 | +|---|---| +| 作者在其设置下报告 X | X 是模型永恒、内在、跨协议的能力 | +| 自动 Judge 在该元评测中与人类相关 | LLM Judge 等同人类 | +| n-gram 方法未发现某类文本重合 | 数据绝无污染 | +| verifier 接受该输出 | 输出满足未编码的全部用户意图 | +| 安全 benchmark 未发现所覆盖的失败 | 系统安全 | +| wrapper 降低作者测试中的 unsafe response | 裸模型本身同样安全 | +| pass@k 随 k 增加 | 单次成功率提升 | +| cons@k 提升 | 解题支持集必然扩大 | +| Agent 在某 harness 成功 | 任意脚手架和环境都同样成功 | +| Arena 在某时间窗排名靠前 | 绝对、永久、全用户偏好更高 | +| 动态 benchmark 降低已知公开题污染 | 动态题无偏且永久可比 | +| K3 / DeepSeek 表格披露了协议 | 表内外所有 baseline 都被完全统一重跑 | + +--- + +## 16. P0 / P1 来源入口 + +### 测量与基准 + +- BLEU — https://aclanthology.org/P02-1040/ +- ROUGE — https://aclanthology.org/W04-1013/ +- Calibration — https://proceedings.mlr.press/v70/guo17a.html +- GLUE — https://arxiv.org/abs/1804.07461 +- SuperGLUE — https://arxiv.org/abs/1905.00537 +- MMLU — https://arxiv.org/abs/2009.03300 +- BIG-bench — https://arxiv.org/abs/2206.04615 +- HELM — https://arxiv.org/abs/2211.09110 +- PALOMA — https://arxiv.org/abs/2312.10523 +- MMLU-Redux — https://arxiv.org/abs/2406.04127 +- MMLU-Pro — https://arxiv.org/abs/2406.01574 +- HLE — https://arxiv.org/abs/2501.14249 + +### 动态、代码与 Agent + +- Dynabench — https://arxiv.org/abs/2104.14337 +- HumanEval — https://arxiv.org/abs/2107.03374 +- DS-1000 — https://arxiv.org/abs/2211.11501 +- EvalPlus — https://arxiv.org/abs/2305.01210 +- LiveCodeBench — https://arxiv.org/abs/2403.07974 +- LiveBench — https://arxiv.org/abs/2406.19314 +- SWE-bench — https://arxiv.org/abs/2310.06770 +- SWE-bench Verified — https://openai.com/index/introducing-swe-bench-verified/ +- SWE-bench Live — https://arxiv.org/abs/2505.23419 +- SWE-bench Verified deprecation analysis — https://openai.com/index/why-we-no-longer-evaluate-swe-bench-verified/ +- RULER — https://arxiv.org/abs/2404.06654 +- OSWorld — https://arxiv.org/abs/2404.07972 +- AgentDojo — https://arxiv.org/abs/2406.13352 +- Cybench — https://arxiv.org/abs/2408.08926 + +### Judge、事实性与校准 + +- Language Models (Mostly) Know — https://arxiv.org/abs/2207.05221 +- Semantic Uncertainty — https://arxiv.org/abs/2302.09664 +- TruthfulQA — https://arxiv.org/abs/2109.07958 +- SelfCheckGPT — https://arxiv.org/abs/2303.08896 +- FActScore — https://arxiv.org/abs/2305.14251 +- HaluEval — https://arxiv.org/abs/2305.11747 +- MT-Bench / Chatbot Arena — https://arxiv.org/abs/2306.05685 +- Chatbot Arena — https://arxiv.org/abs/2403.04132 +- G-Eval — https://arxiv.org/abs/2303.16634 +- LLMBar — https://arxiv.org/abs/2310.07641 +- Length-Controlled AlpacaEval — https://arxiv.org/abs/2404.04475 +- Arena-Hard — https://arxiv.org/abs/2406.11939 + +### 安全 + +- RealToxicityPrompts — https://arxiv.org/abs/2009.11462 +- StereoSet — https://arxiv.org/abs/2004.09456 +- CrowS-Pairs — https://arxiv.org/abs/2010.00133 +- BBQ — https://arxiv.org/abs/2110.08193 +- ToxiGen — https://arxiv.org/abs/2203.09509 +- LM red teaming — https://arxiv.org/abs/2202.03286 +- Red teaming lessons — https://arxiv.org/abs/2209.07858 +- GCG — https://arxiv.org/abs/2307.15043 +- Jailbroken — https://arxiv.org/abs/2307.02483 +- XSTest — https://arxiv.org/abs/2308.01263 +- Do-Not-Answer — https://arxiv.org/abs/2308.13387 +- HarmBench — https://arxiv.org/abs/2402.04249 +- StrongREJECT — https://arxiv.org/abs/2402.10260 +- JailbreakBench — https://arxiv.org/abs/2404.01318 +- InjecAgent — https://arxiv.org/abs/2403.02691 +- Instruction Hierarchy — https://arxiv.org/abs/2404.13208 +- WildGuard — https://arxiv.org/abs/2406.18495 +- AILuminate — https://arxiv.org/abs/2503.05731 +- AILuminate official limitations — https://ailuminate.mlcommons.org/benchmarks/general_purpose_ai_chat/1.0-en_us-official-ensemble + +### DeepSeek / Kimi + +- DeepSeek LLM — https://arxiv.org/abs/2401.02954 +- DeepSeekMath — https://arxiv.org/abs/2402.03300 +- DeepSeek-V2 — https://arxiv.org/abs/2405.04434 +- DeepSeek-V3 — https://arxiv.org/abs/2412.19437 +- DeepSeek-R1 — https://arxiv.org/abs/2501.12948 +- DeepSeek-V3.2 — https://arxiv.org/abs/2512.02556 +- DeepSeek-V4 — https://arxiv.org/abs/2606.19348 +- Kimi k1.5 — https://arxiv.org/abs/2501.12599 +- Kimi K3 — https://arxiv.org/abs/2607.24653 + +--- + +## 17. 本章完成检查 + +- [x] 现有 66 个评测标签节点审计; +- [x] K3 §6 公共 / 内部 / 第三方评测拆解; +- [x] DeepSeek LLM → Math → V2 → V3 → R1 → V3.2 → V4 协议谱系; +- [x] 50 个新增一手节点核验; +- [x] 22 张独立问题账; +- [x] pass@k / cons@k / pass^k 区分; +- [x] 污染五分法; +- [x] Judge / Arena 元评测主线; +- [x] code / long-context / multimodal / Agent verifier 主线; +- [x] safety threat model、jailbreak 有效性与 over-refusal; +- [x] 四联交互实验教学合同; +- [x] 评测审计卡; +- [x] 网站实现与浏览器回归; +- [ ] 生产发布与公开仓库同步。 diff --git a/research/sources/README.md b/research/sources/README.md index 87eb182..1f783fa 100644 --- a/research/sources/README.md +++ b/research/sources/README.md @@ -66,3 +66,17 @@ DeepSeek-VL/VL2、Janus、OCR 三分支,Kimi 三代 MoonViT、十六张问题 计入全文证据。十八本独立账、62 节点阅读链、DeepSeek 与 Kimi 服务谱系、十五组视觉合同和 四实验合同见 `../INFERENCE_SERVING_RESEARCH.md`。Grok Headless 的 70 个候选只保存在 `../INFERENCE_SERVING_GROK_LEADS.md`,不能越过一手来源核验进入正文。 + +评测与安全首轮缓存位于 `evaluation-safety/`(不提交 PDF/TXT): + +- 指标与套件:BLEU、ROUGE、GLUE、SuperGLUE、MMLU-Pro / Redux、PALOMA 与 RULER; +- 动态与代码:Dynabench、FreshLLMs、LiveBench、HumanEval、EvalPlus、LiveCodeBench 与 SWE-bench Live; +- 裁判与偏好:MT-Bench、G-Eval、LLMBar、Length-Controlled AlpacaEval、Arena-Hard 与 Chatbot Arena; +- 安全与 Agent:RealToxicity、ToxiGen、GCG、HarmBench、StrongREJECT、JailbreakBench、InjecAgent、 + Cybench、WildGuard 与 AILuminate; +- DeepSeek LLM/Math/V2/V3/R1/V3.2/V4 与 Kimi K3 复用既有模型报告缓存。 + +本轮完整校验 50 份新增 PDF/TXT;Global MMLU 通过 canonical arXiv 导出入口取得,PDF 可读性警告 +未影响文本核验。二十二张测量账、80 节点阅读链、DeepSeek/K3 协议谱系、四实验合同与证据边界见 +`../EVALUATION_SAFETY_RESEARCH.md`。Grok Headless 仅生成教学问题和候选线索,永久隔离在 +`../EVALUATION_SAFETY_GROK_LEADS.md`,不能作为正式事实来源。 diff --git a/scripts/check-agents-browser.mjs b/scripts/check-agents-browser.mjs index 892bc04..8b3b785 100644 --- a/scripts/check-agents-browser.mjs +++ b/scripts/check-agents-browser.mjs @@ -217,7 +217,7 @@ if (!overview.title.includes("可靠行动")) failures.push("章节标题异常" if (overview.sections !== 28 || overview.tocLinks !== 28) failures.push("章节/目录数量异常"); if (overview.paperLinks !== 52) failures.push("正式论文链不是 52 个节点"); if (overview.labTabs !== 4 || overview.labPanels !== 4) failures.push("四联实验结构异常"); -if (overview.navLinks !== 18 || home.navLinks !== 18 || mobile.mobileLinks !== 18) failures.push("全站导航未同步推理服务专题"); +if (overview.navLinks !== 19 || home.navLinks !== 19 || mobile.mobileLinks !== 19) failures.push("全站导航未同步评测专题"); if (overview.documentOverflow > 1 || mobile.documentOverflow > 1) failures.push("桌面或移动端存在横向溢出"); if (loop.initial.finalState !== "UNVERIFIED" || loop.directSchema.finalState !== "FAILED") failures.push("控制循环终局状态异常"); if (!loop.directSchema.observation.includes("ERROR schema") || loop.directSchema.recovery !== "FRAGILE") failures.push("Direct/schema 故障传播异常"); @@ -228,8 +228,8 @@ if (numeric(reliability.initial.passAt) <= numeric(reliability.k2.passAt) || num if (reliability.nonIdempotent.sideRisk === "LOW") failures.push("非幂等写操作风险没有提升"); if (numeric(rl.wait.utilization) >= numeric(rl.full.utilization) || numeric(rl.wait.lostWork) <= numeric(rl.full.lostWork)) failures.push("wait-all 长尾/重算方向异常"); if (!rl.wait.takeaway.includes("wait-all") || rl.keyboardSelected !== "rl" || rl.keyboardVisible !== "rl") failures.push("长程 RL 解释或键盘导航异常"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化") || home.firstHref !== "/systems/inference/") failures.push("首页推理服务首发入口异常"); -if (home.paperCount !== "400" || papers.total !== 400 || !papers.hasAgentFilter || papers.agentVisible < 52) failures.push("论文库 Agent 标签或论文总数异常"); +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单") || home.firstHref !== "/evaluation/") failures.push("首页评测首发入口异常"); +if (home.paperCount !== "450" || papers.total !== 450 || !papers.hasAgentFilter || papers.agentVisible < 52) failures.push("论文库 Agent 标签或论文总数异常"); if (!mobile.menuVisible || mobile.menuOpen !== "true" || mobile.tabs !== 4) failures.push("移动端导航或实验异常"); if (exceptions.length) failures.push(`浏览器异常:${exceptions.join(" | ")}`); diff --git a/scripts/check-alignment-browser.mjs b/scripts/check-alignment-browser.mjs index e84abbe..ba2aa9f 100644 --- a/scripts/check-alignment-browser.mjs +++ b/scripts/check-alignment-browser.mjs @@ -216,7 +216,7 @@ if (!overview.title.includes("真正与人协作")) failures.push("章节标题 if (overview.sections !== 22 || overview.tocLinks !== 22) failures.push("章节/目录数量异常"); if (overview.paperLinks !== 44) failures.push("正式论文链不是 44 个节点"); if (overview.labTabs !== 4 || overview.labPanels !== 4) failures.push("四联实验结构异常"); -if (overview.navLinks !== 18 || home.navLinks !== 18 || mobile.mobileLinks !== 18) failures.push("全站导航未同步推理服务专题"); +if (overview.navLinks !== 19 || home.navLinks !== 19 || mobile.mobileLinks !== 19) failures.push("全站导航未同步评测专题"); if (overview.documentOverflow > 1 || mobile.documentOverflow > 1) failures.push("桌面或移动端存在横向溢出"); if (sft.initial.active !== "6 / 10" || !sft.initial.lossStates.slice(0, 4).every((value) => value === "MASKED")) failures.push("SFT response-only mask 异常"); if (sft.unsafeAll.active !== "10 / 10" || numeric(sft.unsafeAll.nll) <= numeric(sft.initial.nll) || !sft.unsafeAll.reading.includes("错误")) failures.push("SFT 全序列/坏示范交互异常"); @@ -226,8 +226,8 @@ if (!update.steps[0].includes("Fixed preference")) failures.push("DPO 更新流 if (!recipe.family.includes("Multi-effort") || !recipe.regime.includes("9 RL experts") || !recipe.constraints.includes("verbosity")) failures.push("K3 配方合同异常"); if (!recipe.path.some((step) => step.includes("3 domains × 3 efforts")) || !recipe.path.some((step) => step.includes("MOPD"))) failures.push("K3 配方路径异常"); if (recipe.keyboardSelected !== "recipe" || recipe.keyboardVisible !== "recipe") failures.push("实验 tab 键盘导航异常"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化") || home.firstHref !== "/systems/inference/") failures.push("首页推理服务首发入口异常"); -if (home.paperCount !== "400" || papers.total !== 400 || !papers.hasAlignmentFilter || papers.alignmentVisible < 35) failures.push("论文库后训练标签或论文总数异常"); +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单") || home.firstHref !== "/evaluation/") failures.push("首页评测首发入口异常"); +if (home.paperCount !== "450" || papers.total !== 450 || !papers.hasAlignmentFilter || papers.alignmentVisible < 35) failures.push("论文库后训练标签或论文总数异常"); if (!mobile.menuVisible || mobile.menuOpen !== "true" || mobile.tabs !== 4) failures.push("移动端导航或实验异常"); if (exceptions.length) failures.push(`浏览器异常:${exceptions.join(" | ")}`); diff --git a/scripts/check-data-browser.mjs b/scripts/check-data-browser.mjs index 791d23f..0762487 100644 --- a/scripts/check-data-browser.mjs +++ b/scripts/check-data-browser.mjs @@ -230,15 +230,15 @@ if (transform.keyboard.selected !== "transform" || transform.keyboard.visible != if (layout.articleSections !== 18 || layout.paperLinks !== 31 || layout.labTabs !== 4 || layout.views !== 4) { failures.push("章节、论文或实验数量异常"); } -if (layout.navLinks !== 18 || mobile.mobileLinks !== 18 || home.navLinks !== 18) failures.push("全站导航未同步推理服务专题"); +if (layout.navLinks !== 19 || mobile.mobileLinks !== 19 || home.navLinks !== 19) failures.push("全站导航未同步评测专题"); if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出"); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化") || home.firstHref !== "/systems/inference/") { +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单") || home.firstHref !== "/evaluation/") { failures.push("首页 Transformer 新章入口异常"); } -if (home.paperCount !== "400") failures.push(`首页论文总数异常:${home.paperCount}`); -if (!papers.hasDataFilter || papers.total !== 400 || papers.visible < 25) failures.push("论文库数据标签或论文总数异常"); +if (home.paperCount !== "450") failures.push(`首页论文总数异常:${home.paperCount}`); +if (!papers.hasDataFilter || papers.total !== 450 || papers.visible < 25) failures.push("论文库数据标签或论文总数异常"); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); socket.close(); diff --git a/scripts/check-evaluation-browser.mjs b/scripts/check-evaluation-browser.mjs new file mode 100644 index 0000000..f547f6d --- /dev/null +++ b/scripts/check-evaluation-browser.mjs @@ -0,0 +1,293 @@ +import { writeFileSync } from "node:fs"; + +const cdpPort = process.env.CDP_PORT ?? "9227"; +const baseUrl = process.env.SITE_URL ?? "http://127.0.0.1:4327"; +const pages = await fetch(`http://127.0.0.1:${cdpPort}/json/list`).then((response) => response.json()); +const page = pages.find((entry) => entry.type === "page"); +if (!page) throw new Error(`CDP ${cdpPort} 没有可用页面`); + +const socket = new WebSocket(page.webSocketDebuggerUrl); +await new Promise((resolve, reject) => { + socket.addEventListener("open", resolve, { once: true }); + socket.addEventListener("error", reject, { once: true }); +}); + +let nextId = 0; +const pending = new Map(); +const exceptions = []; +socket.addEventListener("message", (event) => { + const message = JSON.parse(event.data); + if (message.id && pending.has(message.id)) { + const { resolve, reject } = pending.get(message.id); + pending.delete(message.id); + if (message.error) reject(new Error(message.error.message)); + else resolve(message.result); + } + if (message.method === "Runtime.exceptionThrown") { + exceptions.push(message.params.exceptionDetails.exception?.description ?? message.params.exceptionDetails.text); + } +}); + +const command = (method, params = {}) => new Promise((resolve, reject) => { + const id = ++nextId; + pending.set(id, { resolve, reject }); + socket.send(JSON.stringify({ id, method, params })); +}); +const pause = (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds)); +const evaluate = async (expression) => { + const result = await command("Runtime.evaluate", { expression, returnByValue: true, awaitPromise: true }); + if (result.exceptionDetails) throw new Error(result.exceptionDetails.exception?.description ?? result.exceptionDetails.text); + return result.result.value; +}; +const navigate = async (path) => { + await command("Page.navigate", { url: `${baseUrl}${path}` }); + for (let attempt = 0; attempt < 70; attempt += 1) { + await pause(100); + if (await evaluate("document.readyState === 'complete'")) return; + } + throw new Error(`${path} 加载超时`); +}; +const screenshot = async (path) => { + const result = await command("Page.captureScreenshot", { format: "png", captureBeyondViewport: false }); + writeFileSync(path, Buffer.from(result.data, "base64")); +}; + +await command("Page.enable"); +await command("Runtime.enable"); +await command("Emulation.setDeviceMetricsOverride", { + width: 1440, + height: 1100, + deviceScaleFactor: 1, + mobile: false, +}); + +await navigate("/evaluation/"); +await screenshot("/tmp/llm-atlas-evaluation-desktop.png"); + +const overview = await evaluate(`(() => ({ + title: document.querySelector("h1")?.textContent.trim(), + sections: document.querySelectorAll(".article-section").length, + tocLinks: document.querySelectorAll(".side-rail a").length, + paperLinks: document.querySelectorAll(".paper-chain a").length, + ledgers: document.querySelectorAll(".eval-ledgers > article").length, + labTabs: document.querySelectorAll("[data-eval-tab]").length, + labPanels: document.querySelectorAll("[data-eval-panel]").length, + navLinks: document.querySelectorAll(".top-nav a").length, + activeNav: document.querySelector('.top-nav a[aria-current="page"]')?.textContent.trim(), + documentOverflow: document.documentElement.scrollWidth - document.documentElement.clientWidth, +}))()`); + +const metric = await evaluate(`(() => { + const root = document.querySelector("[data-evaluation-lab]"); + const read = () => ({ + one: root.querySelector("[data-one-try]").textContent.trim(), + atLeast: root.querySelector("[data-at-least]").textContent.trim(), + all: root.querySelector("[data-all-succeed]").textContent.trim(), + ece: root.querySelector("[data-toy-ece]").textContent.trim(), + bpb: root.querySelector("[data-bpb]").textContent.trim(), + pplA: root.querySelector("[data-ppl-a]").textContent.trim(), + pplB: root.querySelector("[data-ppl-b]").textContent.trim(), + visible: root.querySelector("[data-eval-panel]:not([hidden])").dataset.evalPanel, + explain: root.querySelector("[data-metric-explain]").textContent.trim(), + }); + const initial = read(); + root.querySelector('[data-protocol-preset="search"]').click(); + const search = read(); + root.querySelector('[data-protocol-preset="reliable"]').click(); + const reliable = read(); + return { initial, search, reliable }; +})()`); + +const judge = await evaluate(`(() => { + const root = document.querySelector("[data-evaluation-lab]"); + root.querySelector('[data-eval-tab="judge"]').click(); + const read = () => ({ + raw: root.querySelector("[data-raw-win]").textContent.trim(), + adjusted: root.querySelector("[data-adjusted-win]").textContent.trim(), + flip: root.querySelector("[data-order-flip]").textContent.trim(), + ci: root.querySelector("[data-judge-ci]").textContent.trim(), + explain: root.querySelector("[data-judge-explain]").textContent.trim(), + }); + const initial = read(); + const gap = root.querySelector("[data-length-gap]"); + const bias = root.querySelector("[data-length-bias]"); + const order = root.querySelector("[data-order]"); + const votes = root.querySelector("[data-votes]"); + gap.value = "100"; + gap.dispatchEvent(new Event("input", { bubbles: true })); + bias.value = "40"; + bias.dispatchEvent(new Event("input", { bubbles: true })); + const biased = read(); + order.value = "randomized"; + order.dispatchEvent(new Event("input", { bubbles: true })); + votes.value = "10000"; + votes.dispatchEvent(new Event("input", { bubbles: true })); + const controlled = read(); + return { initial, biased, controlled }; +})()`); + +const contamination = await evaluate(`(() => { + const root = document.querySelector("[data-evaluation-lab]"); + root.querySelector('[data-eval-tab="contamination"]').click(); + const read = () => ({ + clean: root.querySelector("[data-true-clean]").textContent.trim(), + detected: root.querySelector("[data-detected]").textContent.trim(), + hidden: root.querySelector("[data-hidden-leak]").textContent.trim(), + fresh: root.querySelector("[data-freshness]").textContent.trim(), + comparable: root.querySelector("[data-comparability]").textContent.trim(), + explain: root.querySelector("[data-contamination-explain]").textContent.trim(), + }); + const initial = read(); + root.querySelectorAll("[data-leak]").forEach((input) => { + input.checked = input.dataset.leak === "semantic"; + input.dispatchEvent(new Event("input", { bubbles: true })); + }); + const ngram = root.querySelector("[data-ngram]"); + ngram.value = "30"; + ngram.dispatchEvent(new Event("input", { bubbles: true })); + const semantic = read(); + const refresh = root.querySelector("[data-refresh]"); + const anchor = root.querySelector("[data-anchor]"); + refresh.value = "90"; + refresh.dispatchEvent(new Event("input", { bubbles: true })); + anchor.value = "10"; + anchor.dispatchEvent(new Event("input", { bubbles: true })); + const dynamic = read(); + return { initial, semantic, dynamic }; +})()`); + +const system = await evaluate(`(() => { + const root = document.querySelector("[data-evaluation-lab]"); + root.querySelector('[data-eval-tab="system"]').click(); + const read = () => ({ + model: root.querySelector("[data-model-only]").textContent.trim(), + success: root.querySelector("[data-system-success]").textContent.trim(), + cost: root.querySelector("[data-cost]").textContent.trim(), + unsafe: root.querySelector("[data-unsafe]").textContent.trim(), + overrefusal: root.querySelector("[data-overrefusal]").textContent.trim(), + explain: root.querySelector("[data-system-explain]").textContent.trim(), + }); + const initial = read(); + const retries = root.querySelector("[data-retries]"); + const budget = root.querySelector("[data-budget]"); + retries.value = "1"; + retries.dispatchEvent(new Event("input", { bubbles: true })); + budget.value = "4"; + budget.dispatchEvent(new Event("input", { bubbles: true })); + const cheap = read(); + const wrapper = root.querySelector("[data-wrapper]"); + wrapper.value = "100"; + wrapper.dispatchEvent(new Event("input", { bubbles: true })); + const locked = read(); + const firstTab = root.querySelector('[data-eval-tab="metric"]'); + firstTab.focus(); + firstTab.dispatchEvent(new KeyboardEvent("keydown", { key: "ArrowRight", bubbles: true })); + return { + initial, + cheap, + locked, + keyboardSelected: root.querySelector('[data-eval-tab][aria-selected="true"]').dataset.evalTab, + keyboardVisible: root.querySelector("[data-eval-panel]:not([hidden])").dataset.evalPanel, + }; +})()`); + +await evaluate(`document.querySelector("[data-evaluation-lab]").scrollIntoView({ block: "start", behavior: "instant" })`); +await pause(180); +await screenshot("/tmp/llm-atlas-evaluation-lab-desktop.png"); + +await navigate("/"); +const home = await evaluate(`(() => ({ + releaseCards: document.querySelectorAll(".release-card").length, + firstRelease: document.querySelector(".release-card h2").textContent.trim(), + firstHref: document.querySelector(".release-card").getAttribute("href"), + paperCount: document.querySelector(".hero-stats div:nth-child(3) b").textContent.trim(), + topicCount: document.querySelector(".hero-stats div:nth-child(1) b").textContent.trim(), + navLinks: document.querySelectorAll(".top-nav a").length, +}))()`); + +await navigate("/papers/"); +const papers = await evaluate(`(() => { + const button = [...document.querySelectorAll("[data-filter]")].find((node) => node.textContent.trim() === "评测"); + button?.click(); + return { + total: document.querySelectorAll("[data-paper]").length, + visible: document.querySelectorAll("[data-paper]:not([hidden])").length, + hasFilter: Boolean(button), + }; +})()`); + +await command("Emulation.setDeviceMetricsOverride", { + width: 390, + height: 844, + deviceScaleFactor: 1, + mobile: true, +}); +await navigate("/evaluation/"); +const mobile = await evaluate(`(() => { + const root = document.querySelector("[data-evaluation-lab]"); + root.scrollIntoView({ block: "start", behavior: "instant" }); + const toggle = document.querySelector("#menu-toggle"); + toggle?.click(); + return { + documentOverflow: document.documentElement.scrollWidth - document.documentElement.clientWidth, + menuVisible: getComputedStyle(toggle).display !== "none", + menuOpen: toggle.getAttribute("aria-expanded"), + mobileLinks: document.querySelectorAll("#mobile-nav a").length, + tabs: root.querySelectorAll("[data-eval-tab]").length, + offenders: [...document.querySelectorAll("body *")] + .filter((node) => !node.closest(".aggregate-example, .repair-table, .k3-protocol-table, .paper-chain")) + .filter((node) => node.getBoundingClientRect().right > document.documentElement.clientWidth + 1) + .slice(0, 12) + .map((node) => ({ + tag: node.tagName, + className: typeof node.className === "string" ? node.className : "", + right: Math.round(node.getBoundingClientRect().right), + width: Math.round(node.getBoundingClientRect().width), + })), + }; +})()`); +await pause(180); +await screenshot("/tmp/llm-atlas-evaluation-mobile.png"); + +const report = { overview, metric, judge, contamination, system, home, papers, mobile, exceptions }; +console.log(JSON.stringify(report, null, 2)); + +const numeric = (text) => Number.parseFloat(text.replaceAll(",", "")); +const intervalWidth = (text) => { + const values = text.match(/[0-9.]+/g)?.map(Number) ?? []; + return values.length >= 2 ? values[1] - values[0] : Number.NaN; +}; +const failures = []; +if (!overview.title.includes("粗体数字")) failures.push("章节标题异常"); +if (overview.sections !== 33 || overview.tocLinks !== 33) failures.push("章节 / 目录数量异常"); +if (overview.paperLinks !== 80) failures.push("正式论文链不是 80 个节点"); +if (overview.ledgers !== 22) failures.push("二十二张评测账结构异常"); +if (overview.labTabs !== 4 || overview.labPanels !== 4) failures.push("四联实验结构异常"); +if (overview.navLinks !== 19 || home.navLinks !== 19 || mobile.mobileLinks !== 19 || overview.activeNav !== "评测安全") failures.push("全站导航未同步评测专题"); +if (overview.documentOverflow > 1 || mobile.documentOverflow > 1) failures.push("桌面或移动端存在文档级横向溢出"); +if (metric.initial.visible !== "metric" || numeric(metric.initial.one) !== 80 || numeric(metric.initial.atLeast) !== 80 || numeric(metric.initial.all) !== 80) failures.push("指标实验初始值异常"); +if (numeric(metric.search.atLeast) <= 99 || numeric(metric.search.all) >= 30 || !metric.search.explain.includes("搜索")) failures.push("pass@k / pass^k 方向没有分开"); +if (Math.abs(numeric(metric.reliable.all) - 32.8) > .2) failures.push("连续五次可靠性计算异常"); +if (numeric(metric.initial.pplB) <= numeric(metric.initial.pplA) || !metric.initial.bpb.includes("bits")) failures.push("tokenizer / BPB 教学对照异常"); +if (numeric(judge.biased.raw) >= numeric(judge.biased.adjusted)) failures.push("长度偏好没有压低短回答的观察胜率"); +if (!judge.controlled.explain.includes("随机交换") || intervalWidth(judge.controlled.ci) >= intervalWidth(judge.initial.ci)) failures.push("顺序控制或票数区间异常"); +if (numeric(contamination.semantic.detected) >= 10 || numeric(contamination.semantic.hidden) <= 15 || !contamination.semantic.explain.includes("语义")) failures.push("语义污染没有暴露 n-gram 检测盲区"); +if (numeric(contamination.dynamic.fresh) <= numeric(contamination.initial.fresh) || numeric(contamination.dynamic.comparable) >= numeric(contamination.initial.comparable)) failures.push("动态刷新与可比性权衡异常"); +if (numeric(system.initial.success) <= numeric(system.initial.model) || numeric(system.initial.cost) !== 128) failures.push("Harness / 重试系统成功率或成本异常"); +if (numeric(system.cheap.success) >= numeric(system.initial.success) || numeric(system.cheap.cost) !== 4) failures.push("低预算没有降低成功率 / 成本"); +if (numeric(system.locked.unsafe) !== 0 || numeric(system.locked.overrefusal) <= numeric(system.initial.overrefusal)) failures.push("安全壳没有展现危险服从 / 过拒权衡"); +if (system.keyboardSelected !== "judge" || system.keyboardVisible !== "judge") failures.push("实验键盘 tab 导航异常"); +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单") || home.firstHref !== "/evaluation/") failures.push("首页评测首发入口异常"); +if (home.paperCount !== "450" || home.topicCount !== "17" || papers.total !== 450 || !papers.hasFilter || papers.visible < 80) failures.push("首页 / 论文库评测索引异常"); +if (!mobile.menuVisible || mobile.menuOpen !== "true" || mobile.tabs !== 4) failures.push("移动端导航或实验异常"); +if (mobile.offenders.length) failures.push(`移动端越界元素:${JSON.stringify(mobile.offenders)}`); +if (exceptions.length) failures.push(`浏览器异常:${exceptions.join(" | ")}`); + +if (failures.length) { + console.error(`\nFAIL\n- ${failures.join("\n- ")}`); + process.exitCode = 1; +} else { + console.log("\nPASS evaluation browser regression"); +} + +socket.close(); diff --git a/scripts/check-inference-serving-browser.mjs b/scripts/check-inference-serving-browser.mjs index e72e15f..9ccde46 100644 --- a/scripts/check-inference-serving-browser.mjs +++ b/scripts/check-inference-serving-browser.mjs @@ -251,7 +251,7 @@ if (overview.sections !== 31 || overview.tocLinks !== 31) failures.push("章节/ if (overview.paperLinks !== 62) failures.push("正式论文链不是 62 个节点"); if (overview.ledgers !== 18) failures.push("十八本服务账结构异常"); if (overview.labTabs !== 4 || overview.labPanels !== 4) failures.push("四联实验结构异常"); -if (overview.navLinks !== 18 || home.navLinks !== 18 || mobile.mobileLinks !== 18) failures.push("全站导航未同步推理服务专题"); +if (overview.navLinks !== 19 || home.navLinks !== 19 || mobile.mobileLinks !== 19) failures.push("全站导航未同步评测专题"); if (overview.documentOverflow > 1 || mobile.documentOverflow > 1) failures.push("桌面或移动端存在横向溢出"); if (!memory.initial.weight.includes("32.6") || !memory.initial.perToken.includes("128") || memory.initial.visible !== "memory") failures.push("GQA 默认显存账异常"); if (!memory.exploded.status.includes("OOM") || !memory.exploded.fit.includes("over")) failures.push("极端 MHA 配置没有触发 OOM"); @@ -264,8 +264,8 @@ if (!fleet.k3.avoided.includes("320K") || fleet.k3.shortSlo !== "PROTECTED") fai if (!fleet.failed.state.includes("SECONDARY RE-PREFILL") || !fleet.failed.recompute.includes("FAILED PRIMARY")) failures.push("缓存故障没有触发原子失效后的重算"); if (fleet.bursty.shortSlo !== "VIOLATED") failures.push("平均并发阈值没有暴露长请求突发"); if (fleet.keyboardSelected !== "phase" || fleet.keyboardVisible !== "phase") failures.push("实验键盘 tab 导航异常"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化") || home.firstHref !== "/systems/inference/") failures.push("首页推理服务首发入口异常"); -if (home.paperCount !== "400" || papers.total !== 400 || !papers.hasFilter || papers.visible !== 45) failures.push("论文库推理服务标签或总数异常"); +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单") || home.firstHref !== "/evaluation/") failures.push("首页评测首发入口异常"); +if (home.paperCount !== "450" || papers.total !== 450 || !papers.hasFilter || papers.visible !== 45) failures.push("论文库推理服务标签或总数异常"); if (!mobile.menuVisible || mobile.menuOpen !== "true" || mobile.tabs !== 4) failures.push("移动端导航或实验异常"); if (mobile.offenders.length) failures.push(`移动端越界元素:${JSON.stringify(mobile.offenders)}`); if (exceptions.length) failures.push(`浏览器异常:${exceptions.join(" | ")}`); diff --git a/scripts/check-moe-browser.mjs b/scripts/check-moe-browser.mjs index 3a61d35..d630d69 100644 --- a/scripts/check-moe-browser.mjs +++ b/scripts/check-moe-browser.mjs @@ -177,7 +177,7 @@ if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentO } if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (!mobile.menuVisible) failures.push("移动端菜单按钮未显示"); -if (home.releaseCards !== 13) failures.push(`首页新章卡数量异常:${home.releaseCards}`); +if (home.releaseCards !== 14) failures.push(`首页新章卡数量异常:${home.releaseCards}`); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); socket.close(); diff --git a/scripts/check-multimodal-browser.mjs b/scripts/check-multimodal-browser.mjs index 3265e40..5d537f6 100644 --- a/scripts/check-multimodal-browser.mjs +++ b/scripts/check-multimodal-browser.mjs @@ -234,7 +234,7 @@ if (!overview.title.includes("第一类输入")) failures.push("章节标题异 if (overview.sections !== 30 || overview.tocLinks !== 30) failures.push("章节/目录数量异常"); if (overview.paperLinks !== 55) failures.push("正式论文链不是 55 个节点"); if (overview.labTabs !== 4 || overview.labPanels !== 4) failures.push("四联实验结构异常"); -if (overview.navLinks !== 18 || home.navLinks !== 18 || mobile.mobileLinks !== 18) failures.push("全站导航未同步推理服务专题"); +if (overview.navLinks !== 19 || home.navLinks !== 19 || mobile.mobileLinks !== 19) failures.push("全站导航未同步评测专题"); if (overview.documentOverflow > 1 || mobile.documentOverflow > 1) failures.push("桌面或移动端存在横向溢出"); if (numeric(tokens.initial.patches) !== 5476 || numeric(tokens.initial.visual) !== 1369 || tokens.initial.visiblePanel !== "tokens") failures.push("视觉 Token 初始计算异常"); if (!tokens.overloaded.status.includes("超预算") || numeric(tokens.overloaded.share) <= 100) failures.push("超大视频没有触发上下文超预算"); @@ -246,8 +246,8 @@ if (ocr.unreported.status !== "OUT OF EVIDENCE" || ocr.unreported.accuracy !== " if (loop.toolsStart.state !== "OPEN" || loop.toolsEnd.state !== "VERIFIED" || loop.toolsEnd.evidence !== "97%" || loop.toolsEnd.tools !== "3") failures.push("vision-in-the-loop 终局异常"); if (loop.cotEnd.state !== "FAILED" || !loop.cotEnd.takeaway.includes("不能凭空增加")) failures.push("文字 CoT 与新观察没有分开"); if (loop.keyboardSelected !== "connector" || loop.keyboardVisible !== "connector") failures.push("实验键盘 tab 导航异常"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化") || home.firstHref !== "/systems/inference/") failures.push("首页推理服务首发入口异常"); -if (home.paperCount !== "400" || papers.total !== 400 || !papers.hasFilter || papers.multimodalVisible < 59) failures.push("论文库多模态标签或总数异常"); +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单") || home.firstHref !== "/evaluation/") failures.push("首页评测首发入口异常"); +if (home.paperCount !== "450" || papers.total !== 450 || !papers.hasFilter || papers.multimodalVisible < 59) failures.push("论文库多模态标签或总数异常"); if (!mobile.menuVisible || mobile.menuOpen !== "true" || mobile.tabs !== 4) failures.push("移动端导航或实验异常"); if (mobile.offenders.length) failures.push(`移动端越界元素:${JSON.stringify(mobile.offenders)}`); if (exceptions.length) failures.push(`浏览器异常:${exceptions.join(" | ")}`); diff --git a/scripts/check-numerics-browser.mjs b/scripts/check-numerics-browser.mjs index ec13360..8b8d56e 100644 --- a/scripts/check-numerics-browser.mjs +++ b/scripts/check-numerics-browser.mjs @@ -273,15 +273,15 @@ if (stability.keyboard.selected !== "stability" || stability.keyboard.visible != if (layout.articleSections !== 19 || layout.paperLinks !== 36 || layout.labTabs !== 4 || layout.views !== 4) { failures.push("章节、论文或实验数量异常"); } -if (layout.navLinks !== 18 || mobile.mobileLinks !== 18 || home.navLinks !== 18) failures.push("全站导航未同步推理服务专题"); +if (layout.navLinks !== 19 || mobile.mobileLinks !== 19 || home.navLinks !== 19) failures.push("全站导航未同步评测专题"); if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出"); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化") || home.firstHref !== "/systems/inference/") { +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单") || home.firstHref !== "/evaluation/") { failures.push("首页 Transformer 新章入口异常"); } -if (home.paperCount !== "400") failures.push(`首页论文总数异常:${home.paperCount}`); -if (!papers.hasOptimizerFilter || papers.total !== 400 || papers.visible < 8) failures.push("论文库优化器标签或论文总数异常"); +if (home.paperCount !== "450") failures.push(`首页论文总数异常:${home.paperCount}`); +if (!papers.hasOptimizerFilter || papers.total !== 450 || papers.visible < 8) failures.push("论文库优化器标签或论文总数异常"); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); socket.close(); diff --git a/scripts/check-reasoning-browser.mjs b/scripts/check-reasoning-browser.mjs index f91e84e..f19ac42 100644 --- a/scripts/check-reasoning-browser.mjs +++ b/scripts/check-reasoning-browser.mjs @@ -289,7 +289,7 @@ if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentO } if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化")) failures.push("首页推理服务新章入口异常"); +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单")) failures.push("首页评测新章入口异常"); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); socket.close(); diff --git a/scripts/check-scaling-browser.mjs b/scripts/check-scaling-browser.mjs index b89530c..e1e862b 100644 --- a/scripts/check-scaling-browser.mjs +++ b/scripts/check-scaling-browser.mjs @@ -269,14 +269,14 @@ if (emergence.paths.some((length) => length < 500)) failures.push("涌现多指 if (layout.articleSections !== 16 || layout.paperLinks !== 29 || layout.labTabs !== 4 || layout.views !== 4) { failures.push("章节、论文或实验数量异常"); } -if (layout.navLinks !== 18 || mobile.mobileLinks !== 18 || home.navLinks !== 18) failures.push("全站导航未同步推理服务专题"); +if (layout.navLinks !== 19 || mobile.mobileLinks !== 19 || home.navLinks !== 19) failures.push("全站导航未同步评测专题"); if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出"); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化") || home.firstHref !== "/systems/inference/") { +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单") || home.firstHref !== "/evaluation/") { failures.push("首页 Transformer 新章入口异常"); } -if (home.paperCount !== "400") failures.push(`首页论文总数异常:${home.paperCount}`); +if (home.paperCount !== "450") failures.push(`首页论文总数异常:${home.paperCount}`); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); socket.close(); diff --git a/scripts/check-training-systems-browser.mjs b/scripts/check-training-systems-browser.mjs index 88f45c3..22f7873 100644 --- a/scripts/check-training-systems-browser.mjs +++ b/scripts/check-training-systems-browser.mjs @@ -233,7 +233,7 @@ if (layout.articleSections !== 16 || layout.paperLinks !== 37 || layout.labTabs if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出"); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化")) failures.push("首页推理服务新章入口异常"); +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单")) failures.push("首页评测新章入口异常"); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); socket.close(); diff --git a/scripts/check-transformer-browser.mjs b/scripts/check-transformer-browser.mjs index 913b46c..ed1ac0e 100644 --- a/scripts/check-transformer-browser.mjs +++ b/scripts/check-transformer-browser.mjs @@ -172,7 +172,7 @@ const home = await evaluate(`(() => ({ releaseCards: document.querySelectorAll(".release-card").length, firstRelease: document.querySelector(".release-card h2").textContent, firstHref: document.querySelector(".release-card").getAttribute("href"), - paperCount: [...document.querySelectorAll(".hero-stats b")].map((node) => node.textContent.trim()).find((value) => value === "400"), + paperCount: [...document.querySelectorAll(".hero-stats b")].map((node) => node.textContent.trim()).find((value) => value === "450"), }))()`); await navigate("/papers/"); @@ -236,8 +236,8 @@ if (block.family.trim() !== "Hybrid MoE" || !block.kv.includes("3 KDA : 1 Gated if (!block.path.some((step) => step.includes("KDA × 3")) || !block.note.includes("AttnRes")) failures.push("K3 Block 路径异常"); if (block.context.trim() !== "128K" || numeric(block.mha) !== 400 || numeric(block.kda) !== 1) failures.push("KV 成本缩放异常"); if (block.keyboardSelected !== "block" || block.keyboardVisible !== "block") failures.push("实验 tab 键盘导航异常"); -if (home.releaseCards !== 13 || !home.firstRelease.includes("推理优化") || home.firstHref !== "/systems/inference/") failures.push("首页推理服务首发入口异常"); -if (home.paperCount !== "400" || papers.total !== 400 || papers.transformerVisible < 30) failures.push("论文库或首页论文数量异常"); +if (home.releaseCards !== 14 || !home.firstRelease.includes("榜单不是体检单") || home.firstHref !== "/evaluation/") failures.push("首页评测首发入口异常"); +if (home.paperCount !== "450" || papers.total !== 450 || papers.transformerVisible < 30) failures.push("论文库或首页论文数量异常"); if (!mobile.menuVisible || mobile.menuOpen !== "true" || mobile.tabs !== 4) failures.push("移动端导航或实验异常"); if (exceptions.length) failures.push(`浏览器异常:${exceptions.join(" | ")}`); diff --git a/src/components/EvaluationLab.astro b/src/components/EvaluationLab.astro new file mode 100644 index 0000000..c5b4013 --- /dev/null +++ b/src/components/EvaluationLab.astro @@ -0,0 +1,642 @@ +--- +const protocolPresets = [ + ["greedy", "一次 Greedy", "1 次、无搜索", 1, 1], + ["sample", "Mean pass@1", "多次采样取平均", 64, 1], + ["search", "Pass@k", "有 verifier 的搜索", 64, 8], + ["reliable", "Pass^k", "连续成功可靠性", 5, 5], +]; +--- + +
+
+
+

INTERACTIVE / MEASUREMENT WORKBENCH

+

把榜单拆回四台测量仪

+
+

+ 所有输出都是公开公式上的教学模型,用来观察协议变量怎样改变结论;它们不是任何真实模型的复跑成绩, + 也不把相关性写成因果。 +

+
+ +
+ + + + +
+ +
+
+
WORKBENCH 01 / METRIC

同一个“80%”,可能回答四个不同问题

+

先看一次成功率,再分别计算“至少一次”“全部成功”和选择性回答;同时观察 tokenizer 对 PPL 的影响。

+
+ +
+ {protocolPresets.map(([id, name, note], index) => ( + + ))} +
+ +
+ + + + + + + +
+ +
+ THREE DIFFERENT QUESTIONS + at least one = 1 − (1 − p)k · all succeed = pk · ECEtoy = |confidence − accuracy| +

pass@k 的严格无偏估计还需要每题 n 个样本中通过数 c;这里用独立同分布近似建立方向直觉。

+
+ +
+
ONE TRY80.0%

一次随机尝试成功率

+
AT LEAST ONE / k80.0%

有 verifier 时的搜索价值

+
ALL k SUCCEED80.0%

连续任务的可靠性压力

+
TOY ECE8.0 pp

单桶校准差,仅作直觉

+
SELECTIVE VIEW80% / 100%

准确率 / 覆盖率

+
+ +
+
+ SAME BYTE LOSS1.18 bits / byte +

按原始字节归一,跨 tokenizer 的单位更稳定。

+
+
+ TOKENIZER A / PPL16.3 +

细粒度 token:每 token 承载的字节更少。

+
+
+ TOKENIZER B / PPL91.0 +

粗粒度 token:即使 byte loss 相同,PPL 也会变。

+
+
+ +
+ 结论边界 +

一次成功率和多次搜索成功率目前相同,因为 k=1;把 k 调大后,搜索分会升,连续可靠性会降。

+
+
+ + + + + + + +
+ 怎么使用:先改变一个变量,口述“我究竟换了模型、测量协议、系统预算还是威胁模型”; + 如果一句比较没有这些字段,就先把结论降级为“在该公开设置下的观察值”。 +
+
+ + + + diff --git a/src/components/SiteHeader.astro b/src/components/SiteHeader.astro index 2097569..1cd6730 100644 --- a/src/components/SiteHeader.astro +++ b/src/components/SiteHeader.astro @@ -21,6 +21,7 @@ const items = [ { id: "training-systems", href: "/training-systems/", label: "训练系统" }, { id: "systems-inference", href: "/systems/inference/", label: "推理服务" }, { id: "numerics", href: "/systems/numerics/", label: "数值" }, + { id: "evaluation", href: "/evaluation/", label: "评测安全" }, { id: "papers", href: "/papers/", label: "论文库" }, { id: "progress", href: "/progress/", label: "进度" }, ]; diff --git a/src/data/chapters.ts b/src/data/chapters.ts index 2e855f9..24a6c52 100644 --- a/src/data/chapters.ts +++ b/src/data/chapters.ts @@ -216,12 +216,12 @@ export const chapters: Chapter[] = [ title: "评测、安全与“到底强不强”", kicker: "EVALUATION", question: "一个榜单分数,究竟测到了模型、脚手架还是预算?", - summary: "从语言建模指标走到知识、代码、Agent 和多模态评测,识别污染、harness 与选择性报告。", - status: "queued", - progress: 13, - papers: 24, + summary: "用二十二张测量账拆开任务、指标、Prompt、采样、Harness、裁判、污染、成本与威胁模型,并逐项复原 DeepSeek 与 K3 的评测协议。", + status: "published", + progress: 79, + papers: 80, prerequisites: ["04", "10", "12"], - highlights: ["基准演化", "Harness", "安全边界"], + highlights: ["二十二张测量账", "DeepSeek / K3 协议谱系", "四联实验"], }, ]; diff --git a/src/data/papers.ts b/src/data/papers.ts index 2ec32af..2ca449e 100644 --- a/src/data/papers.ts +++ b/src/data/papers.ts @@ -3254,6 +3254,406 @@ export const papers: Paper[] = [ contribution: "NVIDIA 官方 LLM 推理运行时,整合低精度 kernel、并行、KV Cache 与动态批处理。", verified: true, }, + { + year: 2002, + title: "BLEU: a Method for Automatic Evaluation of Machine Translation", + url: "https://aclanthology.org/P02-1040/", + topics: ["评测"], + contribution: "用修正 n-gram precision 与长度惩罚构造可重复的机器翻译代理指标,也留下表面重叠不等于语义质量的边界。", + verified: true, + }, + { + year: 2004, + title: "ROUGE: A Package for Automatic Evaluation of Summaries", + url: "https://aclanthology.org/W04-1013/", + topics: ["评测"], + contribution: "以参考摘要的 n-gram、最长公共子序列等召回式重叠形成摘要自动评测工具族。", + verified: true, + }, + { + year: 2017, + title: "On Calibration of Modern Neural Networks", + url: "https://proceedings.mlr.press/v70/guo17a.html", + topics: ["评测"], + contribution: "系统刻画现代神经网络的置信度失准,并以 temperature scaling 提供简单有效的后校准基线。", + verified: true, + }, + { + year: 2018, + title: "GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding", + url: "https://arxiv.org/abs/1804.07461", + topics: ["评测"], + contribution: "把九类语言理解任务、统一接口与诊断集汇成套件,推动跨任务可比的通用表示评测。", + verified: true, + }, + { + year: 2019, + title: "SuperGLUE: A Stickier Benchmark for General-Purpose Language Understanding Systems", + url: "https://arxiv.org/abs/1905.00537", + topics: ["评测"], + contribution: "在 GLUE 接近饱和后引入更难任务、软件工具和公开排行榜,展示基准需要随能力更新。", + verified: true, + }, + { + year: 2020, + title: "RealToxicityPrompts: Evaluating Neural Toxic Degeneration in Language Models", + url: "https://arxiv.org/abs/2009.11462", + topics: ["评测"], + contribution: "用来自开放网络的自然提示测量语言模型延续毒性,揭示静态语料分布下的退化风险。", + verified: true, + }, + { + year: 2020, + title: "StereoSet: Measuring stereotypical bias in pretrained language models", + url: "https://arxiv.org/abs/2004.09456", + topics: ["评测"], + contribution: "用句内与篇章级任务同时考察刻板关联和语言建模能力,避免只靠去偏得分奖励无意义输出。", + verified: true, + }, + { + year: 2020, + title: "CrowS-Pairs: A Challenge Dataset for Measuring Social Biases in Masked Language Models", + url: "https://arxiv.org/abs/2010.00133", + topics: ["评测"], + contribution: "以最小句对比较刻板与反刻板文本的模型偏好,覆盖九类美国社会偏见。", + verified: true, + }, + { + year: 2021, + title: "Evaluating Large Language Models Trained on Code", + url: "https://arxiv.org/abs/2107.03374", + topics: ["评测", "推理"], + contribution: "发布 HumanEval,并以执行测试和无偏 pass@k 估计把代码评测从字符串相似度推进到功能正确性。", + verified: true, + }, + { + year: 2021, + title: "TruthfulQA: Measuring How Models Mimic Human Falsehoods", + url: "https://arxiv.org/abs/2109.07958", + topics: ["评测"], + contribution: "用人类常见误解设计问答集,区分信息性与真实性,测试模型是否复述训练分布中的流行谬误。", + verified: true, + }, + { + year: 2021, + title: "Dynabench: Rethinking Benchmarking in NLP", + url: "https://arxiv.org/abs/2104.14337", + topics: ["评测"], + contribution: "以 human-and-model-in-the-loop 持续收集当前模型会错的样本,把动态造题纳入基准生命周期。", + verified: true, + }, + { + year: 2021, + title: "BBQ: A Hand-Built Bias Benchmark for Question Answering", + url: "https://arxiv.org/abs/2110.08193", + topics: ["评测"], + contribution: "在歧义与消歧两类上下文中测试社会偏见,区分缺少证据时的刻板猜测和明确证据下的准确性。", + verified: true, + }, + { + year: 2022, + title: "Language Models (Mostly) Know What They Know", + url: "https://arxiv.org/abs/2207.05221", + topics: ["评测"], + contribution: "研究语言模型对自己答案正确性的 P(True) 与 P(IK) 估计,显示自知能力可测但跨任务校准仍困难。", + verified: true, + }, + { + year: 2022, + title: "ToxiGen: A Large-Scale Machine-Generated Dataset for Adversarial and Implicit Hate Speech Detection", + url: "https://arxiv.org/abs/2203.09509", + topics: ["评测"], + contribution: "用模型生成并由人类筛选隐含仇恨与中性句,扩大毒性分类和生成安全评测的覆盖。", + verified: true, + }, + { + year: 2022, + title: "Red Teaming Language Models with Language Models", + url: "https://arxiv.org/abs/2202.03286", + topics: ["评测"], + contribution: "用攻击语言模型自动生成测试输入,扩展人工红队覆盖并探索训练攻击生成器的路线。", + verified: true, + }, + { + year: 2022, + title: "Red Teaming Language Models to Reduce Harms: Methods, Scaling Behaviors, and Lessons Learned", + url: "https://arxiv.org/abs/2209.07858", + topics: ["评测"], + contribution: "报告面向对话模型的大规模人工红队方法、扩展行为与数据使用经验,强调失败发现和缓解闭环。", + verified: true, + }, + { + year: 2022, + title: "Challenging BIG-Bench Tasks and Whether Chain-of-Thought Can Solve Them", + url: "https://arxiv.org/abs/2210.09261", + topics: ["评测", "推理"], + contribution: "从 BIG-bench 中筛出模型与人类差距明显的 23 个难任务,形成 BIG-Bench Hard 与 CoT 诊断坐标。", + verified: true, + }, + { + year: 2022, + title: "DS-1000: A Natural and Reliable Benchmark for Data Science Code Generation", + url: "https://arxiv.org/abs/2211.11501", + topics: ["评测", "推理"], + contribution: "以真实数据科学问题和多条件测试扩展代码生成评测,覆盖七个常用 Python 库。", + verified: true, + }, + { + year: 2023, + title: "Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena", + url: "https://arxiv.org/abs/2306.05685", + topics: ["评测"], + contribution: "发布多轮 MT-Bench 与 Chatbot Arena,并系统讨论位置、冗长、自增强等 LLM Judge 偏差。", + verified: true, + }, + { + year: 2023, + title: "G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment", + url: "https://arxiv.org/abs/2303.16634", + topics: ["评测"], + contribution: "以任务说明、评价标准和 CoT 作为 Judge 提示,在摘要和对话质量上研究与人类判断的一致性。", + verified: true, + }, + { + year: 2023, + title: "LLMBar: An Open-Source Benchmark for Instruction-Following Evaluation", + url: "https://arxiv.org/abs/2310.07641", + topics: ["评测"], + contribution: "用遵循指令但可能不华丽的回答对抗风格诱饵,专门元评测自动 evaluator 是否真正服从 rubric。", + verified: true, + }, + { + year: 2023, + title: "Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code Generation", + url: "https://arxiv.org/abs/2305.01210", + topics: ["评测", "推理"], + contribution: "以 EvalPlus 自动扩展 HumanEval 与 MBPP 测试,揭示弱单测会高估正确率并改变模型排序。", + verified: true, + }, + { + year: 2023, + title: "FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation", + url: "https://arxiv.org/abs/2305.14251", + topics: ["评测"], + contribution: "把长文本拆成原子事实并逐项验证来源支持,形成细粒度事实精确率。", + verified: true, + }, + { + year: 2023, + title: "SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models", + url: "https://arxiv.org/abs/2303.08896", + topics: ["评测"], + contribution: "比较同一模型多次采样的一致性,在无白盒概率和外部知识库时检测可能幻觉。", + verified: true, + }, + { + year: 2023, + title: "HaluEval: A Large-Scale Hallucination Evaluation Benchmark for Large Language Models", + url: "https://arxiv.org/abs/2305.11747", + topics: ["评测"], + contribution: "构造大规模生成与人工标注的幻觉样本,覆盖问答、对话和摘要。", + verified: true, + }, + { + year: 2023, + title: "Universal and Transferable Adversarial Attacks on Aligned Language Models", + url: "https://arxiv.org/abs/2307.15043", + topics: ["评测"], + contribution: "以贪心坐标梯度搜索通用后缀,展示对齐模型的白盒越狱可迁移性与自动化攻击面。", + verified: true, + }, + { + year: 2023, + title: "Jailbroken: How Does LLM Safety Training Fail?", + url: "https://arxiv.org/abs/2307.02483", + topics: ["评测"], + contribution: "从竞争目标与错配泛化解释安全训练失效,并系统整理多类越狱策略。", + verified: true, + }, + { + year: 2023, + title: "XSTest: A Test Suite for Identifying Exaggerated Safety Behaviours in Large Language Models", + url: "https://arxiv.org/abs/2308.01263", + topics: ["评测"], + contribution: "用看似敏感但实际无害的提示测量过度拒答,使安全评测同时约束有害服从和无害可用性。", + verified: true, + }, + { + year: 2023, + title: "Do-Not-Answer: A Dataset for Evaluating Safeguards in LLMs", + url: "https://arxiv.org/abs/2308.13387", + topics: ["评测"], + contribution: "以五类风险和细分场景评估模型对不应直接回答请求的安全防护行为。", + verified: true, + }, + { + year: 2023, + title: "FreshLLMs: Refreshing Large Language Models with Search Engine Augmentation", + url: "https://arxiv.org/abs/2310.03214", + topics: ["评测"], + contribution: "发布可定期刷新的 FreshQA,覆盖快速变化、慢变化、不变与错误前提问题,测试知识时效与搜索增强。", + verified: true, + }, + { + year: 2023, + title: "Semantic Uncertainty: Linguistic Invariances for Uncertainty Estimation in Natural Language Generation", + url: "https://arxiv.org/abs/2302.09664", + topics: ["评测"], + contribution: "将语义等价回答聚类后估计语义熵,避免把同义表述差异误当成知识不确定性。", + verified: true, + }, + { + year: 2024, + title: "Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference", + url: "https://arxiv.org/abs/2403.04132", + topics: ["评测"], + contribution: "把匿名随机对战、众包投票和统计排名组成开放平台,让真实用户偏好成为动态测量信号。", + verified: true, + }, + { + year: 2024, + title: "Length-Controlled AlpacaEval: A Simple Way to Debias Automatic Evaluators", + url: "https://arxiv.org/abs/2404.04475", + topics: ["评测"], + contribution: "显式控制回答长度对自动偏好分的混杂,展示 Judge 排名可被可见风格变量显著改变。", + verified: true, + }, + { + year: 2024, + title: "From Crowdsourced Data to High-Quality Benchmarks: Arena-Hard and BenchBuilder Pipeline", + url: "https://arxiv.org/abs/2406.11939", + topics: ["评测"], + contribution: "从真实用户问题中筛选高区分度难题,形成更稳定的开放回答自动比较集与构建流水线。", + verified: true, + }, + { + year: 2024, + title: "LiveBench: A Challenging, Contamination-Free LLM Benchmark", + url: "https://arxiv.org/abs/2406.19314", + topics: ["评测"], + contribution: "从近期来源持续更新、采用客观自动判分并限制主观 Judge,探索新鲜度与可比性的平衡。", + verified: true, + }, + { + year: 2024, + title: "LiveCodeBench: Holistic and Contamination Free Evaluation of Large Language Models for Code", + url: "https://arxiv.org/abs/2403.07974", + topics: ["评测", "推理"], + contribution: "以按时间发布的新竞赛题持续测试代码生成、执行、修复和自测,降低静态公开题污染。", + verified: true, + }, + { + year: 2024, + title: "RULER: What's the Real Context Size of Your Long-Context Language Models?", + url: "https://arxiv.org/abs/2404.06654", + topics: ["评测", "长上下文"], + contribution: "用多 needle、变量追踪与聚合任务诊断声明窗口内的真实有效上下文,而不只测单针检索。", + verified: true, + }, + { + year: 2024, + title: "HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal", + url: "https://arxiv.org/abs/2402.04249", + topics: ["评测"], + contribution: "统一行为、攻击、目标模型与分类器,系统比较自动红队和稳健拒答。", + verified: true, + }, + { + year: 2024, + title: "StrongREJECT: Nailing the Effectiveness of Jailbreak Attacks with Human Labeling", + url: "https://arxiv.org/abs/2402.10260", + topics: ["评测"], + contribution: "区分绕过拒绝与真正提供有效有害信息,用人工标注校准 jailbreak 实效评分。", + verified: true, + }, + { + year: 2024, + title: "JailbreakBench: An Open Robustness Benchmark for Jailbreaking Large Language Models", + url: "https://arxiv.org/abs/2404.01318", + topics: ["评测"], + contribution: "标准化越狱威胁模型、行为数据、攻击提交与评测流程,改善跨攻击比较的可复现性。", + verified: true, + }, + { + year: 2024, + title: "InjecAgent: Benchmarking Indirect Prompt Injections in Tool-Integrated Large Language Model Agents", + url: "https://arxiv.org/abs/2403.02691", + topics: ["评测", "Agent"], + contribution: "把恶意指令藏入 Agent 工具返回的不可信内容,测量间接 Prompt 注入与工具副作用。", + verified: true, + }, + { + year: 2024, + title: "Cybench: A Framework for Evaluating Cybersecurity Capabilities and Risks of Language Models", + url: "https://arxiv.org/abs/2408.08926", + topics: ["评测", "Agent"], + contribution: "用专业网络安全任务、子任务和可执行环境评测语言模型在真实攻击链中的能力与风险。", + verified: true, + }, + { + year: 2024, + title: "The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions", + url: "https://arxiv.org/abs/2404.13208", + topics: ["评测", "后训练", "Agent"], + contribution: "把 system、user 与不可信第三方指令的优先级显式化并训练,连接提示注入防御与行为评测。", + verified: true, + }, + { + year: 2024, + title: "Global MMLU: Understanding and Addressing Cultural and Linguistic Biases in Multilingual Evaluation", + url: "https://arxiv.org/abs/2412.03304", + topics: ["评测"], + contribution: "重构并翻译多学科题,分析文化敏感内容与机器翻译伪影,扩展多语言评测的效度边界。", + verified: true, + }, + { + year: 2024, + title: "FrontierMath: A Benchmark for Evaluating Advanced Mathematical Reasoning in AI", + url: "https://arxiv.org/abs/2411.04872", + topics: ["评测", "推理"], + contribution: "由专家创作高难、可验证、未公开答案的数学问题,延伸前沿推理能力的区分度。", + verified: true, + }, + { + year: 2024, + title: "WildGuard: Open One-stop Moderation Tools for Safety Risks, Jailbreaks, and Refusals of LLMs", + url: "https://arxiv.org/abs/2406.18495", + topics: ["评测"], + contribution: "以统一数据和分类模型同时识别有害提示、有害回答与拒答,支持开放安全评测与审核。", + verified: true, + }, + { + year: 2024, + title: "MMLU-Pro: A More Robust and Challenging Multi-Task Language Understanding Benchmark", + url: "https://arxiv.org/abs/2406.01574", + topics: ["评测"], + contribution: "增加推理题、扩展到十个选项并清理噪声,缓解 MMLU 饱和与提示敏感。", + verified: true, + }, + { + year: 2024, + title: "Are We Done with MMLU?", + url: "https://arxiv.org/abs/2406.04127", + topics: ["评测"], + contribution: "重新标注 MMLU 全集并分析错误、歧义与题目质量,说明静态权威基准也需要系统维护。", + verified: true, + }, + { + year: 2025, + title: "AILuminate: Introducing v1.0 of the AI Risk and Reliability Benchmark from MLCommons", + url: "https://arxiv.org/abs/2503.05731", + topics: ["评测"], + contribution: "以标准化危险类别和等级报告通用聊天模型风险,同时明确通过测试不能证明系统安全。", + verified: true, + }, + { + year: 2025, + title: "SWE-bench Goes Live!", + url: "https://arxiv.org/abs/2505.23419", + topics: ["评测", "Agent"], + contribution: "从新近 GitHub issue 持续构建可执行软件任务,以版本化动态集降低仓库级代码评测污染。", + verified: true, + }, ]; export const paperTopics: PaperTopic[] = [ diff --git a/src/pages/evaluation/index.astro b/src/pages/evaluation/index.astro new file mode 100644 index 0000000..7c09880 --- /dev/null +++ b/src/pages/evaluation/index.astro @@ -0,0 +1,974 @@ +--- +import BaseLayout from "@/layouts/BaseLayout.astro"; +import EvaluationLab from "@/components/EvaluationLab.astro"; + +const toc = [ + ["00", "compass", "先拆成二十二张账"], + ["01", "measurement", "分数是一份测量协议"], + ["02", "history", "七次历史转向"], + ["03", "token-metrics", "PPL、BLEU 与 ROUGE"], + ["04", "suites", "从 GLUE 到 HELM"], + ["05", "lifecycle", "基准也有生命周期"], + ["06", "prompt", "Prompt 与答案格式"], + ["07", "sampling", "pass@k 与 pass^k"], + ["08", "calibration", "校准与选择性回答"], + ["09", "contamination", "污染的五个层级"], + ["10", "dynamic", "动态题与历史锚点"], + ["11", "verifier", "代码 Verifier"], + ["12", "swe", "SWE-bench 的维修史"], + ["13", "long-multi", "长上下文与多模态"], + ["14", "agent-unit", "Agent 的测量单位"], + ["15", "final-state", "最终状态与可靠性"], + ["16", "human", "人类评测"], + ["17", "judge", "LLM-as-a-Judge"], + ["18", "arena", "Arena、排名与区间"], + ["19", "aggregation", "聚合与子群"], + ["20", "cost", "成本归一化前沿"], + ["21", "safety-object", "安全到底在测谁"], + ["22", "threat", "先写威胁模型"], + ["23", "safety-lineage", "安全评测谱系"], + ["24", "jailbreak", "越狱成功不等于有害有效"], + ["25", "agent-security", "注入、权限与网络安全"], + ["26", "overrefusal", "拒答与过度拒答"], + ["27", "deepseek", "DeepSeek 评测谱系"], + ["28", "r1", "R1:采样与安全壳"], + ["29", "k3", "K3 §6 逐字段复原"], + ["30", "lab", "四联交互实验"], + ["31", "audit", "一张可复用审计卡"], + ["↳", "papers", "80 个关键节点"], +]; + +const ledgers = [ + ["Q1 / CONSTRUCT", "构念", "到底想测知识、推理、行动、偏好还是风险?", "指标名不是能力本身;先写出目标能力的可观察定义。"], + ["Q2 / UNIT", "测量单位", "token、题、回答、episode 还是完整系统?", "不同单位不能因都叫百分比就直接平均。"], + ["Q3 / DISTRIBUTION", "任务分布", "样本代表哪些用户、领域、语言、难度和时间?", "测试集只是现实分布的一份带偏样本。"], + ["Q4 / METRIC", "指标", "loss、accuracy、F1、win rate、resolved 各丢掉什么?", "每个指标都把一部分目标写进了分母。"], + ["Q5 / PROMPT", "提示", "shots、CoT、模板和答案抽取是否一致?", "同名 benchmark 不会自动生成相同协议。"], + ["Q6 / DECODING", "解码", "temperature、top-p、长度与 seed 怎样进入成绩?", "解码是被测系统的一部分,不是脚注。"], + ["Q7 / SAMPLING", "重复采样", "pass@1、pass@k、cons@k 与 pass^k 测什么?", "搜索能力、投票能力和可靠性是三个方向。"], + ["Q8 / HARNESS", "脚手架", "system prompt、工具和上下文管理贡献多少?", "Agent 分数不能全部归到 checkpoint。"], + ["Q9 / VERSION", "环境版本", "数据、容器、网站、依赖和 verifier 是哪个快照?", "动态环境会漂移,复跑必须带日期。"], + ["Q10 / JUDGE", "裁判", "exact match、单测、人类和 LLM Judge 谁定义好?", "裁判也有误差、偏好和覆盖盲区。"], + ["Q11 / AGGREGATE", "聚合", "macro、micro、权重和缺失项怎样处理?", "总分永远包含价值判断。"], + ["Q12 / UNCERTAINTY", "不确定性", "样本数、方差和区间足以支持排名吗?", "0.1 分差不等于确定的能力差。"], + ["Q13 / LEAK", "污染", "原文、答案、格式、语义与时间泄漏怎样分?", "n-gram 无重合只能排除一小类泄漏。"], + ["Q14 / QUALITY", "饱和与错误", "高分是能力强、题太易还是标签错?", "基准不是发布后永远正确的法规。"], + ["Q15 / FRESH", "动态性", "怎样保持新鲜,又保留跨时间可比?", "纯动态题也会引入难度漂移。"], + ["Q16 / PREFERENCE", "偏好与 Arena", "谁在投票、看见什么、被怎样配对?", "Elo 是相对排序,不是绝对智力单位。"], + ["Q17 / COST", "成本", "用了多少 token、工具、重试、延迟与金钱?", "最高准确率未必是可部署的最优点。"], + ["Q18 / ROBUST", "鲁棒与子群", "换语言、提示、长度或扰动后是否稳定?", "平均值不能代表每个用户群。"], + ["Q19 / FACT", "事实性", "长回答中的原子事实被哪些来源支持?", "流畅、自洽与有引用都不自动等于正确。"], + ["Q20 / THREAT", "威胁模型", "攻击者能改什么、访问几次、目标是什么?", "不同攻击权限下的 ASR 不能直接横比。"], + ["Q21 / BOUNDARY", "安全边界", "危险服从与无害过拒怎样同时测?", "什么都拒绝不等于安全又有用。"], + ["Q22 / DISCLOSURE", "披露与审计", "配置、输出、代码、版本和来源能否复核?", "一张排行榜不能替代完整实验记录。"], +]; + +const waves = [ + ["2002–04", "先用便宜代理加速迭代", "BLEU · ROUGE", "参考重叠让翻译与摘要可大规模回归,但表面相似不等于语义、事实和风格质量。"], + ["2018–20", "把通用性做成多任务套件", "GLUE · SuperGLUE · MMLU", "同一模型跨任务比较成为可能;任务权重、格式敏感和公开题污染开始显现。"], + ["2021–22", "整体性、动态性与风险进场", "Dynabench · BIG-bench · HELM", "evaluation 被重新写成场景、适配、指标与报告的组合。"], + ["2021–24", "可执行结果重新成为硬裁判", "HumanEval · DS-1000 · EvalPlus · LiveCodeBench", "代码和数学能用测试或 verifier 判分,但测试覆盖和规格质量仍是测量边界。"], + ["2023–24", "开放回答交给偏好与模型裁判", "MT-Bench · Arena · G-Eval · AlpacaEval", "没有唯一参考答案的问题可比较了,同时引入顺序、长度、自偏与 Judge 能力。"], + ["2023–26", "测量单位从回答变成系统", "SWE-bench · OSWorld · τ-bench · BrowseComp", "Harness、工具、环境、上下文、重试和最终状态共同决定 Agent 成绩。"], + ["2020–26", "安全从内容标签走向产品威胁模型", "RealToxicity · GCG · HarmBench · InjecAgent · AILuminate", "发现失败能证明漏洞,没发现失败却不能证明系统安全。"], +]; + +const metricCards = [ + ["NLL / PPL", "模型给测试序列多大概率?", "适合同 tokenizer、同分布的语言建模比较;不直接测指令、事实、工具或安全。"], + ["BLEU / ROUGE", "输出和参考表面上多相似?", "便宜、确定、适合回归;多种合理答案、语义与事实会被压扁。"], + ["ACCURACY / EM", "最终标签或字符串是否匹配?", "清晰但依赖答案 parser、选项顺序、标签质量和格式策略。"], + ["PASS@K", "k 次尝试里至少一次通过吗?", "衡量有 verifier 搜索的潜力,不代表默认单次体验。"], + ["WIN RATE", "在给定展示下谁更受偏好?", "依赖题分布、裁判人群、顺序、长度、风格和对手集合。"], + ["RESOLVED", "环境最终状态是否满足目标?", "更接近真实行动,但强依赖 Harness、权限、版本、预算与 verifier。"], +]; + +const contaminationLayers = [ + ["01", "原文污染", "测试题、上下文或 benchmark 文件原样出现", "exact / fuzzy n-gram 能发现一部分"], + ["02", "答案污染", "题—答配对、解析器、隐藏单测或参考补丁出现", "只搜题面会漏掉"], + ["03", "格式污染", "模板、选项位置、verbalizer 或固定答案模式出现", "文本相似度通常不充分"], + ["04", "语义污染", "改写题、同一事实、算法或等价证明出现", "需要语义、来源与人工审计"], + ["05", "时间污染", "发布后进入继续预训练、SFT、RL 或合成数据", "需要数据谱系与时间戳"], +]; + +const deepseekRows = [ + ["DeepSeek LLM / 2024", "公开集 + held-out + safety;base/chat 使用不同 shots", "证明“同一张表”内部也可能有不同 prompting;需要逐列读脚注。"], + ["DeepSeekMath / 2024", "Maj@K 提升而 Pass@K 未同步提升", "多数投票变好不等于候选覆盖变广;采样指标必须分开。"], + ["DeepSeek-V2 / 2024", "语言、代码、数学与开放对话分协议评测", "架构收益要和训练 token、激活参数、上下文及对话协议共同解释。"], + ["DeepSeek-V3 / 2024", "Base、Chat、推理、代码与安全分表", "一个 checkpoint 的单步能力与产品包装后的行为不是同一对象。"], + ["DeepSeek-R1 / 2025", "非零温多次采样的 mean pass@1;不同任务 k 不同", "表中的 pass@1 不是一次 greedy;采样池和温度属于核心结论。"], + ["DeepSeek-V3.2 / 2025", "长上下文与 reasoning effort 继续分档", "窗口声明、有效利用和测试时计算预算必须一起看。"], + ["DeepSeek-V4 / 2026", "Nonthink / High / Max;8K / 128K / 384K;Agent 可到 500 tools/steps", "所谓模型分数已显式成为 effort、context 与 Harness 条件下的系统曲线。"], +]; + +const k3Protocol = [ + ["MODEL", "Kimi K3 Thinking", "明确 checkpoint / 产品形态;不可和不同 wrapper 混称“K3”。"], + ["EFFORT", "reasoning effort = max", "比较对象必须使用同等测试时计算,或把它作为成本维度。"], + ["SAMPLING", "temperature = 1.0", "无工具单步题 top-p=.95,Agent 任务 top-p=1;不是默认 greedy。"], + ["TOOLS", "HLE 同时报无工具 / 有工具", "43.5 与 56.0 回答的是两个系统设置,不是同一个模型常数。"], + ["HARNESS", "任务采用各自脚手架", "SWE、终端、浏览、GUI 与自动化任务必须分别披露 harness。"], + ["SWE", "DeepSWE v1.1;官方 mini-SWE-agent 另报 67.3", "同模型换脚手架就是一次重要消融,不应把差异藏掉。"], + ["ENV", "H20 校准 SWE-Marathon;FrontierSWE 于 2026-07-16 重算", "硬件、环境和评测日期都是结果的一部分。"], + ["JUDGE", "部分任务使用 Gemini 3.1 Pro 裁判", "Judge 版本、prompt、rubric 与抽样复核决定开放回答效度。"], + ["DATA", "AutomationBench 600 个公开任务;内部集频繁刷新", "公开与内部、静态与动态必须用不同证据标签。"], + ["COST", "引用第三方排名与成本时保留来源和时点", "外部榜单是带日期的观察,不是永久属性。"], +]; + +const auditRows = [ + ["对象", "模型 checkpoint、产品 wrapper、Harness 与完整系统分别叫什么?"], + ["构念", "要测的能力或风险能否写成可观察行为?有哪些替代解释?"], + ["样本", "来源、版本、时间、语言、领域、难度、子群和排除规则是什么?"], + ["Prompt", "system/chat template、shots、CoT、答案格式与 parser 是否完整公开?"], + ["解码", "temperature、top-p、长度、samples、seed、effort、timeout 和 invalid policy 是什么?"], + ["工具", "工具 schema、权限、上下文管理、网络、重试、并行 rollout 与缓存怎样设?"], + ["环境", "容器、仓库、网站、依赖、数据快照与重置逻辑能否复现?"], + ["裁判", "单测、formal verifier、人类或 LLM Judge 的覆盖、偏差和版本是什么?"], + ["统计", "样本量、点估计、区间、paired test、多重比较与缺失项怎样处理?"], + ["污染", "原文、答案、格式、语义、时间五层分别有哪些证据?"], + ["可靠性", "一次成功、至少一次成功、全部重复成功和尾部失败是否分报?"], + ["安全", "威胁模型、攻击预算、有害有效性、无害回答率和过拒是否同表?"], + ["成本", "输入/输出 token、思考预算、工具、延迟、金钱和能耗是否有共同分母?"], + ["边界", "作者自报、第三方复跑、内部评测、教学推导和线上动态值是否分层?"], +]; + +const paperChain = [ + ["1951", "Perplexity / Prediction and Entropy", "https://doi.org/10.1002/j.1538-7305.1951.tb01366.x", "以序列预测和熵建立语言模型内在评测直觉。"], + ["2002", "BLEU", "https://aclanthology.org/P02-1040/", "用 n-gram precision 与长度惩罚代理翻译质量。"], + ["2004", "ROUGE", "https://aclanthology.org/W04-1013/", "以召回式参考重叠代理摘要质量。"], + ["2017", "On Calibration", "https://proceedings.mlr.press/v70/guo17a.html", "把准确率与置信度可靠性拆成两件事。"], + ["2018", "GLUE", "https://arxiv.org/abs/1804.07461", "统一多任务语言理解评测接口。"], + ["2019", "SuperGLUE", "https://arxiv.org/abs/1905.00537", "饱和后以更难任务更新测量范围。"], + ["2020", "MMLU", "https://arxiv.org/abs/2009.03300", "用多学科选择题扩大知识与问题求解覆盖。"], + ["2020", "RealToxicityPrompts", "https://arxiv.org/abs/2009.11462", "以自然提示测模型的毒性延续。"], + ["2020", "StereoSet", "https://arxiv.org/abs/2004.09456", "联合测刻板偏好与语言建模能力。"], + ["2020", "CrowS-Pairs", "https://arxiv.org/abs/2010.00133", "用最小句对测社会刻板关联。"], + ["2021", "HumanEval", "https://arxiv.org/abs/2107.03374", "执行测试与无偏 pass@k 进入代码评测。"], + ["2021", "TruthfulQA", "https://arxiv.org/abs/2109.07958", "测试模型是否复述人类常见谬误。"], + ["2021", "Dynabench", "https://arxiv.org/abs/2104.14337", "用人机闭环持续寻找当前模型难例。"], + ["2021", "BBQ", "https://arxiv.org/abs/2110.08193", "在歧义与消歧上下文中分别测偏见。"], + ["2022", "BIG-bench", "https://arxiv.org/abs/2206.04615", "大规模协作汇集数百种能力任务。"], + ["2022", "BIG-Bench Hard", "https://arxiv.org/abs/2210.09261", "从套件中筛选前沿模型仍困难的任务。"], + ["2022", "HELM", "https://arxiv.org/abs/2211.09110", "用场景、适配、指标与透明报告定义整体性评测。"], + ["2022", "Language Models Mostly Know", "https://arxiv.org/abs/2207.05221", "研究模型能否估计自身知识与答案正确性。"], + ["2022", "ToxiGen", "https://arxiv.org/abs/2203.09509", "扩展隐含仇恨与中性文本的对抗覆盖。"], + ["2022", "Red Teaming with LMs", "https://arxiv.org/abs/2202.03286", "用语言模型自动生成红队输入。"], + ["2022", "Red Teaming to Reduce Harms", "https://arxiv.org/abs/2209.07858", "总结大规模人工红队和缓解闭环。"], + ["2022", "DS-1000", "https://arxiv.org/abs/2211.11501", "用真实数据科学问题与多条件测试扩展代码评测。"], + ["2023", "PALOMA", "https://arxiv.org/abs/2312.10523", "以域、格式、去污染和 bits-per-byte 改善 LM 可比性。"], + ["2023", "Training Data Contamination", "https://arxiv.org/abs/2311.04850", "系统调查预训练数据与评测集重叠的影响。"], + ["2023", "Semantic Uncertainty", "https://arxiv.org/abs/2302.09664", "按语义等价类估计生成不确定性。"], + ["2023", "MT-Bench / LLM Judge", "https://arxiv.org/abs/2306.05685", "开放回答自动裁判与偏差成为中心问题。"], + ["2023", "G-Eval", "https://arxiv.org/abs/2303.16634", "以 rubric 和推理提示提升 NLG 自动评价。"], + ["2023", "LLMBar", "https://arxiv.org/abs/2310.07641", "用风格诱饵元评测 evaluator 的指令遵循。"], + ["2023", "EvalPlus", "https://arxiv.org/abs/2305.01210", "扩充代码测试覆盖并暴露原测试漏错。"], + ["2023", "FActScore", "https://arxiv.org/abs/2305.14251", "把长回答拆为原子事实逐项核验。"], + ["2023", "SelfCheckGPT", "https://arxiv.org/abs/2303.08896", "用黑盒多次采样不一致检测幻觉。"], + ["2023", "HaluEval", "https://arxiv.org/abs/2305.11747", "构造问答、对话和摘要幻觉数据。"], + ["2023", "GCG", "https://arxiv.org/abs/2307.15043", "自动搜索通用可迁移对抗后缀。"], + ["2023", "Jailbroken", "https://arxiv.org/abs/2307.02483", "从竞争目标和泛化解释安全训练失效。"], + ["2023", "XSTest", "https://arxiv.org/abs/2308.01263", "专门测看似敏感但应正常回答的无害请求。"], + ["2023", "Do-Not-Answer", "https://arxiv.org/abs/2308.13387", "细分不应直接回答的风险场景。"], + ["2023", "FreshLLMs / FreshQA", "https://arxiv.org/abs/2310.03214", "用持续更新问题测知识时效与搜索增强。"], + ["2023", "LongBench", "https://arxiv.org/abs/2308.14508", "以双语多任务评估长上下文能力。"], + ["2023", "GPQA", "https://arxiv.org/abs/2311.12022", "专家级、Google-proof 的研究生科学问答。"], + ["2023", "RewardBench", "https://arxiv.org/abs/2403.13787", "对偏好与奖励模型进行多类别压力测试。"], + ["2023", "AgentBench", "https://arxiv.org/abs/2308.03688", "跨八种交互环境评测 LLM Agent。"], + ["2023", "SWE-bench", "https://arxiv.org/abs/2310.06770", "以真实 GitHub issue 和仓库状态测软件修复。"], + ["2023", "OSWorld", "https://arxiv.org/abs/2404.07972", "在真实计算机环境中测多模态 GUI Agent。"], + ["2024", "Chatbot Arena", "https://arxiv.org/abs/2403.04132", "把匿名人类偏好、配对图和动态排名平台化。"], + ["2024", "Length-Controlled AlpacaEval", "https://arxiv.org/abs/2404.04475", "控制长度混杂后重新估计自动偏好。"], + ["2024", "Arena-Hard", "https://arxiv.org/abs/2406.11939", "从真实流量筛高区分度开放问题。"], + ["2024", "LiveBench", "https://arxiv.org/abs/2406.19314", "用近期来源、客观判分和月度更新降低污染。"], + ["2024", "LiveCodeBench", "https://arxiv.org/abs/2403.07974", "以新竞赛题和时间切分构建代码动态评测。"], + ["2024", "RULER", "https://arxiv.org/abs/2404.06654", "用检索、追踪和聚合诊断真实有效上下文。"], + ["2024", "HarmBench", "https://arxiv.org/abs/2402.04249", "标准化自动红队和稳健拒答框架。"], + ["2024", "StrongREJECT", "https://arxiv.org/abs/2402.10260", "区分绕过拒绝与真正有效有害回答。"], + ["2024", "JailbreakBench", "https://arxiv.org/abs/2404.01318", "统一越狱威胁模型、行为、攻击与提交。"], + ["2024", "InjecAgent", "https://arxiv.org/abs/2403.02691", "评测工具返回中的间接 Prompt 注入。"], + ["2024", "AgentDojo", "https://arxiv.org/abs/2406.13352", "在动态工具环境中联合测效用与注入安全。"], + ["2024", "Cybench", "https://arxiv.org/abs/2408.08926", "在可执行网络安全环境中测能力与风险。"], + ["2024", "Agent Security Bench", "https://arxiv.org/abs/2410.02644", "从攻击与防御维度系统评测 LLM Agent 安全。"], + ["2024", "Instruction Hierarchy", "https://arxiv.org/abs/2404.13208", "训练模型区分 privileged 与不可信指令。"], + ["2024", "Global MMLU", "https://arxiv.org/abs/2412.03304", "审计多语言翻译与文化偏差。"], + ["2024", "FrontierMath", "https://arxiv.org/abs/2411.04872", "用专家原创可验证难题延伸数学区分度。"], + ["2024", "WildGuard", "https://arxiv.org/abs/2406.18495", "统一有害提示、回答与拒答的开放审核。"], + ["2024", "MMLU-Pro", "https://arxiv.org/abs/2406.01574", "以更多选项、推理题和清理缓解饱和。"], + ["2024", "MMLU-Redux", "https://arxiv.org/abs/2406.04127", "重标全集并揭示错误与歧义。"], + ["2024", "τ-bench", "https://arxiv.org/abs/2406.12045", "在工具与用户交互中测 Agent 状态一致性。"], + ["2024", "OCRBench", "https://arxiv.org/abs/2305.07895", "细分多模态模型的 OCR 感知能力。"], + ["2023", "MMBench", "https://arxiv.org/abs/2307.06281", "用能力矩阵和循环评测诊断多模态理解。"], + ["2023", "MMMU", "https://arxiv.org/abs/2311.16502", "用大学级多学科视觉问题测专家知识与推理。"], + ["2024", "Video-MME", "https://arxiv.org/abs/2405.21075", "跨视频时长和模态信息测视频理解。"], + ["2025", "Humanity's Last Exam", "https://arxiv.org/abs/2501.14249", "用专家原创高难题继续拓展知识推理上限。"], + ["2025", "AILuminate", "https://arxiv.org/abs/2503.05731", "标准化风险类别,同时声明通过不等于安全。"], + ["2025", "SWE-bench Live", "https://arxiv.org/abs/2505.23419", "持续从新 issue 构建版本化可执行任务。"], + ["2025", "BrowseComp", "https://arxiv.org/abs/2504.12516", "用难检索、可验证问题测浏览 Agent。"], + ["2024", "DeepSeek LLM", "https://arxiv.org/abs/2401.02954", "分开 base/chat、shots、开放集与安全评测。"], + ["2024", "DeepSeekMath", "https://arxiv.org/abs/2402.03300", "用 Maj@K 与 Pass@K 的分离揭示采样协议差异。"], + ["2024", "DeepSeek-V2", "https://arxiv.org/abs/2405.04434", "在架构、训练与多类评测协议中报告效率—能力。"], + ["2024", "DeepSeek-V3", "https://arxiv.org/abs/2412.19437", "将 base、chat、推理、代码与安全分层评测。"], + ["2025", "DeepSeek-R1", "https://arxiv.org/abs/2501.12948", "公开非零温多采样 pass@1 和安全包装差异。"], + ["2025", "DeepSeek-V3.2", "https://arxiv.org/abs/2512.02556", "按长上下文与推理设置继续展开能力曲线。"], + ["2026", "DeepSeek-V4", "https://arxiv.org/abs/2606.19348", "把 effort、context、工具数和步数写进前沿 Agent 协议。"], + ["2025", "Kimi k1.5", "https://arxiv.org/abs/2501.12599", "把长上下文强化学习与测试时扩展放入同一评测框架。"], + ["2026", "Kimi K3", "https://arxiv.org/abs/2607.24653", "以 max effort、任务特定 Harness、工具和动态环境报告前沿系统结果。"], +]; +--- + + +
+
+
+

EVALUATION / 15 SCORE · PROTOCOL · THREAT MODEL

+

一个模型到底强不强,
不能只看那一个粗体数字

+

+ 从 perplexity、BLEU 和 MMLU 走到代码 Verifier、LLM Judge、Arena、动态基准、 + Agent 最终状态与安全威胁模型;最后逐字段复原 DeepSeek-R1 与 Kimi K3 的评测协议, + 学会把“谁更强”改写成一条有限、可复核、带成本的结论。 +

+
+
+
LEVEL
L0 直觉 → L3 审计
+
LEDGERS
22 张测量账
+
NODES
80 个一手节点
+
LAB
4 台互动测量仪
+
TIME
约 300–420 分钟
+
VERIFIED
2026-07-29
+
+
+
+ +
+ + +
+
+

00 TWENTY-TWO LEDGERS

+

看到排行榜,先把一个数字拆成二十二张账

+

+ “A 比 B 高 3 分”把测量对象、样本、提示、采样、工具、裁判、统计与成本压成了一个标量。 + 这句话可能有用,但只有把下面二十二张账补齐,才知道它允许多强的结论。 +

+ + + +
+ {ledgers.map(([code, title, question, answer]) => ( +
{code}

{title}

{question}

{answer}

+ ))} +
+ +
+ ONE-SENTENCE MODEL +

评测是一项测量工程:先定义想测什么,再固定任务分布、系统边界、资源预算与裁判,最后用不确定性和证据等级限制结论。

+
+
+ +
+

01 MEASUREMENT PROTOCOL

+

Benchmark 不是一张题单,而是一份十二字段合同

+

+ 在物理测量里,我们不会只写“温度 25”,却省略摄氏、测量位置、时间和仪器。 + LLM 榜单同样需要单位。最小的完整表达不是 score(model),而是: +

+
+ OBSERVED SCORE + + measure(task distribution, dataset/split, model/wrapper, prompt/shots, + decoding/samples, effort/tools, harness/context, environment/verifier, + judge/rubric, aggregation/uncertainty, cost) + +
+
+
01

构念效度

我们说要测“推理”,题目是否只靠记忆或格式线索就能做对?

题目真的测到了目标吗?
+
02

内部效度

差异是否被污染、Prompt、Harness、Judge 或样本预算劫持?

分数真由所声称的变量造成吗?
+
03

外部效度

实验室高分能否迁移到真实用户、语言、工具、时间与风险环境?

结论能走出测试集多远?
+
+
+
弱写法“K3 在 HLE 得 56,所以知识推理是 56。”
+
可审计写法“K3 报告在 max effort、给定工具与采样协议下作者自报 HLE 56.0;无工具设置为 43.5,二者测的是不同系统条件。”
+
+
+ +
+

02 SEVEN SHIFTS

+

评测史不是“题越来越难”,而是测量边界不断外扩

+

+ 每一代 benchmark 都修复了旧盲区,也创造了新盲区。自动代理便宜,却离真实偏好远; + 人类和 LLM Judge 能看开放回答,却带来人群、风格与裁判偏差;Agent 更接近真实工作, + 却把整个运行系统带进了分数。 +

+
+ {waves.map(([year, title, nodes, note], index) => ( +
{String(index + 1).padStart(2, "0")}

{title}

{nodes}

{note}

+ ))} +
+
+
便宜、固定、可重复参考重叠 → 静态题集 → 自动 Verifier
+ 同时推进,而非线性替代 +
真实、开放、系统化人类偏好 → 动态环境 → 长程 Agent
+
+
+ +
+

03 METRICS ARE QUESTIONS

+

PPL、BLEU 与 ROUGE 都很重要,但它们从未等于“整体能力”

+
+
NEGATIVE LOG-LIKELIHOODNLL = −Σt log p(xt | x<t)
+
CROSS-ENTROPYH = NLL / T
+
PERPLEXITYPPL = exp(H)
+
TOKENIZER-ROBUST UNITBPB = NLL / (ln 2 × bytes)
+
+

+ PPL 的直觉是模型在每一步面对的“等效平均分支数”。它只对同一 tokenizer、同一文本预处理、 + 同一测试分布具有直接可比性。把一句话切成 6 个 token 或 12 个 token,平均单位已经变了; + 因此 PALOMA 等工作在 tokenizer 不同时使用 bits per byte。 +

+
+ {metricCards.map(([name, question, boundary]) =>
{name}

{question}

{boundary}

)} +
+
+ 没有“最先进指标” +

BLEU / ROUGE 仍适合确定性回归;PPL 仍适合语言建模诊断。错误不是使用代理,而是忘记代理和目标之间的距离。

+
+
+ +
+

04 BENCHMARK SUITES

+

把很多任务放到一张表,不会自动得到“通用智能”

+
+

GLUE

统一九种 NLU 任务、接口与诊断集,让通用表示可比较。

新盲区:很快饱和。
+

SuperGLUE

替换为更难任务,并把人类基线、排行榜和工具一并发布。

新盲区:静态公开题仍被生态吸收。
+

MMLU

57 个学科把知识与解题能力扩到高中、大学和专业考试。

新盲区:选择题格式、题质与文化分布。
+

BIG-bench

社区汇集数百种任务,寻找规模带来的涌现与失败。

新盲区:任务异质,聚合解释困难。
+

HELM

把场景、适配、准确、校准、鲁棒、公平、毒性与效率写进透明报告。

新盲区:覆盖越全,协议维护成本越高。
+
+

+ 套件总分至少藏着三次选择:选哪些任务、每个任务如何归一、每个任务占多大权重。 + 因此应先看每个子项与最差切片,再看总分。总分可以用于导航,不能替代诊断。 +

+
+ +
+

05 BENCHMARK LIFECYCLE

+

一个基准会出生、流行、饱和、被污染、修复,也可能退休

+
+
01设计定义构念、任务、样本与裁判
→ +
02发布代码、数据与 leaderboard 加速采用
→ +
03优化模型与 Prompt 围绕公开协议进步
→ +
04失真饱和、污染、标签错与生态博弈
→ +
05维护重标、加难、动态刷新或退役
+
+
+
故障看起来像维修方法
+
题目错误

能力强的系统也被判错

专家重标、保留争议、多正确答案

+
饱和

前沿模型分差趋近噪声

增加难度和区分度,不只增加冷知识

+
污染

公开题变成训练材料

时间切分、私有题、动态刷新、数据谱系

+
环境腐烂

依赖、网站或容器无法重跑

镜像、版本、定期重建与可执行快照

+
目标错位

高分不再代表真实用户价值

重新定义构念,加入现场与纵向效度

+
+
+ +
+

06 PROMPT IS PART OF THE TEST

+

改一个模板,可能既改变模型“理解了什么”,也改变 parser“看见了什么”

+
+
01System prompt

角色、安全、工具和输出原则。

+
02Chat template

special tokens、role 边界和 assistant 起始。

+
03Shots

示例数量、身份、顺序与是否包含推理。

+
04Task instruction

direct answer、CoT、结构化格式与语言。

+
05Parser

从自然输出抽取选项、数字、代码或动作。

+
+
+
协议 AAnswer with A, B, C, or D only.

测得更接近选项选择,但可能压制 reasoning model 的自然轨迹。

+
协议 BThink step by step, then put \boxed{"{answer}"}.

给了额外计算与格式要求;parser 失败和长输出上限会进入分数。

+
+

+ DeepSeek LLM 明确给出 base 与 chat 在部分任务上的 shots 差异;DeepSeek-R1 又因为 few-shot CoT + 可能伤害 reasoning model 而采用若干 zero-shot 协议。这里没有一个抽象的“绝对公平 Prompt”: + 正确做法是公开、固定,并用多模板敏感性分析说明结论是否稳健。 +

+
+ +
+

07 SAMPLING CHANGES THE QUESTION

+

pass@1、pass@k、cons@k、best-of-N 与 pass^k 不能互换

+
+
ONE-SHOT

Greedy / 一次运行

默认产品体验:不给搜索和选择器,只看一次能否成功。

+
MEAN PASS@1

采样分布下一次成功

对每题多次采样后取正确率均值,能比一次随机运行更稳。

+
PASS@K

至少一个候选通过

适合有单测或 verifier 的搜索系统;k 越大,成本和成功率都增。

+
CONS@K

多数答案正确

自一致依赖正确轨迹能汇聚到同一答案;不等于候选覆盖。

+
BEST-OF-N

选择器挑中最好答案

总成绩同时测生成器和 reward / Judge 的排序能力。

+
PASS^K

连续 k 次全部成功

测可靠性而非探索;k 增大时分数通常下降。

+
+
+
HUMANEVAL UNBIASED ESTIMATORpass@k = 1 − C(n−c, k) / C(n, k)
+
INDEPENDENCE INTUITIONat least one = 1−(1−p)k · all = pk
+
+
+ 一次成功率 80% 的 Agent +
5 次至少一次成功99.97%
+
连续 5 次全部成功32.77%
+

同一个 p、同一个 k,两个看似都叫“5 次”的指标却给出相反故事。真实运行还可能相关,所以要报告经验重复分布。

+
+
+ +
+

08 CALIBRATION & SELECTIVE RISK

+

答对多少,和“知道自己什么时候会错”,是两种能力

+
+
+ 实际正确率 +
+ + 预测置信度 → +
+
+

完美校准

+ P(correct | confidence=q) = q +

声称 80% 置信的答案,长期应约有 80% 正确。高准确率不自动校准;校准好也不自动准确率高。

+
    +
  • reliability diagram 看局部偏差;
  • +
  • ECE 把置信桶误差压成一个代理;
  • +
  • Brier score 同时惩罚概率误差;
  • +
  • risk–coverage 曲线观察拒答后的质量;
  • +
  • semantic entropy 合并同义答案再估不确定性。
  • +
+
+
+

+ Kadavath 等人的结果说明,在其任务和格式中,更大模型能给出有希望的自评估; + 但 P(IK) 跨任务仍难校准,不能被简写为“模型普遍知道自己什么时候错”。 + 真正的产品问题往往不是强迫每题都答,而是:在多少覆盖率下,把错误风险压到可接受范围? +

+
+ +
+

09 FIVE LEAKAGE LAYERS

+

污染不是一个开关,也不能靠一次字符串搜索结案

+
+ {contaminationLayers.map(([number, title, meaning, detect]) => ( +
{number}

{title}

{meaning}

{detect}
+ ))} +
+

+ “干净子集分数低于污染子集”也不能独自证明记忆带来提升,因为两组题可能难度不同。 + 最低限度要同时披露匹配定义、覆盖率、人工抽检、来源时间、效应量与不确定性。 + DeepSeek-R1 明确承认 n-gram 去污染无法阻止测试集改写,这是一条应被保留的诚实边界。 +

+
+ 常见错误推理 + no exact overlap ⇒ no contamination +

正确结论只能是:“在当前语料覆盖、归一化与匹配阈值下,未发现这种表面重叠。”

+
+
+ +
+

10 FRESHNESS × COMPARABILITY

+

动态题解决“见过”,却可能失去“同一把尺”

+
+
STATIC PUBLIC

固定公开题

任何模型都能复跑,解释清晰;但会被训练生态吸收,且容易饱和。

纵向可比强 · 新鲜度弱
+
PRIVATE SNAPSHOT

私有时间切片

泄漏风险较低;外部读者无法看题,错误与构念效度更难审计。

新鲜度中 · 透明度弱
+
FULLY DYNAMIC

持续生成 / 收集

能追新知识和新失败;不同月份题目难度、用户构成与环境都会漂移。

新鲜度强 · 纵向可比弱
+ +
+

+ Dynabench 用人机闭环造当前难例;FreshQA 刷新快速变化知识;LiveBench 用近期来源与客观判分按月更新; + LiveCodeBench 和 SWE-bench Live 利用题目或 issue 的时间切分。它们没有“终结污染”,而是把数据时间和版本 + 提升为一等协议字段。 +

+
+ +
+

11 EXECUTABLE VERIFIERS

+

代码能运行是巨大进步,但“通过当前测试”仍不等于“完全正确”

+
+
L0字符串 / AST

便宜,容易漏掉语义错误。

→ +
L1示例单测

能执行,但覆盖路径有限。

→ +
L2属性 / 变异测试

扩大输入空间与边界条件。

→ +
L3独立实现 / 隐藏测试

更强,仍依赖规格正确。

→ +
L4形式化证明器

对形式规格最硬;规格本身仍需正确。

+
+

+ EvalPlus 将 HumanEval / MBPP 的测试大幅扩充,并发现许多原测试未捕获的错误,模型排序也会改变。 + DS-1000 又把库 API、数值约束、禁止操作等多条件写进判分。Verifier 的真正优势不是“绝不会错”, + 而是它的判分程序更明确、更容易审计和改进。 +

+
+ +
+

12 A BENCHMARK REPAIRS ITSELF

+

SWE-bench 是理解“基准生命周期”最好的完整案例

+
+

SWE-bench

从真实 GitHub issue、仓库与合并补丁构造软件工程任务;把评测单位从函数改为仓库状态。

+

SWE-bench Verified

专业开发者检查任务是否可解、规格是否明确、FAIL_TO_PASS 测试是否公平,保留 500 个高质量样本。

+

SWE-bench Live

持续从新 issue 构建可执行任务,用时间版本降低静态题被训练吸收的风险。

+

公开退役信号

OpenAI 官方说明 Verified 已越来越受污染,转而推荐更难、更新、覆盖不同语言的 SWE-bench Pro。

+
+
+ 不是“旧成绩作废” +

旧分数仍描述当时协议下的历史观察;错误是把它当成 2026 年仍等效、仍干净、仍能区分前沿能力的当前证据。

+
+
+ +
+

13 DIAGNOSTIC CHAINS

+

1M 窗口和一个多模态总分,都必须拆成瓶颈链

+
+
+ LONG CONTEXT +

声明窗口 ≠ 有效窗口

+
检索→位置鲁棒→多跳整合→长输出
+

Needle 主要测找到一段信息;RULER 增加多 needle、变量追踪与聚合;仍要报告 tokenizer、位置、截断、输出与长度曲线。

+
+
+ MULTIMODAL +

总分 ≠ 每个模态环节都强

+
感知 / OCR→Grounding→融合→推理 / 行动
+

OCRBench、MMBench、MMMU、Video-MME 的输入与构念不同;图像尺寸、tile、帧采样、工具和 Judge 必须披露。

+
+
+
+ +
+

14 MODEL IS NOT THE AGENT

+

Agent 的最小测量单位,是“模型—脚手架—工具—环境”

+
+
MODEL生成策略

checkpoint、effort、解码

× +
HARNESS控制循环

prompt、规划、上下文、恢复

× +
TOOLS行动契约

schema、权限、错误反馈

× +
ENVIRONMENT世界状态

版本、网络、账户、随机性

× +
VERIFIER成功定义

最终状态与禁止副作用

+
+

+ 同一个模型换 system prompt、文件编辑器、浏览器工具、上下文压缩策略、重试次数或容器镜像, + 就是另一个被测系统。公平比较可以固定 Harness 测模型,也可以允许每家最优 Harness 测产品上限; + 但两种赛道必须命名不同,不能混入同一列后只写模型名。 +

+
+ {["model ID", "system prompt", "harness commit", "tool schema / permission", "environment image / date", "context policy", "max steps / tokens / wall time", "retry / reset", "parallel rollouts", "verifier", "cost", "failure taxonomy"].map((item, index) => {String(index + 1).padStart(2, "0")}{item})} +
+
+ +
+

15 VERIFY OUTCOMES, NOT THEATER

+

轨迹像专家,不等于事情真的完成了

+
+
弱裁判

读轨迹打分

“分析得很合理”“命令看起来正确”“步骤接近 gold trajectory”。

容易奖励表演、冗长和唯一范例路径。
+
更强裁判

验证最终状态

仓库测试通过、文件存在、订单状态正确、禁止副作用未发生。

允许多条有效路径,但 verifier 仍需覆盖目标。
+
+
+ 单步动作 99%×100 个关键步骤=约 36.6% 全程无错 +
+

+ 这是教学独立近似,不是通用 Agent 定律;现实错误会相关,恢复机制也会修复。 + 但它揭示一个方向:长程任务应报告完成率、失败阶段、重试后成功、连续重复可靠性和尾部成本, + 而不仅是平均一步准确率。 +

+
+ +
+

16 HUMAN EVALUATION

+

“人类偏好”不是一个天然、统一、无噪声的真值

+
+
+

至少回答十个问题

+
    +
  1. 目标用户是谁,标注者是谁?
  2. +
  3. 需要什么专业资格与语言文化背景?
  4. +
  5. 如何培训、校准并支付标注者?
  6. +
  7. 模型身份是否盲化,顺序是否随机?
  8. +
  9. 允许 tie、both bad、不可判断吗?
  10. +
  11. rubric 是整体偏好还是逐维评分?
  12. +
  13. 每项由几人评,分歧是否保留?
  14. +
  15. 一致性和置信区间怎样计算?
  16. +
  17. 展示长度、格式和引用是否一致?
  18. +
  19. 伦理、隐私与有害内容暴露怎样处理?
  20. +
+
+
+ 正确的表述 + “在这组提示、这类目标用户、这套展示与 rubric 下,A 被该标注者群体偏好。” + 不是:“人类证明 A 客观更智能。” +
+
+
+ +
+

17 JUDGE THE JUDGE

+

LLM-as-a-Judge 解决了规模,却没有消灭测量误差

+
+
POSITION

位置偏好

相同答案交换 A/B 顺序,结论会不会翻转?

随机交换、双向评、报告 flip rate
+
VERBOSITY

长度偏好

更长回答获得更多分,是信息更全还是风格红利?

长度控制、配对短长反例
+
SELF

自我偏好

Judge 是否偏爱与自身家族或风格相近的回答?

多 Judge、盲化、跨家族元评测
+
CAPABILITY

能力上限

Judge 自己不会数学、代码或视觉时,如何判别人?

参考答案、工具、专家抽检、分任务裁判
+
RUBRIC

标准漂移

“helpful”是否偷带风格、安全或篇幅偏好?

逐维 rubric、锚点样例、版本冻结
+
STOCHASTICITY

采样与版本

同一 Judge 多次结果和线上模型版本是否稳定?

重复采样、日期、模型 ID、解析失败率
+
+

+ MT-Bench / Chatbot Arena 系统讨论了位置、冗长和自增强偏差;G-Eval 说明 rubric 与推理提示 + 可以提高与人类的一致性,也指出偏好 LLM 文本的可能;LLMBar 则用“真正遵循指令但风格不讨巧” + 的答案专门测试 evaluator。结论很清楚:Judge 本身必须有 benchmark。 +

+
+ +
+

18 ARENA IS A RELATIVE GRAPH

+

Elo / Bradley–Terry 是比较图上的相对位置,不是“智力点数”

+
+
真实用户提示题目分布
+
A ↔ BB ↔ CA ↔ DC ↔ D匿名配对 + 投票
+
统计模型相对强度 + 区间
+
排行榜某个时间窗的排序
+
+
+ {["用户问题分布", "配对与曝光策略", "投票者 / 专家一致性", "tie 与 style 控制", "模型精确版本", "投票时间窗", "bootstrap 区间", "分类榜与总榜", "异常票清理", "成本与长度"].map((item, index) => {String(index + 1).padStart(2, "0")}{item})} +
+

+ Arena 的价值是把真实开放问题和相对偏好带进评测,不是把它神化成无偏真值。 + 当两个模型区间重叠、题目类别不同或版本更新时,应说“当前数据不足以确定排序”, + 而不是强行用小数位制造确定性。 +

+
+ +
+

19 AVERAGES HIDE VALUES

+

平均数不仅压缩数据,也压缩了“谁重要”的价值判断

+
+
模型英语中文低资源语言总体 micromacro
+
A9278318867
+
B8481728279
+
+

+ 如果样本 80% 是英语,micro average 会让 A 看起来领先;给每种语言相同权重的 macro average + 则可能让 B 领先。两者都不是“数学上错误”,而是回答了不同分布下的问题。公平、安全和文化评测尤其要: +

+
    +
  • 同时报总体、关键子群、最差组与组间差;
  • +
  • 公开权重、缺失项、拒答和无效输出处理;
  • +
  • 避免用一个总分抵消某个群体的严重失败;
  • +
  • 对多指标、多子组和多次提交处理选择性报告与多重比较。
  • +
+
+ +
+

20 ACCURACY × COST × LATENCY

+

测试时扩展时代,不报预算的“最高分”越来越难解释

+
+
任务成功 ↑
Token / 工具 / 延迟 / ¥ →
+ + + + + NonthinkHighMaxMax + tools + 被支配:更贵且更弱 + +
+
+ {["输入 token", "隐藏思考 / 输出 token", "并行 samples", "工具调用与网络", "最大步数 / 重试", "wall-clock latency", "金钱 / 能耗", "满足 SLO 的成功任务"].map((item) => {item})} +
+

+ 合理比较不一定强迫所有系统同预算。可以报告固定预算下的能力,也可以画完整 Pareto frontier: + 在每一个成本点上,谁提供最高成功率?DeepSeek-V4 的 Nonthink / High / Max,以及 K3 的 max effort, + 都说明“模型能力”正在变成一条由测试时资源参数化的曲线。 +

+
+ +
+

21 WHAT IS THE SAFETY OBJECT?

+

基础模型、对齐行为、产品防线与部署环境,必须分四层测

+
+
L0

Base model

在给定上下文下会生成什么能力和内容?

模型权重本体
+
L1

Aligned behavior

SFT / RL 后如何遵循、拒绝、校准和解释?

checkpoint 行为
+
L2

Product wrapper

system prompt、分类器、过滤、监控和速率限制怎样改变行为?

产品防线
+
L3

Deployment

工具权限、数据、用户、网络、日志与人工升级路径是什么?

真实风险系统
+
+

+ 在裸模型上做攻击可以测权重层的稳健性;在产品 API 上做攻击可以测防御总和。两者都有效, + 但不能互相冒充。DeepSeek-R1 报告中安全评测所用 wrapper 与裸 reasoning checkpoint 的差异, + 正是为什么要先命名对象。 +

+
+ +
+

22 THREAT MODEL FIRST

+

在报攻击成功率之前,先回答攻击者是谁

+
+
KNOWLEDGE

知道什么?

黑盒、logprobs、梯度、权重、system prompt、过滤器规则。

+
CONTROL

能改什么?

用户文本、图片、网页内容、工具返回、记忆、文件、环境状态。

+
BUDGET

可试多少次?

单次、固定 queries、自适应搜索、多人长期攻击。

+
GOAL

想达到什么?

非拒绝、有效有害知识、越权动作、泄露秘密、持久化控制。

+
ACCESS

拥有什么权限?

只聊天、上传文件、联网、执行代码、调用高风险工具。

+
SUCCESS

怎样才算成功?

Judge 标签、人工效用、真实副作用、最终状态或损失上界。

+
+
+ 最小攻击护照 + target × attacker knowledge × controllable channel × query budget × adaptation × success criterion × defense stack × date +
+
+ +
+

23 SAFETY GENEALOGY

+

安全评测从“内容像不像毒性”走到“系统是否真的被攻破”

+
+
CONTENT & BIAS

RealToxicity · StereoSet · CrowS · BBQ

测生成内容、刻板关联与歧义场景偏差。

+
RED TEAMING

LM-generated attacks · human red teams

主动寻找模型当前会暴露的有害失败。

+
JAILBREAK & OVER-REFUSAL

GCG · Jailbroken · XSTest · Do-Not-Answer

同时暴露绕过安全与错误拒绝无害请求。

+
STANDARDIZATION

HarmBench · StrongREJECT · JailbreakBench · WildGuard

统一行为、攻击、分类器与有害有效性。

+
AGENT & PRODUCT

InjecAgent · AgentDojo · Cybench · AILuminate

把不可信内容、工具权限、环境行动和标准风险等级带进来。

+
+
+ AILUMINATE 的重要边界 +

发现失败,可以证明存在漏洞;没有发现失败,不能证明系统安全。

+

安全测试具有强负向预测力,但覆盖永远有限。一个好等级只描述当前测试范围内的观察。

+
+
+ +
+

24 NON-REFUSAL IS NOT HARM

+

越狱“成功”至少有四道门

+
+
01模型没有拒绝refusal bypass
→ +
02内容与目标相关relevance
→ +
03信息具体、可用utility
→ +
04造成能力或现实影响impact under threat model
+
+

+ 一些攻击让模型输出很长、看似顺从,却只有空洞警告或错误信息。若分类器只看“是否拒绝”, + 就会把这些当成功。StrongREJECT 的核心贡献正是用人工标注关注有害回答的相关性与可用性。 + 因此最低限度同时报: +

+
+ unsafe complianceharmful utilityrobust refusalbenign answerover-refusalattack queries / cost +
+
+ +
+

25 UNTRUSTED DATA BECOMES INSTRUCTION

+

Agent 安全的核心变化:模型开始读取外部世界,并有权限改变它

+
+
USER GOAL“总结邮件并生成日程”
→ +
TOOL RESULT邮件正文藏有恶意指令
→ +
MODEL误把数据当高优先级命令
→ +
TOOL ACTION外发数据 / 越权修改
+
+
+

InjecAgent

把恶意指令嵌入工具返回,系统化测间接 Prompt 注入。

+

AgentDojo

在动态工具环境中同时测实用任务效用与攻击成功。

+

Cybench

用可执行网络安全任务和子任务诊断真实攻击链能力。

+

Instruction Hierarchy

把 system / user / third-party 指令优先级显式训练与评测。

+
+

+ 这里的防线不是“让模型更会拒绝”一句话:还包括最小权限、数据—指令分离、动作确认、 + 工具参数验证、秘密隔离、网络策略、审计日志、速率限制和人工升级。安全评测必须覆盖整条链。 +

+
+ +
+

26 SAFETY × UTILITY FRONTIER

+

拒绝越多并不等于越安全:无害可用性必须进入同一张图

+
+
模型回答
模型拒绝
+
有害请求
危险服从需要压低
正确拒绝需要提高
+
无害请求
正常帮助需要保留
过度拒答XSTest 关注
+
+

+ 安全阈值移动会在危险服从和过度拒答之间形成前沿。更好的系统不是简单把阈值调高, + 而是提升区分能力、澄清意图、提供安全替代、按权限分级,并对不确定高风险动作升级给人。 +

+
+ +
+

27 DEEPSEEK PROTOCOL LINEAGE

+

沿 DeepSeek 七篇报告,看“模型分数”一步步变成“系统曲线”

+
+ {deepseekRows.map(([model, protocol, lesson]) => ( +
{model}

{protocol}

{lesson}

+ ))} +
+

+ DeepSeek 特别适合作为评测教学主线,因为它同时公开了 dense、MoE、数学、reasoning、长上下文和 + Agent 演化。最值得学的不是记住某张表,而是观察协议怎样随着能力形态改变: + shots 分开、Maj@K / Pass@K 分开、采样 pass@1、effort 分档、上下文分档,最后把工具数和步数写进报告。 +

+
+ +
+

28 DEEPSEEK-R1 CASE STUDY

+

R1 的“pass@1”不是一次 greedy;安全评测也不是裸模型行为

+
+
WHY SAMPLE?

Greedy 对长推理出现重复与 checkpoint 变异

报告改用 temperature 0.6、top-p 0.95 多次采样,再取样本正确率均值。

+
HOW MANY?

不同 benchmark 的样本预算不同

AIME / GPQA 64;MATH / Codeforces 16;LiveCodeBench 8。k 不是无关脚注。

+
PROMPT

部分任务采用 zero-shot

作者指出 few-shot CoT 可能损伤 reasoning model,因此调整协议;比较时必须披露适配。

+
AGENT HARNESS

SWE-bench 使用 Agentless

成绩同时属于模型与固定脚手架;换搜索、编辑和上下文管理会改变系统。

+
SAFETY WRAPPER

安全表中的对象含额外包装

不能把产品安全行为直接归因到裸 R1 checkpoint。

+
CONTAMINATION

n-gram 无法阻止改写污染

作者边界本身就是重要证据,避免把检测写成“已证明无泄漏”。

+
+
+ R1 TABLE CELL + checkpoint × zero/few-shot × T=.6 × top-p=.95 × samples/task × parser/verifier × wrapper +
+
+ +
+

29 KIMI K3 §6

+

逐字段复原 K3 的公开评测:它报告的已经是多种系统设置

+
+
字段报告设置怎样正确解读
+ {k3Protocol.map(([field, setting, meaning]) =>
{field}

{setting}

{meaning}

)} +
+
+
+ AUTHOR-REPORTED / PROTOCOL-BOUND +

公开结果只能连同协议引用

+

下列是 K3 技术报告在其公开设置下自报的点估计,不是本站复跑,也不是脱离 Harness 与预算的模型常数。

+
+
+ 93.5GPQA + 43.5 / 56.0HLE 无 / 有工具 + 67.5DeepSWE + 81.2FrontierSWE + 42.0SWE-Marathon + 91.2BrowseComp + 84.8OSWorld Verified + 58.3OSWorld 2.0 +
+
+

+ 最有教学价值的不是哪一项第一,而是报告主动暴露了 Harness 敏感性:DeepSWE v1.1 与官方 + mini-SWE-agent 可分别观察;Terminal-Bench 会跨 Harness 报告;BrowseComp 的上下文策略、 + SWE-Marathon 的硬件校准、FrontierSWE 的重算日期都进入了分数。这正是未来评测报告应该走的方向。 +

+
+ +
+

30 INTERACTIVE LAB

+

亲手改一次协议,比背十张排行榜更有用

+

+ 四台测量仪分别对应本章最容易混淆的四组变量。每次只改一个控件,然后先说出 + “我改变的是模型、协议、系统、裁判还是威胁模型”,再观察结果。 +

+ +
+ +
+

31 REUSABLE AUDIT CARD

+

以后看任何模型报告,先填完这十四行

+
+ {auditRows.map(([field, question], index) =>
{String(index + 1).padStart(2, "0")}{field}

{question}

)} +
+
+
L0 / 描述

“报告在协议 P 上自报分数 S。”

+
L1 / 有限比较

“在关键字段相同的 P 上,A 的点估计高于 B,但区间 / 成本为……”

+
L2 / 稳健比较

“跨 Prompt、seed、Harness 或子群敏感性分析后,差异仍稳定。”

+
L3 / 外部结论

“在目标用户与真实环境的纵向验证中,差异迁移到产品结果。”

+
+
+ FINAL RULE +

最可信的评测不是拥有最多小数位,而是让读者知道:测了什么、没测什么、花了多少、谁来判、结论能走多远。

+
+
+ +
+

↳ PRIMARY-SOURCE CHAIN

+

80 个关键节点:从概率代理到 Kimi K3 系统评测

+

+ 这条链只收录本章实际使用的一手论文、官方技术报告或作者入口。每个节点先回答“它把哪条测量边界向外推了一步”, + 再决定是否进入精读;全站论文库现已扩充至 450 篇。 +

+
+ {paperChain.map(([year, title, url, note], index) => ( + + {String(index + 1).padStart(2, "0")} · {year}{title}

{note}

+
+ ))} +
+
+
+
+ + +
diff --git a/src/pages/index.astro b/src/pages/index.astro index 76ad026..87b742f 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -19,6 +19,7 @@ const routes: Record = { "training-systems": "/training-systems/", "systems/inference": "/systems/inference/", "systems/numerics": "/systems/numerics/", + evaluation: "/evaluation/", }; const paths = [ @@ -99,6 +100,7 @@ const paths = [ 训练系统专题 推理服务专题 数值与优化专题 + 评测与安全专题 @@ -122,6 +124,22 @@ const paths = [
+ +
+

NEW / CHAPTER 15 SCORE · PROTOCOL · THREAT MODEL

+

榜单不是体检单:一个分数同时测到了模型、协议、脚手架、预算与裁判

+

+ 用二十二张测量账从 PPL、MMLU、pass@k、校准与污染,走到 LLM Judge、Arena、 + Agent 最终状态和安全威胁模型;逐字段复原 DeepSeek-R1 与 Kimi K3 的评测协议。 +

+
+
+
LINEAGE
2002 → 2026
+
NODES
80 个一手节点
+
LAB
指标 · Judge · 污染 · 系统边界
+
+ +

NEW / CHAPTER 14 MEMORY · TIME · FLEET

@@ -425,7 +443,7 @@ const paths = [

02 CURRICULUM MAP

-

16 个专题,拼成一张完整技术地图

+

17 个专题,拼成一张完整技术地图

进度条表示内容成熟度,不代表相关领域的重要性。首版先打通全站骨架,再逐章扩写到论文与工程层。 diff --git a/src/pages/progress/index.astro b/src/pages/progress/index.astro index dd69e16..dcc5d7e 100644 --- a/src/pages/progress/index.astro +++ b/src/pages/progress/index.astro @@ -24,6 +24,7 @@ const workstreams = [ { label: "大规模训练系统", value: 71, next: "补真实集群 traces、故障案例与精确 topology 配置" }, { label: "推理服务与低成本部署", value: 78, next: "补真实 GPU kernel / workload traces、功耗与跨框架复现" }, { label: "数值精度、优化器与稳定性", value: 75, next: "加入真实 kernel 吞吐、长程训练 traces 与逐图论文精读" }, + { label: "评测、安全与“到底强不强”", value: 79, next: "补真实 cross-harness 复跑、Judge 元评测与动态污染案例" }, { label: "引用与事实检查", value: 57, next: "自动化外链复查与来源等级扩展" }, { label: "开源与部署", value: 100, next: "每轮保留不可变镜像、提交与回滚点" }, ]; @@ -48,7 +49,7 @@ const workstreams = [

OVERALL
专题平均 {average}%
READABLE
{published} 个首版可读专题
ACTIVE
{researching} 个研究/写作中
-
UPDATED
2026-07-29 08:34 CST
+
UPDATED
2026-07-29 09:24 CST
MODE
持续迭代,不锁死版本
@@ -58,7 +59,7 @@ const workstreams = [

01 WORKSTREAMS

-

十九条工作流同时推进,但不混淆“有页面”和“已核验”

+

二十条工作流同时推进,但不混淆“有页面”和“已核验”

内容首版优先打通全局脉络;随后每轮迭代选择一个专题推进到论文/工程层,并做独立事实复核。 @@ -93,10 +94,10 @@ const workstreams = [

✓

研究目标已持久化

总体路线、完成标准、来源等级与进度账本已写入项目。

✓

K3 报告已结构化拆解

47 页报告目录、151 条参考来源和架构/后训练/系统主线已经提取。

-
✓

16 专题知识图

从语言模型基础到评测安全,包含先修依赖和三条贯穿案例。

+
✓

17 专题知识图

从语言模型基础到评测安全,包含先修依赖和三条贯穿案例。

✓

编辑式网站系统

响应式导航、章节模板、侧栏、进度、论文链和证据提示组件。

-
✓

四十七个原创交互视图

K3、语言模型前史、Transformer、DeepSeek、长上下文、MoE、推理、Agent、多模态,以及训练系统、推理服务、Scaling、数据工程、数值和 Alignment 专题。

-
✓

十五篇首版长文

K3、语言模型前史、Transformer、DeepSeek、Scaling、数据工程、长上下文、MoE、后训练、推理、Agent、原生多模态、训练系统、推理服务与数值优化专题。

+
✓

五十一个原创交互视图

K3、语言模型前史、Transformer、DeepSeek、长上下文、MoE、推理、Agent、多模态,以及训练系统、推理服务、Scaling、数据工程、数值、Alignment 与评测安全专题。

+
✓

十六篇首版长文

K3、语言模型前史、Transformer、DeepSeek、Scaling、数据工程、长上下文、MoE、后训练、推理、Agent、原生多模态、训练系统、推理服务、数值优化与评测安全专题。

✓

语言模型前史深度专题

八张独立问题账、33 个正式节点、20 段长文与概率—向量—记忆—对齐四联实验。

✓

Transformer 深度专题

十张独立问题账、40 个正式节点、21 段正文与 QKV—Mask—多头位置—Block 成本四联实验。

✓

Scaling Laws 深度专题

九张账、29 个一手节点、DeepSeek/Kimi 双谱系与曲面—部署—复用—涌现四联实验。

@@ -110,7 +111,8 @@ const workstreams = [
✓

工具使用与长程 Agent 深度专题

十四张账、52 个一手节点、DeepSeek/Kimi Agent 双谱系,以及循环—工具契约—可靠性—长程 RL 四联实验。

✓

原生多模态深度专题

十六张账、55 个一手节点、DeepSeek 三分支、Kimi 三代 MoonViT,以及 Token—连接器—光学压缩—视觉闭环四联实验。

✓

推理服务与低成本部署深度专题

十八本账、62 个一手节点、DeepSeek V2→V4 与 Mooncake→K3 双谱系,以及显存—阶段—推测—集群四联实验。

-
✓

400 篇关键论文索引

新增 vLLM、SGLang、DistServe、Sarathi、FlashInfer、EAGLE-3、DeepGEMM、FlashMLA 等 45 个推理服务节点。

+
✓

评测、安全与“到底强不强”深度专题

二十二张账、80 个一手节点、DeepSeek/K3 评测协议谱系,以及指标—Judge—污染—系统安全四联实验。

+
✓

450 篇关键论文索引

新增 BLEU、GLUE、HumanEval、MT-Bench、LiveBench、HarmBench、InjecAgent、AILuminate 等 50 个评测安全节点。

✓

公开仓库与自托管发布

源码公开到 git.k1412.top,网站由不可变镜像、Compose Manager 与 HTTPS 交付。

@@ -138,6 +140,7 @@ const workstreams = [
P1Agent 二轮深化

真实环境 traces → cross-harness ablation → Agent RL 曲线与提示注入案例

运行证据 + 安全案例库
P1原生多模态二轮

真实视觉 Token traces → 跨分辨率 / connector 消融 → OCR 与视觉 Agent 安全失败案例

运行证据 + 逐图笔记
P1推理服务二轮

真实 GPU kernel / workload traces → 功耗与成本 → 跨 vLLM / SGLang / TensorRT-LLM 复现

可复现实测 + 成本账
+
P1评测安全二轮

真实 cross-harness / pass@k 复跑 → Judge 元评测 → 动态污染与过拒案例

可复现实验 + 协议审计