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 標準帶入主動模型開發中,我們以開放方式發佈,以便社區可以在此基礎上構建。