olmo-eval:面向模型開發迴圈的評估工作臺
olmo-eval 是一個新的評估工作臺,旨在支援 LLM 開發過程中持續進行的模型評估。它建立在 OLMES 標準之上,提供靈活的任務定義、可交換的執行時策略以及詳細的逐問題比較功能,幫助開發者判斷每次干預的效果是否顯著。
olmo-eval 是 Allen AI 釋出的一個全新評估工作臺,專門用於支援大語言模型(LLM)開發過程中反覆進行的評估迴圈。在構建 LLM 時,每次對資料、架構或超引數的調整,以及每次規模上的提升,都會觸發相同的迴圈:新增或重新配置基準測試,在每個新的模型檢查點上重新執行,記錄結果,並檢查在小型實驗中有效的改動是否仍然適用於完整訓練。大多數現有的評估工具並非為此設計——它們要麼是為已完成模型執行既定基準測試,要麼是在沙箱中執行多步驟、使用工具的問題。它們無法跟上不斷變化的模型,也無法反映模型在特定真實世界條件下的行為。
olmo-eval 建立在 OLMES(開放語言模型評估標準)之上。OLMES 於 2024 年推出,旨在使 LLM 基準得分更易於跨版本比較。當時,相同的模型在相同的基準上以不同方式評分——提示格式和任務制定等方面經常因論文而異——因此,關於哪些模型表現最佳的宣告往往無法復現。OLMES 將基準選擇固定在一個開放、文件化的標準中,併成為了評估從 Olmo 到 Tulu 等開放模型的基礎。
然而,模型的最終得分只是評估過程的一部分。這就是為什麼我們釋出 olmo-eval,一個建立在 OLMES 之上並在 LLM 開發的其餘部分擴充套件其功能的新工作臺。與 OLMES 相比,olmo-eval 減少了實現新評估的工作量,提供了更多靈活性來定義評估執行的位置和方式,並使將單個元件組合成更大工作流變得更加容易。代理和多輪評估作為一級用例得到支援,更強的分析工具幫助您判斷某個干預是否確實改善了基線,或者差異是否只是噪音。
olmo-eval 與現有工具有何不同
效能變化 2.4 個百分點足以做出判斷嗎?
olmo-eval 在某種程度上與 Harbor 重疊,Harbor 是一個用於在容器化沙箱環境中評估 AI 代理的開放框架。但這兩個工具的範圍不同。Harbor 主要旨在執行和釋出代理基準測試;olmo-eval 則是為模型開發的日常工作而構建——新增和配置基準測試,在檢查點上執行它們,並逐提示分析結果,而不是僅給出單個總體得分。
Harbor 以相同的方式執行所有內容——在密封、可復現的容器內。由於容器可能消耗大量資源,olmo-eval 允許您選擇每個基準的執行方式。只需要模型回答問題的基礎基準可以直接執行,速度更快、成本更低;需要鎖定環境的基準——例如,需要執行模型編寫的程式碼——則使用隔離的容器設定。輕量級路徑是預設選項,並且 olmo-eval 僅在基準實際需要時才選擇重型設定。
Harbor 新增基準的過程旨在用於您計劃釋出和公開共享的評估,幷包含額外的驗證步驟。olmo-eval 則旨在開發過程中快速移動,新增基準的方式取決於基準的需求:對於基礎評估,只需簡短定義,並可以選擇讓模型在完成基準時使用工具;對於已經有自己程式碼和過程的基準,則編寫一個薄包裝器,以便 olmo-eval 可以原樣執行並與其他基準得分以相同格式報告結果。
Harbor 和 olmo-eval 都保持基準與執行時策略(模型如何執行以產生答案)分離,以便您可以更改其中一個而無需重寫另一個,但 olmo-eval 旨在實現更大的模組化。在 olmo-eval 中,被評估的模型、它可以使用的工具、容器化環境以及任何輔助模型(如作為評判的 LLM)都是可交換的元件。您可以在多個任務抽象中重用工具,或將評分模型插入一個基準而不影響其他基準,並且可以輕鬆調整小設定(例如提示的具體措辭)而無需大量工作。
Harbor 為每個模型報告總體得分。olmo-eval 也報告這些得分,每個得分都帶有標準誤差和最小可檢測效應(可以可靠區分的差異的最小值)。但更有用的檢視是將相同的問題在兩個模型檢查點上排列,並一一比較,保持其他所有條件不變。這有助於您看到總體平均值中的微小變化是否表示真正的改進,或者僅僅是噪音。
整合評估棧
olmo-eval 由四個元件組成,這些元件本身很有用,但設計用於共同工作以加強實驗性 LLM 開發迴圈:
- 任務/套件/抽象:將基準邏輯與執行時策略解耦。任務是您在 olmo-eval 中定義基準的方式——評估什麼。套件將任務分組為您一起執行的集合,而抽象控制每個任務如何執行。這種分離允許同一任務作為標準基線或以帶有工具和腳手架的方式執行,而無需更改它測量的內容。
- 沙箱和能力路由層:包括非同步沙箱規劃器。這支援評估模型響應取決於其使用工具所採取的操作,例如編寫和執行程式碼或瀏覽網頁。關鍵在於評估模型真實的工具使用情況:當基準需要工具時,olmo-eval 執行這些工具並將結果反饋給模型。
- 標準化實驗模式:記錄每次執行、其配置和結果,均採用相同的結構化格式。這使得可以分組相關實驗,隨時間比較檢查點,並避免在長期模型開發工作流中經常累積的不一致性。
- 結果檢視器:用於成對模型比較:將兩個模型或檢查點逐問題排列,揭示總體平均值可能掩蓋的小但真實的效能變化。
在大多數模型評估設定中,新增基準是一個相當大的整合專案。在 olmo-eval 中,只需要一個任務——任務定義基準資料集、如何構建評估請求以及如何對模型答案進行評分(全部用 Python 程式碼實現)。
開放且可復現的評估
在評估是持續模型開發的一部分而不是一次性執行時使用 olmo-eval——當您需要在可復現條件下跨檢查點重複執行相同的基準測試,並在聚合和逐問題級別比較干預時。
如果您反覆問的問題是“這個檢查點與上一個有何不同,它在哪些方面改進或退步了?”,那麼這就是 olmo-eval 構建的工作流。
可復現的評估應跟上模型的構建方式——而不僅是它們完成後如何評分。olmo-eval 將 OLMES 標準帶入主動模型開發中,我們以開放方式釋出,以便社群可以在此基礎上構建。