NPHardEval 排行榜:透過計算複雜度評估大型語言模型的推理能力

Hugging Face 推出了 NPHardEval 排行榜,這是一個動態基準測試,旨在利用計算複雜度類別評估大型語言模型(LLM)的邏輯推理能力。該基準由密西根大學與羅格斯大學的研究人員開發,NPHardEval 透過在不同複雜度層級的演算法問題上測試模型,提供可量化的推理衡量指標,並每月更新資料集以防止模型過度擬合。

基於複雜度的 LLM 評估方法

NPHardEval 以計算複雜度階層的觀點定義邏輯推理,從而對 LLM 的推理程度進行嚴謹且量化的評估。為確保評估聚焦於純粹的邏輯推理而非算術技巧,該基準刻意在問題中排除數值計算。

NPHardEval 與傳統基準測試的兩大主要策略差異在於:

  • 自動化機制: 該基準使用自動化系統來產生與驗證問題。由於這些問題可透過演算法計算,其正確性可在無需人工介入的情況下判定 LLM 的回應。
  • 動態更新: 由於問題是自動生成的,基準會每月刷新。這可防止模型對靜態資料集過度擬合,並允許持續產生不同難度層級的全新問題。

資料合成與結構

NPHardEval 基準包含 900 題合成問題。這些問題分佈於 9 種不同的演算法,每種演算法有 10 個難度等級。演算法依其複雜度類別進行分類:

  • P: 3 種演算法
  • NP-complete: 3 種演算法
  • NP-hard: 3 種演算法

評估指標

NPHardEval 使用兩項具體指標來衡量 LLM 的表現:加權準確率(Weighted Accuracy)與失敗率(Failure Rate)。

加權準確率(WA)

加權準確率在衡量解題精確度的同時,考量任務的難度。10 個難度等級各自分配線性權重(例如,第 1 級權重為 1,第 10 級權重為 10)。準確率透過將模型的回應與正確答案比較,或對無唯一答案的問題檢查逐步結果來計算。

$W A = \frac{\sum_{i = 1}^{10} (w_{i} \times A_{i})}{\sum_{i = 1}^{10} w_{i}}$

其中 $w_{i}$ 為第 $i$ 級的權重,$A_{i}$ 為該級別的準確率。

失敗率(FR)

失敗率評估模型產生可用結果的頻率,特別是辨識輸出格式無法解析的情況。若模型的結果在所有端點呼叫中皆無法成功解析,且每題最多嘗試 10 次,則記錄為一次失敗。

$F R = \frac{\sum_{i = 1}^{10} F_{i}}{100}$

其中 $F_{i}$ 代表第 $i$ 級難度的失敗嘗試次數。

實驗洞見與模型表現

對基準上 LLM 表現的分析揭示了幾項主要趨勢:

  • 封閉源碼 vs. 開放源碼: 封閉源碼模型通常優於開放源碼模型,且 GPT-4 Turbo 被確定為整體表現最佳的模型。
  • 複雜度相關性: 模型通常在較低複雜度的問題(較簡單的複雜度類別)上表現較好,儘管隨著複雜度提升,表現不一定呈線性下降。例如,Claude 2 在 NP-complete(中等複雜度)問題上展現出最佳表現。
  • 開放源碼的優勢: 某些開放源碼模型在特定問題上可超越封閉源碼模型。值得注意的領先開放源碼模型包括 Yi-34b、Qwen-14b、Phi-2 與 Mistral-7b。

Sources