iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
生成式 AI

生成式AI的奇妙旅程:從ChatGPT到個人化應用系列 第 14

Day14|LLM 評估鐵三角:Perplexity、BLEU 與 Human Eval

  • 分享至 

  • xImage
  •  

LLM 評估鐵三角:Perplexity、BLEU 與 Human Eval

我們到底該怎麼評價一個 AI?

隨著大型語言模型(LLM)的爆炸式成長,它們的應用已經深入到翻譯、摘要,甚至是程式碼生成等各個領域。但當我們面對一個模型聲稱「性能更強」時,身為開發者或研究人員,該如何客觀地衡量這個「強」字呢?畢竟,語言品質的評估不像圖像辨識那樣只有簡單的二元對錯。

這就是我們今天的主題:LLM 評估領域最經典的「鐵三角」—— 困惑度(Perplexity, PPL)BLEU 分數HumanEval 基準測試。理解它們的運作原理、應用場景與潛在限制,是掌握 LLM 技術的關鍵一步!


### 核心概念拆解

以下我們將條列式地解釋這三個重要的評估指標:

Perplexity (PPL):衡量語言模型的「困惑」程度

項目 說明
定義 困惑度是評估語言模型性能的一種常用指標,用來量化一個概率模型預測樣本的能力。PPL 衡量的是模型對輸入序列的預測能力。
原理 PPL 數學上與模型的交叉熵損失(Cross-Entropy Loss)密切相關。它是預測詞元概率的平均負對數似然的指數化。簡單來說,PPL 可以解釋為模型在預測下一步時,平均考慮了多少個可能的候選詞。
分數解讀 困惑度越低,表示模型對預測越準確、性能越好。低 PPL 意味著模型對語言結構和細微差別有更確定的掌握。例如,一個 PPL 為 50 的模型,平均而言就像在 50 個同等可能的詞中選擇;而 PPL 為 5 則表示預測信心大增。
技術應用 PPL 是追蹤模型改進和比較不同模型配置的寶貴工具。在模型預訓練階段,PPL 可提供模型學習一般語言模式情況的見解。

BLEU Score:詞彙重疊度的評估標準

項目 說明
定義 BLEU(Bilingual Evaluation Understudy,雙語評估替補)是 IBM 於 2001 年發明的一種演算法,用於評估機器翻譯文本的品質。其核心理念是:「機器翻譯與人類專業翻譯越接近,品質就越好」。
原理 BLEU 是基於**精確度(Precision)**的指標,透過比較機器生成的文本(候選文本)與一個或多個參考文本之間 N-gram(連續 N 個詞元序列)的重疊程度來計算。實際應用中通常使用最高到 4-gram。
計算方式 最終的 BLEU 分數結合了修正後的 N-gram 精確度(使用加權幾何平均)和簡短懲罰(Brevity Penalty, BP)。引入 BP 是為了解決過短翻譯可能導致高精確度的問題,從而模仿召回率(Recall)。分數範圍在 0 到 1 之間,越接近 1 表示翻譯越接近參考文本。
應用場景 雖然最初用於機器翻譯,但 BLEU 也被研究人員和開發者應用於其他序列生成任務,如文本摘要對話系統圖像標註,以及程式碼生成等。

HumanEval:專注於程式碼的功能正確性

項目 說明
定義 HumanEval 是 OpenAI 開發的一項基準測試集,旨在評估大型語言模型在程式碼生成任務中的能力。
結構 該數據集包含 164 個手寫的 Python 程式設計問題。每個問題都包含函式簽名、描述預期行為的 Docstring(作為提示)和多個單元測試(平均每個問題有 7.7 個測試)。
主要指標 HumanEval 評估的核心指標是 pass@k。它衡量模型產生的 k 個程式碼樣本中,至少有一個能通過所有相關單元測試的概率。
重點 這個基準測試的重點是功能正確性,而非文本相似性,使其成為衡量模型在程式設計背景下解決問題能力的實用指標。pass@1 特指模型生成的第一個程式碼即正確的概率。

### 深入探討:指標的盲點、限制與進化

雖然上述指標是 LLM 評估的基石,但它們並非萬能。了解其限制和潛在風險,才能更全面地評估模型的真實能力。

1. BLEU 的「語義盲區」與評估偏差

