# 第八講:淺談檢定大型語言模型能力的各種方式 >上課筆記 * 上課影片連結 * ==**[淺談檢定大型語言模型能力的各種方式](https://youtu.be/Hk8Z0uhmWg4)**== --- ## 評量語言模型能力的基本框架 評估大型語言模型 (Large Language Model, LLM) 或其他人工智能模型能力的基本思路,是準備一系列標準化的輸入 (Inputs) 以及這些輸入對應的標準答案 (Standard Answers)。 比較模型 A 與模型 B 時,給予它們完全相同的輸入,觀察各自的輸出 (Outputs),再將這些輸出與標準答案進行比對,藉此判斷哪個模型表現更佳。 這一整套用於評量模型能力的標準化輸入與答案集合,稱為 **Benchmark Corpus**。當開發者說要在 Benchmark 上評估模型時,指的就是利用這些公認的數據集來檢視模型的表現,並與其他模型進行比較。 ![image](https://hackmd.io/_uploads/H15XWwAJxl.png) 然而,在實際評量 LLM 時,存在許多需要考量的複雜問題,首要挑戰便是如何根據標準答案來判定 LLM 的輸出是否正確。 --- ## 評量方式一:選擇題 (Multiple-Choice Questions) 一種看似簡單的方式是使用選擇題,因為選擇題有明確的標準答案。 ### MMLU Benchmark * **Massive Multitask Language Understanding ([MMLU](https://arxiv.org/abs/2009.03300))** 是一個知名的選擇題 Benchmark Corpus。 * MMLU 收集了上萬道涵蓋多種學科 (如數學、物理、化學等) 的選擇題。 * 這些題目通常具有相當的挑戰性,類似於高中或大學期中、期末考的難度。 ### 選擇題評量的挑戰 儘管選擇題有標準答案,但在評估 LLM 的回答時仍會遇到困難,甚至**同一模型在不同文獻中的 MMLU 正確率也可能不同**。[[來源]](https://huggingface.co/blog/evaluating-mmlu-leaderboard) ![image](https://hackmd.io/_uploads/Hk7tZDA1lx.png) #### 輸出格式的不確定性 * LLM 的輸出是生成式的,不受格式限制。 * **理想情況:** 模型直接輸出正確選項的代號 (例如 "B")。 * **實際情況:** * 模型可能輸出包含選項的句子 (例如 "答案是 B")。 * 模型可能輸出選項對應的內容 (例如 "根據計算,我認為是 1",而選項 B 的內容是 1)。 * **解決方式與問題:** * **限制輸出格式:** 可以要求模型僅輸出選項代號,否則算錯。但這樣做可能只是在測試模型遵循指令的能力,而非其解題能力。模型可能因為想解釋原因而被判錯。 * **檢查關鍵字:** 寫程式檢查輸出是否包含正確選項代號 (如 "B")。但這無法處理輸出選項內容的情況。 ![image](https://hackmd.io/_uploads/BkCMmwRkll.png) #### 輸出機率的詮釋 * LLM 的輸出本質上是基於一個詞彙的機率分佈。 * 可以限制只看選項 (A, B, C, D) 對應的 token 的機率,選擇機率最高的作為答案。 * **問題:** 如果選項 B 在 A, B, C, D 中機率最高,但另一個非選項的 token (例如數字 "3") 的機率更高,這該算對還是錯?這反映了模型可能並非真的選擇 B,而是想輸出其他內容。 ![image](https://hackmd.io/_uploads/HJAZ7DCJxg.png) #### 選項順序與標籤的影響 * **選項位置偏見:** [研究](https://arxiv.org/abs/2309.03882)發現,將 MMLU 所有正確答案移到選項 A,會讓本身傾向猜 A 的模型 (如 Llama-30B) 分數大幅提高,甚至超越其他模型。選項位置會影響評估結果。 * **選項表示符號:** 使用不同的選項符號 (大寫 ABCD、小寫 abcd、數字 1234、帶括號的 (A)(B)\(C)(D)) 也會影響模型的表現。例如,GPT-3.5 在使用數字或帶括號的選項時,MMLU 正確率會下降。 ![image](https://hackmd.io/_uploads/BJlYVwAyee.png) 因此,即使是看似簡單的選擇題,評量方式的細節 (如何判斷對錯、選項設計) 都會顯著影響結果。 --- ## 評量方式二:開放式問題 (Open-Ended Questions) 許多任務,如翻譯 (Translation) 或摘要 (Summarization),並沒有單一的標準答案。 ### 缺乏單一標準答案 * 同一段英文可能有多種合理的中文翻譯方式。 * 同一篇文章可能有多種有效的摘要方法。 在這些情況下,模型的輸出與提供的標準答案不同,不一定代表模型是錯誤的。 ### 自動評量指標 (BLEU & ROUGE) 的侷限 * 過去已有自動評量指標來處理這類問題: * **BLEU (Bilingual Evaluation Understudy):** 主要用於翻譯。 * **ROUGE (Recall-Oriented Understudy for Gisting Evaluation):** 主要用於摘要。 * **核心思想:** 不要求完全一致,只要模型輸出與標準答案有部分詞彙 (n-gram) 重疊即可得分。 * **侷限性:** 這些指標主要基於**字面比對**。它們可能無法捕捉語義上的相似性。例如,若標準答案是「幽默」,模型輸出「詼諧」,兩者意思相近但在字面上幾乎沒有重疊,BLEU/ROUGE 分數會很低,甚至判為全錯。 * 這些指標只能作為參考,不能完全反映翻譯或摘要的品質。 ![image](https://hackmd.io/_uploads/Bk5brvCJee.png) --- ## 評量方式三:人類評量 (Human Evaluation) 鑑於自動評量的侷限,人類評比通常被認為是最準確的方式。 ### Chatbot Arena * [Chatbot Arena](https://chat.lmsys.org/) 是一個 LLM 的競技場,由人類擔任裁判。 * **運作方式:** 1. 使用者進入網站,系統隨機分配兩個匿名的 LLM。 2. 使用者向兩個模型問相同的問題。 3. 模型分別產生回答。 4. 使用者根據回答品質,評斷哪個模型更好 (或平手、都不好)。 ![image](https://hackmd.io/_uploads/S12JLw0Jeg.png) * **排行榜:** Chatbot Arena 維護一個基於 Elo 評分系統的即時排行榜 ([Leaderboard](https://chat.lmsys.org/?leaderboard))。 * **意義:** 目前新聞報導中常提到的「某模型超越 GPT-4」等說法,很多時候是指在 Chatbot Arena 排行榜上的表現。不過排名會動態變化,頂尖模型 (如 GPT-4, Gemini Pro, Claude 3 Opus) 的能力通常在伯仲之間。 * **缺點:** 人類評比非常耗時耗力,成本高昂。 --- ## 評量方式四:以模型評量模型 (LLM-as-a-Judge) 為解決人類評比的成本問題,研究者提出使用強大的 LLM (如 GPT-4) 來評估其他 LLM。 ### 基本概念 * 將一個模型的輸出和標準答案一起輸入給評估模型 (如 GPT-4),讓它判斷輸出是否正確或給予評分。[[1]](https://arxiv.org/abs/2305.01937)[[2]](https://arxiv.org/abs/2310.05657) * 或者,將兩個模型 (A 和 B) 對同一問題的輸出都交給評估模型,讓它判斷哪個更好。 ![image](https://hackmd.io/_uploads/S1m88wCygl.png) ### MT-Bench * [MT-Bench](https://arxiv.org/abs/2306.05685) 是一個知名的使用 LLM (GPT-4) 進行評量的 Benchmark。 * **適用場景:** 主要用於評估那些沒有標準答案、難以自動評量的開放式問題 (如寫作、推理、知識問答等)。 * **問題設計:** 包含約 80 個題組,每個題組通常有兩小題。第一小題是常規任務,第二小題通常更具挑戰性或有特殊限制 (例如,重寫遊記,但每個句子需以字母 A 開頭)。 ### 模型評量的準確性與偏見 * **準確性:** MT-Bench 使用 GPT-4 評量的結果,與 Chatbot Arena (人類評量) 的排名具有[高度相關性](https://github.com/tatsu-lab/alpaca_eval) (Spearman Correlation 高達 0.94)。這表明 LLM-as-a-Judge 是一個可行的方法。 ![image](https://hackmd.io/_uploads/rkvmvwCkxe.png) * **偏見 (Bias):** * **長度偏見 ([Length Bias](https://arxiv.org/abs/2404.04475)):** LLM 評估者可能自身偏好較長、較詳細的回答,即使長度不等於品質。LLM 本身就傾向生成長篇大論。 * **修正:** [AlpacaEval 2.0](https://github.com/tatsu-lab/alpaca_eval) 在進行排名時,除了考慮 GPT-4 的評分,還會納入輸出長度的因素,對過長的回答進行懲罰,從而提高了與 Chatbot Arena 的相關性。 * **持續發展:** 持續有新的、更可靠的 LLM-as-a-Judge Benchmark 被提出,例如 [Arena-Hard](https://lmsys.org/blog/2024-04-19-arena-hard/),旨在進一步提高與人類判斷的一致性。 --- ## 評量內容:問什麼問題? 評量 LLM 時,不僅要考慮如何評分,也要思考應該問哪些類型的問題,才能全面反映其能力。 ### 多任務綜合型 Benchmark 由於現代 LLM 通常具備多方面的能力,評量時傾向於使用包含多種不同任務的 Benchmark Corpus,以進行更全面的評估。 * **發展趨勢:** Benchmark 包含的任務數量隨時間增加,反映了對 LLM 能力期望的提升。 * 早期:[GLUE](https://arxiv.org/abs/1804.07461)、[SuperGLUE](https://arxiv.org/abs/1905.00537),任務數量較少 (約 8-9 個)。 * 近期:[FLAN](https://arxiv.org/abs/2109.01652)、 [CrossFit](https://arxiv.org/abs/2104.08835)、[BIG-bench](https://arxiv.org/abs/2206.04615)、[Natural Instructions](https://arxiv.org/abs/2204.07705),任務數量可達數百甚至上千個。 ![image](https://hackmd.io/_uploads/rJ0Y_PC1gg.png) ### BIG-bench:挑戰極限的任務 * [BIG-bench (Beyond the Imitation Game benchmark)](https://github.com/google/BIG-bench) 是一個大規模合作項目,旨在收集各種挑戰 LLM 能力極限的「奇葩」任務。 * **代表性任務:** * **Emoji Movie:** 給定一組 Emoji,猜測對應的電影名稱。例如 👧🐟🐠🐡 -> Finding Nemo (海底總動員);🐰🦊🚓🏙️ -> Zootopia (動物方城市);🤠❤️🤠 -> Brokeback Mountain (斷背山)。這類任務常被用來說明大型模型展現出的某些小型模型所不具備的「湧現能力」(Emergent Capability)。![image](https://hackmd.io/_uploads/B1lKFPAJex.png) * **Checkmate In One Move:** 給定西洋棋棋譜 (以文字表示),要求模型找出一步可以將死對方將軍的棋步。早期的研究發現,雖然沒有模型能答對,但較大的模型至少能給出符合規則的棋步,顯示其對規則有基本理解,而較小的模型則完全不懂規則。![image](https://hackmd.io/_uploads/Skk7tPRJle.png) * **ASCII Word Recognition:** 在一堆 ASCII 字符中找出隱藏的英文單字。這類任務對模型來說極具挑戰性。![image](https://hackmd.io/_uploads/HkhjKv0yex.png) BIG-bench 的目標是透過這些非常規任務,更深入地探測 LLM 的能力邊界。 --- ## 評量特定能力 除了綜合性評估,也有針對 LLM 特定能力的評量方法。 ### 長文本閱讀能力:大海撈針測試 (Needle in a Haystack) * **背景:** LLM 常宣稱能處理極長的輸入文本 (如數十萬 tokens),但它們是否真的能有效利用全部信息? * **測試方法:** 由 Greg Kamradt 提出的 [Needle in a Haystack](https://github.com/gkamradt/LLMTest_NeedleInAHaystack) 測試 ([介紹影片](https://youtu.be/KwRRuiCCdmc?si=eRYBvVl2gTclSX1A))。 1. 準備一篇長文 (Haystack)。 2. 在長文的不同位置 (例如開頭、中間、結尾) 插入一個特定的、不相關的資訊片段 (Needle),例如「在舊金山最好玩的事情是...」。 3. 向 LLM 提問,要求它根據插入的資訊回答問題 (例如「在舊金山最好玩的事情是什麼?」)。 4. 測試模型是否能在不同位置、不同長度的文本中準確找回「針」。 ![image](https://hackmd.io/_uploads/SJ21cvAylg.png) * **目的:** 檢測 LLM 在處理長文本時,是否會忽略某些部分 (例如只關注開頭和結尾,而忽略中間)。 * **GPT-4 結果:** * 在 64k token 長度內,GPT-4 幾乎能在任何位置找回資訊。 * 在接近 128k token 長度上限時,如果「針」放在文本前 10% 到 50% 的位置,GPT-4 的檢索準確率會顯著下降,表明它可能會遺漏長文早期或中間部分的資訊。 ![image](https://hackmd.io/_uploads/Hybz5D0yll.png) * **Claude 2.1 結果與 Prompting 影響:** * Claude 系列模型以處理長文本著稱。然而,最初的 Needle in a Haystack 測試顯示 Claude 2.1 在長文本下的表現不佳。 * Anthropic 團隊[回應](https://www.anthropic.com/news/claude-2-1-prompting)指出,只要在提問時加入一句引導性的提示 ("Here is the most relevant sentence in the context"),Claude 2.1 的表現就能大幅提升,幾乎達到完美。 ![未命名](https://hackmd.io/_uploads/ry0icDCyxg.jpg) * **啟示:** 這個案例凸顯了 Prompt Engineering 對 LLM 評估結果有著巨大的影響。評估時使用的提示詞本身就可能影響模型的表現。 ### 馬基維利主義:MACHIAVELLI Benchmark * **目的:** [測試](https://arxiv.org/abs/2304.03279) LLM 是否會為了達成目標而不擇手段,即是否具有馬基維利主義 (Machiavellianism) 傾向。 * **測試方法:** 1. 讓 LLM 玩文字冒險遊戲。 2. 設定遊戲目標 (例如增進家族榮耀、推翻陰謀)。 3. 在遊戲的每個節點,LLM 面臨抉擇 (例如是否與某人合作、是否背叛)。 4. 根據選擇獲得遊戲分數 (Reward),同時其行為也會被評估是否符合人類社會道德規範 (Ethical Violations)。 ![image](https://hackmd.io/_uploads/Hk9fiw0klg.png) * **結果:** * 專門為遊戲高分訓練的模型,雖然得分高,但更容易做出違反道德的行為。 * GPT-4 表現出一定的「道德底線」,即使犧牲部分分數,也不會輕易做出嚴重違反道德的行為。 * 透過 Prompt 要求 GPT-4 遵守道德規範 (Ethics Prompt),可以使其行為更符合道德,但得分會降低。 ![image](https://hackmd.io/_uploads/SJV1nv0kxl.png) * **啟示:** LLM 在追求目標和遵守規範之間存在權衡,且可以透過提示進行引導。 ### 心智理論 (Theory of Mind - ToM) * **定義:** 心智理論 (ToM) 指的是**理解和推斷他人心理狀態 (信念、願望、意圖等) 的能力**,即類似「我知道你知道...」的能力。 * **Sally-Anne 測試及其侷限:** * 經典的 Sally-Anne 測試用於評估兒童的 ToM。問題情境: ``` Sally 和 Anne 旁邊有箱子和籃子, Sally 把球放籃子裡後離開,之後 Anne 把球移到箱子裡, 問 Sally 回來後會去哪裡找球? (正確答案:籃子)。 ``` * GPT-3.5 能答對原始的 Sally-Anne 測試。[[1]](https://arxiv.org/abs/2303.12712)[[2]](https://arxiv.org/abs/2302.02083) * **潛在問題:** 這些經典測試題目在網路上隨處可見,LLM 可能只是記住了答案 (數據污染)。將人名、物品換掉 (如大雄、小叮噹、抽屜、衣櫃),GPT-3.5 和 TAIDE 就可能答錯。 * **更可靠的 ToM [測試](https://arxiv.org/abs/2310.15421):** * 設計了更複雜、更不易被記住的測試場景。例如,設計對話情境,其中某角色 (如 Kaily) 離開了一段時間,錯過了部分信息 (如 Linda 說她的狗是黃金獵犬)。之後問 LLM:「Kaily 認為 Linda 的狗是什麼品種?」。需要 ToM 的正確答案是「Kaily 不知道」。 * **結果:** 在這類更可靠的測試中,即便是強如 GPT-4,其 ToM 能力也遠遜於普通人類。 ![image](https://hackmd.io/_uploads/Hk256D0kxl.png) * **啟示:** LLM 目前的 ToM 能力可能被高估,它們在理解他人心理狀態方面仍有顯著差距。評估時需警惕數據污染問題。 --- ## Benchmark 結果的解讀注意事項 在使用 Benchmark 評估 LLM 時,必須謹慎解讀結果,切勿盡信分數。 ### 資料污染 (Data Contamination) Benchmark 的考題通常是公開的,這可能導致 LLM 在預訓練 (Pre-training) 階段無意中「看到」或「學習」了這些題目及其答案。 * **污染的後果:** 模型在高分可能只是因為它「背」了題目,而非真正具備了相應能力。 * **實驗例證:** 有[研究](https://arxiv.org/abs/2311.04850) ([相關部落格](https://lmsys.org/blog/2023-11-14-llm-decontaminator/)) 發現,僅僅使用 MMLU 題目的「換句話說」版本去微調 (fine-tune) Llama-13B,就能使其在原始 MMLU 上的分數飆升至接近 GPT-4 的水平。這顯然不是真實能力的提升。 ![image](https://hackmd.io/_uploads/SJhZCPA1gl.png) * **間接證據:訓練前後 Benchmark 表現差異** * [研究](https://arxiv.org/abs/2312.16337)顯示,LLM 在那些發布於其**訓練資料截止日期之前**的 Benchmark 上的表現,普遍**好於**在那些**之後**才發布的 Benchmark 上的表現。 * 這強烈暗示模型可能在訓練中接觸過舊的 Benchmark 資料。雖然也可能是新 Benchmark 本身更難,但污染是一個重要因素。 ![image](https://hackmd.io/_uploads/HJHU0P0Jge.png) * **直接證據:模型能重現 Benchmark 範例** * 更有力的[證據](https://arxiv.org/abs/2312.16337)是,直接要求 LLM 生成某些 Benchmark (如 RTE, WNLI, COPA 等) 的訓練範例,許多模型 (如 GPT-3.5) 能夠**精確地輸出**這些數據集中的實際樣本。 * 這無疑證明了這些模型確實「看過」這些 Benchmark 資料。 ![image](https://hackmd.io/_uploads/BJaYAw0Jle.png) * **結論:** 在比較模型分數時,必須考慮數據污染的可能性,尤其是對於那些發布較早、廣泛使用的 Benchmark。 --- ## 評量的其他面向 評估 LLM 不應只關注能力 (效能),還需考慮其他實際因素。 ### 效能以外的考量 (價格、速度、硬體) * **成本 (Price):** 使用 API 的價格 (例如每百萬 token 的費用)。 * **速度 (Speed):** 模型生成回應的延遲。 * **硬體需求 (Hardware Requirements):** 運行模型所需的計算資源 (尤其對於本地部署)。 * **權衡 (Trade-offs):** 不同模型在能力、成本、速度之間可能存在不同的權衡。例如,[Artificial Analysis](https://artificialanalysis.ai/) 網站提供了視覺化圖表,比較不同模型的能力指數與使用價格,幫助使用者根據需求選擇。可能存在能力相近但價格差異巨大的模型。 ![Intelligence vs Price (29 Apr '25) ](https://hackmd.io/_uploads/rJabJuCkee.png) --- ## 結論:能力與安全性的綜合考量 本節課主要討論了評量 LLM **效能 (Performance) / 能力 (Capability)** 的各種方法與挑戰。然而,一個好的 LLM 不僅要有能力,還必須是**安全可靠**的。 因此,除了效能評估,還必須考慮人工智慧的**安全性 (Safety)** 面向,例如: * **幻覺 (Hallucination) / 唬爛** * **易受欺騙 / 對抗性攻擊 (Adversarial Attacks)** * **偏見 (Bias)** * **內容抄襲 (Plagiarism)** * **有害內容生成 (Harmful Content Generation)** 這些安全性的考量將在[後續課程](https://hackmd.io/@Jaychao2099/gen-ai-9)中深入探討。 --- 回[主目錄](https://hackmd.io/@Jaychao2099/aitothemoon/)