在人工智慧領域,訓練或是微調一個大型語言模型(LLM)只是第一步。真正的挑戰往往隱藏在隨後的問題之中:究竟該如何判斷這個模型表現是否優異?市面上充斥著各種排行榜、聲稱能測試推理或程式能力的基準測試(Benchmarks),以及不斷刷新「最先進技術」(SOTA)的學術論文。然而,這些評分背後究竟代表什麼意義?
本文將基於The LLM Evaluation Guidebook Hugging Face 團隊評測超過 15,000 個模型的經驗,深入探討 LLM 評估的核心機制、常見陷阱以及 2025 年最值得關注的評測工具。
為什麼模型評估如此重要?
對於不同角色的使用者來說,評估的目的截然不同。如果是模型建構者(Model Builder),目標通常是確認新架構或數據配方是否有效。這需要透過「消融實驗」(Ablations)來比較不同設計選擇的影響。這時候需要的評估工具必須具備高訊號雜訊比(Signal-to-Noise Ratio),能快速且便宜地運行,以便在開發過程中反覆測試。
反之,對於模型使用者(Model User)而言,目標則是找到最適合特定應用場景的模型。這時候,單純依賴通用的排行榜可能不夠精準。使用者更需要關注那些與實際應用場景高度相關的測試,甚至需要設計客製化的評估流程。
有趣的是,目前對於「通用人工智慧」(AGI)的定義尚不明確,因此與其追求一個模糊的智慧指標,不如專注於測量模型在特定、明確且有用的任務上的表現。
深入理解 LLM 的運作基礎:評估的前提
要進行有效的評估,首先必須理解模型是如何「閱讀」和「生成」內容的。這涉及到兩個關鍵概念:Tokenizer(分詞器)和推理機制。
Tokenization:模型眼中的世界
大型語言模型本質上是數學函數,它們無法直接處理文字,只能處理數字。因此,輸入的文字首先會被切割成名為 Token 的小單位。這個過程充滿了細節與變數:
- 數字的處理: 不同的分詞器對數字的切割方式不同。有的將數字視為單個 Token,有的則切分成多個數字位。這直接影響了模型進行數學推理的能力。例如,某些模型可能因為分詞方式的關係,在算術任務上表現不佳,這並非邏輯能力不足,而是「看不懂」題目。
- 多語言的不公平性: 目前主流的 BPE(Byte Pair Encoding)分詞法通常基於英文為主語料訓練。這導致非英語語言(如泰語、繁體中文)往往需要更多的 Token 來表達相同的意思。這不僅增加了推論成本,也可能在評估時造成偏差,因為模型需要「記憶」更長的序列。
- 格式敏感度: 2025 年的模型大多經過指令微調(Instruction Tuning)。如果評估時沒有嚴格遵守該模型特定的對話模板(Chat Template),例如遺漏了特定的 System Prompt 或標籤,模型的表現可能會雪崩式下跌。
想了解更多關於分詞器的運作機制,可以參考 Hugging Face 的 NLP 課程 或 相關文檔。
推理與生成:兩種主要的評估路徑
在評估模型時,主要有兩種方法,適用於不同的任務場景:
- 對數似然評估(Log-likelihood Evaluation): 這通常用於多選題。系統不要求模型生成文字,而是計算模型對於選項 A、B、C、D 的發生機率。機率最高的選項即為模型的選擇。這種方法速度快、成本低,且能排除生成格式不符的問題。
- 生成式評估(Generative Evaluation): 讓模型實際生成一段文字回答問題。這更接近真實使用場景,特別是對於程式碼生成、翻譯或開放式問答。然而,評分這類回答較為困難,因為正確答案的表達方式可能千變萬化。
2025 年不可不知的基準測試(Benchmarks)
隨著模型能力的提升,許多舊的基準測試已經「飽和」(Saturation),意即模型分數已超越人類或差異微乎其微,失去了鑑別度。同時,「數據汙染」(Contamination)也是一大問題,許多測試題庫早已被包含在模型的訓練資料中。以下整理了 2025 年較具參考價值的評測集:
1. 邏輯推理與常識 (Reasoning & Commonsense)
早期的數據集如 ARC 或 HellaSwag 雖然經典,但對現代模型來說已稍顯簡單。
- ARC-AGI: 這是一個極具挑戰性的抽象推理測試,要求模型從極少樣本中學習規則。
- Zebra Logic: 利用邏輯謎題測試推理能力,特點是可以無限生成新的謎題,有效防止數據汙染。
2. 知識類 (Knowledge)
MMLU 曾是知識評測的黃金標準,但現在面臨嚴重飽和與錯誤問題。
- MMLU-Pro: 修復了原版 MMLU 的問題,增加了題目複雜度與選項數量,是目前較好的替代品。
- GPQA: 包含生物、物理、化學領域的博士級難題,設計目標是只有該領域專家能回答,甚至連 Google 搜尋都難以找到答案。
- Humanity’s Last Exam: 一個較新的高難度數據集,由各領域專家編寫,旨在測試模型極限。
3. 數學與程式碼 (Math & Code)
GSM8K 已經過於簡單,許多模型甚至出現了「過度擬合」特定題型的現象。
- AIME 24/25: 美國數學奧林匹亞試題,每年更新,非常適合用來檢測模型是否「背誦」了舊題庫。
- LiveCodeBench: 從 LeetCode 等競賽網站收集題目,並記錄題目發布時間。這是一個非常聰明的設計,可以評估模型在「訓練截止日期之後」的新題目上的表現,有效避免汙染。
- SWE-Bench: 測試模型解決真實 GitHub Repository 中 issue 的能力,這比單純寫一個 Python 函數更貼近工程師的日常工作。
4. 長文本與指令遵循 (Long Context & Instruction Following)
- RULER & NIAH: 測試模型在長篇文檔中檢索特定資訊(大海撈針)的能力。
- IFEval: 這是評估模型是否聽話的絕佳工具。它不看內容好壞,只檢查模型是否遵守了格式要求(例如:不可使用標點符號、必須超過 400 字、必須使用 JSON 格式等)。這類評估通常能提供非常客觀的數據。
5. 代理與工具使用 (Agentic & Tool Use)
隨著 Agent 概念興起,評估模型如何使用工具變得至關重要。
- GAIA: 測試模型結合推理、工具調用和檢索來解決現實問題的能力。
- TauBench: 模擬零售或航空訂票系統,評估模型在複雜對話中更新資料庫的準確性。
打造自己的評估流程:當通用測試不夠用時
如果市面上的基準測試無法滿足特定需求,自行構建評估集是必然的選擇。這聽起來很費工,但對於商業應用來說是最高投資報酬率的行為。
使用合成數據 (Synthetic Data)
利用更強大的模型(如 GPT-4 或 Claude 3.5 Sonnet)來生成測試數據是一個趨勢。
- 規則生成: 對於邏輯或程式碼任務,可以透過程式腳本生成無限量的測試題,並自動驗證答案。
- 模型生成: 讓高階模型閱讀你的私有文檔,並生成相關的問答對(QA pairs)。但切記,即便使用自動化生成,人工抽樣檢查(Human Review)仍然不可或缺,以確保品質。
數據汙染的防範
假設所有公開在網路上的數據最終都會被模型學去。為了避免這種情況,可以使用「金絲雀字串」(Canary String)技術,在私有評測集中加入特定的隨機字串。如果未來模型能補全出這個字串,就證明該模型曾「偷看」過這份考卷。
評分難題:誰來當裁判?
對於生成式任務,如何給分是一個大哉問。
自動化指標 (Automatic Metrics)
- Exact Match (EM): 答案必須完全一致。對於數學或程式碼很有效,但對開放式問答太過嚴苛。
- BLEU / ROUGE: 這些源自翻譯領域的指標主要比對字詞重疊率。它們既快速又便宜,但往往無法反映語意正確性。
功能性測試 (Functional Scorers)
這是目前最受推崇的方法之一。例如在程式碼生成中,直接執行代碼看通過多少單元測試(Unit Tests)。在 IFEval 中,直接用程式檢查輸出是否符合格式限制。這種方法客觀且具備可解釋性。
LLM-as-a-Judge (以模型為評審)
使用強大的模型(如 GPT-4)來評分其他模型的輸出。這很方便,但存在隱性偏見:
- 位置偏見 (Position Bias): 評審模型往往傾向於認為第一個出現的答案比較好。
- 冗長偏見 (Verbosity Bias): 評審模型通常會給寫得比較長、比較囉嗦的答案高分,即便內容不完全正確。
- 自我偏好 (Self-Preference): 模型傾向於給與自己風格相似的回答高分。
為了減輕這些偏見,可以採用「成對比較」(Pairwise Comparison)並隨機交換答案順序,或是使用多個模型組成評審團(Jury)。更多關於 LLM 作為評審的技巧,可以參考 Prometheus 等相關研究。
常見問題解答 (FAQ)
Q1:對數似然評估(Log-likelihood)和生成式評估(Generative)有什麼本質區別? 對數似然評估關注的是模型對預設選項的「信心程度」,它不要求模型寫出答案,而是看模型認為哪個選項機率最高,這適合多選題且速度快。生成式評估則要求模型實際產出文字,這更符合真實對話場景,能測試模型的表達與推理串接能力,但評分較為困難且成本較高。
Q2:為什麼同一個模型在不同排行榜上的分數會不一樣? 這通常源於「實作細節」的差異。提示詞(Prompt)的微小變化、對話模板(Chat Template)是否正確應用、隨機種子(Seed)的設定,甚至是評估框架(如 lm-eval-harness 與 HELM)的程式碼差異,都可能導致分數波動。此外,有些模型可能針對特定排行榜的格式進行了過度優化。
Q3:什麼是數據汙染(Contamination),為何它很重要? 數據汙染是指評估用的測試題目不小心被包含在模型的訓練資料中。這就像學生在考試前已經看過考卷與答案一樣,測出來的高分無法代表真實能力。在選擇模型時,應優先參考那些有防範汙染機制(如 LiveCodeBench)的評測結果。
Q4:我應該使用 LLM 來評估我的模型嗎(LLM-as-a-Judge)? 這是一個權衡。LLM 評審比人工便宜且速度快,適合大規模初步篩選。但必須注意上述提到的偏見(如喜歡長篇大論)。建議在開發初期或非關鍵任務使用 LLM 評審,但對於關鍵決策或最終驗證,功能性測試或專家人工評估仍然不可或缺。
結論
LLM 評估既是一門科學,也是一門藝術。在 2025 年,我們已經從單純的「跑分」進步到更關注模型在真實場景、工具使用與複雜推理上的表現。
沒有一個完美的單一指標能概括模型的所有能力。關鍵在於「批判性思考」:了解每個基準測試的局限性,選擇未受汙染的數據,並在自動化評估與人工驗證之間取得平衡。當你看到一個驚人的 SOTA 分數時,不妨多問一句:它是真的理解了問題,還是只是背下了答案?


