WeirdML 時間尺度
這篇文章探討了 WeirdML 背景下的時間範圍概念,儘管提供的內容主要包含用於渲染數學符號的 MathJax CSS 技術樣式。
時間跨度 (Time horizon)
mjx-container[jax="CHTML"] {
line-height: 0;
}
mjx-container [space="1"] {
margin-left: .111em;
}
mjx-container [space="2"] {
margin-left: .167em;
}
mjx-container [space="3"] {
margin-left: .222em;
}
mjx-container [space="4"] {
margin-left: .278em;
}
mjx-container [space="5"] {
margin-left: .333em;
}
mjx-container [rspace="1"] {
margin-right: .111em;
}
mjx-container [rspace="2"] {
margin-right: .167em;
}
mjx-container [rspace="3"] {
margin-right: .222em;
}
mjx-container [rspace="4"] {
margin-right: .278em;
}
mjx-container [rspace="5"] {
margin-right: .333em;
}
mjx-container [size="s"] {
font-size: 70.7%;
}
mjx-container [size="ss"] {
font-size: 50%;
}
mjx-container [size="Tn"] {
font-size: 60%;
}
mjx-container [size="sm"] {
font-size: 85%;
}
mjx-container [size="lg"] {
font-size: 120%;
}
mjx-container [size="Lg"] {
font-size: 144%;
}
mjx-container [size="LG"] {
font-size: 173%;
}
mjx-container [size="hg"] {
font-size: 207%;
}
mjx-container [size="HG"] {
font-size: 249%;
}
mjx-container [width="full"] {
width: 100%;
}
mjx-box {
display: inline-block;
}
mjx-block {
display: block;
}
mjx-itable {
display: inline-table;
}
mjx-row {
display: table-row;
}
mjx-row > * {
display: table-cell;
}
mjx-mtext {
display: inline-block;
text-align: left;
}
mjx-mstyle {
display: inline-block;
}
mjx-merror {
display: inline-block;
color: red;
background-color: yellow;
}
mjx-mphantom {
visibility: hidden;
}
_::-webkit-full-page-media, _:future, :root mjx-container {
will-change: opacity;
}
mjx-math {
display: inline-block;
text-align: left;
line-height: 0;
text-indent: 0;
font-style: normal;
font-weight: normal;
font-size: 100%;
font-size-adjust: none;
letter-spacing: normal;
border-collapse: collapse;
word-wrap: normal;
word-spacing: normal;
white-space: nowrap;
direction: ltr;
padding: 1px 0;
}
mjx-container[jax="CHTML"][display="true"] {
display: block;
text-align: center;
margin: 1em 0;
}
mjx-container[jax="CHTML"][display="true"][width="full"] {
display: flex;
}
mjx-container[jax="CHTML"][display="true"] mjx-math {
padding: 0;
}
mjx-container[jax="CHTML"][justify="left"] {
text-align: left;
}
mjx-container[jax="CHTML"][justify="right"] {
text-align: right;
}
mjx-mo {
display: inline-block;
text-align: left;
}
mjx-stretchy-h {
display: inline-table;
width: 100%;
}
mjx-stretchy-h > * {
display: table-cell;
width: 0;
}
mjx-stretchy-h > * > mjx-c {
display: inline-block;
transform: scalex(1.0000001);
}
mjx-stretchy-h > * > mjx-c::before {
display: inline-block;
width: initial;
}
mjx-stretchy-h > mjx-ext {
/* IE / overflow: hidden;
/ others */ overflow: clip visible;
width: 100%;
}
mjx-stretchy-h > mjx-ext > mjx-c::before {
transform: scalex(500);
}
mjx-stretchy-h > mjx-ext > mjx-c {
width: 0;
}
mjx-stretchy-h > mjx-beg > mjx-c {
margin-right: -.1em;
}
mjx-stretchy-h > mjx-end > mjx-c {
margin-left: -.1em;
}
mjx-stretchy-v {
display: inline-block;
}
mjx-stretchy-v > * {
display: block;
}
mjx-stretchy-v > mjx-beg {
height: 0;
}
mjx-stretchy-v > mjx-end > mjx-c {
display: block;
}
mjx-stretchy-v > * > mjx-c {
transform: scaley(1.0000001);
transform-origin: left center;
overflow: hidden;
}
mjx-stretchy-v > mjx-ext {
display: block;
height: 100%;
box-sizing: border-box;
border: 0px solid transparent;
/* IE / overflow: hidden;
/ others */ overflow: visible clip;
}
mjx-stretchy-v > mjx-ext > mjx-c::before {
width: initial;
box-sizing: border-box;
}
mjx-stretchy-v > mjx-ext > mjx-c {
transform: scaleY(500) translateY(.075em);
overflow: visible;
}
mjx-mark {
display: inline-block;
height: 0px;
}
mjx-c {
display: inline-block;
}
mjx-utext {
display: inline-block;
padding: .75em 0 .2em 0;
}
mjx-msub {
display: inline-block;
text-align: left;
}
mjx-mi {
display: inline-block;
text-align: left;
}
mjx-TeXAtom {
display: inline-block;
text-align: left;
}
mjx-mn {
display: inline-block;
text-align: left;
}
mjx-mspace {
display: inline-block;
text-align: left;
}
mjx-mrow {
display: inline-block;
text-align: left;
}
mjx-msup {
display: inline-block;
text-align: left;
}
mjx-c::before {
display: block;
width: 0;
}
.MJX-TEX {
font-family: MJXZERO, MJXTEX;
}
.TEX-B {
font-family: MJXZERO, MJXTEX-B;
}
.TEX-I {
font-family: MJXZERO, MJXTEX-I;
}
.TEX-MI {
font-family: MJXZERO, MJXTEX-MI;
}
.TEX-BI {
font-family: MJXZERO, MJXTEX-BI;
}
.TEX-S1 {
font-family: MJXZERO, MJXTEX-S1;
}
.TEX-S2 {
font-family: MJXZERO, MJXTEX-S2;
}
.TEX-S3 {
font-family: MJXZERO, MJXTEX-S3;
}
.TEX-S4 {
font-family: MJXZERO, MJXTEX-S4;
}
.TEX-A {
font-family: MJXZERO, MJXTEX-A;
}
.TEX-C {
font-family: MJXZERO, MJXTEX-C;
}
.TEX-CB {
font-family: MJXZERO, MJXTEX-CB;
}
.TEX-FR {
font-family: MJXZERO, MJXTEX-FR;
}
.TEX-FRB {
font-family: MJXZERO, MJXTEX-FRB;
}
.TEX-SS {
font-family: MJXZERO, MJXTEX-SS;
}
.TEX-SSB {
font-family: MJXZERO, MJXTEX-SSB;
}
.TEX-SSI {
font-family: MJXZERO, MJXTEX-SSI;
}
.TEX-SC {
font-family: MJXZERO, MJXTEX-SC;
}
.TEX-T {
font-family: MJXZERO, MJXTEX-T;
}
.TEX-V {
font-family: MJXZERO, MJXTEX-V;
}
.TEX-VB {
font-family: MJXZERO, MJXTEX-VB;
}
mjx-stretchy-v mjx-c, mjx-stretchy-h mjx-c {
font-family: MJXZERO, MJXTEX-S1, MJXTEX-S4, MJXTEX, MJXTEX-A ! important;
}
@font-face /* 0 */ {
font-family: MJXZERO;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Zero.woff") format("woff");
}
@font-face /* 1 */ {
font-family: MJXTEX;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff") format("woff");
}
@font-face /* 2 */ {
font-family: MJXTEX-B;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff") format("woff");
}
@font-face /* 3 */ {
font-family: MJXTEX-I;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff") format("woff");
}
@font-face /* 4 */ {
font-family: MJXTEX-MI;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff") format("woff");
}
@font-face /* 5 */ {
font-family: MJXTEX-BI;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff") format("woff");
}
@font-face /* 6 */ {
font-family: MJXTEX-S1;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff") format("woff");
}
@font-face /* 7 */ {
font-family: MJXTEX-S2;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff") format("woff");
}
@font-face /* 8 */ {
font-family: MJXTEX-S3;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff") format("woff");
}
@font-face /* 9 */ {
font-family: MJXTEX-S4;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff") format("woff");
}
@font-face /* 10 */ {
font-family: MJXTEX-A;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff") format("woff");
}
@font-face /* 11 */ {
font-family: MJXTEX-C;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff") format("woff");
}
@font-face /* 12 */ {
font-family: MJXTEX-CB;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff") format("woff");
}
@font-face /* 13 */ {
font-family: MJXTEX-FR;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff") format("woff");
}
@font-face /* 14 */ {
font-family: MJXTEX-FRB;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff") format("woff");
}
@font-face /* 15 */ {
font-family: MJXTEX-SS;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff") format("woff");
}
@font-face /* 16 */ {
font-family: MJXTEX-SSB;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff") format("woff");
}
@font-face /* 17 */ {
font-family: MJXTEX-SSI;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff") format("woff");
}
@font-face /* 18 */ {
font-family: MJXTEX-SC;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff") format("woff");
}
@font-face /* 19 */ {
font-family: MJXTEX-T;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff") format("woff");
}
@font-face /* 20 */ {
font-family: MJXTEX-V;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff") format("woff");
}
@font-face /* 21 */ {
font-family: MJXTEX-VB;
src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff") format("woff");
}
mjx-c.mjx-c28::before {
padding: 0.75em 0.389em 0.25em 0;
content: "(";
}
mjx-c.mjx-c6C::before {
padding: 0.694em 0.278em 0 0;
content: "l";
}
mjx-c.mjx-c6F::before {
padding: 0.448em 0.5em 0.01em 0;
content: "o";
}
mjx-c.mjx-c67::before {
padding: 0.453em 0.5em 0.206em 0;
content: "g";
}
mjx-c.mjx-c31::before {
padding: 0.666em 0.5em 0 0;
content: "1";
}
mjx-c.mjx-c30::before {
padding: 0.666em 0.5em 0.022em 0;
content: "0";
}
mjx-c.mjx-c2061::before {
padding: 0 0 0 0;
content: "";
}
mjx-c.mjx-c68::before {
padding: 0.694em 0.556em 0 0;
content: "h";
}
mjx-c.mjx-c75::before {
padding: 0.442em 0.556em 0.011em 0;
content: "u";
}
mjx-c.mjx-c72::before {
padding: 0.442em 0.392em 0 0;
content: "r";
}
mjx-c.mjx-c73::before {
padding: 0.448em 0.394em 0.011em 0;
content: "s";
}
mjx-c.mjx-c29::before {
padding: 0.75em 0.389em 0.25em 0;
content: ")";
}
mjx-c.mjx-c2C::before {
padding: 0.121em 0.278em 0.194em 0;
content: ",";
}
mjx-c.mjx-c63::before {
padding: 0.448em 0.444em 0.011em 0;
content: "c";
}
mjx-c.mjx-c65::before {
padding: 0.448em 0.444em 0.011em 0;
content: "e";
}
mjx-c.mjx-c2F::before {
padding: 0.75em 0.5em 0.25em 0;
content: "/";
}
mjx-c.mjx-c66::before {
padding: 0.705em 0.372em 0 0;
content: "f";
}
mjx-c.mjx-c61::before {
padding: 0.448em 0.5em 0.011em 0;
content: "a";
}
mjx-c.mjx-c69::before {
padding: 0.669em 0.278em 0 0;
content: "i";
}
mjx-c.mjx-c1D45D.TEX-I::before {
padding: 0.442em 0.503em 0.194em 0;
content: "p";
}
mjx-c.mjx-c3D::before {
padding: 0.583em 0.778em 0.082em 0;
content: "=";
}
mjx-c.mjx-c1D70E.TEX-I::before {
padding: 0.431em 0.571em 0.011em 0;
content: "\3C3";
}
mjx-c.mjx-c1D6FD.TEX-I::before {
padding: 0.705em 0.566em 0.194em 0;
content: "\3B2";
}
mjx-c.mjx-c22C5::before {
padding: 0.31em 0.278em 0 0;
content: "\22C5";
}
mjx-c.mjx-c2212::before {
padding: 0.583em 0.778em 0.082em 0;
content: "\2212";
}
mjx-c.mjx-c1D465.TEX-I::before {
padding: 0.442em 0.572em 0.011em 0;
content: "x";
}
mjx-c.mjx-c35::before {
padding: 0.666em 0.5em 0.022em 0;
content: "5";
}
mjx-c.mjx-c1D452.TEX-I::before {
padding: 0.442em 0.466em 0.011em 0;
content: "e";
}
mjx-c.mjx-c1D463.TEX-I::before {
padding: 0.443em 0.485em 0.011em 0;
content: "v";
}
mjx-c.mjx-c1D44E.TEX-I::before {
padding: 0.441em 0.529em 0.01em 0;
content: "a";
}
mjx-c.mjx-c2B::before {
padding: 0.583em 0.778em 0.082em 0;
content: "+";
}
mjx-c.mjx-c1D44F.TEX-I::before {
padding: 0.694em 0.429em 0.011em 0;
content: "b";
}
mjx-c.mjx-c1D461.TEX-I::before {
padding: 0.626em 0.361em 0.011em 0;
content: "t";
}
mjx-c.mjx-c32::before {
padding: 0.666em 0.5em 0 0;
content: "2";
}
- 對比模型發布日期,使用 LLM 預測的人類工作時數,針對 WeirdML 上的 10 個連續最先進模型。誤差線顯示來自任務級別自助法(bootstrap)的 95% 置信區間。指數擬合(橙色線/帶)得出的翻倍時間為 4.8 個月 [3.8, 5.8]。*關鍵發現:WeirdML 時間跨度大約每 5 個月翻一倍,從約 24 分鐘(GPT-4,2023 年 6 月)增加到約 38 小時(Claude Opus 4.6,2026 年 2 月)。
| 模型 | 發布日期 | 時間跨度 (95% CI) |
|---|---|---|
| Claude Opus 4.6 (adaptive) | 2026 年 2 月 | 37.7 h [21.6 h, 62.4 h] |
| GPT-5.2 (xhigh) | 2025 年 12 月 | 30.6 h [18.3 h, 54.4 h] |
| Gemini 3 Pro (high) | 2025 年 11 月 | 22.3 h [14.4 h, 36.2 h] |
| GPT-5 (high) | 2025 年 8 月 | 14.5 h [8.6 h, 24.1 h] |
| o3-pro (high) | 2025 年 6 月 | 11.8 h [7.2 h, 18.9 h] |
| o4-mini (high) | 2025 年 4 月 | 8.4 h [5.8 h, 13.6 h] |
| o1-preview | 2024 年 9 月 | 6.2 h [4.2 h, 10.5 h] |
| Claude 3.5 Sonnet | 2024 年 6 月 | 1.9 h [59 min, 3.5 h] |
| Claude 3 Opus | 2024 年 3 月 | 1.1 h [16 min, 2.3 h] |
| GPT-4 | 2023 年 6 月 | 24 min [4 min, 51 min] |
受到 METR 在 AI 時間跨度(論文)方面工作的啟發,我想針對我的 WeirdML 數據做同樣的分析。WeirdML 是我的基準測試——由 METR 支持,並被納入 Epoch AI 基準測試中心 和 Epoch 能力指數——要求 LLM 解決奇特且不尋常的機器學習任務(更多詳情請參見 WeirdML 頁面)。
由於缺乏資源支付人類來解決 WeirdML 任務並測量時間,我要求 LLM 預測一名中等水平的人類 AI 研究員(在沒有 AI 輔助的情況下)在不同的分數閾值(25%、50%、70%、90% 和 95%)下解決不同 WeirdML 任務所需的時間。
我盡可能地為 LLM 提供幫助,包括詳細的任務描述、人類基準的詳細規格以及賦予人類的權限、針對每個分數閾值(如果有的話)提交的 LLM 代碼(來自 WeirdML 運行紀錄),以及終端輸出和相關分數(以便讓 LLM 了解在每項任務上達到特定水平的難度),完整細節見下文。結果看起來相當不錯,但考慮到我們並不知道這些任務實際的人類完成時間,應持保留態度。
GPT-4(上)和 Claude Opus 4.6(下)的邏輯擬合。條形顯示分箱成功率(成功次數/總數),橙色曲線是中位數自助法擬合,陰影帶是 95% 置信區間。虛線標記了 50% 時間跨度。
更多細節和討論見下文。所有數據分析的完整代碼以及所有結果都可以在 GitHub 上找到。項目構思和方法論由我提出。大部分分析代碼由 Claude Code (Opus 4.6) 編寫並由我審核。我起草了這篇博文,並根據 Claude 建議的編輯和修正進行了修改;唯一的例外是「實施細節」部分,由 Claude 起草,我進行了編輯。任何遺留的錯誤均由我負責。
LLM 預測的人類完成時間
LLM 估計的所有 17 個 WeirdML 任務在五個分數閾值(25%–95%)下的人類完成時間。每個面板代表一個任務。對於已有數據的 3 個任務,顯示了人類估計值(作者,帶光暈的紫色星號)。
以上是 GPT-5.2、Gemini-3-Pro、Claude-Opus-4.5 和 Grok-4 對於中等水平人類 AI 研究員解決 17 個不同任務(達到不同分數水平)所需時間的預測。我們看到它們的分歧很大,有時超過一個數量級,而 Opus 通常處於較低端。
我(個人)也對其中三個任務進行了預測(在查看 AI 預測的時間之前),預測的人類完成時間明顯更短,從 25% 閾值時低 3 倍到 95% 閾值時低 8 倍不等。我非常確定 AI 在最高閾值上高估了人類的完成時間(至少在我預測的任務上)。當我們談論數週和數月時,這為人類發揮獨創性提供了太多選擇(模擬數據、對生成數據的過程進行逆向工程,或者乾脆手動標註數據)。我不那麼確定 LLM 在最低閾值上是否也高估了。
基於我的完成時間預測校準後的結果
與主圖相同,但 LLM 時間估計值根據作者對 3 個任務的估計進行了校準。翻倍時間:5.7 個月 [4.4, 6.8]。絕對時間跨度約低 3–8 倍。
上面我們展示了使用人類估計值作為 LLM 估計值的整體校準後的結果。這使得絕對時間跨度與 METR 的結果驚人地一致(這可能只是巧合)。然而,逐閾值分析(見下文)顯示,使用未校準的 LLM 數據時擬合更一致。我不確定該如何解釋這一點,但下文有更多討論。
不同閾值下時間跨度的一致性
GPT-5 的逐閾值邏輯擬合,未校準(上)和已校準(下)。分為三組:簡單(25%+50%,藍色)、中等(70%,綠色)、困難(90%+95%,紅色)。階梯圖顯示了具有共享箱邊緣的分箱成功率。未校準的曲線比已校準的曲線更緊密地聚集在一起。
作為一項健全性檢查,我們可以針對 GPT-5 WeirdML 結果的不同閾值組(25%+50%、70%、90%+95%)分別擬合邏輯曲線。這裡每個桶中的數據要少得多,使得擬合曲線更加困難,然而,我們看到一個明顯的趨勢:高閾值的時間跨度比低閾值的短。這違反了(至少是天真版本的)時間跨度背後的核心假設:即人類的任務難度(以完成時間衡量)與 AI 的任務難度(以成功率衡量)之間存在一致的映射關係。
這些影響可能部分是由估計器的偏差造成的(這是有道理的,因為一組幾乎全是成功,而另一組幾乎全是失敗),但我們從直方圖(圖中顯示為短水平線)中看到這裡確實存在真實的影響。我們已經知道不同類型的任務具有不同的時間跨度,並且(至少在事後看來)這是有道理的:你可能有一個任務,只要有正確的精闢見解和一些嘗試,編碼就相當快並能達到 95%;而另一個任務只需要你編寫大量的樣板代碼來將所有內容組合在一起(在沒有 AI 輔助的情況下),即使它不需要你有任何深刻的見解就能達到 50%。這些任務可能具有相同的人類完成時間,但 AI 在後者上相對於前者可能具有巨大的優勢。
由於基於我的估計進行的校準為最高閾值分配了相對較低的人類完成時間,因此在這種情況下閾值組之間的差異甚至更大是有道理的,這正是我們所看到的。很難知道這種效應有多少是真實的,有多少是 LLM 估計的人為產物——如果在地面真值中看到這種明顯的效應(如果我們真的讓人類完成這些任務),我不會感到驚訝。
討論
標題結果——時間跨度大約每 5 個月翻一倍——與 METR 發現的約 7 個月相當一致,儘管使用了完全不同的基準測試、不同的任務類型,以及 LLM 估計而非測量的人類完成時間。同樣引人注目的是,我們通過數據擬合出的單一曲線效果如此之好(儘管我們的數據跨度比 METR 的短得多:2023 年 6 月 – 2026 年 2 月,而 METR 為 2019–2025 年)。
人類基準也不具備直接可比性。METR 對經驗豐富的專業承包商(平均約 5 年經驗)進行計時,並給予與 AI 代理相同的權限——值得注意的是,對於 RE-Bench 任務,人類基準測試者被允許使用 LLM 輔助。而 WeirdML 基準則指定一名在沒有任何 AI 輔助下工作的中等水平 AI 研究員。有 AI 輔助的人類完成任務的速度會更快,從而在相同的模型能力下將 METR 的時間跨度推得更低。這些差異可能會改變絕對時間跨度值,儘管它們對翻倍時間的影響可能較小(但仍有影響)。
然而,最顯而易見的問題是我們沒有地面真值。整個分析都建立在 LLM 預測人類所需時間的能力之上——而我們擁有的唯一部分校準點(我自己對 3 個任務的估計)表明它們系統性地預測過高(而且差距不小),尤其是在高分數閾值下。我不會過多解讀時間跨度的絕對值,但趨勢是一個更穩健的量,而且它與 METR 的結果基本一致。
值得注意的是,WeirdML 約 5 個月的翻倍時間介於 METR 數據中舊的約 7 個月翻倍時間和較新的(2024 年春季之後)約 4 個月翻倍時間之間。同樣值得注意的是,我在該時間點的數據中沒有看到任何拐點,但考慮到在那之前我只有幾個模型,這並不是非常顯著。
即便有這些限制,這仍然是一次有趣的嘗試!即使像這樣的 LLM 判斷在今天可能不是很可靠,但這種可靠性將會增加,從而允許進行更多此類分析——在缺乏更好選擇的情況下,用 LLM 判斷取代昂貴的人類實驗。
實施細節
以下是對所用方法的更詳細說明。完整代碼可在 GitHub 上獲取。
邏輯函數擬合
WeirdML 中的每個模型針對每個任務有多個評分運行(通常為 5 次),每次運行的分數都會在五個閾值中的每一個轉換為二進制結果(通過/失敗)。每個二進制結果都與四個估計器 LLM 對該(任務、閾值)組合的時間預測配對,從而為每個(任務、閾值、估計器、運行)提供一個數據點——根據運行次數,每個模型大約有 700–2000 個數據點。每個數據點的形式為 $(x, y) = (\log_{10}(\text{hours}), \text{success})$。我們擬合一條邏輯曲線:
$$p = \frac{1}{1 + e^{-\beta \cdot (x - \tau)}}$$
其中 $\tau$ 是時間跨度——即模型具有 50% 成功概率時的 $x$。斜率 $\beta$ 被重新參數化為 $e^\sigma$ 以保持其嚴格為負(成功率應隨任務時長增加而降低),兩個參數都使用帶邊界的 L-BFGS-B 進行優化。
使用所有四個估計器模型的時間預測作為單獨的 x 值自然地捕捉了時間估計的不確定性,但我們基本上將相同的數據點使用了 4 次,在這種情況下,這會導致數據在時間方向上的有效抹平(這可能會使上面繪製的直方圖看起來比在更適當的分析下更平滑)。雖然這不應對 50% 時間跨度點產生太大影響,但它可能會使斜率 $\beta$ 產生偏差。
同一模型和任務的不同運行,以及每次運行的同一任務的不同閾值,也遠非獨立。因此,如果我們天真地傳播不確定性,這種分析將嚴重低估不確定性。這就是為什麼我們使用任務級別的自助法來估計不確定性,並將這種邏輯擬合僅視為獲取每個自助樣本點估計的一種簡單方法。
基於任務的自助法 (Bootstrap)
為了估計 $\tau$ 和 $\beta$ 的不確定性,我們使用任務級別的分組自助法:對 17 個任務進行有放回的重新抽樣(5000 次迭代),每次重新擬合邏輯曲線。這考慮了任務內的相關性——給定任務的所有閾值、估計器和運行在每個自助樣本中要麼全部包含,要麼全部排除。
趨勢擬合
對所有 10 個模型的 $\tau$ 與發布日期進行指數趨勢擬合:$\tau = a \cdot b^t$,其中 $t$ 是自第一個模型以來的年數。這得出了 $1/\log_2(b)$ 年的翻倍時間。為了將每個模型的不確定性傳播到趨勢中,我們運行 10,000 次自助法迭代,從每個模型的自助分佈中抽取一個隨機 $\tau$ 樣本,並每次擬合 OLS。
人類完成時間預測的完整提示詞
以下是用於讓四個 LLM 預測 shapes_easy 任務的人類完成時間的完整提示詞,僅排除了 LLM 生成的代碼和相應的終端輸出(在實際提示詞中,為每個可用的 10% 分數區間包含了一個代碼+輸出示例)。所有 17 個任務的提示詞結構均相同。
<details> <summary>完整提示詞</summary>系統提示詞:
你是估計人類研究員完成軟件工程和機器學習任務所需時間的專家。
你擁有以下方面的深厚知識:
- 機器學習技術及其實現複雜性
- ML 項目中常見的陷阱和調試挑戰
- 不同類型的 ML 任務通常需要熟練研究員花費多長時間
- 模型複雜性與開發時間之間的關係
你將獲得一份 ML 任務的詳細描述、其運行的環境以及獲得各種分數的代碼示例。你的工作是估計中等水平的人類 AI 研究員達到特定分數閾值所需的時間。
請按照提示詞末尾指定的 JSON 格式提供你的估計。
用戶提示詞:
任務描述
這是一項挑戰,旨在測試你在未知數據集上進行機器學習的能力。數據是一個維度為 (1000, 512, 2) 的數組,包含 1000 個樣本,每個樣本包含兩個長度為 512 的數組,取值範圍為 0 到 1 的實數。這兩個數組是平面上 512 個點的 x 和 y 坐標。其中一些點構成一個形狀,而其他點只是噪聲。總共有 5 種可能的形狀:圓形、正方形、三角形、五邊形和星形。形狀始終以 (0.5, 0.5) 為中心,且每個形狀始終具有相同的大小和方向,儘管點是沿著形狀隨機放置的。目標是訓練一個機器學習模型來預測當前樣本中存在這五種形狀中的哪一種。
因此,你應該訓練一個機器學習模型來接收 512 個坐標對,並預測它屬於哪個類別。每個樣本中只存在一個形狀。你的目標是預測測試集中每個樣本的類別,以獲得最高的準確率。測試集的大小與訓練集相同,並遵循相同的分佈。
下面是一個示例腳本,展示了如何加載訓練數據並輸出測試數據的預測結果。你可以隨意使用示例中的任何代碼。
這是代碼示例:
import torch
import numpy as np
# 如何設置設備
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print(f'Using device {device}')
# 加載數據
train_data = np.load('data/train_data.npy')
train_labels = np.load('data/train_labels.npy').astype(np.int64)
test_data = np.load('data/test_data.npy')
print(f'Training data shape: {train_data.shape}') # (1000, 512, 2)
print(f'Training labels shape: {train_labels.shape}') # (1000,)
print(f'Test data shape: {test_data.shape}') # (1000, 512, 2)
# 虛擬預測
test_preds = np.random.randint(0, 5, test_data.shape[0])
np.savetxt('results/test_preds.txt', test_preds, fmt='%d')
執行環境
該任務涉及編寫一個單一的 Python 腳本,該腳本將在遠程服務器上進行評估。
提交服務器(官方評分運行執行的地方):
- 單個 NVIDIA TITAN V GPU (12GB VRAM)
- 嚴格的 2 分鐘時間限制 - 代碼必須在此限制內完成,否則失敗
- 執行期間沒有互聯網訪問
- 提交之間不保存狀態 - 每次運行都完全重新開始
- 捕獲終端輸出並顯示給研究員(如果超過 8000 個字符則截斷)
- 每次提交後,都會報告分數(準確率或特定任務指標)
本地開發機器(研究員開發和測試的地方):
- 相同的 GPU:NVIDIA TITAN V (12GB VRAM)
- 無時間限制 - 研究員可以根據需要運行實驗
- 提供相同的軟件包,因此本地結果應能轉移到提交服務器
可用的 Python 軟件包(不能安裝其他軟件包):
- numpy==1.26.4, scipy==1.11.4, pandas==2.1.4, scikit-learn==1.3.2
- torch==2.1.2+cu121, torchvision==0.16.2+cu121, torchaudio==2.1.2+cu121
- Pillow==10.1.0
人類基準規格
你正在估計中等水平的人類 AI 研究員在該任務上達到不同分數閾值所需的時間。
研究員簡介:
- 中等水平的 AI/ML 研究員
- 熟悉標準 ML 庫:PyTorch, scikit-learn, numpy, pandas 等。
- 具備通用 ML 知識,但之前沒有針對此特定任務的經驗
- 獨自工作
可用的工具和資源:
- 無 AI 輔助:無代碼生成、無 AI 自動補全、無 AI 聊天、無代理 AI 工具
- 具有標準自動補全功能的 IDE:傳統的代碼補全(例如 VS Code IntelliSense, PyCharm)
- 根據作用域補全變量名、函數名、方法名
- 顯示函數簽名和文檔字符串
- 根據已安裝的軟件包建議導入
- 互聯網訪問:可以搜索文檔、Stack Overflow、研究論文、教程
- 本地開發 GPU:TITAN V (12GB),無時間限制
- 研究員可以在其本地機器上自由運行實驗、調試和迭代
- 與提交環境相同的 GPU 型號,因此本地結果應能轉移
- 提交環境 GPU:TITAN V (12GB),2 分鐘時間限制
- 官方評分提交在此運行,具有嚴格的 2 分鐘超時限制
- 僅允許 5 次提交嘗試(見下文提交規則)
數據訪問:
- 訓練數據:完全訪問所有提供的訓練文件(標註示例、未標註數據(如有))
- 測試數據:研究員無法訪問測試集 - 甚至無法訪問輸入
- 評估測試集的唯一方法是通過官方提交
提交規則:
- 最多 5 次官方評分提交以評估其解決方案
- 每次提交都從頭開始運行(提交之間不保存狀態)
- 每次提交後的反饋:終端輸出和達到的準確率/分數
- 研究員的最終分數是所有提交中達到的最高分數
- 研究員應對何時使用其有限的提交次數採取策略
按分數水平劃分的代碼示例
以下示例顯示了達到不同分數水平的代碼提交。所有這些示例都是由各種 LLM 模型生成的(而非人類),但它們的作用是說明:
- 哪些方法對此任務有效
- 達到各種分數水平的難度
- 出現哪些類型的錯誤或挑戰
- 代碼複雜性與所獲分數之間的關係
在可用的情況下,每個 10% 的分數區間包含一個示例(此任務有 9 個示例,準確率從 20.3% 到 98.3% 不等)。代碼和終端輸出已省略,以維護基準測試的完整性。
注意:0-10% 和 10-20% 的分數區間沒有可用的代碼示例。
時間估計請求
根據任務描述和顯示不同分數水平的代碼示例,估計中等水平的人類 AI 研究員(如上所述)達到以下每個分數閾值所需的時間:
- 25% 準確率/分數
- 50% 準確率/分數
- 70% 準確率/分數
- 90% 準確率/分數
- 95% 準確率/分數
重要提示:
- 以你認為最自然的時間單位提供你的估計 - 為每個估計指定單位
- 如果某個閾值似乎不可能或極不可能達到,請估計一個非常大的時間量並在你的推理中解釋原因
- 考慮難度的遞進 - 通常更高的閾值需要更複雜的方法
- 代碼示例旨在校準你對任務難度的理解,而不是作為要複製的特定目標
- 請記住研究員只有 5 次提交嘗試,因此他們需要採取策略
- 研究員被允許手動檢查和標註任何未標註的訓練數據(例如,如果有未標註的訓練集,他們可以手動標註)
請以以下 JSON 格式回答。注意:在逐閾值估計之前,先提供整體難度和關鍵挑戰:
{
"overall_difficulty": "<easy/medium/hard/very_hard>",
"key_challenges": "<簡要總結使此任務變得困難的主要挑戰>",
"estimates": {
"25%": {"reasoning": "<什麼方法會奏效以及為什麼需要這麼長時間>", "value": <數字>, "unit": "<時間單位>"},
"50%": {"reasoning": "<什麼方法會奏效以及為什麼需要這麼長時間>", "value": <數字>, "unit": "<時間單位>"},
"70%": {"reasoning": "<什麼方法會奏效以及為什麼需要這麼長時間>", "value": <數字>, "unit": "<時間單位>"},
"90%": {"reasoning": "<什麼方法會奏效以及為什麼需要這麼長時間>", "value": <數字>, "unit": "<時間單位>"},
"95%": {"reasoning": "<什麼方法會奏效以及為什麼需要這麼長時間>", "value": <數字>, "unit": "<時間單位>"}
}
}
</details>相關文章
其他收藏 · 0