BLEU 最大的缺陷在於語義盲區,即它無法捕捉語義上的等效性。如果兩個翻譯在意義上相同,但使用的詞彙與參考文本不同,BLEU 仍可能給出低分。

  • 問題與實例: 儘管 BLEU 傳統上被認為與人類判斷具有高度相關性,但在現實世界中,研究發現 BLEU/RIBES 分數很高但人工判斷分數極低的尷尬案例。例如,在 WAT 2015 專利翻譯任務中,一個提交的系統就展示了這種高度自動評估分數與低人工評估分數之間的脫節。
  • 專業領域風險: 在專利翻譯這類專業領域,群眾外包的評估者(非專家)與專家的術語偏好不同,一個微小的詞彙差異(例如,翻譯 “respectively” 時使用了不同的日文詞彙)就可能導致 N-gram 精確度產生巨大差異。

2. Perplexity 對長文本理解的誤判與 LongPPL

PPL 雖然是評估語言模型(Language Modeling)能力的有效指標,但它無法很好地反映 LLM 在長文本理解(Long Text Understanding)方面的能力

  • PPL 的局部聚焦: 研究推測 PPL 可能只反映 LLM 處理局部資訊的能力,而非理解整個長文本。模型即使缺乏理解長文本的能力,仍能透過局部詞元(Local Tokens)的預測來實現低 PPL。
  • P缺乏相關性: 在評估長文本任務(如問答和摘要)時,模型的 PPL 表現與其在下游任務上的表現不一致,這意味著 PPL 不是長文本理解能力的好指標。標準的 PPL 失敗,是因為它對所有詞元一視同仁地平均計算,忽略了對長上下文理解至關重要的關鍵詞元
  • 指標進化: 為了應對這個挑戰,研究者提出了 LongPPL (Long-context Perplexity)。LongPPL 透過長短上下文對比法來識別長文本中被稱為「關鍵詞元」(Key Tokens)的部分,只對這些關鍵詞元計算困惑度。實驗結果顯示,LongPPL 與多個長上下文基準測試(如 LongBench)的性能具有高度相關性(例如 Pearson 相關係數可達 -0.96),表現遠優於傳統 PPL。

3. HumanEval 基準測試的飽和與增強

HumanEval 是程式碼生成領域最受歡迎的基準測試之一,但它也面臨著嚴重的品質和時效性問題。

  • 基準測試的限制與風險: 儘管 HumanEval 被廣泛使用,但它被發現存在諸多缺陷,例如錯誤的測試案例測試覆蓋率不足錯誤的規範解法以及不精確的題目定義。例如,HumanEval 的第 47 題在計算中位數時給出了錯誤的答案。這些問題可能導致數據污染和基準測試過度擬合。
  • 性能飽和: 隨著 LLM 的能力不斷提升,許多頂級模型在 HumanEval 上的得分已經接近 100%(即所謂的飽和效應),這使得該基準測試難以有效區分當代模型的優劣。
  • HumanEvalNext 的誕生: 為了改進基準測試的品質,研究者在統一的方法學(BenchFrame)下,推出了增強版 HumanEvalNext。HumanEvalNext 修復了原始錯誤、增加了所有問題的型別註釋(Type Annotations)、改進了語言轉換框架的支援,並加入了更多邊緣案例和困難情境來提升難度。結果顯示,在 HumanEvalNext 上,頂級模型的 pass@1 準確度平均下降了 31.2%,證明了持續改進基準測試的重要性。
指標 評估目標 主要缺陷 LLM 應用場景
Perplexity 語言建模能力 (預測下一個詞) 對長文本理解相關性低,易受局部資訊影響 預訓練、模型結構比較
BLEU 文本相似性 (N-gram 重疊度) 語義盲區,不考慮詞序和關鍵錯誤 機器翻譯、文本摘要
HumanEval 程式碼功能正確性 (Pass@k) 數據飽和、內含錯誤或測試不足 程式碼生成、功能合成

結語

LLM 的評估確實是一門藝術,很難用單一分數來概括一切。

我們可以這樣理解:PPL 告訴你模型對於語言結構和單詞序列是否感到「困惑」;BLEU 檢查模型的輸出與標準答案在詞彙上是否「長得夠像」;而 HumanEval 則是用最硬核的方式,確認模型生成的程式碼是否真的「能跑」。

正因為每個指標都有自己的專長和盲點,我們在評估 LLM 時,絕不能只看單一數字。特別是像程式碼生成這種需要功能正確性的任務,你更需要像是 HumanEval Next 這種經過嚴格檢驗的基準測試。

未來的趨勢,絕對是朝向結合多種自動化指標,甚至是以 LLM 作為裁判(LLM-as-a-judge)來近似人類判斷的混合式評估方式邁進,才能獲得最全面、最貼近真實的評估結果。


上一篇
Day13|LLM 的兩大陰影:幻覺與偏差
下一篇
Day15|為什麼LLM適合做聊天助手
系列文
生成式AI的奇妙旅程:從ChatGPT到個人化應用18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言