−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

LLM 評測沙箱:執行 1,000 個模型產生的解答,只需約一美分

在程式設計任務上給模型打分,意味著要執行成千上萬個沒人手寫過的程式。別在筆電上跑,把它們放進基於 microVM 的一次性沙箱——按秒計費,並如實說明吞吐量和 CPU 限制。

程式設計基準測試有個不太光彩的秘密:要給模型打分,就得執行它寫的東西。在幾百道題上做 pass@k,每題十個解答,就是幾千個剛產生的程式——而如果它們來自陌生人,您連一個都不會去 curl | bash。

大多數人一開始在筆電上用 subprocess.run 加一個超時。這能用,直到某個解答寫出 40 GB 的檔案、不斷 fork 直到機器卡死,或悄悄讀取您的主目錄。解決辦法不是更聰明的超時,而是在一個您不在乎的地方執行這些解答。

行之有效的設定

沙箱是一台 Firecracker microVM,內建 Python 3.12、Node.js 22 和 bash,大約一秒啟動,用完即刪。對外網路可用,對內不可用,裡面也沒有任何屬於您的東西。

陷阱在於把沙箱當成函式呼叫。每個沙箱至少按 60 秒計費,啟動要一秒,所以每個解答一個沙箱又慢又浪費。正確做法是把評測框架放進沙箱:

from eqvps import Sandbox

with Sandbox.create(tariff="standard", ttl=4 * 3600) as sb:
    sb.upload("/root/harness.py", open("harness.py").read())
    sb.upload("/root/samples.jsonl", open("slice_03.jsonl").read())
    task = sb.exec("python3 /root/harness.py /root/samples.jsonl > /root/results.jsonl",
                   background=True)
    task.wait(poll_interval=10)
    results = sb.download_text("/root/results.jsonl")

在沙箱內,harness.py 在子程式中執行每個解答,各自備有較短的超時,並記錄 pass、fail 或 timeout。出問題的解答只會殺死自己的子程式,而不是整個執行。如果某個解答把沙箱本身弄壞了,您只損失一個分片,重建沙箱後繼續即可。

每次傳輸的檔案最大 5 MB,所以要把大資料集切成分片——為了並行,您本來也需要這樣做。

吞吐量,實話實說

一個帳戶最多可持有 20 個沙箱,但同時只執行 2 條指令。背景任務在執行期間計入其中。所以快速評測的樣子是兩個沙箱各自在後台處理自己的分片,而不是二十個沙箱爭搶兩個槽位。

對於常見的程式設計基準,這綽綽有餘:大多數解答在一秒內完成,一個沙箱每小時能處理幾千個。如果您要同時在一個龐大的測試集上評測許多模型,就會碰到上限。這時,執行您自己隔離方案的 VPS 是更好的工具。

您應該知道的 CPU 規則

沙箱是為突發式負載設計的。CPU 超過 90% 持續 15 分鐘以上的沙箱會被視為濫用——臨時沙箱會被停止。正常的評測在快速執行和結果記錄之間交替,根本接近不了這個閾值。但一個連續數小時滿載 CPU 的基準測試(每個解答都編譯一個大專案、數值壓力測試)會。這種情況請按月租用 VPS:AI agent 方案以 $10 提供 4 vCPU 和 4 GB。

一次執行的費用

您按秒為方案的 vCPU 和記憶體付費,最少 60 秒,從預付餘額扣除。

負載方案時間大致費用
1,000 個簡短的 Python 解答small(0.5 vCPU,1 GB)約 20 分鐘$0.011
5,000 個解答,允許 numpystandard(1 vCPU,2 GB)約 2 小時$0.13
每個解答建置 + 測試plus(2 vCPU,4 GB)約 3 小時$0.40

產生這些解答的模型呼叫會比執行本身更貴——通常貴一個數量級。

金鑰與可復現性

如果評測框架要在沙箱內呼叫模型 API——比如做 LLM-as-judge 式的評分——請把金鑰作為沙箱的環境變數傳入。這些值加密儲存,從不寫入記錄,API 只返回變數名。

為了可復現,請在評測框架中固定套件版本,並把沙箱方案和結果一起記錄下來。每個沙箱都從同一個乾淨的映像啟動,從您的資料中去掉了「在我筆電上能跑」這個變數。說實話,光這一點就值得切換。

從沙箱頁面和沙箱文件開始。新帳戶可獲得 $1 的沙箱時長——足夠在 small 方案上完成第一次幾千個解答的評測。SDK 參考介紹了背景任務和檔案傳輸,完整的配額表見沙箱限制與計費。

相關閱讀:AI 代理沙箱和在沙箱中完成第一個代理任務。

準備好部署了嗎?以加密貨幣付款,免 KYC——大約一分鐘上線。

立即部署 →

常見問題

評測為什麼需要沙箱?

因為您要執行成千上萬個由模型編寫的程式。大多數無害,有些會無限迴圈,少數會刪除檔案或開啟網路連線。在您的工作站上,這是對資料的威脅;在沙箱裡,這只是一個失敗的解答。

應該每個解答建立一個沙箱嗎?

通常不需要。建立沙箱大約需要一秒,且至少按 60 秒計費,所以每個解答一個沙箱既慢又浪費。在一個沙箱內執行評測框架,由它執行大量解答,每個解答有獨立的超時;在切換模型或沙箱被搞壞時再重新建立。

能跑多快?

一個帳戶在最多 20 個沙箱中同時最多執行 2 條指令。實用的做法是使用幾個沙箱,每個沙箱以背景任務執行您的評測框架,各自處理資料集的一部分。

能連續幾個小時跑長基準測試嗎?

以背景任務執行可以,直到沙箱生命週期結束(臨時沙箱為 24 小時)。但 CPU 滿載超過 15 分鐘的沙箱會被視為濫用。突發式的評測沒問題;持續數小時的穩定計算應該放在 VPS 上。

沙箱能呼叫我的模型 API 嗎?

對外網路是開放的,所以可以。請把 API 金鑰作為沙箱的環境變數傳入——它加密儲存,API 永遠不會返回它——而不是貼上到產生的程式碼裡。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。