生成式AI時代下的機器學習 — 大型語言模型評估的挑戰與高效推理

生成式AI時代下的機器學習 — 大型語言模型評估的挑戰與高效推理

生成式AI時代下的機器學習 — 大型語言模型評估的挑戰與高效推理

大型語言模型(LLM)的推理能力是當前技術評估的核心,然而,如何公平、準確地衡量這些模型的能力,是一項充滿挑戰的任務。從早期粗糙的測試到複雜的真人競技場,評估系統面臨著記憶、偏見與效率等諸多問題。

一、 評估基準的脆弱性:記憶與過度擬合 (Memorization and Overfitting)

早期評估 LLM 推理能力的方法往往是簡單粗暴的:直接測試模型解決數學或程式設計問題的正確率。例如,在 D6 技術報告中,就以模型在數學和程式問題上的正確率來展示其推理能力。

然而,這種方法存在一個核心漏洞:模型可能並非真的具備推理能力,而只是恰好「看過」這些問題的答案,並將記憶的結果輸出。

GSM8K 數據集的測試 為了探究模型是否僅僅是記憶答案,研究人員對著名的數學應用題資料集 GSM8K 進行了測試。他們在不影響問題難度的前提下,修改了題中的一些符號、人名或數字。結果發現,對於多數模型來說,一旦題目中的詞彙或數字被替換,它們的正確率就會下降。這顯示模型確實有稍微背誦到這些問題的答案。

此外,即使只是將句子順序對調,而不影響題目的意思,模型解題的正確率也會下降。這表明模型可能學到了一些不該學的東西,而非真正的語義理解。

要徹底解決模型「偷看」到測試題目的問題非常困難。即使在訓練時移除與測試資料相似的內容,模型仍可能透過爬取網路上不同語言翻譯版本(例如蒙古文)的測試題而學到答案,而我們難以檢測出來。

二、 追求真知:更嚴謹的評估與其局限

  1. ARC-AGI:圖形化智力測驗

為避免模型依賴網路知識或記憶來回答問題,ARC-AGI (Abstract Reasoning Corpus) 被提出,它是一個高度常被討論的基準集(Benchmark Corpus)。ARC-AGI 中的題目都是圖形的智力測驗題,但這些圖形會以文字來表示,其中數字代表不同的顏色。

ARC-AGI 的目標是希望模型能憑藉真正的推理能力來回答問題。自 2019 年問世以來,ARC-AGI 一直被視為一個相當困難的問題,長期以來未見重大突破,大部分基準集在兩三年內就會被模型過度擬合(Overfit)而接近 100% 正確率,但 ARC-AGI 在五年內進展甚微。

即使是 O3 模型,雖然可以在 ARC-AGI 上取得不錯的成績,表現優於一般人類,但其付出了極高的代價(據稱每答一題耗費相當於 1000 美元的算力)。不過,即使是 ARC-AGI 這類智力測驗,研究人員仍擔心其可能被「破解」(hack),例如透過根據公開範例題,創造數千萬題的合成訓練資料來刷分。

  1. Chatbot Arena:人類評估的盲點

Chatbot Arena 則是一種由群眾參與的評估機制:隨機匹配兩個模型(A 和 B),人類使用者提出問題,並決定哪個模型的答案比較好。這種方式似乎難以被「破解」,因為出題方是全世界的使用者,難以針對特定題型訓練模型。

然而,人類評估仍存在缺陷:人類往往傾向於根據輸出風格來評判模型,而非內容的實質。有傳言指出,輸出的答案如果包含較多表情符號(emoji)、使用粗體字或項目符號(bullet point),或是長篇大論,會更容易獲得人類青睞。

Chatbot Arena 官方也意識到這個問題,他們採用 Elo 評分系統,並加入了 β0​(Beta-0)項來考量模型實力以外的因素,例如回覆長度或 emoji 數量。研究發現,在考慮了這些風格因素的影響後,模型的排名會大幅變動。例如,Cloud 系列模型雖然被認為很聰明,但在 Chatbot Arena 上由於「講話太無聊」或「很少輸出 emoji」而得分不高。一旦去除風格影響,其排名會大幅上升。

這引出了 Goodhart’s Law 的概念:一旦一項指標被當作目標,它就不再是一個好的指標。如同印度殖民時期的眼鏡蛇現象,當評估指標被鎖定,模型的努力方向就會被異化。

三、 推理長度的控制與效率提升

除了準確性之外,LLM 的推理效率也是一個重要課題。研究顯示,推理越長不一定代表結果越好,甚至有論文指出推理長度跟正確率呈負相關。當模型被要求解決問題時,它經常產生冗長到沒有必要的推理過程,浪費額外的算力消耗。

為了避免模型「想太多」,研究人員提出了幾種控制推理長度的方法:

  1. 修改提示(Prompting):

◦ 透過 Chain of Draft (CoD) 方法,模型被要求一步一步思考(step by step),但每個思考步驟都限制為不超過五個字的草稿。

◦ 實驗結果顯示,這種方法在不犧牲準確率(有時甚至更好)的情況下,能大幅縮短模型的輸出長度。

  1. 蒸餾學習(Distillation):

◦ 在教師模型能夠答對問題的前提下,選取最短的推理過程作為學生模型的訓練資料。學生模型藉此學習如何以更短的推理過程達成正確答案。

  1. 隱式推理(Implicit Reasoning):

◦ 透過漸進式學習,逐步移除訓練資料中的推理過程。一開始模型學習完整的推理過程,隨後逐漸減少推理步驟的 token。

◦ 最終,模型可以學會「心算」,在不產生冗長推理過程的情況下,直接產生正確答案。這種方法在較簡單的問題上表現良好。

  1. 調整強化學習(RL)獎勵機制:

◦ 單純依賴 RL 訓練(如 D6)的模型,如果獎勵只考量正確率,它們會自動產生非常冗長的推理過程。

◦ 解決方案是將長度限制納入 RL 的獎勵中,但不是設定一個固定的硬標準,因為不同難度的問題本來就需要不同的推理長度。

◦ 一個常見做法是,收集模型在答對時所需的平均推理長度,如果一個答案雖然答對了,但長度超過平均,則給予負面獎勵。

◦ 此外,還可以訓練模型學會根據輸入的文字指令來控制輸出長度(例如:「推理長度必須設定為 N 字」)。研究顯示,透過 RL 訓練,模型確實能夠學會精準控制輸出長度,且不影響其本質上的推理能力。

總結來說,對大型語言模型而言,推理的長度應當是過猶不及的。如同長頸鹿的脖子,只要能夠達到目標(吃到樹葉)即可,過長的推理只會增加消耗,這正呼應了優秀工程師的原則:在有限資源下,將事情做到最好。

參考資料

生成式影片 https://youtu.be/aPYGLGERUeo

李弘毅課程https://www.youtube.com/watch?v=ip3XnTpcxoA&list=PLJV_el3uVTsNZEFAdQsDeOdzAaHTca2Gi&index=9

https://www.youtube.com/watch?v=s266BzGNKKc&list=PLJV_el3uVTsNZEFAdQsDeOdzAaHTca2Gi&index=10

Comments

Loading comments…

Leave a Comment